双主控设备启动方法、装置及双主控设备与流程

文档序号:16510744发布日期:2019-01-05 09:19阅读:344来源:国知局
双主控设备启动方法、装置及双主控设备与流程

本发明涉及数据网络通信领域,尤其是涉及到双主控设备启动方法、装置及双主控设备。



背景技术:

为了保证大型通讯设备的高可靠运行,行业内普遍采用的是对系统的控制板进行冗余配置,即一个系统有两个都可以担任控制核心的板卡,称为双主控设备,其中一张是控制板,负责整个系统的正常运作,另一张作为备份板卡,当控制板出现异常时,由备份板卡接替主控板卡的工作,实现系统安全可靠运行。

在双主控启动过程时,主用主控启动过程中,板载芯片完成初始化而进入工作状态,如果由于单板电源带负载能力弱,初始化还未结束,电源掉电导致单板重启,或者由于启动过程中的软件或者硬件故障导致单板重启。单板重启后,由于boot阶段工作的芯片不多或者版本启动较快,会存在某一块控制板总会竞争为主用的情况。这样另外一块主控虽然可以正常启动,但始终无法竞争为主,如果竞争为主用的控制板启动失败,从而导致双主控设备长时间无法启动,业务长时间中断。目前解决这种问题的方法是拔掉启动失败的控制板,或者禁止掉启动失败的控制板,或者人工干预,通过两个主控制单板的boot菜单,使得另一块控制板竞争为主用。人工干预启动设备,耗时长,效率低下,浪费人力,而且在外场情况下,很可能不能及时的安排熟悉的技术支持来人工干预启动设备。

针对相关技术中主控单板出现故障而导致设备长时间不能启动的问题,现有技术还未提出有效的解决方案。



技术实现要素:

本发明提供了双主控设备启动方法、装置及双主控设备,解决了相关技术中主控单板出现故障而导致设备长时间不能启动的问题。

根据本发明的一个方面,提供一种双主控设备启动方法,该双主控设备包括第一控制板和第二控制板,包括:在第一控制板作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板与第二控制板重新竞争主用控制板;在该第一控制板再次当选为主用控制板的情况下,将该第二控制板设置为主用控制板,其中,该主用控制板用于启动双主控设备。

进一步,将该第二控制板设置为主用控制板包括:在该第二控制板重启并延时第二时间阈值后,对该第一控制板进行重启。

进一步,将该第二控制板设置为主用控制板包括:在满足惩罚执行条件的情况下,该第一控制板失去当选为主用控制板的资格以使得该第二控制板竞争为主用控制板。

进一步,在该第一控制板失去当选为主用控制板的资格以使得该第二控制板竞争为主用控制板之前,该第一控制板判断是否满足惩罚执行条件;该第一控制板判断惩罚执行字段值是否为奇数;或该第一控制板判断惩罚执行字段值是否为偶数;将该惩罚执行字段值加1。

进一步,在该第一控制板判断是否满足惩罚执行条件之前,该第一控制板判断该惩罚执行字段值是否大于预设值;在判断结果为是的情况下,该第一控制板将该惩罚执行字段值置为初始值,其中,在该初始值为奇数的情况下,该预设值为偶数,在该初始值为偶数的情况下,该预设值为奇数。

进一步,该第二时间阈值被设置为惩罚执行字段值与预设值的乘积,该预设值小于等于该第二控制单板竞争为主用控制板所需时间。

进一步,该第一时间阈值大于等于该第一控制板竞争为主用控制板所需时间。

进一步,在该第二控制板重启成功并延时第二时间阈值后,禁止该第一控制板竞争主用控制板。

根据本发明的另一方面,提供一种双主控设备启动装置,该双主控设备包括第一控制板和第二控制板,包括:竞争模块,用于在第一控制板作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板与第二控制板重新竞争主用控制板;设置模块,用于在该第一控制板再次当选为主用控制板的情况下,将该第二控制板设置为主用控制板,其中,该主用控制板用于启动双主控设备。

根据本发明的另一方面,提供一种双主控设备,包括:包括第一控制板、第二控制板和业务板,该第一控制板和第二控制板竞争主用控制板,其特征在于:在第一控制板作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板与第二控制板重新竞争主用控制板;在该第一控制板再次当选为主用控制板的情况下,将该第二控制板设置为主用控制板,其中,该主用控制板用于启动双主控设备;该第二控制板作为主用控制板用于向该业务板发送版本信息;该业务板用于根据该接收到的该版本信息进行启动。

