多核系统的故障恢复方法和设备的制作方法

文档序号:7712646阅读:408来源:国知局
专利名称:多核系统的故障恢复方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种多核系统的故障恢复方法和设备。
背景技术
随着数据流量的增大,在网络处理设备中逐步采用多核CPU进行数据业 务处理,在一些高端的网络设备的CPU处理芯片甚至已经有多达数十个CPU 核心,在多核CPU的应用中,有的系统是直接通过操作系统来管理多核系统, 业务本身并不关心是具体运行到哪个CPU核上,这样的系统开发简单,但无
法达到最佳的处理能力。
对于一些高端的网络设备,通常不使用操作系统来管理核心,而是应用
系统自己直接管理CPU核心, 一个系统中通常包括2部分, 一部分是控制部分,
完成系统的各种控制功能,控制部分对性能要求不高,但处理复杂,通常需 要操作系统来配合工作。而数据转发业务处理部分,则由数据包驱动,完成 数据包的业务处理和转发,这个过程简单,但对性能要求很高,例如数据包 的转发功能,就是^^文进入后,获取报文的目的IP地址,然后查路由表,然后 根据路由表的结果,将报文从出接口转发出去,它处理简单。处理数据的过 程比较简单,可以不依赖独立操作系统,而是程序直接控制数据核的运行。 既然控制面性能要求不高,但处理复杂,所以我们通常使用一个内核作
为控制面处理CPU,我们简称控制核,上面运行复杂的控制系统和完整的操
作系统。其余的核心用于数据转发业务,我们简称数据核,这些核则不运行 操作系统,直接由数据包驱动进行业务处理,这样可以筒化操作系统的开销, 提升性能。
现有的技术一般是CPU出现故障,会重启整个单板甚至整个系统进行恢复。在实现本发明的过程中,申请人发现现有技术至少存在以下问题
对于多核系统,由于控制核是系统的控制核心,如果控制核出现故障, 必然导致整个系统崩溃,只能重启单板或系统才能恢复,但数据核出现故障, 则不一定会导致系统故障, 一个核故障可能就只是该核不能工作,其它数据 核照样的能够正常工作,对于一个有数十个内核的多核处理器来说,只损失 了少量的处理能力,性能只是轻微下降,不会出现业务完全中断,这时如果 重启单板或系统不是最佳选择,但如果不做任何处理,系统性能可能会随着 故障处理核的增加,而逐步增加,最后还是可能因为性能下降严重导致网络 堵塞,造成网络事故。

