基于软件同步的可降级三模冗余计算机系统的制作方法

文档序号:7852057阅读:209来源:国知局
专利名称:基于软件同步的可降级三模冗余计算机系统的制作方法
技术领域
本发明涉及三模冗余计算机控制系统。
背景技术
计算机控制技术已广泛应用于航天、航空和海洋工程等各种领域,由于计算机的广泛应用,其可靠性成为一个非常突出的问题,提高计算机的可靠性有两种比较有效的方法。一种是避错,这就需要严格筛选计算机元器件,完善设计,提高制造工艺,以及加强质量管理等。但即使是这样一个计算机系统,由于其所在的工作环境有各种环境应力,如湿度、温度、电磁干扰、强震动等,因此总避免不了出现故障。这就要要求计算机具有容错能力,所谓容错是指在出现一个或者几个硬件或软件方面的故障或错误的情况下,计算机系统能够检测出故障的存在并采取措施容忍故障,不影响系统正常工作,或者在能够完成规定的任务的情况下降级运行。容错最基本的的方法是冗余技术,所谓冗余技术是指是通过为系统增加多重资源(硬件和软件重复配置),实现对多重资源的合理管理,从而提高产品和系统 可靠性的设计方法。三模冗余系统是可靠性非常高的一种冗余设计技术,三个模块同时执行相同的操作,以多数相同的输出作为表决系统的正确输出,通常称为三取二表决。三个模块中只要不同时出现两个相同的错误,就能掩蔽掉故障模块的错误,保证系统正确的输出。由于三个模块是互相独立的,两个模块同时出现错误是极小概率事件,故可以大大提高系统的可靠性。现有的三模冗余系统既要完成三取二表决的工作,又要保持三台计算机的同步和处理故障计算机恢复的工作,往往需要增加硬件设置,需要额外的仲裁模块,系统比较复杂。

发明内容
本发明的目的是提供一种基于软件同步的可降级三模冗余计算机系统,以解决现有的三模冗余系统既要完成三取二表决的工作,又要保持三台计算机的同步和处理故障计算机恢复的工作,往往需要增加硬件设置,系统比较复杂的问题。它由三台相同的控制计算机I、通信总线2、高速通信总线3和电源管理模块4组成;三台控制计算机I通过通信总线2两两互联,完成控制计算机I之间的同步信息传递和数据交换;每台控制计算机I采用三取二表决算法对三台控制计算机I的传感器数据和控制运算结果进行表决;三台控制计算机I之间通过高速通信总线3两两互联完成高频心跳监测信号的传递,实现控制计算机I之间的状态实时相互监测;三台控制计算机I通过运行降级程序实现冗余系统的降级运行,通过运行重构程序实现冗余系统的重构操作。本发明的系统以软件同步为基础,采用高频监测信号和表决算法为故障检测手段,可以将单点故障屏蔽掉,并且可以自动完成冗余系统故障时的降级以及故障恢复时的系统重构。本发明的优点(I)采用软件握手的方式,在不增加系统复杂度的情况下,实现了三台计算机同步采集传感器数据、同步控制运算、同步输出结果。(2)在进行控制计算前,每台计算机对采集的传感器数据进行数据质量检测、数据表决,排除了传感器的单点故障。在输出结果时,对计算结果采用表决算法进行检测,排除控制计算结果的单点故障。(3)利用高速通信总线传递高频心跳监测信号,实现了计算机状态实时相互监测。在系统中发生单台计算机或两台计算机发生故障时,可迅速检测出来。(4)系统可根据心跳监测结果、表决结果、同步结果判断计算机是否出现故障,若出现故障计算机,则控制电源模块对其重启或断电,完成系统降级。(5)故障计算机恢复时,在不影响系统运行的情况下可将其加入到系统中,实现系 统重构。


