CN105446852B - 一种级联式心跳设计方法 - Google Patents
一种级联式心跳设计方法 Download PDFInfo
- Publication number
- CN105446852B CN105446852B CN201410508282.6A CN201410508282A CN105446852B CN 105446852 B CN105446852 B CN 105446852B CN 201410508282 A CN201410508282 A CN 201410508282A CN 105446852 B CN105446852 B CN 105446852B
- Authority
- CN
- China
- Prior art keywords
- node
- equipment
- heartbeat
- prime
- heart
- 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
Links
Landscapes
- Selective Calling Equipment (AREA)
- Debugging And Monitoring (AREA)
Abstract
随着航空技术的迅猛发展,航空电子系统正向开放式、综合化、模块化的方向发展。在嵌入式计算设备高度集成的今天,设备内的多模块交互、系统内的多设备交互已是航空电子系统普遍的实现方式。这种方式带来了系统强大的运行能力,同时也给系统的测试性提出了挑战,如何在众多计算单元中诊断出故障点成为可靠航电系统的必备能力之一。本发明针对多模块的复杂级联系统提出一种心跳设计方法,在其运行过程中,可以通过模块自身反应出本模块以及其前级模块故障情况,并传递给后级模块知晓。本发明方法在多模块的设备内部以及多设备的系统内部均具有实用价值。
Description
技术领域
本发明属于复杂机载电子系统的故障检测技术,涉及一种高可靠级联序列的心跳设计方法。
背景技术
随着航空技术的迅猛发展,航空电子系统正向开放式、综合化、模块化的方向发展。在嵌入式计算设备高度集成的今天,设备内的多模块交互、系统内的多设备交互已是航空电子系统普遍的实现方式。这种方式带来了系统强大的运行能力,同时也给系统的测试性提出了挑战,如何在众多计算单元中诊断出故障点成为可靠航电系统的必备能力之一。心跳监控是多个计算单元间通讯监控的有效方法之一,传统的心跳监控一般用于两两通讯模块之间,采用应答式方式,周期判断相互之间通讯状况。但对于较多计算单元的大型系统或设备,多个模块间均具有级联或者交联式通讯需求,本级模块获取的信息,往往是前一级模块从前两级模块处获取并转发,采用传统方式心跳,仅能判断出前一级模块状态,却不能判断出所有前级模块状态。本发明提出的级联序列式心跳设计,有效地解决了多级模块间健康状态监控级联交互问题,实现了多模块复杂系统间的健康监控。
发明内容
本发明的目的是提出一种对于多单元多模块的复杂级联系统,在运行过程中,如何通过模块自身反应本模块及其前级模块故障情况,并使下级模块知晓的心跳设计方法。在多模块的设备内部以及多设备的系统内部均具有实用价值。
本发明的技术解决方案
一种级联式心跳设计方法,其特征是,本方法基于若干个计算节点相互交联组成的网络系统,其心跳设计方法步骤如下:
第一步,根据网络系统中心跳的监控需求,画出心跳流图,并将心跳流图分解为若干单向心跳子图,单向心跳子图中计算节点分为始节点、中间节点以及末节点,其中,始节点为仅向后级节点发送心跳的节点,中间节点为既接收前级节点的心跳,同时又向后级节点发送心跳的节点,末节点为仅接收前级节点心跳的节点;若在分解心跳流图时,存在个别节点与其他节点构成循环心跳监控,则该节点应至少被包含在三种心跳子图中,在每种子图中,该节点分别担任始节点、中间节点以及末节点;
第二步,对每一张心跳子图区分出所有始节点、中间节点、模块节点;从始节点起开始对所有节点进行心跳分配,每个始节点需要至少两个心跳编号以组成一个心跳序列,每个中间节点需要至少一个心跳编号、每个末节点不需要心跳编号,每个心跳编号为一个自然数,心跳编号之间无重复;
第三步,工作模式下,始节点以一定周期向后级节点发送第二步中分配到的心跳序列,若始节点工作正常,则每一个后级节点按照预定期望收到该始节点在第二步中分配到的心跳序列;若始节点出现故障,后级节点收到不同的心跳序列,或收不到任何序列,则后级节点发现始节点故障,并报告始节点故障;
第四步,中间节点每个前一级节点的预定期望心跳序列为:所有前两级节点工作正常时依据4.1向前一级节点发送的心跳序列及该前一级节点自身在第二步中分配到的心跳编号合并而成;
工作模式下,中间节点首先依据每个前一级节点的预定期望心跳序列对收到该前一级节点的心跳序列进行判断,并根据判断结果向后一级节点发送心跳序列,分为三种情况:
4.1若每个前一级节点的心跳序列都与该节点预定期望心跳序列一致,则认为所有前级节点工作正常,该中间节点向后一级节点发送的心跳序列如下:由该中间节点的所有前一级节点的心跳序列及该中间节点自身在第二步中分配到的心跳编号合并而成;
4.2若部分前一级节点的心跳序列与该节点预定期望心跳序列不一致,则根据第二步心跳序列编码发现对应的工作故障的节点,并报告相应的节点故障,此时该中间节点向后一级节点发送的心跳序列如下:由该中间节点的所有正常前一级节点的心跳序列及该中间节点自身在第二步中分配到的心跳编号合并而成;
4.3若所有前一级节点的心跳序列都与该节点预定期望心跳序列不一致,则根据第二步心跳序列编码发现对应的工作故障的节点,发现所有前级节点工作故障,并报告所有节点故障,此时该中间节点向后级节点发送的心跳序列如下:由该中间节点的所有前级节点的心跳序列中的最大值编号及该中间节点自身在第二步中分配到的心跳编号合并而成;
第五步,工作模式下,末节点对收到的每个前级节点心跳序列进行判断,若部分前级节点的心跳序列与该节点预定期望心跳序列不一致,则发现这部分前级节点工作故障,并报告相应的节点故障;
第六步,在完成前五步所有心跳序列设计后,对于同一个节点,如果出现心跳序列不同,但故障表示的含意相同,选择采用其中序列数值和最小的心跳序列;
本发明的优点和积极效果:
通过描述将所有计算单元简单通讯图以及心跳健康的心跳需求,描述出相应的心跳流图,对每一张单向心跳流图进行始节点、中间节点、末节点分类。针对始节点、中间节点、末节点进行心跳编号分配,形成每个节点的心跳序列,针对每一种接收到的序列,节点可以判断出它的前级节点状态。由此可以判断出自身所使用的信号源是否正常,信息是否可靠。
对于多计算模块相互交织的系统,级联心跳设计,可以提供一种多远端数据源数据可靠性的判断,级联心跳将不仅局限于两两模块之间的健康监控,而能反映出级联下的多层前级模块的健康状态,这种功能是的本级模块对远端数据的可靠性提供了一种辨识依据。同时级联心跳设计采用跳变式非应答心跳,能够区别出模块的通讯链路故障以及CPU故障,具有较大的信息量。
通过该方法设计出的心跳监控体系具有:满足监控需求、代码量小、可靠性高、系统开销小、信息量大、设计简单等特点。
附图说明
图1是本发明级联心跳示意图;
图2是本发明模块间的心跳流示意图;
图3是本发明分解后的单向心跳流示意图之一;
图4是本发明分解后的单向心跳流示意图之二;
图5是本发明始节点与下一级节点的心跳关联图;
图6是本发明中间节点与上下一级节点的心跳关联图;
图7是本发明末节点与上一级节点的心跳关联图;
图8是本发明实施例的系统心跳流示意图;
图9是本发明实施例的系统心跳流分解后的单向心跳流示意图之一及心跳编号;
图10是本发明实施例的系统心跳流分解后的单向心跳流示意图之二及心跳编号;
图11是本发明实施例的系统心跳流分解后的单向心跳流示意图之三及心跳编号;
图12是本发明实施例的单向心跳流示意图一的节点心跳序列分配;
图13是本发明实施例的单向心跳流示意图二的节点心跳序列分配;
图14是本发明实施例的单向心跳流示意图三的节点心跳序列分配;
具体实施方式
下面对本发明作进一步详细说明。
本发明解决的主要问题是当多个设备或者多个模块级联交互成一个大型系统或者设备时,在处理数据时,如何判断数据源头可靠性的问题。例如当一个数据经过了1、2、3个处理模块后供第4个模块使用,此时使用信息的模块不知道这个数据是否有效,以传统的心跳设计,4模块可以知道它的前级3模块是否健康,但此时依然不能排除它的更前级1或2模块是否健康。这种健康又分为两种,一种是全然没有数据,仅仅是由3模块在“臆想”得向下传递假数据,另一种是1、2模块的计算CPU已经故障,但数据收发的执行机构仍在重复最后一次的正确数据。这种状况为假健康状态。这两种假健康状态以传统的心跳监控机制很难发现。本发明较好的解决了心跳级联传递,以及跳动变化问题,如图1所示。
根据系统结构,确定各设备(功能模块)间的信号流关系,画出级联节点图,多所有模块进行顺序编号;并根据级联节点图,按照监控需求画出心跳图,如图2所示,确定各模块间的心跳关系;
将两两互联的心跳图分离成若干个单向的心跳子图,如图3、图4所示,所有心跳子图要求无重复、无遗漏的覆盖所有模块和心跳;对于图3而言,数据单向传输,将图中各节点模块分为三种情况:始节点、中间节点、末节点,如图5、图6、图7所示。在图3中,始节点为模块1,末节点为模块m,其余模块2到模块m-1为中间节点;
在每一张心跳子图内对所有节点进行编号,区分出所有始节点、中间节点、模块节点;从始节点起开始对所有节点进行心跳分配,每个始节点需要两个心跳编号,每个中间节点需要一个心跳编号、每个末节点不需要心跳编号,所有心跳编号采用自然数序列,无重复的使用。如图9、图10、图11所示,给设备(模块)A到G分别进行了心跳编号。
如图5所示为始节点与下一级节点的心跳关联图,始节点以一定心跳周期,循环较低发送心跳编号所规定的心跳序列;若始节点工作正常,则每一个后级节点收到按照预定期望收到始节点的心跳序列;若始节点出现故障,则后级节点收到不同于预期始节点的心跳序列,或收不到任何信号,则后级节点发现始节点故障,并报告始节点故障。
中间节点根据每个前一级节点的预定期望心跳序列接收状况并结合自身分配的心跳编号,向后级节点传递心跳信息。当中间节点在接收的前级节点心跳序列中,发现出现表示故障信息的预期心跳,那么这种故障信息将通过中间节点向后级传递。中间节点接收前级节点的心跳序列是具有预期的,每种预期心跳都能表示前级节点发生的一个故障情形。对于中间节点而言,中间节点需要在这些收到的预期序列中添加自己的心跳编号,以形成包含自身健康信息以及前级节点健康信息的新的心跳序列并向后传递。对于中间节点不能按照预期接收到任何前级节点的心跳序列或者接收不到任何序列,则中间节点仅向后级传递自身健康状况的心跳序列,以通知后级节点该中间节点的前级节点均出现故障。
对于末节点而言,末节点仅接收心跳序列,而不传递心跳序列,因此末节点仅需要根据前级的所有心跳序列期望,对实际接收到的心跳序列进行判断,用于诊断出前级所能出现的故障情形。
在相互交联的心跳流图中,需要将每个心跳流图分解为多张单向心跳子图,由于每张心跳子图的心跳编号都是不重复自然序数,因此每张图所形成的心跳序列一定是不同的,但由于在不同心跳子图中,其心跳流向可能部分重叠,会出现对于一个节点而言,故障表意相同,但心跳序列却不同的情形,遇到这种情形,应选择序列和值最小的序列,删去多余的心跳序列。
相互交联的心跳流图中,拆分心跳子图可能会遇到某些节点在一个心跳循环中,即是始节点,又是中间节点,同时也是末节点的情形。在这种情形下应在所拆分的若干张心跳流图中,使该节点分别担任一次始节点、一次中间节点、一次末节点。这样就可以保证该节点的心跳信息不会遗失。
对于任意非始节点,其接收前级心跳,通过与预期心跳进行周期比对,当连续接收到的心跳与预期不一致或者根本收不到任何心跳时,可以认定为前级发生了故障。这种故障的最终判定需要设定一个错误阈值M和一个恢复阈值N,当连续M个周期心跳数值均不能构成完整健康序列的话,则认定前级节点故障;当连续接收多达N个完整健康序列的话,则认定前级节点故障恢复。
采用本方法设定的健康心跳序列均为跳变式心跳序列,故障分析时,一般序列错误判定为前级节点计算单元故障;一般接收不到序列判定为前级节点数据链路层故障;
实施例
以设备间心跳为例,某型飞机航电系统具有A、B、C、D、E、F、G一共7个设备,设备之间通过不同总线进行信息传输,其信号流图如图9所示。现在需要对每个设备进行心跳监控,用以对每条信息传输的数据有效性给出判断依据,现按照本发明给出级联心跳设计步骤如下:
首先,根据网络系统中心跳的监控需求,画出心跳流图,由于需要对每个设备均进行心跳监控,因此心跳流图与信号流图一致,如图9所示。
将心跳流图分解为三张单向心跳子图,如图10、图11、图12所示。对于具有循环心跳的设备B,分别在三张单向心跳子图担任始节点、中间节点、末节点角色。
按照第二步要求对每张心跳子图进行心跳编号分配,分配结果如图10、图11、图12所示。
按照第三步要求对每张心跳子图分配心跳序列,分配结果如图13、图14所示。
合并三张信号流图,并设定错误阈值为M,恢复阈值为N,“→”表示设备周期发出的心跳序列,“←”表示设备连续接收的满足阈值M的心跳序列;则分别针对设备A、设备B、设备C、设备D、设备E、设备F设计心跳及其含义如下;
设备A周期接收心跳序列,在单向心跳流图9中,节点A的心跳为如下情形:
1)A→[0,1],向后级设备周期发送自身健康状态,代表A设备工作正常;
2)A←[6,7,8,10,11]代表设备A的前级设备G→F→B→C→A工作正常;
3)A←[7,8,10,11]代表设备A的前级设备F→B→C→A工作正常,其前级设备G故障;
4)A←[8,10,11]代表设备A的前级设备B→C→A工作正常,其前级F设备故障;
5)A←[10,11]代表设备A的前级设备C→A工作正常,其前级设备B故障;
设备A周期接收心跳序列,在单向心跳流图10中,节点A的心跳为如下情形:
6)A←[6,7,8,9,11]代表设备A的前级设备G→F→D→C→A工作正常;
7)A←[7,8,9,11]代表设备A的前级设备F→D→C→A工作正常,其前级设备G故障;
8)A←[8,9,11]代表设备A的前级设备D→C→A工作正常,其前级设备F故障;
9)A←[9,11]代表设备A的前级设备C→A工作正常,其前级设备D故障;
设备A周期接收心跳序列,在单向心跳流图11中,节点A的心跳为如下情形:
10)A←[11,12,13,15]代表设备A的前级设备E→D→C→A工作正常;
11)A←[12,13,15]代表设备A的前级设备D→C→A工作正常,其前级设备E故障;
12)A←[13,15]代表设备A的前级设备C→A工作正常,其前级设备D故障;
其中第9,12条,节点A的输出心跳均为表示设备A的前级设备C→A工作正常,其前级设备D故障;根据第六步,采用心跳序列和最小的心跳序列,即[9,11]代表设备A的前级设备C→A工作正常,其前级设备D故障;
合并单向心跳流图9、图10、图11,所以最终设备A的心跳设计为:
1)A→[0,1],向后级设备周期发送自身健康状态,代表设备A工作正常;
2)A←[6,7,8,10,11]代表设备A的前级设备G→F→B→C→A工作正常;
3)A←[7,8,10,11]代表设备A的前级设备F→B→C→A工作正常,其前级设备G故障;
4)A←[8,10,11]代表设备A的前级设备B→C→A工作正常,其前级F设备故障;
5)A←[10,11]代表设备A的前级设备C→A工作正常,其前级设备B故障;
6)A←[6,7,8,9,11]代表设备A的前级设备G→F→D→C→A工作正常;
7)A←[7,8,9,11]代表设备A的前级设备F→D→C→A工作正常,其前级设备G故障;
8)A←[8,9,11]代表设备A的前级设备D→C→A工作正常,其前级设备F故障;
9)A←[11,12,13,15]代表设备A的前级设备E→D→C→A工作正常;
10)A←[12,13,15]代表设备A的前级设备D→C→A工作正常,其前级设备E故障;
11)A←[9,11]代表设备A的前级设备C→A工作正常,其前级设备D故障;
设备B周期接收心跳序列,在单向心跳流图9中,节点B的心跳为如下情形:
1)B→[2,3],向后级设备周期发送自身健康状态,代表B设备工作正常;
设备B周期接收心跳序列,在单向心跳流图10中,节点B的心跳为如下情形:
2)B←[6,7,8]代表设备B的前级设备G→F→B工作正常,此时设备B向后级发送心跳序列[6,7,8,10],代表设备B以及其前级设备G→F→B→工作正常;
3)B←[7,8]代表设备B的前级设备F→B工作正常,前级设备G故障,此时设备B向后级发送心跳序列[7,8,10],代表设备B以及其前级设备F→B→工作正常,前级设备G故障;
4)B收到未知序列或收不到任何序列,代表设备B的前级设备F工作异常,此时设备B向后级发送心跳序列[8,10];
设备B周期接收心跳序列,在单向心跳流图11中,节点B的心跳为如下情形:
5)B←[11,12,13,14]代表设备B的前级设备E→D→F→B工作正常;
6)B←[12,13,14]代表设备B的前级设备D→F→B工作正常,前级设备E故障;
7)B←[13,14]代表设备B的前级设备F→B工作正常,前级设备D故障;
合并单向心跳流图9、图10、图11,所以最终设备B的心跳设计为:
1)B→[2,3],向后级设备周期发送自身健康状态,代表B设备工作正常;
2)B←[6,7,8]代表设备B的前级设备G→F→B工作正常,此时设备B向后级发送心跳序列[6,7,8,10],代表设备B以及其前级设备G→F→B→工作正常;
3)B←[7,8]代表设备B的前级设备F→B工作正常,前级设备G故障,此时设备B向后级发送心跳序列[7,8,10],代表设备B以及其前级设备F→B→工作正常,前级设备G故障;
4)B收到未知序列或收不到任何序列,代表设备B的前级设备F工作异常,此时设备B向后级发送心跳序列[8,10];
5)B←[11,12,13,14]代表设备B的前级设备E→D→F→B工作正常;
6)B←[12,13,14]代表设备B的前级设备D→F→B工作正常,前级设备E故障;
7)B←[13,14]代表设备B的前级设备F→B工作正常,前级设备D故障;
同理,设备C的心跳设计为:
1)C←[0,1]并且C←[2,3]代表设备C的前级设备A→C工作正常并且前级设备B→C工作也正常,此时设备C向后级发送心跳序列[0,1,2,3,4],代表设备C以及其前级设备A→C,B→C均工作正常;
2)C←[0,1]代表设备C的前级设备A→C工作正常,前级设备B工作故障,此时设备C向后级发送心跳序列[0,1,4],代表设备C以及其前级设备A→C工作正常,前级设备B工作故障;
3)C←[2,3]代表设备C的前级设备B→C工作正常,前级设备A工作故障,此时设备C向后级发送心跳序列[2,3,4],代表设备C以及其前级设备B→C工作正常,前级设备A工作故障;
4)C收到来自设备A、设备B的未知序列或收不到来自A、设备B的任何序列,代表设备C的前级设备A、B均工作异常,此时设备C向后级发送心跳序列[3,4],代表设备C工作正常,前级设备A、B工作故障;
5)C←[6,7,8,9]代表设备C的前级设备G→F→D→C工作正常,此时设备C向后级发送心跳序列[6,7,8,9,11],代表设备C以及其前级设备G→F→D→C→工作正常;
6)C←[7,8,9]代表设备C的前级设备F→D→C工作正常,前级设备G故障,此时设备C向后级发送心跳序列[7,8,9,11],代表设备C以及其前级设备F→D→C→工作正常,前级设备G故障;
7)C←[8,9]代表设备C的前级设备D→C工作正常,前级设备F故障,此时设备C向后级发送心跳序列[8,9,11],代表设备C以及其前级设备D→C→工作正常,前级设备F故障;
8)C收到来自设备D的未知序列或收不到来自设备D的任何序列,代表设备C的前级设备D工作异常,此时设备C向后级发送心跳序列[9,11];
9)C←[6,7,8,10]代表设备C的前级设备G→F→B→C工作正常,此时设备C向后级发送心跳序列[6,7,8,10,11],代表设备C以及其前级设备G→F→B→C→工作正常;
10)C←[7,8,10]代表设备C的前级设备F→B→C工作正常,前级设备G故障,此时设备C向后级发送心跳序列[7,8,10,11],代表设备C以及其前级设备F→B→C→工作正常,前级设备G故障;
11)C←[8,10]代表设备C的前级设备B→C工作正常,前级设备F故障,此时设备B向后级发送心跳序列[8,10,11],代表设备C以及其前级设备B→C→工作正常,前级设备F故障;
12)C收到来自设备B的未知序列或收不到来自设备B的任何序列,代表设备C的前级设备B工作异常,此时设备C向后级发送心跳序列[10,11];
13)C←[11,12,13]代表设备C的前级设备E→D→C工作正常,此时设备C向后级发送心跳序列[11,12,13,15],代表设备C以及其前级设备E→D→C→工作正常;
14)C←[12,13]代表设备C的前级设备D→C工作正常,前级设备E故障,此时设备C向后级发送心跳序列[12,13,15],代表设备C以及其前级设备D→C→工作正常,前级设备E故障;
同理,设备D的心跳设计为:
1)D←[0,1,2,3,4]代表设备D的前级设备A→C→D工作正常并且B→C→D工作也正常,此时设备D向后级发送心跳序列[0,1,2,3,4,5],代表设备D以及其前级设备A→C→D→,B→C→D→均工作正常;
2)D←[0,1,4]代表设备D的前级设备A→C→D工作正常,前级设备B→C→D工作故障,此时设备D向后级发送心跳序列[0,1,4,5],代表设备D以及其前级设备A→C→D→工作正常,B工作故障;
3)D←[2,3,4]代表设备D的前级设备B→C→D工作正常,前级设备A→C→D工作故障,此时设备D向后级发送心跳序列[2,3,4,5],代表设备D以及其前级设备B→C→D→工作正常,A工作故障;
4)D←[3,4]代表设备D的前级设备B→C→D、A→C→D均工作故障,此时设备D向后级发送心跳序列[3,4,5],代表设备D以及其前级设备B、A均工作故障;
5)D收到来自设备C的未知序列或收不到来自设备C的任何序列,代表设备D的前级设备C工作异常,此时设备C向后级发送心跳序列[4,5];
6)D←[6,7,8,]代表设备C的前级设备G→F→D工作正常,此时设备D向后级发送心跳序列[6,7,8,9],代表设备D以及其前级设备G→F→D→工作正常;
7)D←[7,8]代表设备D的前级设备F→D工作正常,前级设备G故障,此时设备C向后级发送心跳序列[7,8,9],代表设备D以及其前级设备F→D→工作正常,前级设备G故障;
8)D收到来自设备F的未知序列或收不到来自设备F的任何序列,代表设备D的前级设备F工作异常,此时设备D向后级发送心跳序列[8,9];
9)D←[11,12]代表设备D的前级设备E→D工作正常,此时设备D向后级发送心跳序列[11,12,13],代表设备D以及其前级设备E→D→工作正常;
10)D收到来自设备E的未知序列或收不到来自设备E的任何序列,代表设备D的前级设备E工作异常,此时设备D向后级发送心跳序列[12,13];
设备E的心跳设计为:
1)E→[11,12],向后级设备周期发送自身健康状态,代表设备E工作正常;
2)E←[0,1,2,3,4,5]代表设备E的前级设备A→C→D→E工作正常,前级设备B→C→D→E工作正常;
3)E←[0,1,4,5]代表设备E的前级设备A→C→D→E工作正常,前级设备B工作故障;
4)E←[2,3,4,5]代表设备E的前级设备B→C→D→E工作正常,前级设备A工作故障;
5)E←[3,4,5]代表设备E的前级设备C→D→E工作正常,前级设备A工作故障,前级设备B工作故障;
6)E←[4,5]代表设备E的前级设备D→E工作正常,前级设备C工作故障;
7)E←[6,7,8,9]代表设备E的前级设备G→F→D→E工作正常;
8)E←[7,8,9]代表设备E的前级设备F→D→E工作正常,其前级设备G故障;
9)E←[8,9]代表设备E的前级设备D→E工作正常,其前级设备F故障;
10)E收到来自设备D的未知序列或收不到来自设备D的任何序列,代表设备E的前级设备D工作异常;
设备F的心跳设计为:
1)F←[0,1,2,3,4,5]代表设备F的前级设备A→C→D→F工作正常,前级设备B→C→D→F工作正常;
2)F←[0,1,4,5]代表设备F的前级设备A→C→D→F工作正常,前级设备B工作故障;
3)F←[2,3,4,5]代表设备F的前级设备B→C→D→F工作正常,前级设备A工作故障;
4)F←[3,4,5]代表设备F的前级设备C→D→F工作正常,前级设备A工作故障,前级设备B工作故障;
5)F←[4,5]代表设备F的前级设备D→F工作正常,前级设备C工作故障;
6)F←[6,7]代表设备F的前级设备G→F工作正常,此时设备F向后级发送心跳序列[6,7,8],代表设备F以及其前级设备G→F→工作正常;
7)F收到来自设备G的未知序列或收不到来自设备G的任何序列,代表设备F的前级设备G工作异常,此时设备F向后级发送心跳序列[7,8];
8)F←[11,12,13]代表设备F的前级设备E→D→F工作正常,此时设备F向后级发送心跳序列[11,12,13,14],代表设备F以及其前级设备E→D→F→工作正常;
9)F←[12,13]代表设备F的前级设备D→F工作正常,前级设备E故障,此时设备F向后级发送心跳序列[12,13,14],代表设备F以及其前级设备D→F→工作正常,前级设备E故障;
10)F收到来自设备D的未知序列或收不到来自设备D的任何序列,代表设备F的前级设备D工作异常,此时设备F向后级发送心跳序列[13,14]。
Claims (1)
1.一种级联式心跳设计方法,其特征是,本方法基于若干个计算节点相互交联组成的网络系统,其心跳设计方法步骤如下:
第一步,根据网络系统中心跳的监控需求,画出心跳流图,并将心跳流图分解为若干单向心跳子图,单向心跳子图中计算节点分为始节点、中间节点以及末节点,其中,始节点为仅向后级节点发送心跳的节点,中间节点为既接收前级节点的心跳,同时又向后级节点发送心跳的节点,末节点为仅接收前级节点心跳的节点;若在分解心跳流图时,存在个别节点与其他节点构成循环心跳监控,则该节点应至少被包含在三种心跳子图中,在每种子图中,该节点分别担任始节点、中间节点以及末节点;
第二步,对每一张心跳子图区分出所有始节点、中间节点、模块节点;从始节点起开始对所有节点进行心跳分配,每个始节点需要至少两个心跳编号以组成一个心跳序列,每个中间节点需要至少一个心跳编号、每个末节点不需要心跳编号,每个心跳编号为一个自然数,心跳编号之间无重复;
第三步,工作模式下,始节点以一定周期向后级节点发送第二步中分配到的心跳序列,若始节点工作正常,则每一个后级节点按照预定期望收到该始节点在第二步中分配到的心跳序列;若始节点出现故障,后级节点收到不同的心跳序列,或收不到任何序列,则后级节点发现始节点故障,并报告始节点故障;
第四步,中间节点每个前一级节点的预定期望心跳序列为:所有前两级节点工作正常时依据4.1向前一级节点发送的心跳序列及该前一级节点自身在第二步中分配到的心跳编号合并而成;
工作模式下,中间节点首先依据每个前一级节点的预定期望心跳序列对收到该前一级节点的心跳序列进行判断,并根据判断结果向后一级节点发送心跳序列,分为三种情况:
4.1若每个前一级节点的心跳序列都与该节点预定期望心跳序列一致,则认为所有前级节点工作正常,该中间节点向后一级节点发送的心跳序列如下:由该中间节点的所有前一级节点的心跳序列及该中间节点自身在第二步中分配到的心跳编号合并而成;
4.2若部分前一级节点的心跳序列与该节点预定期望心跳序列不一致,则根据第二步心跳序列编码发现对应的工作故障的节点,并报告相应的节点故障,此时该中间节点向后一级节点发送的心跳序列如下:由该中间节点的所有正常前一级节点的心跳序列及该中间节点自身在第二步中分配到的心跳编号合并而成;
4.3若所有前一级节点的心跳序列都与该节点预定期望心跳序列不一致,则根据第二步心跳序列编码发现对应的工作故障的节点,发现所有前级节点工作故障,并报告所有节点故障,此时该中间节点向后级节点发送的心跳序列如下:由该中间节点的所有前级节点的心跳序列中的最大值编号及该中间节点自身在第二步中分配到的心跳编号合并而成;
第五步,工作模式下,末节点对收到的每个前级节点心跳序列进行判断,若部分前级节点的心跳序列与该节点预定期望心跳序列不一致,则发现这部分前级节点工作故障,并报告相应的节点故障;
第六步,在完成前五步所有心跳序列设计后,对于同一个节点,如果出现心跳序列不同,但故障表示的含意相同,选择采用其中序列数值和最小的心跳序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410508282.6A CN105446852B (zh) | 2014-09-28 | 2014-09-28 | 一种级联式心跳设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410508282.6A CN105446852B (zh) | 2014-09-28 | 2014-09-28 | 一种级联式心跳设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446852A CN105446852A (zh) | 2016-03-30 |
CN105446852B true CN105446852B (zh) | 2018-04-10 |
Family
ID=55557084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410508282.6A Active CN105446852B (zh) | 2014-09-28 | 2014-09-28 | 一种级联式心跳设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446852B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255646B (zh) * | 2018-01-17 | 2022-02-01 | 重庆大学 | 一种基于心跳检测的工控应用程序故障自恢复的方法 |
CN109088794A (zh) * | 2018-08-20 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种节点的故障监测方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933427A (zh) * | 2005-09-12 | 2007-03-21 | 上海新纳广告传媒有限公司 | 基于udp协议的网络心跳监控系统及其方法 |
CN103544092A (zh) * | 2013-11-05 | 2014-01-29 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于arinc653标准机载电子设备健康监控体系 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060268729A1 (en) * | 2005-05-27 | 2006-11-30 | Alcatel | Methods and apparatus for monitoring link integrity for signaling traffic over a path traversing hybrid ATM/Ethernet infrastructure in support of packet voice service provisioning |
-
2014
- 2014-09-28 CN CN201410508282.6A patent/CN105446852B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933427A (zh) * | 2005-09-12 | 2007-03-21 | 上海新纳广告传媒有限公司 | 基于udp协议的网络心跳监控系统及其方法 |
CN103544092A (zh) * | 2013-11-05 | 2014-01-29 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于arinc653标准机载电子设备健康监控体系 |
Also Published As
Publication number | Publication date |
---|---|
CN105446852A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104796273B (zh) | 一种网络故障根源诊断的方法和装置 | |
CN105807722B (zh) | 具备内部寄存器自复位功能的数值控制系统 | |
CN103139011A (zh) | 用于车内通信的综合故障诊断和预测 | |
CN106056269A (zh) | 一种基于贝叶斯网络模型的微纳卫星星务健康管理系统 | |
CN103487723A (zh) | 电力系统故障诊断方法及系统 | |
CN102684902B (zh) | 基于探针预测的网络故障定位方法 | |
CN104468175A (zh) | 用于隔离控制器局域网络中的故障的方法和装置 | |
CN102104515A (zh) | 耦合装置、包括耦合装置的系统和用于该系统的方法 | |
CN105446852B (zh) | 一种级联式心跳设计方法 | |
CN109670610A (zh) | 基于故障传播分析的故障诊断优化方法 | |
CN102662831A (zh) | 一种容错系统诊断策略优化方法 | |
JP6657885B2 (ja) | データ収集装置及び光伝送システム | |
CN105786763B (zh) | 一种设备集成系统网络的故障传播路径的生成方法 | |
CN104022907A (zh) | 一种校园网的故障侦测系统与方法 | |
CN101667953B (zh) | 一种快速环网物理链路状态的上报方法及装置 | |
CN104468224A (zh) | 一种双重过滤的数据中心监控系统故障告警方法 | |
CN105954607A (zh) | 一种高铁信号系统故障检测方法和系统 | |
CN101132265A (zh) | 内嵌误码检测仪、监测通信设备间通信状况的方法 | |
CN1630255A (zh) | 分析通信网络的测量结果选择的系统和方法 | |
Ye et al. | Diagnosability analysis of discrete event systems with autonomous components | |
CN109039761A (zh) | 集群控制通道中故障链路处理方法和装置 | |
CN101202691B (zh) | 环型网络及用于环型网络的公平执行程序 | |
JP6378653B2 (ja) | サービス影響原因推定装置、サービス影響原因推定プログラム、及びサービス影響原因推定方法 | |
CN107819618B (zh) | 一种小卫星表决式通信异常诊断方法 | |
CN104468196B (zh) | 基于证据筛选的虚拟网络故障诊断方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |