DRTD系统固定电台控制设备管控模块设计与实现

2024-05-01 14:57张恩硕周天庶
铁路通信信号工程技术 2024年4期
关键词:重传线程电台

张恩硕,周天庶,高 皋,师 进,张 驰

(1.北京全路通信信号研究设计院集团有限公司,北京 100070;2.中国铁路上海局集团有限公司,上海 200080)

1 系统总体概述

1.1 背景

国内铁路无线列调通信技术和列车通信设备的发展,原有450 MHz 频段业务逐渐转移到公众对讲机频点或其他符合规划的对讲机频点,铁路无线列调系统中的450 MHz 无线通信将逐步从模拟制式向数字制式演进,即列车数字无线调度通信系统(Digital Radio Communication System for Train Dispatching,DRTD)。DRTD 具有语音与数据同传、支持个呼和组呼、频谱利用率较高、抗干扰能力较强等优势。本文主要对DRTD 中的固定电台控制设备的管控模块进行设计与开发。

1.2 系统结构

数字无线调度通信系统包括数字列调接口服务器、固定电台控制设备(中心设备)、固定电台(车站电台)、调度操作台、车站操作台、网络管理设备、数据管理设备、管控设备、出入库检测设备和维修工装等设备。系统构成如图 1 所示。

图1 系统构成示意Fig.1 System structure diagram

其中,数字列调接口服务器主要负责存储固定电台控制设备上报的CIR 位置信息,接收固定电台控制设备的呼叫请求,进行呼叫转发等功能。固定电台控制设备主要进行呼叫管理、数据业务管理、位置管理和呼叫路由等功能。固定电台主要支持位置管理、呼叫路由、呼叫管理等功能。

本文主要讨论固定电台控制设备中的固定电台管控模块,通过各子模块设计,用于实现DRTD 系统中的业务管理以及位置管理功能。

2 模块设计

2.1 模块设计概述

固定电台控制设备的管控模块主要分为4 个部分:主控模块、注册模块、心跳模块以及业务模块,如图2 所示。其中,主控模块负责整个系统的数据接收功能,主要负责接收调度操作台、固定电台以及数字列调接口服务器的数据,并对其进行初步解析分类,将其发送给对应模块处理。注册模块负责注册数据的解析与存储,包括调度操作台、固定电台及其所属设备的注册、注销等注册数据。心跳模块负责管理固定电台控制设备与调度操作台、固定电台、数字列调接口服务器以及其他固定电台控制设备的心跳,监管网络连接状况。业务模块负责调度命令、进路预告、车次号校核等数据的转发与存储。

图2 固定电台控制设备管控模块结构Fig.2 Control module structure of fixed station control equipment

2.2 主控模块设计

固定电台控制设备需要与调度操作台、固定电台以及数字列调接口服务器进行数据交互。固定电台控制设备收到数据之后,通过判断数据的业务类型,将数据发送给相应模块进行处理:若数据是心跳数据,则将数据发送到心跳模块进行处理;若是调度命令或进路预告业务数据,则将数据发送到业务模块处理;若收到的数据是终端注册数据,则需要判断是单一终端注册数据还是批量注册同步数据,对于单一终端的注册数据,直接将数据发送到注册模块处理,对于批量注册同步数据,由于数据量比较大,采用分包传输发送到注册模块处理。

固定电台控制模块在收到注册同步数据后,会判断当前注册数据是否完整。如果数据完整,且对比本地数据库有更新内容,则将数据放入缓存,认为本条注册同步数据是可靠的,但是为了避免数据库频繁变化导致数据的不可靠,需要判断本次同步数据与上一次存储的同步数据是否相同,若相同,则将同步数据发送到注册模块;若不相同,则将上一次注册同步数据从缓存删除,将本次注册同步数据放入缓存,作为下一次注册同步数据的比对基准。

2.3 注册模块设计

注册模块用于处理调度操作台、固定电台、数字列调接口服务器以及其他固定电台控制设备的注册数据。

