一种基于五取三架构的铁路信号安全云平台转让专利

申请号 : CN202310876290.5

文献号 : CN116962400B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏东冬孔嘉铖白帅何志彬梁志国王龙生刘逸明张浩于健洁许镇郭亮贾春肖郑长宗李钰骙赵梦瑶王拓伍田昊睿朱晓琳胡妙春

申请人 : 中国国家铁路集团有限公司中国铁道科学研究院集团有限公司中国铁道科学研究院集团有限公司通信信号研究所北京华铁信息技术有限公司

摘要 :

本发明公开了一种基于五取三架构的铁路信号安全云平台,基于云计算技术构建了五取三架构下的铁路信号安全平台,结合了云计算的特征使铁路信号安全平台具有可扩展性和灵活性,使得计算资源不再受时间和空间的限制,为铁路信号系统的数字化、一体化、智能化提供了技术发展的基础和动力。

权利要求 :

1.一种基于五取三架构的铁路信号安全云平台,其特征在于,包括操作表示层、逻辑处理层和安全层;安全层接收到来自其它铁路信号系统的应用信息后对其进行安全协议解析得到解析结果,再将解析结果发送至逻辑处理层的所有节点,逻辑处理层对解析结果进行逻辑运算得到输出数据并将输出数据发送至安全层,安全层在规定的周期内对逻辑处理层的输出数据进行五取三一致性比较和安全协议的封装后发送至对应的其它铁路信号系统和操作表示层;

所述操作表示层包含运行人机交互系统的第一服务器集群及运行维护系统的第二服务器集群,所述人机交互系统用于为操作人员提供车站及列车相关操作的人机交互界面,所述维护系统用于记录信号员的所有操作、相关站场设备状态及报警信息;

所述逻辑处理层包含五个第三服务器集群,所有第三服务器集群具有相同的硬件结构及功能,第三服务器集群均作为五取三架构的一个节点;

所述安全层由基于2×2oo2安全冗余架构的具有SIL4级安全完整性等级的比较单元构成,用于实现数据的一致性比较和安全协议的解析。

2.根据权利要求1所述的铁路信号安全云平台,其特征在于,所述人机交互系统为单个车站、多个车站、调度集中系统或列车调度指挥系统中的人机交互系统。

3.根据权利要求1所述的铁路信号安全云平台,其特征在于,控制车站及列车相关操作包括指挥车站作业、控制车站信号设备、监控信号设备工作状态、调度列车及下达行车计划。

4.根据权利要求1所述的铁路信号安全云平台,其特征在于,所述节点为IEC61508中表示能够独立完成相同功能的通道结构中的通道。

5.根据权利要求1所述的铁路信号安全云平台,其特征在于,所述比较单元由双系组成,每一系的功能板卡包括安全完整性等级为SIL4级的安全计算单元板和安全完整性等级为SIL0级的以太网接口板;

所述安全计算单元板,负责对所有服务器集群节点的输出数据进行五取三一致性比较,及对云平台所承载的应用与其它铁路信号系统交互信息的安全协议运算;所述安全计算单元板为双CPU板,CPU‑1与CPU‑2各自进行上述五取三一致性比较和安全协议运算,在运算结果的输入或输出时进行时序同步和安全比较;

所述以太网接口板为单CPU板,用于提供ETH接口功能,实现以太网接口的传输层与物理层。

6.根据权利要求5所述的铁路信号安全云平台,其特征在于,所述比较单元中设定有五个比较信息缓存,分别为CmpBuf1、CmpBuf2、CmpBuf3、CmpBuf4及CmpBuf5,同时还设定有五个比较一致计数,分别为Cnt1、Cnt2、Cnt3、Cnt4、Cnt5;

当五个节点均正常工作时,比较单元将收到五份节点信息,处理第一份节点信息时,将节点信息存入CmpBuf1,并将Cnt1置为1;处理第二份节点信息时与比CmpBuf1中的节点信息进行比较,若一致则丢弃第二份节点信息并将Cnt1置为2,若不一致则将第二份节点信息存入CmpBuf2并将Cnt2置为1;处理第三份节点信息时与比CmpBuf1和CmpBuf2中的节点信息进行比较,若一致则丢弃第三份节点信息并将对应的Cnt1或Cnt2加1,若不一致则将第三份节点信息存入CmpBuf3并将Cnt3置为1;对于第四、五份节点信息的处理与第三份节点信息相同;当某个比较一致计数达到3时,允许将对应的节点信息对外输出。

