CN102193835B - 基于3取2计算机系统的预执行方法 - Google Patents

基于3取2计算机系统的预执行方法 Download PDF

Info

Publication number
CN102193835B
CN102193835B CN 201110073153 CN201110073153A CN102193835B CN 102193835 B CN102193835 B CN 102193835B CN 201110073153 CN201110073153 CN 201110073153 CN 201110073153 A CN201110073153 A CN 201110073153A CN 102193835 B CN102193835 B CN 102193835B
Authority
CN
China
Prior art keywords
execution
input
computing machine
input message
information
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.)
Expired - Fee Related
Application number
CN 201110073153
Other languages
English (en)
Other versions
CN102193835A (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.)
Tongji University
Original Assignee
Shanghai Maglev Transportation Engineering Technology Research Center
Shanghai Maglev Transportation Development 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 Shanghai Maglev Transportation Engineering Technology Research Center , Shanghai Maglev Transportation Development Co Ltd filed Critical Shanghai Maglev Transportation Engineering Technology Research Center
Priority to CN 201110073153 priority Critical patent/CN102193835B/zh
Publication of CN102193835A publication Critical patent/CN102193835A/zh
Application granted granted Critical
Publication of CN102193835B publication Critical patent/CN102193835B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

一种基于3取2计算机系统的预执行方法,两路输入通道不分主次,在两路通道都有信息输入的情况下,需要进行一致性比较,输入信息才合法;在只有一路通道有信息输入的情况下,正常的一路需要等待一个系统设定的时间后,输入信息才合法得以继续执行。这样避免了因为两路通道输入信息错误而导致系统程序的错误执行。本发明采用一次输入同步、一次待输出信息同步和一次输入信息比较、一次待输出信息比较。当系统接收到输入信息后,先假设该输入信息是正确的,开始进行基于此输入的程序执行,并记录执行过程中所改变的状态,在执行过程中进行输入信息同步和输入信息的“伪”同步和“伪”比较,在输入信息正确的前提下,所带来的系统开销就减低到最小。

Description

