ATS系统动态时间同步方案研究

2021-12-06 14:19:46周公建袁汪凰李建彬
铁道通信信号 2021年10期
关键词:信号系统时钟服务器

周公建,袁汪凰,李建彬

列车自动监控系统(ATS)的设备主要分为3部分:①控制中心设备,包含通信前置机、应用服务器、TCC接口服务器和调度员工作站等设备;②正线车站,包括车站服务器、车站工作站和发车表示器等设备;③停车场和车辆段,包括车站服务器、车站现地工作站和车站终端工作站等设备。中心应用服务器根据时刻表进行全线列车控制,全线所有的设备必须与应用服务器保持统一的时间。信号的时钟源来自于通信前置机接口;该设备与时钟设备接口,获取来自GPS的统一时间;这个时间也分发给乘客信息系统、广播系统、综合监控系统,从而保证城市轨道交通弱电系统保持在同一个时间基准。

1 现状及问题

列车自动监控系统设备之间利用NTP(网络时间协议)[1]实现设备之间的时间同步,在定义不同层级的时钟服务器级别时,时钟系统从GPS(全球定位系统)获取一级时钟源[2],然后通过本地的时钟接口服务器传给信号系统的通信前置机,根据不同的接口协议要求,可以提供串行接口或者网络接口方式,实现时间同步。

在信号系统内部,所有的设备通过网络连接,时钟服务器就成为信号的第一级时钟服务源[3]。信号系统的核心设备——应用服务器,从通信接口机获取相应的时钟同步信息,保持本地时钟与通信前置机时钟一致,应用服务器成为信号系统内部第二级时钟服务器。网关服务器从应用服务器获取相应的时间信息,进而为车载控制器(CC)、联锁系统(CI)和维护支持系统(MSS)提供授时服务。网关成为信号系统内部第三级时钟服务器。对于列车自动监控系统内部的其他设备,如车站服务器(LATS)、中心工作站(GPC)、终端工作站(Term)和车站接口机(Rtu)等,因为不再对下级设备提供授时服务,因此,在整个同步架构中,就成为叶子节点,仅提供本地的时间校正任务。列车自动监控系统时间同步架构见图1。

图1 展示了整个业务从上到下的层次关系,右侧是地铁备用控制中心的设置,实现列车自动监控系统控制中心的异地灾备,相应的功能和要求与主用控制中心保持一致,但设备可以简化设置。相应的时钟也是通过时钟接口从外部时钟获取,通信前置机再同步给备用控制中心的应用服务器,应用服务器再同步给网关和其他终端设备,实现与主用控制中心同样的功能。这样,信号系统中出现了双重备份的时钟同步路径,提高了设备的冗余性。

图1 列车自动监控系统时间同步架构

所有设备均采用NTP协议实现设备之间的时间同步,整个系统在时间同步协议工作正常的情况下,可以保证所有设备之间的时间同步[4]。当外部时钟源出现故障后,整个信号系统依然需要维持众多设备的时间同步,此时,通信前置机的时钟就成为重要节点,它利用设备自身时钟为信号系统提供统一的时钟源。整个信号系统时间同步的上下层级定义非常明确,当NTP软件在众多的节点正常工作时,可以保持整个系统的稳定运行。但实际上这种架构并不总是保持稳定的运行状态,存在以下问题。

1)时钟源的时间跳变。因为时钟服务器自身软件存在缺陷,提供的时间出现跳变,尽管时钟服务器会在下一个周期从GPS母钟同步修正回来,但这个干扰如果对信号系统产生影响,就会导致信号系统内部的时钟发生一个错误的跳变,进而产生一个告警,信号系统的时钟服务器也会从外部时钟源临时切换为本地时钟来提供授时服务。除了外部时钟源发生跳变以外,在信号系统内部作为时钟授时服务的设备,也存在自身的时钟芯片偶发跳变的情况[5],比如长时间运行后,由于主板芯片电池问题导致的时钟跳变,也可能被错误地传递给下级设备,造成下级设备的错误校时。

2)主备机之间时钟同步。列车自动监控系统内部的服务器为了确保设备的可靠性,均采用了冗余设计,主备机之间的时钟同步如何考虑也是一个问题。当上级时钟存在的情况下,下级的双机可以锁定时间,保持双机时间同步的状态;但当上级时钟出现授时问题时,就会导致双机服务器使用各自的机器时间为下级设备提供授时服务,一旦出现偏差,就会造成现场设备之间时间无法同步。

3)主备控制中心多时钟源切换。主备控制中心设置了同等级的服务器,能够为下级设备提供授时服务。如果主备控制中心因为中断导致各自的时间不一致,下级设备从哪一个控制中心获取相应的时间,就成为整个系统稳定运行的一个隐患。

4)时间同步软件NTP自身缺陷[6]。整个系统依赖于NTP同步软件实现设备之间的时间同步,但是NTP软件在开发过程中也存在一些缺陷。在长时间运行后,可能会发生自动停止服务,可能提供的授时突然出现时间异常,这会导致整个运行节点的失效,造成下级设备的时钟同步功能失效。

