重载铁路调度优化系统内部通信关键问题及算法研究

2016-05-13 04:00孙永生高晓菲梅瑜华刘德勇
铁道标准设计 2016年3期
关键词:通信

孙永生,高晓菲,梅瑜华,刘德勇

(浙江众合科技股份有限公司,杭州 310051)



重载铁路调度优化系统内部通信关键问题及算法研究

孙永生,高晓菲,梅瑜华,刘德勇

(浙江众合科技股份有限公司,杭州310051)

摘要:为研究重载铁路调度优化系统内部通信的关键问题,对调度优化系统内部通信结构和特点进行分析,得出影响通信的关键问题,通过对这些问题进行分析和建模,建立UDP和TCP相结合的总线式通信机制,从而保证系统内部通信的可靠性,满足调度优化系统内部通信的要求。

关键词:重载铁路;调度优化系统;通信;消息总线

1 概述

调度优化系统的研制是国家科技支撑计划项目“轴重30吨以上煤炭运输重载铁路关键技术与核心装备研制”中的重要课题。对外通过LTE-R网络与车载设备进行实时、连续的通信[1-3],可以实时获得在线的每一列车的信息,而系统内部的通信影响着系统的正常运行,需要高度的可靠性。

同时,为减少开发的工作量,充分利用已有的成熟技术,提高系统的可用性,必须选用一种成熟的通信协议作为传输层,从而使通信的应用层专注于功能和内部接口的完整[4]。目前非常成熟且应用广泛的传输层协议主要有TCP和UDP。

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,提供排序、重传等机制,能可靠的保证信息传输[5]。利用TCP协议开发调度优化系统内部通信,可以在建立应用层消息传递和识别的同时,提高通信模块的可用性。

UDP是一种面向无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。

2 通信模块设计及关键问题

调度优化系统内部通信模块是软件意义上的消息总线架构[5],它部署于系统的各个设备上,其他功能模块之间的通信均通过消息总线来实现。这种总线式的设计能将各种信息格式化,有利于统一接口,并具有良好的扩展性;其他各功能模块均可通过消息总线通信,增强了通信的灵活性[6]。

调度优化系统专网专用,除了与其他系统进行必要的接口外,不与公用网络、其他无关网络进行连接,以确保通信的安全性及系统的可靠性和可用性[7]。

2.1传输层设计

调度优化系统各设备之间的网络通信通过以太网络接口来实现,内部接口的通信协议采用标准的TCP/IP协议栈。调度优化系统内部通信的层次模型如图1所示。

图1 调度优化系统内部通信层次模型

各设备互连时并不会关心消息的顺序,宜采用UDP协议;建立连接后,要严格按照顺序收发消息,并采取防止漏传等措施,故采用TCP协议。

总体上讲,调度优化系统内部通信的传输层采用UDP与TCP相结合的方式,既能有效实现设备和应用程序的互连,又能利用成熟的排序、重传机制,达到通信可靠、稳定的目的。

2.2通信架构及关键问题

调度优化系统内部通信结构如图2所示,通信模块不对消息进行任何加工处理,只作为消息转发的通道[7],同时依靠TCP协议的防超时及重传机制,保证消息的可靠传递。

图2 调度优化系统设备通信连接模型

该通信方式采用“广播+订阅”的消息传递方式[8,9],即各应用软件向消息总线订阅自己需要接收的消息类型,以此过滤掉不需要的消息;一台设备发出的消息,网络中所有节点均能收到[10,11]。

在实现过程中需要解决不同设备上通信终端的互联、消息订阅、消息的传递等问题。另外,由于系统部分设备采取热备机制,还要处理连接状态转换、其他功能模块的热备同步和主备切换等。

2.3消息总线设计

将消息总线模块划分为服务端、客户端、连接管理3个组件,3个组件的关系如图3所示。

图3 消息总线模块组成

连接管理:提供消息总线连接的管理,包括连接的分配,建立,删除,连接状态的切换;提供消息的封装,包括信息的格式定义,编解码及报文的内存分配。

服务端:监听UDP端口,定时发送UDP广播报文;监听TCP连接端口。管理消息总线的双连接切换、消息注册、消息转发功能。

客户端:提供了供应用软件使用的客户端,向服务端发起TCP连接请求,双连接的切换,消息注册,应用软件的热备切换。