7.根据权利要求6所述的铁路信号安全云平台,其特征在于,所述比较单元中节点信息的有效时间为两个比较单元的运行周期。

8.根据权利要求1所述的铁路信号安全云平台,其特征在于,所述逻辑处理层中的每个节点在任意时刻都属于主控状态、从属状态、联机状态中的一种;

节点初始启动时进入从属状态,从属节点在等待主控节点心跳超时后,其节点状态变为联机状态,在增加自身的状态序列号后向其它节点发出升主请求;

若联机状态的节点发现系统中已经存在主控状态的节点,或存在拥有更大的状态序列号的节点,则将自身状态变为从属状态;

其它节点接收到升主请求后,若针对该状态序列号还未做过升主应答且该状态序列号大于本地状态序列号,则回复升主应答并增加自身的状态序列号与收到的状态序列号一致,否则不发送升主应答;

若联机状态的节点接收到的升主应答数量超过阈值则将自身状态变为主控状态,并向其它节点发送主控心跳,其它节点收到主控心跳后变为或保持从属状态;若在升主超时时间内未超过阈值则不向其它节点发送主控心跳,其它节点接收主控心跳超时后联机状态的节点发起新一轮的升主请求;

主控节点若发现系统中存在拥有更大状态序列号的节点,则由主控状态变为从属状态。

9.根据权利要求8所述的铁路信号安全云平台,其特征在于,所述主控节点心跳超时的时间及升主超时时间均为随机设定的时间。

10.根据权利要求1所述的铁路信号安全云平台,其特征在于,所述节点均生成本地时钟信息,并发送至其它节点,当接收到其它节点的时钟信息后与本地时钟信息进行比较,若偏差值的绝对值大于设定的偏差阈值则将偏差值置为0,计算本地时钟信息与所有其它节点时钟信息的偏差值的平均值,再将平均值增加到本地时钟值上;若节点与超过半数节点的时钟偏差的绝对值均大于偏差阈值,则该节点将本地时钟重置为正常节点时钟的平均值。

说明书 :

一种基于五取三架构的铁路信号安全云平台

技术领域

[0001] 本发明属于铁路信号控制技术领域,具体涉及一种基于五取三架构的铁路信号安全云平台。

背景技术

[0002] 铁路信号系统的主要任务是保证行车安全,提供信息服务,提高运输效率。运输业的发展对铁路运输提出了更安全、更高效、更多样的要求,因此铁路信号系统向功能先进、基于通用硬件的计算机控制系统的过渡是必然趋势,同时云计算技术的飞速发展使基于云平台的控制系统在铁路信号中的广泛应用成为可能。
[0003] 目前传统铁路信号安全平台,主要存在以下劣势:一是,硬件种类多、维护成本高。在传统的铁路信号安全平台中,通常需要针对不同功能设计实现相应的平台结构,因此一个完整的铁路信号系统可能由几种安全平台共同叠加构成,安全计算机硬件与较多种类、数量的设备之间接口增加了维护成本。同时,系统结构的复杂化也降低了铁路信号系统的平均故障间隔时间MTBF(Mean Time Between Failures)。二是,灵活性较差。各子系统之间较为封闭,各自拥有独立开发环境、管理工具、存储形式,无法实现资源共享,无论是从开发角度还是管理维护角度,都较为繁杂,且当设备需要维护或更新时,将导致系统的一部分功能失效和应用服务中断。三是,无法扩展。既有铁路信号系统依据前期需求规划进行部署,且专设专用,一旦施工完成投入运营,难以增加新的接口或新的设备以对当前系统进行扩展。

发明内容

