CN105487945A - 一种非相似双余度四机自监控容错控制方法 - Google Patents

一种非相似双余度四机自监控容错控制方法 Download PDF

Info

Publication number
CN105487945A
CN105487945A CN201510816755.3A CN201510816755A CN105487945A CN 105487945 A CN105487945 A CN 105487945A CN 201510816755 A CN201510816755 A CN 201510816755A CN 105487945 A CN105487945 A CN 105487945A
Authority
CN
China
Prior art keywords
processor
processors
fault
machine
time
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.)
Granted
Application number
CN201510816755.3A
Other languages
English (en)
Other versions
CN105487945B (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.)
513 Research Institute of 5th Academy of CASC
Original Assignee
513 Research Institute of 5th Academy of CASC
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 513 Research Institute of 5th Academy of CASC filed Critical 513 Research Institute of 5th Academy of CASC
Priority to CN201510816755.3A priority Critical patent/CN105487945B/zh
Publication of CN105487945A publication Critical patent/CN105487945A/zh
Application granted granted Critical
Publication of CN105487945B publication Critical patent/CN105487945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种非相似双余度四机自监控容错控制方法。使用本发明能够充分利用系统资源,准确定位故障处理器,避免仲裁单元故障导致的单点故障,并能实现二次故障工作,三次故障安全,提高系统的可靠性及使用寿命。本发明将四个处理器系统之间采用同步串行通道进行连接,能够在各处理器间建立快速信息传输通道,用以传送状态请求及需要表决的信息;采用处理器状态同步的方式确保各处理器系统在各表决点能步调一致发出启动信号,达到任务级同步运行;根据同步和表决结果,识别是否存在故障处理器,确定哪个处理器是当班机;在发生故障的情况下,管理系统降级,隔离故障处理器系统,并在降级模式下继续工作。

Description