2.4关键问题设计

2.4.1消息总线互连

消息总线通过指定UDP端口广播心跳包来发现其他设备上部署的消息总线模块,建立消息总线连接,从而建立设备之间的连接。步骤如下:

(1)初始化地址信息,获得本地所有网卡的IP和其广播地址;

(2)在所有网卡广播心跳包;

(3)消息总线模块收到心跳包,对所有未建立连接的同网段地址尝试建立连接;

(4)连接建立,并初始化。

消息总线互连时序见图4。

2.4.2消息订阅

消息总线客户端应用和服务端之间会订阅消息,告诉消息总线服务端自身需要的消息类型,具体过程如下:

(1)消息总线收到消息注册类型消息;

(2)消息总线解析该消息来源;

图4 消息总线互连

(3)如来源是应用程序,连接为应用程序-消息总线类型,转(4) ;否则,转(6) ;

(4)本地为该应用程序-消息总线连接注册消息;

(5)向其他消息总线注册该消息类型,转(7) ;

(6)本地为该消息总线-消息总线连接注册消息;

(7)注册结束。

消息订阅流程如图5所示。

图5 消息订阅流程

2.4.3消息传递

消息总线接收到消息后,根据消息的类型和目的地进行转发,具体如下:

(1)收到消息;

(2)根据消息来源,如果是来自应用程序,则执行(3),否则转(4) ;

(3)分发到其他消息总线;

(4)分发到除来源之外的其他订阅该消息的应用程序。

消息传递流程如图6所示。

3 关键算法设计

3.1连接状态转换

消息总线的连接分为应用程序-消息总线连接、消息总线-消息总线连接。连接状态可分为如下几种。

(1)关闭:消息总线连接对象创建,未进行连接。客户端发送握手消息,切换到“发送连接状态握手信息”状态;服务端接收握手消息,并发送握手ACK,切换到“接收连接状态握手信息”状态。

(2)发送连接状态握手信息:客户端状态,连接建立,并且已经送出握手消息,接收握手ACK。收到握手ACK后,切换到“OK”状态。

(3)接收连接状态握手信息:服务端状态,收到握手消息,并送出握手ACK。发送握手ACK后,切换到“OK”状态。

(4) OK:正常工作状态。

(5) Final:不收发任何消息。

消息总线连接状态转换如图7所示。

图6 消息传递

图7 消息总线连接状态转换

3.2应用程序热备同步

3.2.1进程初始化同步

当应用程序初始化完成以后,向主进程请求同步数据,主进程收到该请求之后,以此发送同步开始,同步内容(多个报文),同步结束报文。备进程接收来自主进程发来的同步消息,并完成同步过程,如图8所示。

图8 进程初始化同步过程

3.2.2运行过程中同步

在程序运行过程中,对输入数据做同步操作。主进程收到消息后,通知备进程已接收到该消息,并进行下一步的处理。在备进程收到消息后先把消息放入缓存队列中,直到收到主进程发送过来的确认消息后,才对消息进行下一步的处理,如图9所示。

图9 进程运行中主备同步

3.2.3失步后同步

在程序运行的过程中,有可能发生失步的情况,即备用进程丢失数据包,这时候需要重新同步,使得主备之间的数据再次保持一致。

当主进程接收消息的通知比备进程更早接收到该消息的时候,备进程等待该消息到来若干周期,如果在这段时间之内仍然没有收到该消息,则判断备进程处于失步状态,请求重新同步数据。具体过程如图10所示。

图10 失步后主备同步

3.3应用程序主备切换

3.3.1抢占切换

当高优先级的进程在低优先级的进程运行之后再启动,会发生主备切换过程,其切换过程如下:

(1)低优先级的进程作为主进程在运行;

(2)高优先级的进程开始运行,初始化为备进程,发送主进程查询,等待主进程响应;

(3)主进程收到主进程查询消息,并返回主进程确认消息;

(4)高优先级进程收到主进程确认消息,开始请求数据同步;

(5)数据同步完成;

(6)高优先级进程收到来自主进程的确认消息,比较该消息的优先级低于自己的优先级,则切换到主进程,并发送主进程确认消息;

(7)当低优先级进程收到该主进程确认消息后,切换到备进程。

切换过程遵循“先同步,再切换”的原则,保证数据同步,如图11所示。

