[发明专利]路由查找方法及装置、B-Tree树结构的构建方法在审
申请号: | 201310408340.3 | 申请日: | 2013-09-09 |
公开(公告)号: | CN104426770A | 公开(公告)日: | 2015-03-18 |
发明(设计)人: | 程晨;李彧;张炜;徐宝魁;陈伟;孙远航 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/753;G06F9/44;G06F9/50 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 罗丹 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 路由 查找 方法 装置 tree 结构 构建 | ||
1.一种路由查找装置,其特征在于,所述装置包括:路由查找算法软件模块、路由更新接口模块和路由查找硬件模块,其中,
路由查找算法软件模块,用于执行对路由条目的软件计算和更新条目指令的下发;
路由更新接口模块,用于在接收到所述路由查找算法软件模块下发的更新条目指令后,根据路由查找硬件模块的实际工作状态,控制所述路由查找硬件模块的数据流,并将更新条目写入所述路由查找硬件模块的存储器中;
路由查找硬件模块,用于响应硬件系统的路由查找请求,并将最长前缀匹配的查找结果返回至所述硬件系统;其中,所述路由查找硬件模块为流水线型架构。
2.如权利要求1所述的装置,其特征在于,所述路由查找算法软件模块包括:
插入操作子模块,用于响应路由转发系统的路由插入指令,并将所述路由条目插入到B-Tree树结构中;
删除操作子模块,用于响应所述路由转发系统的路由删除指令,并将所述路由条目在所述B-Tree树结构中删除;
软件表项内存管理子模块,用于对路由查找算法中的节点数据和结果表条目数据进行管理;
更新硬件操作子模块,用于将在所述插入操作子模块的插入操作或所述删除操作子模块的删除操作中涉及到改变的B-Tree树节点和结果表条目记录在缓存中,并在插入操作或删除操作结束后,将树节点从软件数据格式转换成硬件数据格式,并将转换后的硬件数据和对应的硬件映射地址通过软硬件交互接口连续写入所述路由更新接口模块中。
3.如权利要求1所述的装置,其特征在于,所述路由查找硬件模块包括:
查找逻辑子模块,用于在接收到所述硬件系统的路由查找请求后,将查找键值信息和内存子模块中的根节点地址信息发送至树结构的第一级查找流水中;然后判断所述根节点地址是否为本级节点;如果是,则向所述内存子模块发起读节点请求,等待所述内存子模块返回节点信息;如果不是,则保留当前节点信息不变;还用于根据比较所述节点信息与键值,判断路由条目是否命中;如果命中,则将命中的路由条目对应的结果记录替代之前的命中结果;
内存子模块,包括多个独立内存空间,分别与所述树结构的每个查找逻辑层相对应。
4.如权利要求3所述的装置,其特征在于,所述路由更新接口模块包括:
缓存子模块,用于通过所述软硬件交互接口接收节点数据和结果表条目数据以及对应的硬件映射地址;
逻辑处理子模块,用于根据所述路由查找硬件模块的所述查找逻辑子模块的工作状态,将所述缓存子模块的条目更新内容更新至所述路由查找硬件模块的所述内存子模块中。
5.如权利要求2所述的装置,其特征在于,所述插入操作子模块包括:
树结构管理单元,用于对新条目在所述B-Tree树结构中的访问顺序进行控制;
节点解析及比较单元,用于与所述树结构管理单元共同控制新条目在所述B-Tree树结构中的有序查询,并找到插入位置;
节点分裂操作单元,用于在新条目需要插入到已满节点时,对该已满节点进行分裂操作;
结果表更新单元,用于将新条目携带的结果信息存入结果表,并将该结果信息的地址记录在所述新条目所在节点的对应位置中。
6.如权利要求2所述的装置,其特征在于,所述软件表项内存管理子模块包括:
软件节点管理单元,用于管理路由查找算法中的节点分配,通过内存管理算法迅速分配和管理软件节点;
软件结果表管理单元,用于管理路由查找算法中的结果表的条目地址分配,通过内存管理算法快速分配和管理结果表;
硬件地址映射管理单元,用于将硬件的实际内存空间进行软件地址映射,通过软件的内存管理算法管理硬件节点和结果表;其中,软件节点与硬件节点一一对应,软件结果表与硬件结果表一一对应。
7.一种路由查找方法,其特征在于,包括:
定义B-Tree树结构的阶数M和最大高度N、每层最大节点数目和结果表条目数,进而确定硬件相应的流水级数、每层节点占用空间和结果表占用空间,进而构建B-Tree树结构;
基于所述B-Tree树结构,执行路由查找操作。
8.一种硬件查找结构为自底向上生长的B-Tree树结构的构建方法,其特征在于,所述方法包括:
根据实际路由表容量需求和延时需求定义出B-Tree树结构的阶数M和B-Tree树结构所需要的最大高度N,按照所述最大高度N设定相应的流水级数N+1;
根据算法填充情况定义出B-Tree树结构的每层最大节点数目,按照所述每层最大节点数目设定相应的内存空间;根据路由表实际容量需求设定结果表的内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310408340.3/1.html,转载请声明来源钻瓜专利网。