CN111131015B - 一种基于PC-Trie动态更新路由的方法 - Google Patents
一种基于PC-Trie动态更新路由的方法 Download PDFInfo
- Publication number
- CN111131015B CN111131015B CN201911376925.5A CN201911376925A CN111131015B CN 111131015 B CN111131015 B CN 111131015B CN 201911376925 A CN201911376925 A CN 201911376925A CN 111131015 B CN111131015 B CN 111131015B
- Authority
- CN
- China
- Prior art keywords
- node
- trie
- rule
- route
- father
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Abstract
本发明公开了一种基于PC‑Trie动态更新路由的方法,通过增加附加规则解决了原技术方案中PC‑Trie存在冗余节点的问题;消除了现有技术中的额外线性路由表的使用,所增加的互补PC‑Trie和PC‑Trie的操作方法相同,增加了代码可维护性;操作视角使PC‑Trie节点之间的链接关系更加明晰,更容易实现递归算法,也更易于维护。
Description
技术领域
本发明属于网络技术领域,更具体地,涉及一种基于PC-Trie动态更新路由的方法。
背景技术
随着网络路由规模的不断增长,网络设备端口速率的不断提升,路由前缀最长匹配(LPM)算法也随之不断演进。在2012年,研究人员提出了基于哈希算法和Prefix-CompressedTrie(PC-Trie)的高速LPM(Longest Prefix Match)路由查找硬件实现框架,称为FlashTrie。该框架的做法是对由路由前缀所构成的Trie树按照k比特进行分层,每一层都分割出来许多高度为k的子Trie树,然后通过哈希算法实现路由前缀到子Trie树地址的映射(如附图1所示)。
小的子Trie树会被转换为PC-Trie的格式。Trie到PC-Trie的转换方法是把Trie中的多个相邻的兄弟节点合并在一起,作为PC-Trie的一个节点(后文如无特殊说明,节点即表示PC-Trie节点)。用二叉Trie树位图来表示一颗树的时候,一个位代表一个路由或称路由节点,所以转化之后PC-Trie的位图比转化之前要小很多,但是实际上PC-Trie的位图的一个位代表着二叉Trie的多个节点,构成了一个路由集合,转化原理图如附图2所示。PC-Trie2位图的一个位代表2条路由,PC-Trie4位图的一个位代表4条路由。
构建PC-Trie要遵循两条规则:规则1:当一个节点的路由集合中有路由存在时,其它路由信息不允许留空,需要继承其父节点或祖先节点的路由信息;规则2:当某个节点的两个孩子节点都存在时,需要删除这个节点。规则1的存在一方面是为了加快搜索速度,另一方面它也是规则2的前提,当规则2的条件满足的时候,之所以可以删除父节点,是因为有可能两个子节点已经继承了父节点,删除父节点不至于造成信息丢失。也可能是没有继承存在,但是两个子节点的前缀路径包含了父节点的前缀路径,根据LPM原理,父节点的前缀路径就是多余的。
上述PC-Trie不仅允许路由表项动态更新,也应该允许路由表项的动态删除,但是PC-Trie的规则2对动态删除路由表项支持存在着问题。根据规则2的规定,当两个子节点存在时,就删除父节点,假设用户后续删除了子节点路由集合中的某个路由,那么整个子节点有可能会被移除,此时规则2的条件被破坏了,必须要恢复父节点,但是父节点的路由集合已经被删除,此时就出现路由信息丢失的情况。所以现有的技术方案中,在应用规则2的时候,删除了父节点路由集合的同时,需要一个额外空间保存父节点路由集合中的路由信息,以免在需要恢复某个节点的时候找不到。该部分现有技术如附图3所示。
使用上述规则1和规则2建立PC-Trie的技术方案中存在一些缺陷:PC-Trie中可能存在冗余节点;查找节点的时候可能还需要到额外路由表中查找线性表,拖慢了查找速度;软件不易维护,原因如下:需要提供两套查找方法,一套用于查找PC-Trie,另外一套用户查找线性表;在处理继承关系的时候,操作视角需要从PC-Trie转换到二叉Trie,最后再转换回PC-Trie;由于线性路由表的输入是前缀信息,而PC-Trie的输入是位图的位索引值,因此在遍历二叉树的时候需要频繁地进行索引值到前缀的转换操作;根节点的路由信息保存在额外路由表中,无法通过二叉树的遍历方法寻找到根节点。因此,需要一种改善的方法能够消除应用上述规则1和规则2所带来的节点冗余和需要额外路由表用来保存根节点信息的问题。
发明内容
本发明的目的是提供一种基于PC-Trie动态更新路由的方法,消除现有技术方案中PC-Trie中存在冗余节点和需要额外路由的缺陷。
为实现上述发明目的,本发明提出的技术方案如下:
一种基于PC-Trie动态更新路由的方法,所述方法包括:
步骤一,定义 PC-Trie构建规则:规则1:当节点存在时,其路由集合中不存在的路由节点需要继承该路由节点的父节点的路由信息,若父节点不存在则继承路由节点的祖先节点的路由信息;规则2:当节点的两个孩子节点都存在时,需要删除该节点;以及附加规则:当节点不存在,但其两个孩子节点都存在时,需要根据规则1创建该孩子节点的父节点,作为辅助节点,辅助节点不是真实的路由节点,不存放在硬件路由表中,而是存放在内存中,辅助节点可以辅助规则2更彻底地消除冗余节点,使得PC-Trie所占用的硬件存储空间最优化;
步骤二,定义互补PC-Trie,保存在内存中,用于保存根据规则2删除的冗余节点以及创建的辅助节点;
步骤三,路由更新流程:如果路由已存在,直接更新路由信息即可;如果路由所对应的节点不存在,根据规则1创建该节点的路由集合,然后根据规则2,如果该节点的两个孩子节点都存在,则把节点更新到互补PC-Trie中,否则把节点更新到PC-Trie对应的硬件存储中,然后检查其父节是否符合规则2,如果该父节点的两个孩子节点中至少有一个不存在,则父节点符合规则2,结束检查流程;如果该父节点的两个孩子节点都存在,当父节点存在时,则为冗余节点,转移父节点到互补PC-Trie中,并结束检查流程;当父节点不存在时,则在互补PC-Trie中根据规则1创建两个孩子节点的父节点作为辅助节点并继续递归检查该父节点的父节点;
步骤四,路由删除流程:找到路由所对应的节点,并从节点的路由集合中删除路由信息。如果节点的路由集合中存在其他非继承路由信息,或者节点的两个孩子节点都存在,则不删除该节点,根据规则1更新节点;否则删除该节点,删除之后再检查该节点的父节点是否符合规则2,如果父节点是冗余节点,则恢复父节点到PC-Trie中并结束检查流程,如果父节点是辅助节点,则删除这个辅助节点并继续递归检查该父节点的父节点。
本发明提出的基于PC-Trie动态更新路由的方法,通过增加附加规则解决了原技术方案中PC-Trie存在冗余节点的问题;所增加的互补PC-Trie和PC-Trie的操作方法相同,增加了代码可维护性;PC-Trie中删除的冗余节点或者新增的辅助节点都存储于互补PC-Trie中,所以由于规则2被删除的冗余节点未丢失,新增的辅助节点对PC-Trie也未造成任何负面影响;判断一个PC-Trie节点是否存在更加简单快捷,同时查看PC-Trie和互补PC-Trie是否存在该节点,只要它们当中有一个存在该节点,那么结果就认为是存在的;操作视角使PC-Trie节点之间的链接关系更加明晰,更容易实现递归算法,也更易于维护。
附图说明
图1为现有技术的FlashTrie总体框架示意图;
图2为现有技术的二叉Trie到PC-Trie的转换示意图;
图3为现有技术的PC-Trie加额外路由表示意图;
图4为现有技术的二叉Trie到PC-Trie节点映射流程示意图;
图5为根据本发明的PC-Trie软件三层结构示意图;
图6为根据本发明的路由更新流程;
图7为根据本发明的路由删除流程;
图8为根据本发明的更新路由的动态过程的具体实施例;
图9为根据本发明的更新路由的动态过程的具体实施例;
图10为根据本发明的更新路由的动态过程的具体实施例;
图11为根据本发明的更新路由的动态过程的具体实施例;
图12为根据本发明的更新路由的动态过程的具体实施例;
图13为根据本发明的更新路由的动态过程的具体实施例。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互结合。
针对冗余节点的问题,提出一条附加规则:当某个节点不存在,但其两个孩子节点都存在时,需创建一个辅助节点。有了这个附加规则,应用规则2的时候,就不必向下递归查询子节点了,因为附加规则会确保当两个子节点都存在的时候,父节点也是存在的,所以这个附加规则使得规则2更加完善,消除了冗余节点的问题。
针对额外路由线性表的缺陷问题,以及软件可维护性问题,提出了使用一个互补PC-Trie来代替线性表的方案,互补PC-Trie本质上也是一个PC-Trie,但是它的信息都保存在内存中,它与PC-Trie的节点形成互补关系,所以命名为互补PC-Trie。冗余节点虽然被PC-Trie从硬件路由表中移除了,但是不可以直接删除,因为这是用户下发的路由数据,将来可能还要恢复到硬件路由表中,所以可以暂存在互补PC-Trie中。辅助节点不是真实的路由节点,不能存放在PC-Trie中,所以它可以存放在互补PC-Trie中。
为了简化软件流程,本发明设计了一个三层结构,如图5。上面一层是二叉Trie操作层,中间一层是PC-Trie层,下面一层是互补PC-Trie层。操作层提供一个基于二叉Trie的操作视角,在这一层面实现递归算法,节点查询等。PC-Trie层与互补PC-Trie层为二叉Trie操作层面提供数据的查询与插入,并共同实现规则2以及附加规则的算法。
二叉Trie到PC-Trie的转换分为2比特压缩、4比特压缩、8比特压缩、16比特压缩等等,就是将二叉Trie的兄弟节点合并在一起。定义压缩比特数为COMP_SIZE,二叉Trie的节点索引为trie_index, PC-Trie的节点索引为pctrie_index, 路由下一跳索引(Next HopIndex)在路由集合中的位置为nhi_pos,我们发现二叉Trie的节点到PC-Trie的下一跳索引之间存一个简单的映射关系。这个映射关系存在着一个特殊情况,就是当trie_index小于COMP_SIZE的时候,pctrie_index的值为0,所以trie_index小于COMP_SIZE的路由节点在PC-Trie中是没有对应节点的,它们必须要被继承到PC-Trie的根路由集合中,为了保存这些节点的信息,我们在PC-Trie的数据结构中定义了一个COMP_SIZE长度的下一跳索引数组(称为RootNHI表)来保存这些节点,在RootNHI表中的路由节点索引同样是nhi_pos,流程如图4所示。
路由更新的一般流程如图6所示,当需要新增一条路由的时候,首先查看路由所对应的PC-Trie节点是否存在,若节点存在,则直接更新路由节点即可,然后更新左右子树的继承节点;若节点不存在,则需要应用规则1创建该节点的路由集合,然后根据规则2决定将这个路由集合存储在PC-Trie同时更新到硬件表项或者互补PC-Trie中,并递归检查父节点是否符合规则2,不符合的做相应调整使之符合规则2,最后更新以这个路由节点为根的子树的继承节点。当PC-Trie的位图索引值为0的时候,没有对应的节点,这些下一跳索引信息是保存在RootNHI表中的,只需要更新相应的节点,同时还需要更新以这个路由节点为根的子树的继承节点。
路由的删除流程如图7所示,路由虽然删除了,但是如果在路由集合中还有其他非继承路由信息,或者节点的两个子节点都存在,那么这个PC-Trie节点还要保留,此时需要利用规则1填充这个被删除的路由信息,并递归更新子树中的继承节点。如果这个路由节点是PC-Trie节点中的唯一路由,那么在不破坏规则2附加规则的情况下要删除这个PC-Trie节点,也就是说如果这个PC-Trie节点的两个子节点都存在,则不能删除这个节点,此时它属于互补PC-Trie,被删除的路由节点空位要找它的父节点或者祖先节点继承路由信息。如果删除PC-Trie节点不破坏规则2的附加规则,那么节点被删除后需要递归查看其父节点是否符合附加规则,若父节点是冗余节点,那么父节点需要被恢复到PC-Trie中并结束检查;若父节点是辅助节点,则父节点需要被删除并继续查看父节点的父节点。
如果路由节点在RootNHI表中,那么这个路由节点在PC-Trie中没有对应的节点,直接从RootNHI表中删除路由节点信息,并更新子树中相应的继承节点。
在一个具体实施例中,PC-Trie的高度为3,它的位图长度为7。路由更新过程为先更新5条路由,然后删除1条路由。
第一步添加一个前缀为*,下一跳索引为A的路由。这样的路由是PC-Trie的根路由,一般在创建一个新的PC-Trie的时候需要指定一个路由作为根路由,PC-Trie根据根路由,创建其根节点,并继承这个根路由,如图8所示。同时这个根路由会被保存在RootNHI表中。此时做路由搜索,总是会命中第一个节点的路由。
第二步添加路由前缀为0*, 下一跳索引为B的路由。这个路由所在节点是第一个节点,这个节点在第一步中已经创建好了,直接把对应的路由节点的下一跳索引值由A改为B即完成更新流程,最终结果如图9所示。
第三步添加路由前缀为00*,下一跳索引为C的路由。它在第2个节点里,第2个节点还不存在,需要根据规则1创建这个节点,所以路由集合中第一个路由信息是C,第二个路由信息是继承自父节点的路由B。因为这个节点的子节点都不存在,所以把这个节点存入PC-Trie中,互补PC-Trie仍然保持空的状态。然后对父节点的检查显然是符合规则2的,所以不用做任何改动,最终结果如图10所示。
第四步添加路由前缀为100*,下一跳索引为D的路由。它在第6个节点里,需要根据规则1创建这个节点,所以路由集合中第一个路由信息是D,第二个路由不存在,则继承根节点的路由下一跳索引A。因为这个节点的子节点都不存在,所以把这个节点存入PC-Trie中,互补PC-Trie仍然保持空的状态。对其父节点的检查也是符合规则2的,因为其兄弟节点不存在,更新流程结束。最终结果如图11所示。
第五步添加路由前缀为110*,下一跳索引为E的路由。它在第7个节点里,需要根据规则1创建这个节点,所以路由集合中第一个路由信息为E,第二个路由不存在,则继承根节点的路由下一跳索引A。因为这个节点的子节点都不存在,所以把这个节点存入PC-Trie中,此时PC-Trie中有4个节点存在。接下来对其父节点3做检查的时候发现,3的子节点6、7都存在,但是3不存在,这不符合规则2的规定,根据规则2的规定需要在节点3上创建辅助节点。辅助节点的路由集合中的路由信息都是继承自其父节点或者祖先节点的,所以都是根节点的路由信息A,而且这个辅助节点是存储于互补PC-Trie中的,对PC-Trie没有影响。然后继续对节点3的父节点1做检查,发现节点1的两个孩子节点2、3都存在,所以节点1变为冗余节点。根据规则2的规定,此时需要把节点1转移到互补PC-Trie中,转移之后PC-Trie的节点由4个变为3个。最终结果如图12所示。
第六步删除前缀为100*的路由。它在第6个节点里,并且这个节点中只有这一个路由。其他路由都是继承的路由。第6个节点也不存在子节点,所以可以直接删除第6个节点。删除第6个节点后,检查其父节点3是否符合规则2,节点3是在互补PC-Trie中,是一个辅助节点,根据规则2的规定,需要删除它。删除节点3之后,继续检查其父节点1。节点1在互补PC-Trie中,是一个冗余节点,根据规则1的规定需要把它转移回PC-Trie层,保证了路由0*不丢失。此时PC-Trie中有3个节点,互补PC-Trie被清空。最终结果如图13所示。
本领域的技术人员容易理解,以上所述仅为发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于PC-Trie动态更新路由的方法,所述方法包括:
A.定义 PC-Trie构建规则:规则1:当节点存在时,所述节点的路由集合中不存在的路由节点需要继承所述路由节点的父节点的路由信息, 若所述父节点不存在则继承所述路由节点的祖先节点的路由信息;规则2:当所述节点的两个孩子节点都存在时,则所述节点为冗余节点,需要删除所述节点;以及附加规则:当所述节点不存在,但所述节点的两个孩子节点都存在时,需要根据规则1创建所述孩子节点的父节点作为辅助节点;
B.定义互补PC-Trie,所述互补PC-Trie保存在内存中,用于保存根据规则2所删除的冗余节点以及所创建的辅助节点;
C.路由更新流程:如果所述路由已存在,直接更新所述路由信息即可;如果所述路由中对应的节点不存在,根据规则1创建所述节点的路由集合,然后根据规则2,如果所述节点的两个孩子节点都存在,则把所述节点更新到所述互补PC-Trie中,否则把所述节点更新到所述PC-Trie对应的硬件存储中;然后检查所述节点的父节点是否符合规则2,如果所述父节点的两个孩子节点中至少有一个不存在,则所述父节点符合规则2,结束检查流程;当所述父节点的两个孩子节点都存在时,如果所述父节点存在,则为冗余节点,转移所述父节点到所述互补PC-Trie中,并结束检查流程;如果所述父节点不存在,则在所述互补PC-Trie中根据规则1为所述两个孩子节点创建父节点作为辅助节点,并继续递归检查所述父节点的父节点;
D.路由删除流程:找到所述路由对应的节点,并从所述节点的路由集合中删除路由信息,如果所述节点的路由集合中存在其他非继承路由信息,或者所述节点的两个孩子节点都存在,则不删除所述节点,而是根据规则1更新所述节点,否则删除所述节点,然后检查所述节点的父节点是否符合规则2,如果所述父节点是冗余节点,则将所述父节点恢复到所述PC-Trie中并结束检查流程,如果所述父节点是辅助节点,则删除所述辅助节点,并继续递归检查所述父节点的父节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911376925.5A CN111131015B (zh) | 2019-12-27 | 2019-12-27 | 一种基于PC-Trie动态更新路由的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911376925.5A CN111131015B (zh) | 2019-12-27 | 2019-12-27 | 一种基于PC-Trie动态更新路由的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131015A CN111131015A (zh) | 2020-05-08 |
CN111131015B true CN111131015B (zh) | 2021-09-03 |
Family
ID=70503987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911376925.5A Active CN111131015B (zh) | 2019-12-27 | 2019-12-27 | 一种基于PC-Trie动态更新路由的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131015B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174582B (zh) * | 2022-09-06 | 2022-11-18 | 中国中金财富证券有限公司 | 数据调度方法及相关装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529454A (zh) * | 2003-09-26 | 2004-09-15 | 清华大学 | 消除最长前缀匹配查找的并行路由查找方法及其系统 |
CN101577662A (zh) * | 2008-05-05 | 2009-11-11 | 华为技术有限公司 | 一种基于树形数据结构的最长前缀匹配方法和装置 |
CN103051543A (zh) * | 2012-11-01 | 2013-04-17 | 广州微仕科信息技术有限公司 | 一种路由前缀的处理、查找、增加及删除方法 |
CN103516550A (zh) * | 2013-09-29 | 2014-01-15 | 国家计算机网络与信息安全管理中心 | 一种面向大规模包分类规则集的规则冲突检测方法及系统 |
CN103761273A (zh) * | 2014-01-08 | 2014-04-30 | 兴天通讯技术(天津)有限公司 | 树型结构中节点属性的配置方法及其配置系统 |
CN104468381A (zh) * | 2014-12-01 | 2015-03-25 | 国家计算机网络与信息安全管理中心 | 一种多域流规则匹配的实现方法 |
CN105025013A (zh) * | 2015-06-12 | 2015-11-04 | 国家计算机网络与信息安全管理中心 | 基于优先级Trie树的动态IP匹配模型 |
CN105791132A (zh) * | 2014-12-17 | 2016-07-20 | 深圳市中兴微电子技术有限公司 | 一种基于多路搜索树路由查找的表项更新方法及装置 |
CN110168532A (zh) * | 2017-05-09 | 2019-08-23 | 华为技术有限公司 | 数据更新方法和存储装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403495B2 (en) * | 2004-06-30 | 2008-07-22 | Sap Ag | Method and system for compressing a tree |
US8625604B2 (en) * | 2009-12-01 | 2014-01-07 | Polytechnic Institute Of New York University | Hash-based prefix-compressed trie for IP route lookup |
-
2019
- 2019-12-27 CN CN201911376925.5A patent/CN111131015B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529454A (zh) * | 2003-09-26 | 2004-09-15 | 清华大学 | 消除最长前缀匹配查找的并行路由查找方法及其系统 |
CN101577662A (zh) * | 2008-05-05 | 2009-11-11 | 华为技术有限公司 | 一种基于树形数据结构的最长前缀匹配方法和装置 |
CN103051543A (zh) * | 2012-11-01 | 2013-04-17 | 广州微仕科信息技术有限公司 | 一种路由前缀的处理、查找、增加及删除方法 |
CN103516550A (zh) * | 2013-09-29 | 2014-01-15 | 国家计算机网络与信息安全管理中心 | 一种面向大规模包分类规则集的规则冲突检测方法及系统 |
CN103761273A (zh) * | 2014-01-08 | 2014-04-30 | 兴天通讯技术(天津)有限公司 | 树型结构中节点属性的配置方法及其配置系统 |
CN104468381A (zh) * | 2014-12-01 | 2015-03-25 | 国家计算机网络与信息安全管理中心 | 一种多域流规则匹配的实现方法 |
CN105791132A (zh) * | 2014-12-17 | 2016-07-20 | 深圳市中兴微电子技术有限公司 | 一种基于多路搜索树路由查找的表项更新方法及装置 |
CN105025013A (zh) * | 2015-06-12 | 2015-11-04 | 国家计算机网络与信息安全管理中心 | 基于优先级Trie树的动态IP匹配模型 |
CN110168532A (zh) * | 2017-05-09 | 2019-08-23 | 华为技术有限公司 | 数据更新方法和存储装置 |
Non-Patent Citations (2)
Title |
---|
"Longest prefix match and updates in range tries";LoannisSourdis等;《IEEE》;20111013;全文 * |
"基于路由最短路径数的动态多节点删除算法";梁德恒等;《计算机工程》;20110504;第37卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111131015A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672234B2 (en) | Database and database processing methods | |
US6490592B1 (en) | Method of and apparatus for generating a tree data structure supporting longest match lookup | |
JP3771271B2 (ja) | コンパクト0完全木における順序付けられたキーの集まりの記憶と検索のための装置及び方法 | |
US6560610B1 (en) | Data structure using a tree bitmap and method for rapid classification of data in a database | |
US6434144B1 (en) | Multi-level table lookup | |
CN102484610B (zh) | 路由表建立方法和装置及路由表查找方法和装置 | |
US8135752B2 (en) | Deleting leaves in tree table structures | |
US6594655B2 (en) | Wildcards in radix- search tree structures | |
JP3299528B2 (ja) | インターネット網等の高速通信網のノードのルーティング表構築のためのプレフィックス分析による情報探索用メモリ | |
KR100586461B1 (ko) | 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체 | |
US20020188614A1 (en) | Software-based methodology for the storage and retrieval of diverse information | |
EP1045556A2 (en) | Forwarding information retrieval technique | |
JP3813136B2 (ja) | 通信制御装置、通信制御方法、通信制御プログラム、通信制御用データ構造 | |
CN108134739B (zh) | 一种基于索引特里树的路由查找方法及装置 | |
US20130024649A1 (en) | Method and device for storing routing table entry | |
CN103051543A (zh) | 一种路由前缀的处理、查找、增加及删除方法 | |
US8411591B2 (en) | Method for efficiently retrieving topology-specific data for point-to-point networks | |
WO2014047863A1 (en) | Generating a shape graph for a routing table | |
CN111131015B (zh) | 一种基于PC-Trie动态更新路由的方法 | |
CN104008205A (zh) | 一种内容路由的查询方法及系统 | |
CN110995876B (zh) | 一种ip存储与查找的方法及装置 | |
JP4048861B2 (ja) | アドレス検索装置 | |
CN104143152B (zh) | 一种业务关系二叉树节点修剪方法及装置 | |
CN112269784A (zh) | 一种基于硬件实现的哈希表结构以及插入、查询和删除方法 | |
US20030031179A1 (en) | Self-updateable longest prefix matching method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |