掌桥专利:专业的专利平台
掌桥专利
首页

一种基于心跳报文的计算机联锁子系统主备切换系统

文献发布时间:2023-06-19 11:11:32


一种基于心跳报文的计算机联锁子系统主备切换系统

技术领域

本发明涉及一种联锁子系统主备切换系统,属于通信技术领域,具体是涉及一种基于心跳报文的计算机联锁子系统主备切换系统。

背景技术

二乘二取二制式冗余结构,由于其具有安全性高、可靠性好、造价低等优点,在轨道交通计算机联锁领域已经广泛应用,在联锁子系统中初始化决定主备系关系及主备系切换机制实现中,目前主要有硬件实现和软硬结合实现两种主要模式。

使用硬件设备完成联锁主备决定和主备切换功能,其成本高并且技术难度大,功能高度集中在硬件调度单元,一旦该单元失败,则会导致整个系统失败。

软硬件结合仲裁主要利用联锁系统中某个网络设备作为通信载体,主要使用软件模式完成联锁主备决定和主备切换功能,通常有如下问题:(1)第一次上电初始化时决定主备系统存在问题:(1)原有联锁系统通常按照上电顺序来决定主备关系,但无法解决各设备同时上电引发的冲突问题。如果人工手动上电,避开同时上电问题,又违背了初次上电随机决定主备关系的设计原则;(2)系统运行过程中,主备切换通常需要500ms以上的耗时;(3)系统运行过程中,一旦某系设备发生故障,或者通信网口异常,由于缺乏必要软件支持,通常无法精确定位异常点。

因此,对现有技术中的主备切换系统进行改进,以解决上述问题,是当前迫切需要解决的技术问题。

发明内容

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明主要的目的是解决现有技术中所存在的技术问题,提供了一种基于心跳报文的计算机联锁子系统主备切换系统。该系统通过设计专用心跳报文实现了联锁子系统主备决定和主备切换问题,降低了联锁系统整体硬件成本,提高了系统切换效率。

为解决上述问题,本发明的方案是:

一种基于心跳报文的计算机联锁子系统主备切换系统,包括:

通信服务器,包括通信服务器A和通信服器B;

通道,包括A通道和B通道;所述A通道与通信服务器A和通信服器B连接;所述B通道与通信服务器A和通信服器B连接;

联锁单元,包括归属于通道A的第一联锁单元和第二联锁单元,以及归属于通道B的第三联锁单元和第四联锁单元;

各联锁单元和各通道之间通设备间心跳报文传递设备的状态信息,所述心跳报文除记录自身状态信息外,还包括系统中其他设备的状态信息;所述联锁单元根据自身运行状态修改心跳报文中的对应自身设备状态描述字段,并且根据接收到的其他设备心跳数据更新所述心跳报文中其它设备对应的字段。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,当联锁单元或者通信服务器发现所有其他设备的心跳都超时,则判断为本设备通信异常,并且在下一个通信时序时判断其他设备依然超时时确认本设备通信异常。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,通信服务器A和通信服务器B在上电过程中,在第一时序发送本机上电心跳报文同时接收其他设备心跳报文,根据接收到的心跳报文判断是否进入主机或备机状态。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,当通信服务器A和通信服务器B同时进入上电状态、备机状态时,双机各自取一个随机数,各自在所取得随机数的通信周期内,等待对方成为主机,如果对方在随机数周期内未设定为主机,则自己设置自己为主机。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,通信服务器A和通信服务器B中的备机在每个周期检查从联锁单元CPU发送到的心跳报文,从中提取通信服务器主机的状态并跟随,当发现通信服务器主机心跳超时或者汇报异常后,开始进入主备机切换流程,并在第二时序确认本机以及原通信服务器主机状态无误后,切换进入主机状态。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,各通道与通信服务器间开始收发心跳报文操作后,联锁单元接受来自通信主机的状态设置指令,仅当本通道的联锁单元本机进入跟随状态、备机状态或者主机状态后再与另一通道进行心跳报文收发操作。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,当仅只有一个联锁通道可正常进行心跳收发时,确认该通道为主通道;当两个联锁通道均可正常进行心跳收发时,由通信服务器主机随机选择一个通道作为主通道,另一个通道进入跟随模式。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,当其中一个通道在备模式下,连续出现预设次处理结果数据对比不一致时,在在心跳报文中标识自身状态异常,申请退到跟随模式,接收主通道发出的进入状态信息和处理结果信息,重新跟随主通道。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,联锁通道的主备切换包括被动异常模式,该模式下,通信服务器主机在第一时序发现联锁主通道心跳报文超时,待接收全部其他系统内设备心跳报文后,可确认该事件;在第二时序,通信服务主机确认联锁主通道心跳报文超时后,可立刻通过心跳报文通知联锁备通道设备进入主通道模式;如此时联锁双通道中的另一个通道未进入备模式,则等待2个时序周期,若另一个通道仍不具备条件,则通过日志模块汇报异常,记录此时联锁双通道及处理单元情况。

