一种列车UIC网关冗余切换装置及其控制方法
技术领域
本发明涉及列车通信网络领域,尤其涉及一种列车网关冗余切换机制实现的装置及方法,并适用于其他相同工业控制中的冗余切换。
背景技术
列车通信网络技术是现代列车系统中的关键技术,国际铁路联盟(UIC)UIC556标准中提出冗余切换的概念用于确保重要车辆(如头车)网关节点发生故障时列车通信网络能够正常运行,保证了工作网关出现故障停止工作时冗余网关能够站起成为新的工作网关继续工作,而故障网关重启成为新的冗余网关。但是在UIC556标准中并未给出冗余切换的具体要求和实现方式。
现有的冗余切换机制关键问题有三个:第一是故障的发现,第二是冗余通信逻辑及通信介质,第三是如何保证切换时冗余网关与工作网关状态的一致。
对于故障发现,现有方法主要关注在硬件故障、操作系统或者程序停止工作、通信停止等粗放的检查方式,故障发现不够及时、全面。
冗余通信逻辑及通信介质有两类实现方式,一种是通过硬件电路或设备(冗余控制单元)完成冗余控制,逻辑执行在冗余控制单元中,自身即冗余介质。另一种是冗余逻辑执行在两个网关中,借助通信线完成握手或生命信号发送。本方法采用第二种方式,由于冗余机制自身故障极为严重,因此通过以太网、MVB两种通信线进行生命信号的通信,防止1种线路故障导致异常冗余切换。
本发明能够保证,在发生冗余切换后,新工作网关与原工作网关MVB设备地址、过程数据端口完全一致,WTB编组地址不发生改变。
发明内容
为解决上述问题,本发明提供了一种网关冗余切换机制实现的装置及方法,所述系统有效利用已有网关产品,保障了冗余切换的可靠性、实时性和安全性;所述方法对冗余机制中的心跳传输机制、角色协商算法以及实时数据备份等进行了合理的设计与实现,提高了冗余切换的可靠性能。
本发明提供了一种网关冗余切换机制实现的装置,包括:第一网关、第二网关,其特征在于:
第一网关由第一CPU板、第一MVB板、第一WTB板、第一电源板组成;
第一网关的第一CPU板通过CPCI总线与第一MVB板、第一WTB板通信;
第二网关由第二CPU板、第二MVB板、第二WTB板、第二电源板组成;
第二网关的第二CPU板通过CPCI总线与第二MVB板、第二WTB板通信;
第一CPU板与第二CPU板通过以太网相连,第一MVB板和第二MVB板接入MVB总线,第一WTB板和第二WTB板接入WTB总线。
第一网关的第一CPU板功能是提供整个网关的软件运行环境,通过预装操作系统能够运行UIC用户程序和RTP协议栈;
第一MVB板支持两个通信接口,其上运行一个标准的RTP协议栈,并向外提供完整的MVB4设备功能。
第一WTB板是支持四个通信接口,并向外提供完整的WTB链路层接口功能,包括监视数据接口、过程数据接口和消息数据接口。
第一电源板为第一网关、第一CPU板、第一MVB板、第一WTB板提供110v电压供电。
第二网关的第二CPU板功能是提供整个网关的软件运行环境,预装操作系统并能够运行UIC用户程序和RTP协议栈。
第二MVB板支持两个通信接口,其上运行一个标准的RTP协议栈,并向外提供完整的MVB4设备功能。
第二WTB板支持四个通信接口,并向外提供完整的WTB链路层接口功能,包括监视数据接口、过程数据接口和消息数据接口。
第二电源板为第二网关、第二CPU板、第二MVB板、第二WTB板提供110v电压供电。
进一步地,本发明还提供了一种网关冗余切换机制实现的装置的控制方法,其特征在于:
步骤1、完成上电启动;第一网关和第二网关同时启动,加载各自配置文件;第一网关配置文件中描述其为默认工作网关,第二网关配置文件中描述其为默认冗余网关;工作网关启动后执行网关功能,冗余网关启动后监测工作网关;
步骤2、开始工作;工作网关每隔64ms对CPU的看门狗、MVB的看门狗和WTB的看门狗进行喂狗,并通过MVB、以太网线发送生命信号和节点状态数据备份;冗余网关每隔64ms对CPU的看门狗、MVB的看门狗和WTB的看门狗进行喂狗;
步骤3、发现故障;当工作网关健康监测机制不再向冗余网关发送生命信号即不再进行状态交换,且不再进行CPUD的看门狗、MVB的看门狗和WTB的看门狗喂狗操作,即认定冗余网关发现工作网关发生故障;
步骤4、进行故障处理;当冗余网关、工作网关CPU板、工作网关MVB板、工作网关WTB板监测到工作网关健康监测机制停止工作后启动冗余切换机制,冗余网关执行站起逻辑,完成冗余网关向工作网关的切换;
步骤5、完成冗余切换;即原来的冗余网关站起成为新的工作网关,执行工作网关职能;原来的工作网关重启后,通过以太网和MVB总线尝试接收对方网关数据,并自动成为新的冗余网关。
本发明的有益效果:
(1)本发明有效地保障了列车网关正常工作中的网关故障检测及恢复正常工作;
(2)本发明有效地保障了列车网关冗余信号传输的可靠性;
(3)本发明有效地保障了列车网关冗余切换的可靠性、实时性和安全性。
附图说明
图1为网关冗余切换机制实现的装置示意图;
图2为网关冗余切换机制实现的原理示意图;
图3为网关冗余切换机制实现的过程示意图。
具体实施方式
以下结合附图1-3对本发明的技术方案进行详细说明
如图1所示,该实施例提供了一种网关冗余切换机制实现的装置,包括:第一网关、第二网关;
第一网关由第一CPU板、第一MVB板、第一WTB板、第一电源板组成,其中CPU板上运行核心应用程序RTP&UIC,同时CPU板有硬件Watchdog。
第一网关的第一CPU板通过CPCI总线与第一MVB板、第一WTB板通信。
第二网关由第二CPU板、第二MVB板、第二WTB板、第二电源板组成,其中CPU板上运行核心应用程序RTP&UIC,同时CPU板有硬件Watchdog。
第二网关的第二CPU板通过CPCI总线与第二MVB板、第二WTB板通信。
第一CPU板与第二CPU板通过以太网相连,第一MVB板和第二MVB板接入MVB总线,第一WTB板和第二WTB板接入WTB总线。
第一网关的第一CPU板功能是提供整个网关的软件运行环境,运行QNX NeutrinoRTOS实时嵌入式操作系统,其上运行UIC用户程序和RTP协议栈。
第一MVB板是一个完整的MVB4类设备,支持两个通信接口,其上运行一个标准的RTP协议栈,向外提供完整的MVB4类设备功能。
第一WTB板是一个完整的WTB网卡设备,支持四个通信接口,向外提供完整的WTB链路层接口功能,包括监视数据接口、过程数据接口和消息数据接口。
第一电源板为第一网关、第一CPU板、第一MVB板、第一WTB板提供110v电压供电。
第二网关的第二CPU板功能是提供整个网关的软件运行环境,运行QNX NeutrinoRTOS实时嵌入式操作系统,其上运行UIC用户程序和RTP协议栈。
第二MVB板是一个完整的MVB4类设备,支持两个通信接口,其上运行一个标准的RTP协议栈,向外提供完整的MVB4类设备功能。
第二WTB板是一个完整的WTB网卡设备,支持四个通信接口,向外提供完整的WTB链路层接口功能,包括监视数据接口、过程数据接口和消息数据接口。
第二电源板为第二网关、第二CPU板、第二MVB板、第二WTB板提供110v电压供电。
本发明提供一种网关冗余切换机制实现的方法,包括:健康监测机制,监测工作网关各模块是否正常工作,若发生故障则出发冗余切换,并确保故障网关不再参与任何总线活动。同时故障网关通过重启恢复健康后成为新的冗余网关。
1)触发冗余切换
工作网关健康监测机制间通过MVB总线和以太网线两种信号线向冗余网关健康监测机制发送生命信号,任何一条线收到对方生命信号则代表对方工作正常。若冗余网关在两条线上同时收不到工作网关生命信号则认为工作网关异常,冗余网关健康监测机制启动冗余网关切换为工作网关逻辑。健康监测机制在发现故障时通过退出程序使冗余网关站起。此外,若电源板故障、操作系统崩溃、应用程序(健康监测机制属于应用程序一部分)崩溃,健康监测机制自然停止工作。
2)发现故障
健康监测机制接收不同模块的健康报告,包括:MVB网卡是否工作、WTB网卡是否工作、RTP&UIC每个线程是否工作。同时规定,RTP&UIC每个线程在无法恢复的异常出现时为防止网关错误工作,应跳出线程,进而引发冗余切换。该规定可提高故障发现的全面性。此外,电源板故障、操作系统崩溃、应用程序(健康监测机制属于应用程序一部分)崩溃,健康监测机制均已停止工作方式让冗余网关发现故障。
3)冗余网关的站起
网关以冗余网关工作时,WTB处于Remove状态,继电器闭合不参与任何总线活动。MVB以冗余网关设备地址工作,配个过程数据端口,用于接收工作网关生命信号。冗余网关站起后,原工作网关以停止工作,冗余网关重新初始化MVB网卡,设备地址、过程数据端口与原工作网关一致。
工作网关每64ms向冗余网关备份其WTB节点地址,当发生冗余切换冗余网关站起时,若原工作网关节点地址为1,则冗余网关站起时取消WTB网卡的UNNAMED-SLAVE状态,直接进入NAMING-MASTER状态。
4)健康监测机制的喂狗
健康监测机制同时给CPU、MVB、WTB板卡进行喂狗;若CPU watchdog停止喂狗,则整个网关将重启。若MVB watchdog停止喂狗,则MVB网卡停止总线活动,直到重启后重新初始化。若WTB watchdog停止喂狗,则WTB网卡停止总线活动,直到重启后重新初始化。CPUwatchdog可保证在故障后重启网关,尝试回复异常。MVB watchdog、WTB watchdog可以保证在故障时,故障网关不再参与总线行为,造成干扰。
如图3所示,该实施例提供的一种网关冗余切换机制实现的装置的控制方法具体如下:
步骤1、上电启动。第一网关和第二网关同时启动,加载各自配置文件。第一网关配置文件中描述其为默认工作网关,第二网关配置文件中描述其为默认冗余网关。冗余网关默认延迟10秒钟启动,用于等待工作网关初始化完毕。工作网关启动后执行网关功能,冗余网关启动后监测工作网关。
步骤2、开始工作。工作网关每隔64ms对CPU看门狗(watchdog)、MVB看门狗(watchdog)、WTB看门狗(watchdog)进行喂狗,并通过MVB、以太网线发送生命信号和节点状态数据备份。冗余网关每隔64ms对CPU看门狗(watchdog)、MVB看门狗(watchdog)、WTB看门狗(watchdog)进行喂狗,冗余网关在常规工作阶段也有出现故障可能,若发生故障同样依靠冗余网关机制重启,但不出发冗余切换。
步骤3、发现故障。任何故障的发生均会导致工作网关健康监测机制不再向冗余网关发送生命信号即不再进行状态交换,且不再进行CPU看门狗(watchdog)、MVB看门狗(watchdog)、WTB看门狗(watchdog)喂狗操作,此时冗余网关可发现工作网关发生故障。
步骤4、进行故障处理。冗余网关、工作网关CPU板、工作网关MVB板、工作网关WTB板监测到工作网关健康监测机制停止工作后启动冗余切换机制。冗余网关执行站起逻辑,完成冗余网关向工作网关的切换。原工作网关CPU板触发网关重启。MVB板停止参与总线活动。WTB板停止参与总线活动,并将WTB板置成Remove状态。
步骤5、完成冗余切换。原冗余网关站起成为新的工作网关,执行网关只能。原工作网关重启后,通过以太网和MVB总线尝试接收对方网关数据,此时对方已经成为工作网关,因此自动成为冗余网关。
尽管参考附图详地公开了本发明,但应理解的是,这些描述仅仅是示例性的,并非用来限制本发明的应用。本发明的保护范围由附加权利要求限定,并可包括在不脱离本发明保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。