存储方法和装置的制作方法

文档序号:6367292阅读:134来源:国知局
专利名称:存储方法和装置的制作方法
技术领域
本发明涉及计算机领域,特别涉及存储方法和装置。
背景技术
计算机技术领域,比特串包括0或者I。比特串可以用于表示网际协议(InternetProtocol,IP)地址。比特串也可以用于表示其他信息。可以使用树状拓扑对比特串进行存储。树状拓扑可以是二叉树、三叉树或者不规则树。现有技术中,bitmap (位图)是一种存储数据结构的方法。bitmap的原理是在数据结构的标识域中使用0或I记录当前节点外部下挂的子节点的分布情况。标识域中的标记位用于表示该标记位对应的子节点是否是有效子节点。具体来说,标识位为0表示该标记位对应的子节点为无效子节点,标识位为I表示该标记位对应的子节点为有效子节点。
bitmap仅对当前节点的有效子节点进行存储,不对当前节点的无效子节点进行存储。当前节点的有效子节点的存储地址为基础地址与偏移量的和。偏移量与该子节点对应的标记位相关。举例来说,表I为一个标记域的示意图。如表I所示,当前节点外部下挂子节点的个数为16。
权利要求
1.一种存储方法,其特征在于,所述方法包括 将比特串中的第X+1片段按照第一规则进行存储,X为大于O并且小于N的整数,所述比特串由N个片段组成,所述N个片段中的第一片段至第N片段在所述比特串中按照从高比特到低比特的方向依次排列,N为大于2的整数,所述N个片段中每个片段包括O或者1,所述第一规则包括 根据所述N个片段中的第X片段存储在第X数据结构的第一域中的位置确定第一偏移量,所述第X数据结构中存储了第一基础地址; 计算所述第一基础地址与所述第一偏移量的和,得到第一新地址,所述第一新地址对应的存储空间用于存储第X+1数据结构; 将所述第X+1片段存储到所述第X+1数据结构中。
2.根据权利要求I所述的方法,其特征在于,所述根据所述N个片段中的第X片段存储在第X数据结构的第一域中的位置确定第一偏移量包括 根据所述第X片段存储在所述第一域中的位置确定所述第一偏移量,所述第X数据结构存储在第一多比特节点中,所述第一多比特节点为第一多比特树中的ー个多比特节点;所述将所述第X+1片段存储到所述第X+1数据结构中包括 将所述第X+1片段存储到第二多比特节点中,所述第二多比特节点为所述第一多比特节点的下ー级多比特节点,所述第X+1数据结构存储在所述第二多比特节点中,所述第二多比特节点为所述第一多比特树中的ー个多比特节点。
3.根据权利要求I或2所述方法,其特征在干,将所述N个片段中的第Y片段按照第二规则进行存储,Y为大于O并且小于N的整数,Y不等于X,所述第二规则包括 对所述N个片段中的第Y片段进行哈希运算得到哈希結果,根据所述哈希结果确定第ニ偏移量,所述第Y数据结构包含第二基础地址; 计算所述第二基础地址与所述第二偏移量的和,得到第二新地址,所述第二新地址对应的存储空间用于存储第Y+1数据结构; 将所述第Y片段存储到所述第Y+1数据结构中。
4.根据权利要求3所述方法,其特征在于所述对所述N个片段中的第Y片段进行哈希运算得到哈希结果,根据所述哈希结果确定第二偏移量包括 对所述第Y片段进行哈希运算得到所述哈希结果,根据所述哈希结果确定所述第二偏移量,所述第Y数据结构存储在第三多比特节点中,所述第三多比特节点为第二多比特树中的一个多比特节点; 所述将所述第Y片段存储到所述第Y+1数据结构中包括 将所述第Y片段存储到第四多比特节点中,所述第四多比特节点为所述第三多比特节点的下ー级多比特节点,所述第Y+1数据结构存储在所述第四多比特节点中,所述第四多比特节点为所述第二多比特树中的ー个多比特节点。
5.根据权利要求3或4所述方法,其特征在于 所述第X数据结构中包含第一指示信息,所述第一指示信息用于标识所述第X+1片段是按照所述第一规则进行存储的;或者, 所述第Y数据结构中包含第二指示信息,所述第二指示信息用于标识所述第Y片段是按照所述第二规则进行存储的。
6.一种存储装置,其特征在于,所述装置包括触发单元以及第一存储单元 所述触发単元,用于触发所述第一存储单元存储第X+1片段; 所述第一存储单元,用于将比特串中的所述第X+1片段按照第一规则进行存储,X为大于O并且小于N的整数,所述比特串由N个片段组成,所述N个片段中的第一片段至第N片段在所述比特串中按照从高比特到低比特的方向依次排列,N为大于2的整数,所述N个片段中每个片段包括O或者1,所述第一存储单元包括 第一确定子単元,用于根据所述N个片段中的第X片段存储在第X数据结构的第一域中的位置确定第一偏移量,所述第X数据结构中存储了第一基础地址; 第一计算子単元,用于计算所述第一确定子単元提供的所述第一基础地址与所述第一偏移量的和,得到第一新地址,所述第一新地址对应的存储空间用于存储第X+1数据结构;第一存储子单元,用于将所述第X+1片段存储到所述第一计算子単元提供的所述第一新地址所对应的存储空间存储的所述第X+1数据结构中。
7.根据权利要求6所述装置,其特征在干, 所述第一确定子単元,用于根据所述第X片段存储在所述第一域中的位置确定所述第一偏移量,所述第X数据结构存储在第一多比特节点中,所述第一多比特节点为第一多比特树中的一个多比特节点; 所述第一存储子单元,用于将所述第X+1片段存储到第二多比特节点中,所述第二多比特节点为所述第一多比特节点的下ー级多比特节点,所述第X+1数据结构存储在所述第ニ多比特节点中,所述第二多比特节点为所述第一多比特树中的ー个多比特节点。
8.根据权利要求6或7所述装置,其特征在干, 所述装置包括第二存储单元,所述第二存储单元用于将所述N个片段中的第Y片段按照第二规则进行存储,Y为大于O并且小于N的整数,Y不等于X,所述第二存储单元包括第二确定子単元,用于对所述N个片段中的第Y片段进行哈希运算得到哈希结果,根据所述哈希结果确定第二偏移量,所述第Y数据结构包含第二基础地址; 第二计算子単元,用于计算所述第二确定子単元提供的所述第二基础地址与所述第二偏移量的和,得到第二新地址,所述第二新地址对应的存储空间用于存储第Y+1数据结构;第二存储子単元,用于将所述第Y片段存储到所述第二计算子単元提供的第二新地址所对应的存储空间存储的所述第Y+1数据结构中。
9.根据权利要求8所述装置,其特征在于 所述第二确定子単元,用于对所述第Y片段进行哈希运算得到所述哈希结果,根据所述哈希结果确定所述第二偏移量,所述第Y数据结构存储在第三多比特节点中,所述第三多比特节点为第二多比特树中的一个多比特节点; 所述第二存储子単元,用于将所述第Y片段存储到第四多比特节点中,所述第四多比特节点为所述第三多比特节点的下ー级多比特节点,所述第Y+1数据结构存储在所述第四多比特节点中,所述第四多比特节点为所述第二多比特树中的ー个多比特节点。
10.根据权利要求8或9所述装置,其特征在于 所述第X数据结构中包含第一指示信息,所述第一指示信息用于标识所述第X+1片段是按照所述第一规则进行存储的;或者, 所述第Y数据结构中包含第二指示信息,所述第二指示信息用于标识所述第Y片段是按照 所述第二规则进行存储的。
全文摘要
本发明实施例提供了一种存储方法,包括将比特串中的第X+1片段按照第一规则进行存储,比特串由N个片段组成,第一规则包括根据N个片段中的第X片段存储在第X数据结构的第一域中的位置确定第一偏移量,第X数据结构中存储了第一基础地址;计算第一基础地址与第一偏移量的和,得到第一新地址,第一新地址对应的存储空间用于存储第X+1数据结构;将第X+1片段存储到第X+1数据结构中。此外,本发明实施例还提供了相应的装置。通过本发明实施例提供的技术方案,可以节省存储空间。
文档编号G06F17/30GK102682112SQ201210145239
公开日2012年9月19日 申请日期2012年5月11日 优先权日2012年5月11日
发明者张淼 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1