优选的,上述的一种基于心跳报文的计算机联锁子系统主备切换系统,联锁通道的主备切换包括主动异常模式,该模式下,通信服务器主机在第一时序发现联锁主通道心跳报文异常标志位,待接收全部其他系统内设备心跳报文后,可确认该事件;在第二时序,通信服务主机确认联锁主通道继续发送异常心跳报文后,可立刻通过心跳报文通知联锁备通道设备进入主通道模式,如此时联锁双通道中的另一个通道未进入备模式,则等待2个时序周期,若另一个通道仍不具备条件,则通过日志模块汇报异常,记录此时联锁双通道及处理单元的情况;此时的联锁在可感知自身状态时,需将自身状态设置为异常状态,等待通信服务器命令。

因此,本发明相对于现有技术具备以下优点:本发明通过设计专用心跳报文实现了联锁子系统主备决定和主备切换问题,降低了联锁系统整体硬件成本,提高了系统切换效率。

附图说明

并入本文并形成说明书的一部分的附图例示了本发明的实施例,并且附图与说明书一起进一步用于解释本发明的原理以及使得所属领域技术人员能够制作和使用本公开。

图1例示了本发明实施例中的系统框架图;

图2例示了本发明实施例中的各模式之间的转换关系示意图;

图3例示了本发明实施例中的通信服务器的上电示意图;

图4例示了本发明实施例中联锁处理单元上电示意图;

图5例示了本发明实施例中网络通信架构示意图。

图6例示了本发明实施例中某一设备心跳报文的初始化及收发流程示意图。

图7例示了本发明实施例中通信服务器间主备关系确定示意图。

图8例示了本发明实施例中通信服务器间主备关系切换流程示意图。

将参照附图描述本发明的实施例。

具体实施方式

实施例

二取二系统架构

如图1所示,联锁机子系统主要包括二取二 A通道、二取二 B通道、通信服务器A、通信服务器B,二取二 A通道包含处理单元S1和处理单元s2,二取二 B通道包含处理单元S3和处理单元S4,它们与通信服务器A、通信服务器B通过冗余的以太网内网(交换机)相连接。

其中,二取二 A通道、二取二 B通道存在主备关系;通信服务器A、通信服务器B存在主备关系;通信服务器A、通信服务器B的主备关系通过竞争决定;二取二 A通道、二取二B通道的主备关系、异常复位由通信服务器进行裁决。

二取二系统的工作模式

下面详细介绍以上二取二系统的工作模式。

二取二通道的模式包括正常模式和非正常模式。正常模式包括主模式和备模式;非正常模式包括上电模式,跟随模式,复位模式和断电模式。各模式的基本功能要求如下所示。

(1)主模式:处于主模式的二取二通道完成数据输入,应用处理和数据输出功能。

(2)备模式:处于备模式的二取二通道具有除应用结果输出之外的其他主模式功能,同时处于备模式的通道需要在每个运行周期将自己的运行状态跟主通道进行比较,如果比较不一致则处于备模式的通道转入复位模式。

