一种路由表项下发方法、装置、设备及存储介质制造方法及图纸

技术编号:36076792 阅读:8 留言:0更新日期:2022-12-24 10:48
本发明专利技术实施例提供一种路由表项下发方法、装置、设备及存储介质,方法包括:接收待下发的路由表项,并获取当前活动哈希表指针ID指向的第一哈希表;根据所述第一哈希表的当前状态对所述路由表项进行存储;对所述第一哈希表进行轮询,以判断所述哈希表是否满足下发要求;当所述哈希表满足下发要求时,更新当前活动哈希表指针ID以指向新的第二哈希表,并将所述第一哈希表内的路由表项下发至硬件转发部件。本发明专利技术实施例中,路由表项的缓存和路由表项的下发采用两个独立的任务,可以将路由的缓存和下发并行起来,有效提高路由下发的效率,可有效提高网络设备的稳定性。高网络设备的稳定性。高网络设备的稳定性。

【技术实现步骤摘要】
一种路由表项下发方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,具体而言,涉及一种路由表项下发方法、装置、设备及存储介质。

技术介绍

[0002]在大型或者超大型数据中心网络中,通常需要支持大量的服务器或者虚拟机。在该组网应用场景中,对路由表项的规格提出了要求,通常要网络设备支持几十K到几百K的路由表项规格需求。在大规格路由应用场景中,同样有对路由表项的快速可靠下发的性能需求。
[0003]常规的网络设备框架如图1所示,路由表项下发实现在硬件转发部件中,网络设备的硬件转发部件可以由ASIC(Application Specific Integrated Circuit,专用集成电路芯片)网络转发芯片、NP(NetworkProcessor)网络处理器、DPU(Data Processing Unit)数据处理器、或FPGA(Field Programmable Gate Array,现场可编程门阵列)等充当。硬件转发部件通过PCI

E总线与CPU连接。
[0004]传统的路由下发采用逐条下发路由的方案,路由下发的效率与路由的条目数S正相关,时间复杂度为O(S),但这种方案涉及到频繁的PCI

