本公開涉及數(shù)據(jù)訪問(wèn),尤其涉及一種數(shù)據(jù)訪問(wèn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在互聯(lián)網(wǎng)應(yīng)用中,通常需要對(duì)數(shù)據(jù)進(jìn)行大量訪問(wèn),分布式存儲(chǔ)系統(tǒng)提供了存儲(chǔ)空間無(wú)上限、高性能、高可靠的服務(wù),但對(duì)于用戶針對(duì)同一數(shù)據(jù)的高頻次的熱點(diǎn)請(qǐng)求,底層服務(wù)無(wú)法提供較高的吞吐,對(duì)于超出處理能力的請(qǐng)求只能拒絕處理,導(dǎo)致用戶熱點(diǎn)請(qǐng)求失敗。為了提升對(duì)于熱點(diǎn)請(qǐng)求的服務(wù)能力,通常會(huì)在存儲(chǔ)服務(wù)的上層增加緩存層,并在識(shí)別出熱點(diǎn)請(qǐng)求后直接從緩存層中提取數(shù)據(jù)返回給用戶。
2、現(xiàn)有的熱點(diǎn)請(qǐng)求識(shí)別方法主要包括規(guī)則匹配法和熱點(diǎn)統(tǒng)計(jì)法。規(guī)則匹配法具體為人工配置熱點(diǎn)標(biāo)識(shí),將熱點(diǎn)標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)預(yù)先加載至緩存中,或者增加中心計(jì)數(shù)器對(duì)熱點(diǎn)標(biāo)識(shí)進(jìn)行計(jì)數(shù),基于請(qǐng)求中是否包含熱點(diǎn)標(biāo)識(shí),或包含的熱點(diǎn)標(biāo)識(shí)的計(jì)數(shù)結(jié)果識(shí)別熱點(diǎn)請(qǐng)求,但通過(guò)規(guī)則匹配法只能對(duì)包含固定的熱點(diǎn)標(biāo)識(shí)的熱點(diǎn)請(qǐng)求進(jìn)行識(shí)別,靈活性較差。熱點(diǎn)統(tǒng)計(jì)法是通過(guò)分析日志統(tǒng)計(jì)出熱點(diǎn)標(biāo)識(shí),并將對(duì)應(yīng)的數(shù)據(jù)加載到緩存中,存在滯后性,仍然會(huì)造成部分熱點(diǎn)請(qǐng)求失敗,影響請(qǐng)求的成功率。因此,如何對(duì)熱點(diǎn)請(qǐng)求進(jìn)行靈活且實(shí)時(shí)的識(shí)別,提高數(shù)據(jù)訪問(wèn)請(qǐng)求的訪問(wèn)成功率是需要解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問(wèn)題,本公開提供了一種數(shù)據(jù)訪問(wèn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
2、本公開實(shí)施例的第一方面提供了一種數(shù)據(jù)訪問(wèn)方法,該方法包括:
3、獲取第一數(shù)據(jù)訪問(wèn)請(qǐng)求,所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求包含待訪問(wèn)的目標(biāo)數(shù)據(jù)的標(biāo)識(shí)和請(qǐng)求類型信息;
4、若根據(jù)所述請(qǐng)求類型信息確定所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求的請(qǐng)求類型為讀請(qǐng)求,則基于預(yù)設(shè)隊(duì)列中所述標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位判斷所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求是否為熱點(diǎn)請(qǐng)求;
5、若是,則基于所述標(biāo)識(shí)訪問(wèn)緩存,獲取所述目標(biāo)數(shù)據(jù);
6、若否,則基于所述標(biāo)識(shí)訪問(wèn)數(shù)據(jù)庫(kù),獲取所述目標(biāo)數(shù)據(jù),并將所述預(yù)設(shè)隊(duì)列中所述標(biāo)志位上存儲(chǔ)的數(shù)值修改為預(yù)設(shè)數(shù)值,以使所述預(yù)設(shè)隊(duì)列中所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求之后的第二數(shù)據(jù)訪問(wèn)請(qǐng)求包含的所述標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位上存儲(chǔ)的數(shù)值為所述預(yù)設(shè)數(shù)值時(shí),確定所述第二數(shù)據(jù)訪問(wèn)請(qǐng)求為熱點(diǎn)請(qǐng)求。
7、本公開實(shí)施例的第二方面提供了一種數(shù)據(jù)訪問(wèn)裝置,該裝置包括:
8、請(qǐng)求獲取模塊,用于獲取第一數(shù)據(jù)訪問(wèn)請(qǐng)求,所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求包含待訪問(wèn)的目標(biāo)數(shù)據(jù)的標(biāo)識(shí)和請(qǐng)求類型信息;
9、判斷模塊,用于若根據(jù)所述請(qǐng)求類型信息確定所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求的請(qǐng)求類型為讀請(qǐng)求,則基于預(yù)設(shè)隊(duì)列中所述標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位判斷所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求是否為熱點(diǎn)請(qǐng)求;
10、第一訪問(wèn)模塊,用于若是,則基于所述標(biāo)識(shí)訪問(wèn)緩存,獲取所述目標(biāo)數(shù)據(jù);
11、第二訪問(wèn)模塊,用于若否,則基于所述標(biāo)識(shí)訪問(wèn)數(shù)據(jù)庫(kù),獲取所述目標(biāo)數(shù)據(jù),并將所述預(yù)設(shè)隊(duì)列中所述標(biāo)志位上存儲(chǔ)的數(shù)值修改為預(yù)設(shè)數(shù)值,以使所述預(yù)設(shè)隊(duì)列中所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求之后的第二數(shù)據(jù)訪問(wèn)請(qǐng)求包含的所述標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位上存儲(chǔ)的數(shù)值為所述預(yù)設(shè)數(shù)值時(shí),確定所述第二數(shù)據(jù)訪問(wèn)請(qǐng)求為熱點(diǎn)請(qǐng)求。
12、本公開實(shí)施例的第三方面提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,以及計(jì)算機(jī)程序,其中,存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如上述第一方面的數(shù)據(jù)訪問(wèn)方法。
13、本公開實(shí)施例的第四方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如上述第一方面的數(shù)據(jù)訪問(wèn)方法。
14、本公開實(shí)施例提供的技術(shù)方案與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
15、在本公開實(shí)施例提供的數(shù)據(jù)訪問(wèn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)中,通過(guò)獲取第一數(shù)據(jù)訪問(wèn)請(qǐng)求,第一數(shù)據(jù)訪問(wèn)請(qǐng)求包含待訪問(wèn)的目標(biāo)數(shù)據(jù)的標(biāo)識(shí)和請(qǐng)求類型信息,若根據(jù)請(qǐng)求類型信息確定第一數(shù)據(jù)訪問(wèn)請(qǐng)求的請(qǐng)求類型為讀請(qǐng)求,則基于預(yù)設(shè)隊(duì)列中標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位判斷第一數(shù)據(jù)訪問(wèn)請(qǐng)求是否為熱點(diǎn)請(qǐng)求,若是,則基于標(biāo)識(shí)訪問(wèn)緩存,獲取目標(biāo)數(shù)據(jù),若否,則基于標(biāo)識(shí)訪問(wèn)數(shù)據(jù)庫(kù),獲取目標(biāo)數(shù)據(jù),并將預(yù)設(shè)隊(duì)列中標(biāo)志位上存儲(chǔ)的數(shù)值修改為預(yù)設(shè)數(shù)值,以使預(yù)設(shè)隊(duì)列中第一數(shù)據(jù)訪問(wèn)請(qǐng)求之后的第二數(shù)據(jù)訪問(wèn)請(qǐng)求包含的標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位上存儲(chǔ)的數(shù)值為預(yù)設(shè)數(shù)值時(shí),確定第二數(shù)據(jù)訪問(wèn)請(qǐng)求為熱點(diǎn)請(qǐng)求,能夠在無(wú)需預(yù)設(shè)熱點(diǎn)標(biāo)識(shí)的情況下,當(dāng)短時(shí)間內(nèi)收到包含相同標(biāo)識(shí)的至少兩條讀請(qǐng)求時(shí),將第二次及之后收到的請(qǐng)求確定為熱點(diǎn)請(qǐng)求,從而靈活且及時(shí)的識(shí)別出熱點(diǎn)請(qǐng)求,進(jìn)而從緩存中獲取熱點(diǎn)請(qǐng)求所要訪問(wèn)的目標(biāo)數(shù)據(jù),減少短時(shí)間內(nèi)針對(duì)同一數(shù)據(jù)訪問(wèn)數(shù)據(jù)庫(kù)的次數(shù),降低因存儲(chǔ)服務(wù)處理能力不足導(dǎo)致用戶訪問(wèn)失敗的概率,提高數(shù)據(jù)訪問(wèn)請(qǐng)求的訪問(wèn)成功率。
1.一種數(shù)據(jù)訪問(wèn)方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于預(yù)設(shè)隊(duì)列中所述標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位判斷所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求是否為熱點(diǎn)請(qǐng)求,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述預(yù)設(shè)隊(duì)列設(shè)置在布隆過(guò)濾器中,所述布隆過(guò)濾器在創(chuàng)建時(shí)間達(dá)到預(yù)設(shè)時(shí)間后失效。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述基于所述預(yù)設(shè)隊(duì)列中所述標(biāo)識(shí)對(duì)應(yīng)的標(biāo)志位上存儲(chǔ)的數(shù)值是否為所述預(yù)設(shè)數(shù)值,判斷所述第一數(shù)據(jù)訪問(wèn)請(qǐng)求是否為熱點(diǎn)請(qǐng)求,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述標(biāo)識(shí)訪問(wèn)緩存,獲取所述目標(biāo)數(shù)據(jù),包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述基于所述標(biāo)識(shí)訪問(wèn)第一緩存,獲取所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的目標(biāo)元數(shù)據(jù),包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法由數(shù)據(jù)訪問(wèn)進(jìn)程執(zhí)行;
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述基于所述目標(biāo)元數(shù)據(jù)訪問(wèn)所述第二緩存,包括:
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括:
10.一種數(shù)據(jù)訪問(wèn)裝置,其特征在于,所述裝置包括:
11.一種計(jì)算機(jī)設(shè)備,其特征在于,包括:存儲(chǔ)器;處理器;以及計(jì)算機(jī)程序;其中,所述計(jì)算機(jī)程序存儲(chǔ)在所述存儲(chǔ)器中,并被配置為由所述處理器執(zhí)行以實(shí)現(xiàn)如權(quán)利要求1-9中任一項(xiàng)所述的方法。
12.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-9中任一項(xiàng)所述的數(shù)據(jù)訪問(wèn)方法。