(3)上电模式:二取二通道初始上电后进入上电模式,在此模式下完成自检功能。自检检查数据库版本号是否正确、初始化协议配置是否成功、应用初始化是否成功。

(3)跟随模式:二取二通道在跟随模式下,根据主通道发送过来的历史状态信息对本地数据进行更新,只有跟随成功后,才可以进入正常工作模式。

(4)复位模式:处于正常的工作通道如果在运行过程中出现了故障,进入复位模式。

(5)断电模式:联锁安全计算机平台本通道电源未打开;动态信号异常或板卡发生故障时,本通道自关断并重新上电。各模式之间的转换关系如图2所示。

二乘二取二系统的一个二取二通道完成上电模式的功能后,需要进行模式转换时,如果另外一个二取二通道此时已经处于主模式,那么本通道进入跟随模式,否则进入主模式。

在各自模式下出现故障,则进入复位模式,对本通道的处理单元进行复位,重新进入上电模式。

本通道板卡故障或动态信号异常时,则本通道进入断电模式,一段时间后重新上电。通道处于断电时,重新上电后,进入上电模式。

在跟随模式下,状态跟随成功后,可以自动转入备模式。一个二取二通道处于主模式,另一个二取二通道处于备模式时,可通过人工的方式,使处于主模式的通道变为备模式。可通过人工的方式,使处于备模式的通道变为主模式;如果主模式的通道发送故障,备模式的通道会根据通信服务器发送的裁决信息成为主模式。

二取二系统的控制流程

如图3所示,为通信处理理单元的内部控制流程示意图。

如图4所示,为联锁处理单元的内部控制流程示意图。

网络通信架构

如图5所示,为本实施例的网络通信架构设计。整个网络按照通信层级划分为4级:

外网用户层、通信服务器层、联锁设备层、受控及信号层

联锁系统中主要涉及主备切换的设备为通信服务器系统和联锁设备系统,即上述2、3层设备,这部分为本章节主要涉及及描述设备。

通信主机对上为外网用户操作设备,联锁系统对下为各受控或信号设备,即上述1、4层设备,它们之间的通信模式及通信报文可采用本领域的常用方案,不在本发明实施例的范围之内。

为了保持通信服务器间的绝对独立,通信服务器间不直接建立TCP网络连接,没有主次之分,彼此不受对方控制。

网络报文设计

在联锁系统中,可以将报文分为两类:

正常业务报文:该类报文遵循《RSSP-I-铁路信号安全通信协议》,并设计兼容目前已有联锁系统APP及安全层协议。

设备间心跳报文:在维护网络连接的同时,可以传递网络中各模块信息。

联锁系统中,正常业务报文按照本领域的常规设计进行处理。

为了实现联锁系统中各设备主备模式设定及切换操作,自定义心跳报文用于各TCP链路及设备间状态监控及设备状态监控,设计符合如下原则:

以100ms时间片为通信序列单位进行收发。

心跳报文格式中,本设备负责根据自身运行状态修改心跳报文中的对应自身设备状态描述字段。根据收到的其他设备心跳数据,填充到自己所发送心跳报文的对应字段中。

当某处理单元或者通信服务器发现所有其他设备的心跳都超时,可判断本设备通信异常,需要在下一个通信时序时判断状态是否依然超时,如依然全部其他设备均超时,则确认判断,此时需要将其他设备状态清除,设置为未知模式。

某一设备心跳报文的初始化及收发流程如图6所示。当设备间时序不完全同步时,收到其他设备的心跳报文后更改对应设备状态的操作与本机发送心跳报文时刻的操作可能出现出现不同步的情况,本机发送心跳报文中其他设备的状态更新可能会延迟一个时序周期。

