[发明专利]一种更新路由查找树的方法及装置有效
申请号: | 201210395132.X | 申请日: | 2012-10-17 |
公开(公告)号: | CN103780490B | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 闫振林;胡志海 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/753 |
代理公司: | 北京派特恩知识产权代理有限公司11270 | 代理人: | 张颖玲,任媛 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 更新 路由 查找 方法 装置 | ||
技术领域
本发明涉及网络处理器(NP,Network Processor)的路由管理技术,尤其涉及一种更新路由查找树的方法及装置。
背景技术
NP是针对网络数据报文处理的可编程芯片,它既具有通用处理器的低价格和高灵活性,又具有专用芯片(ASIC,Application Specific Integrated Circuit)的高性能和可扩展性等特点,被认为是下一代网络发展的核心技术。
由于高速查找的需要,对路由表完全采用软件更新的方法已经不适用,近年来提出的NP中更新路由表的方法有以下两种:一种是在更新路由表前,将路由查找加锁即停止查找,直至更新路由器完成后,再重新开始路由查找;但是,这种方法由于加锁时间较长,导致阻塞查找的时间也就变长。另一种是在路由查找的同时更新表项;但是,这种方法会导致查找和更新访问表项存储器存在冲突,出现查找错包和丢包的情况。
可见,现有技术中NP路由表更新的方法,要么阻塞查找的时间较长,要么会出现错包或丢包的情况。
发明内容
有鉴于此,本发明的目的在于提供一种更新路由查找树的方法及装置,能减少更新路由查找树时阻塞查找的时间,且减少由于更新和查找同时进行而产生的错包或丢包的情况。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种更新路由查找树的方法,该方法包括:
当确定路由查找树需要更新时,根据更新的表项确定更新层级标志表及节点更新信息;
从路由查找树中依次选出层级作为当前层,若根据更新层级标志表判定当前层需要更新,则对路由查找树中当前层的上一层加锁,将节点更新信息同步至路由查找树的当前层,依此类推,直至根据更新层级标志表确定当前层为需要更新的最后一层时,结束本次路由查找树的更新。
上述方案中,所述根据更新的表项确定更新层级标志表及节点更新信息,包括:
根据要更新的路由表项,计算得到新的路由查找表;
根据新的路由查找表,得到更新层级标志表及节点更新信息。
上述方案中,所述根据新的路由查找表,得到更新层级标志表及节点更新信息包括:
将新的路由查找表与NP中保存的原路由查找表进行对比,依次查看每一层中是否需要增加或删除任意一个节点,若是,则在更新层级标志表中对应的位置将该层的更新层级标志置1,并将该层中修改的节点信息编写为节点更新信息;
若不是,则在更新层级标志表中对应的位置将该层的更新层级标志置0;直至得到由所有层的更新层级标志组成的更新层级标志表。
上述方案中,所述对路由查找树中当前层的上一层加锁,将节点更新信息同步至路由查找树的当前层,包括:
将当前层的上一层加锁后,判断当前层是否完成正在进行的查找,若完成,则根据更新后的节点表将当前层中需要更新的节点进行更新;
若没完成,则继续判断当前层是否完成正在进行的查找。
上述方案中,所述确定当前层为需要更新的最后一层,包括:
根据更新层级标志表判断当前层是否为需要更新的最后一层,若是,则结束处理流程;
若不是,则根据更新层级标志表,从当前层开始判断逐层是否有任意一层需要更新,若是,则对路由查找树中当前层的上一层加锁,将节点更新信息同步至当前层;
否则,继续根据更新层级标志表判断当前层是否为需要更新的最后一层。
本发明还提供了一种更新路由查找树的装置,该装置包括:软件算法模块、更新控制模块和查找模块;其中,
软件算法模块,用于当确定路由查找树需要更新时,根据更新的表项确定更新层级标志表及节点更新信息,将更新层级标志表及节点更新信息发送给更新控制模块;
更新控制模块,用于根据软件算法模块发来的更新层级标志表,从查找模块中的路由查找树中依次选出层级作为当前层,若根据更新层级标志表判定当前层需要更新,则通知查找模块对路由查找树中当前层的上一层加锁,将节点更新信息发送给查找模块,依此类推,直至根据更新层级标志表确定当前层为需要更新的最后一层时,结束本次路由查找表的更新;
查找模块,用于接收更新控制模块发来的通知对当前层的上一层加锁,以及将更新控制模块发来的节点更新信息同步至路由查找树的当前层。
上述方案中,所述软件计算模块,具体用于根据要更新的路由表项,计算得到新的路由查找表,根据新的路由查找表,得到更新层级标志表及节点更新信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210395132.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种微型音响
- 下一篇:一种基于多模式的变化指数恒虚警目标检测方法