一种非相似双余度四机自监控容错控制方法
技术领域
本发明涉及嵌入式计算机技术领域,具体涉及一种非相似双余度四机自监控容错控制方法。
背景技术
非相似双余度四机通常由两个完全相同的通道构成,其中一个作为主通道,一个作为备通道;每个通道各采用两个处理器,这两个处理器类型互不相同,其中一个作为主控处理器负责输出最终运算结果,另一个作为监控处理器仅起到监测作用;系统中具有一个独立的输出比较和通道切换控制的仲裁单元,如图1所示。
四个处理器同时执行相同的任务。同一个通道内,主控处理器与监控处理器通过双端口RAM或交叉数据链(CrossChannelDateLink,以下简称CCDL)进行数据交换。当主通道的监控处理器发现其运算结果与主控处理器运算结果不一致时,将监测结果送至仲裁单元;但因判据不足,仲裁单元无法判定是主控处理器故障还是监控处理器故障,但一般认定是主通道发生故障,于是仲裁单元将系统切换到备通道继续工作。如果在后续工作过程中,备通道也出现监控处理器与主控处理器运算结果不一致情况时,系统已无冗余通道可供切换,为不使故障扩散,系统只能输出预设的安全信号。
现有的非相似双余度四机的控制方式存在如下缺陷:
(1)故障定位相对粗略
同一通道中对双机运算结果进行比较,只能判断出结果相同还是不同,不能判断出哪个结果是对的,哪个结果是错的,也就无法定位故障处理器系统。
(2)资源利用率不高
当主通道故障,系统整体切换到备通道后,原通道中可能存在的状态完好的处理器及其它电路不能再为系统所利用。
(3)容错能力不够高
主通道发生一次故障系统可切换到备通道;备通道再次发生故障系统必须安全输出。系统只能做到一次故障工作,二次故障安全。
(4)存在单点故障隐患
仲裁单元是公共资源,若仲裁单元发生故障,将导致整个系统容错机制的崩溃。
发明内容
有鉴于此,本发明提供了一种非相似双余度四机自监控容错控制方法,能够充分利用系统资源,准确定位故障处理器,避免仲裁单元故障导致的单点故障,并能实现二次故障工作,三次故障安全,提高系统的可靠性及使用寿命。
本发明的非相似双余度四机自监控容错控制方法,包括如下步骤:
步骤1,构建包括4个处理器的控制系统:
所述4个处理器之间采用同步串行通道进行连接,进行两两之间的信息交互,四个处理器同时处理相同的子任务,预设各处理器的优先级顺序;各子任务周期内仅有一个处理器为当班机,由当班机输出最终的子任务运算结果,其中,默认优先级别高的非故障处理器为当前子任务周期内的当班机;
步骤2,在子任务起始处,各处理器向其他处理器发送同步请求,并接收其他处理器发送的同步请求;各处理器根据当前的控制系统工作模式以及接收到的同步请求数量,标识故障机,产生自己的子任务启动信号,并根据自身时钟执行子任务;
步骤3,各处理器完成子任务后,通过同步串行通道将运算结果及握手请求发送给其它处理器,并接收其它处理器的运算结果及握手请求;各处理器根据当前的控制系统工作模式以及接收到的握手请求数量,标识故障机,并用无效数据代替故障机的运算结果;各处理器对接收到的所有运算结果进行少数服从多数的表决,形成一致的最终运算结果,并判断与最终运算结果不一致的处理器为故障机,判断当前优先级最高的非故障的处理器为当班机;各处理器将其对故障机和当班机的判断结果发送给其它三个处理器,等待其它处理器的判断结果;
步骤4,各处理器在接收到其他处理器发送的故障机和当班机的判断结果后,根据当前的控制系统工作模式以及接收到的判断结果数量,对接收到的所有判断结果进行少数服从多数的表决,形成一致的最终当班机和故障机判断结果;
步骤5,由步骤4最终确定的当班机输出步骤3确定的最终运算结果,该最终运算结果即为非相似双余度四机对该子任务的运算结果;转入下一个子任务,返回步骤2,直至所有子任务执行完毕或控制系统安全输出。
进一步地,所述步骤1中,各处理器的优先级顺序按各处理器的处理速度快慢排序,处理速度最慢的处理器优先级最高,处理速度最快的处理器优先级最低。
进一步地,所述步骤2中,当4个处理器均未发生故障,即当前工作模式为四机模式时,如果各处理器在设定的时间内接收到2个或2个以上的同步请求,则各处理器标识同步请求未送达的处理器为故障机,各自产生自己的子任务启动信号,并根据自身时钟执行子任务;如果某处理器在设定的时间内未收到2个或2个以上的同步请求,则该处理器不执行子任务,其他处理器在之后的步骤中将该处理器标识为故障机;
当3个处理器未发生故障、1个处理器发生故障,即当前工作模式为三机模式时,如果各处理器在设定的时间内接收到1个或1个以上的同步请求,则各处理器标识同步请求未送达的处理器为故障机,各自产生自己的子任务启动信号,并根据自身时钟执行子任务;如果某各处理器在设定的时间内未收到1个或1个以上的同步请求,则该处理器不执行子任务,其他处理器在之后的步骤中将该处理器标识为故障机;
当2个处理器未发生故障、2个处理器发生故障,即当前工作模式为双机模式时,如果各处理器在设定的时间内接收到1个同步请求,则各处理器各自产生自己的子任务启动信号,并根据自身时钟执行子任务;如果各处理器在设定的时间内未收到同步请求,则该处理器不执行子任务,系统安全输出。
进一步地,所述步骤3中,当4个处理器均未发生故障,即当前工作模式为四机模式时,如果各处理器在设定的时间内接收到2个或2个以上的握手请求,则各处理器标识握手请求未送达的处理器为故障机,并用无效数据代替其运算结果;如果某处理器在设定的时间内未收到2个或2个以上的握手请求,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当3个处理器未发生故障、1个处理器发生故障,即当前工作模式为三机模式时,如果各处理器在设定的时间内接收到1个或1个以上的握手请求,则各处理器标识握手请求未送达的处理器为故障机,并用无效数据代替其运算结果;如果某处理器在设定的时间内未收到1个或1个以上的握手请求,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当2个处理器未发生故障、2个处理器发生故障,即当前工作模式为双机模式,如果各处理器在设定的时间内接收到1个握手请求,则各处理器对接收到的所有运算结果进行表决;如果各处理器在设定的时间内未收到握手请求,则该处理器一直等待,系统安全输出。
进一步地,所述步骤4中,当4个处理器均未发生故障,即当前工作模式为四机模式时,如果各处理器在设定的时间内接收到2个或2个以上的判断结果,则各处理器标识判断结果未送达的处理器为故障机,并用无效数据代替其判断结果;如果某处理器在设定的时间内未收到2个或2个以上的判断结果,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当3个处理器未发生故障、1个处理器发生故障,即当前工作模式为三机模式时,如果各处理器在设定的时间内接收到1个或1个以上的判断结果,则各处理器标识判断结果未送达的处理器为故障机并用无效数据代替其判断结果;如果某处理器在设定的时间内未收到1个或1个以上的判断结果,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当2个处理器未发生故障、2个处理器发生故障,即当前工作模式为双机模式,如果各处理器在设定的时间内接收到1个判断结果,则各处理器对接收到的判断结果进行表决;如果各处理器在设定的时间内未收到判断结果,则一直等待,系统安全输出。
有益效果:
(1)四个处理器系统之间采用同步串行通道进行连接,能够在各处理器间建立快速信息传输通道,用以传送状态请求及需要表决的信息;采用处理器状态同步的方式确保各处理器系统在各表决点能步调一致发出启动信号,达到任务级同步运行;根据同步和表决结果,识别是否存在故障处理器,确定哪个处理器是当班机;在发生故障的情况下,管理系统降级,隔离故障处理器系统,并在降级模式下继续工作。
(2)提高故障处理器定位准确度:在四机模式、三机模式下,均可准确定位故障处理器,为后续系统资源调度、降级管理、故障隔离等提供了技术基础。
(3)提高系统资源利用率:由于提高了故障处理器定位精度,可以获知通道中哪个处理器处于完好状态并再加以利用,避免了现有技术通道整体切换造成的资源浪费。
(4)消除系统单点故障隐患:通过四机间的信息交互及在每个处理器内实现表决机制,确定系统正确输出结果,完成故障处理器定位,当班处理器确定,并由当班处理器完成输出控制等,避免了现有技术对外部独立仲裁单元的需求,消除了系统单点故障隐患,提高了系统可靠性。
(5)提升系统容错能力:本发明使系统的容错能力从一次故障工作,二次故障安全提升到二次故障工作,三次故障安全。
附图说明
图1为现有的非相似双余度四机架构示意图。
图2为本发明的非相似双余度四机自监控架构示意图。
图3为本发明控制方法下非相似双余度四机的工作模式状态转移示意图。
图4为当班机与一个处理器系统的信息交互通路故障,仍保持四机模式。其中,(a)四机模式下,处理器A当班;(b)A收不到B信息;(c)B收不到A信息;(d)A、B收不到对方信息。
图5为当班处理器故障,四机模式降为三机模式。其中,(a)处理器A发出错误数据;(b)处理器A无数据发出;(c)与两个处理器系统信息交互通路故障。
图6为当班机几种线路故障,保持三机模式。其中,(a)C收不到B信息;(b)B收不到C信息;(c)B、C收不到对方信息;(d)B收不到D信息,C收不到B信息,D收不到C信息;(e)B、C收不到对方信息,同时B收不到D信息。
图7为当班机故障,三机模式降级为双机模式。(a)处理器B发出错误数据;(b)处理器B无数据发出。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种非相似双余度四机自监控容错控制方法,四个处理器同时执行相同的任务,各处理器系统之间采用CCDL进行两两之间的信息交互,各处理器系统依据其收到的其他处理器发送的任务运算结果和自己完成的任务运算结果,进行对比,确定最终的运算结果,并按照预先设置的处理器优先级顺序,判断当前任务的当班机,由当班机输出该任务的最终运算结果,当班机输出的最终运算结果即为非相似双余度四机系统的该任务最终运算结果,如图2所示。
将四个处理器分别编号为A、B、C、D,任意时刻,仅有一个处理器作为当班机,即作为主控处理器,预设的当选当班机的处理器的优先级顺序由高至低依次为A>B>C>D,即处理器A优先级最高,处理器D优先级最低。四个处理器系统之间采用同步串行通道进行连接,每个处理器都设有三个信息发送通路,用于向其它三个处理器发送信息,以及三个信息接收通路,用于接收其它三个处理器的信息。每个通路有两条信号线,一条为时钟线,一条数据线,时钟信号与数据信号均由发送方负责驱动。
将整个任务周期按功能需求划分成若干个子任务周期,四个处理器同时执行相同的子任务,每个处理器都可通过同步串行通道与其它处理器进行信息交互,获取另外三个处理器的运行状态和运算结果,同时将自己的运行状态和运算结果发送给另外三个处理器。由于各处理器之间的处理速度不同,导致相同子任务的完成时间不同,因此,将每个子任务分配固定的完成时间片,在每个子任务的起始处设置任务开始同步点。其中,子任务的完成时间片长度一般可以设置为运算速度最慢的处理器完成该子任务所需时间的预估值和一段冗余时间之和。设置任务开始同步点时,4个处理器通过发送、接收同步请求,实现子任务的同步执行。
各处理器同时从任务开始同步点开始执行相同的子任务,完成子任务后,将自己的运行状态和运算结果发送给另外三个处理器,等待并接收其他处理器发来的运行状态和运算结果,当该子任务的完成时间片结束后,各处理器将自己的运算结果和收到的运算结果进行少数服从多数的判决,形成一致的最终运算结果,并判断与最终运算结果不一致的处理器为故障机,判断当前优先级最高的非故障机为当班机,并将故障机和当班机判断结果发送至其他处理器;各处理器接收其他处理发送的判断结果,对所有判断结果进行少数服从多数的判决,形成一致的最终的当班机和故障机判断结果。最终判断为故障机的处理器不参与之后的子任务运算结果的对比。最终判断为当班机的处理器输出最终运算结果。当各处理器认定的当班机均不一致时,系统输出预设的安全信号。
由于处理器不管运算速度快慢,均需要等待子任务的完成时间片结束后才进行当班机和故障机的判定,因此,可以选择处理速度最慢的处理器为优先级最高,处理速度最快的处理器为优先级最低,从而可以让处理速度快的处理器在完成当前子任务的运算后,去做其他的运算,提高系统的资源利用率。
下面以处理器A为例寿命具体的工作流程,处理器B、处理器C和处理器D做同样操作:
(1)第i个子任务的起始处,处理器A通过CCDL向其它三个处理器发出同步请求Req-a-1,等待其它三个处理器的同步请求;转步骤(2);
(2)分四种情况:
(2.1)收到其它三个处理器的同步请求后,处理器A产生自己的子任务启动信号,并根据自身时钟执行任务;转步骤(3);
(2.2)只收到两个处理器的响应,则继续等待另一处理器,同时启动超时计数器,如规定的超时时间内未接收该处理器响应,则设置该处理器故障标志Fault-a-x,处理器A产生自己的子任务启动信号,并根据自身时钟执行任务;转步骤(3);
(2.3)只收到一个处理器的响应,则继续等待另两个处理器,同时启动超时计数器,如果在规定的超时时间内收到两个处理器响应,则处理器A产生自己的子任务启动信号,并根据自身时钟执行任务,转步骤(3);如果在规定的超时时间内只收到一个处理器响应,则设置未响应的处理器故障标志Fault-a-x,处理器A产生自己的子任务启动信号,并根据自身时钟执行任务,转步骤(3);如在规定的超时时间内未接收到任何响应,则处理器A一直等待,处理器A无法进行下面的步骤,在之后的表决点处会被其它处理器识别并标识为故障;
(2.4)无其它处理器响应到达,则处理器A一直等待;处理器A无法进行下面的步骤,在之后的表决点处会被其它处理器识别并标识为故障;
(3)处理器A完成子任务后,通过CCDL将运算结果Result-a及握手请求信号Req-a-2发送给其它三个处理器,等待其它处理器的运算结果及握手请求信号;转步骤(4);
(4)分四种情况:
(4.1)在收到其它三个处理器的运算结果及握手请求信号后,处理器A对接收到的所有输出结果进行少数服从多数的表决,形成一致的、正确的输出结果Result;转步骤(5);
(4.2)只收到两个处理器的运算结果及握手请求信号,则继续等待另一处理器,同时启动超时计数器,如规定的超时时间内未接收该处理器响应,则设置该处理器故障Fault-a-x,并用无效数据代替其运算结果,处理器A对接收到的所有运算结果进行少数服从多数的表决,形成一致的、正确的输出结果Result;转步骤(5);
(4.3)只收到一个处理器的运算结果及握手请求信号,则继续等待另两个处理器,同时启动超时计数器,如果在规定的超时时间内收到两个处理器响应,则处理器A对接收到的所有输出结果进行少数服从多数的表决,形成一致的、正确的输出结果Result;转步骤(5);如果在规定的超时时间内只收到1个处理器响应,则设置未响应处理器故障Fault-a-x,并用无效数据代替其运算结果,处理器A对接收到的所有运算结果进行少数服从多数的表决,形成一致的、正确的输出结果Result;转步骤(5);如规定的超时时间内未接收到任何响应,则处理器A一直等待,处理器A无法进行下面的步骤,在之后的表决点处会被其它处理器识别并标识为故障;
(4.4)无其它处理器输出到达,则处理器A一直等待;处理器A无法进行下面的步骤,在之后的表决点处会被其它处理器识别并标识为故障;
(5)处理器A判断与最终的运算结果不一致的处理器为故障机,并判断当前优先级最高的非故障的处理器为当班机,并将它判断结果发送给其它三个处理器,等待其它三个处理器的判断结果;转步骤(6);
(6)分四种情况:
(6.1)接收到其它三个处理器的判断结果后,对所有处理器的判断结果进行少数服从多数的表决,形成一致的当班处理器Duty和故障处理器Fault结果;转步骤(7);
(6.2)只收到两个处理器的判断,则继续等待另一处理器,同时启动超时计数器,如规定的超时时间内未接收该处理器响应,则设置该处理器故障Fault-a-x,并用无效数据代替其判断结果,处理器A对接收到的所有判断结果进行少数服从多数的表决,形成一致的当班处理器Duty和故障处理器Fault结果;转步骤(7);
(6.3)只收到一个处理器的判断,则继续等待另两个处理器,同时启动超时计数器,如在规定的超时时间内收到两个处理器响应,则处理器A对所有判断结果进行少数服从多数的表决,形成一致的当班处理器Duty和故障处理器Fault结果,转步骤(7);如在规定的超时时间内收到1个处理器响应,则设置未响应的处理器故障Fault-a-x,并用无效数据代替其判断结果,处理器A对接收到的所有判断结果进行少数服从多数的表决,形成一致的当班处理器Duty和故障处理器Fault结果,转步骤(7);如规定的超时时间内未接收到任何响应,则处理器A一直等待,处理器A无法进行下面的步骤,在之后的表决点处会被其它处理器识别并标识为故障;
(6.4)无其它处理器输出到达,则处理器A一直等待;处理器A无法进行下面的步骤,在之后的表决点处会被其它处理器识别并标识为故障;
(7)当班处理器Duty输出结果Result,转下一子任务i+1。
在本发明控制过程中,考虑到故障机的出现,非相似双余度四机存在4种工作模式,以数字表示四个处理器状态:(正常机数量:某类型故障机数量)。当四个处理器均正常时,用(4:0)表示;当出现一次故障时,用(3:1)表示;当再次出现一次故障时,可能会出现两种情况:一是本次故障处理器与上次故障处理器故障相同,或者输出错误相同,以(2:2)表示;另一种则是本次故障处理器与上次故障处理器故障不一致,或输出错误不同,以(2:1:1)表示。系统工作模式状态转移图如图3所示。
(1)四机模式
正常情况下系统为四机模式,即四个处理器均处于正常工作状态。处理器A为当班机,负责实施对内控制和对外输出。
(2)三机模式
当确认某个处理器发生故障后,系统降级为三机模式。如为处理器A故障,则另三个处理器根据预设的优先顺序选择处理器B当班;如为其它处理器故障,则处理器A继续当班。系统继续正常工作。
(3)双机模式
三机模式下,当确认某个处理器出现故障后,系统降级为双机模式。如三机模式下处理器A当班且故障,则另两个处理器根据优先顺序选择当班处理器;如处理器A当班且不是故障机,则处理器A继续当班。系统继续正常工作。
(4)安全导向
双机模式下,当两处理器任意一方认为对方故障时,系统无足够信息判断谁对谁错,都将导向预先设计的安全输出模式。
四个处理器均处于正常状态。按照优先级顺序,此时的当班处理器为处理器A,如图4(a)所示。
(1)四机模式下,发生第一次故障。
在图4(b)情况下,当处理器A认为B故障并在工作流程步骤(5)与处理器C(ABCD)和D(ABCD)核对这个判断,根据表决结果,A同意“处理器B正常”的结论。
在图4(c)情况下,处理器B认为A故障且根据优先顺序,B认为自己应该当班;在步骤(5),处理器B与C(ABCD)和D(ABCD)核对这个判断;根据表决结果,B同意“处理器A正常”、“当班机为处理器A”的结论。
在图4(d)情况下,处理器A和B均认为对方错,同时A认为自己当班,B也认为自己该当班;在步骤(5),A、B分别去与C(ABCD)和D(ABCD)核对各自判断;根据表决结果,A和B都同意“处理器A正常”、“处理器B正常”和“当班机为处理器A”的结论。
处理器故障时可能处于两种情况,一是处理器发送错误数据,如图5(a);另一个是处理器无法发送数据,如图5(b)。
图5(a)、(b),当处理器B、C、D都各自认为A故障在步骤(5)核对后,处理器B、C、D都认可“处理器A故障”,B、C、D都发出处理器A输出禁止信号,将处理器A与系统隔离;同时根据优先级顺序,B当班行使控制权。此时系统降为三机模式。
当线路发生如图5(c)所示故障时,处理器A认为D故障在与B和C(ABCD)交换意见后,一致同意“处理器D正常”;与此同时,处理器B和D都认为A故障,在B、C、D交换意见后,一致认为“处理器A故障”,B、C、D都发出处理器A输出禁止信号,将处理器A与系统隔离;同时根据优先级顺序,处理器B当班行使控制权。此时系统降级为三机模式。
(2)三机模式下,发生第二次故障
三机模式下处理器A已被隔离,不再予以考虑。
当发生如图6(a)所示故障时,处理器B认为而处理器C和D都认为(BCD),意见交换的结果是(BCD),保持不变。
当发生如图6(b)所示故障时,处理器C认为而处理器B和D都认为(BCD),意见交换结果是(BCD),保持不变。
图6(c)中,处理器B认为处理器C认为D认为(BCD),处理器B和C分别去与D核对,处理器B和D对处理器C故障这一点达不成一致,不做改变;处理器C和D对处理器B故障这一点也达不成一致,不做改变;但此时,处理器B和D都认为B当班,C认为C应该当班,表决结果仍是B当班。系统仍保持三机模式。
图6(d)中,当处理器B认为处理器C认为处理器D认为处理器B与C一致认为B正常,但对C故障和D故障各执己见,不能达成一致,保持不变;但此时,处理器B和C都认为B当班,D认为C应该当班,表决结果仍是B当班。最终,系统仍保持三机模式。
图6(e)中,当处理器B因收不到处理器C和D的数据,设置特定数据和错误标记后(C、D设置不一样),无法再进行三取二表决,这种情况下处理器B认为当班机为处理器B;处理器C认为处理器D认为(BCD);比对后,处理器C认为当班机应该为C;处理器D与B和C比对后,认为(BCD),当班机应该为处理器B,最终系统仍保持三机模式,处理器B继续当班。
当处理器发生图7(a)、(b)所示的两种故障情况时,另两个处理器C和D都各自认为处理器B故障,在经过相互间核对后,处理器C、D都同意“处理器B故障”,此时处理器C、D都发出处理器B输出禁止信号,将处理器B从系统中隔离;同时根据优先级顺序,处理器C当班行使控制权。此时系统降级为双机模式。
(3)双机模式下,发生第三次故障
进入双机模式后,如处理器B和D在信息核对过程中出现一次不一致情况,系统都将输出预设的安全信号,进入安全导向模式。
通过本发明的实施,非相似双余度四机系统可以做到二次故障工作,三次故障安全。
本发明通过扩大处理器系统间信息交互范围,增加故障定位判据,将双机比较改进为在每个处理器系统中采取表决机制实现处理器系统间自我监控,并按预设优先级确定当班机,免除对公共资源的需求,达到提高系统资源利用率,消除系统单点隐患,提升系统容错能力的目的。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种非相似双余度四机自监控容错控制方法,其特征在于,包括如下步骤:
步骤1,构建包括4个处理器的控制系统:
所述4个处理器之间采用同步串行通道进行连接,进行两两之间的信息交互,四个处理器同时处理相同的子任务,预设各处理器的优先级顺序;各子任务周期内仅有一个处理器为当班机,由当班机输出最终的子任务运算结果,其中,默认优先级别高的非故障处理器为当前子任务周期内的当班机;
步骤2,在子任务起始处,各处理器向其他处理器发送同步请求,并接收其他处理器发送的同步请求;各处理器根据当前的控制系统工作模式以及接收到的同步请求数量,标识故障机,产生自己的子任务启动信号,并根据自身时钟执行子任务;
步骤3,各处理器完成子任务后,通过同步串行通道将运算结果及握手请求发送给其它处理器,并接收其它处理器的运算结果及握手请求;各处理器根据当前的控制系统工作模式以及接收到的握手请求数量,标识故障机,并用无效数据代替故障机的运算结果;各处理器对接收到的所有运算结果进行少数服从多数的表决,形成一致的最终运算结果,并判断与最终运算结果不一致的处理器为故障机,判断当前优先级最高的非故障的处理器为当班机;各处理器将其对故障机和当班机的判断结果发送给其它三个处理器,等待其它处理器的判断结果;
步骤4,各处理器在接收到其他处理器发送的故障机和当班机的判断结果后,根据当前的控制系统工作模式以及接收到的判断结果数量,对接收到的所有判断结果进行少数服从多数的表决,形成一致的最终当班机和故障机判断结果;
步骤5,由步骤4最终确定的当班机输出步骤3确定的最终运算结果,该最终运算结果即为非相似双余度四机对该子任务的运算结果;转入下一个子任务,返回步骤2,直至所有子任务执行完毕或控制系统安全输出。
2.如权利要求1所述的非相似双余度四机自监控容错控制方法,其特征在于,所述步骤1中,各处理器的优先级顺序按各处理器的处理速度快慢排序,处理速度最慢的处理器优先级最高,处理速度最快的处理器优先级最低。
3.如权利要求1所述的非相似双余度四机自监控容错控制方法,其特征在于,所述步骤2中,当4个处理器均未发生故障,即当前工作模式为四机模式时,如果各处理器在设定的时间内接收到2个或2个以上的同步请求,则各处理器标识同步请求未送达的处理器为故障机,各自产生自己的子任务启动信号,并根据自身时钟执行子任务;如果某处理器在设定的时间内未收到2个或2个以上的同步请求,则该处理器不执行子任务,其他处理器在之后的步骤中将该处理器标识为故障机;
当3个处理器未发生故障、1个处理器发生故障,即当前工作模式为三机模式时,如果各处理器在设定的时间内接收到1个或1个以上的同步请求,则各处理器标识同步请求未送达的处理器为故障机,各自产生自己的子任务启动信号,并根据自身时钟执行子任务;如果某各处理器在设定的时间内未收到1个或1个以上的同步请求,则该处理器不执行子任务,其他处理器在之后的步骤中将该处理器标识为故障机;
当2个处理器未发生故障、2个处理器发生故障,即当前工作模式为双机模式时,如果各处理器在设定的时间内接收到1个同步请求,则各处理器各自产生自己的子任务启动信号,并根据自身时钟执行子任务;如果各处理器在设定的时间内未收到同步请求,则该处理器不执行子任务,系统安全输出。
4.如权利要求1所述的非相似双余度四机自监控容错控制方法,其特征在于,所述步骤3中,当4个处理器均未发生故障,即当前工作模式为四机模式时,如果各处理器在设定的时间内接收到2个或2个以上的握手请求,则各处理器标识握手请求未送达的处理器为故障机,并用无效数据代替其运算结果;如果某处理器在设定的时间内未收到2个或2个以上的握手请求,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当3个处理器未发生故障、1个处理器发生故障,即当前工作模式为三机模式时,如果各处理器在设定的时间内接收到1个或1个以上的握手请求,则各处理器标识握手请求未送达的处理器为故障机,并用无效数据代替其运算结果;如果某处理器在设定的时间内未收到1个或1个以上的握手请求,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当2个处理器未发生故障、2个处理器发生故障,即当前工作模式为双机模式,如果各处理器在设定的时间内接收到1个握手请求,则各处理器对接收到的所有运算结果进行表决;如果各处理器在设定的时间内未收到握手请求,则该处理器一直等待,系统安全输出。
5.如权利要求1所述的非相似双余度四机自监控容错控制方法,其特征在于,所述步骤4中,当4个处理器均未发生故障,即当前工作模式为四机模式时,如果各处理器在设定的时间内接收到2个或2个以上的判断结果,则各处理器标识判断结果未送达的处理器为故障机,并用无效数据代替其判断结果;如果某处理器在设定的时间内未收到2个或2个以上的判断结果,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当3个处理器未发生故障、1个处理器发生故障,即当前工作模式为三机模式时,如果各处理器在设定的时间内接收到1个或1个以上的判断结果,则各处理器标识判断结果未送达的处理器为故障机并用无效数据代替其判断结果;如果某处理器在设定的时间内未收到1个或1个以上的判断结果,则该处理器一直等待,其他处理器在之后的步骤中将该处理器标识为故障机;
当2个处理器未发生故障、2个处理器发生故障,即当前工作模式为双机模式,如果各处理器在设定的时间内接收到1个判断结果,则各处理器对接收到的判断结果进行表决;如果各处理器在设定的时间内未收到判断结果,则一直等待,系统安全输出。
CN201510816755.3A 2016-02-19 2016-02-19 一种非相似双余度四机自监控容错控制方法 Active CN105487945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510816755.3A CN105487945B (zh) 2016-02-19 2016-02-19 一种非相似双余度四机自监控容错控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510816755.3A CN105487945B (zh) 2016-02-19 2016-02-19 一种非相似双余度四机自监控容错控制方法