心跳报文格式的设置,相比只发送自己信息的报文定义模式,其优势是可以在网络发生软件或者硬件故障时,每个设备均可独立判断出故障点及基本原因。例如,当通信服务器发生故障,心跳报文未按时序发出后,2个周期内,所有系统中结点设备均能感知该事件,假如从通信服务器A角度分析,它收到的联锁4个CPU心跳报文中,均报告通信服务器B的A/B网心跳报文均超时,由此即可判断出,故障为通信服务器B网络出口故障。

通信服务器主备关系设计原则

通信主机间主备关系设计需要满足以下原则:

(1)双机同等地位,无主次之分。

(2)双机之间不直接进行数据交互,即无TCP连接。从逻辑角度分析,TCP分Server和Client,如果双机无默认主备关系,即无法确认谁做Server。

(3)双机独立运行主备设定和主备切换流程,不受对方控制。

(4)双机需要在2个报文周期内(如100ms一个报文周期,则200ms完成切换)完成。

通信服务器间主备关系确定

通信主机在上电过程中,需要确认主备关系,采用先到先得的基本原则,即谁先上电完成,谁获得主机地位。

当双机启动时间间隔小于一个通信时序,即双机同时进入上电状态、备机状态时,设计使用“摇色子”退避算法,即双机各自取一个随机数(随机数可设定为1/3/5/7/9/11组合),各自在所取得随机数的通信周期内,等待对方成为主机,如果对方在随机数周期内未设定为主机,则自己设置自己为主机。当双机选择了相同随机数,出现概率性的再次同时申请主机时,则再重复一次上述“摇色子”操作。

无论何种情况,获取主机状态均需要经过两个通信时序,即:

(1)第一周期发送状态

(2)第二周期,确认对系状态,根据状态进行后续操作。

上述通信流程如图7所示。

通信服务器间主备关系切换流程

下面详细介绍通信服务器间主备关系切换流程。

当通信服务器确认主备关系后,即进入正常运行流程。在正常运行流程中,如下情况需要进行主备机切换操作:

主机发生软件异常、硬件异常等主动要求切换。

主机网线被拔出、硬件严重故障,如断电等事件发生后,无法发送心跳报文导致的被动切换。

无论何种切换要求,主备机均需遵循如下规则:

主动切换:主机应在主动切换故障发生时的第一周期发送故障信息,在第二周期获知对方状态确认后,进行后续操作,如退级、复位重启或者断电故障排查。

被动切换:备机应每个周期检查从联锁4个处理单元CPU发送到的心跳报文,从中提取通信服务主机的状态,并跟随,当发现主系机心跳超时或者汇报异常后,开始进入主备机切换流程,并在第二时序确认对机和本机状态无误后,切换进入主机状态。如第二时序时,当前主系状态正常,则不进入切换流程。

当主机需要进行主动汇报请求切换前,需要从来自联锁4个处理单元cpu的心跳报文中,提取对机状态,确认对机已经进入备机状态,才可以进行异常状态发送操作。否则进行等待操作,最长等待20个时序周期(即2S),如对系仍未进入备机状态,则记录异常后,强制进行后续异常处理操作。

联锁双通道主备切换设计原则

下面详细介绍联锁双通道主备切换设计原则:

为了确保整个系统控制的统一化,简化各模块自主状态切换导致的系统状态维护复杂度,设计系统联锁主备机及切换流程,严格受控于通信服务器。

各联锁处理单元CPU仅负责汇报状态,并根据联锁主机反馈反馈信息进行后续操作,无权自主进行状态切换。

联锁主备通道确定方法

下面详细介绍联锁主备通道确定方法。

联锁主备机确认流程需要遵循如下几个原则:

(1)联锁主备通道状态的确定,需要在通信服务器主备机确认完成后才能进行。

(2)联锁各通道上电后,默认进入上电完成模式,在接收到第一条发自通信主机的心跳报文后,方可与通信主机间进行心跳报文的收发操作。

(3)联锁各通道与通信主机间开始收发心跳报文操作后,接受来自通信主机的状态设置指令,仅当本机进入跟随状态、备机状态或者主机状态后,方可与联锁系统中的对通道进行心跳报文收发操作。

