專利名稱:存儲方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)領(lǐng)域,特別涉及存儲方法和裝置。
背景技術(shù):
計算機(jī)技術(shù)領(lǐng)域,比特串包括0或者I。比特串可以用于表示網(wǎng)際協(xié)議(InternetProtocol,IP)地址。比特串也可以用于表示其他信息。可以使用樹狀拓?fù)鋵Ρ忍卮M(jìn)行存儲。樹狀拓?fù)淇梢允嵌鏄洹⑷鏄浠蛘卟灰?guī)則樹?,F(xiàn)有技術(shù)中,bitmap (位圖)是一種存儲數(shù)據(jù)結(jié)構(gòu)的方法。bitmap的原理是在數(shù)據(jù)結(jié)構(gòu)的標(biāo)識域中使用0或I記錄當(dāng)前節(jié)點外部下掛的子節(jié)點的分布情況。標(biāo)識域中的標(biāo)記位用于表示該標(biāo)記位對應(yīng)的子節(jié)點是否是有效子節(jié)點。具體來說,標(biāo)識位為0表示該標(biāo)記位對應(yīng)的子節(jié)點為無效子節(jié)點,標(biāo)識位為I表示該標(biāo)記位對應(yīng)的子節(jié)點為有效子節(jié)點。
bitmap僅對當(dāng)前節(jié)點的有效子節(jié)點進(jìn)行存儲,不對當(dāng)前節(jié)點的無效子節(jié)點進(jìn)行存儲。當(dāng)前節(jié)點的有效子節(jié)點的存儲地址為基礎(chǔ)地址與偏移量的和。偏移量與該子節(jié)點對應(yīng)的標(biāo)記位相關(guān)。舉例來說,表I為一個標(biāo)記域的示意圖。如表I所示,當(dāng)前節(jié)點外部下掛子節(jié)點的個數(shù)為16。
權(quán)利要求
1.一種存儲方法,其特征在于,所述方法包括 將比特串中的第X+1片段按照第一規(guī)則進(jìn)行存儲,X為大于O并且小于N的整數(shù),所述比特串由N個片段組成,所述N個片段中的第一片段至第N片段在所述比特串中按照從高比特到低比特的方向依次排列,N為大于2的整數(shù),所述N個片段中每個片段包括O或者1,所述第一規(guī)則包括 根據(jù)所述N個片段中的第X片段存儲在第X數(shù)據(jù)結(jié)構(gòu)的第一域中的位置確定第一偏移量,所述第X數(shù)據(jù)結(jié)構(gòu)中存儲了第一基礎(chǔ)地址; 計算所述第一基礎(chǔ)地址與所述第一偏移量的和,得到第一新地址,所述第一新地址對應(yīng)的存儲空間用于存儲第X+1數(shù)據(jù)結(jié)構(gòu); 將所述第X+1片段存儲到所述第X+1數(shù)據(jù)結(jié)構(gòu)中。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述根據(jù)所述N個片段中的第X片段存儲在第X數(shù)據(jù)結(jié)構(gòu)的第一域中的位置確定第一偏移量包括 根據(jù)所述第X片段存儲在所述第一域中的位置確定所述第一偏移量,所述第X數(shù)據(jù)結(jié)構(gòu)存儲在第一多比特節(jié)點中,所述第一多比特節(jié)點為第一多比特樹中的ー個多比特節(jié)點;所述將所述第X+1片段存儲到所述第X+1數(shù)據(jù)結(jié)構(gòu)中包括 將所述第X+1片段存儲到第二多比特節(jié)點中,所述第二多比特節(jié)點為所述第一多比特節(jié)點的下ー級多比特節(jié)點,所述第X+1數(shù)據(jù)結(jié)構(gòu)存儲在所述第二多比特節(jié)點中,所述第二多比特節(jié)點為所述第一多比特樹中的ー個多比特節(jié)點。
3.根據(jù)權(quán)利要求I或2所述方法,其特征在干,將所述N個片段中的第Y片段按照第二規(guī)則進(jìn)行存儲,Y為大于O并且小于N的整數(shù),Y不等于X,所述第二規(guī)則包括 對所述N個片段中的第Y片段進(jìn)行哈希運算得到哈希結(jié)果,根據(jù)所述哈希結(jié)果確定第ニ偏移量,所述第Y數(shù)據(jù)結(jié)構(gòu)包含第二基礎(chǔ)地址; 計算所述第二基礎(chǔ)地址與所述第二偏移量的和,得到第二新地址,所述第二新地址對應(yīng)的存儲空間用于存儲第Y+1數(shù)據(jù)結(jié)構(gòu); 將所述第Y片段存儲到所述第Y+1數(shù)據(jù)結(jié)構(gòu)中。
4.根據(jù)權(quán)利要求3所述方法,其特征在于所述對所述N個片段中的第Y片段進(jìn)行哈希運算得到哈希結(jié)果,根據(jù)所述哈希結(jié)果確定第二偏移量包括 對所述第Y片段進(jìn)行哈希運算得到所述哈希結(jié)果,根據(jù)所述哈希結(jié)果確定所述第二偏移量,所述第Y數(shù)據(jù)結(jié)構(gòu)存儲在第三多比特節(jié)點中,所述第三多比特節(jié)點為第二多比特樹中的一個多比特節(jié)點; 所述將所述第Y片段存儲到所述第Y+1數(shù)據(jù)結(jié)構(gòu)中包括 將所述第Y片段存儲到第四多比特節(jié)點中,所述第四多比特節(jié)點為所述第三多比特節(jié)點的下ー級多比特節(jié)點,所述第Y+1數(shù)據(jù)結(jié)構(gòu)存儲在所述第四多比特節(jié)點中,所述第四多比特節(jié)點為所述第二多比特樹中的ー個多比特節(jié)點。
5.根據(jù)權(quán)利要求3或4所述方法,其特征在于 所述第X數(shù)據(jù)結(jié)構(gòu)中包含第一指示信息,所述第一指示信息用于標(biāo)識所述第X+1片段是按照所述第一規(guī)則進(jìn)行存儲的;或者, 所述第Y數(shù)據(jù)結(jié)構(gòu)中包含第二指示信息,所述第二指示信息用于標(biāo)識所述第Y片段是按照所述第二規(guī)則進(jìn)行存儲的。
6.一種存儲裝置,其特征在于,所述裝置包括觸發(fā)單元以及第一存儲單元 所述觸發(fā)単元,用于觸發(fā)所述第一存儲單元存儲第X+1片段; 所述第一存儲單元,用于將比特串中的所述第X+1片段按照第一規(guī)則進(jìn)行存儲,X為大于O并且小于N的整數(shù),所述比特串由N個片段組成,所述N個片段中的第一片段至第N片段在所述比特串中按照從高比特到低比特的方向依次排列,N為大于2的整數(shù),所述N個片段中每個片段包括O或者1,所述第一存儲單元包括 第一確定子単元,用于根據(jù)所述N個片段中的第X片段存儲在第X數(shù)據(jù)結(jié)構(gòu)的第一域中的位置確定第一偏移量,所述第X數(shù)據(jù)結(jié)構(gòu)中存儲了第一基礎(chǔ)地址; 第一計算子単元,用于計算所述第一確定子単元提供的所述第一基礎(chǔ)地址與所述第一偏移量的和,得到第一新地址,所述第一新地址對應(yīng)的存儲空間用于存儲第X+1數(shù)據(jù)結(jié)構(gòu);第一存儲子單元,用于將所述第X+1片段存儲到所述第一計算子単元提供的所述第一新地址所對應(yīng)的存儲空間存儲的所述第X+1數(shù)據(jù)結(jié)構(gòu)中。
7.根據(jù)權(quán)利要求6所述裝置,其特征在干, 所述第一確定子単元,用于根據(jù)所述第X片段存儲在所述第一域中的位置確定所述第一偏移量,所述第X數(shù)據(jù)結(jié)構(gòu)存儲在第一多比特節(jié)點中,所述第一多比特節(jié)點為第一多比特樹中的一個多比特節(jié)點; 所述第一存儲子單元,用于將所述第X+1片段存儲到第二多比特節(jié)點中,所述第二多比特節(jié)點為所述第一多比特節(jié)點的下ー級多比特節(jié)點,所述第X+1數(shù)據(jù)結(jié)構(gòu)存儲在所述第ニ多比特節(jié)點中,所述第二多比特節(jié)點為所述第一多比特樹中的ー個多比特節(jié)點。
8.根據(jù)權(quán)利要求6或7所述裝置,其特征在干, 所述裝置包括第二存儲單元,所述第二存儲單元用于將所述N個片段中的第Y片段按照第二規(guī)則進(jìn)行存儲,Y為大于O并且小于N的整數(shù),Y不等于X,所述第二存儲單元包括第二確定子単元,用于對所述N個片段中的第Y片段進(jìn)行哈希運算得到哈希結(jié)果,根據(jù)所述哈希結(jié)果確定第二偏移量,所述第Y數(shù)據(jù)結(jié)構(gòu)包含第二基礎(chǔ)地址; 第二計算子単元,用于計算所述第二確定子単元提供的所述第二基礎(chǔ)地址與所述第二偏移量的和,得到第二新地址,所述第二新地址對應(yīng)的存儲空間用于存儲第Y+1數(shù)據(jù)結(jié)構(gòu);第二存儲子単元,用于將所述第Y片段存儲到所述第二計算子単元提供的第二新地址所對應(yīng)的存儲空間存儲的所述第Y+1數(shù)據(jù)結(jié)構(gòu)中。
9.根據(jù)權(quán)利要求8所述裝置,其特征在于 所述第二確定子単元,用于對所述第Y片段進(jìn)行哈希運算得到所述哈希結(jié)果,根據(jù)所述哈希結(jié)果確定所述第二偏移量,所述第Y數(shù)據(jù)結(jié)構(gòu)存儲在第三多比特節(jié)點中,所述第三多比特節(jié)點為第二多比特樹中的一個多比特節(jié)點; 所述第二存儲子単元,用于將所述第Y片段存儲到第四多比特節(jié)點中,所述第四多比特節(jié)點為所述第三多比特節(jié)點的下ー級多比特節(jié)點,所述第Y+1數(shù)據(jù)結(jié)構(gòu)存儲在所述第四多比特節(jié)點中,所述第四多比特節(jié)點為所述第二多比特樹中的ー個多比特節(jié)點。
10.根據(jù)權(quán)利要求8或9所述裝置,其特征在于 所述第X數(shù)據(jù)結(jié)構(gòu)中包含第一指示信息,所述第一指示信息用于標(biāo)識所述第X+1片段是按照所述第一規(guī)則進(jìn)行存儲的;或者, 所述第Y數(shù)據(jù)結(jié)構(gòu)中包含第二指示信息,所述第二指示信息用于標(biāo)識所述第Y片段是按照 所述第二規(guī)則進(jìn)行存儲的。
全文摘要
本發(fā)明實施例提供了一種存儲方法,包括將比特串中的第X+1片段按照第一規(guī)則進(jìn)行存儲,比特串由N個片段組成,第一規(guī)則包括根據(jù)N個片段中的第X片段存儲在第X數(shù)據(jù)結(jié)構(gòu)的第一域中的位置確定第一偏移量,第X數(shù)據(jù)結(jié)構(gòu)中存儲了第一基礎(chǔ)地址;計算第一基礎(chǔ)地址與第一偏移量的和,得到第一新地址,第一新地址對應(yīng)的存儲空間用于存儲第X+1數(shù)據(jù)結(jié)構(gòu);將第X+1片段存儲到第X+1數(shù)據(jù)結(jié)構(gòu)中。此外,本發(fā)明實施例還提供了相應(yīng)的裝置。通過本發(fā)明實施例提供的技術(shù)方案,可以節(jié)省存儲空間。
文檔編號G06F17/30GK102682112SQ201210145239
公開日2012年9月19日 申請日期2012年5月11日 優(yōu)先權(quán)日2012年5月11日
發(fā)明者張淼 申請人:華為技術(shù)有限公司