[0004] 有鉴于此,本发明提供了一种基于五取三架构的铁路信号安全云平台,实现了基于云计算的铁路信号安全平台。
[0005] 本发明提供的一种基于五取三架构的铁路信号安全云平台,包括操作表示层、逻辑处理层和安全层;安全层接收到来自其它铁路信号系统的应用信息后对其进行安全协议解析得到解析结果,再将解析结果发送至逻辑处理层的所有节点,逻辑处理层对解析结果进行逻辑运算得到输出数据并将输出数据发送至安全层,安全层在规定的周期内对逻辑处理层的输出数据进行五取三一致性比较和安全协议的封装后发送至对应的其它铁路信号系统和操作表示层;
[0006] 所述操作表示层包含运行人机交互系统的第一服务器集群及运行维护系统的第二服务器集群,所述人机交互系统用于为操作人员提供车站及列车相关操作的人机交互界面,所述维护系统用于记录信号员的所有操作、相关站场设备状态及报警信息;
[0007] 所述逻辑处理层包含五个第三服务器集群,所有第三服务器集群具有相同的硬件结构及功能,第三服务器集群均作为五取三架构的一个节点;
[0008] 所述安全层由基于2×2oo2安全冗余架构的具有SIL4级安全完整性等级的比较单元构成,用于实现数据的一致性比较和安全协议的解析。
[0009] 进一步地,所述人机交互系统为单个车站、多个车站、调度集中系统或列车调度指挥系统中的人机交互系统。
[0010] 进一步地,所述控制车站及列车相关操作包括指挥车站作业、控制车站信号设备、监控信号设备工作状态、调度列车及下达行车计划。
[0011] 进一步地,所述节点为IEC61508中表示能够独立完成相同功能的通道结构中的通道。
[0012] 进一步地,所述比较单元由双系组成,每一系的功能板卡包括安全完整性等级为SIL4级的安全计算单元板和安全完整性等级为SIL0级的以太网接口板;
[0013] 所述安全计算单元板,负责对所有服务器集群节点的输出数据进行五取三一致性比较,及对云平台所承载的应用与其它铁路信号系统交互信息的安全协议运算;所述安全计算单元板为双CPU板,CPU‑1与CPU‑2各自进行上述五取三一致性比较和安全协议运算,在运算结果的输入或输出时进行时序同步和安全比较;
[0014] 所述以太网接口板为单CPU板,用于提供ETH接口功能,实现以太网接口的传输层与物理层。
[0015] 进一步地,所述比较单元中设定有五个比较信息缓存,分别为CmpBuf1、CmpBuf2、CmpBuf3、CmpBuf4及CmpBuf5,同时还设定有五个比较一致计数,分别为Cnt1、Cnt2、Cnt3、Cnt4、Cnt5;
[0016] 当五个节点均正常工作时,比较单元将收到五份节点信息,处理第一份节点信息时,将节点信息存入CmpBuf1,并将Cnt1置为1;处理第二份节点信息时与比CmpBuf1中的节点信息进行比较,若一致则丢弃第二份节点信息并将Cnt1置为2,若不一致则将第二份节点信息存入CmpBuf2并将Cnt2置为1;处理第三份节点信息时与比CmpBuf1和CmpBuf2中的节点信息进行比较,若一致则丢弃第三份节点信息并将对应的Cnt1或Cnt2加1,若不一致则将第三份节点信息存入CmpBuf3并将Cnt3置为1;对于第四、五份节点信息的处理与第三份节点信息相同;当某个比较一致计数达到3时,允许将对应的节点信息对外输出。
[0017] 进一步地,所述比较单元中节点信息的有效时间为两个比较单元的运行周期。
[0018] 进一步地,所述逻辑处理层中的每个节点在任意时刻都属于主控状态、从属状态、联机状态中的一种;
[0019] 节点初始启动时进入从属状态,从属节点在等待主控节点心跳超时后,其节点状态变为联机状态,在增加自身的状态序列号后向其它节点发出升主请求;
[0020] 若联机状态的节点发现系统中已经存在主控状态的节点,或存在拥有更大的状态序列号的节点,则将自身状态变为从属状态;
[0021] 其它节点接收到升主请求后,若针对该状态序列号还未做过升主应答且该状态序列号大于本地状态序列号,则回复升主应答并增加自身的状态序列号与收到的状态序列号一致,否则不发送升主应答;
[0022] 若联机状态的节点接收到的升主应答数量超过阈值则将自身状态变为主控状态,并向其它节点发送主控心跳,其它节点收到主控心跳后变为或保持从属状态;若在升主超时时间内未超过阈值则不向其它节点发送主控心跳,其它节点接收主控心跳超时后联机状态的节点发起新一轮的升主请求;
[0023] 主控节点若发现系统中存在拥有更大状态序列号的节点,则由主控状态变为从属状态。
[0024] 进一步地,所述主控节点心跳超时的时间及升主超时时间均为随机设定的时间。
[0025] 进一步地,所述节点均生成本地时钟信息,并发送至其它节点,当接收到其它节点的时钟信息后与本地时钟信息进行比较,若偏差值的绝对值大于设定的偏差阈值则将偏差值置为0,计算本地时钟信息与所有其它节点时钟信息的偏差值的平均值,再将平均值增加到本地时钟值上;若节点与超过半数节点的时钟偏差的绝对值均大于偏差阈值,则该节点将本地时钟重置为正常节点时钟的平均值。
[0026] 有益效果:
[0027] 本发明基于云计算技术构建了五取三架构下的铁路信号安全平台,结合了云计算的特征使铁路信号安全平台具有可扩展性和灵活性,使得计算资源不再受时间和空间的限制,为铁路信号系统的数字化、一体化、智能化提供了技术发展的基础和动力。