3.3.2异常情况切换

网络发生异常或主进程异常后,同样会发生主备切换(图12),过程如下:

(1)备进程接收主进程确认消息超时;

(2)开始发送主进程查询消息,等待主进程响应;

(3)主进程无响应;

(4)备进程切换为主进程开始运行,并发送主进程确认消息。

图11 高优先级进程抢占主进程

图12 异常后主备切换过程

3.3.3竞争切换

当两个具有主备关系的应用程序同时启动,会形成竞争关系,需要通过比较优先级来确定主进程。优先级信息存在于主进程查询消息中。具体过程如图13所示。

图13 竞争切换

4 结语

通过分析,建立UDP与TCP相结合的总线式通信,充分利用了UDP和TCP的特点,使调度优化系统通信软件专注于解决业务问题,提高了内部通信的可用性和可靠性[12]。

通过对系统内部通信特点的分析,对消息总线的关键问题和算法进行建模,满足了系统业务的需求,可以保证消息传递、互连、信息同步、主备切换等过程顺利进行。

参考文献:

[1]孙永生,张友鹏,赵宇坤.移动闭塞列车自动防护系统仿真平台研究[J].计算机仿真,2012,29(9):371-374.

[2]高云波.基于高速铁路的GSM-R通信无线覆盖的可靠性分析[J].铁道标准设计,2015,59(2):113-117.

[3]孙永生.基于移动闭塞理论的城市轨道交通ATP系统研究与仿真[D].兰州:兰州交通大学,2012.

[4]潘效玥.基于自律分散的城市轨道交通ATS的设计与实现[D].杭州:浙江大学,2013.

[5]罗雅允,陈永刚,张彩珍.Rijndael算法在CBTC安全通信协议中的应用[J].铁道标准设计,2015,59(3):114-118.

[6]阳王东,周勇,王涛,等.一种基于消息总线的交通信息集成模型[J].计算机工程,2010,36(14):278-280,284.

[7]黄鲲,王坚,姚仰光,,等.OCS消息总线的测试与分析[J].中国科学技术大学学报,2007,37(6):662-669.

[8]周根火,陈辛怡,陆国政.完善信号微机监测系统功能[J].铁道通信信号,2005,41(11):4-5.

[9]蔡海燕.铁路通信系统节能分析[J].铁道标准设计,2013,57 (6):147-150.

[10]梅瑜华,甘朝钦,龚龑,等.用户侧VLAN在光接入网中的应用[J].通信技术,2013,46(10):55-57.

[11]梅瑜华,甘朝钦,马雪娇.DHCP与Option82在接入网中的实现[J].通信技术,2013,46(8):58-60.

[12]王安义,孙伟强.铁路TD-LTE专网系统解决方案[J].铁道标准设计,2014,58(2):94-97,138.

Research on Key Problems and Algorithms of Internal Communication in Scheduling Optimization System

SUN Yong-sheng,GAO Xiao-fei,MEI Yu-hua,LIU De-yong
(United Science&Technology Co.,Ltd.,Hangzhou 310051,China)

Abstract:To study the key problems in internal communication in scheduling optimization system,the internal communication structure and characteristics of scheduling optimization system are analyzed,and key issues that affect communication are identified.Through analysis and modeling of these problems,the combined bus communication system of UDP and TCP is established,thus,the reliability of the system's internal communication is ensured and internal communications in the scheduling optimization system are fulfilled.

Key words:Heavy haul railway; Scheduling optimization system; Communication; Message bus

作者简介:孙永生(1986—),男,工程师,2012年毕业于兰州交通大学交通信息工程及控制专业,工学硕士,E-mail:sunyongsheng @ unitedmne.com。

基金项目:国家科技支撑计划(2013BAG20B00)

收稿日期:2015-07-14;修回日期:2015-07-28

文章编号:1004-2954(2016) 03-0147-05

中图分类号:U292.4+2

文献标识码:A

DOI:10.13238/j.issn.1004-2954.2016.03.030

猜你喜欢
通信
基于数字化变电站SV报文通信可靠性问题研究
铁路光缆运营维护方式研究
多媒体融合通信与平台通信优化方案研究
简述计算机通信网络安全与防护策略
Android环境下主UI线程与子线程通信机制研究
无线自组网在野战防空通信系统中的应用
对数字微波通信技术的研究