E总线的调用,影响路由下发的效率。为此,可通过累积缓存表项的方法,待积累到X条路由后,统一调用路由批量下发接口将路由下发到硬件转发部件,如此,可将路由下发的效率优化到O(S/X)。
[0005]然而,累积缓存表项的方法采用单线程串行进行,在调用接口配置硬件转发部件时,只能采用写等待的方案,只有转发硬件的写操作完成后,才可以进行后续的表项下发操作,仍然存在下发效率低的问题。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种路由表项下发方法、装置、设备及介质,以改善上述问题。
[0007]本专利技术实施例提供了一种路由表项下发方法,其包括:
[0008]接收待下发的路由表项,并获取当前活动哈希表指针ID指向的第一哈希表;
[0009]根据所述第一哈希表的当前状态对所述路由表项进行存储;
[0010]对所述第一哈希表进行轮询,以判断所述哈希表是否满足下发要求;
[0011]当所述哈希表满足下发要求时,更新当前活动哈希表指针ID以指向新的第二哈希表,并将所述第一哈希表内的路由表项下发至硬件转发部件。
[0012]优选地,当判断所述第一哈希表存满时,将自身阻塞。
[0013]优选地,根据所述第一哈希表的当前状态对所述路由表项进行存储具体包括:
[0014]获取路由缓存表信号量;
[0015]根据所述路由缓存表信号量判断所述第一哈希表当前是否空闲;
[0016]若是,则将所述路由表项缓存到所述第一哈希表后释放所述路由缓存表信号量;
[0017]若否,则在等待路由缓存表信号量被释放后将所述路由表项缓存到所述第一哈希表。
[0018]优选地,对所述第一哈希表进行轮询,以判断所述哈希表是否满足下发要求以及当所述哈希表满足下发要求时,更新当前活动哈希表指针ID以指向新的第二哈希表,并将所述第一哈希表内的路由表项下发至硬件转发部件,具体包括:
[0019]获取路由缓存表信号量;
[0020]根据所述路由缓存表信号量判断所述第一哈希表当前是否满足下发要求;
[0021]若不满足,则释放所述路由缓存表信号量后延时设定时间;
[0022]若满足,则更新当前活动哈希表指针ID后,释放所述路由缓存表信号量;
[0023]判断所述第一哈希表是否存满;
[0024]若存满,则释放所述路由缓存表信号量,并将所述第一哈希表内的路由表项下发至硬件转发部件;
[0025]若未存满,则将所述第一哈希表内的路由表项下发至硬件转发部件。
[0026]本专利技术实施例还提供了一种路由表项下发装置,其包括:
[0027]接收单元,用于接收待下发的路由表项,并获取当前活动哈希表指针ID指向的第一哈希表;
[0028]缓存单元,用于根据所述第一哈希表的当前状态对所述路由表项进行存储;
[0029]轮询单元,用于对所述第一哈希表进行轮询,以判断所述第一哈希表是否满足下发要求;
[0030]下发单元,用于当所述第一哈希表满足下发要求时,更新当前活动哈希表指针ID以执行第二哈希表,并将所述第一哈希表内的路由表项下发至硬件转发部件。
[0031]优选地,当判断所述第一哈希表存满时,将自身阻塞。
[0032]优选地,缓存单元具体用于:
[0033]获取路由缓存表信号量;
[0034]根据所述路由缓存表信号量判断所述第一哈希表当前是否空闲;
[0035]若是,则将所述路由表项缓存到所述第一哈希表后释放所述路由缓存表信号量;
[0036]若否,则在等待路由缓存表信号量被释放后将所述路由表项缓存到所述第一哈希表。
[0037]优选地,下发单元具体用于:
[0038]获取路由缓存表信号量;
[0039]根据所述路由缓存表信号量判断所述第一哈希表当前是否满足下发要求;
[0040]若不满足,则释放所述路由缓存表信号量后延时设定时间;
[0041]若满足,则更新当前活动哈希表指针ID后,释放所述路由缓存表信号量;
[0042]判断所述第一哈希表是否存满;
[0043]若存满,则释放所述路由缓存表信号量,并将所述第一哈希表内的路由表项下发至硬件转发部件;
[0044]若未存满,则将所述第一哈希表内的路由表项下发至硬件转发部件。
[0045]本专利技术实施例还提供了一种路由表项下发设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的路
由表项下发方法。
[0046]本专利技术实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上述的路由表项下发方法。
[0047]综上所述,本专利技术实施例中,路由表项的缓存和路由表项的下发采用两个独立的任务,可以将路由的缓存和下发并行起来,有效提高路由下发的效率,可有效提高网络设备的稳定性。
附图说明
[0048]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0049]图1示出了常规的网络设备框架示意图。
[0050]图2为本专利技术第一实施例提供的路由表项下发方法的流程示意图。
[0051]图3为路由双哈希表缓存方案的原理图。
[0052]图4为路由表项缓存的具体流程图。
[0053]图5为路由表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种路由表项下发方法,其特征在于,包括:接收待下发的路由表项,并获取当前活动哈希表指针ID指向的第一哈希表;根据所述第一哈希表的当前状态对所述路由表项进行存储;对所述第一哈希表进行轮询,以判断所述哈希表是否满足下发要求;当所述哈希表满足下发要求时,更新当前活动哈希表指针ID以指向新的第二哈希表,并将所述第一哈希表内的路由表项下发至硬件转发部件。2.根据权利要求1所述的路由表项下发方法,其特征在于,当判断所述第一哈希表存满时,将自身阻塞。3.根据权利要求1所述的路由表项下发方法,其特征在于,根据所述第一哈希表的当前状态对所述路由表项进行存储具体包括:获取路由缓存表信号量;根据所述路由缓存表信号量判断所述第一哈希表当前是否空闲;若是,则将所述路由表项缓存到所述第一哈希表后释放所述路由缓存表信号量;若否,则在等待路由缓存表信号量被释放后将所述路由表项缓存到所述第一哈希表。4.根据权利要求1所述的路由表项下发方法,其特征在于,对所述第一哈希表进行轮询,以判断所述哈希表是否满足下发要求以及当所述哈希表满足下发要求时,更新当前活动哈希表指针ID以指向新的第二哈希表,并将所述第一哈希表内的路由表项下发至硬件转发部件,具体包括:获取路由缓存表信号量;根据所述路由缓存表信号量判断所述第一哈希表当前是否满足下发要求;若不满足,则释放所述路由缓存表信号量后延时设定时间;若满足,则更新当前活动哈希表指针ID后,释放所述路由缓存表信号量;判断所述第一哈希表是否存满;若存满,则释放所述路由缓存表信号量,并将所述第一哈希表内的路由表项下发至硬件转发部件;若未存满,则将所述第一哈希表内的路由表项下发至硬件转发部件。5.一种路由表项下发装置,其特征在于,包括:接收单元,用于接收待下发的路由表项,并获取当前活动哈希表指针ID指向的第一哈希表;缓存...

【专利技术属性】
技术研发人员:邢家茂李贯中杨杰樊立鹏姚沛陈清华
申请(专利权)人:杭州云合智网技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1