用于快速复位设备的方法和装置的制作方法

文档序号:6358981阅读:75来源:国知局
专利名称:用于快速复位设备的方法和装置的制作方法
技术领域
本发明涉及用于快速复位设备的方法和装置。
背景技术
现在的大部分网络设备通常采用数据面和控制面分离的方式来进行报文处理。通常,为了实现数据面和控制面的分离,这些网络设备使用两个处理器来分别处理数据面的报文和控制面的报文。在工作过程中,网络设备的各个处理器难免会出现异常。当网络设备的任何一个处理器出现异常时,网络设备都需要中断业务并进行复位以消除所出现的异常。当网络设备复位时,网络设备对各个处理器逐一依次进行复位。按照这种复位方式,与仅具有单个处理器的网络设备相比,具有多个处理器的网络设备的复位需要花费更多的时间。为了给用户提供更好的通信体验,通信运营商对网络设备的设备故障率具有越来越严格的要求。通常,通信运营商对大部分网络设备的设备故障率要求小于0. 99999,有的网络设备的故障率甚至要求小于0. 9999999。按照故障率小于0. 99999的要求,一个网络设备在每月的业务中断时间应小于22秒。然而,具有多个处理器的网络设备从开始复位到复位完成一般都需要几分钟的时间,这远远不能满足通信运营商对网络设备的设备故障率的要求。

发明内容
考虑到现有技术的上述问题,本发明的实施例提出一种用于快速复位设备的方法和装置,其可以对设备进行快速复位,从而有效地减少设备复位所需的时间。按照本发明实施例的一种用于快速复位设备的方法,包括步骤当所述设备的多个处理器的其中一个处理器出现异常时,仅对所述出现异常的处理器进行复位。按照本发明实施例的一种用于快速复位设备的装置,包括复位模块,用于当所述设备的多个处理器的其中一个处理器出现异常时,仅对所述出现异常的处理器进行复位。由于仅对设备中出现异常的处理器进行复位,而不是对设备中的所有处理器都进行复位,所以与现有技术相比,本发明有效地减少了设备复位所需的时间,加快了设备复位的过程。


