一种热升级网络处理器的方法及装置的制作方法

文档序号:7971930阅读:97来源:国知局
专利名称:一种热升级网络处理器的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种热升级网络处理器的方法及装置。
背景技术
随着交互式网络分析(Internet)从科研向商业应用的转变,网络用户迅猛增加,各种类型的应用共存在一个物理网络上,网络节点的处理能力、服务质量(QoS)的保障和网络带宽逐渐成为Internet继续发展的主要障碍。但是,随着光传输技术的发展,传输带宽不再成为网络的瓶颈,而网络交换节点的处理能力显得尤为重要。
为了满足网络日新月异的变化,千兆比特路由器(GSR)和百万兆比特路由器(TSR)应运而生,这些高端路由器采用大容量交换结构和硬件高速转发技术,大大提高了报文转发速度。作为这些设备交换核心的网络处理器(NPNetwork Processor)也得到了迅猛的发展和应用。
所述网络处理器是一种可编程器件,是路由器设备的大脑,它应用于通信领域的各种任务,比如数据包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS。
随着新技术的不断推出,以及用户对NP功能上不断提出的新要求,NP需要不断的升级,即用新的运行指令更新旧的指令,来满足用户的要求以及实现新的技术。那么,在骨干网上正在运行业务的路由器中的NP,如何在不中断业务的情况下,实现路由器中NP的热升级成为目前研究的重点。
在现有的技术中,使用修改指令跳转技术来对骨干网上正在运行业务的路由器中的NP进行热升级,这种技术的基本原理是把新增加的指令放到微码指令空间的空闲区的尾部,并把要修改的指令替换成跳转到新增微码的指令地址。
当采用现有技术中的方法进行升级时,需要对微码非常熟悉,也需要对整个NP的相关寄存器等资源很熟悉,并且需要防止升级时对NP内部资源的覆盖,而且,这种方法只适合修改小量的指令代码。如果采用这种方法修改一个软件漏洞(bug)时,需要在原来的代码不连续的地方同时都需要跳转,这就有可能导致更新不同步,造成微码处理有问题,同时,这种方法还会造成指令空间的浪费。

发明内容
本发明的目的是提供一种热升级网络处理器的方法及装置,从而使网络处理器在不中断业务的情况下进行热升级。
本发明的目的是通过以下技术方案实现的本发明提供了一种热升级网络处理器的方法,包括将网络处理器中需要升级的引擎设置为无报文处理状态;使用升级后的业务模块指令更新所述引擎中旧的业务模块指令。
所述将网络处理器中需要升级的引擎设置为无报文处理状态的过程包括将网络处理器中需要升级的引擎设定为不接收报文状态,并在所述设定结束后,延迟一段时间,使所述引擎处于无报文处理状态。
所述将网络处理器中需要升级的引擎设定为不接收报文状态的方法包括由网络处理器中通用中央处理器对网络处理器的上行线路进行链路级反压。
所述的方法中还包括若通用中央处理器在将网络处理器中需要升级的引擎设置为无报文处理状态之前有报文发送给网络服务器,则通用中央处理器停止向网络处理器发送所述报文。
所述的方法中还包括在所述使用升级后的业务模块指令更新所述引擎中旧的业务模块指令后,解除网络处理器中引擎的无报文处理状态,恢复网络处理器正常操作。
本发明还提供了一种热升级网络处理器的装置,包括设置单元,用于将网络处理器中需要升级的引擎设置为无报文处理状态;更新单元,用于所述设置单元完成设置后,使用升级后的业务模块指令更新所述引擎中旧的业务模块指令,完成网络处理器的升级。
所述的装置中还包括恢复单元,用于在所述更新单元完成更新后,解除网络处理器中引擎的无报文处理状态,恢复网络处理器正常操作。
所述的设置单元具体包括状态设定模块,用于将网络处理器中需要升级的引擎设定为不接收报文状态;时间延迟模块,用于在所述状态设定模块完成设定后,延迟一段时间,确保网络处理器中需要升级的引擎为无报文处理状态。
由上述本发明提供的技术方案可以看出,本发明提供了一种可靠、简单、实用的网络处理器热升级的方法及装置,从而使网络处理器在不中断业务的情况下实现热升级。而且,本发明的实现过程稳定、可靠,适用范围广泛。本发明的实现还能够满足大量业务模块代码的修改,提高了路由器的可靠性和稳定性,保证电信级业务的正常运行。