基于3取2计算机系统的预执行方法
技术领域
本发明涉及一种基于3取2计算机系统的预执行方法。
背景技术
避错和容错技术是提高计算机系统可靠性的两种主要技术手段。尤其是容错技术,它是当系统中某些指定的硬件发生故障或软件出现错误时,系统仍能正确地执行规定的一组程序或算法,是构造高可靠和高安全计算机系统强有力的直接手段。三取二计算机系统就是采用容错技术来实现其高可靠性、高安全性性能的,它是以“多数计算机的运行是正确的”为基础,实行“少数服从多数的”的纠错原理,即三台计算机中只要有两台的输出结果相同,系统就将该结果作为系统的正确输出,这样就可以屏蔽任意一个计算机的故障。
在三取二计算机系统中,3台进入运行状态的计算机运行相同的应用程序,实现相同的数据处理流程,将其中间或最终数据结果进行比较,从而达到检错、容错、提高系统可靠性的目的。为了保证3台计算机在比较时刻所用的是同一次计算的结果,以维持冗余模块计算数据的一致性,就必须使各冗余模块计算任务的执行进度相同。这种保持冗余模块的相同任务具有相同的执行进度的过程就是同步。同步技术是三取二系统故障检测和恢复的前提和基础。常见的同步方法有时钟级同步、松散同步和任务级同步等。
时钟级同步是一种紧同步,可对各冗余模块的时钟级计算结果进行比较和表决,因而具有故障发现及时、故障恢复快等优点。松散同步是指系统中各冗余模块在多个时钟周期N ·Tclock内(N 为时钟周期数,Tclock为一个时间片或桢) ,使冗余模块具有相同的执行进度。采用这种方式的冗余模块仅在时间片或桢边界进行比较表决,维持数据一致性。任务同步是指系统中各冗余模块在每个任务的操作系统调度周期内使冗余模块具有相同的执行进度。任务同步在冗余模块中独立运行,具有一定逻辑任务的一次执行作为同步的基础,在任务中设立1个或多个比较/表决点,对其中间结果和最终输出结果进行表决,维持冗余模块任务级一致。
《一种用于轨道交通的安全计算机平台的设计与实现》采用了任务级同步方式,在一次执行的任务中设立了3个同步点和1个比较点,即输入同步、结果分发同步、输出同步和计算结果比较。3取2计算机拥有两路输入通道,而该算法只采用了其中的一路通道作为主通道,所以另一路只有在主通道发生故障的时候才启用成为主通道。鉴于以上几点,如何保障主通道输入信息的正确性、如何检测主通道的故障、如何减少因多次同步带来的时间开销就成为整个系统急需解决的问题。
发明内容
本发明提出的一种基于3取2计算机系统的预执行方法,两路输入通道不分主次,最大限度的保障了输入通道传输信息的正确性、减少了因多次同步带来的时间开销,提高了3取2系统的执行效率。
为了达到上述目的,本发明提供了一种基于3取2计算机系统的预执行方法,该方法包含以下步骤:
步骤1、信息输入阶段,每台计算机判断是否收到了输入信息,若是,执行步骤2;
步骤2、配置有输入通道的计算机判断输入信息是否来自于本计算机的输入通道,若是,将该输入信息分发给其余两台计算机,然后执行步骤3,若否,执行步骤3;
步骤3、每台计算机分别进行预执行,执行过程中判断是否收到另一输入通道的输入信息,若是,执行步骤4,若否,执行步骤7;
步骤4、进行两路输入通道信息的比较,若一致,执行步骤5,若不一致,执行步骤6;
步骤5、清除缓存中保存的状态、删除定时器,并将该次的输入信息的执行置为安全态,执行步骤8;
步骤6、删除定时器、依据缓存中保存的状态进行系统恢复,即,不执行该输入信息,执行步骤1;
步骤7、判断定时器中设置的时间是否到期,如未到期则等待到期,如到期则将另一输入通道的故障次数加1,并清除缓存中保存的状态、删除定时器,将该次的输入信息置为安全态,执行步骤8;
步骤8、信息待输出阶段,每台计算机将自己的计算结果向3取2系统中的另外两台机器进行分发,同时接收来自另外两台计算机的计算结果;
步骤9、每台计算机都对三个计算结果进行比较,若比较结果中有2者相同,则计算结果合法,执行步骤10;
步骤10、信息输出阶段,每台计算机将待输出的信息发送给配置有输出通道的计算机(若本计算机有输出通道也包括自己);
步骤11、配置有输出通道的计算机在正常情况下会收到3份同样的输出信息,当接收到第一份的时候则进行输出,另外两份则直接抛弃,不作处理。
所述的步骤3包含以下步骤:
步骤3.1、假设输入信息正确,开始基于该输入信息的程序预执行;
步骤3.2、启动定时器,对该输入信息开始计时,如超过一个时间计数值,则视为超时;
步骤3.3、保存基于该输入信息的程序预执行过程中所改变的全局变量,并将两者对应关联起来。
所述的步骤7中,如某通道的故障次数达到3次,则将该通道置为故障状态,系统进入1输入通道状态。
本发明最大限度的保障了输入通道传输信息的正确性、减少了因多次同步带来的时间开销,提高了3取2系统的执行效率。
附图说明
图1是3取2计算机系统的示意图;
图2是3取2计算机系统输入信息分发的示意图;
图3是3取2计算机系统待输出信息分发的示意图;
图4是3取2计算机系统输出信息分发的示意图。
具体实施方式
以下根据图1~图4,具体说明本发明的较佳实施例:
如图1所示,是3取2计算机系统的示意图,输入通道1连接计算机A,输入通道2连接计算机B,输出通道1连接计算机A,输出通道2连接计算机B,计算机C未连接输入通道和输出通道。
本发明提供了一种基于3取2计算机系统的预执行方法,该方法包含以下步骤:
步骤1、信息输入阶段,每台计算机判断是否收到了输入信息,若是,执行步骤2;
步骤2、配置有输入通道的计算机判断输入信息是否来自于本计算机的输入通道,若是,将该输入信息分发给其余两台计算机(如图2所示),然后执行步骤3,若否,执行步骤3;
步骤3、每台计算机分别进行预执行,执行过程中判断是否收到另一输入通道的输入信息,若是,执行步骤4,若否,执行步骤7;
步骤3.1、假设输入信息正确,开始基于该输入信息的程序预执行;
步骤3.2、启动定时器,对该输入信息开始计时,如超过一个时间计数值,则视为超时,该时间计数值的设置需要考虑通信总线两路输入之间传输时间的差异以及分布式计算机因为系统调度策略所造成的程序执行时间差异;
步骤3.3、保存基于该输入信息的程序预执行过程中所改变的全局变量,并将两者对应关联起来。
步骤4、进行两路输入通道信息的比较,若一致,执行步骤5,若不一致,执行步骤6;
步骤5、清除缓存中保存的状态、删除定时器,并将该次输入信息的执行置为安全态,执行步骤8;
步骤6、删除定时器、依据缓存中保存的状态进行系统恢复,即,不执行该输入信息,执行步骤1;
步骤7、判断定时器中设置的时间是否到期,如未到期则等待到期,如到期则将另一输入通道的故障次数加1,并清除缓存中保存的状态、删除定时器,将该次输入信息置为安全态,执行步骤8;
如某通道的故障次数达到3次,则将该通道置为故障状态,系统进入1输入通道状态;
步骤8、信息待输出阶段,每台计算机将自己的计算结果向3取2系统中的另外两台机器进行分发,同时接收来自另外两台计算机的计算结果(如图3所示);
步骤9、每台计算机都对三个计算结果进行比较,若比较结果中有2者相同,则计算结果合法,执行步骤10;
步骤10、信息输出阶段,每台计算机将待输出的信息发送给配置有输出通道的计算机(若本计算机有输出通道也包括自己)(如图4所示);
步骤11、配置有输出通道的计算机在正常情况下会收到3份同样的输出信息,当接收到第一份的时候则进行输出,另外两份则直接抛弃,不作处理。
本发明主要提出了两点技术上的创新:
1、两路输入通道不分主次:
两路输入通道不分主次,在两路通道都有信息输入的情况下,需要进行一致性比较,输入信息才合法;在只有一路通道有信息输入的情况下,正常的一路需要等待一个系统设定的时间后,输入信息才合法得以继续执行,如果连续3次等待,则设定另一路通道故障,系统则变为一路输入通道的状态。这样的设计方式避免了因为主通道输入信息错误而导致系统程序的错误执行。
2、基于预执行的3取2方法:
本发明设计了一种基于预执行的2次同步,2次比较的方法:分别为一次输入同步、一次待输出信息同步和一次输入信息比较、一次待输出信息比较。
预执行是指当系统接收到输入信息后,先假设该输入信息是正确的,开始进行基于此输入的程序执行,并记录执行过程中所改变的状态,在执行过程中进行输入信息同步和输入信息比较过程,所以这一次同步和一次比较是“伪”同步和“伪”比较,在输入信息正确的前提下,“伪”同步和“伪”比较所带来的系统开销就减低到最小。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (3)