Publications (2)

Publication Number Publication Date
CN105487945A true CN105487945A (zh) 2016-04-13
CN105487945B CN105487945B (zh) 2017-11-03

Family

ID=55674938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510816755.3A Active CN105487945B (zh) 2016-02-19 2016-02-19 一种非相似双余度四机自监控容错控制方法

Country Status (1)

Country Link
CN (1) CN105487945B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106774397A (zh) * 2016-11-30 2017-05-31 中国航空工业集团公司沈阳飞机设计研究所 一种四余度飞行控制计算机同步方法
CN106933141A (zh) * 2017-02-22 2017-07-07 庆安集团有限公司 一种2×2余度高升力计算机系统的传输数据链
CN110134552A (zh) * 2019-05-09 2019-08-16 中国航空工业集团公司西安航空计算技术研究所 一种基于经验学习的容错方法
CN110687775A (zh) * 2019-10-11 2020-01-14 中国航发沈阳发动机研究所 一种基于故障积分的双余度传感器信号表决方法
CN113268383A (zh) * 2021-04-26 2021-08-17 北京控制工程研究所 一种基于分级策略的四机四总线故障代班方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111532418B (zh) * 2020-05-20 2021-09-24 中国商用飞机有限责任公司 一种飞机高升力系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281483A (zh) * 2008-05-12 2008-10-08 北京邮电大学 双机冗余容错系统及其冗余切换方法
CN102508745A (zh) * 2011-10-21 2012-06-20 上海交通大学 一种基于两级松散同步的三模冗余系统及其实现方法
CN104133744A (zh) * 2014-08-01 2014-11-05 浪潮(北京)电子信息产业有限公司 一种面向关键应用的仲裁系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281483A (zh) * 2008-05-12 2008-10-08 北京邮电大学 双机冗余容错系统及其冗余切换方法
CN102508745A (zh) * 2011-10-21 2012-06-20 上海交通大学 一种基于两级松散同步的三模冗余系统及其实现方法
CN104133744A (zh) * 2014-08-01 2014-11-05 浪潮(北京)电子信息产业有限公司 一种面向关键应用的仲裁系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
闫稳: ""机载供电系统双余度控制器的容错控制"", 《航空计算技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106774397A (zh) * 2016-11-30 2017-05-31 中国航空工业集团公司沈阳飞机设计研究所 一种四余度飞行控制计算机同步方法
CN106933141A (zh) * 2017-02-22 2017-07-07 庆安集团有限公司 一种2×2余度高升力计算机系统的传输数据链
CN110134552A (zh) * 2019-05-09 2019-08-16 中国航空工业集团公司西安航空计算技术研究所 一种基于经验学习的容错方法
CN110134552B (zh) * 2019-05-09 2023-04-14 中国航空工业集团公司西安航空计算技术研究所 一种基于经验学习的容错方法
CN110687775A (zh) * 2019-10-11 2020-01-14 中国航发沈阳发动机研究所 一种基于故障积分的双余度传感器信号表决方法
CN110687775B (zh) * 2019-10-11 2022-06-07 中国航发沈阳发动机研究所 一种基于故障积分的双余度传感器信号表决方法
CN113268383A (zh) * 2021-04-26 2021-08-17 北京控制工程研究所 一种基于分级策略的四机四总线故障代班方法
CN113268383B (zh) * 2021-04-26 2023-07-14 北京控制工程研究所 一种基于分级策略的四机四总线故障代班方法

