APP下载

TETRA数字集群系统图像摄取传输功能的研究与实现

2016-02-15宣秀彬阚庭明夏德春

铁路计算机应用 2016年1期
关键词:线程数据包集群

宣秀彬,魏 奇,阚庭明,夏德春

(中国铁道科学研究院 电子计算技术研究所,北京 100081)

TETRA数字集群系统图像摄取传输功能的研究与实现

宣秀彬,魏 奇,阚庭明,夏德春

(中国铁道科学研究院 电子计算技术研究所,北京 100081)

本文提出了一种基于TETRA数字集群通信系统实现图像摄取传输的实现方案,分析了图像传输功能中的传输协议,大文件传输,丢包,乱序以及图像传输的完备性检测等关键技术,并给出了具体解决方法。通过对移动电台终端、移动设备和调度终端等设备的分组数据连接配置,编程实现了利用数字集群系统进行图像摄取传输的功能,扩充了集群系统的业务范围。

数字集群系统;TETRA;传输协议;图像传输

目前,基于陆地无线集群(TETRA)的数字集群系统实现的功能主要是个呼、组呼和短消息等调度功能,系统用户迫切希望能够在移动终端上实现图像信息的摄取传输功能。数字集群分组数据业务的图像传输能够及时将现场情况和图像信息传送到指挥中心,提高调度决策的准确性和及时性。因此,开发基于TETRA的数字集群系统图像摄取传输功能具有重要意义。

1 数字集群系统图像传输原理

基于TETRA的数字集群系统图像摄取传输结构如图1所示,由TETRA移动终端、平板电脑、TETRA基站、TETRA核心交换机及调度终端组成。

图1 数字集群系统图像摄取传输结构图

调度终端通过以太网与TETRA系统交换机相连并自行设定一个IP地址。图像摄取终端设备平板电脑通过TETRA外部接口与成功接入TETRA网络的TETRA移动终端设备相连,在平板电脑中创建标准调制解调器网络连接,通过拨号上网的方式,平板电脑将会经由TETRA终端调制解调器(Modem)向TETRA系统发送入网请求,TETRA核心交换机的分组数据支持单元接口将为平板电脑动态分配一个IP地址。至此,平板电脑将成功接近TETRA网络。建立分组数据连接后,平板电脑可向调度服务器建立图像传输连接。

2 图像摄取传输功能关键技术

2.1 传输协议选择

图像在网络传输时,不可避免地牵涉到传输协议的问题。在TCP/IP协议体系结构中,用来完成数据传输的传输层协议有传输控制协议(TCP,Transmission Control Protocol)和用户数据报文协议(UDP,User Datagram Protocol)[1]。TCP协议是一种面向连接的,在进行传输工作前需要通过“三次握手”建立连接。建立连接时间和系统资源开销较多。UDP是一种面向无连接的,即双方不需要再建立连接的情况下才能进行通信。相对传输速度较快、系统开销少,但不能保证报文到达接收端时的先后顺序与发送时一致[2]。本文待开发的图像传输系统数据传输是建立在TETRA分组数据传输业务之上的,存在网络带宽问题而且通过移动设备进行传输,系统资源有限。根据系统要求,待开发的传输系统需要提供相对可靠的服务,而使用TCP协议传输明显会出现系统资源占用过高的情况。因此,采用UDP协议进行传输比较合适。在UDP协议的基础上,增加一些控制机制如丢包重发,有序保证机制等,只需应用层上设计必要的可靠性机制,就可以在不太影响UDP传输速率和不占用过多系统资源的情况下,实现图像的稳定传输,完成系统要求。

2.2 通信协议设计

本文采用UDP协议进行图像文件传输,包含报头在内的UDP数据报理论值最大为65 535 byte[3],但考虑到系统网络环境,首先将要发送的图像文件进行分块切割。对于每一块文件的大小,要考虑所采用的传输方式的误码率和传输效率,在UDP方式下,本系统采用1 024 byte。同时为了克服UDP协议的不足,保证传输文件的准确性和可靠性,在通信协议的设计中采用了问答方式,即发送方先发送一段信息,等待接收方的应答信息,只有得到接收方的应答信号后才继续发送下一段信息。把相关信息组成一个个数据包,在发送方和接收方之间传递,通过丢包重发和有序保证机制保证整个文件的准确、可靠。将通信协议数据包封装到(SendCell)类中,通过序列化和反序列化机制实现对象与字节流的转换传输。通信协议数据包的格式如下:

数据包格式说明:

(1)消息标识符。表示该数据包的类型共有4种,分别为请求发送文件消息、响应发送文件消息、请求发送文件块消息和响应发送文件块消息。

(2)传输数据内容。在发送端传输内容被分为两种情况:文件传输前的文件头,将其封装成(TraFransfersFileStart)类;传输文件的具体内容,包括包含一个索引号(原子操作)即这是第几块和文件块。将其封装成(TraFransfersFile)类。在接收端传输内容为响应协议内容,将其封装成(ResponeTraFransfersFile)类。具体协议格式如下:

文件头协议格式:

2.3 丢包检查算法

为了解决丢包问题,本文设计了如下算法。

(1)在接收端加入一个记录文件分块接收状态的列表Dictionary,int表示文件分块的序号,bool表示是否已经接收,初始化为全部没有接受(false)。

(2)在接收端中加入一个定时器Timer,用来检测收到一个包后,等待的时间是否超过了设置的值,超过就给发送方发送数据包,请求继续发送文件,需要发送的文件块序号为从Dictionary中查询出来的没有接收的文件块序号。