1.一种基于3取2计算机系统的预执行方法,其特征在于,该方法包含以下步骤:
步骤1、信息输入阶段,每台计算机判断是否收到了输入信息,若是,执行步骤2;
步骤2、配置有输入通道的计算机判断输入信息是否来自于本计算机的输入通道,若是,将该输入信息分发给其余两台计算机,然后执行步骤3,若否,执行步骤3;
步骤3、每台计算机分别进行预执行,执行过程中判断是否收到另一输入通道的输入信息,若是,执行步骤4,若否,执行步骤7;
步骤4、进行两路输入通道信息的比较,若一致,执行步骤5,若不一致,执行步骤6;
步骤5、清除缓存中保存的状态、删除定时器,并将该次的输入信息的执行置为安全态,执行步骤8;
步骤6、删除定时器、依据缓存中保存的状态进行系统恢复,即,不执行该输入信息,执行步骤1;
步骤7、判断定时器中设置的时间是否到期,如未到期则等待到期,如到期则将另一输入通道的故障次数加1,并清除缓存中保存的状态、删除定时器,将该次的输入信息置为安全态,执行步骤8;
步骤8、信息待输出阶段,每台计算机将自己的计算结果向3取2系统中的另外两台机器进行分发,同时接收来自另外两台计算机的计算结果;
步骤9、每台计算机都对三个计算结果进行比较,若比较结果中有2者相同,则计算结果合法,执行步骤10;
步骤10、信息输出阶段,每台计算机将待输出的信息发送给配置有输出通道的计算机,若本计算机有输出通道也包括自己;
步骤11、配置有输出通道的计算机在正常情况下会收到3份同样的输出信息,当接收到第一份的时候则进行输出,另外两份则直接抛弃,不作处理。
2.如权利要求1所述的基于3取2计算机系统的预执行方法,其特征在于,所述的步骤3包含以下步骤:
步骤3.1、假设输入信息正确,开始基于该输入信息的程序预执行;
步骤3.2、启动定时器,对该输入信息开始计时,如超过一个时间计数值,则视为超时;
步骤3.3、保存基于该输入信息的程序预执行过程中所改变的全局变量,并将两者对应关联起来。
3.如权利要求1所述的基于3取2计算机系统的预执行方法,其特征在于,所述的步骤7中,如某通道的故障次数达到3次,则将该通道置为故障状态,系统进入1输入通道状态。
CN 201110073153 2011-03-25 2011-03-25 基于3取2计算机系统的预执行方法 Expired - Fee Related CN102193835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110073153 CN102193835B (zh) 2011-03-25 2011-03-25 基于3取2计算机系统的预执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110073153 CN102193835B (zh) 2011-03-25 2011-03-25 基于3取2计算机系统的预执行方法