5)时间同步软件现场部署问题。按照信号系统要求,现场设备需要进行人工设置,一旦人为设置错误就可能导致现场时间同步层级的错误,破坏了既有的NTP服务配置,也可能导致设备无法正常运行。

所以,需要针对列车自动监控系统的特殊应用要求,在NTP软件的基础上,重新设计一套更可靠、更简捷的信号系统时钟同步方案。

2 方案设计

时间同步方案需要考虑各种降级场景,还要考虑可维护性,本文提出一种基于NTP时钟同步协议的动态时间同步算法,有助于维持ATS系统内部子系统的时间一致性,有效辅助实现ATS系统功能,达到整个系统的时间同步自动部署和免人工维护的效果。

2.1 同步方案

本方案根据ATS系统各设备之间的通信关系及应用场景,预先定义每个设备的类型及对应的上级节点,与ATS的应用一一绑定。

在全自动列车监控系统中,存在2种节点:①中转节点,负责从上级设备获取时钟,对本地时钟进行校时,同时为下级设备提供授时服务,无论与上级设备校时成功与否,都必须为下级设备提供授时,从而保证后续节点设备与本节点时间保持一致;②叶子节点,仅为本地时钟提供校时服务,不为下游设备提供授时服务。本方案对不同的节点采用不同的策略。

叶子节点的设备,作为客户端,与上级主机节点进行NTP时间信息交互,对时间跳跃没有要求,不管上级时间是否存在时钟误差,皆与上级主机进行强制同步,该同步行为通过软件进行周期性调用,确保叶子节点与上级节点的时间同步。

中转节点,既是客户端又是服务端,时间同步软件可以根据设备运行信息,动态获取上级主机或主控服务器的IP地址。对于上级主机或主控服务器时间与本地时间差:在误差范围内进行强制时间同步,启动时钟服务器,开启授时服务;在误差范围外输出告警提示,暂不开启授时服务,由人工确认机器时间进行校准后,通过上下级主机进行时间检查后,自动启动授时服务。另外,双机都是主机运行的中转节点时,相应的时钟服务器需要开启授时服务,若上级时钟服务中断,则须停止当前的时钟授时服务,这种行为作为常规主备节点降级模式的一种特殊处理,即与上级时钟源中断后,不再为下级提供时钟源,而是以本地时间为时钟源提供降级授时服务,同时生成告警,提醒维护人员进行处理。

信号系统尽管有多个冗余设计的设备,但实际运行上还是单套设备,因此本时钟同步方案设定的基本原则是:仅有控制作用的设备才可以为下级提供授时服务。

对于主、备控制中心同等级的设备,设定备机设备直接从所对应的主机获取时间作为本地时间,确保了主备机之间的时间保持一致。如果运行中发生主/备机切换,备机升级为主机后,相应的主机设备将动态开启时钟服务,不影响下一级的时间同步,同时备机设备调整为与主机设备进行时间同步。下级的叶子节点同时与主机和备机进行时间同步请求,本方案预先设定仅有主机才可以提供时钟授时服务,备机实时监控和保持时钟授时服务的关闭,这样叶子节点尽管发出请求,备机实际是不响应的,也就是备机在运行过程中自动降级为叶子节点。通过动态切换,确保了整个时钟同步链路的唯一性。

对于主备控制中心的设备,两边的设备实际是双主设计,所以不能简单地理解为主备关系,因为备用中心同样有自身的时钟源的备份。在有主/备控制中心的情况下,下级设备与哪一边的控制中心服务器进行时钟同步,由下级节点根据自身业务的需求进行确定。下级设备通常遵循控制功能优先的原则进行同步:当主用控制中心实施控制功能时,下级设备就动态切换时钟服务源,保持与主用控制中心设备进行同步;当备用控制中心实施控制功能时,下级设备就动态切换时钟服务源,保持与备用控制中心设备进行同步。这个切换过程是通过本次新开发的时间同步软件,根据业务变化自动实现动态的上级时钟源切换,并不需要人工进行切换。

根据上述设备分类,主备控制中心通信前置机主机、主备控制中心应用服务器主机和网关计算机双机为中转节点,LATS主备机、工作站终端设备、车载设备(CC)、联锁设备(CI),维护支持设备(MSS)和服务器备机成为叶子节点,整体设备的架构见图2。

图2 时间同步方案框架

2.2 同步部署

在项目实施过程中,考虑到叶子节点的设备众多,如果通过人工进行现场部署,就需要登录每一台设备进行配置,同时还要周期性进行检查,工作量很大。另外,由于存在主备控制中心,下级设备时间同步的服务器会跟随业务的变化实时切换设备;如果不能动态调整,意味着主备控制中心的切换还需要对现场设备的时钟同步再次适配,这样现场部署非常繁琐。因此,本方案设计初期,就考虑软件内部自带时间同步配置逻辑,根据信号系统时间同步层级特点,自动识别节点的类型,进行时间同步自配置,并对同步时间进行检查,以防引入错误的时间,从设计上确保了整个系统的稳定性。系统对整个运行状态进行监控,一旦时间偏差过多,超出系统可以调节的范围,就会发出告警,提醒维护人员进行人工干预。一旦节点发生同步失败,也会立刻告警,提醒维护人员进行定点分析。

