多机容错系统主机判别方法

文档序号:6571806阅读:205来源:国知局
专利名称:多机容错系统主机判别方法
技术领域
本发明涉及一种计算机自动控制技术,尤其是城市轨道交通控制系统中的多机系统中主机的判别方法,具体地说是一种多机容错系统主机判别方法。
背景技术
众所周知,在一些涉及重大人身和设备安全的自动控制系统领域,要求系统具有极高的可靠性,并且要求系统不仅在正常工作时保证系统安全,而且必须在发生故障时确保系统由故障导向安全。为此,基于容错技术的高可靠性、高安全性多机容错系统应运而生。在这些多机容错系统中,处理多机间运算关系的方法有两种方式一种方式是多机之间处于相互平等的关系,通过锁步模式协同工作或者由第三方设备对输出结果进行比较;但无论采用哪种模式,该种方式都需要添加额外的硬件来维持多机之间的同步关系;另一种方式是设立一台主机,由主机协调处理多机之间的同步等相互关系。这种方式多机资源统一由主机进行管理,多机之间协同工作较为容易实现,但一旦指定的主机发生故障,则其它处理单元则无法自动替代已有主机协调多机之间的协同工作,其可靠性相对较低。

发明内容
本发明的目的是针对现有的多机系统中需要硬件来实现主机的判别及确定的问题,发明一种无需添加硬件即实现主机的自动设定的多机容错系统主机判别方法。
本发明的技术方案是一种多机容错系统主机判别方法,其特征是首先,在多机系统的每个处理单元中设置一张相同格式的多机状态记录表,该多机状态记录表至少应包括与之通讯的处理单元的数量、主机状态记录内容,该多机状态记录表不仅记录自身处理单元的当前状态,而且记录多机系统中所有其他处理单元的当前状态,并在与其它处理单元进行通讯时将该多机状态记录表作为数据包附件发送出去;其次,当任一处理单元的状态发生变化时,即刻将其变化信息写入多机状态记录表;而其他处理单元的状态则由通讯模块在接收数据时,根据数据包附带的发送方的状态记录表信息实时更新;第三,由各处理单元中安装有状态判别模块定时分析状态记录表,检查状态记录表中的信息变化,并根据以下原则结合状态变化及时调整自身处理单元为主机或非主机的状态系统刚刚上线时,首先设置自身主机状态为非主机状态;并定期检测多机状态记录表;如自己是在线的唯一一台处理单元,则等待其他处理单元上线;有一个以上的处理单元同时在线时,则根据多机状态记录表中记录的数据判断当前在线处理单元中是否已经有主机,如果有则继续保持自身非主机状态,如果没有,则判断自身是否具备成为主机的条件,如自身运行状态正常,数据接收状况良好,具备成为主机的条件则将自身设置为主机,否则继续保持自身非主机状态;如果检测到在线处理单元中已有一个成为主机,且自身也为主机状态,则说明产生主机冲突,此时自动将自身设置为非主机状态,并等待下一个主机状态检测周期的到来,在下一个检测周期重新进行检测。
所述的多机状态记录表的行数和列数与系统中的处理单元的数量相等。
本发明的有益效果本发明利用处理单元本身所具备的功能,通过对记录信息的分析与判断,解决了多机之间的主机筛选与确定问题,同时本发明无需增加任何输入输出单元等硬件设备,并且具有极强的可移植性。