附图说明

[0028] 图1为本发明提供的一种基于五取三架构的铁路信号安全云平台的架构示意图。
[0029] 图2为本发明提供的一种基于五取三架构的铁路信号安全云平台的身份管理算法状态转移图。
[0030] 图3为本发明提供的一种基于五取三架构的铁路信号安全云平台的逻辑处理层的软件流程图。
[0031] 图4为本发明提供的一种基于五取三架构的铁路信号安全云平台的逻辑处理层和安全层间交互时序图。

具体实施方式

[0032] 下面结合附图并举实施例,对本发明进行详细描述。
[0033] 云计算是当下热门的网络应用技术,具有很强的扩展性和灵活性,通过虚拟化、动态扩展、分布计算、冗余备份等技术混合演进,实现了高度灵活性,使得计算资源不再受时间和空间的限制,为铁路信号系统的数字化、一体化、智能化提供了技术发展的基础和动力。因此,本发明考虑将云计算技术引入铁路信号安全平台的构建。
[0034] 本发明提供的一种基于五取三架构的铁路信号安全云平台,结构如图1所示,包括操作表示层、逻辑处理层和安全层。
[0035] 其中,操作表示层由单独的服务器集群构成,该服务器集群上运行人机交互系统(Man‑Machine Interface,MMI),该人机交互系统为单个车站、多个车站、调度集中系统(CTC)或列车调度指挥系统(TDCS)中的人机交互系统,操作人员通过人机交互界面进行指挥车站作业、控制车站信号设备、监控信号设备工作状态、列车调度及下达行车计划等操作;同时运行云平台应用软件所配套的维护系统(Maintenance Terminal,MT),用以对信号员的所有操作、相关站场设备的状态和报警等信息进行记录,为设备故障维修及事故分析提供依据。
[0036] 逻辑处理层由五个服务器集群组成,各服务器集群均具有相同的硬件结构,均能独立完成规定的相同功能。逻辑处理层从安全层接收来自其它铁路信号系统的应用信息,进行逻辑运算后将结果发送至安全层,再经由安全层发送至对应的其它铁路信号系统和操作表示层。每个服务器集群均作为五取三架构中的一个节点。
[0037] 安全层由基于二乘二取二安全冗余架构的具有SIL4级安全完整性等级的比较单元构成,实现数据的一致性比较和安全协议的解析功能。安全层在收到外部其它铁路信号系统或操作表示层的信息后,对其进行安全协议解析,并将解析结果同时发送给逻辑处理层的每个服务器集群节点中的应用程序,在各应用程序中对解析结果进行逻辑运算处理并将输出数据发送至安全层时,由安全层在规定的周期内,对各节点的输出数据进行五取三一致性比较和安全协议的封装,并将输出数据发送给外部其它铁路信号系统或操作表示层。
[0038] 具体来说,安全层中的比较单元由双系组成,每一系的功能板卡包括安全完整性等级为SIL4级的安全计算单元板(Safety Compute Unit Board,SCU)和安全完整性等级为SIL0级的以太网接口板(Ethernet Interface Board,ETH)。其中,SCU板是安全功能板卡,主要负责对所有服务器集群节点的输出数据进行五取三的一致性比较,并实现对云平台所承载的应用与其它铁路信号系统交互信息的安全协议运算功能,除此之外,SCU板为双CPU板,CPU‑1与CPU‑2各自进行上述五取三的一致性比较和安全协议运算等功能,在运算的输入输出等关键步骤进行时序同步和安全比较,以保证SCU板处理结果的一致性与正确性;ETH板是非安全功能板卡,为单CPU板,板卡提供ETH接口功能,系统以太网接口的传输层与物理层由ETH板实现,ETH板的功能故障不产生安全风险,安全防护功能由SCU板提供。
[0039] 进一步地,本发明提供了五取三的一致性比较方法,设定比较单元具有五个比较信息缓存,分别为CmpBuf1、CmpBuf2、CmpBuf3、CmpBuf4及CmpBuf5,同时还具有五个比较一致计数,分别为Cnt1、Cnt2、Cnt3、Cnt4及Cnt5,比较一致计数与比较信息缓存一一对应用于记录具有与当前比较信息缓存中保存信息相一致的节点的数量。
[0040] 一致性比较的具体过程为:
[0041] 当五个节点均正常工作时,比较单元将收到各节点发送的信息共五份。处理第一份节点信息时,将第一份节点信息存入CmpBuf1,并将Cnt1置为1。处理第二份节点信息时,将其与CmpBuf1中保存的节点信息进行比较,若一致,则丢弃第二份节点信息,同时将Cnt1置为2,表示当前CmpBuf1中保存的节点信息存在两个节点相一致;若不一致,则将第二份节点信息存入CmpBuf2,并将Cnt2置为1。处理第三份节点信息时,将其分别与CmpBuf1和CmpBuf2中保存的节点信息进行比较,若存在一致,则丢弃第三份节点信息,同时将保存了与其一致信息的比较信息缓存对应的比较一致计数自加1,当任意比较一致计数达到3时,即表示有3个节点的输出信息比较一致允许对外输出,则将其对应的节点信息作为最终结果输出,并结束比较流程;若均不一致,则将第三份节点信息保存到CmpBuf3中,并将Cnt3置为1。处理第四份节点信息时,将其分别与CmpBuf1、CmpBuf2和CmpBuf3中保存的节点信息进行比较,若存在一致,则丢弃第四份节点信息,同时将保存了与其一致信息的比较信息缓存对应的比较一致计数自加1,当任意比较一致计数达到3时将其对应的节点信息作为最终结果输出,并结束比较流程;若均不一致,则将第四份节点信息保存到CmpBuf4中,并将Cnt4置为1。处理第五份节点信息时,将其分别与CmpBuf1、CmpBuf2、CmpBuf3和CmpBuf4中保存的节点信息进行比较,若存在一致,则丢弃第五份节点信息,同时将保存了与其一致信息的比较信息缓存对应的比较一致计数自加1,当任意比较一致计数达到3时将其对应的节点信息作为最终结果输出,并结束比较流程;若均不一致,则将第五份节点信息保存到CmpBuf5中,并将Cnt5置为1。
[0042] 进一步地,为防止出现因某个节点出现异常无输出而导致比较单元一直等待比较的情况,将比较缓存中信息的有效时间设定为两个比较单元运行周期,即从比较单元收到第一份节点信息开始的两个周期内,若仍未达成存在三个节点的输出信息比较一致,则认为本次输出信息一致性比较未通过,禁止输出并清空缓存。
[0043] 对所有应用节点的逻辑运算结果进行一致性比较的前提是所有应用节点能够同步运行并同步对外输出,以及当故障节点恢复工作后对其进行历史信息和关键变量的同步。为满足这一前提,本发明实例提供了一种节点状态控制方法和一种全局时钟同步校正算法。
[0044] 本实例还提供了节点状态控制方法,首先定义每个节点在任意时刻都属于主控状态、从属状态及联机状态等三种身份状态中的任意一种:
[0045] 主控状态,在所有应用节点中同一时刻仅存在一个节点成功晋升为主控状态的节点,处于主控状态的节点为主控节点。主控节点负责接收来自比较单元的其它信号系统的信息,进行逻辑运算,生成输出信息;同时向其它节点发送心跳消息以维护自己的主控身份,并向其它节点同步本地的应用历史信息和关键变量。其它节点跟随主控节点的同步信息,以保证逻辑运算条件的一致性。
[0046] 从属状态,节点刚启动时所处的身份状态为从属状态,处于从属状态的节点为从属节点。从属节点负责接收来自比较单元的其它信号系统的信息,进行逻辑运算,生成输出信息;同时接收来自主控节点的同步信息并更新自己的本地相关信息。此外,从属节点需要响应来自主控节点的心跳消息,当超过设定时间未收到主控节点发送的心跳消息时则进入联机状态;同时,从属节点还需要响应来自联机节点的升主请求,如果针对该升主请求所包含的状态序列号还没有进行过应答且该状态序列号大于本地状态序列号,则向请求节点回复升主应答,并增加自己的状态序列号与收到的状态序列号一致,否则不发送升主应答,从属节点不能主动发出请求。
[0047] 联机状态,是从属节点晋升为主控节点时所处的一个中间状态,处于联机状态的节点为联机节点。联机节点负责接收来自比较单元的其它信号系统的信息,进行逻辑运算,生成输出信息;同时,当某个从属节点发生等待主控节点心跳消息超时或者某个其它联机节点发生升主请求响应超时,该联机节点就会进入联机状态并向其它节点发出升主请求,并等待其它节点发送的升主应答。同一时刻可以有多个节点进入联机状态,但仅有一个节点能够成功晋升为主控节点。
[0048] 其中,节点的状态转移过程如图2所示,当一个节点初始启动时即进入从属状态,假定此时集群中不存在主控节点,那么该节点在等待主控节点心跳超时后,节点状态就会转变为联机状态,增加自己的状态序列号并向其它节点发出升主请求。其它节点接收到升主请求后,若针对该状态序列号还未进行过应答且该状态序列号大于本地状态序列号,那么将向请求节点回复升主应答,并增加自己的状态序列号与收到的状态序列号一致。若请求节点的升主请求被多数节点应答,则该节点就晋升为主控节点,并负责向其它所有节点的同步工作。
[0049] 为了减少因升主应答被多个请求节点均分所导致升主失败的情况,本实例提供的节点状态控制方法采用随机超时时间的方法,以将超时时间分散开,在大多数情况下只有一个联机节点先发起请求,而不是多个联机节点同时发起请求。针对系统运行的不同阶段,随机超时时间分为两种情形,一是从属节点等待主控节点心跳的超时时间是随机的,二是如果联机节点在一个随机时间间隔内,没有收到半数以上的升主应答,那么此次升主请求判为超时失效,然后联机节点发起新一轮的请求,即等待升主应答的超时时间是随机的。
[0050] 主控状态和联机状态也会“降级”为从属状态,如果节点在联机状态发现了系统中已经存在主控节点,或者是拥有更大的状态序列号的节点,联机节点会主动将自己的身份转变为从属。同样的,主控节点如果发现系统中已经存在拥有更大状态序列号的节点,该节点由主控状态转变从属状态。
[0051] 本实例提供的节点状态控制方法中状态序列号是一个单调递增的数字标识,是随着每次联机节点升主请求而变化的;从属节点在等待主控心跳超时后,状态升为联机节点时,会将自己的状态序列号自加1;如果一个服务器节点,发现自己的状态序列号比其它节点的小,那么它会更新自己的状态序列号到较大的状态序列号;如果某个联机节点或者主控节点,发现自己的状态序列号比其它节点小,那么它会降为从属节点;如果某个节点接收到一个包含较小的状态序列号的升主请求,那么它会直接拒绝这个节点的请求。
[0052] 本实例提供了一种基于交互式收敛算法CNV的全局时钟算法,每个节点生成自己的本地时钟信息,并发送给其它节点。每个节点收到其它节点的时钟信息后与本地时钟信息进行比较,如果偏差值的绝对值大于设定的偏差阈值,该偏差阈值可自行设定,则将该偏差值置为0,以防止异常节点影响全局时钟校正。然后,将本地时钟信息与所有其它节点时钟信息的偏差值计算平均值,并将平均值增加到自己的时钟值上。同时,如果一个节点与超过半数节点的时钟偏差的绝对值大于偏差阈值,则认为该节点的时钟出现异常,该节点将重置本地时钟,重置值为正常节点时钟的平均值,即与该节点时钟偏差绝对值小于偏差阈值的节点的时钟平均值。
[0053] 本发明实例提供的一种基于5取3的铁路信号安全云平台的逻辑处理层的软件流程如图3所示,具体流程分为初始化、节点状态控制、接收网络信息、节点心跳处理、同步信息处理和应用信息处理。
[0054] 初始化:逻辑处理层初始化时,各服务器集群节点完成开机自检、变量初始化以及通信接口配置等操作后,切换到从属状态。
[0055] 节点状态控制:所有服务器集群节点中等待主控心跳超时的随机时间间隔最小的节点最先切入联机状态,将自身的状态序列号自加1再向其它服务器集群节点发出升主请求,其它服务器集群节点在收到升主请求后将自己的状态序列号更新为与申请节点相同的状态序列号,同时回复升主应答同意申请节点升主。申请节点若收到设定数值以上的服务器集群节点的升主应答,则申请节点晋升为主控节点,并向其它服务器集群节点发送主控心跳信息,其它服务器集群节点根据主控心跳信息自动切入或继续保持从属状态;否则申请节点的此次升主请求判为超时失效,不发送主控心跳信息,导致其它服务器集群节点接收主控心跳超时,联机节点发起新一轮的升主请求。
[0056] 例如,假设服务器集群节点1成为主控节点,主控节点开始向其它节点发送主控心跳和同步信息,其它节点在收到主控节点的心跳信息后自动切入或继续保持从属状态。当主控节点异常故障导致其它节点接收主控心跳超时,将会再次重复上述节点状态管理过程。
[0057] 接收网络信息:主控节点需要接收来自比较单元的外部其它信号系统的信息,从属节点除需要接收来自比较单元的外部其它信号系统的信息之外还要接收来自主控节点的心跳信息和同步信息;联机节点还要接收来自其它节点的升主应答信息。
[0058] 节点心跳处理:主控节点向其它节点发送心跳信息;从属节点和联机节点,要根据主控节点发来的心跳信息管理自身的状态序列号和心跳超时计时;联机节点要对升主申请阶段其它节点发来的升主应答进行处理。
[0059] 同步信息处理:主控节点向其它所有节点同步本地的应用历史信息和关键变量,其它结点跟随收到的主控节点进行本地的信息同步。
[0060] 应用信息处理:对接收的来自比较单元的外部信号系统数据进行逻辑运算,并发送至比较单元。
[0061] 各节点无异常时,周期执行接收网络信息、节点心跳处理、同步信息处理及应用信息处理的过程,实现系统的正常运行;主控节点异常后,进入节点状态控制过程,进行新的主控节点的选择。
[0062] 为保证所有节点输出结果的一致性,除了通过主控节点周期性向其它节点发送同步信息保证所有节点的逻辑运算条件一致外,还需保证所有节点在每个逻辑运算周期具有相同输入数据,为此,本发明实例提供的逻辑处理层与安全层之间的交互模式为“呼叫‑应答”式。
[0063] 逻辑处理层与安全层交互的时序如图4所示。逻辑处理层在每周期起始先发送上一周期处理完毕的发送信息,然后接收网络信息,包括经由安全层发送的来自其它信号系统的上行信息、节点间的心跳信息和同步信息(身份为从属时),之后进行节点间心跳功能处理、同步功能处理,并对应用信息进行逻辑运算形成发送其它信号系统的下行信息。安全层在周期开始时接收来自其它信号系统的上行信息和来自逻辑处理层的下行信息,对于上行信息,经过安全协议解析后将在周期末发送给逻辑处理层,对于下行信息,在经过五取三一致性比较和安全协议加密后将在周期末发送给目标对象。其中,安全层将上行信息发送给逻辑处理层的前提是先收到来自逻辑处理层的消息,即“呼叫‑应答”式。逻辑处理层将输出信息发送给安全层后,先对接收信息进行处理,安全层收到下行信息后在本周期即会将上行信息发送给所有节点的逻辑处理层,所有节点的逻辑处理层待到下一周期开始时,便可收到相同的上行信息。
[0064] 本发明实施例通过构建完备的节点状态控制方法和全局时钟算法,设计了一种基于五取三架构的铁路信号安全云平台。单机故障不影响系统功能,可容忍两组服务器集群节点同时全部故障,系统可用性极高;一致性比较和安全协议校验等安全功能由专用的SIL4级设备实现,避免了使用商用服务器和商用操作系统对整个平台安全性的影响。
[0065] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。