CN101324855B - 辅助cpu工作状态的检测方法、系统、组件及多cpu设备 - Google Patents

辅助cpu工作状态的检测方法、系统、组件及多cpu设备 Download PDF

Info

Publication number
CN101324855B
CN101324855B CN2008101473702A CN200810147370A CN101324855B CN 101324855 B CN101324855 B CN 101324855B CN 2008101473702 A CN2008101473702 A CN 2008101473702A CN 200810147370 A CN200810147370 A CN 200810147370A CN 101324855 B CN101324855 B CN 101324855B
Authority
CN
China
Prior art keywords
cpu
logic unit
hardware logic
aiding cpu
aiding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101473702A
Other languages
English (en)
Other versions
CN101324855A (zh
Inventor
王钛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101473702A priority Critical patent/CN101324855B/zh
Publication of CN101324855A publication Critical patent/CN101324855A/zh
Application granted granted Critical
Publication of CN101324855B publication Critical patent/CN101324855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种辅助CPU工作状态的检测方法和检测系统,还公开了一种多CPU设备以及辅助CPU工作状态的检测组件。该检测方法适用于设有一个主CPU和至少一个辅助CPU的设备,在该主CPU和各辅助CPU启动完成后执行以下步骤:该辅助CPU基于硬件中断定时向与其一一对应设置的第二硬件逻辑单元执行数据写入操作;与该主CPU对应设置的第一硬件逻辑单元监控各第二硬件逻辑单元的数据写入状况;当该第一硬件逻辑单元超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给该主CPU。通过本发明,实现了主CPU对辅助CPU工作状态的快速检测,进一步保证了报文处理的高实时性;以及,不占用板间通信的带宽。

Description

辅助CPU工作状态的检测方法、系统、组件及多CPU设备 
技术领域
本发明涉及通信设备控制技术,尤其涉及一种辅助CPU工作状态的检测方法和检测系统,还涉及一种多CPU设备和辅助CPU工作状态的检测组件。 
背景技术
随着处理数据的不断增加,以及人们对于处理能力要求的不断提高,仅具有单一CPU的设备已经日益难以满足实际需求,因此常常在同一设备上设计多个CPU,外界数据通过接口器件送往各CPU,各CPU分别进行相关业务的处理,从而实现设备处理能力的扩展。但是,由于各个CPU之间是相互独立的,主CPU对于辅助CPU的状态并不清楚,因此当某一辅助CPU出现故障时,无法使其退出服务。 
为了解决上述问题,现有技术通过板间通信的方式进行CPU之间的握手,以实现对辅助CPU工作状态的检测,具体包括:主控板上的主CPU通过板间通信向其他业务板上的辅助CPU发送握手报文,并对辅助CPU的板间回应的握手报文进行统计;当发现一定时间内(比如n个握手报文的时间)没有收到某一辅助CPU的回应时,认为该业务板的CPU工作状态异常,对其进行自动复位。 
上述现有技术所采用的板间通信方案虽然能够实现主CPU对辅助CPU工作状态的检测和控制,但实时性较差,其原因主要包括以下两个方面: 
一个方面,是握手报文本身存在的发送间隔和容错时间;一般情况下,主控板的主CPU每隔1秒发送一次握手报文,加上容错判断的时间(即n次没有响应才判断异常),因此辅助CPU工作状态的检测时间至少是n秒; 
另一方面,主CPU对报文的处理是串行的,如图1所示,因此主CPU 在对握手报文的处理过程中,必然要受到其他报文处理进度的影响,难以保证在主CPU本身对于握手报文处理的及时性,导致检测时间的进一步延长。 
可以看出,现有的辅助CPU工作状态检测方案在检测实时性方面表现不佳。 
对于一些具有高实时数据处理需求的网络节点设备,上述缺陷表现的尤为明显。比如,当通过OAM(Operation,Administration and Maintenance,操作、管理和维护)信元维护网络时,为了提高作为段点或者端点的网络节点设备对于OAM信元的处理能力,需要为该网络节点相应增设辅助CPU,称之为OAM CPU;由于OAM信元的处理实时性要求非常高,因此,一般要求OAM CPU对各个任务的响应时间不宜超过50ms。而采用现有的辅助CPU工作状态检测方案,当一个辅助CPU发生异常时,仅其判定时间就需要以秒计,再加上后续的复位或者辅助CPU切换处理等操作,显然对于一个出现异常的辅助CPU来说,其所处理的任务是不可能在指定的时间内获得响应的。 
综上所述,基于现有的辅助CPU工作状态检测方案,主CPU难以快速检测到辅助CPU的工作状态,因此也无法快速的进行后续的复位或切换处理,这也直接导致了网络节点处理性能的下降。 
发明内容
本发明的实施例旨在提供辅助CPU工作状态的检测方案,以实现主CPU对辅助CPU工作状态的快速检测。 
为实现上述目的,本发明的实施例提供了一种辅助CPU工作状态的检测方法,适用于设有一个主CPU和至少一个辅助CPU的设备;在该主CPU和各辅助CPU启动完成后执行以下步骤: 
步骤S1:该辅助CPU基于硬件中断定时向与其一一对应设置的第二硬件逻辑单元执行数据写入操作; 
步骤S2:与该主CPU对应设置的第一硬件逻辑单元监控各第二硬件逻辑单元的数据写入状况; 
步骤S3:当该第一硬件逻辑单元超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给该主CPU。 
本发明的实施例还提供了一种辅助CPU工作状态的检测系统,适用于设有一个主CPU和至少一个辅助CPU的设备;该检测系统包括: 
与辅助CPU一一对应连接的第二硬件逻辑单元,用于接受相应辅助CPU基于硬件中断定时的数据写入操作; 
与该主CPU对应连接的第一硬件逻辑单元,与各第二硬件逻辑单元连接,用于监控各第二硬件逻辑单元的数据写入情况,并在超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给该主CPU。 
本发明的实施例还提供了一种多CPU设备,包括一个主CPU和至少一个辅助CPU,还包括如上所述的辅助CPU工作状态的检测系统。 
本发明的实施例还提供了一种辅助CPU工作状态的检测组件,包括:一主CPU;与该主CPU对应连接的第一硬件逻辑单元,用于监控各辅助CPU基于硬件中断对其第二硬件逻辑单元的数据写入情况,并在超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给主CPU。 
本发明的实施例还提供了一种辅助CPU工作状态的检测组件,包括:一辅助CPU;与该辅助CPU对应连接的第二硬件逻辑单元,用于接受该辅助CPU基于硬件中断定时的数据写入操作,使主CPU的第一硬件逻辑单元能够基于该数据写入操作识别所述辅助CPU的异常状态并上报给所述主CPU。 
由上述技术方案可知,本发明的实施例采用基于硬件中断的高可靠定时处理,具有以下有益效果: 
1、实现主CPU对辅助CPU工作状态的快速检测; 
2、进一步保证了报文处理的高实时性; 
3、不通过板间通信的方式进行握手,因此不占用板间通信的带宽。 
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。 
附图说明
图1为现有技术中主CPU对报文进行处理的示意图; 
图2为本发明所提供的辅助CPU工作状态的检测方法一实施例的流程图; 
图3为图2所示方法的应用示意图; 
图4为本发明所提供的辅助CPU工作状态的检测方法另一实施例的流程图; 
图5A、5B为本发明所提供的辅助CPU工作状态的检测方法较佳实施例的应用示意图; 
图6为本发明所提供的辅助CPU工作状态的检测系统一实施例的框图; 
图7为本发明所提供的辅助CPU工作状态的检测系统一具体实施例的框图; 
图8为本发明所提供的辅助CPU工作状态的检测系统一改进实施例的框图。 
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。 
本发明的技术构思在于,处于正常工作状态的辅助CPU基于硬件的高可靠定时中断进行数据写入,通过专有的硬件逻辑单元对CPU的硬件写入进行响应,这样,当辅助CPU出现故障导致数据写入的中断时,硬件逻辑单元就能够迅速做出反应,从而取代现有技术中通过板间通信进行CPU间交互的检测方式,实现对辅助CPU故障的快速检测。 
为了实现上述技术构思,本发明提供了一种辅助CPU工作状态的检测方法,适用于设有一个主CPU和至少一个辅助CPU的设备,用于实现2个或者多个CPU的快速握手。需要指出,多个CPU的具体排列方式并不影响本发明技术方案的实现,比如,多个CPU可以在同一个单板上,也可以在不同的单板上通过总线连接起来。 
该辅助CPU工作状态的检测方法一实施例如图2所示,在主CPU和 各辅助CPU启动完成后执行以下步骤: 
步骤S1:辅助CPU基于硬件中断定时向与其一一对应设置的第二硬件逻辑单元执行数据写入操作; 
在本步骤S1中,第二硬件逻辑单元可以是可编程逻辑器件,通过逻辑实现一个寄存器的功能,接受辅助CPU基于硬件中断定时写入的数据;由于硬件中断由硬件保证触发,因此具有高可靠性。 
较佳的,辅助CPU是基于TICK中断(俗称滴答中断)定时向与其第二硬件逻辑单元执行数据写入操作,也就是说,硬件中断可以为TICK中断。以默认情况下,每10ms产生一次TICK中断为例,则按照TICK中断,处于正常状态的辅助CPU每10ms就能够执行一次对第二硬件逻辑单元的数据写入,而当辅助CPU没有按时执行数据写入时,说明该辅助CPU已经由于软件或者硬件故障发生了宕机或者重新启动的情况。 
步骤S2:与主CPU对应设置的第一硬件逻辑单元监控各第二硬件逻辑单元的数据写入状况; 
在本步骤S2中,第一硬件逻辑单元可以是可编程逻辑器件,通过与各个第二硬件逻辑单元的总线连接实现对第二硬件逻辑单元数据写入的检测。具体的,可以采用由接收到数据写入的第二硬件逻辑单元主动触发第一硬件逻辑单元的方案加以实现: 
步骤S21:接收到数据写入的第二硬件逻辑单元向第一硬件逻辑单元发送触发信号; 
该触发信号可以是波形信号,比如方波或者脉冲,当然,也可以是其它的波形或者波形的变化,比如,前一次触发发送高电平波形,下一次触发发送低电平波形等,只要第一硬件逻辑单元能够通过接收到的波形识别出第二硬件逻辑单元是否存在数据写入即可; 
步骤S22:第一硬件逻辑单元通过监控接收到的触发信号识别各第二硬件逻辑单元的数据写入状况; 
具体的,第一硬件逻辑单元可以通过监控是否按时收到特定的波形或者脉冲,或者收到的波形是否发生变化来判断第二硬件逻辑单元是否存在数据写入。 
可以看出,由于第二硬件逻辑单元在没有数据写入时,不发送触发信号,因此第一硬件逻辑单元可以据此很容易的判断出第二硬件逻辑单元的数据写入状况;同时,第一硬件逻辑单元对第二硬件逻辑单元的监控是基于硬件实现的,具有高可靠性。 
或者,本步骤S2可以采用由第一硬件逻辑单元主动查询第二硬件逻辑单元的方案加以实现:第一硬件逻辑单元定时向第二硬件逻辑单元发送查询信号,当第二硬件逻辑单元没有收到数据写入时,不对该查询信号进行反应;这种情况下,第一硬件逻辑单元也可以根据查询信号的反馈情况判断出第二硬件逻辑单元的数据写入状况;虽然这种情况下对于辅助CPU异常的识别较前一种情况可能稍微滞后,但第一硬件逻辑单元对第二硬件逻辑单元的监控同样是基于硬件实现的,也具有高可靠性。 
步骤S3:当第一硬件逻辑单元超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给主CPU。 
在本步骤S3中,第一硬件逻辑单元需要进行计时,计时次数可以预设,比如2次或者3次,当然也可以多次;如果在预设时间内(n*10ms,n为计时次数)未检测到某一第二硬件逻辑单元的数据写入,那么就可以识别该辅助CPU异常。 
可以看出,当一个辅助CPU出现故障时,基本上在毫秒级的时间内,第一硬件逻辑单元就能够实现识别和对主CPU的上报,因此,主CPU能够接近实时的获知辅助CPU的状态异常。作为一个具体实施例,当计时次数取3时,主CPU可以在30ms后获知辅助CPU的故障,这能够保证一些具有高实时性要求的业务(比如OAM信元处理)的顺利进行。 
具体的,第一硬件逻辑单元可以通过中断方式实现对主CPU的上报。 
通过上述步骤S1~S3,本发明提供的辅助CPU工作状态的检测方法基于硬件中断进行高可靠定时处理,能够实现主CPU对辅助CPU工作状态的快速检测,能够适应高实时性要求环境,同时,不通过板间通信的方式进行握手,因此不占用板间通信的带宽。 
如图3所示,显示了本发明所提供的辅助CPU工作状态的检测方法的一应用示意图。 
进一步的,由于辅助CPU在启动成功前处于上电状态,硬件中断尚未执行工作,那么有可能导致主CPU误判其工作异常。举例来说,当主CPU检测到一辅助CPU异常并指令该辅助CPU复位时,由于在该辅助CPU的复位过程中没有继续检测到数据写入,可能第一硬件逻辑单元会再次认定该辅助CPU异常并上报主CPU,由该主CPU重新指令其复位,这样陷入一种死循环中。再例如,在多CPU设备初始化时,由于辅助CPU处于上电状态,因此其硬件中断无法正常工作,那么第一硬件逻辑单元也会认为该辅助CPU状态异常,从而产生误判。 
为了避免这种情况,作为一个较佳的实施例,在辅助CPU启动过程中,包括异常时主CPU的指令复位过程中,以及辅助CPU的初始化过程中,还需要执行以下步骤: 
S01:启动成功的辅助CPU向主CPU执行注册操作; 
S02:主CPU接收到一辅助CPU的注册时,使能第一硬件逻辑单元对相应第二硬件逻辑单元的检测功能。 
这样,当辅助CPU复位成功之前,或者辅助CPU初始化成功之前,由于主CPU并未启动第一硬件逻辑单元的相应检测功能,因此避免了误判情况的发生。当然,本领域普通技术人员可以理解,当主CPU识别一个辅助CPU异常并指令其复位时,还要相应的对该辅助CPU去注册,并指令第一硬件逻辑单元关闭相应的检测功能。 
如图4所示,显示了本发明提供的辅助CPU工作状态的检测方法另一实施例的流程图。 
但是,在上述提供的实施例中,能够迅速识别的仅为引起硬件中断的辅助CPU故障情况,比如辅助CPU故障宕机或者重新启动;但对于一些软件异常,比如陷入未导致CPU重启的死循环,由于硬件中断(如TICK中断)能够照常工作,即第二硬件逻辑单元还能够继续接收到辅助CPU的数据写入,那么主CPU还需要结合现有的板间通信方式进行滞后检测,也就是上述技术方案对于一些特定的、软件方面的辅助CPU故障,难以实现主CPU快速的检测。 
为了克服上述技术缺陷,较佳的,可以在步骤S1中采用下述两种方 案加以解决: 
一种如图5A所示:各辅助CPU分别在硬件中断时,比如在TICK中断中,进行运行程序状态的识别;当出现运行程序异常时,阻断对相应第二硬件逻辑单元的数据写入操作; 
进一步的,为了提高第一硬件逻辑单元对于辅助CPU异常的识别速度,可以由该辅助CPU直接触发该第一硬件逻辑单元上报给主CPU,从而实现主CPU对软件异常情况的迅速获知,使该辅助CPU处理的业务能够及时切换到备用辅助CPU或者分流到其他辅助CPU进行处理。 
另一种如图5B所示:通过为各辅助CPU分别设置的硬件狗对相应辅助CPU运行程序进行监控,当监控到该辅助CPU出现运行程序异常时,复位该辅助CPU; 
对于第二种情况,由于软件出现异常比如死循环时会触发硬件狗报警,由硬件狗相应进行辅助CPU的复位,那么可能存在以下两种可能的情形: 
(1)当辅助CPU迅速复位,甚至其复位时间短于第一硬件逻辑单元识别辅助CPU异常的预设时间,那么硬件中断将在复位期间中止,并在复位之后迅速恢复,重新进行对第二硬件逻辑单元的数据写入。 
虽然此时,第一硬件逻辑单元不会识别辅助CPU异常,但由于辅助CPU已经复位,能够正常处理报文,因此能够满足业务需求。比如对于OAM信元处理而言,如果一个辅助CPU故障,并在30ms内完成复位,那么相对于OAM信元所要求的50ms反应时间来说,是绰绰有余的,也就是说,辅助CPU从不正常到正常的时间符合实时性要求,不需要执行辅助CPU的切换操作; 
(2)当辅助CPU的复位时间较长时,那么硬件中断在预设时间甚至更长时间内不能正常工作,也就无法正常向第二硬件逻辑单元执行数据写入,则第一硬件逻辑单元可以在预设时间到达时识别辅助CPU异常,及时向主CPU执行上报,使该辅助CPU处理的业务能够及时切换到备用辅助CPU或者分流到其他辅助CPU进行处理。 
需要指出,上述步骤S1中补充采用的两种方案事实上解决的问题各 有侧重。第一种方案主要解决一些辅助CPU自检能够发现的较微小异常,这类异常不会影响对于硬件狗的触发,因此不会引起硬件狗的警戒;第二种方案主要解决较大的软件异常,比如软件死循环,这种情况下,辅助CPU由于没有能力触发硬件狗而引起硬件狗的警戒。可以看出,上述第一种方案下,硬件狗的监控能力很难发挥,而上述第二种方案下,辅助CPU一般已经丧失了自检的能力,因此,将二者结合使用,能够有效达到完善监控软件异常的效果。 
相应的,本发明还提供了一种辅助CPU工作状态的检测系统,该检测系统适用于设有一个主CPU和至少一个辅助CPU的设备,用于实现2个或者多个CPU的快速握手;同样的,多个CPU的具体排列方式并不影响本发明技术方案的实现,比如,多个CPU可以在同一个单板上,也可以在不同的单板上通过总线连接起来。 
如图6所示,显示了该辅助CPU工作状态的检测系统100一实施例的框图,包括: 
与辅助CPU一一对应连接的第二硬件逻辑单元102,用于接受相应辅助CPU基于硬件中断定时的数据写入操作; 
较佳的,该基于硬件中断定时的数据写入操作为基于TICK中断定时的数据写入操作,即处于正常状态的辅助CPU根据TICK中断,比如默认情况下每10ms向第二硬件逻辑单元102写入一次数据。 
可以看出,由于辅助CPU的硬件中断由硬件保证触发,因此具有高可靠性。而当辅助CPU没有按时执行数据写入时,说明该辅助CPU已经由于软件或者硬件故障发生了宕机或者重新启动的情况。 
与主CPU对应连接的第一硬件逻辑单元101,与第二硬件逻辑单元102连接,用于监控各第二硬件逻辑单元102的数据写入情况,并在超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给主CPU,具体的上报方式可以采用中断上报。 
其中,第一硬件逻辑单元101对第二硬件逻辑单元102的监控可以通过接收到数据写入的第二硬件逻辑单元102主动触发实现,也可以由第一硬件 逻辑单元102主动查询实现。以前一种情况为例,由于第二硬件逻辑单元102在没有数据写入时,不发送触发信号,因此第一硬件逻辑单元101可以据此很容易的判断出第二硬件逻辑单元102的数据写入状况;同时,第一硬件逻辑单元101对第二硬件逻辑单元102的监控是基于硬件实现的,具有高可靠性;以后一种情况为例,第一硬件逻辑单元101可以根据第二硬件逻辑单元102对查询信号的反馈情况判断出第二硬件逻辑单元102的数据写入状况,虽然这种情况下对于辅助CPU异常的识别较前一种情况可能稍微滞后,但第一硬件逻辑单元101对第二硬件逻辑单元102的监控同样是基于硬件实现的,也具有高可靠性。 
由于硬件中断是毫秒级的,如果预设时间在几个计时中断内,那么对一个故障辅助CPU的识别也可以在毫秒级实现。也就是说,当一个辅助CPU出现故障时,基本上在毫秒级的时间内,第一硬件逻辑单元101就能够实现识别和对主CPU的上报,因此,主CPU能够接近实时的获知辅助CPU的状态异常。 
通过上述实施例,本发明提供的辅助CPU工作状态的检测系统100基于硬件中断进行高可靠定时处理,能够实现主CPU对辅助CPU工作状态的快速检测,能够适应高实时性要求环境,同时,不通过板间通信的方式进行握手,因此不占用板间通信的带宽。 
在上述实施例中,第一硬件逻辑单元101与第二硬件逻辑单元102可以合设或分设,也就是说,第一硬件逻辑单元101与第二硬件逻辑单元102既可以分别采用芯片或者硬件功能块实现,也可以整合在一块芯片或者硬件功能块上实现。比如,第一硬件逻辑单元101和第二硬件逻辑单元102具体可以采用可编程逻辑器件实现。 
作为一具体实现方案,请结合图7,显示了本发明所提供的辅助CPU工作状态的检测系统100一具体实施例的框图,其第一硬件逻辑单元101对第二硬件逻辑单元102的监控通过接收到数据写入的第二硬件逻辑单元102主动触发实现,具体的: 
该第二硬件逻辑单元102包括相连接的数据写入接收模块1021和触发信号发送模块1022,第一硬件逻辑单元101包括相连接的触发信号识 别模块1011和异常上报模块1012;其中,触发信号发送模块1022和触发信号识别模块1011可以为波形信号发送器和波形信号识别器,该波形信号可以包括脉冲和方波,当然,也可以是其他的波形或者波形的变化。其中: 
该数据写入接收模块1021用于根据辅助CPU的数据写入,触发触发信号发送模块1022; 
触发信号发送模块1022用于向所述第一硬件逻辑单元101发送触发信号; 
触发信号识别模块1011识别接收到的触发信号,以识别各第二硬件逻辑单元102的数据写入状况,即通过监控是否按时收到特定的波形或者脉冲,或者收到的波形是否发生变化来判断第二硬件逻辑单元102是否存在数据写入; 
异常上报模块1012用于根据各第二硬件逻辑单元102的数据写入状况,相应向主CPU上报; 
可以看出,由于第二硬件逻辑单元在没有数据写入时,不发送触发信号,因此第一硬件逻辑单元可以据此很容易的判断出第二硬件逻辑单元的数据写入状况;同时,第一硬件逻辑单元对第二硬件逻辑单元的监控是基于硬件实现的,具有高可靠性。 
进一步的,由于辅助CPU在启动成功前处于上电状态,硬件中断尚未执行工作,那么有可能导致主CPU误判其工作异常。为了避免这种情况,作为一个较佳的实施例,该第一硬件逻辑单元101可以包括使能寄存器(图中未示),用于在主CPU接收到一辅助CPU的注册时,使能第一硬件逻辑单元101对相应第二硬件逻辑单元的检测功能。这样,当辅助CPU复位成功之前,或者辅助CPU初始化成功之前,由于主CPU并未启动第一硬件逻辑单元101的相应检测功能,因此避免了误判情况的发生。当然,本领域普通技术人员可以理解,当主CPU识别一个辅助CPU异常并指令其复位时,还要相应的对该辅助CPU去注册,并指令第一硬件逻辑单元101关闭相应的检测功能。 
再进一步的,为了克服上述技术方案在一些软件异常的情况下,难以实 现主CPU对辅助CPU故障进行快速检测的缺陷,本发明还提供了两个改进实施例。 
其中一实施例为,辅助CPU工作状态的检测系统100中,辅助CPU中分别设有接口单元(图中未示),该接口单元与第一硬件逻辑单元101连接,用于在硬件中断时识别所在辅助CPU的运行程序状态,当出现运行程序异常时,阻断对相应第二硬件逻辑单元102的数据写入操作; 
进一步的,为了提高第一硬件逻辑单元101对于辅助CPU异常的识别速度,可以由该接口单元直接触发所述第一硬件逻辑单元101,使其上报给所述主CPU,从而实现主CPU对软件异常情况的迅速获知,使该辅助CPU处理的业务能够及时切换到备用辅助CPU或者分流到其他辅助CPU进行处理。 
另一实施例为,辅助CPU工作状态的检测系统100还包括与辅助CPU一一对应连接的硬件狗单元103,用于对相应辅助CPU运行程序进行监控,当监控到辅助CPU出现运行程序异常时,复位所述辅助CPU。这种情况下,如果辅助CPU迅速复位,那么硬件中断将在复位期间中止,并在复位之后迅速恢复,重新进行对第二硬件逻辑单元的数据写入,即辅助CPU从不正常到正常的时间符合实时性要求;如果辅助CPU的复位时间较长,那么硬件中断在预设时间甚至更长时间内不能正常工作,则第一硬件逻辑单元101可以在预设时间到达时识别辅助CPU异常,及时向主CPU执行上报,使该辅助CPU处理的业务能够及时切换到备用辅助CPU或者分流到其他辅助CPU进行处理。 
由于上述第一实施例主要克服较微小的软件故障,而另一实施例主要克服较严重的软件故障,因此,较佳的改进方案为将两个实施例结合起来使用,如图8所示。 
本发明还提供了一种多CPU设备10,包括一个主CPU 200和至少一个辅助CPU 300,还包括如上所述的辅助CPU工作状态的检测系统100,其具体连接关系请结合图6、7和8。 
由于在实际实现过程中,主CPU方面的检测组件和辅助CPU方面的检测组件可以分别由不同的厂商独立实现,因此本发明相应提供了相应的辅助CPU工作状态的检测组件。 
一种辅助CPU工作状态的检测组件包括:一主CPU,以及与该主CPU对应连接的第一硬件逻辑单元,用于监控各辅助CPU对其第二硬件逻辑单元的数据写入情况,并在超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给该主CPU; 
另一种辅助CPU工作状态的检测组件包括:一辅助CPU,以及与该辅助CPU对应连接的第二硬件逻辑单元,用于接受该辅助CPU基于硬件中断定时的数据写入操作,使主CPU的第一硬件逻辑单元能够基于该数据写入操作识别该辅助CPU的状态。 
将上述一包括主CPU的检测组件和一个或多个包括辅助CPU的检测组件结合起来,即实现一个多CPU设备。 
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。 

Claims (13)

1.一种辅助CPU工作状态的检测方法,适用于设有一个主CPU和至少一个辅助CPU的设备;其特征在于,在所述主CPU和各辅助CPU启动完成后执行以下步骤:
步骤S1:所述辅助CPU基于硬件中断定时向与其一一对应设置的第二硬件逻辑单元执行数据写入操作;且各辅助CPU分别在硬件中断时进行运行程序状态的识别,当出现运行程序异常时,阻断对相应第二硬件逻辑单元的数据写入操作;
步骤S2:与所述主CPU对应设置的第一硬件逻辑单元监控各第二硬件逻辑单元的数据写入状况;
步骤S3:当所述第一硬件逻辑单元超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给所述主CPU。
2.根据权利要求1所述的辅助CPU工作状态的检测方法,其特征在于,所述步骤S1还包括:通过为各辅助CPU分别设置的硬件狗对相应辅助CPU运行程序进行监控,当监控到所述辅助CPU出现运行程序异常时,复位所述辅助CPU。
3.根据权利要求1或2所述的辅助CPU工作状态的检测方法,其特征在于,所述步骤S2包括:
步骤S21:接收到数据写入的第二硬件逻辑单元向所述第一硬件逻辑单元发送触发信号;
步骤S22:所述第一硬件逻辑单元通过监控接收到的触发信号识别各第二硬件逻辑单元的数据写入状况。
4.根据权利要求1或2所述的辅助CPU工作状态的检测方法,其特征在于,在所述辅助CPU启动过程中还执行以下步骤:
S01:启动成功的辅助CPU向所述主CPU执行注册操作;
S02:所述主CPU接收到一辅助CPU的注册时,使能所述第一硬件逻辑单元对相应第二硬件逻辑单元的检测功能。
5.一种辅助CPU工作状态的检测系统,适用于设有一个主CPU和至少一个辅助CPU的设备;其特征在于,所述检测系统包括:
与所述辅助CPU一一对应连接的第二硬件逻辑单元,用于接受相应辅助CPU基于硬件中断定时的数据写入操作;所述辅助CPU中还分别设有接口单元,所述接口单元与所述第一硬件逻辑单元连接,用于在硬件中断时识别所在辅助CPU的运行程序状态,当出现运行程序异常时,阻断对相应第二硬件逻辑单元的数据写入操作;
与所述主CPU对应连接的第一硬件逻辑单元,与所述第二硬件逻辑单元连接,用于监控各第二硬件逻辑单元的数据写入情况,并在超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给所述主CPU。
6.根据权利要求5所述的辅助CPU工作状态的检测系统,其特征在于,还包括与所述辅助CPU一一对应连接的硬件狗单元,用于对相应辅助CPU运行程序进行监控,当监控到所述辅助CPU出现运行程序异常时,复位所述辅助CPU。
7.根据权利要求5或6所述的辅助CPU工作状态的检测系统,其特征在于,所述第二硬件逻辑单元包括相连接的数据写入接收模块和触发信号发送模块,所述第一硬件逻辑单元包括相连接的触发信号识别模块和异常上报模块;
所述数据写入接收模块用于根据辅助CPU的数据写入,触发触发信号发送模块;
所述触发信号发送模块用于向所述第一硬件逻辑单元发送触发信号;
所述触发信号识别模块识别接收到的触发信号,以识别各第二硬件逻辑单元的数据写入状况;
所述异常上报模块用于根据各第二硬件逻辑单元的数据写入状况,相应向所述主CPU上报。
8.根据权利要求5或6所述的辅助CPU工作状态的检测系统,其特征在于,所述第一硬件逻辑单元包括使能寄存器,用于在所述主CPU接收到一辅助CPU的注册时,使能所述第一硬件逻辑单元对相应第二硬件逻辑单元的检测功能。
9.根据权利要求5或6所述的辅助CPU工作状态的检测系统,其特征在于,所述第一硬件逻辑单元与所述第二硬件逻辑单元合设或分设。
10.根据权利要求5或6所述的辅助CPU工作状态的检测系统,其特征在于,所述第一硬件逻辑单元和所述第二硬件逻辑单元为可编程逻辑器件。
11.一种多CPU设备,包括一个主CPU和至少一个辅助CPU,其特征在于,还包括如权利要求5-10任一所述的辅助CPU工作状态的检测系统。
12.一种辅助CPU工作状态的检测组件,其特征在于,包括:
一主CPU;
与所述主CPU对应连接的第一硬件逻辑单元,用于监控各辅助CPU基于硬件中断对其第二硬件逻辑单元的数据写入情况,并在超出预设时间未检测到某一第二硬件逻辑单元的数据写入时,识别对应的辅助CPU异常并上报给所述主CPU;且所述辅助CPU在硬件中断时进行运行程序状态的识别,当出现运行程序异常时,阻断对相应第二硬件逻辑单元的数据写入操作。
13.一种辅助CPU工作状态检测组件,其特征在于,包括:
一辅助CPU;
与所述辅助CPU对应连接的第二硬件逻辑单元,用于接受所述辅助CPU基于硬件中断定时的数据写入操作,使主CPU的第一硬件逻辑单元能够基于该数据写入操作识别所述辅助CPU的异常状态并上报给所述主CPU;且所述辅助CPU在硬件中断时进行运行程序状态的识别,当出现运行程序异常时,阻断对相应第二硬件逻辑单元的数据写入操作。
CN2008101473702A 2008-08-12 2008-08-12 辅助cpu工作状态的检测方法、系统、组件及多cpu设备 Active CN101324855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101473702A CN101324855B (zh) 2008-08-12 2008-08-12 辅助cpu工作状态的检测方法、系统、组件及多cpu设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101473702A CN101324855B (zh) 2008-08-12 2008-08-12 辅助cpu工作状态的检测方法、系统、组件及多cpu设备

Publications (2)

Publication Number Publication Date
CN101324855A CN101324855A (zh) 2008-12-17
CN101324855B true CN101324855B (zh) 2011-05-04

Family

ID=40188402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101473702A Active CN101324855B (zh) 2008-08-12 2008-08-12 辅助cpu工作状态的检测方法、系统、组件及多cpu设备

Country Status (1)

Country Link
CN (1) CN101324855B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902436A (zh) * 2009-05-31 2010-12-01 华为技术有限公司 板间通信方法、装置及系统
CN102063356B (zh) * 2009-11-18 2014-05-21 杭州华三通信技术有限公司 一种多中央处理单元cpu心跳检测系统及方法
TW201126335A (en) 2010-01-26 2011-08-01 Chi Mei Comm Systems Inc System and method for detecting components
CN102135919A (zh) * 2010-01-27 2011-07-27 深圳富泰宏精密工业有限公司 元件侦测系统及方法
US20130326539A1 (en) * 2011-03-24 2013-12-05 Renesas Electronics Corporation Semiconductor device
CN102981587A (zh) * 2012-12-28 2013-03-20 中国电子科技集团公司第五十四研究所 一种适用于多核处理器的复位方法
CN104079454B (zh) * 2014-07-11 2017-12-29 新华三技术有限公司 一种设备异常检测方法和设备
CN105912416B (zh) * 2016-04-07 2019-06-28 珠海市魅族科技有限公司 一种在终端中监测处理器的方法及终端
CN108228440A (zh) * 2016-12-13 2018-06-29 比亚迪股份有限公司 Cpu程序指针的检测方法和装置
CN107182134A (zh) * 2017-06-05 2017-09-19 柳州市盛景科技有限公司 一种警示智能网关
CN107436859A (zh) * 2017-08-04 2017-12-05 湖南利能科技股份有限公司 一种基于amp的数据采集方法
CN108153648B (zh) * 2017-12-27 2021-04-20 西安奇维科技有限公司 一种实现灵活调度的多冗余计算机的方法
CN108878400A (zh) * 2018-05-21 2018-11-23 阮晓萍 一种芯片故障自诊断方法
CN112068463A (zh) * 2020-08-06 2020-12-11 许昌许继软件技术有限公司 一种控制启动继电器的辅助接口模块及控制方法
CN112631872B (zh) * 2020-12-30 2024-02-23 上海金卓科技有限公司 一种多核系统的异常处理方法及装置

Also Published As

Publication number Publication date
CN101324855A (zh) 2008-12-17

Similar Documents

Publication Publication Date Title
CN101324855B (zh) 辅助cpu工作状态的检测方法、系统、组件及多cpu设备
CN101488844B (zh) 一种板间通信链路切换控制的方法和系统以及一种接口板
US8037352B2 (en) Method for auto power restoration
CN109525434B (zh) 一种基于机载设备板卡的冗余备份方法
CN102315966B (zh) 一种业务单板、以及故障检测及上报方法和系统
US20020120884A1 (en) Multi-computer fault detection system
CN103442035A (zh) 一种空管自动化系统的双网热备冗余实现方法
WO2016095344A1 (zh) 链路切换方法、装置及线卡
CN104283718A (zh) 网络设备及用于网络设备的硬件故障诊断方法
US8923138B2 (en) Packet relay device, packet relay system, and fault detection method
JP2007058708A (ja) 多重系システム
CN104536853B (zh) 一种保障双控制器存储设备资源连续可用性的装置
CN100364246C (zh) 一种通信网络设备中实现单板备份的方法及装置
CN101458642A (zh) 计算机监控终端及监控方法
CN101867495A (zh) 以太网自动保护链路故障快速切换方法
CN101848165B (zh) 控制通信链路中断后恢复的方法和接口板
CN105553735A (zh) 一种堆叠系统故障处理方法、设备及堆叠系统
US7724646B2 (en) System and method for implementing service switching
US20090238083A1 (en) Line monitoring apparatus and line monitoring method
CN102143002A (zh) 一种单板备份方法及系统
JP2008288716A (ja) ディジタル電子装置
CN112822039B (zh) 双机热备系统主备模式切换的方法
CN114095462A (zh) 一种雷达处理机srio通信系统的容错方法及系统
KR101465991B1 (ko) 보안 기능이 구비된 네트워크 제어 장치
CN109391544B (zh) 2g/3g/4g路由器死机自动重启方法和电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.