通过本发明,采用在第一控制板作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板与第二控制板重新竞争主用控制板;在该第一控制板再次当选为主用控制板的情况下,将该第二控制板设置为主用控制板,其中,该主用控制板用于启动双主控设备的技术方案,解决了相关技术中主控单板出现故障而导致设备长时间不能启动的问题,提升了系统的稳定性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的双主控设备启动方法的流程图;

图2是根据本发明实施例的双主控设备启动装置的结构框图;

图3是根据本发明实施例的双主控设备的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本实施例中提供了一种双主控设备启动方法、装置及双主控设备,图1是根据本发明实施例的双主控设备启动方法的流程图,如图1所示,该双主控设备包括第一控制板和第二控制板,该流程包括如下步骤:

步骤s102,在第一控制板作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板与第二控制板重新竞争主用控制板;

优选地,该第一时间阈值大于等于该第一控制板竞争为主用控制板所需时间。

步骤s104,在该第一控制板再次当选为主用控制板的情况下,将该第二控制板设置为主用控制板,其中,该主用控制板用于启动双主控设备。

可选地,通过在该第二控制板重启并延时第二时间阈值后对该第一控制板进行重启从而将第二控制板设置为主用控制板。

优选地,在满足惩罚执行条件的情况下,该第一控制板失去当选为主用控制板的资格以使得该第二控制板竞争为主用控制板。

可行地,该第一控制板判断是否满足惩罚执行条件可以为判断该第一控制板判断惩罚执行字段值是否为奇数;或该第一控制板判断惩罚执行字段值是否为偶数;将该惩罚执行字段值加1。

也即,根据惩罚执行字段值的奇偶校验结果判断第一控制板是否需要接受惩罚。一种可选实施例为当惩罚执行字段值为奇数的情况下,对该第一控制板进行惩罚,剥夺其当选为主用控制板的资格,以使得第二控制板当选为主用控制板。亦或者,在另一种可选实施例中当惩罚执行字段值为偶数的情况下,对该第一控制板进行惩罚,剥夺其当选为主用控制板的资格,以使得第二控制板当选为主用控制板。在每次对惩罚执行字段值进行奇偶校验判断后,对该惩罚执行字段值加1,以使得第一控制板不必连续接受惩罚或连续逃脱惩罚。

优选地,上述惩罚执行字段值存在取值空间[a,b]。该第一控制板判断该惩罚执行字段值是否大于预设值b;在判断结果为是的情况下,该第一控制板将该惩罚执行字段值置为初始值a,其中,在该初始值a为奇数的情况下,该预设值b为偶数,在该初始值为偶数a的情况下,该预设值b为奇数,以使得第一控制板不必连续接受惩罚或连续逃脱惩罚。

优选地,该第二时间阈值被设置为惩罚执行字段值与预设值的乘积,该预设值小于等于该第二控制单板竞争为主用控制板所需时间。

进一步,在该第二控制板重启成功并延时第二时间阈值后,禁止该第一控制板竞争主用控制板。

图2是根据本发明实施例的双主控设备启动装置的结构框图,如图2所示,该双主控设备包括第一控制板和第二控制板,该装置包括:

竞争模块22,用于在第一控制板作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板与第二控制板重新竞争主用控制板;

设置模块24,用于在该第一控制板再次当选为主用控制板的情况下,将该第二控制板设置为主用控制板,其中,该主用控制板用于启动双主控设备。

图3是根据本发明优选实施例的双主控设备的结构框图,包括第一控制板、第二控制板和业务板,所述第一控制板和第二控制板竞争主用控制板,如图3所示,该装置包括:

在第一控制板32作为主用控制板在第一时间阈值内启动失败的情况下,该第一控制板32与第二控制板34重新竞争主用控制板;

在该第一控制板32再次当选为主用控制板的情况下,将该第二控制板34设置为主用控制板,其中,该主用控制板用于启动双主控设备;

该第二控制板34作为主用控制板用于向该业务板36发送版本信息;该业务板36用于根据该接收到的该版本信息进行启动。

下面结合具体实施例对本发明进行进一步说明。

双主控设备包括硬件模块和软件模块,其中,该硬件模块包括:第一控制板、第二控制板和其他业务板,该软件模块包括:主备竞争模块和控制板启动控制模块。

两块控制板和其他业务板是双主控网络通信设备的基本组成部分,加上本发明的控制板的启动控制模块,可以实现在双主控设备启动过程中交替竞争为主,保证启动的效率和成功率。控制板的启动控制方法,通过在控制板的存储设备中存储一个字段(称之为x),存储设备必须保证掉电或者重启不丢失,x用于记录单板的运行状态,根据运行状态即x的值来决定是否执行惩罚策略。惩罚策略指的是对本控制板的启动和主备竞争的处罚,执行了惩罚策略,可以导致本控制单板丢失主用,从而伙伴控制板竞争到主用。伙伴控制板指的是双主控系统中,除了本控制板外的另一块控制板。也即第一控制板与第二控制板互为对方的伙伴控制板。