发明内容
本发明提供一种多核系统的故障恢复方法和设备,能够有效的单独监控 数据核,如果数据核出现故障则对该故障核进行单独恢复,使系统能够及时 恢复正常。
为达到上述目的,本发明一方面提供了 一种多核系统的故障恢复方法,
应用于包括一个控制核和多个数据核的多核系统中,所述方法包括
所述控制核按照预设的检测周期检测各数据核的数据接收状态是否正
常;
当所述控制核检测到一个数据核的数据接收状态不正常时,所述控制核 重启所述数据核,并释放所述数据核所占用的资源;
所述数据核所占用的资源释放完毕后,所述控制核唤醒所述数据核进行 业务处理。
优选的,所述各数据核中设置计数器,为对应的数据核所接收的数据包 进行计数,所述控制核按照预设的检测周期检测各数据核的数据接收状态是 否正常,具体为
所述控制核按照预设的检测周期检测各数据核的的计数器中的计数值是 否发生变化;
当所述控制核检测到一个数据核所对应的计数器中的数值在一个检测周
6个检测周期内没有发生变化,则所述控制核 确定所述数据核的数据接收状态不正常。
优选的,所述当控制核检测到一个数据核所对应的计数器中的数值在连 续在多个检测周期内没有发生变化,则所述控制核确定所述数据核的数据接
收状态不正常,具体为
当一个数据核所对应的计数器中的数值没有发生变化时,所述控制核重
启所述数据核,并释^L所述数据核所占用的资源,还包括
当一个数据核所对应的计数器中的数值没有发生变化时,所述控制核生 成所述数据核的一次无变化记录;
如果所述控制核在下一个检测周期内;f企测到所述数据核所对应的计数器 中的数值发生变化,所述控制核清空所述数据核当前的所有无变化记录,如 果所述控制核在下一个检测周期内检测到所述数据核所对应的计数器中的数 值没有发生变化,所述控制核生成所述数据核的再一次无变化记录;
当所述控制核判断所述数据核的无变化记录达到预设的记录数量阈值 时,所述控制核确定所述数据核的数据接收状态不正常。
优选的,所述方法还包括
所述控制核按照预设的发送周期向各数据核发送检测报文,其中,所述 检测周期大于所述发送周期。
优选的,当所述控制核检测到一个数据核的数据接收状态不正常时,所 述控制核重启所述数据核,并释放所述数据核所占用的资源,具体包括
所述控制核清除所述数据核的唤醒标识,重启所述数据核,并释放所述 数据核所占用的资源;
其中,所述数据核所占用的资源包括以下的至少一种信息
所述数据核所加锁的全部锁资源;
所述数据核当前没有释放的全部数据包;
所述数据核当前独占的全部内存资源。
优选的,所述控制核唤醒所述数据核进行业务处理,具体为所述控制核 为所述数据核添加唤醒标识,所述方法还包括所述数据核重启后,按照预设的唤醒周期检测当前是否被所述控制核添
加唤醒标识;
当所述数据核检测到被所述控制核添加唤醒标识时,所述数据核进行正 常的业务处理。
优选的,所述方法还包括
当所述控制核检测到所述多核系统中的数据接收状态不正常的数据核的 数量超过预设的故障数量阈值,或一个或多个数据核连续发生故障时,所述 控制核重启包含所述控制核和数据核的单板。
另一方面,本发明还提供了一种单板,包括一个控制核和多个数据核, 其中
所述控制核,用于按照预设的检测周期检测各数据核的数据接收状态是 否正常,当检测到一个数据核的数据接收状态不正常时,重启所述数据核, 并释放所述数据核所占用的资源,并在所述数据核所占用的资源释放完毕后, 唤醒所述数据核进行业务处理。
优选的,所述控制核具体包括
设置模块,用于设置检测数据核的检测周期;
检测模块,用于按照所述设置模块所设置的检测周期检测各数据核的数 据接收状态是否正常;
处理模块,用于当所述检测模块检测到一个数据核的数据接收状态不正 常时,重启所述数据核,并释放所述数据核所占用的资源,并在所述数据核 所占用的资源释放完毕后,唤醒所述数据核进行业务处理。
优选的,所述数据核还包括计数器,用于为对应的数据核所接收的数据 包进行计数;
所述控制核还包括发送模块和/或记录模块,其中
所述发送模块,用于预设的发送周期向各数据核发送检测报文,其中, 所述发送周期通过所述设置模块进行设置,且所述检测周期大于所述发送周 期;所述记录模块,用于当所述检测模块检测到一个数据核的数据接收状态 不正常时,记录所述数据核的故障状态和故障时间。
优选的,所述处理模块还用于在重启所述数据核时清除所述数据核的唤 醒标识,重启所述数据核,并在所述数据核所占用的资源释放完毕后,为所
述数据核添加唤醒标识;
所述数据核,用于在重启后^f企测当前是否被所述控制核添加唤醒标识, 并在所述数据核;险测到被所述控制核添加唤醒标识时,进行正常的业务处理。
优选的,所述处理模块还用于当所述控制核检测到所述多核系统中的数 据接收状态不正常的数值没有发生变化的数据核的数量超过预设的故障数量 阈值,或一个或多个数据核连续发生故障时,重启所述单板。
与现有技术相比,本发明具有以下优点
通过应用本发明的技术方案,能够准确的发现多核系统中数据核工作异 常的情况,在保证不影响系统业务的情况下,对故障核进行自动恢复,提高 了系统的可靠性。