本方案通过对传统时钟同步的各种外部影响因素的细化分析,逐一解决了时钟同步在现场使用过程中遇到的各类问题,提高了系统的可靠性和维护的简捷性。

3 方案实现

时间同步方案包括软件正确初始化和动态运行过程监控两部分,分别作为2种运行状态互相切换。动态时间同步方案软件流程如图3所示,显示时间同步软件不同的工作状态。

图3 动态时间同步方案流程

当系统启动和本地的后台维护线程启动后,首先对本节点时间同步进行初始化配置,尝试启动时间同步逻辑。除了初始化过程,当软件检测到应用业务的设备发生切换或者迁移后,系统也会自动从监控运行状态切换到初始化状态,根据新的设备更换逻辑对当前节点进行时间同步重新配置。重新配置过程不是简单的配置更换,软件会再次执行设备之间的时间差检查,只有新设备之间的时间差在系统允许范围内才可以重新进行配置;否则,软件会按照默认的维护流程暂停开启服务,同时弹出告警,联系维护人员进行维修。在此之前,软件维持之前的本地时间,用于辅助列车自动控制系统的运行。

当设备运行角色确定后,运行监控软件对时间同步状态进行监测。首先,监测本地时间同步服务器的运行情况,一旦检测到本地NTP服务发生在软件故障停止运行后,本软件会自动尝试重新启动NTP时间同步服务[7],NTP软件退出后,后台自动恢复;当软件检测到时间异常,则弹出告警,并采取进一步措施;其次,监控本地的时间,当承载设备因为自身的硬件故障,导致本地时间发生跳变后,软件会立刻进行报警,提醒维护人员进行维护,同时也会暂停本地时钟服务,防止当前的故障情况变化,进而影响系统的运行;最后,本软件同时监控应用层其余状态的变化,主要是主备机的切换和主备控制中心之间的切换行为,一旦检测到当前设备状态发生变化,需要根据新的运行角色,重新进入系统,对当前节点重新进行初始化,从而确保整个信号时间同步层级围绕控制节点的设备进行时间同步。

目前时钟同步过程中,如果软件检测到承载的设备本身时间发生跳变,或者上级时钟源的时间发生跳变后:如果跳变的误差在系统可以接受范围之内,则时间同步软件借助于上下级的时钟同步自动完成修正[8];如果发生跳变的误差较大,超过系统的允许范畴[9],则采取暂停服务和弹出式告警的方式,交由现场的维护人员进行检查确认。人工修改设备时间至正常范围后,软件会再次接管后台,维护本地时间。

4 测试验证

时间同步通用软件的开发测试完成后,集成到列车自动监控系统软件之中,作为独立的公共库和独立的线程在后台运行。当全自动列车监控系统各个软件启动后,现场调试人员对各个节点设备的时间同步情况使用Wireshark软件[10]进行抓包测试,显示所有的节点自动运行并开始进行校时服务,现场功能正常。

针对故障场景进行测试。首先,切换了通信前置机与外部时钟接口的通道,模拟时钟同步中断,通信前置机主机自动切换为本地时钟作为时钟服务器,对下级维持授时服务,确保了信号系统的时间同步;其次,针对时间跳变场景恢复进行了专项故障注入测试,当人工修改本地时间后,软件检测到时间跳变过大,自动暂停本地的时钟服务,同时在维护台弹出报警,提醒维护人员进行确认;最后,对主/备控制中心进行控制权人工切换,整体控制权从主用控制中心切换到备用控制中心,利用Wireshark抓包软件,再次对现场进行抓包确认,实时同步NTP报文显示车站的终端自动切换到备用控制中心服务器,按照有控制权的一方进行同步。

通过现场测试,该动态时钟同步方案实现了预期设计效果,具有免安装、故障修的特点,减少了现场的实施维护工作量,增强了系统的运行稳定性。

5 总结

目前该动态时间同步软件已应用在成都9号线、上海15/18号线无人驾驶系统中,经过一年的现场调试和试运行,软件整体运行稳定,基本实现了设备的故障修,证明了本方案的合理性,有力地支撑了地铁无人驾驶系统的稳定运行。后续工作中,该软件将进一步做通用化的改进,从而适配到信号系统其他子系统中,成为基础的运行软件,确保整个信号系统运行稳定。

猜你喜欢
信号系统时钟服务器
别样的“时钟”
古代的时钟
LTE-M在地铁信号系统中的应用
通信控制服务器(CCS)维护终端的设计与实现
SmarTram型有轨电车信号系统
跨座式单轨与中低速磁浮信号系统的关键技术
有趣的时钟
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
计算机网络安全服务器入侵与防御
信号系统一体化的探讨