图I是本发明系统的结构示意图,图2是本发明系统工作流程示意图,图3是三模冗余系统模式转换示意图。
具体实施例方式具体实施方式
一下面结合图I具体说明本实施方式。本实施方式由由三台相同的控制计算机I、通信总线2、高速通信总线3和电源管理模块4组成;三台控制计算机I通过通信总线2两两互联,完成控制计算机I之间的同步信息传递和数据交换;每台控制计算机I采用三取二表决算法对三台控制计算机I的传感器数据和控制运算结果进行表决;三台控制计算机I之间通过高速通信总线3两两互联完成高频心跳监测信号的传递,实现控制计算机I之间的状态实时相互监测;三台控制计算机I通过运行降级程序实现冗余系统的降级运行,通过运行重构程序实现冗余系统的重构操作。三台控制计算机I利用同步信息的传递实现软件同步,其过程为在每台控制计算机I的程序中设置若干个同步点,控制计算机I程序运行至同步点时,通过通信总线2发送同步消息,并限时等待其他控制计算机I的同步消息,接收到其它控制计算机I的同步消息后程序继续运行。三台计算机I通过在同步点相互等待实现计算机之间的同步。传感器数据和控制运算结果交换及表决的过程为每台控制计算机I在完成传感器数据采集和控制运算之后通过通信总线2向另外两台控制计算机I发送该计算机的数据,每台控制计算机I完成数据交换后,运行表决程序,对数据进行监控表决,屏蔽掉传感器、控制运算的故障,并进行相应故障记录。控制计算机I之间的状态实时相互监测的过程为每台控制计算机I通过高速通信总线3向另外两台控制计算机I发送本计算机的状态信息,包括CPU状态信息、网口状态信息、串口状态信息、存储器状态信息。高速串行通信总线采用RS422串行通讯,传输速度为921. 6kbps。心跳监测信号的发送周期远小于控制周期;一旦某台控制计算机发送的心跳信号异常,即将该控制计算机从冗余系统中切除,系统降级为较低余度的冗余模式。运行降级程序实现冗余系统降级运行的过程为工作在三模冗余状态时,三台控制计算机I设置为三个优先级别,若某台控制计算机I的心跳信号异常或者传感器数据和控制计算结果连续错误,另外两台控制计算机I运行系统降级程序,对电源管理模块进行控制,让故障计算机进行重启,同时另外两个计算机中具有较高优先级的正常计算机成为主机;若重启若干次后该故障计算机仍有故障,则对其进行断电,系统降级为双模冗余工作状态;系统工作在双模冗余状态时,从计算机通过心跳信号对主计算机进行状态监测,若主计算机的心跳信号异常,则从计算机对电源管理模块进行控制,控制主计算机进行重启,从计算机升级为主计算机;若重启若干次后计算机仍有故障,则主计算机控制电源管理模块对其断电,系统降级为无冗余工作状态。实现冗余系统的重构操作过程为系统工作在无冗余状态下,当故障计算机经过修理排除故障后,重新加入到系统,通过通信总线2和高速通信总线3发送开机同步消息和心跳监测信号。每当一个控制周期结束,处于工作状态的控制计算机I 一旦检测到恢复后的计算机开机同步消息和正确心跳监测信号,将从故障状态恢复正常的控制计算机I加入到冗余系统中,使系统由无冗余状态升级为双冗余状态;系统工作在双冗余状态下,当故障计算机恢复后通过通信总线2和高速通信总线3发送开机同步消息和·心跳监测信号;每当一个控制周期结束,一旦检测到恢复后的计算机开机同步消息和正确心跳监测信号,两台正常计算机运行系统重构程序将其加入到冗余系统中,使系统由双冗余状态升级为三模冗余状态。每台控制计算机根据系统需求扩展相应的外设,比如串口、网口、A/D卡、D/A卡;计算机的通电、重启操作可通过电源管理模块完成;三台控制计算机I之间通过两套通信总线相互连接;每台计算机包括数据采集模块和输出量模块,用来采集传感器数据和控制执行机构。整个冗余系统的工作流程如图2所述(I)计算机上电后,首先执行初始化程序,对系统进行初始化,加载驱动程序。(2)系统正常开机后,每台计算机首先通过通信总线向另外两台计算机发送开机同步消息,计算机在接受到开机同步消息后,根据消息内容查询当前系统中有无主机,若无主机则按照预先设定的优先级,选择优先级最高的为主机。确定主机之后,主机向其它计算机发送同步应答消息,从机接收到应答消息后,向主机发送确认应答消息,三台计算机采用三次握手机制完成初次上电开机同步,保证三台计算机同时开始工作。(3)经过开机同步后,系统进入周期性同步,该过程主要包括采集数据同步、控制计算同步、控制运算结果输出同步。周期性同步由主计算机发起,主计算机根据被控对象的控制要求设置定时器的定时时间。定时时间一到,操作系统自动调用定时器信号处理程序,该程序通过通信总线向三台计算机发送数据采集同步消息,发送同步消息后各计算机限时等待其它计算机的数据采集同步消息。若在规定时间内未收到某台计算机的同步消息则立即退出等待,并进行失步记录。(4)经过采集同步后,三台计算机可以同时采集传感器数据,完成数据采集后三台计算机通过通信总线相互交换传感器数据,进行传感器数据质量的检测及数据表决,将传感器的单点故障屏蔽掉。(5)传感器完成采集、表决之后,程序进入控制运算同步过程,三台计算机通过通信总线互发同步消息,并限时等待同步消息。接收到同步消息后,计算机运行控制程序进行控制运算,并将各自的计算结果发给其它计算机,每台计算机进行计算结果的表决,实现输出结果的监控,同时表决监控结果可作为计算机之间的互检信息。
(6)控制运算完成后,控制计算机进入结果输出同步过程,每台计算机通过通信总线互相发送同步消息,并限时等待其它计算机的同步消息。接收到同步消息后,计算机进行结果输出。(7)每台计算机建立一个心跳监测任务,该任务用来对计算机进行周期性自检,并将检测结果以高频心跳监测信号形式发送给其它计算机,并限时接收来自其它计算机的监测信号,心跳信号的发送周期远小于周期性同步的周期。一旦某台计算机的发送或接收监测信号异常,则可迅速判断出该计算机出现故障。(8)某计算机心跳信号发生异常时,系统中其它计算机运行系统降级程序,根据心跳任务的监测结果,判断有无计算机出现故障,若计算机出现故障则控制电源管理模块对计算机进行重启操作,若连续重启若干次后计算机仍出现故障,则将该计算机断电从系统中切除出去,高优先级的从计算机成为主计算机,它将打开定时器,用来发起周期性同步,实现系统降级。 (9)在控制周期结束时,计算机运行降级程序,根据传感器表决结果、控制计算表决结果、同步结果判断有无计算机出现故障,若计算机出现故障则控制电源管理模块对计算机进行重启操作,高优先级的从计算机成为主计算机,它将打开定时器,用来发起周期性同步,实现系统降级。若连续重启若干次后计算机仍出现故障,则将该计算机断电从系统中切除出去。(10)在控制周期结束时,计算机运行重构程序监测有无接收到开机同步消息,接收到开机同步消息,并确认计算机的心跳监测信号正常后,主机向该计算机发送开机同步应答消息,同时所有计算机修改程序运行参数,升级为高余度的冗余系统,完成系统的重构。操作系统选用实时操作系统为平台,采用多进程方法设计程序,建立同步进程和 心跳进程,两个进程之间采用本地套接字方法进行通信。心跳进程每Ims运行一次,按照上述监测逻辑发送、接收心跳信号,并进行计算机监测状态的逻辑判断,实现计算机状态实时监测。同步进程由开机同步函数、数据采集同步函数、控制运算同步函数、结果输出同步函数、系统降级函数、系统重构函数及主函数组成,主函数按照上述的同步逻辑分别调用各个同步函数,各个同步函数发送相应节点同步消息,并限时等待其它计算机发送的同步消息。系统降级函数首先跟心跳进程通信,获取其它计算机的心跳监测结果,同时利用传感器数据和控制计算结果的表决数据,进行计算机状态判断,并根据判断结果进行计算机降级处理。系统重构函数检测开机同步消息,若收到某计算机的开机同步消息,并确认心跳信号正常后,通知系统中所有计算机修改程序运行参数,进行系统重构,升级到高余度冗余系统。
程序中设置一个同步计数器变量,每做一次同步该变量加1,并将该变量加入到同步消息中,计算机可以从同步消息中获得其它计算机的同步次数,进行比较可以进行同步是否成功的判断。
权利要求
1.基于软件同步的可降级三模冗余计算机系统,其特征在于它由三台相同的控制计算机(I)、通信总线(2)、高速通信总线(3)和电源管理模块⑷组成;三台控制计算机⑴通过通信总线(2)两两互联,完成控制计算机(I)之间的同步信息传递和数据交换;每台控制计算机(I)采用三取二表决算法对三台控制计算机(I)的传感器数据和控制运算结果进行表决;三台控制计算机⑴之间通过高速通信总线⑶两两互联完成高频心跳监测信号的传递,实现控制计算机⑴之间的状态实时相互监测;三台控制计算机⑴通过运行降级程序实现冗余系统的降级运行,通过运行重构程序实现冗余系统的重构操作。
2.根据权利要求I所述的基于软件同步的可降级三模冗余计算机系统,其特征在于三台控制计算机(I)利用同步信息的传递实现软件同步,其过程为在每台控制计算机(I)的程序中设置若干个同步点,控制计算机(I)程序运行至同步点时,通过通信总线(2)发送同步消息,并限时等待其他控制计算机⑴的同步消息,接收到其它控制计算机⑴的同步消息后程序继续运行;三台计算机(I)通过在同步点相互等待实现计算机之间的同步。
3.根据权利要求I所述的基于软件同步的可降级三模冗余计算机系统,其特征在于传 感器数据和控制运算结果交换及表决的过程为每台控制计算机(I)在完成传感器数据采集和控制运算之后通过通信总线(2)向另外两台控制计算机(I)发送该计算机的数据,每台控制计算机(I)完成数据交换后,运行表决程序,对数据进行监控表决,屏蔽掉传感器、控制运算的故障,并进行相应故障记录。
4.根据权利要求I所述的基于软件同步的可降级三模冗余计算机系统,其特征在于控制计算机(I)之间的状态实时相互监测的过程为每台控制计算机(I)通过高速通信总线(3)向另外两台控制计算机(I)发送本计算机的状态信息,包括CPU状态信息、网口状态信息、串口状态信息、存储器状态信息;该心跳监测信号的发送周期远小于控制周期;一旦某台控制计算机发送的心跳信号异常,即将该控制计算机从冗余系统中切除,系统降级为较低余度的冗余模式。
5.根据权利要求I所述的基于软件同步的可降级三模冗余计算机系统,其特征在于运行降级程序实现冗余系统降级运行的过程为工作在三模冗余状态时,三台控制计算机(I)设置为三个优先级别,若某台控制计算机(I)的心跳信号异常或者传感器数据和控制计算结果连续错误,另外两台控制计算机(I)运行系统降级程序,对电源管理模块进行控制,让故障计算机进行重启,同时另外两个计算机中具有较高优先级的正常计算机成为主机;若重启若干次后该故障计算机仍有故障,则对其进行断电,系统降级为双冗余工作状态;系统工作在双模冗余状态时,从计算机通过心跳信号对主计算机进行状态监测,若主计算机的心跳信号异常,则从计算机对电源管理模块进行控制,控制主计算机进行重启,从计算机升级为主计算机;若重启若干次后计算机仍有故障,则对其断电,系统降级为无冗余工作状态。
6.根据权利要求I所述的基于软件同步的可降级三模冗余计算机系统,其特征在于实现冗余系统的重构操作过程为系统工作在无冗余状态下,当故障计算机恢复后通过通讯总线(2)和高速通信总线(3)发送开机同步消息和心跳监测信号;每当一个控制周期结束,处于工作状态的控制计算机(I) 一旦检测到恢复后的计算机开机同步消息和正确心跳监测信号,将从故障状态恢复正常的控制计算机(I)加入到冗余系统中,使系统由无冗余状态升级为双冗余状态;系统工作在双冗余状态下,当故障计算机恢复后通过通讯总线(2)和高速通信总线(3)发送开机同步消息和心跳监测信号;每当一个控制周期结束,一旦检测到恢复后的计算机开机同步消息和正确心跳监测信号,两台正常计算机运行系统重构程 序将其加入到冗余系统中,使系统由双冗余状态升级为三模冗余状态。
全文摘要
基于软件同步的可降级三模冗余计算机系统,本发明涉及三模冗余计算机控制系统,解决了现有的三模冗余系统需要额外的仲裁模块,系统比较复杂的问题。它由三台相同的控制计算机、通信总线、高速通信总线和电源管理模块组成;控制计算机通过两两互联的通信总线完成控制计算机之间的同步信息传递和数据交换;控制计算机采用三取二表决算法对传感器数据和控制运算结果进行表决;计算机之间通过高速通信总线两两互联完成高频心跳监测信号的传递,实现控制计算机之间的状态实时相互监测;三台控制计算机通过运行降级程序实现冗余系统的降级运行,通过运行重构程序实现冗余系统的重构操作。不需要额外的仲裁模块。
文档编号H04L12/24GK102724083SQ20121016643
公开日2012年10月10日 申请日期2012年5月25日 优先权日2012年5月25日
发明者丁福光, 刘向波, 刘扬, 王元慧, 王成龙, 聂兵, 赵大威, 陈兴华 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1