CN101741708A - 一种存储数据的方法、装置及系统 - Google Patents
一种存储数据的方法、装置及系统 Download PDFInfo
- Publication number
- CN101741708A CN101741708A CN200810219090A CN200810219090A CN101741708A CN 101741708 A CN101741708 A CN 101741708A CN 200810219090 A CN200810219090 A CN 200810219090A CN 200810219090 A CN200810219090 A CN 200810219090A CN 101741708 A CN101741708 A CN 101741708A
- Authority
- CN
- China
- Prior art keywords
- node
- next stage
- judged
- hop
- stage child
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种存储数据的方法,包括:判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点;判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点;将所述数据按照经过节点合并后的树结构进行存储。采用本发明,可实现数据以树形结构存储时生成的跳跃节点与所述跳跃节点所在级的下一级子节点进行合并,减少了数据以树形结构进行存储时总的节点层次和节点总数,为数据的存储节约了空间,也提高了数据的转发性能。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种存储数据的方法、装置及系统。
背景技术
树作为一种重要的非线性结构,被越来越多的应用到数据存储领域。
例如,随着互联网络的迅猛发展,网络上的路由前缀数目成倍的增长,而路由前缀则存储在路由器的网际互连协议转发信息库(即IP FIB)中。
而任何FIB表,都可以构造二进制树(binary tree)来表示,如图1中左图所示。对于给定的FIB表,将每次查找需要检测的比特数称为步长,按给定的查找步长对表项进行分割存储。如图1中,给定步查找长为3,则每3位路由prefix(前缀)存储在一级内,生成图1中右图所示节点结构示意图。另外,同一节点的所有子节点按序在内存中连续存储,同一个节点的结果索引信息也存储在连续的内存中,这样就可以只用一个指针再加上偏移量就可以获得相应的子节点或结果索引信息。
实际应用中,对于长度比较长,需要存储的节点级数比较多的路由表项采用二进制树形式存储时,采用现有的压缩技术仍然会产生较多的级点级数,占用较大的存储空间,尤其是固定节点内存空间的情况下,大大降低了路由转发表的转发性能和可添加最大表项数容量性能。
发明内容
本发明实施例所要解决的技术问题在于,提供一种存储数据的方法及装置。可对路由表项中的单分支进行有效的压缩存储。
为了解决上述技术问题,本发明实施例提供了一种存储数据的方法及装置,包括:
判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点;
判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点;
将所述数据按照经过节点合并后的树结构进行存储。
相应地,本发明实施例还提供了一种存储数据的装置,包括:
第一判断模块,用于判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点;
第二判断模块,用于判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点。
实施本发明实施例,具有如下有益效果:本发明可将路由表项以树形结构存储时生成的跳跃节点与所述跳跃节点所在级的下一级子节点进行合并,减少了路由表项以树形结构进行存储时总的节点层次,在固定节点内存空间的情况下,有效的提高了路由转发表的转发性能和可添加最大表项容量性能。
附图说明
图1是数据以树结构形式表示的示意图一及利用现有技术将数据以树结构形式存储生成的节点结构示意图一;
图2是本发明方法实施例一的流程示意图;
图3是跳跃节点压缩原理示意图;
图4是本发明方法实施例一的具体流程示意图;
图5是数据以树结构形式表示的示意图二及利用现有技术将数据以树结构形式存储生成的节点结构示意图二;
图6是将图5中数据使用本发明存储技术以树结构形式存储生成的节点结构示意图;
图7是本发明装置实施例的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明实施例中将数据以树形结构存储时生成的跳跃节点与所述跳跃节点所在级的下一级子节点进行合并,这样设置即可使原来存在较多节点层次的树形结构得到有效压缩,在固定节点内存空间的情况下,提升了存储空间的最大容量性能以及数据的转发性能。
图2为本发明方法实施例一的流程示意图,包括:
200判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点。判断为否时,执行步骤202。
如图1所示,图1中左图为以树形式表示的路由表项,其中,黑点代表包含前缀信息的表项,白点代表不包含前缀信息的表项,所述前缀(prefix),主要是用来指定具体的网络可达的,唯一标示一个网络目的地址,由匹配前缀(网段或IP地址)和前缀长度(子网掩码)组成。例如1.2.3.0/16和1.2.3.0/24表示前缀1.2.3.0掩码长度分别为16和24的两个prefix。按查找步长3对路由表项按从上至下,从左至右的顺序分割成若干个子树(如图1左图虚线框内所示),其中每个虚线框内表项存储为一个节点,生成如图1右图所示的树结构节点示意图。
其中,路由表项按步长分割成若干子树后,当某一子树同时满足以下二个条件时:1,子树中路由表项没有包含前缀信息;2,子树中每个路由表项有且只有一个子表项(如图1中左图的level 31 node所示,level 31 node中三个路由表项均不含有前缀信息,且level 31 node每个路由表项均只有一个路由子表项)将所述子树存储为跳跃节点(以下简称skip node),如图1右图中节点31则是对应左图中level 31 node对应生成的包含三个路由表项的skip node。
参照图3,生成skip node有如下两种形式:一种是在单分支空节点路径上某一个节点有两个子节点,如图3左侧所示。这种形式的路径压缩从第一个空节点开始到出现分支的节点的父节点压缩生成一个skip node。第二种情况是单分支空节点路径上出现一个含有prefix的节点,如图3右侧所示。这种形式的路径压缩从第一个空节点开始到出现含有prefix的节点的父节点压缩生成一个skip node。
Skip node的数据结构如表1所示。
表1skip node
表1中,ulSCTNode为超级Trie节点(以下简称为super trie node)标志位,为1时为Super Trie Node,为0时读取Type判断为其他什么节点类型。Type为节点类型。ulCmpLen表示Skip Node存储的压缩单分支路径的长度,长度数值是步长的倍数;以路由表项的存储为例,路由表项是按步长进行分割后存储于节点中。如图1中,对表项进行分割的步长为3。ulPBMIOffSet为最长匹配表项偏移量。ulPTI为奇偶校验位。ulAddrChild指示SkipNode节点子节点地址。ulCmpDataHigh用于存储单分支压缩路径高字节位;ulCmpDataLow用于存储单分支压缩路径低字节位。
201判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点存储为一个节点。判断为否时,执行步骤202。
所述可合并节点为包含有前缀信息和/或多分支路径的节点。以存储路由表项为例,可合并节点包括对表项按步长划分后行成的trie节点和尾结点(简称end node),需要说明的是,对路由表项按步长分割后产生的子树中,当某一子树中有路由表项包含前缀信息或子树中任一路由表项有两个或两个以上子路由表项,则将子树中表项存储为trie结点,如图1左图中level 21 node中有表项包含前缀信息,level 23 node中有一个路由表项有两个子路由表项,则level 21node,level 23 node对应生成右图中的节点21和节点23为trie结点。
trie node数据结构如表2所示。
表2trie node
表2中ulSCTNode为super trie node标志位,为1时为Super Trie Node,为0时读取ulType判断为其他什么节点类型;
ulType为节点类型;
ulResultAddr用于指示Internal Node(内部节点)的结果地址,其中InternalNode用于存储trie节点的内部位图(以下简称Internal bitmap),所述内部位图用来代表trie节点中存储的前缀信息;
ulPBMIOffSet为最长匹配表项偏移量;
ulPTI为奇偶校验位;
ulHaveINode用于表示Trie Node节点是否存在Internal Node子节点,例如当ulHaveINode为1时表示存在Internal Node,为0时不存在Internal Node;
ulAddrChild用于指向Trie Node节点的子节点地址;
Extending Bitmap High Bits用于存储扩展位图(Extending Bitmap)的高字节位;
Extending Bitmap Low Bits用于存储Extending Bitmap的低字节位。
end结点则是当分割后的子树无任何子子树时,则存储为end结点。如图1左图中level 41 node,无任何子子树,对应生成右图中的节点41,节点41为end节点。
end node的数据结构如表3所示。
表3end node
表3中,ulSCTNode为super trie node标志位,为1时为Super Trie Node,为0时读取ulType判断为其他什么节点类型;
ulType为节点类型;
ulAddrResult为End Node节点对应的结果数组地址;
ulPBMIOffSet:最长匹配表项偏移量;
ulPTI[22]:奇偶校验位;
Internal Bitmap High Bits用于存储Internal Bitmap(内部位图)高字节位;
Internal Bitmap Low Bits用于存储Internal Bitmap低字节位。
同时,本发明实施例只是描述了一次数据判断合并的过程,在其它实施例中,可多次或依据某一预设的条件循环对树结构中节点执行上述操作。
202将所述数据按照经过节点合并后的树结构进行存储。
实施本实施例中可将树结构中跳跃节点与所述跳跃节点所在级的下一级包含有前缀信息和/或包含有多分支路径的子节点合并,即可实现节点层次的减少。
图4为本发明方法实施例一的具体流程示意图,包括:
400获取树结构中一个或多个节点的节点类型信息。
本实施例中树结构中的节点类型包括skip node,trie node,end node。需要说明的是,在其它实施例中,获取节点信息可以从根节点开始按从左至右,从上至下的顺序对树结构中的节点进行遍历以获取每个节点的信息。
请参图5,以存储路由表项为例,图5中左图为以树结构表示的路由表项,其中黑点代表含有前缀信息的表项,白点代表不含有前缀信息的表项。预设查找步长为3,根据查找步长及现有技术对左图中的表项进行分割存储后生成如图5中右图所示的节点图,其中,
Level1:Trie Node
Level2:Skip Node(21)+End Node(22)+Skip Node(23)
Level3:End Node(31)+Trie Node(32)
Level4:End Node(41)
401判断所述获取的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点。判断为否时,执行步骤404。
需要说明的是,其它实施例中,判断为否时,可继续判断其它节点是否为跳跃节点或是实时监测树结构中节点是否因为表项的插入或删除成为跳跃节点。
402判断所述下一级子节点中否为trie节点,判断为是时,将所述trie节点与所述跳跃节点合并为超级trie节点(简称super trie node),判断为否时,执行步骤404。
403判断所述下一级子节点中否为尾节点,判断为是时,将所述尾节点与所述跳跃节点合并为超级跳跃尾节点(超级跳跃尾节点,以下简称super skip endnode),判断为否时,执行步骤404。
参照图5,本实施例中,节点21与节点23都是跳跃节点。读取节点21所在级的下一级子节点31,判断节点31是否为trie节点,判断为否,则再判断节点是否为end node,判断为是,则将节点21与节点31全合为并为super skip endnode,即生成图6中的节点21,其中super skip end node的数据结构如表4所示。
表4super skip end node
表4中,ulSCTNode为super trie node标志位,为1时为Super Trie Node,为0时读取ulType判断为其他什么节点类型;
ulType为节点类型;
ulCmpData用于存储原skip node中存储的单分支压缩路径;
ulCmpLen用于标示原skip node中存储的单分支压缩路径长度;
ulResultAddr用于表示Super Skip End Node节点对应结果数组地址;
ulPBMIOffSet表示最长匹配表项偏移量;
ulPTI[22]为奇偶校验位;
Internal Bitmap High Bits用于存储原end node的Internal Bitmap高字节位;
Internal Bitmap Low Bits用于存储原end node的Internal Bitmap低字节位。
续参图5,读取图5中节点23所在级的下一级子节点32,判断节点32是否为trie节点,判断为是,将节点23与节点32合并为super trie node,即生成图6中节点23,同时,图5中原节点41自动向上成为图6中节点31。本实施例中,super trie node的数据结构如表5所示。
表5super trie node
表5中,ulSCTNode为super trie node标志位,为1时为Super Trie Node,为0时读取ulType判断为其他什么节点类型;
ulType为节点类型;
ulCmpDataHigh用于存储原skip node中存储的单分支压缩路径的高字节位;
ulCmpDataLow用于存储原skip node中存储的单分支压缩路径的低字节位;
ulCmpLen用于标示原skip node中压缩的单分支路径长度;
ulResultAddr用于标示原Trie Node节点对应子节点Internal Node的结果地址;
ulPBMIOffSet标示最长匹配表项偏移量;
ulPTI[标示奇偶校验位;
ulHaveINode用于表示原Trie Node节点是否存在Internal Node子节点;
ulAddrChild用于标示原Trie Node节点的子节点地址;
Extending Bitmap用于存储原Trie Node节点的Extending Bitmap高字节位;
Extending Bitmap用于存储原Trie Node节点的Extending Bitmap低字节位。
404将所述数据按照经过节点合并后的树结构进行存储。
参照图6,图6为最终节点合并后成的节点结构图,其中:
Level1:Trie Node
Level2:Super Skip End Node+End Node+Super Trie Node
Level3:End Node
与图5相比,图6中的节点层次减少了一层,同时节点的个数也由图3中的七个减少为五个。由本发明实施例可见,通过将跳跃节点与所述跳跃节点所在级的下一级子节点进行合并,有效的减少了以路由表项以树结构存储时所产生的节点及节点层次,在固定节点内存空间的情况下,有效的提高了将路由转发表的转发性能和可添加最大表项容量性能。
需要说明的是,步骤402和步骤403没有必然的先后顺序,在其它实施例中可同时并行执行或是按一定顺序进行。
在其它实施例中,进行表项插入或删除时,可能改变节点类型,则相应的可根据节点改变后的类型,对节点进行合并或拆分。其中,拆分或合并的过程既可以节点类型改变后实时进行,也可每隔一定时间对存储数据的树结构进行遍历后再根据后节点的改变情况进行相应操作。同理,在其它实施例中,也可对其它以树结构形式存储的数据实施本发明实施例中的方案。
图7为本发明实施例一种存储数据的装置的结构示意图,包括:
第一判断模块1,用于判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点,第二判断模块2,用于判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点。
进一步,第一判断模块1包括:
获取单元11,用于获取所述树结构中一个或多个节点的节点类型信息。
需要说明的是,获取节点类型信息的过程可以是以某种顺序对树结构进行遍历获取。
第二判断单元12,用于判断所述获取的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点。
第二判断模块2包括:
第一判断单元21,用于判断所述下一级子节点是否包含多分支路径和/或前缀信息,判断为是时,将所述下一级子级点与所述跳跃节点合并为一个节点。
进一步,第一判断单元21包括:
第一判断子单元211,判断所述下一级子节点是否为trie节点,判断为是时,将所述trie节点与所述跳跃节点合并为超级trie节点;
第二判断子单元212,用于判断所述下一级子节点是否为尾节点,判断为是时,将所述尾节点与所述跳跃节点合并为超级跳跃尾节点。
需要说明的是,本发明装置实施例中所涉及的数据结构与本发明方法实施例中大致相同,在此不再详述。
由上可以,本发明装置实施例可实现数据以树形结构存储时生成的跳跃节点与所述跳跃节点所在级的下一级子节点进行合并,减少了数据以树形结构进行存储时总的节点层次和节点总数,为数据的存储节约了空间,也提高了数据的转发性能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (8)
1.一种存储数据的方法,所述数据以树结构方式存储,其特征在于,包括:
判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点;
判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点;
将所述数据按照经过节点合并后的树结构进行存储。
2.如权利要求1所述的方法,其特征在于,判断所述下一级子节点是否为可合并节点的步骤包括:
判断所述下一级子节点是否包含多分支路径和/或前缀信息。
3.如权利要求2所述的方法,其特征在于,判断所述下一级子节点是否包含多分支路径和/或前缀信息,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点的步骤包括:
判断所述下一级子节点是否为trie节点,判断为是时,将所述trie节点与所述跳跃节点合并为超级trie节点;
或判断所述下一级子节点是否为尾节点,判断为是时,将所述尾节点与所述跳跃节点合并为超级跳跃尾节点。
4.如权利要求3所述的方法,其特征在于,所述判断树结构中节点是否为跳跃节点的步骤具体包括:
获取所述树结构中一个或多个节点的节点类型信息;
判断所述获取的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点。
5.一种存储数据的装置,其特征在于,包括:
第一判断模块,用于判断树结构中的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点;
第二判断模块,用于判断所述下一级子节点是否为可合并节点,判断为是时,将所述下一级子节点与所述跳跃节点合并为一个节点。
6.如权利要求5所述的装置,其特征在于,所述第二判断模块包括:
第一判断单元,用于判断所述下一级子节点是否包含多分支路径和/或前缀信息,判断为是时,将所述下一级子级点与所述跳跃节点合并为一个节点。
7.如权利要求6所述的装置,其特征在于,所述第一判断单元包括:
第一判断子单元,判断所述下一级子节点是否为trie节点,判断为是时,将所述trie节点与所述跳跃节点合并为超级trie节点;
第二判断子单元,用于判断所述下一级子节点是否为尾节点,判断为是时,将所述尾节点与所述跳跃节点合并为超级跳跃尾节点。
8.如权利要求7所述的装置,其特征在于,所述第一判断模块包括:
获取单元,用于获取所述树结构中一个或多个节点的节点类型信息;
第二判断单元,用于判断所述获取的节点是否为跳跃节点,判断为是时,读取所述跳跃节点所在级的下一级子节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102190908A CN101741708B (zh) | 2008-11-13 | 2008-11-13 | 一种存储数据的方法和装置 |
PCT/CN2009/074939 WO2010054599A1 (zh) | 2008-11-13 | 2009-11-13 | 存储数据的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102190908A CN101741708B (zh) | 2008-11-13 | 2008-11-13 | 一种存储数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741708A true CN101741708A (zh) | 2010-06-16 |
CN101741708B CN101741708B (zh) | 2012-11-21 |
Family
ID=42169647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102190908A Expired - Fee Related CN101741708B (zh) | 2008-11-13 | 2008-11-13 | 一种存储数据的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101741708B (zh) |
WO (1) | WO2010054599A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011110003A1 (zh) * | 2010-08-24 | 2011-09-15 | 华为技术有限公司 | 二叉树建立、压缩和查找的方法和装置 |
CN103870462A (zh) * | 2012-12-10 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
WO2015024416A1 (zh) * | 2013-08-21 | 2015-02-26 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN109542854A (zh) * | 2018-11-14 | 2019-03-29 | 网易(杭州)网络有限公司 | 数据压缩方法、装置、介质及电子设备 |
CN112565072A (zh) * | 2020-11-02 | 2021-03-26 | 鹏城实验室 | 一种路由表压缩方法、路由器及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377269B (zh) * | 2019-06-17 | 2024-04-19 | 平安科技(深圳)有限公司 | 业务审批系统配置化方法、装置及存储介质 |
CN115827573B (zh) * | 2023-02-16 | 2023-06-02 | 麒麟软件有限公司 | 基于Linux的key-value形数据存储和使用方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385649B1 (en) * | 1998-11-06 | 2002-05-07 | Microsoft Corporation | Routers and methods for optimal routing table compression |
DE60123596T2 (de) * | 2001-07-13 | 2007-08-16 | France Telecom | Verfahren zur Komprimierung einer Baumhierarchie, zugehöriges Signal und Verfahren zur Dekodierung eines Signals |
US20030236793A1 (en) * | 2002-06-19 | 2003-12-25 | Ericsson Inc. | Compressed prefix tree structure and method for traversing a compressed prefix tree |
CN101141389B (zh) * | 2007-09-29 | 2010-06-16 | 华为技术有限公司 | 增强多位Trie树查找方法和装置 |
CN101241499B (zh) * | 2008-02-26 | 2011-09-21 | 中兴通讯股份有限公司 | 在高内存访问位宽下实现Patricia查找树的方法 |
-
2008
- 2008-11-13 CN CN2008102190908A patent/CN101741708B/zh not_active Expired - Fee Related
-
2009
- 2009-11-13 WO PCT/CN2009/074939 patent/WO2010054599A1/zh active Application Filing
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521082B2 (en) | 2010-08-24 | 2016-12-13 | Huawei Technologies Co., Ltd. | Methods and devices for creating, compressing and searching binary tree |
CN102405622A (zh) * | 2010-08-24 | 2012-04-04 | 华为技术有限公司 | 二叉树建立、压缩和查找的方法和装置 |
US8711014B2 (en) | 2010-08-24 | 2014-04-29 | Huawei Technologies Co., Ltd. | Methods and devices for creating, compressing and searching binary tree |
WO2011110003A1 (zh) * | 2010-08-24 | 2011-09-15 | 华为技术有限公司 | 二叉树建立、压缩和查找的方法和装置 |
CN102405622B (zh) * | 2010-08-24 | 2014-11-05 | 华为技术有限公司 | 二叉树建立、压缩和查找的方法和装置 |
CN103870462B (zh) * | 2012-12-10 | 2018-02-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN103870462A (zh) * | 2012-12-10 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN104424204A (zh) * | 2013-08-21 | 2015-03-18 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
WO2015024416A1 (zh) * | 2013-08-21 | 2015-02-26 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN104424204B (zh) * | 2013-08-21 | 2017-08-11 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN109542854A (zh) * | 2018-11-14 | 2019-03-29 | 网易(杭州)网络有限公司 | 数据压缩方法、装置、介质及电子设备 |
CN109542854B (zh) * | 2018-11-14 | 2020-11-24 | 网易(杭州)网络有限公司 | 数据压缩方法、装置、介质及电子设备 |
CN112565072A (zh) * | 2020-11-02 | 2021-03-26 | 鹏城实验室 | 一种路由表压缩方法、路由器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2010054599A1 (zh) | 2010-05-20 |
CN101741708B (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101741708B (zh) | 一种存储数据的方法和装置 | |
CN101141389B (zh) | 增强多位Trie树查找方法和装置 | |
CN102484610B (zh) | 路由表建立方法和装置及路由表查找方法和装置 | |
US8284787B2 (en) | Dynamic tree bitmap for IP lookup and update | |
US6691124B2 (en) | Compact data structures for pipelined message forwarding lookups | |
US8385343B2 (en) | Method and apparatus for searching IP address | |
US6631419B1 (en) | Method and apparatus for high-speed longest prefix and masked prefix table search | |
US7356033B2 (en) | Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures | |
US7852852B2 (en) | Method for compressing route data in a router | |
CN100445999C (zh) | 一种数据存储及搜索方法 | |
US7797348B2 (en) | Data structure and system for IP address lookup and IP address lookup system | |
CN108134739B (zh) | 一种基于索引特里树的路由查找方法及装置 | |
CN103051543B (zh) | 一种路由前缀的处理、查找、增加及删除方法 | |
CN102333036B (zh) | 一种实现高速路由查找的方法和系统 | |
US20030236793A1 (en) | Compressed prefix tree structure and method for traversing a compressed prefix tree | |
US6691131B2 (en) | Functional memory based on a trie structure | |
CN103404092B (zh) | 路由前缀存储方法、装置及路由地址查找方法、装置 | |
CN102307149A (zh) | Ip查找方法和装置以及路由更新方法和装置 | |
EP1063827B1 (en) | Method for address lookup | |
CN102597973A (zh) | 用于改善最长前缀匹配的可扩展性的方法和设备 | |
CN101572647B (zh) | 一种数据查找的方法及装置 | |
CN102420831A (zh) | 一种多域网包分类方法 | |
CN101526965A (zh) | 一种磁盘文件的索引节点定位方法和装置 | |
US6925503B2 (en) | Method and system for performing a longest prefix match search | |
CN111049746B (zh) | 一种路由表项生成方法、字典树生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121121 Termination date: 20161113 |
|
CF01 | Termination of patent right due to non-payment of annual fee |