一種數(shù)據(jù)的存儲(chǔ)管理方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)的存儲(chǔ)管理方法及裝置,其中,所述方法包括:建立根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn);基于根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)確定待存儲(chǔ)數(shù)據(jù)的哈希值;根據(jù)哈希值和根節(jié)點(diǎn)包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn)以及待存儲(chǔ)數(shù)據(jù)的存儲(chǔ)地址;在確定的存儲(chǔ)地址下存儲(chǔ)待存儲(chǔ)數(shù)據(jù),并將待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到目標(biāo)索引節(jié)點(diǎn)中。本發(fā)明采用根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)并結(jié)合哈希處理的方式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)管理,可較為簡(jiǎn)單地實(shí)現(xiàn)對(duì)已存儲(chǔ)數(shù)據(jù)的存儲(chǔ)管理,方便后續(xù)的查詢操作。
【專利說(shuō)明】一種數(shù)據(jù)的存儲(chǔ)管理方法及裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及數(shù)據(jù)存儲(chǔ)管理領(lǐng)域,尤其涉及一種數(shù)據(jù)的存儲(chǔ)管理方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)在存儲(chǔ)普通的集合類型數(shù)據(jù)時(shí),大多通過(guò)第三方存儲(chǔ)系統(tǒng)托管存儲(chǔ),第三方存儲(chǔ)系統(tǒng)會(huì)將待存儲(chǔ)的數(shù)據(jù)按固定順序打包存儲(chǔ)。在用戶需要查詢或者使用時(shí),第三方存儲(chǔ)系統(tǒng)會(huì)返回全部集合數(shù)據(jù)。
[0003]第三方存儲(chǔ)系統(tǒng)可以提供額外查詢程序以供用戶查詢已存儲(chǔ)的數(shù)據(jù),這種方式增加了對(duì)存儲(chǔ)系統(tǒng)的邏輯要求,一定程度上增加了存儲(chǔ)系統(tǒng)的成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供一種數(shù)據(jù)的存儲(chǔ)管理方法及裝置,采用根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)并結(jié)合哈希處理的方式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)管理,可較為簡(jiǎn)單地實(shí)現(xiàn)對(duì)已存儲(chǔ)數(shù)據(jù)的存儲(chǔ)管理,方便后續(xù)的查詢操作。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)的存儲(chǔ)管理方法,包括:
[0006]建立根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn),所述根節(jié)點(diǎn)中包括各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息,所述存儲(chǔ)域信息包括存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息;
[0007]根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理,其具體包括:
[0008]基于根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)確定待存儲(chǔ)數(shù)據(jù)的哈希值;
[0009]根據(jù)哈希值和根節(jié)點(diǎn)包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn)以及待存儲(chǔ)數(shù)據(jù)的存儲(chǔ)地址;
[0010]在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù),并將所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)中。
[0011]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)的存儲(chǔ)管理裝置,包括:
[0012]建立模塊,用于建立根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn),所述根節(jié)點(diǎn)中包括各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息,所述存儲(chǔ)域信息包括存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息;
[0013]管理模塊,用于根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理;所述管理模塊具體包括:
[0014]計(jì)算單元,用于基于根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)確定待存儲(chǔ)數(shù)據(jù)的哈希值;
[0015]確定單元,用于根據(jù)哈希值和根節(jié)點(diǎn)包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn)以及待存儲(chǔ)數(shù)據(jù)的存儲(chǔ)地址;
[0016]存儲(chǔ)管理單元,用于在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù),并將所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)中。
[0017]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
[0018]本發(fā)明采用根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)并結(jié)合哈希處理的方式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)管理,可較為簡(jiǎn)單地實(shí)現(xiàn)對(duì)已存儲(chǔ)數(shù)據(jù)的存儲(chǔ)管理,方便后續(xù)的查詢操作?!緦@綀D】
【附圖說(shuō)明】
[0019]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1是本發(fā)明的數(shù)據(jù)的存儲(chǔ)管理方法的第一實(shí)施例流程示意圖;
[0021]圖2是本發(fā)明實(shí)施例的存儲(chǔ)管理形式的其中一種具體結(jié)構(gòu)示意圖;
[0022]圖3是本發(fā)明的對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理的方法的流程示意圖;
[0023]圖4是本發(fā)明的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)以及描述信息記錄的方法的流程示意圖;
[0024]圖5是本發(fā)明的數(shù)據(jù)的存儲(chǔ)管理方法的第二實(shí)施例流程示意圖;
[0025]圖6是本發(fā)明實(shí)施例的存儲(chǔ)管理方法的第三實(shí)施例流程示意圖;
[0026]圖7是本發(fā)明實(shí)施例的索引節(jié)點(diǎn)分裂后的存儲(chǔ)管理形式示意圖;
[0027]圖8是本發(fā)明實(shí)施例的存儲(chǔ)管理方法的第四實(shí)施例流程示意圖;
[0028]圖9是本發(fā)明實(shí)施例的根節(jié)點(diǎn)擴(kuò)充后的存儲(chǔ)管理形式示意圖;
[0029]圖10是本發(fā)明實(shí)施例的一種數(shù)據(jù)的存儲(chǔ)管理裝置的結(jié)構(gòu)組成示意圖;
[0030]圖11是本發(fā)明實(shí)施例的另一種數(shù)據(jù)的存儲(chǔ)管理裝置的結(jié)構(gòu)組成示意圖;
[0031]圖12是本發(fā)明實(shí)施例的再一種數(shù)據(jù)的存儲(chǔ)管理裝置的結(jié)構(gòu)組成示意圖。
【具體實(shí)施方式】
[0032]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]圖1是本發(fā)明的數(shù)據(jù)的存儲(chǔ)管理方法的第一實(shí)施例流程示意圖;本發(fā)明實(shí)施例所述的方法可應(yīng)用于如基于容器集合類型數(shù)據(jù)存儲(chǔ)的系統(tǒng)等存儲(chǔ)系統(tǒng)中,具體的,本實(shí)施例的所述方法包括:
[0034]SlOl:建立根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn),所述根節(jié)點(diǎn)中包括各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息,所述存儲(chǔ)域信息包括存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息;
[0035]對(duì)于需要存儲(chǔ)的數(shù)據(jù),可以創(chuàng)建一個(gè)包括根節(jié)點(diǎn)和索引節(jié)點(diǎn)的文件,并創(chuàng)建用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)域,每個(gè)存儲(chǔ)域可以包括預(yù)定數(shù)量的存儲(chǔ)槽位。所述根節(jié)點(diǎn)及索引節(jié)點(diǎn)所管理的存儲(chǔ)數(shù)據(jù)的條數(shù)對(duì)應(yīng)于存儲(chǔ)域中存儲(chǔ)槽位的數(shù)量。所述存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息在創(chuàng)建存儲(chǔ)域時(shí)獲取,其中的標(biāo)識(shí)范圍信息為相應(yīng)存儲(chǔ)域中存儲(chǔ)的數(shù)據(jù)的序列標(biāo)識(shí)。
[0036]如圖2所示,為本發(fā)明實(shí)施例的存儲(chǔ)管理形式的其中一種具體結(jié)構(gòu)示意圖。根節(jié)點(diǎn)對(duì)1000個(gè)槽位,將分配的存儲(chǔ)域設(shè)置為5個(gè)域,為根節(jié)點(diǎn)管理的每一個(gè)索引節(jié)點(diǎn)設(shè)置為管理20條數(shù)據(jù)。
[0037]根節(jié)點(diǎn)中的存儲(chǔ)域信息包括“域I”等索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域的起始地址,“0-200等存儲(chǔ)域標(biāo)識(shí)范圍信息,所述根節(jié)點(diǎn)中還可以記錄其所管理的數(shù)據(jù)集合的類型等信息。其中根節(jié)點(diǎn)中的“域1、域2 ”等用于表示每一個(gè)索引節(jié)點(diǎn)的起始地址,而根節(jié)點(diǎn)中的“ 0-200 ”等則用于表示其管理的數(shù)據(jù)的序列標(biāo)識(shí),在對(duì)各條待存儲(chǔ)數(shù)據(jù)進(jìn)行哈希處理后,得到的哈希值在0-200內(nèi)的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)到域I中。
[0038]索引節(jié)點(diǎn)則用于記錄存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息,在某一待存儲(chǔ)數(shù)據(jù)存儲(chǔ)到存儲(chǔ)域后,需要在該存儲(chǔ)域?qū)?yīng)的索引節(jié)點(diǎn)中記錄該數(shù)據(jù)的數(shù)據(jù)描述信息以便于后續(xù)查找時(shí)使用。數(shù)據(jù)描述信息可以包括存儲(chǔ)數(shù)據(jù)的存儲(chǔ)偏移地址offset,包括keyialue對(duì)以及解決哈希沖突的hash next的哈希查找信息,哈希查找信息具體包括存儲(chǔ)數(shù)據(jù)的關(guān)鍵字長(zhǎng)度keylen,存儲(chǔ)數(shù)據(jù)的值長(zhǎng)度value len,存儲(chǔ)數(shù)據(jù)的哈希沖突鏈表偏移首地址hash next等信肩、O
[0039]存儲(chǔ)域中則包括多個(gè)存儲(chǔ)槽位,用于存儲(chǔ)對(duì)應(yīng)的數(shù)據(jù)的關(guān)鍵字key、值value的具體數(shù)據(jù),以及哈希沖突的鏈表相關(guān)數(shù)據(jù)。
[0040]需要說(shuō)明的是,上述圖2對(duì)應(yīng)的存儲(chǔ)管理形式的其中一種具體結(jié)構(gòu)中,索引表包括了存儲(chǔ)偏移地址和方便進(jìn)行哈希查找的相關(guān)信息即哈希查找信息,在其他實(shí)施例中,在索引表中還可以包括存儲(chǔ)偏移地址和諸如一個(gè)或者多個(gè)關(guān)鍵字描述信息等用于描述對(duì)應(yīng)存儲(chǔ)偏移地址下存儲(chǔ)的數(shù)據(jù),以方便基于關(guān)鍵字的搜索查找,并不僅限于上述的基于哈希的數(shù)據(jù)描述信息。
[0041]圖2中示出的索引節(jié)點(diǎn)的每一行對(duì)應(yīng)一條存儲(chǔ)數(shù)據(jù),其表示map類型數(shù)據(jù)的索引格式,也就是說(shuō),map類型數(shù)據(jù)的索引格式為表1的形式,對(duì)該表1進(jìn)行簡(jiǎn)單變形,可以得到下表2中set、vector類型數(shù)據(jù)的索引格式,下表3中sortset類型數(shù)據(jù)的索引格式,下表4中的list類型數(shù)據(jù)的索引格式。
[0042]表1:
[0043]
【權(quán)利要求】
1.一種數(shù)據(jù)的存儲(chǔ)管理方法,其特征在于,包括: 建立根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn),所述根節(jié)點(diǎn)中包括各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息,所述存儲(chǔ)域信息包括存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息; 基于根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)確定待存儲(chǔ)數(shù)據(jù)的哈希值; 根據(jù)哈希值和根節(jié)點(diǎn)包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn)以及待存儲(chǔ)數(shù)據(jù)的存儲(chǔ)地址; 在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù),并將所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)中。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)哈希值和根節(jié)點(diǎn)包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn)以及待存儲(chǔ)數(shù)據(jù)的存儲(chǔ)地址,包括: 根據(jù)哈希值和所述根節(jié)點(diǎn)中包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn); 根據(jù)為所述目標(biāo)索引節(jié)點(diǎn)預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值,確定所述待存儲(chǔ)數(shù)據(jù)在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置作為存儲(chǔ)地址。
3.如權(quán)利要求1所述的方法,其特征在于,所述在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù),并將所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)中,包括: 在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù); 根據(jù)確定的存儲(chǔ)地址在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置和根節(jié)點(diǎn)中所述目標(biāo)索引節(jié)點(diǎn)的存儲(chǔ)域信息包括的存儲(chǔ)域起始地址,獲取所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)偏移地址; 將所述數(shù)據(jù)偏移地址和所述待存儲(chǔ)數(shù)據(jù)的哈希查找信息作為所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)。
4.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)為所述目標(biāo)索引節(jié)點(diǎn)預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值,確定所述待存儲(chǔ)數(shù)據(jù)在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置作為存儲(chǔ)地址,包括: 根據(jù)為所述目標(biāo)索引節(jié)點(diǎn)預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值,判斷目標(biāo)索引節(jié)點(diǎn)當(dāng)前所管理的存儲(chǔ)數(shù)據(jù)的數(shù)量是否達(dá)到所述預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值; 在判斷結(jié)果為否時(shí),確定所述待存儲(chǔ)數(shù)據(jù)在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置作為存儲(chǔ)地址。
5.如權(quán)利要求4所述的方法,其特征在于,還包括: 在判斷結(jié)果為達(dá)到所述預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值時(shí),讀取所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的已存儲(chǔ)數(shù)據(jù); 將所述目標(biāo)索引節(jié)點(diǎn)分裂為至少兩個(gè)索引節(jié)點(diǎn),將讀取的已存儲(chǔ)數(shù)據(jù)和接收到的待存儲(chǔ)數(shù)據(jù)作為待存儲(chǔ)數(shù)據(jù),執(zhí)行根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理的步驟。
6.如權(quán)利要求4所述的方法,其特征在于,還包括: 在判斷結(jié)果為達(dá)到所述預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值時(shí),進(jìn)一步判斷所述根節(jié)點(diǎn)當(dāng)前管理的存儲(chǔ)數(shù)據(jù)是否達(dá)到為所述 根節(jié)點(diǎn)預(yù)設(shè)的條數(shù)閾值; 若否,讀取所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的已存儲(chǔ)數(shù)據(jù),將所述目標(biāo)索引節(jié)點(diǎn)分裂為至少兩個(gè)索引節(jié)點(diǎn),將讀取的已存儲(chǔ)數(shù)據(jù)和接收到的待存儲(chǔ)數(shù)據(jù)作為待存儲(chǔ)數(shù)據(jù),執(zhí)行根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理的步驟; 若是,讀取所述根節(jié)點(diǎn)管理的所有索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的已存儲(chǔ)數(shù)據(jù),建立一級(jí)根節(jié)點(diǎn)、一級(jí)根節(jié)點(diǎn)管理的根節(jié)點(diǎn)以及根節(jié)點(diǎn)管理的索引節(jié)點(diǎn); 將讀取的已存儲(chǔ)數(shù)據(jù)和接收到的待存儲(chǔ)數(shù)據(jù)作為待存儲(chǔ)數(shù)據(jù),根據(jù)一級(jí)根節(jié)點(diǎn)、根節(jié)點(diǎn)以及索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理。
7.如權(quán)利要求1-6任一項(xiàng)所述的方法,其特征在于,還包括: 檢測(cè)所述根節(jié)點(diǎn)管理的所有索引節(jié)點(diǎn)對(duì)應(yīng)的存儲(chǔ)域的空閑空間,得到空閑空間總量; 若空閑空間總量滿足預(yù)設(shè)的回收條件,執(zhí)行回收操作回收空閑空間; 在回收操作執(zhí)行結(jié)束后,根據(jù)回收的空間量判斷是否進(jìn)行重寫操作; 若是,則根據(jù)當(dāng)前根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)記錄的存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息,在新的存儲(chǔ)空間中存儲(chǔ)當(dāng)前根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)記錄的存儲(chǔ)數(shù)據(jù)。
8.一種數(shù)據(jù)的存儲(chǔ)管理裝置,其特征在于,包括: 建立模塊,用于建立根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn),所述根節(jié)點(diǎn)中包括各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息,所述存儲(chǔ)域信息包括存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息; 管理模塊,用于根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理;所述管理模塊具體包括: 計(jì)算單元,用于基于根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)確定待存儲(chǔ)數(shù)據(jù)的哈希值; 確定單元,用于根據(jù)哈希值和根節(jié)點(diǎn)包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的起始地址和標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn)以及待存儲(chǔ)數(shù)據(jù)的存儲(chǔ)地址; 存儲(chǔ)管理單元,用于在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù),并將所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)中。
9.如權(quán)利要求8所述的裝置,其特征在于,所述確定單元包括: 節(jié)點(diǎn)確定子單元,用于根據(jù)哈希值和所述根節(jié)點(diǎn)中包括的各個(gè)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域信息中存儲(chǔ)域的標(biāo)識(shí)范圍信息,確定目標(biāo)索引節(jié)點(diǎn); 地址確定子單元,用于根據(jù)為所述目標(biāo)索引節(jié)點(diǎn)預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值,確定所述待存儲(chǔ)數(shù)據(jù)在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置作為存儲(chǔ)地址。
10.如權(quán)利要求8所述的裝置,其特征在于,所述存儲(chǔ)管理單元包括: 存儲(chǔ)子單元,用于在確定的存儲(chǔ)地址下存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù); 獲取子單元,用于根據(jù)確定的存儲(chǔ)地址在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置和根節(jié)點(diǎn)中所述目標(biāo)索引節(jié)點(diǎn)的存儲(chǔ)域信息包括的存儲(chǔ)域起始地址,獲取所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)偏移地址; 記錄子單元,用于將所述數(shù)據(jù)偏移地址和所述待存儲(chǔ)數(shù)據(jù)的哈希查找信息作為所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息記錄到所述目標(biāo)索引節(jié)點(diǎn)。
11.如權(quán)利要求9所述的裝置,其特征在于, 所述地址確定子單元,用于根據(jù)為所述目標(biāo)索引節(jié)點(diǎn)預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值,判斷目標(biāo)索引節(jié)點(diǎn)當(dāng)前所管理的存儲(chǔ)數(shù)據(jù)的數(shù)量是否達(dá)到所述預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值,并在判斷為否時(shí),確定所述待存儲(chǔ)數(shù)據(jù)在所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的位置作為存儲(chǔ)地址。
12.如權(quán)利要求11所述的裝置,其特征在于,還包括:第一讀取處理模塊,用于在判斷結(jié)果為達(dá)到所述預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值時(shí),讀取所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的已存儲(chǔ)數(shù)據(jù); 第一分裂模塊,用于將所述目標(biāo)索引節(jié)點(diǎn)分裂為至少兩個(gè)索引節(jié)點(diǎn),將讀取的已存儲(chǔ)數(shù)據(jù)和接收到的待存儲(chǔ)數(shù)據(jù)作為待存儲(chǔ)數(shù)據(jù),并通知管理模塊根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理。
13.如權(quán)利要求11所述的裝置,其特征在于,還包括: 判斷模塊,用于在判斷結(jié)果為達(dá)到所述預(yù)設(shè)的數(shù)據(jù)管理數(shù)閾值時(shí),進(jìn)一步判斷所述根節(jié)點(diǎn)當(dāng)前管理的存儲(chǔ)數(shù)據(jù)是否達(dá)到為所述根節(jié)點(diǎn)預(yù)設(shè)的條數(shù)閾值; 第二讀取模塊,用于在所述判斷模塊的判斷結(jié)果為否時(shí),讀取所述目標(biāo)索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的已存儲(chǔ)數(shù)據(jù); 第二分裂模塊,用于將所述目標(biāo)索引節(jié)點(diǎn)分裂為至少兩個(gè)索引節(jié)點(diǎn),將讀取的已存儲(chǔ)數(shù)據(jù)和接收到的待存儲(chǔ)數(shù)據(jù)作為待存儲(chǔ)數(shù)據(jù),并通知管理模塊根據(jù)根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理; 第三讀取模塊,用于在所述判斷模塊的判斷結(jié)果為是時(shí),讀取所述根節(jié)點(diǎn)管理的所有索引節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)域中的已存儲(chǔ)數(shù)據(jù); 所述建立模塊,還用于建立一級(jí)根節(jié)點(diǎn)、一級(jí)根節(jié)點(diǎn)管理的根節(jié)點(diǎn)以及根節(jié)點(diǎn)管理的索引節(jié)點(diǎn); 所述管理模塊,還用于將讀取的已存儲(chǔ)數(shù)據(jù)和接收到的待存儲(chǔ)數(shù)據(jù)作為待存儲(chǔ)數(shù)據(jù),根據(jù)一級(jí)根節(jié)點(diǎn)、根節(jié)點(diǎn)以及索引節(jié)點(diǎn)對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)管理。
14.如權(quán)利要求8-13任一項(xiàng)所述的裝置,其特征在于,還包括: 檢測(cè)模塊,用于檢測(cè)所述根節(jié)點(diǎn)管理的所有索引節(jié)點(diǎn)對(duì)應(yīng)的存儲(chǔ)域的空閑空間,得到空閑空間總量; 回收模塊,用于在空閑空間總量滿足預(yù)設(shè)的回收條件時(shí),執(zhí)行回收操作回收空閑空間; 重寫判斷模塊,用于在回收操作執(zhí)行結(jié)束后,根據(jù)回收的空間量判斷是否進(jìn)行重寫操作; 重寫模塊,用于在所述重寫判斷模塊的判斷結(jié)果為是時(shí),根據(jù)當(dāng)前根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)記錄的存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)描述信息,在新的存儲(chǔ)空間中存儲(chǔ)當(dāng)前根節(jié)點(diǎn)及其管理的索引節(jié)點(diǎn)記錄的存儲(chǔ)數(shù)據(jù)。
【文檔編號(hào)】G06F17/30GK104008111SQ201310060460
【公開日】2014年8月27日 申請(qǐng)日期:2013年2月27日 優(yōu)先權(quán)日:2013年2月27日
【發(fā)明者】常亮, 郭振宇, 鄒方明 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司