图1是本发明实施例的三机容错系统的主机判别用状态记录表描述;
图2是本发明实施例的三机容错系统中只有一台在线处理单元时的主机判别用状态记录表中记录的数据;图3是本发明实施例的三机容错系统中仅有二台在线处理单元时的主机判别用状态记录表中记录的数据;图4是本发明实施例的三机容错系统中三台处理单元均在线且通讯正常时的主机判别用状态记录表中记录的数据;图5是本发明实施例的三机容错系统中三台处理单元均在线且有一路通讯链路出现故障时的主机判别用状态记录表中记录的数据。
具体实施例方式
下面结合附图和实施例对本发明作进一步的说明。
如图1-5所示。
一种三机容错系统主机判别方法,假定三机容错系统处理单元分别为A、B、C机。相互具有连接链路的处理单元设定为伙伴单元。本发明提出的多机容错系统的主机判别方法在每个处理单元中维护如图1所示的状态记录表。其中第一行记录系统自身状态如自身处理单元判断的在线单元数,自身主机状态。第二行记录第一个伙伴单元(定义为B机)的状态如从B机接收到的B机在线单元数(由B机判断得出)、从C机接收到的B机在线单元数(由B机判断得出,并通过BC间的通讯通道传给C机并保存在C机状态记录表中)、以及从B机接收到的B机当前主机状态。第三行记录第二个伙伴单元(定义为C机)的状态如从C机接收到的C机在线单元数(由C机判断得出)、从B机接收到的C机在线单元数(由C机判断得出,并通过BC间的通讯通道传给B机并保存在B机状态记录表中)、以及从C机接收到的C机当前主机状态。
当A机是唯一在线处理单元时状态记录单元如图2所示自身检测的在线单元数量为1,从伙伴单元获得的状态信息均为0(未知)。此时由于A机是唯一在线处理单元,没有设定主机的必要,因此,自身主机状态仍然设为0(非主机状态)。
当存在两个在线处理单元时(以AB两个处理单元在线为例),A机的状态记录单元如图3所示第一行自身检测的在线单元数量为2。第二行从B机接收到的B机在线单元数为2、从C机接收到的B机在线单元数为0(未知)。第三行从C机接收到的C机在线单元数为0、从B机接收到的C机在线单元数为0、以及从C机接收到的C机当前主机状态为0。此时,自身检测的在线单元数量与从B机接收到的B机在线单元数相等。表明当前系统中确实只有两个处理单元在线。此时,如果第二行的从B机接收到的B机当前主机状态如果为0,表明B机尚未成为主机,而同时A机自身尚未成主机,则A机目前已具备了成为主机的条件,状态检测模块会将A机设为主机。如果第二行的从B机接收到的B机当前主机状态为1,说明此时B机已经成为主机,而同时A机自身是非主机,则继续保持非主机状态,如果A机自身也为主机状态,则说明出现了主机冲突。则状态检测模块将A机自身设为非主机,并等待下一个状态检测周期重新判断主机状态。
当存在三个在线处理单元时(ABC三个单元均在线),A机的状态记录单元如图4所示第一行自身检测的在线单元数量为3。第二行从B机接收到的B机在线单元数为3、从C机接收到的B机在线单元数为3、从B机接收到的B机当前主机状态为0。第三行从C机接收到的C机在线单元数为3、从B机接收到的C机在线单元数为3、以及从C机接收到的C机当前主机状态为0。此时,每个直接或间接获得的在线单元数均相等。表明当前系统中确实三个处理单元均在线。此时,如果第二行的从B机接收到的B机当前主机状态以及第三行的从C机接收到的C机当前主机状态均为0,表明BC两机均未成为主机,而同时A机自身尚未成主机。则A机目前已具备了成为主机的条件,状态检测模块会将A机设为主机。如果第二行的从B机接收到的B机当前主机状态为1,或者第三行的从C机接收到的C机当前主机状态为1,说明B机或C机已经成为主机,而同时A机自身是非主机,则继续保持非主机状态,如果A机自身也为主机状态,则说明出现了主机冲突。则状态检测模块将A机自身设为非主机,并等待下一个状态检测周期重新判断主机状态。
当存在三个在线处理单元时且存在通讯故障时(以ABC三个单元均在线,且AB通讯故障为例),A机的状态记录单元如图5所示第一行自身检测的在线单元数量为2。第二行从B机接收到的B机在线单元数为0、从C机接收到的B机在线单元数为2、从B机接收到的B机当前主机状态为0。第三行从C机接收到的C机在线单元数为3、从B机接收到的C机在线单元数为0、以及从C机接收到的C机当前主机状态为0。此时,由于自身检测的在线单元数量与从C机接收到的C机在线单元数不相等。说明系统中存在通讯故障,则此时,状态检测模块发出报警信息。等待操作员介入处理故障。
权利要求
1.一种多机容错系统主机判别方法,其特征是首先,在多机系统的每个处理单元中设置一张相同格式的多机状态记录表,该多机状态记录表至少应包括与之通讯的处理单元的数量、主机状态记录内容,该多机状态记录表不仅记录自身处理单元的当前状态,而且记录多机系统中所有其他处理单元的当前状态,并在与其它处理单元进行通讯时将该多机状态记录表作为数据包附件发送出去;其次,当任一处理单元的状态发生变化时,即刻将其变化信息写入多机状态记录表;而其他处理单元的状态则由通讯模块在接收数据时,根据数据包附带的发送方的状态记录表信息实时更新;第三,由各处理单元中安装有状态判别模块定时分析状态记录表,检查状态记录表中的信息变化,并根据以下原则结合状态变化及时调整自身处理单元为主机或非主机的状态系统刚刚上线时,首先设置自身主机状态为非主机状态;并定期检测多机状态记录表;如自己是在线的唯一一台处理单元,则等待其他处理单元上线;有一个以上的处理单元同时在线时,则根据多机状态记录表中记录的数据判断当前在线处理单元中是否已经有主机,如果有则继续保持自身非主机状态,如果没有,则判断自身是否具备成为主机的条件,如自身运行状态正常,数据接收状况良好,具备成为主机的条件则将自身设置为主机,否则继续保持自身非主机状态;如果检测到在线处理单元中已有一个成为主机,且自身也为主机状态,则说明产生主机冲突,此时自动将自身设置为非主机状态,并等待下一个主机状态检测周期的到来,在下一个检测周期重新进行检测。
2.根据权利要求1所述的一种多机容错系统主机判别方法,其特征是所述的多机状态记录表的行数和列数与系统中的处理单元的数量相等。
全文摘要
本发明公开了一种实现多机容错系统的主机判别方法,通过传输与记录多机的状态信息,并通过对记录信息的分析与判断的方法解决多机之间的主机筛选与确定问题,同时本方法无需增加任何输入输出单元等硬件设备,并且具有极强的可移植性。
文档编号G06F11/07GK101078909SQ200710024558
公开日2007年11月28日 申请日期2007年6月22日 优先权日2007年6月22日
发明者陈文赛, 苗刚 申请人:南京恩瑞特实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1