图1为本发明实施例的热升级网络处理器的方法流程图;图2为本发明实施例的热升级网络处理器的装置示意图;图3为本发明实施例的设置单元的具体结构示意图。
具体实施例方式
本发明的实施例通过对网络处理器(NP)中需要升级的引擎进行设置,从而提出了以一种热升级网络处理器的方法,使NP在不中断业务的情况下,实现热升级。
本发明的实施例通过将NP中需要升级的引擎设置为无报文处理状态;并且在所述引擎处于无报文处理状态下,使用升级后的业务模块指令更新所述引擎中旧的业务模块指令,并在完成升级后,恢复NP正常操作。
具体一点讲,本发明实施例可以通过技术手段,使NP中需要升级的引擎不会再接收到报文,并且为了保证所述引擎中的业务处理模块发送完所有剩余报文,在通过技术手段使NP中需要升级的引擎不接收报文后,再延迟一段时间,以便NP中需要升级的引擎完全处于无报文处理状态,然后,使用升级的业务模块指令更新所述引擎中业务模块的指令空间,并在完成更新升级后,解除网络处理器中引擎的无报文处理状态,恢复网络处理器正常操作。
为了便于对本发明实施例的理解,下面将本发明所述方法分成三个阶段,并结合本发明实施例的热升级网络处理器的方法流程图(如图1所示),对本发明实施例的具体实现过程进行详细的说明,具体包括1、设置阶段目前,对于NP升级的思想是尽可能的少使用NP资源,即让NP处于最简单的状态下;尽可能确定升级的时候要执行的是哪些指令;升级的时候,还必须要考虑业务流程的不同性及广泛性,以扩大其适用范围。
而NP处于最简单的状态就是引擎在没有任何报文需要处理的时候,因为这个时候引擎会处于对报文的轮询状态或者等待被激活状态,在这种状态下使用NP资源最少,相关NP的状态也是最明确。
所以只要设法让NP中需要升级的引擎处于没有任何报文需要处理的状态下,然后让通用中央处理器(CPU)直接使用升级后的业务模块指令,把业务指令空间刷新就可以了。
基于所述NP升级思想,本发明采用技术手段,使NP中需要升级的引擎不再接收报文,所述技术手段可以采用对NP上行进行链路级反压,但并不限于这一种方法,还可以使用其它技术手段,比如通过重新设置端口,使所述端口不再接收报文,也能达到同样的效果。这样就可以保证所述引擎不会再收到报文。
所述对NP上行进行链路级反压的操作,可以由路由器内通用CPU控制。
虽然通过技术手段,使所述引擎不会再收到报文,但所述引擎中的业务处理模块内可能还存有在所述引擎处于不接收报文状态之前收到的报文没有发送出去,为了将所述引擎中业务处理模块内可能还存有的剩余报文完全发送出去,所以,在通过技术手段使NP中需要升级的引擎不接收报文后,可以再延迟一段时间,以便于所述引擎将所述剩余的报文完全发送出去,使NP中需要升级的引擎完全处于无报文处理状态。所述的延迟时间可视不同升级情况进行不同设定,比如1ms。
此阶段中还包括,若在NP中需要升级的引擎处于无报文处理状态之前,路由器内通用CPU正在将报文发送给NP,则通用CPU停止发送所述报文给NP。
2、更新阶段在NP中需要升级的引擎处于无报文处理状态后,使用升级的业务模块指令更新所述引擎中业务模块的指令空间。
3、恢复阶段在所述更新阶段完成后,撤销设置阶段对所述引擎的影响,解除NP中升级后的引擎的无报文处理状态,恢复网络处理器正常操作。
此阶段还包括,若在设置阶段暂停通用CPU向NP发送报文,则在此阶段恢复通用CPU向NP发送报文。
本发明所述方法的实施例的实现,具有下列优点1、该方法与具体NP无关,适用多种NP;2、与具体业务流程无关,使用NP的数据通讯产品可以采用此方法升级,使用NP的无线产品也可以采用此方法升级;3、不需要对微码机器码了解,也不需要对整个NP的相关寄存器等资源很熟悉;4、不需要防止新增业务对NP内部有用资源的覆盖;5、能满足大量业务模块代码的修改;6、可靠性,可服务性高;7、不会浪费一条指令,因为没有补丁区概念,也没有因为打补丁需要额外增加的跳转;8、能实现新增微码新特性升级。
本发明还提供了一种热升级网络处理器的装置,所述装置示意图如图2所示。所述装置具体包括(1)设置单元,用于将网络处理器中需要升级的引擎设置为无报文处理状态。
(2)更新单元,用于在所述设置单元完成设置后,使用升级后的业务模块指令更新所述引擎中旧的业务模块指令,完成网络处理器的升级。
(3)恢复单元,用于在所述更新单元完成更新后,解除网络处理器中引擎的无报文处理状态,恢复网络处理器正常操作。
其中,所述设置单元的具体结构示意图如图3所示,所述设置单元具体可以包括状态设定模块,用于将网络处理器中需要升级的引擎设定为不接收报文状态;时间延迟模块,用于在所述状态设定模块完成设定后,延迟一段时间,确保网络处理器中需要升级的引擎为无报文处理状态。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种热升级网络处理器的方法,其特征在于,包括将网络处理器中需要升级的引擎设置为无报文处理状态;使用升级后的业务模块指令更新所述引擎中旧的业务模块指令。
2.根据权利要求1所述的方法,其特征在于,所述将网络处理器中需要升级的引擎设置为无报文处理状态的过程包括将网络处理器中需要升级的引擎设定为不接收报文状态,并在所述设定结束后,延迟一段时间,使所述引擎处于无报文处理状态。
3.根据权利要求2所述的方法,其特征在于,所述将网络处理器中需要升级的引擎设定为不接收报文状态的方法包括由网络处理器中通用中央处理器对网络处理器的上行线路进行链路级反压。
4.根据权利要求1所述的方法,其特征在于,所述的方法中还包括若通用中央处理器在将网络处理器中需要升级的引擎设置为无报文处理状态之前有报文发送给网络服务器,则通用中央处理器停止向网络处理器发送所述报文。
5.根据权利要求1所述的方法,其特征在于,所述的方法中还包括在所述使用升级后的业务模块指令更新所述引擎中旧的业务模块指令后,解除网络处理器中引擎的无报文处理状态,恢复网络处理器正常操作。
6.一种热升级网络处理器的装置,其特征在于,包括设置单元,用于将网络处理器中需要升级的引擎设置为无报文处理状态;更新单元,用于所述设置单元完成设置后,使用升级后的业务模块指令更新所述引擎中旧的业务模块指令,完成网络处理器的升级。
7.根据权利要求6所述的装置,其特征在于,所述的装置中还包括恢复单元,用于在所述更新单元完成更新后,解除网络处理器中引擎的无报文处理状态,恢复网络处理器正常操作。
8.根据权利要求6所述的装置,其特征在于,所述的设置单元具体包括状态设定模块,用于将网络处理器中需要升级的引擎设定为不接收报文状态;时间延迟模块,用于在所述状态设定模块完成设定后,延迟一段时间,确保网络处理器中需要升级的引擎为无报文处理状态。
全文摘要
本发明涉及一种热升级网络处理器的方法及装置。本发明中将网络处理器中需要升级的引擎设置为无报文处理状态,并且在完成设置后,使用升级后的业务模块指令更新所述引擎中旧的业务模块指令,从而使网络处理器在不中断业务的情况下实现热升级。而且,本发明的实现过程稳定、可靠,适用范围广泛。本发明的实现还能够满足大量业务模块代码的修改,提高了路由器的可靠性和稳定性,保证电信级业务的正常运行。
文档编号H04L12/04GK1968153SQ20061015041
公开日2007年5月23日 申请日期2006年10月25日 优先权日2006年10月25日
发明者朱建仪 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1