(3)如果Dictionary中的所有文件块已经收到(全部为true),文件就接收完成了。

3 通信流程

(1)发送方发出请求发送文件数据包,其中消息标识符为请求发送文件消息,传输内容为TraFransfersFileStart对象。

(2)接收方收到请求发送文件数据包,完成如下操作:按照指定路径建立文件。从文件头数据包中读取出要发送文件的块数量,建立接收状态列表,并初始化为false。启动定时器用于计时,待超时重发。回发响应发送文件数据包,其中,消息标识符设为响应发送文件消息。传输内容设为ResponeTraFransfersFile类实例对象,其中,需要接收的索引号赋值为0,通知发送方开始发送0号索引文件块。

(3)发送方收到响应发送文件数据包,完成如下操作:异步读取指定索引号的块文件。读取完成后发送请求发送文件块数据包,其中,消息标识符为请求发送文件块消息,传输内容为TraFransfersFile类实例对象。

(4)接收方收到请求发送文件块数据包,完成如下操作:将数据块按索引号写入文件。把相应的接收状态列表元素设为true,表示已接收。重新设置接收时间为当前时间,将已接收的块数变量加1。检测是否已全部接收完成,若全部接收完成,则发送索引字段为-2的响应消息数据包。若没有接收完成,则遍历接收状态列表,找到下一个需要接收的索引,发送响应消息数据包。

(5)重复(3)~(4),直到全部接收完成。

4 图像摄取传输测试

通过编程实现了本文提出的图像摄取传输解决方案,并在实际的TETRA数字集群系统中进行了图像摄取和传输测试。测试着重检查终端能否加入TETRA网建立连接,能否将拍摄的现场图片传输到调度服务器中。测试效果图如图2所示。经过测试,本文提出的图像摄取传输方案成功地将图片传到调度服务其中,保证了传输的准确性。

图2 测试效果图

5 结束语

本文详细论述了基于TETRA的数字集群系统图像摄取传输功能的开发过程,提出了图像摄取传输的实现方案。针对UDP协议传输可靠性不高的问题进行了改进,对UDP传输协议引入了消息确认、丢包超时补发等机制来保证协议传输的可靠性。图像摄取传输功能的实现能够进一步提高预防和处置突发公共事件的能力,提高指挥人员决策的准确性和及时性。

[1]莱 特(美),史蒂文斯(美).TCP/IP详解 (卷2:实现)[M].陆雪莹.北京:机械工业出版社,2008.

[2]李光明,姚 斌.一个基于UDP协议的文件传输应用程序的实现[J] .自动化技术与应用,2005 ,24(9):36-38 .

[3]刘喜作,周 晶,梁德清.基于UDP的大数据包可靠传输[J].电讯技术,2012,52(4):96-100.

责任编辑 陈 蓉

图5 中央控制单元软件结构图

3.4 线程间的通信

图6 线程间通信图

线程间通信如图6所示,主要步骤如下:

(1)启动MVB任务管理线程和逻辑运算线程。

(2)启动MVB初始化线程,初始化线程完成对MVB板卡复位、初始化、端口配置、总线管理和总线主权获取操作。MVB初始化线程只在读写MVB数据前执行一次。

(3)启动MVB数据读写线程,完成对列车信号网络和牵引网络所有数据获取。

(4)启动MVB数据更新线程,完成MVB数据与列车逻辑运算数据的更新。

4 结束语

本文在对CRH3A型动车组中央控制单元功能需求分析的基础上,针对QNX多任务、多线程、实时性强的软件体系特点,提出了将软件按功能划分为多个线程,通过信号量机制实现线程间的数据传输和管理的软件设计结构,该软件设计结构在CRH3A型动车组CCU的应用与调试阶段得到了试验验证,效果良好。

参考文献:

[1] Krten R.Getting Start with QNX Neution 2[M].Ontario:PARSE Software Devices,2001:58-400.

[2] QNX Software Systerm Ltd.Systerm Architecture[DB/OL].CDRIOM,2002.

[3] QNX Software Systerm Ltd.Library Reference[DB/OL].CDRIOM,2002.

[4] QNX Software Systerm Ltd.Programmer’s Guide[DB/OL].CDRIOM,2002.

责任编辑 陈 蓉

Image achieving and transmission based on TETRA Digital Trunked System

XUAN Xiubin,WEI Qi,KAN Tingming,XIA Dechun
( Institute of Computing Technologies,China Academy of Railway Sciences,Beijing 100081,China)

This article presented an implementation proposal,which could achieve and transfer the image fles between mobile devices and PC based on Terrestrial Trunked Radio (TETRA) Digital Trunked Communication System.The key technologies and solutions of the image transmission,such as transmission protocol,large files transmission,packet loss,disorder packets’ sequence and the completeness testing,were proposed.By packing the data connection confguration for mobile radio terminals,mobile equipment,as well as dispatching terminals,the image transmission feature based on digital trunked system was implemented,which expanded the business scope of the trunked system.

Digital Trunked System;Terrestrial Trunked Radio (TETRA);transmission protocols;image transmission

U285.2∶TP39

A

1005-8451(2016)01-0048-04

2015-04-27

宣秀彬,工程师;魏 奇,副研究员。

猜你喜欢

线程数据包集群
二维隐蔽时间信道构建的研究*
基于C#线程实验探究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
海上小型无人机集群的反制装备需求与应对之策研究
C#串口高效可靠的接收方案设计
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人