Publications (2)

Publication Number Publication Date
CN102193835A CN102193835A (zh) 2011-09-21
CN102193835B true CN102193835B (zh) 2013-01-30

Family

ID=44601942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110073153 Expired - Fee Related CN102193835B (zh) 2011-03-25 2011-03-25 基于3取2计算机系统的预执行方法

Country Status (1)

Country Link
CN (1) CN102193835B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664984B (zh) * 2017-03-28 2024-04-09 深圳市凯立德科技股份有限公司 一种数据检查的方法及装置
CN110119858A (zh) * 2018-02-05 2019-08-13 南京易司拓电力科技股份有限公司 基于大数据的电网调度自动化系统的数据质量评估方法
CN110879549B (zh) * 2019-11-28 2023-05-05 四川泛华航空仪表电器有限公司 一种基于交叉互比方法的余度测量架构及余度管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923830A (en) * 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
US6178522B1 (en) * 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing
CN1099638C (zh) * 2000-06-07 2003-01-22 北京和利时系统工程股份有限公司 一种实现计算机系统容错的方法

Also Published As

Publication number Publication date
CN102193835A (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
CA2434494C (en) Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US7987385B2 (en) Method for high integrity and high availability computer processing
CN101976217B (zh) 网络处理器异常检测方法及系统
CN109189600A (zh) 一种基于多模冗余嵌入式软件的计算机系统及设计方法
CN103370693A (zh) 重启进程
CN110784331B (zh) 一种共识流程恢复方法及相关节点
RU2577465C2 (ru) Система, способ и устройство для коррекции ошибки в мультипроцессорных системах
CN111683043B (zh) 面向联盟链的基于可信执行环境的智能合约并发执行方法
CN103370694A (zh) 重启数据处理系统
CN103488721B (zh) 主备板的数据库双向同步方法和系统
CN101216792B (zh) 实时操作系统的任务管理方法、装置
CN102193835B (zh) 基于3取2计算机系统的预执行方法
CN114416435A (zh) 一种微处理器架构及微处理器故障检测方法
CN101916068B (zh) 基于2取2结构的计算机控制系统及其实现方法
CN108228391B (zh) 一种LockStep处理机及管理方法
CN103713959A (zh) 任务同步方法
CN102799212B (zh) 用于多核多处理器并行系统的全局时钟系统及其使用方法
CN102508745B (zh) 一种基于两级松散同步的三模冗余系统及其实现方法
CN101887386A (zh) 一种磁盘阵列控制器故障处理方法及系统
JP5436422B2 (ja) 高インテグリティと高可用性のコンピュータ処理モジュール
CN114355802A (zh) 一种多核并起的处理器同步调试方法
CN103473153A (zh) 用于检测微控制器中的潜在故障的方法和系统
Baldoni et al. Characterization of consistent global checkpoints in large-scale distributed systems
JP2000298594A (ja) フォールトトレラント制御方法および冗長コンピュータシステム
CN106250432A (zh) 一种基于持久化MQ的hbase容错方法

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
ASS Succession or assignment of patent right

Owner name: TONGJI UNIVERSITY

Free format text: FORMER OWNER: SHANGHAI MAGLEV TRANSPORTATION DEVELOPMENT CO., LTD.

Effective date: 20150217

Free format text: FORMER OWNER: SHANGHAI MAGNETIC SUSPENSION COMMUNICATION ENGINEERING TECHNOLOGY RESEARCH CENTE

Effective date: 20150217

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 201204 PUDONG NEW AREA, SHANGHAI TO: 200092 YANGPU, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20150217

Address after: 200092 Shanghai City, Yangpu District Siping Road No. 1239

Patentee after: Tongji University

Address before: 201204 Pudong New Area, Longyang Road, No. 2520,

Patentee before: Shanghai Maglev Transportation Development Co., Ltd.

Patentee before: Shanghai Magnetic Suspension Communication Engineering Technology Research Cente

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130130

Termination date: 20160325

CF01 Termination of patent right due to non-payment of annual fee