本申請(qǐng)涉及數(shù)據(jù)存儲(chǔ),特別是涉及一種存儲(chǔ)位置確定方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著人們對(duì)數(shù)據(jù)的需求不斷增長(zhǎng),存儲(chǔ)技術(shù)以及硬件技術(shù)的發(fā)展也發(fā)生了日新月異的變化。傳統(tǒng)的數(shù)據(jù)存儲(chǔ)技術(shù)已經(jīng)越來越不能滿足人們的需求,因此,如何不斷打破存儲(chǔ)性能瓶頸,具有更優(yōu)的存儲(chǔ)性能表現(xiàn),是當(dāng)今大數(shù)據(jù)環(huán)境飛速發(fā)展下亟待解決的問題。緩存作為閃存存儲(chǔ)系統(tǒng)中必不可少的環(huán)節(jié),結(jié)合相應(yīng)的業(yè)務(wù)流程,設(shè)計(jì)更優(yōu)的緩存存儲(chǔ)結(jié)構(gòu),能夠進(jìn)一步縮短i/o整體的流程,降低系統(tǒng)負(fù)載,從而提高存儲(chǔ)系統(tǒng)的整體性能。
2、傳統(tǒng)技術(shù)中,是利用樹結(jié)構(gòu)對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行管理的。然而,存儲(chǔ)的數(shù)據(jù)越多,樹結(jié)構(gòu)的深度越深,占用較大內(nèi)存,從而影響存儲(chǔ)系統(tǒng)的存儲(chǔ)性能。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種能夠提高存儲(chǔ)系統(tǒng)的存儲(chǔ)性能的存儲(chǔ)位置確定定方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N存儲(chǔ)位置確定方法。所述方法包括:
3、在基數(shù)樹中確定目標(biāo)key對(duì)應(yīng)的目標(biāo)value的存儲(chǔ)位置的過程中,獲取所述目標(biāo)key對(duì)應(yīng)的整型數(shù)據(jù);
4、根據(jù)當(dāng)前的業(yè)務(wù)場(chǎng)景,確定所述基數(shù)樹包括的多個(gè)數(shù)據(jù)層的層數(shù)量;
5、根據(jù)所述層數(shù)量對(duì)所述整型數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分,得到各所述數(shù)據(jù)層對(duì)應(yīng)的劃分結(jié)果,并根據(jù)各所述劃分結(jié)果,確定所述存儲(chǔ)位置。
6、在其中一個(gè)實(shí)施例中,所述多個(gè)數(shù)據(jù)層包括一個(gè)葉子節(jié)點(diǎn)層和多個(gè)其他節(jié)點(diǎn)層,所述根據(jù)各所述劃分結(jié)果,確定所述存儲(chǔ)位置,包括:
7、針對(duì)所述葉子節(jié)點(diǎn)層,根據(jù)所述葉子節(jié)點(diǎn)層對(duì)應(yīng)的劃分結(jié)果,確定所述目標(biāo)key在所述葉子節(jié)點(diǎn)層中對(duì)應(yīng)的槽位標(biāo)識(shí);
8、針對(duì)每個(gè)所述其他節(jié)點(diǎn)層,根據(jù)所述其他節(jié)點(diǎn)層對(duì)應(yīng)的劃分結(jié)果,確定所述目標(biāo)key在所述其他節(jié)點(diǎn)層中對(duì)應(yīng)的指針信息;
9、根據(jù)各所述指針信息和所述槽位標(biāo)識(shí),確定所述存儲(chǔ)位置。
10、在其中一個(gè)實(shí)施例中,所述根據(jù)各所述指針信息和所述槽位標(biāo)識(shí),確定所述存儲(chǔ)位置,包括:
11、根據(jù)各所述指針信息,確定所述目標(biāo)key在每個(gè)所述其他節(jié)點(diǎn)層中對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn);
12、根據(jù)各所述目標(biāo)節(jié)點(diǎn)和所述槽位標(biāo)識(shí),確定所述存儲(chǔ)位置。
13、在其中一個(gè)實(shí)施例中,所述多個(gè)其他節(jié)點(diǎn)層包括根節(jié)點(diǎn)層和非葉子節(jié)點(diǎn)層,所述根節(jié)點(diǎn)層中包括根節(jié)點(diǎn),所述根據(jù)各所述指針信息,確定所述目標(biāo)key在每個(gè)所述其他節(jié)點(diǎn)層中對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn),包括:
14、根據(jù)所述目標(biāo)key在所述根節(jié)點(diǎn)層中對(duì)應(yīng)的指針信息,在所述根節(jié)點(diǎn)下屬的所述非葉子節(jié)點(diǎn)層中確定所述目標(biāo)key對(duì)應(yīng)的目標(biāo)非葉子節(jié)點(diǎn);
15、將所述根節(jié)點(diǎn)和所述目標(biāo)非葉子節(jié)點(diǎn)確定為多個(gè)所述目標(biāo)節(jié)點(diǎn)。
16、在其中一個(gè)實(shí)施例中,所述根據(jù)各所述目標(biāo)節(jié)點(diǎn)和所述槽位標(biāo)識(shí),確定所述存儲(chǔ)位置,包括:
17、根據(jù)所述目標(biāo)key在所述非葉子節(jié)點(diǎn)層對(duì)應(yīng)的指針信息,從所述目標(biāo)非葉子節(jié)點(diǎn)下屬的多個(gè)葉子節(jié)點(diǎn)中,確定所述目標(biāo)key對(duì)應(yīng)的目標(biāo)葉子節(jié)點(diǎn);
18、根據(jù)所述槽位標(biāo)識(shí),在所述目標(biāo)葉子節(jié)點(diǎn)中確定所述目標(biāo)key對(duì)應(yīng)的目標(biāo)槽位,將所述目標(biāo)槽位確定為所述存儲(chǔ)位置。
19、在其中一個(gè)實(shí)施例中,所述方法還包括:
20、獲取所述基數(shù)樹中葉子節(jié)點(diǎn)層中的每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的頁框信息,所述頁框信息中包括葉子節(jié)點(diǎn)指針、所述葉子節(jié)點(diǎn)的訪問次數(shù)、鏈表結(jié)構(gòu)信息以及葉子節(jié)點(diǎn)淘汰控制信息;
21、根據(jù)所述訪問次數(shù)和預(yù)設(shè)的次數(shù)閾值,將所述葉子節(jié)點(diǎn)指針添加至所述鏈表結(jié)構(gòu)信息對(duì)應(yīng)的活躍鏈表或者非活躍鏈表中,并更新所述葉子節(jié)點(diǎn)淘汰控制信息,所述葉子節(jié)點(diǎn)淘汰控制信息用于表征葉子節(jié)點(diǎn)指針在所述活躍鏈表中的位置或者在所述非活躍鏈表中的位置。
22、在其中一個(gè)實(shí)施例中,所述根據(jù)所述訪問次數(shù)和預(yù)設(shè)的次數(shù)閾值,將所述葉子節(jié)點(diǎn)指針添加至所述鏈表結(jié)構(gòu)信息對(duì)應(yīng)的活躍鏈表或者非活躍鏈表中,包括:
23、若所述葉子節(jié)點(diǎn)的訪問次數(shù)大于所述次數(shù)閾值,則將所述葉子節(jié)點(diǎn)對(duì)應(yīng)的葉子節(jié)點(diǎn)指針添加至所述活躍鏈表中;
24、若所述葉子節(jié)點(diǎn)的訪問次數(shù)小于所述次數(shù)閾值,則將所述葉子節(jié)點(diǎn)對(duì)應(yīng)的葉子節(jié)點(diǎn)指針添加至所述非活躍鏈表中。
25、在其中一個(gè)實(shí)施例中,所述頁框信息中還包括所述非活躍鏈表的鏈表長(zhǎng)度,所述方法還包括:
26、在所述鏈表長(zhǎng)度大于預(yù)設(shè)長(zhǎng)度閾值的情況下,刪除所述非活躍鏈表中的尾部葉子節(jié)點(diǎn)指針,并刪除所述尾部葉子節(jié)點(diǎn)指針對(duì)應(yīng)的葉子節(jié)點(diǎn)中的value。
27、第二方面,本申請(qǐng)還提供了一種存儲(chǔ)位置確定裝置。所述裝置包括:
28、第一獲取模塊,用于在基數(shù)樹中確定目標(biāo)key對(duì)應(yīng)的目標(biāo)value的存儲(chǔ)位置的過程中,獲取所述目標(biāo)key對(duì)應(yīng)的整型數(shù)據(jù);
29、第一確定模塊,用于根據(jù)當(dāng)前的業(yè)務(wù)場(chǎng)景,確定所述基數(shù)樹包括的多個(gè)數(shù)據(jù)層的層數(shù)量;
30、第二確定模塊,用于根據(jù)所述層數(shù)量對(duì)所述整型數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分,得到各所述數(shù)據(jù)層對(duì)應(yīng)的劃分結(jié)果,并根據(jù)各所述劃分結(jié)果,確定所述存儲(chǔ)位置。
31、第三方面,本申請(qǐng)還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述第一方面所述的方法的步驟。
32、第四方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面所述的方法的步驟。
33、第五方面,本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面所述的方法的步驟。
34、上述存儲(chǔ)位置確定方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品,在基數(shù)樹中確定目標(biāo)key對(duì)應(yīng)的目標(biāo)value的存儲(chǔ)位置的過程中,首先,服務(wù)器獲取目標(biāo)key對(duì)應(yīng)的整型數(shù)據(jù),接著,根據(jù)當(dāng)前的業(yè)務(wù)場(chǎng)景,確定基數(shù)樹包括的多個(gè)數(shù)據(jù)層的層數(shù)量,而后,根據(jù)層數(shù)量對(duì)整型數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分,得到各數(shù)據(jù)層對(duì)應(yīng)的劃分結(jié)果,并根據(jù)各劃分結(jié)果,確定存儲(chǔ)位置,由于基數(shù)樹的數(shù)據(jù)層的層數(shù)量是由業(yè)務(wù)場(chǎng)景確定的,能夠根據(jù)業(yè)務(wù)場(chǎng)景指定基數(shù)樹的深度,從而能夠避免基數(shù)樹的深度較深,占用內(nèi)存較大,導(dǎo)致數(shù)據(jù)訪問性能較低的問題,而且,根據(jù)層數(shù)量對(duì)整型數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分之后,能夠?qū)澐纸Y(jié)果確定為各數(shù)據(jù)層對(duì)應(yīng)的存儲(chǔ)位置,從而能夠快速準(zhǔn)確地確定存儲(chǔ)位置,進(jìn)而提高在基數(shù)樹中確定存儲(chǔ)位置的效率,提高存儲(chǔ)系統(tǒng)的存儲(chǔ)性能。
1.一種存儲(chǔ)位置確定方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多個(gè)數(shù)據(jù)層包括一個(gè)葉子節(jié)點(diǎn)層和多個(gè)其他節(jié)點(diǎn)層,所述根據(jù)各所述劃分結(jié)果,確定所述存儲(chǔ)位置,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)各所述指針信息和所述槽位標(biāo)識(shí),確定所述存儲(chǔ)位置,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述多個(gè)其他節(jié)點(diǎn)層包括根節(jié)點(diǎn)層和非葉子節(jié)點(diǎn)層,所述根節(jié)點(diǎn)層中包括根節(jié)點(diǎn),所述根據(jù)各所述指針信息,確定所述目標(biāo)key在每個(gè)所述其他節(jié)點(diǎn)層中對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn),包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)各所述目標(biāo)節(jié)點(diǎn)和所述槽位標(biāo)識(shí),確定所述存儲(chǔ)位置,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述訪問次數(shù)和預(yù)設(shè)的次數(shù)閾值,將所述葉子節(jié)點(diǎn)指針添加至所述鏈表結(jié)構(gòu)信息對(duì)應(yīng)的活躍鏈表或者非活躍鏈表中,包括:
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述頁框信息中還包括所述非活躍鏈表的鏈表長(zhǎng)度,所述方法還包括:
9.一種存儲(chǔ)位置確定裝置,其特征在于,所述裝置包括:
10.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至8中任一項(xiàng)所述的方法的步驟。
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至8中任一項(xiàng)所述的方法的步驟。
12.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至8中任一項(xiàng)所述的方法的步驟。