CN1270351A - 一种实现计算机***容错的方法 - Google Patents
一种实现计算机***容错的方法 Download PDFInfo
- Publication number
- CN1270351A CN1270351A CN 00109094 CN00109094A CN1270351A CN 1270351 A CN1270351 A CN 1270351A CN 00109094 CN00109094 CN 00109094 CN 00109094 A CN00109094 A CN 00109094A CN 1270351 A CN1270351 A CN 1270351A
- Authority
- CN
- China
- Prior art keywords
- computing machine
- synchronization frame
- send
- computing
- sends
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 12
- 238000009434 installation Methods 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 abstract description 2
- 101000992159 Homo sapiens Oncomodulin-1 Proteins 0.000 description 27
- 102100031945 Oncomodulin-1 Human genes 0.000 description 27
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明介绍了一种实现计算机***容错的方法,将三台普通计算机与网络数据线和现场数据线连接,在现场数据线上串接了多个固化了执行程序而且可以冗余配置的输出单元OCM,通过运行普通计算机和OCM中的程序,可以使三台普通计算机实现同步和表决,具备容错功能,这种容错技术,不再需要专门的容错计算机,方便维护,由于主要是通过运行软件来实现,对于整个***而言省去了复杂的硬件电路。
Description
本发明属于计算机容错技术。
目前,为了使计算机***具有容错功能,需要购买专门的容错计算机,而且普通的计算机是不具有容错功能的,专门的容错计算机价格高,而且用户维护起来更加困难。
本发明的目的是提供一种不通过专门的容错计算机,仅利用普通计算机,通过运行程序来实现计算机容错的方法。
本发明的技术方案是:一种实现计算机***容错的方法,其特征是:
(1)将三台普通计算机与网络数据线和现场数据线连接,在现场数据线上串接了多个固化了执行程序而且可以冗余配置的输出单元OCM;
(2)通过运行普通计算机和OCM中的程序,可以使三台普通计算机实现同步和表决,具备容错功能,其具体步骤是:
1)计算机***初始化和同步帧定时发送程序
①***加电,对计算机进行初始化,三台计算机读取各自的逻辑标志,同时开始计时,并通过现场数据线按周期向OCM发送运算值;
②OCM对计算机发送来的运算值实施表决;
③计算机***加电时,三台计算机设置了各不相同的开始发送同步帧的等待周期,根据计时时间,等待周期最短的计算机开始按一定周期向三台计算机和OCM发送同步帧,一台计算机开始发送同步帧后,其他计算机不再发送同步帧,发送同步帧的计算机通过网络数据线发送变化数据及实时数据;
④计算机和OCM接收同步帧;
2)计算机接收到同步帧时的处理程序;
①计算机判断同步帧发送源的计算机逻辑标志;
②如果该逻辑标志与本身逻辑标志不一致,向同步帧发送源的计算机发出确认帧,如果该逻辑标志与本身逻辑标记一致,不发送确认帧;
3)OCM接收到的同步帧时的处理程序;
①向计算机发送对接收到同步帧前对计算机运算值的表决结果;
②继续对计算机发送来的运算值进行表决,并保存表决结果;
4)计算机对接收到的OCM发来的表决结果进行处理的程序;
①计算机每一周期将所有OCM发来的表决结果进行“或”运算,表决结果是三位数,对应三台计算机,计算机根据运算结果执行不同的处理过程,对偶然的表决不一致,计算机实施不理睬处理,即不按出错的运算值处理,只有达到不理睬次数的规定值时,才按照出错的运算值处理;
②如果只有一位出现错误标志,表示对应的计算机出现错误,该计算机进行自检,如果两位或三位为错误值时,计算机将停止运算,此时,通过断电复位***才能恢复正常;
③计算机进行自检时,自检结果发现错误,按发生故障处理,计算机停止运算,自检结果未发现错误时,需向发送同步帧的计算机发出要求数据统一申请命令,发送同步帧的计算机收到申请命令后,向申请计算机发送当前数据;当发送同步帧的计算机进行自检时,该计算机首先停止发送同步帧,等待另外两台计算机中的一台发送出同步帧,停止发送同步帧后,每台计算机设定了互不相同的发送同步帧等待周期,由等待周期最短的计算机开始发送同步帧;接收到另外的计算机发送的同步帧后,开始自检,根据自检结果,发生故障时按故障处理,即该计算机停止运算,如果自检未发现错误,向新的发送同步帧的计算机发出要求数据统一申请命令,计算机处于等待接收数据状态,同时进行计时,在规定时限内如果没有得到数据,将继续向发出同步帧的计算机发出要求数据统一命令,如果在规定时限内,得到了发出同步帧的计算机发来的数据,将对接收到的数据进行处理,即按该数据刷新原有数据库。
本发明的工作原理是:在网络数据线上串接三台计算机,在现场数据线上串接了多个固化了执行程序的可以冗余配置的输出单元OCM,三台计算机分别与冗余现场数据线连接。***运行时,通过运行计算机中的程序,某一时间段内,选择一台计算机按周期通过现场数据线向三台计算机发送同步帧,另外两台计算机通过现场数据线向发送同步帧的计算机发送确认帧,来完成时间同步。通过网络数据线实现数据库的一致,同时接受操作信息和向上传送实时数据。OCM对三台计算机发来的运算值实施表决,并按表决结果输出,同时通过现场数据线将表决结果通知计算机。计算机对偶然的表决不一致实施不理睬处理,当达到设定的连续表决错误数值时,相应的计算机开始自检,根据自检结果,如果没有发生故障,则需要向发送同步帧的计算机发出数据一致申请,如果自检结果是计算机发现错误,则按发生故障处理,即该计算机停止运算。如果对应发送同步帧的计算机出现错误值,该计算机将停止发送同步帧,等待另外两台计算机中的一台将发送同步帧后,开始进行自检,根据自检结果,进行相应的处理程序。当三台计算机中,有两台计算机出现故障时,***必须进行断电复位,重新开始***的工作。
本发明的优点是:在网络数据线上串接三台计算机,在现场数据线上串接了多个固化了执行程序的可以冗余配置的输出单元OCM,三台计算机分别与冗余现场数据线连接。通过运行计算机和输出单元OCM中的程序,来实现计算机***的容错,这种容错技术,不再需要专门的容错计算机,方便维护,由于主要是通过运行软件来实现,对于整个***而言省去了复杂的硬件电路。
下面结合附图和实施例对本发明作进一步的说明。
图1是本发明的结构框图;
图2是***初始化及同步帧发送处理程序框图;
图3是计算机接收同步帧的处理程序框图;
图4是OCM接收同步帧的处理程序框图;
图5是计算机***对OCM表决结果进行处理的程序框图;
图6是图5中发送同步帧的计算机自检时处理程序框图;
图1中,将三台普通计算机1、2、3与网络数据线和现场数据线连接,在现场数据线上串接多个固化了执行程序而且可以冗余配置的输出单元OCM1、OCM2OCMn,通过运行普通计算机程序和OCM中的程序,可以使三台普通计算机实现同步和表决,具备容错功能。
图2是计算机***初始化和同步帧定时发送程序框图,首先给***加电,对***进行初始化,三台计算机读取各自的逻辑标志1、2、3,同时开始计时,同时通过现场数据线向持续OCM发送运算值,OCM对计算机发送来的运算值实施表决,***加电时,三台计算机开始发送同步帧的等待周期各不相同,1号计算机不延迟,2号计算机延迟20个周期,3号计算机延迟40个周期,根据计时时间,等待周期最短的1号计算机开始按一定周期向三台计算机和OCM发送同步帧,计算机2、3不再发送同步帧,任意周期内,发送同步帧的计算机成为主计算机,对应的其他计算机成为从计算机,主计算机通过网络数据线发送变化数据及实时数据,计算机和OCM接收同步帧。
图3是计算机接收到同步帧时的处理程序框图,计算机1、2、3首先判断同步帧发送源的计算机逻辑标志,如果该逻辑标志与本身逻辑标志不一致,向同步帧发送源的计算机发出确认帧,如果该逻辑标志与本身逻辑标记一致,不发送确认帧。
图4是OCM接收到的同步帧时的处理程序框图,***加电后,所有OCM就开始对计算机运算值进行表决,接收到主计算机发送的同步帧后,所有OCM向计算机发送对接收到同步帧前对计算机运算值的表决结果,同时继续对计算机发送来的运算值进行表决,并保存表决结果;等待下一个同步帧的到来。
图5是计算机***对OCM表决结果进行处理的程序框图,首先计算机每一周期将所有OCM发来的表决结果进行“或”运算,表决结果是三位数,对应三台计算机,计算机根据运算结果执行不同的处理过程,计算机对偶然的表决不一致,实施不理睬处理,即不按出错的运算值输出,因为这时***仍然是安全的,只有达到不理睬次数的规定时,才按照出错的运算值进行处理,本实施例中将不理睬的次数定为3次,即当OCM连续4次表决不一致时,对应的计算机就进入自检状态。如果只有一位出现错误标志,该计算机进行自检,计算机进行自检时,自检结果发现错误,按发生故障处理,计算机将停止运算,自检结果未发现错误时,需向主计算机发出要求数据统一申请命令,主计算机受到申请命令后,向申请计算机发送当前数据,如果两台或三台计算机运算值发生错误标志时,计算机将停止传送运算值,此时,通过断电复位***才能恢复正常。当主计算机进行自检时,首先停止发送同步帧,变为从计算机,等待由其他一台计算机变为主计算机,并发送出同步帧。主计算机停止发送同步帧后,接收到另外的计算机发出的同步帧后,开始自检。根据自检结果,发生故障时按故障处理,即该计算机停止运算,如果自检未发现错误,向新的发送同步帧的计算机发出要求数据统一申请命令,计算机处于等待接收数据状态,同时进行计时,在规定时限内如果没有得到数据,将继续向发出同步帧的计算机发出要求数据统一命令,如果在规定时限内,得到了发出同步帧的计算机发来的数据,将对接收到的数据进行处理,即按该数据刷新愿有数据库。
图6是发送同步帧的计算机即主计算机进行自检时处理程序详细框图,当主计算机进行自检时,首先停止发送同步帧,等待另外两台计算机中的一台变为主计算机并发送同步帧,具体方法时***加电,主计算机初始化为从计算机,然后设立本周期未接收到同步帧的计数单元count,初始化时count为0,按周期定时检查同步帧接受情况,如果计算机接收到同步帧,则count清0,如果计算机没有接收到同步帧,则count计数加1,通过count的数值和计算机的逻辑标志的比较,来决定发送出同步帧的计算机,主计算机停止发送同步帧后,三台计算机设定了互不相同的发送同步帧等待周期,本实施例中,1号计算机等待2个周期,2号计算机等待3个周期,3号计算机等待4个周期,正常情况下,每200ms发送一次同步帧,当主计算机停止发送同步帧后,下一个同步帧的发送时间间隔是根据下一台将要发送同步帧的计算机来决定的。如果1号计算机变为主计算机,下一个同步帧的发送时间间隔是2*200ms,如果2号计算机变为主计算机,下一个同步帧的发送时间间隔是3*200ms,如果3号计算机变为主计算机,下一个同步帧的发送时间间隔是4*200ms。
Claims (1)
1、一种实现计算机***容错的方法,其特征是:
(1)将三台普通计算机与网络数据线和现场数据线连接,在现场数据线上串接多个固化了执行程序而且可以冗余配置的输出单元OCM;
(2)通过运行普通计算机和OCM中的程序,可以使三台普通计算机实现同步和表决,具备容错功能,其具体步骤是:
1)计算机***初始化和同步帧定时发送程序
①***加电,对计算机进行初始化,三台计算机读取各自的逻辑标志,同时开始计时,并通过现场数据线按周期向OCM发送运算值;
②OCM对计算机发送来的运算值实施表决;
③计算机***加电时,三台计算机设置了各不相同的开始发送同步帧的等待周期,根据计时时间,等待周期最短的计算机开始按一定周期向三台计算机和OCM发送同步帧,一台计算机开始发送同步帧后,其他计算机不再发送同步帧,发送同步帧的计算机通过网络数据线发送变化数据及实时数据;
④计算机和OCM接收同步帧;
2)计算机接收到同步帧时的处理程序;
①计算机判断同步帧发送源的计算机逻辑标志;
②如果该逻辑标志与本身逻辑标志不一致,向同步帧发送源的计算机发出确认帧,如果该逻辑标志与本身逻辑标记一致,不发送确认帧;
3)OCM接收到的同步帧时的处理程序;
①向计算机发送对接收到同步帧前对计算机运算值的表决结果;
②继续对计算机发送来的运算值进行表决,并保存表决结果;
4)计算机对接收到的OCM发来的表决结果进行处理的程序;
①计算机每一周期将所有OCM发来的表决结果进行“或”运算,表决结果是三位数,对应三台计算机,计算机根据运算结果执行不同的处理过程,对偶然的表决不一致,计算机实施不理睬处理,即不按出错的运算值处理,只有达到不理睬次数的规定值时,才按照出错的运算值处理;
②如果只有一位出现错误标志,表示对应的计算机出现错误,该计算机进行自检,如果两位或二位为错误值时,计算机将停止运算,此时,通过断电复位***才能恢复正常;
③计算机进行自检时,自检结果发现错误,按发生故障处理,计算机停止运算,自检结果未发现错误时,需向发送同步帧的计算机发出要求数据统一申请命令,发送同步帧的计算机收到申请命令后,向申请计算机发送当前数据;当发送同步帧的计算机进行自检时,该计算机首先停止发送同步帧,等待另外两台计算机中的一台发送出同步帧,停止发送同步帧后,每台计算机设定了互不相同的发送同步帧等待周期,由等待周期最短的计算机开始发送同步帧;接收到另外的计算机发出的同步帧后,开始自检,根据自检结果,发生故障时按故障处理,即该计算机停止运算,如果自检未发现错误,向新的发送同步帧的计算机发出要求数据统一申请命令,计算机处于等待接收数据状态,同时进行计时,在规定时限内如果没有得到数据,将继续向发出同步帧的计算机发出要求数据统一命令,如果在规定时限内,得到了发出同步帧的计算机发来的数据,将按该数据刷新原有数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN00109094A CN1099638C (zh) | 2000-06-07 | 2000-06-07 | 一种实现计算机***容错的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN00109094A CN1099638C (zh) | 2000-06-07 | 2000-06-07 | 一种实现计算机***容错的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1270351A true CN1270351A (zh) | 2000-10-18 |
CN1099638C CN1099638C (zh) | 2003-01-22 |
Family
ID=4579416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00109094A Expired - Lifetime CN1099638C (zh) | 2000-06-07 | 2000-06-07 | 一种实现计算机***容错的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1099638C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100514285C (zh) * | 2005-10-14 | 2009-07-15 | 中国科学院研究生院 | 能够容忍运行代码错误的计算机***及其实现方法 |
CN101076736B (zh) * | 2004-09-16 | 2010-10-27 | 因文西斯***公司 | 在监督处理控制***中配置冗余的设备和方法 |
CN102043712A (zh) * | 2009-10-19 | 2011-05-04 | 杭州华三通信技术有限公司 | 错误信息输出方法及装置 |
CN101339689B (zh) * | 2007-07-05 | 2011-08-17 | 中广核工程有限公司 | 一种基于数字化报警卡的报警处理方法 |
CN102193835A (zh) * | 2011-03-25 | 2011-09-21 | 上海磁浮交通发展有限公司 | 基于3取2计算机***的预执行方法 |
CN101551801B (zh) * | 2008-03-31 | 2013-05-22 | 国际商业机器公司 | 数据同步的方法和*** |
CN103577759A (zh) * | 2012-08-09 | 2014-02-12 | 上海宝信软件股份有限公司 | 一种基于非安全通讯接口的数据安全处理装置 |
CN111708296A (zh) * | 2020-06-16 | 2020-09-25 | 山东省计算中心(国家超级计算济南中心) | 一种基于双通道安全plc的同步控制及数据表决方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2046239U (zh) * | 1988-08-24 | 1989-10-18 | 张鹰 | 一种z80系列微机容错中央处理器 |
US5799022A (en) * | 1996-07-01 | 1998-08-25 | Sun Microsystems, Inc. | Faulty module location in a fault tolerant computer system |
-
2000
- 2000-06-07 CN CN00109094A patent/CN1099638C/zh not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076736B (zh) * | 2004-09-16 | 2010-10-27 | 因文西斯***公司 | 在监督处理控制***中配置冗余的设备和方法 |
CN100514285C (zh) * | 2005-10-14 | 2009-07-15 | 中国科学院研究生院 | 能够容忍运行代码错误的计算机***及其实现方法 |
CN101339689B (zh) * | 2007-07-05 | 2011-08-17 | 中广核工程有限公司 | 一种基于数字化报警卡的报警处理方法 |
CN101551801B (zh) * | 2008-03-31 | 2013-05-22 | 国际商业机器公司 | 数据同步的方法和*** |
CN102043712A (zh) * | 2009-10-19 | 2011-05-04 | 杭州华三通信技术有限公司 | 错误信息输出方法及装置 |
CN102043712B (zh) * | 2009-10-19 | 2013-03-13 | 杭州华三通信技术有限公司 | 错误信息输出方法及装置 |
CN102193835A (zh) * | 2011-03-25 | 2011-09-21 | 上海磁浮交通发展有限公司 | 基于3取2计算机***的预执行方法 |
CN103577759A (zh) * | 2012-08-09 | 2014-02-12 | 上海宝信软件股份有限公司 | 一种基于非安全通讯接口的数据安全处理装置 |
CN103577759B (zh) * | 2012-08-09 | 2016-07-06 | 上海宝信软件股份有限公司 | 一种基于非安全通讯接口的数据安全处理装置 |
CN111708296A (zh) * | 2020-06-16 | 2020-09-25 | 山东省计算中心(国家超级计算济南中心) | 一种基于双通道安全plc的同步控制及数据表决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1099638C (zh) | 2003-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103262044B (zh) | 虚拟机失效转移管理的方法及其支持*** | |
CN103856392A (zh) | 消息推送方法及其外发服务器和外发服务器*** | |
CN1821973A (zh) | 容错计算机***及其中断控制方法 | |
CN1801023A (zh) | 一种多事件顺序记录与测试*** | |
CN1198406C (zh) | 通讯***备份方法和设备 | |
CN1270351A (zh) | 一种实现计算机***容错的方法 | |
CN102354305A (zh) | 设备间串行通信***及方法 | |
DE3328405C2 (zh) | ||
CN103501290A (zh) | 一种基于动态备份虚拟机的高可靠服务***构建方法 | |
CN101286830A (zh) | 用于卡件的基于双核控制器的双冗余高速io网络*** | |
CN105812292A (zh) | 一种交换设备堆叠的方法及装置 | |
CN1831801A (zh) | 恢复i2c主器件和i2c从器件通讯的方法 | |
CN101488101A (zh) | Cpci冗余备份*** | |
CN1128558C (zh) | 基站控制维护模块备份*** | |
CN101488105B (zh) | 实现存储双控制器高可用性的方法及存储双控制器*** | |
CN1639691A (zh) | 尤其是容许故障***的处理器的用于事件同步的方法 | |
CN102521086B (zh) | 基于锁步同步的双模冗余***及其实现方法 | |
CN1559132A (zh) | 在具有冗余网络路径的通信***中接收数据电报 | |
CN1267835C (zh) | 网络计算机平台远程重启方法及*** | |
CN1074148C (zh) | 具有检错处理功能的数据处理*** | |
CN101557307A (zh) | 调度自动化***应用状态管理方法 | |
CN1577213A (zh) | 在计算机***中使用***组件互连电源管理机制的方法 | |
CN1203427C (zh) | 一种具有tcp连接容错功能的负载平衡调度方法 | |
CN101055556A (zh) | 一种多cpu***及cpu之间消息传递的方法 | |
CN1158614C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: BEIJING HELISHI SYSTEM ENGINEERING CORPORATION Free format text: FORMER NAME OR ADDRESS: BEIJING HELISHI SYSTEM ENGINEERING CO., LTD. |
|
CP01 | Change in the name or title of a patent holder |
Address after: No. 10 city road, building materials, Beijing, Xisanqi Patentee after: Beijing HollySys System Engineering Co., Ltd. Address before: No. 10 city road, building materials, Beijing, Xisanqi Patentee before: Beijing HollySys System Engineering Co., Ltd. |
|
CX01 | Expiry of patent term |
Granted publication date: 20030122 |
|
CX01 | Expiry of patent term |