Also Published As

Publication number Publication date
CN105487945B (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN105487945A (zh) 一种非相似双余度四机自监控容错控制方法
CN107229221A (zh) 用于多个热和冷备用冗余的容错模式和切换协议
CN103941633B (zh) 可编程控制器冗余控制方法和系统
CN107390511A (zh) 用于运行冗余的自动化系统的方法
CN103425553B (zh) 一种双机热备份系统及该系统的故障检测方法
CN104516306B (zh) 冗余的自动化系统
RU2679706C2 (ru) Двухканальная архитектура
CN107957692B (zh) 控制器冗余方法、装置及系统
CN109507866A (zh) 一种基于网络地址漂移技术的双机冗余系统及方法
CN106814603A (zh) 一种基于非实时操作系统的双机冗余容错系统
CN110427283A (zh) 一种双余度的燃油管理计算机系统
CN109188895A (zh) 一种基于冗余设计的伺服控制系统
CN110442073A (zh) 一种多余度飞机管理计算机mio板通道故障逻辑判断方法
CN109104325A (zh) 基于CANopen协议的列车网络数据传输方法、系统及其装置
CN102508746A (zh) 一种用于三机变结构容错计算机系统管理方法
CN115913906A (zh) 一种船用冗余控制系统及方法
CN106789506B (zh) 一种基于光纤总线与1553b总线混合结构的bc切换方法
WO2010012192A1 (zh) 一种网元内交叉单元倒换状态同步方法
CN117573609B (zh) 一种具有冗余功能的片上系统及其控制方法
EP2801874B1 (en) Multi-channel control switchover logic
CN212541329U (zh) 基于国产龙芯平台的双冗余计算机设备
JP2020021341A (ja) 冗長化システム
US20180024506A1 (en) Computerised System
CN115408240B (zh) 一种冗余系统主备方法、装置、设备及储存介质
CN106656437A (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