APP下载

轨道交通数据中心实时单向数据摆渡设计与实现*

2017-08-01褚文斌

城市轨道交通研究 2017年7期
关键词:单向报文串口

褚文斌

轨道交通数据中心实时单向数据摆渡设计与实现*

褚文斌

(上海申通地铁集团有限公司信息管理中心,201103,上海//工程师)

针对轨道交通数据中心业务的单向安全隔离环境,以保障生产控制数据的实时性与安全性为目标,提出了基于企业服务总线级联、消息队列数据推送和结合业务应用的通信模式采用过滤命令回传的数据摆渡方式,以及实现生产控制系统实时数据传输的方法,并对其进行了测试。测试结果表明,该方法可应用于轨道交通领域生产网域和管理网域的数据隔离,以确保生产网域数据的安全性,并保障管理网域可获得必要的数据。

轨道交通;数据中心;生产网域;管理网域;单向网闸摆渡

Author′s addressInformation Management&Administration Centre,Shanghai Shentong Metro Group Co.,Ltd.,201103,Shanghai,China

轨道交通数据中心的运营核心功能是自动化控制系统数据的实时刷新。从安全角度考虑,轨道交通生产网域至管理网域的数据必须进行单向数据摆渡,传统实时等协议无法实现数据的制备和采集。

本文针对上海轨道交通数据中心业务在单向安全隔离环境下的特点,以保障生产控制数据的实时性与安全性为目标,提出基于企业服务总线级联、消息队列数据推送,以及结合业务应用的通信模式过滤命令回传的数据摆渡方式,实现生产控制系统实时状态数据传输的实施方法并给出验证测试结果。

1 实时单向数据摆渡及其实现

轨道交通行业数据中心利用ATS(列车自动监督)和CIOS(Central Integrated Operation System,控制中心一体化操作系统)的实时数据监视路网的关键设施设备状态,如图1所示。

按照信息安全技术架构管控分离的原则,生产网域部署生产控制系统进行行车控制,管理网域部署运营管理系统监测设备及运营状态,生产网域与管理网域之间部署单向网闸进行系统隔离,并采用UDP(用户数据报)传输数据,以禁止管理网域向生产网域发送控制指令。由于ATS和CIOS均为C/S(客户机/服务器)架构的系统,单向网闸的部署阻断了其服务端与客户的实时、双向通信,导致管理网域的系统无法获取列车运行的实时状态数据。

从应用角度,单向网闸的隔离作用是基于定向地“摆渡”数据。单向网闸切断上层应用的通信协议,获取原始的业务数据,并模拟人工的数据“拷贝”进行数据传输,进而阻断两个网络的物理通路。为达到隔离的效果,其采用专用通信协议或存储协议,彻底剥离了原有通信协议,将数据摆渡到另外一侧后,再通过业务应用的通信方式送达目的地,以确保业务数据的完整性和一致性。

C/S结构的生产控制系统(如信号系统)由于采用了实时双向通信技术,其实时状态数据经单向网闸数据“剥离”和“拷贝”后,无法被管理网域系统获取,需进一步完善数据传输机制,以确保系统间数据传输的实时性与安全性。

图1 生产网域和管理网域业务需求与限制条件

1.1单向数据摆渡

按照信息安全技术架构要求,生产网域与管理网域之间应采用单向网闸进行物理隔离,管理网域只能采集和使用生产网域的数据,不能向生产网域提供数据。在单向隔离环境下的数据传输方式通常称为单向数据摆渡。

1.2单向数据摆渡设计与实现方法

以信号系统ATS为例,实时单向数据摆渡的基本方法如图2所示。生产网域和管理网域的边界在单向网闸的中央,网闸两侧分别是物理隔离的两个网络,生产网域只允许原始业务数据单向推送至管理网域,且网闸本身不提供推送机制、数据包时序和通信管理。解决问题的关键是:①屏蔽单向网闸的影响,在生产网域和管理网域中构建双向通信机制以维护生产控制系统的服务器与客户端C/S之间的关系;②保持连续报文的实时性,控制通信延时。

为在ATS FEP(信号系统ATS通信前置)和ATS CFEP(信号系统路网通信前置)建立C/S双向通信,图2中的A和C部分在生产网域和管理网域的ESB(企业服务总线)模拟客户端和服务器端,并构建串口通信连接,用以提供客户端初始化回包通信、历史数据请求回包通信的报文回传,维护ATS FEP与ATSCFEP之间的整体通信链路。

为实现单向数据摆渡和控制通信延时,图中B部分采用ESB剥离通信协议、MQ(消息队列)组装业务数据,并通过单向UDP级联方式构建传输通道,完成实时单向数据摆渡。以ATS为例,数据摆渡建立在ESB/MQ服务器之间,如图3所示。

图2 实时单向数据摆渡方法

图3 ATS系统数据摆渡整体方案

实施方法具体分为4个部分:

(1)信号系统ATSFEP与ESB服务器之间的C/ S关系,由ESB服务器开发ADAPTOR模拟客户端;

(2)生产网域ESB服务器将自组报文拆包后提交MQ按顺序组合,并通过单向网闸摆渡至管理网域的MQ服务器,由管理网域ESB服务器开发ADAPTOR模拟服务端;

(3)管理域的ESB服务器与客户端建立C/S关系;

(4)由于单向网闸只提供1bit的回包,无法满足自动化控制系统的通信要求,需增设串口通信机制,在管理网域提供TCP(传输控制协议)的侦听线程和串口写线程,在生产网域提供TCP写线程和串口侦听线程。生产网域和管理网域的ESB服务器按照正常通信请求拆分、组合TCP报文和串口报文,完成生产网域和管理网域之间的完整通信机制。其关键在于串口通信命令与事件的过滤与配对。

1.3单向摆渡中的通信设计与实现

在单向网闸隔离和ESB/MQ数据通信环境下,本文采用TCP与串行通信技术组合的方法,实现双向通信和实时数据传输。

1.3.1 TCPSocket的侦听线程和写线程优化

利用W insock开发网络应用程序时,从Socket中读取数据或者向Socket写入数据都是异步发生的,这样不会阻断程序中其它代码的执行。在收到数据时,W insock会向应用程序发送相应的消息。这种访问方式被称作非阻塞式连接。其要求对事件做出响应,设置状态机,且通常需要一个等待循环。但在实际的应用场景中,会出现请求报文和回应报文的事件不统一,其等待循环机制会制约通信的实时性。

本文采用阻塞式Socket通信,便于数据报文和控制报文的时序、事件对应拼接。阻塞式访问类似于文件存取,可以将一个事件的请求和回应报文进行对应,便于多线程顺序执行,使原本阻断的通信有序封装。在读取数据或写入数据时,读取和写入函数将一直等待相应的操作完成后才返回;若未能成功执行,则会抛出相应的异常。

1.3.2 串口通信的线程读写

串口通信主要是传递管理网域中的客户端通信指令,以获取生产网域中服务器提供的实时数据和历史数据。如果生产网域服务器没有收到LOAD_DEVICE_STATUS或者LOAD_HISTORY_TG_DATA指令,则无法启动数据的传送。所以,这两个指令在应用通信协议中起到初始化通信过程的作用。

这两个指令须由位于管理网域的客户端发起,采用ESB服务总线技术的模拟客户端无法知道实际应用中何时启动真实客户端以及客户端通信是否中断必须重启,且模拟客户端无法知晓真实客户端是否需要历史数据,以及历史数据提供的时间范围和应用范围。

由于生产网域的服务器禁止直接采用TCP/IP协议与管理网域进行反向通信,本文采用低带宽的串口方式回传客户端合法的控制命令。串口通信的应用主要包括:

(1)过滤通信命令,即只允许LOAD_DEVICE_ STATUS和LOAD_HISTORY_TG_DATA两个指令通过,避免外部非法数据和指令进入生产网域;

(2)利用阻塞式Socket线程,在生产网域按照通信时间拼合模拟客户端对服务端的通信回包,让服务端认为模拟客户端是在同一网段的正常客户端。

2 实例测试

信号系统ATS自组报文,只有两个报文是必须由管理网域的客户端向生产网域的实时通信回包,如表1所示。

应用客户端在创建内存实例时,首先发起LOAD_DEVICE_STATUS,然后服务端发起数据传送;当C/S关系的心跳失去时,发起DEVICE_STATUS_BITMAP,进行全部数据重传。当需要历史数据时,客户端发起LOAD_HISTORY_TG_DATA,然后服务端进行历史数据传送。中间的刷新报文、传输报文等共有16项,由ESB服务提供ADAPTOR模拟,以维护C/S关系。

在单向网闸隔离环境下,验证ATS FEP和ATSCFEP系统之间的实时数据传输性能,并要求单线信号系统ATS数据摆渡报文>200条/s、时延≤2 s。测试环境如表2所示。

表1 ATS测试命令及应用环境

串口控制命令回包后启动ATS服务器数据传输,以验证ESB+TLQ+单向网闸+ESB+TLQ传输的速率。

由客户端发出LOAD_DEVICE_STATUS请求,ATS模拟服务器启动数据传送进程。由模拟ATS服务器(Socket服务端)往中间件服务器发送业务系统的Socket模拟报文,发送频率分别为100条/s、200条/s、400条/s、1 000条/s(实际情况为200条/s),采用的测试报文如表3所示。

表2 测试环境清单

表3 测试报文清单

测试过程如下:

(1)准备一条LOAD_DEVICE_STATUS报文请求,组合NETWORK_ALIVE_STATUS的模拟报文;

(2)发送1 000万条数据(正常的DEVICE_STATUS_CHANGE/TRAIN_INDICATION_UPDATE/ CBTC_TRAIN_INDICATION_UPDATE/MESSAGE_POLLING组合);

(3)启动Socket Server、再启动ESB和TLQ服务(即MQ服务);

(4)测试Socket Server发起NETWORK_ ALIVE_STATUS报文,并在网闸两侧分别记录开始发送时间和接收完成时间。测试结果见表4。

表4 测试结果

实际报文需求为200条/s,但按照1 000条/s测试报文。经测试,1 000万条无对包,最大延时为0.513 s,满足自动化控制系统界面刷新≤2 s的要求。

3 结语

本文基于上海轨道交通数据中心的单向安全隔离环境,采用阻塞式Socket通信的ESB构建了基于UDP的级联和ESB/MQ串口通信回包方法,并对其进行了测试。测试结果表明,其功能与性能完全满足业务需求,实现了生产网域和管理网域间安全的双向通信与实时的数据传输,推广应用基本可行。

[1]祝庆.移动数据库系统同步机制的研究与实现[D].北京:中国科学院软件研究所,2004.

[2]蒋敏.基于网络隔离的异构数据库同步技术的研究与实现[D].杭州:浙江大学,2005.

[3]田原.基于SyncML协议的移动多终端信息同步的设计与实现[D].成都:电子科技大学,2013.

[4]邵江,田尚志,臧万军.高速公路隧道信息化施工管理探讨[J].西南公路,2009(4):179-181.

[5]夏雪刚,孔育琴,赵海明.基于Web Service的数据库同步系统的设计与实现研究[J].自动化与仪器仪表,2016(6):170-171.

[6]李立亚.一种基于记录标记的数据库同步算法磁[J].计算机与数字工程,2015(6):946-952.

[7]方恒明.移动终端与服务器数据同步机制的应用研究[D].大连:大连海事大学,2013.

[8]CHEN M,HU C,CHANG T.The research on optimal parking space choice model in parking lots[C]//Computer Research and Development(ICCRD),2011 3rd International Conference on.IEEE,2011,2:93-97.

[9]MEIZ,TIAN Y.Optim ized combination model and algorithm of parking guidance information configuration[J].EURASIP Journal on W ireless Communications and Networking,2011(1):1-9.

Research of Real-time Data Signal-direction Ferry in the Data Centre of ShanghaiM etro

CHUWenbin

Regarding the one-way safety isolation environment at DC of Shanghaimetro,a set of data ferrying methods is introduced,it incorporates the cascade connection of enterprise service bus(ESB),raw data push ofmessage queue,and data backhaul through filter based on communication modes.The purpose of the data ferryingmethod is to execute the real-time data transm ission in production domain,and test the data transm ission.The result shows that thismethod could keep the security of these production control data,in order to ensure the necessary date being obtained by management domain.

rail transit;data center(DC);production domain;management domain;one-way ferrying

U231.7

10.16037/j.1007-869x.2017.07.009

2017-01-25)

*上海市发改委项目(31010463175586420151A101003)

猜你喜欢

单向报文串口
基于J1939 协议多包报文的时序研究及应用
碳纤维/PPS热塑性单向预浸带进入市场
用“单向宫排除法”解四宫数独
浅谈AB PLC串口跟RFID传感器的通讯应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
从单向到双向的合作治理及实现路径
ATS与列车通信报文分析
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索