图1为本发明提出的一种多核系统的故障恢复方法的流程示意图; 图2为本发明所提供的一种保存锁资源信息示意图; 图3为本发明所提供的具体应用场景下的一种多核系统的故障恢复方法 的流程示意图4为本发明所提供的具体应用场景下的另一种多核系统的故障恢复方 法的流程示意图5为本发明所提供一种单板的结构示意图。
具体实施例方式
如背景技术所述,传统的故障处理方式不能保证对多核系统中的故障核 进行及时的处理,或者不能保证在处理过程中不影响当前的系统业务。 本发明的技术方案采用对各数据核的状态监控及相应的故障恢复机制,实现对多核系统中故障核的及时发现和处理,解决了现有技术所存在的不足。 本发明提出了一种多核系统的故障恢复方法,应用于包括一个控制核和
多个凝:据核的多核系统中。
如图1所示,为本发明提出的 一 种多核系统的故障恢复方法的流程示意
图,具体包括以下步骤 否正常。
当控制核检测到一个数据核的数据接收状态不正常时,执行步骤S 102; 当控制核没有检测到各数据核的数据接收状态均正常时,重复执行步骤 S101。
在具体的应用场景中,本步骤的具体实现方式可以是通过在各数据核中 分别设置计数器,为对应的数据核所接收的数据包进行计数,而控制核则根 据对各计数器的检测结果确定相应的数据核的数据接收状态是否正常,具体
的才企测实现流程如下
控制核按照预设的检测周期检测各数据核的的计数器中的计数值是否发 生变化;
当控制核检测到 一个数据核所对应的计数器中的数值在一个检测周期中 没有发生变化,或连续在多个检测周期内没有发生变化,则控制核确定该数 据核的数据接收状态不正常。
其中, 一个数据核所对应的计数器中的数值在连续在多个检测周期内没 有发生变化的处理流程如下
当控制核检测到 一个数据核所对应的计数器中的数值没有发生变化时, 控制核生成数据核的一次无变化记录;
如果控制核在下一个检测周期内检测到数据核所对应的计数器中的数值 发生变化,控制核清空数据核当前的所有无变化记录,如果控制核在下一个 检测周期内检测到数据核所对应的计数器中的数值没有发生变化,控制核生 成凄史据核的再一次无变化记录;
当控制核判断数据核的无变化记录达到预设的记录数量阈值时,执行步
10骤S102。
需要说明的是,上述的对于数据接收状态是否正常的判断依据是计数器
设置所采用的具体应用形式,在前一种应用形式中,只要在一个检测周期内 发现数据核出现故障,便重启该数据核,而在后一种应用形式中,则是在判 断一个数据核出现多次无变化记录之后,才最终确认该数据核出现故障,两 者各有利弊,第一种应用形式有利于故障的及时处理,而第二种应用形式则
有利于故障检测准确度的提高,避免检测过程中的错误而导致的错误处理, 以及因此而产生的对系统业务的影响。
进一步的,为了确保数据和在一个检测周期内肯定能够接收到数据包, 控制核按照预设的发送周期向各数据核发送检测报文,其中,检测周期大于 发送周期。
另 一方面,上述的通过计数器进行数据核的数据接收状态是否正常的检 测的方式仅是本发明的一种优选实施例,通过其他方式进行数据核的数据接 收状态是否正常的检测的技术方案同样属于本发明的保护范围。
步骤S102、控制核重启该数据核,并释放该故障数据核所占用的资源。 在具体的应用场景中,本步骤还包括控制核对该数据核的故障状态和故 障时间的记录。
本步骤的具体流程为控制核清除数据核的唤醒标识,重启数据核,并释 放数据核所占用的资源;
其中,数据核所占用的资源包括以下的至少 一种信息 数据核所加锁的全部锁资源; 数据核当前没有释放的全部数据包; 数据核当前独占的全部内存资源。
步骤S103、数据核所占用的资源释放完毕后,控制核唤醒数据核进行业 务处理。
其中,控制核唤醒数据核进行业务处理,具体为控制核为数据核添加唤 醒标识。在此种情况下,本步骤完成之后,本方法还包括
数据核重启后,按照预设的唤醒周期检测当前是否被控制核添加唤醒标
识;
当数据核检测到被控制核添加唤醒标识时,数据核进行正常的业务处理。
在具体的应用场景中,本方法还可以进一步包括以下处理方式
当控制核检测到多核系统中数据接收状态不正常的数据核的数量超过预设的故障数量阈值,或一个或多个数据核连续发生故障时,控制核重启包含控制核和数据核的单板。
通过此种处理方式,可以避免在系统的应用环境破换的情况下对故障核连续重启而不能解决故障原因的不足。
与现有技术相比,本发明具有以下优点
通过应用本发明的技术方案,能够准确的发现多核系统中数据核工作异常的情况,在保证不影响系统业务的情况下,对故障核进行自动恢复,提高了系统的可靠性。
下面,结合具体的应用场景,对本发明所提出的技术方案进行说明。本发明所提出的技术方案主要包括故障检测,状态保存和故障处理三个部分,具体说明如下
1、故障;险测
在多核系统中,由控制核检测各数据核的工作状态,根据本发明技术方案,采取的具体工作原理如下
在每个数据核的数据入口设置一个独立计数器,每收到一个数据包,计数器+ 1,控制核定时向所有的数据核发送一个消息,数据核每收到一个消息同样对上述计数器+ 1。
控制核发送消息的设定主要是为了防止由于暂时没有数据通信而导致对数据核故障的误判。
控制核定时检测该计数器,如果一段时间内出现该计数器不再变化,则认为该数据核故障。
12这里所提及的一段时间可以是前述的检测周期,也可以是大于检测周期的其他时间数值,这样的变化并不影响本发明的保护范围。
其中,上述的通过计数器进行故障检测的方式仅是本发明的一种优选实施例,通过其他方式进行故障检测的技术方案同样属于本发明的保护范围。
2、状态保存
由于数据核不使用操作系统,所以,数据核主要涉及的系统资源就是内存和锁资源,但由于数据核申请的内存可能被其它核使用,不能采取简单的方法强行回收,否则可能会导致其它数据核出现异常。
同时,数据核在处理一个数据包时所需要申请的内存不会很多,对这部分内存可以不做恢复处理,但对于数据包本身的内存只涉及到处理核本身这种情况时,则需要进行释放处理。
多核系统对数据报文本身记录方法如下,报文入口时用一个全局变量记录报文指针和类型,报文正常释放时清除该记录。
如果数据核申请的内存只会被本核使用,则可按核对内存进行分区管理,
不同的数据核在不同的内存区分配内存,当然,也可以采取在分配内存时,记录内存分配核的方式进4亍标i己。
在本发明的技术方案中,重点关注的是数据核对锁资源的占用,对锁资源保存方式如下
通常,锁是一个变量,在此基础上,本发明的技术方案增加锁的类型和各核的加锁和解锁情况的记录,如图2所示,假设以0表示没有加锁,l表示力口锁。
在具体的应用场景中,上述设置可以进行相应的调整,这样的变化并不影响本发明的保护范围。
多核系统将数据核所有的锁统一管理,可以使用 一个链表将锁变量统一管理起来,这样可以方便实现对全部锁资源实现遍历。
应用如图2所示的记录方式,数据核进行加锁操作时,在相应的核标志位上设置加锁标志,解锁时清除加锁标志。
如果数据核处理的业务中有对系统其它特殊资源进行独占使用的情况,也可以使用类似保存方式处理。
3、 故障处理
依据前述的故障检测方法,控制核如果发现某个数据核出现故障,则记录该核的故障状态和时间。
清除故障核的唤醒标志,重启该故障核,故障核重启后先进入等待控制核唤醒状态。(可以为该核设置一个控制变量来实现唤醒功能,该核通过循环判断该标志位,如果没有设置则死等,控制唤醒该核时设置该标志位,这样该核就能继续执行下去,进入正常工作状态。)
根据前述的状态保存的记录进行资源锁恢复,遍历全部的锁资源,释放该核原来加锁的全部锁资源。
释^:该故障核处理的还没有释^:的报文。
如果还有其它被该核独占的资源,也需做释放处理。
如果数据核处理的业务所申请的内存只被本核使用,则释放全部该核申请的内存。
控制核唤醒该核进行正常业务处理。
4、 从技术完备性的角度上考虑,当一些关键资源被破坏时,简单的对故障核进行重启可能无法使得系统正常工作的,如果检测发现出现故障的数据核比较多,并且进行重启恢复后,短时间又出现故障,说明整个工作环境已经破坏,简单的数据核重启已经无法恢复正常工作,这时要进行单板重启进行恢复。
基于以上技术思路,结合具体的应用场景,如图3所示,为本发明所提出的 一 种多核系统的故障恢复方法的流程示意图,具体包括以下步骤步骤S301、控制核定时向所有的数据核发送检测消息。步骤S302、数据核对接收到检测消息进行计数。数据核每收到一个消息同样对上述计数器+ 1。在完成相应的技术处理后,数据核继续进行正常的业务处理。步骤S303、控制核定时检测各数据核的计数器。
14步骤S304、控制核判断各数据核的计数器的数值是否不变。当控制核检测到一个数据核所对应的计数器中的数值不变时,执行步骤S305;
当控制核没有检测到数据核所对应的计数器中的数值不变时,返回步骤S3 03 ,在下 一 个周期内继续进4亍才企测。
步骤S305、控制核清除该数据核的唤醒标识,重启该数据核。步骤S306、控制核释放该数据核所占用的资源。数据核所占用的资源释放完毕后,执行步骤S307。步骤S307、控制核为数据核添加唤醒标识。
在前述的步骤S305完成后,在数据核侧同样存在相应的处理流程,具体