注册模块收到主控模块的注册数据之后,通过判断数据中的业务数据类型,区分注册数据是单一终端注册数据还是车站的注册同步数据。单一终端注册通知数据又分为注册、注销和越区数据。对于越区数据,固定电台控制设备收到车站越区数据后,会通知原车站所属固定电台将终端数据进行注销,然后通知数字列调接口服务器,向数字列调接口服务器发送注册与注销通知。对于注册同步数据,固定电台会定期向固定电台控制设备发送注册同步数据,固定电台控制设备通过建立一个固定电台的线程池,管理所有车站的注册同步数据,通过解析注册同步数据,获取注册数据中所有列车CIR、操作台和手台的注册数据,将注册数据写入数据库表。

2.4 心跳模块设计

固定电台控制设备要维护与其连接的所有调度操作台、固定电台、数字列调接口服务器以及调度区段其他固定电台控制设备的心跳。固定电台控制设备与固定电台、调度操作台维持单向心跳,单向心跳遵循向上行发送心跳的原则,固定电台控制设备启动后会创建相应的调度操作台和固定电台的线程池,等待接收固定电台以及调度操作台的心跳,并开启超时机制。若30 s 内没有收到相应调度操作台或固定电台的心跳,则将连接状态判定为断开连接状态,并持续等待接收对端心跳,直到收到调度操作台或固定电台的心跳,将连接状态置为已连接状态。对于数字列调接口服务器与其他固定电台控制设备,需采用双向心跳进行连接,固定电台控制设备启动之后,需要与每个固定电台控制设备或数字列调接口服务器建立两个线程:一个线程主动向对方发送心跳数据,并等待接收心跳回执数据,另一个线程开启后等待接收对端的心跳数据,两个线程同时开启超时判定,当某一个线程出现数据接收超时之后,即判定为连接断开。

2.5 业务模块设计

业务数据主要包括车次号校核数据、调度命令、调度命令自动签收数据、调度命令手动签收数据、进路预告数据等。业务模块收到主控模块的数据之后,判断业务类型,若是调度命令或进路预告数据,根据数据中的机车功能号,找到机车所属固定电台,将数据下发。若是车次号校核或者是签收数据,则将数据发送到数字列调接口服务器,同时对进路预告、调度命令和无线车次号校核数据进行存储。

2.6 数据重传机制

由于本系统中数据均采用UDP 进行数据传输,为了确保数据的可靠传输,本系统中采用数据确认重传机制,每次系统发送注册数据或业务数据之后,将数据放入重传缓存池,重传数据内容包含数据的目的地址、序列号以及数据本身。数据放入缓存的同时,对每个重传数据设定一个定时器,并开启定时任务。本系统中设定300 ms 未收到确认数据则判定为数据超时,此时将数据进行重传;若300 ms 内收到对端的确认数据,则将对应定时任务取消,并将重传数据从缓存池中删除。

3 软件实现与应用

目前,本文介绍的模块及相关系统已经完成样机开发,并在某铁路试验线上进行了测试与应用。在现场试验中,系统能够保持长时间正常运行。如图3 所示,主控模块收到固定电台发送的注册同步数据,经判断数据正确且满足发送条件后,将同步数据发送到注册模块。如图4 所示,注册模块收到固定电台的同步请求,固定电台在启动后会向固定电台控制设备请求本站终端注册数据,固定电台控制设备收到同步请求后向该固定电台发送两次注册同步数据。如图5 所示,固定电台控制设备与调度操作台、固定电台以及数字列调接口服务器的心跳连接情况,并及时反馈与对端是否断开连接。

图3 主控模块运行Fig.3 Operation of main control module

图4 注册模块运行Fig.4 Operation of registration module

图5 心跳模块运行Fig.5 Operation of heartbeat module

4 总结

本文介绍固定电台控制设备管控模块的组成部分,并详细介绍每个模块的工作流程。通过固定电台控制设备对固定电台、调度操作台的管理控制及数据处理,实现注册数据和业务数据的正常存储与转发,支持DRTD 系统中固定电台、调度操作台以及数字列调接口服务器能够高效可靠地进行数据交互,保障铁路列调系统通信的稳定性。

猜你喜欢
重传线程电台
面向异构网络的多路径数据重传研究∗
鹿先生的年味电台
浅谈linux多线程协作
老年听众需要电台长篇连播
做好电台新闻的采访之我见
数据链路层的选择重传协议的优化改进
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
MPTCP中一种减缓缓存阻塞的重传策略
Linux线程实现技术研究
选择性重传法在IPTV中的应用