x用于记录单板的运行状态,可以代表竞争为主用的启动次数,对x的定义如下:

1-60:其中奇数用于惩罚,偶数继续执行,其中1-60这个值不是固定的,可以根据需要改变,惩罚判断策略可以根据需要设定。举例而言,惩罚策略可以是先复位伙伴控制板,延时一定时间后,复位自己,或者是先复位伙伴控制板,延时一定时间后,关闭本控制板的主备竞争。惩罚策略只要能保证伙伴控制板主备用竞争到主用即可。所谓复位,是指单板重新启动。

值得一提的是,该方案也可以将奇偶策略互换,也即将奇数用于继续执行,偶数用于惩罚,其效果不变。

根据本发明优选实施例的双主控设备启动方法的流程图,该方法包括以下流程:

本发明该双主控设备启动过程中交替竞争为主的方法包括以下步骤:

步骤一,启动所有控制板用于分别执行后面的步骤,其中,在控制板启动之前,eeprom或者flash中增加一个x字段,用于记录单板运行状态;

步骤二,判断是否有伙伴板(即是否有另一块主控在位);在判断结果为否的情况下,执行步骤三;在判断结果为是的情况下,跳转执行步骤四;

步骤三,设置x=0,单板继续启动。在这种情况下,虽不是双主控设备,但是只用一块控制板并不影响控制板的启动。

步骤四,判断x的取值范围,如果符合惩罚策略,则先复位伙伴控制板,延时一定时间,复位自己;如果不符合惩罚策略,单板继续启动。上述惩罚策略可以为先复位伙伴控制板,延时一定时间后,复位本控制板。上述延时的时间是根据控制板启动总时间来定的,以保证伙伴控制板复位后能够主备竞争到主用。

一种可选地实施方式为,判断x的取值范围,如果x在1至60之间,并且x为奇数,即满足惩罚策略,则x=x+1,复位伙伴主控,延时k*x秒后,复位自己,这样的操作可以保证伙伴单先启动,竞争为主用。如果x在1-60之间,并且x为偶数,不满足惩罚策略,则x=x+1,继续执行,本次启动本单板作为主用主控。如果x在1到60以外的区间,则设置x=1继续执行,如果单板重启可以保证下次重启做惩罚策略启动。上述k的取值可以根据需要设定,假设主用控制单板需要n秒竞争到主用,则为兼具保证伙伴控制板复位后能够竞争为主用控制板且被惩罚单板快速重启,k可以设置为大于0小于等于n的任意值。优选地,用户可以根据主控启动过程中容易出现故障的时间进行预设。

步骤五,双主控设备启动成功。该双主控设备启动成功是指系统中任意一块控制板启动成功。

通过上述流程可以保证双主控设备在一块控制板无法启动的情况下,不需要人工干预也能正常启动,从而提高了启动效率,节省了启动时间,提高系统的稳定性。

该控制板启动控制模块,在双主控设备启动过程中硬件主备竞争开启之后的各个阶段都可以使用,这样可以覆盖启动过程中各个阶段的失败导致的启动故障。优选地,该方案可以应用在下面两个阶段。

第一种,可以应用在boot阶段,在boot开启主备竞争后,进入boot菜单前,可以避免boot阶段一块控制板启动失败导致的双主控设备长时间无法启动的问题。

第二种,可以应用在主控单板板级驱动加载完成后,可以避免一块控制板在板级驱动加载完成后故障导致的后续启动失败,而引起双主控设备长时间无法启动的问题。

在上述两种场景下应用的方法策略相同,效果相同,同样是保证在双主控设备启动过程中两个主控可以交替竞争为主。

第一步:两块控制板启动,执行boot引导程序。

第二步:两块控制板分别打开主备竞争开关,其中有一块主控(主控a)竞争为主用,其伙伴控制板(主控b)为备用。

第三步:两块控制板分别执行启动控制模块,此时如果主控a未执行惩罚策略,继续执行第四步骤;否则执行第五步骤。

第四步:a继续启动,如果a主控启动成功,则双主控设备启动完成,此时a主控作为主用;否则等a主控启动失败后,到达一定时间触发看门狗的复位,下一次启动如果竞争为备用,则b主控作为主用,双主控设备启动成功;而如果下一次启动还竞争为主用则执行惩罚策略,执行第五步骤。

第五步:a主控执行惩罚策略,从而b主控竞争为主,双主控设备启动完成。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上该仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1