步骤S308、数据核根据控制核的控制进行重启。步骤S309、数据核检查是否存在唤醒标识。
如果在执行本步骤时,步骤S307还没有实现,则数据核中没有唤醒标识,因此,返回步骤S309继续进行唤醒标识的检查;
如果在执行本步骤时,步骤S307已经实现,则数据核中存在唤醒标识,则数据核继续进行正常的业务处理。
与现有技术相比,本发明具有以下优点
通过应用本发明的技术方案,能够准确的发现多核系统中数据核工作异常的情况,在保证不影响系统业务的情况下,对故障核进行自动恢复,提高了系统的可靠性。
进一步的,以在多核CPU上进行IP流统计业务来iJL明本发明的工作原理。流统计,就是根据IP数据包入接口、出接口、源IP、源端口、协议类型、目的IP、目的端口等信息为表征一条流的关键字,统计一条流的创建时间,结束时间、报文数、字节数等信息,同时定时将统计信息上报网管中心,通过该技术用户可以了解网络中的报文分布情况,也可以对各种异常的网络流量进行实时监控。按源IP、源端口、协议类型、目的IP、目的端口的信息进行哈希调度,将统计报文均衡调度到各个数据核上。
按核来分配统计数据流所需的内存空间,对于需要使用锁资源来防止核间资源访问冲突,在加锁时标记该数据核的使用标记。
以数据核A的统计为例进行说明,假设为核A分配的统计空间为bufferl,整个数据核使用的锁资源由链表listl管理。IP流量统计业务只涉及到内存和锁两种竟争资源的占用。
假设核A收到一个报文packetl ,计数器t加1,同时保存该报文指针到p中,数据核开始进行业务处理,如果这时因为一个程序错误,导致核A进入一个死循环中,无法退出。
这时控制核一直定时检查计数器t,如果发现一段时间t的计数值不变,说明核A这时已经跑死。清除A的唤醒标志,重启核A。
控制核通过listl遍历检测数据核使用的全部锁资源,;险测锁资源中核A的标志位是否设置,如果设置,则根据锁类型进行解锁处理,例如,如图4所示,锁1和3已经被核A加锁,释放这2个锁。同时释放数据核A的内存资源bufferl,如果bufferl是控制核为数据核A分配的,则重新需重新初始化该内存,释》文核A没有处理完的报文内存p。
为核A设置唤醒变量,重新唤醒该数据核,使其进入正常工作状态。
与现有技术相比,本发明具有以下优点
通过应用本发明的技术方案,能够准确的发现多核系统中数据核工作异常的情况,在保证不影响系统业务的情况下,对故障核进行自动恢复,提高了系统的可靠性。
相对应的,为了实现上述的技术方案,本发明还提供了一种单板,如图5所示,包括一个控制核51和多个数据核52,其中
控制核51,用于按照预设的检测周期检测各数据核52的数据接收状态是否正常,当检测到一个数据核52的数据接收状态不正常时,重启数据核52,并释放数据核52所占用的资源,并在数据核52所占用的资源释放完毕后,唤醒数据核52进行业务处理。
具体的,控制核51具体包括
设置模块511,用于设置检测数据核的检测周期;
检测模块512,用于按照设置模块511所设置的检测周期检测各数据核 52的数据接收状态是否正常;
处理模块513,用于当检测模块512检测到一个数据核52的数据接收状 态不正常时,重启数据核52,并释放数据核52所占用的资源,并在数据核 52所占用的资源释放完毕后,唤醒数据核52进行业务处理。
在具体的应用场景中,数据核52还包括计数器521,用于为对应的数据 核52所接收的数据包进行计数;
控制核51还包括发送模块514和/或记录模块515,其中
发送模块514,用于预设的发送周期向各数据核52发送检测报文,其中, 发送周期通过设置模块511进行设置,且检测周期大于发送周期;
记录模块515,用于当检测模块512检测到一个数据核52所对应的计数 器中的数值没有发生变化时,记录数据核52的故障状态和故障时间。
处理模块513还用于在重启数据核52时清除数据核52的唤醒标识,重 启数据核52,并在数据核52所占用的资源释;^文完毕后,为数据核52添加唤 醒标识;
相应的,数据核52,用于在重启后检测当前是否一皮控制核51添加唤醒标 识,并在数据核52检测到被控制核51添加唤醒标识时,进行正常的业务处 理。
在具体的应用场景中,处理模块513还用于当控制核51检测到多核系统 中的数据接收状态不正常的数据核52的数量超过预设的故障数量阈值,或一 个或多个数据核52连续发生故障时,重启单板。
与现有技术相比,本发明具有以下优点
通过应用本发明的技术方案,能够准确的发现多核系统中数据核工作异 常的情况,在保证不影响系统业务的情况下,对故障核进行自动恢复,提高 了系统的可靠性。
17通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软
件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中 的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景 描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施 场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可 以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于 此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种多核系统的故障恢复方法,其特征在于,应用于包括一个控制核和多个数据核的多核系统中,所述方法包括所述控制核按照预设的检测周期检测各数据核的数据接收状态是否正常;当所述控制核检测到一个数据核的数据接收状态不正常时,所述控制核重启所述数据核,并释放所述数据核所占用的资源;所述数据核所占用的资源释放完毕后,所述控制核唤醒所述数据核进行业务处理。
2、 如权利要求1所述的方法,其特征在于,所述各数据核中设置计数器, 为对应的数据核所接收的数据包进行计数,所述控制核按照预设的检测周期 检测各数据核的数据接收状态是否正常,具体为所述控制核按照预设的检测周期检测各数据核的的计数器中的计数值是 否发生变化;当所述控制核检测到 一个数据核所对应的计数器中的数值在一个检测周 期中没有发生变化,或连续在多个检测周期内没有发生变化,则所述控制核 确定所述数据核的数据接收状态不正常。
3、 如权利要求2所述的方法,其特征在于,所述当控制核检测到一个数 据核所对应的计数器中的数值在连续在多个检测周期内没有发生变化,则所 述控制核确定所述数据核的数据接收状态不正常,具体为当一个数据核所对应的计数器中的数值没有发生变化时,所述控制核生 成所述数据核的一次无变化记录;如果所述控制核在下一个检测周期内检测到所述数据核所对应的计数器 中的数值发生变化,所述控制核清空所述数据核当前的所有无变化记录,如 果所述控制核在下一个检测周期内检测到所述数据核所对应的计数器中的数 值没有发生变化,所述控制核生成所述数据核的再一次无变化记录;当所述控制核判断所述数据核的无变化记录达到预设的记录数量阈值 时,所述控制核确定所述数据核的数据接收状态不正常。
4、 如权利要求1或2所述的方法,其特征在于,还包括检测周期大于所述发送周期。
5、 如权利要求l所述的方法,其特征在于,当所述控制核检测到一个数 据核的数据接收状态不正常时,所述控制核重启所述数据核,并释放所述数据核所占用的资源,具体包括所述控制核清除所述数据核的唤醒标识,重启所述数据核,并释放所述 数据核所占用的资源;其中,所述数据核所占用的资源包括以下的至少一种信息所述数据核所加锁的全部锁资源;所述数据核当前没有释放的全部数据包;所述数据核当前独占的全部内存资源。
6、 如权利要求5所述的方法,其特征在于,所述控制核唤醒所述数据核 进行业务处理,具体为所述控制核为所述数据核添加唤醒标识,所述方法还 包括所述数据核重启后,按照预设的唤醒周期检测当前是否被所述控制核添 加唤醒标识;当所述数据核检测到被所述控制核添加唤醒标识时,所述数据核进行正 常的业务处理。
7、 如权利要求l所述的方法,其特征在于,还包括当所述控制核;f企测到所述多核系统中的数据接收状态不正常的数据核的 数量超过预设的故障数量阈值,或一个或多个数据核连续发生故障时,所述 控制核重启包含所述控制核和数据核的单板。
8、 一种单板,其特征在于,包括一个控制核和多个数据核,其中 所述控制核,用于按照预设的检测周期检测各数据核的数据接收状态是 否正常,当检测到一个数据核的数据接收状态不正常时,重启所述数据核, 并释放所述数据核所占用的资源,并在所述数据核所占用的资源释放完毕后, 唤醒所述数据核进行业务处理。
9、 如权利要求8所述的单板,其特征在于,所述控制核具体包括 设置模块,用于设置检测数据核的检测周期;检测模块,用于按照所述设置模块所设置的检测周期检测各数据核的数 据接收状态是否正常;处理模块,用于当所述检测模块检测到一个数据核的数据接收状态不正 常时,重启所述数据核,并释放所述数据核所占用的资源,并在所述数据核 所占用的资源释;^文完毕后,唤醒所述数据核进行业务处理。
10、 如权利要求8所述的单板,其特征在于,所述数据核还包括计数器,用于为对应的数据核所接收的数据包进行计数;所述控制核还包括发送模块和/或记录模块,其中所述发送模块,用于预设的发送周期向各数据核发送检测报文,其中, 所述发送周期通过所述设置模块进行设置,且所述检测周期大于所述发送周 期;所述记录模块,用于当所述检测模块检测到一个数据核的数据接收状态 不正常时,记录所述数据核的故障状态和故障时间。
11、 如权利要求9所述的单板,其特征在于,所述处理模块还用于在重 启所述数据核时清除所述数据核的唤醒标识,重启所述数据核,并在所述数 据核所占用的资源释放完毕后,为所述数据核添加唤醒标识;所述数据核,用于在重启后检测当前是否被所述控制核添加唤醒标识, 并在所述数据核检测到被所述控制核添加唤醒标识时,进行正常的业务处理。
12、 如权利要求9所述的单板,其特征在于,所述处理模块还用于当所 述控制核检测到所述多核系统中的数据接收状态不正常的数据核的数量超过 预设的故障数量阈值,或一个或多个数据核连续发生故障时,重启所述单板。
全文摘要
本发明公开了一种多核系统的故障恢复方法和设备,能够有效的单独监控数据核,如果数据核出现故障则对该故障核进行单独恢复,使系统能够及时恢复正常,通过应用本发明的技术方案,能够准确的发现多核系统中数据核工作异常的情况,在保证不影响系统业务的情况下,对故障核进行自动恢复,提高了系统的可靠性。
文档编号H04L12/24GK101635652SQ200910169848
公开日2010年1月27日 申请日期2009年9月7日 优先权日2009年9月7日
发明者卢胜文 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1