(4)当联锁A/B通道中已经有一个通道成为主通道后,并处于正常运行状态时,另一系必须严格遵守准入、退出机制。原则上,状态的判断由本机自行判断,但状态的切换需要向通信服务主机完成申请、确认流程。即走完上电完成、跟随、备机状态流程。每个流程完成后,以心跳报文方式向通信服务器提交状态,获得通信服务器心跳报文中对应字段确认后,方可进入下一级。

通信服务器采用“先到先得”和随机二选一的选择模式确认主备机关系:

先到先得模式:当仅只有一个联锁通道可正常进行心跳收发时,确认该通道为主通道。

随机二选一模式:当两个联锁通道均可正常进行心跳收发时,由通信服务器主机随机选择(取随机数模2)一个通道作为主通道,另一个通道进入跟随模式。

联锁通道状态切换流程

当通信主机通过心跳报文通知联锁两通道的主备关系后,

相关异常处理:如联锁B通道长时间跟随仍无法正确匹配,可在心跳报文中标识异常,向通信服务主机申请重启。

当联锁B通道备模式下,连续出现N次(N可取3)处理结果数据对比不一致时,可在心跳报文中标识自身状态异常,申请退到跟随模式,接收主通道发出的进入状态信息和处理结果信息,重新跟随主通道。

联锁通道主备切换流程

由于通信服务器可获知联锁双通道状态,以100ms报文时序间隔为例,联锁双通道切换最快可在100ms内、最慢在200ms内确认完成。

当联锁主通道异常,而备通道不具备切换条件(如断网导致无心跳报文、当前状态长期处于跟随或者上电完成等非备机状态时),通信服务器设置超时机制,以20个报文时序为限,在定时内如果具备条件者发送切换心跳报文,如仍不具备,则记录系统失败异常。

联锁主备通道切换,主要包括两种情况:

1. 被动异常:主通道发生异常,如硬件异常重启、物理断网导致心跳多次超时(至少2次)

该模式下,通信服务器主机在第一时序发现联锁主通道心跳报文超时,待接收全部其他系统内设备心跳报文后,可确认该事件。

在第二时序,通信服务主机确认联锁主通道心跳报文超时后,可立刻通过心跳报文通知联锁备通道设备进入主通道模式。

如此时联锁双通道中的另一个通道未进入备模式,则等待2个时序周期(200ms),若另一个通道仍不具备条件,则通过日志模块汇报异常,记录此时联锁双通道及处理单元CPU1、2、3、4的情况。

此时的联锁在可感知自身状态(如断网)时,需将自身状态设置为异常状态,等待通信服务器命令。

2. 主动异常:主通道软件发现自身出现问题,需要系统重启或者软件重启。

该模式下,通信服务器主机在第一时序发现联锁主通道心跳报文异常标志位,待接收全部其他系统内设备心跳报文后,可确认该事件。

在第二时序,通信服务主机确认联锁主通道继续发送异常心跳报文后,可立刻通过心跳报文通知联锁备通道设备进入主通道模式。

如此时联锁双通道中的另一个通道未进入备模式,则等待2个时序周期(200ms),若另一个通道仍不具备条件,则通过日志模块汇报异常,记录此时联锁双通道及处理单元CPU1、2、3、4的情况。

此时的联锁在可感知自身状态时,需将自身状态设置为异常状态,等待通信服务器命令。

通过以上描术可知,本发明实施例基于软硬件结合仲裁模式下,使用自定义心跳报文来实现联锁子系统主备系切换的方案,提高了系统的可靠性。

本实施例中,尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

注意到,说明书中对“一个实施例”、“实施例”、“示例实施例”、“一些实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括所述特定特征、结构或特性。而且,这样的短语不必指代同一实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否明确描述,结合其他实施例来实现这样的特征、结构或特性将在所属领域的技术人员的知识范围内。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

相关技术
  • 一种基于心跳报文的计算机联锁子系统主备切换系统
  • 一种基于心跳报文的计算机联锁子系统主备切换系统
技术分类

06120112833067