本发明的其它特点、优点和益处通过以下结合附图的详细描述将变得更加显而易见。其中图1示出了按照本发明实施例一的对网络设备进行快速复位的方法流程图;图2示出了按照本发明实施例二的对网络设备进行快速复位的方法流程图;以及图3示出了按照本发明一个实施例的用于快速复位设备的装置。
具体实施例方式本发明的实施例提供一种用于快速复位设备的方案,其可以对设备进行快速复位。按照该方案,当设备的多个处理器的其中一个处理器出现异常(例如,软失效、Dcache、 Icache等)时,仅对该出现异常的处理器进行复位,其它没有出现异常的处理器并不进行复位,从而有效地减少了设备复位所需的时间,达到了对设备进行快速复位的目的。下面,在详细描述本发明的各个实施例之前,首先简单介绍具有控制面处理器和数据面处理器的网络设备的常规启动和复位。网络设备通常使用VxWorks操作系统作为其操作系统。Vxfforks是一种灵活的、可裁剪的嵌入式实时操作系统。用户可以根据需要创建自己的VxWorks映像,其包括代码段、 数据段和 BSS (Block Started by Symbol segment)段。根据应用场合的不同,Vxfforks映像可以分为三种类型可加载的VxWorks映像、 基于R0M(只读存储器)的VxWorks映像和驻留ROM的VxWorks映像。不同类型的VxWorks映像使用不同的启动代码(B00TR0M),但所有的启动代码都放置在ROM中。其中,用于可加载的VxWorks映像的启动代码包括起始引导程序(Bootstrap Programs)和ROM引导程序(ROM Boot Programs),用于基于ROM的VxWorks映像的启动代码包括起始引导程序和基于ROM的VxWorks映像,以及驻留ROM的VxWorks映像的启动代码包括起始引导程序和驻留ROM的VxWorks映像。根据所采用的启动代码不同,网络设备的常规启动和复位也会有所不同。如果网络设备采用用于可加载的VxWorks映像的启动代码,则当网络设备进行常规的启动或复位时,网络设备的控制面处理器和数据面处理器按照如下步骤依次进行启动或复位(即首先控制面处理器进行启动或复位,然后在控制面处理器启动或复位完成后, 数据面处理器进行启动或复位)首先执行放置在网络设备的ROM中的启动代码所包括的起始引导程序的指令,以将启动代码所包括的ROM引导程序从网络设备的ROM搬移到网络设备的RAM(随机存取存储器);然后,执行已搬移到RAM的ROM引导程序的指令,以从网络口或串口将VxWorks映像(包括代码段、数据段和BSS段)下载到网络设备的RAM ;最后, 执行已下载到网络设备的RAM中的VxWorks映像的代码段的指令,以对下载到网络设备的 RAM中的VxWorks映像的BSS段清零和执行系统初始化操作。如果网络设备采用用于基于ROM的VxWorks映像的启动代码,则当网络设备启动或复位时,网络设备的控制面处理器和数据面处理器按照如下步骤依次进行启动或复位 首先执行放置在网络设备的ROM中的启动代码所包括的起始引导程序的指令,以将启动代码中所包括的VxWorks映像(包括代码段、数据段和BSS段)从网络设备的ROM搬移到网络设备的RAM ;然后,执行已搬移到网络设备的RAM中的VxWorks映像的代码段的指令,以对搬移到网络设备的RAM中的VxWorks映像的BSS段清零和执行系统初始化操作。如果网络设备采用用于驻留ROM的VxWorks映像的启动代码,则当网络设备启动或复位时,网络设备的控制面处理器和数据面处理器按照如下步骤依次进行启动或复位 首先执行放置在网络设备的ROM中的启动代码所包括的起始引导程序的指令,以将启动代码中所包括的VxWorks映像的数据段和BSS段从网络设备的ROM搬移到网络设备的RAM ; 然后执行网络设备的ROM中的VxWorks映像的代码段的指令,以对已搬移到网络设备的RAM 中的VxWorks映像的BSS段清零和执行系统初始化操作。
下面,以网络设备为例,结合附图详细描述本发明的各个实施例。现在参考图1,其示出了按照本发明实施例一的对网络设备进行快速复位的方法流程图。这里,假设网络设备具有用于控制面处理的控制面处理器和用于数据面处理的数据面处理器。如图1所示,在步骤SllO中,当网络设备的控制面处理器和数据面处理器的其中一个处理器C出现异常时,仅对处理器C进行常规复位。由于上面已经描述了常规复位的过程,所以这里省略了对处理器C进行常规复位的详细描述。从实施例一可以看出,由于只对网络设备中出现异常的处理器进行复位,而其它没有出现异常的处理器并不进行复位,从而有效地减少了网络设备复位所需的时间,达到了对网络设备进行快速复位的目的。参考图2,图2其示出了按照本发明实施例二的对网络设备进行快速复位的方法流程图。与上述实施例一相比,在本实施例二中,也是仅对网络设备中出现异常的处理器进行复位,但是所进行的复位不是常规复位,而是对常规复位进行裁剪后的复位,以进一步减少网络设备复位所需的时间。这里,假设网络设备采用用于基于ROM的VxWorks映像的启动代码。在本实施例二中,当网络设备每次进行常规启动和复位时,在网络设备的每一个处理器将VxWorks映像的代码段和数据段从网络设备的ROM搬移到网络设备的RAM后,已搬移到网络设备的RAM的VxWorks映像的代码段被设置为只读的,以将其保护起来,同时已搬移到网络设备的RAM的VxWorks映像的数据段被备份。如图2所示,在步骤S210,当网络设备的控制面处理器和数据面处理器中的其中一个处理器P出现异常时,促使处理器P对网络设备的RAM所存储的处理器P与网络设备的另一处理器交互的数据进行备份。在步骤S220,促使处理器P跳过位于在网络设备的ROM中的启动代码所包括的起始引导程序的指令,直接从位于网络设备的RAM中的VxWorks映像的代码段的第一个指令开始执行。其中,位于网络设备的RAM中的VxWorks映像的代码段是上一次网络设备进行常规启动或复位时被加载到网络设备的RAM中的。 在步骤S230,在VxWorks映像的代码段中用于对网络设备的RAM所存储的 Vxfforks映像的BSS段进行清零的指令被处理器P执行后,促使处理器P利用网络设备的上一次常规启动或复位时所备份的VxWorks映像的数据段,来覆盖网络设备的RAM中的 Vxfforks映像的数据段。在步骤S240,在VxWorks映像的代码段中用于进行系统初始化的指令被处理器P 执行时,促使处理器P跳过用于对网络设备的外围芯片进行初始化的指令。在步骤S250,在VxWorks映像的代码段中用于进行系统初始化的指令被处理器P 执行后,促使处理器P在网络设备的RAM中恢复所备份的处理器P与网络设备的另一处理器所交互的数据。从上面的描述可以看出,在实施例二中,不但仅对网络设备中出现异常的处理器进行复位,而且该出现异常的处理器的复位并不执行将VxWorks映像从网络设备的ROM加载到网络设备的RAM的过程,而是直接从上一次网络设备进行常规启动或复位时已加载到网络设备的RAM中的VxWorks映像的代码段的第一个指令开始执行,并且跳过用于对网络设备的外围芯片进行初始化的指令,因此,与实施例一的方案相比,采用实施例二的技术方案,网络设备的复位更加快速。本领域技术人员应当理解,本实施例二的技术方案也可以应用到采用用于可加载的VxWorks映像的启动代码和用于驻留ROM的VxWorks映像的启动代码的网络设备。在网络设备采用用于驻留ROM的VxWorks映像的启动代码的情况下,Vxfforks映像的代码段位于网络设备的ROM中,而不是位于网络设备的RAM中。本领域技术人员应当理解,在实施例二中,当确保在对网络设备进行快速复位时不会对网络设备的RAM中的VxWorks映像的数据段修改的情况下,也可以不需要对已搬移到网络设备的RAM的VxWorks映像的数据段进行备份以及利用所备份的VxWorks映像的数据段来覆盖网络设备的MM中的VxWorks映像的数据段。本领域技术人员应当理解,在实施例二中,当在对网络设备进行快速复位时网络设备的RAM所存储的处理器P与网络设备的另一处理器交互的数据不会被修改的情况下, 也可以不需要对网络设备的RAM所存储的处理器P与网络设备的另一处理器交互的数据进行备份以及在系统初始化后恢复该备份的数据。本领域技术人员应当理解,虽然在实施例二中,在系统初始化时跳过了用于对网络设备的外围芯片进行初始化的指令,但是本发明并不局限于此。在本发明的其它实施例中,也可以在系统初始化时执行用于对网络设备的外围芯片进行初始化的指令。在这种情况下,该技术方案与实施例二相比复位速度会慢一些,但是与现有技术和实施例一相比,复位速度仍然会快很多。本领域技术人员应当理解,本发明的各个实施例所公开的技术方案不但适用于具有两个处理器的网络设备,也适用于具有两个以上处理器的网络设备。本领域技术人员应当理解,本发明的各个实施例所公开的技术方案不但适用于网络设备,也适用于具有多个处理器的其它设备。本领域技术人员应当理解,本发明的各个实施例所公开的技术方案不但适用于 Vxfforks操作系统,也适用于其它类型的操作系统。参考图3,其示出了按照本发明一个实施例的用于快速复位设备的装置。如图3所示,用于快速复位设备的装置300包括复位模块310,用于当设备的多个处理器的其中一个处理器出现异常时,仅对该出现异常的处理器进行复位。其中,复位模块310可以进一步包括执行模块,用于在对该出现异常的处理器进行复位时,促使该出现异常的处理器直接从操作系统映像的代码段的第一个指令开始执行。其中,复位模块310还可以包括覆盖模块,用于在该操作系统映像的代码段中用于对该操作系统映像的BSS段进行清零的指令被该出现异常的处理器执行后,促使该出现异常的处理器使用以前备份的该操作系统映像的数据段来覆盖该设备的随机存取存储器所存储的该操作系统映像的数据段,其中,该以前备份的该操作系统映像的数据段可以是在该设备的上一次常规启动或复位时对从该设备的只读存储器搬移到该随机存取存储器的该操作系统映像的数据段进行备份而得到的。其中,复位模块310还可以包括备份模块和恢复模块,其中,备份模块用于在促使该出现异常的处理器直接从该操作系统映像的代码段的第一个指令开始执行之前,促使该出现异常的处理器备份该随机存取存储器所存储的该出现异常的处理器与该多个处理器的其它处理器交互的数据,恢复模块用于在该操作系统映像的代码段中用于进行系统初始化的指令被该出现异常的处理器执行之后,促使该出现异常的处理器在该随机存取存储器中恢复所备份的该出现异常的处理器与该其它处理器交互的数据。其中,复位模块310还可以包括跳过模块,用于在该操作系统映像的代码段中用于进行系统初始化的指令被该出现异常的处理器执行时,促使该出现异常的处理器跳过用于对该设备的外围芯片进行初始化的指令。其中,该设备可以是网络设备,该多个处理器可以包括用于控制面处理的处理器和用于数据面处理的处理器。本领域技术人员应当理解,装置300中的各个模块可以利用软件、硬件或者软硬件结合的方式来实现。本发明实施例还提供机器可读存储介质,其存储机器可执行指令,当该机器可执行指令被执行时使得机器执行一种用于快速复位设备的方法,其包括以下步骤当该设备的多个处理器的其中一个处理器出现异常时,仅对该出现异常的处理器进行复位。其中,该复位步骤可以进一步包括在对该出现异常的处理器进行复位时,促使该出现异常的处理器直接从操作系统映像的代码段的第一个指令开始执行。其中,该复位步骤还可以包括在该操作系统映像的代码段中用于对该操作系统映像的BSS段进行清零的指令被该出现异常的处理器执行后,促使该出现异常的处理器使用以前备份的该操作系统映像的数据段来覆盖该设备的随机存取存储器所存储的该操作系统映像的数据段,其中,该以前备份的该操作系统映像的数据段可以是在该设备的上一次常规启动或复位时对从该设备的只读存储器搬移到该随机存取存储器的该操作系统映像的数据段进行备份而得到的。其中,该复位步骤还可以包括在促使该出现异常的处理器直接从该操作系统映像的代码段的第一个指令开始执行之前,促使该出现异常的处理器备份该随机存取存储器所存储的该出现异常的处理器与该多个处理器的其它处理器交互的数据;在该操作系统映像的代码段中用于进行系统初始化的指令被该出现异常的处理器执行之后,促使该出现异常的处理器在该随机存取存储器中恢复所备份的该出现异常的处理器与该其它处理器交互的数据。其中,该复位步骤还可以包括在该操作系统映像的代码段中用于进行系统初始化的指令被该出现异常的处理器执行时,促使该出现异常的处理器跳过用于对该设备的外围芯片进行初始化的指令。其中,该设备可以是网络设备,该多个处理器可以包括用于控制面处理的处理器和用于数据面处理的处理器。本领域技术人员应当理解,本发明的各个实施例所公开的技术方案可以在不偏离发明实质的情况下做出各种变形和改变,并且这些变形和改变都应当落入在本发明的保护范围内。因此,本发明的保护范围由所附的权利要求书来定义。
权利要求
1.一种用于快速复位设备的方法,包括步骤当所述设备的多个处理器的其中一个处理器出现异常时,仅对所述出现异常的处理器进行复位。
2.如权利要求1所述的方法,其中,所述复位步骤进一步包括在对所述出现异常的处理器进行复位时,促使所述出现异常的处理器直接从操作系统映像的代码段的第一个指令开始执行。
3.如权利要求2所述的方法,其中,所述复位步骤还包括在所述操作系统映像的代码段中用于对所述操作系统映像的BSS段进行清零的指令被所述出现异常的处理器执行后,促使所述出现异常的处理器使用以前备份的所述操作系统映像的数据段来覆盖所述设备的随机存取存储器所存储的所述操作系统映像的数据段, 其中,所述以前备份的所述操作系统映像的数据段是在所述设备的上一次常规启动或复位时对从所述设备的只读存储器搬移到所述随机存取存储器的所述操作系统映像的数据段进行备份而得到的。
4.如权利要求2-3的任何一个权利要求所述的方法,其中,所述复位步骤还包括 在促使所述出现异常的处理器直接从所述操作系统映像的代码段的第一个指令开始执行之前,促使所述出现异常的处理器备份所述随机存取存储器所存储的所述出现异常的处理器与所述多个处理器的其它处理器交互的数据;在所述操作系统映像的代码段中用于进行系统初始化的指令被所述出现异常的处理器执行之后,促使所述出现异常的处理器在所述随机存取存储器中恢复所备份的所述出现异常的处理器与所述其它处理器交互的数据。
5.如权利要求2-4的任意一个权利要求所述的方法,其中,所述复位步骤还包括 在所述操作系统映像的代码段中用于进行系统初始化的指令被所述出现异常的处理器执行时,促使所述出现异常的处理器跳过用于对所述设备的外围芯片进行初始化的指令。
6.如权利要求1-5的任意一个权利要求所述的方法,其中, 所述设备是网络设备,所述多个处理器包括用于控制面处理的处理器和用于数据面处理的处理器。
7.一种用于快速复位设备的装置,包括复位模块,用于当所述设备的多个处理器的其中一个处理器出现异常时,仅对所述出现异常的处理器进行复位。
8.如权利要求7所述的装置,其中,所述复位模块进一步包括执行模块,用于在对所述出现异常的处理器进行复位时,促使所述出现异常的处理器直接从操作系统映像的代码段的第一个指令开始执行。
9.如权利要求8所述的装置,其中,所述复位模块还包括覆盖模块,用于在所述操作系统映像的代码段中用于对所述操作系统映像的BSS段进行清零的指令被所述出现异常的处理器执行后,促使所述出现异常的处理器使用以前备份的所述操作系统映像的数据段来覆盖所述设备的随机存取存储器所存储的所述操作系统映像的数据段,其中,所述以前备份的所述操作系统映像的数据段是在所述设备的上一次常规启动或复位时对从所述设备的只读存储器搬移到所述随机存取存储器的所述操作系统映像的数据段进行备份而得到的。
10.如权利要求8-9的任意一个权利要求所述的装置,其中,所述复位模块还包括备份模块,用于在促使所述出现异常的处理器直接从所述操作系统映像的代码段的第一个指令开始执行之前,促使所述出现异常的处理器备份所述随机存取存储器所存储的所述出现异常的处理器与所述多个处理器的其它处理器交互的数据;恢复模块,用于在所述操作系统映像的代码段中用于进行系统初始化的指令被所述出现异常的处理器执行之后,促使所述出现异常的处理器在所述随机存取存储器中恢复所备份的所述出现异常的处理器与所述其它处理器交互的数据。
11.如权利要求8-10的任意一个权利要求所述的装置,其中,所述复位模块还包括 跳过模块,用于在所述操作系统映像的代码段中用于进行系统初始化的指令被所述出现异常的处理器执行时,促使所述出现异常的处理器跳过用于对所述设备的外围芯片进行初始化的指令。
12.如权利要求8-11的任意一个权利要求所述的装置,其中, 所述设备是网络设备,所述多个处理器包括用于控制面处理的处理器和用于数据面处理的处理器。
13.一种机器可读存储介质,其存储机器可执行指令,当所述机器可执行指令被执行时使得机器执行权利要求1-6的任何一个权利要求中的步骤。
全文摘要
本发明涉及一种用于快速复位设备的方法和装置,其中,该方法包括步骤当设备的多个处理器的其中一个处理器出现异常时,仅对所述其中一个处理器进行复位。利用该方法和装置,能够有效地减少了设备复位所需的时间,加快了设备复位的过程。
文档编号G06F11/00GK102308284SQ201180001255
公开日2012年1月4日 申请日期2011年7月1日 优先权日2011年7月1日
发明者胡海峰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1