数据分发技术在无人机地面站系统通信网络中的应用

2015-09-27 02:47柴毅哲杨任农邬蒙张欢空军工程大学航空航天工程学院西安710038
现代计算机 2015年27期
关键词:数据通信中间件实时性

柴毅哲,杨任农,邬蒙,张欢(空军工程大学航空航天工程学院,西安710038)

数据分发技术在无人机地面站系统通信网络中的应用

柴毅哲,杨任农,邬蒙,张欢
(空军工程大学航空航天工程学院,西安710038)

0 引言

随着信息科技的飞速发展的同时,国家的军队建设也在不断壮大,海量的数据传输和安全高效的通信网络覆盖是军队建设的必然发展趋势。而传统的通信架构和传输协议,如CORBA技术,它是采用面向过程的客户端/服务器通信模式,其通信过程比较复杂,在建立链接的基础上才能进行数据分发,且数据传输效率低,存在掉线的问题,而且不能满足系统对实时性的需求;再如分布式共享内存技术,它是以数据为中心的通信模式,由于该模式执行效率低,灵活性差,很难满足系统的实时性需求。因此,这些传统的通信模式不能应用于航电系统、空管系统、指挥训练系统等对分布式系统的通信可靠性、实时性、灵活性要求较高的领域。

为了更好的解决上述问题,在数据分发服务(Data Distribution Service,DDS)[1]中建立一种以数据为中心的发布/订阅(P/S)模型,DDS是由对象管理组织(Object Management Group,OMG)针对发布订阅模型颁布的一种规范,P/S模型与CORBA[2-3]技术或其他模型相比,具有较好的实时性、灵活性和可靠性。本文研究的无人机地面站系统通信网络将以RTI-DDS作为通信基础中间件,然后设计并实现适合本系统的通信机制,以满足通信中的实时性、可靠性、灵活性等数据分发需求。

1 DDS原理与通信模式

数据分发服务(DDS)是由对象管理组织(OMG)针对分布式实时系统中数据发布/订阅(P/S)模型颁布的一种新的规范,该规范包含两层机构,分别是底层的以数据为中心的发布/订阅 (Data-Centric Publish-Subscribe,DCPS)层和高层的数据本地重构 (Data Local Reconstruction Layer,DLRL)层[4]。采用以数据为中心的发布/订阅通信模式,将数据资源、资源期待值、网络情况等用服务质量(Quality of Service,QoS)参数描述,是一种轻便的,能提供实时、可靠的数据分发的数据通信规范,可用于空天防御、仿真、工业自动化、控制、机械化、通信等领域。

数据分发服务(DDS)模型的基本体系框架如图1所示,主要包括:数据发布者Publisher、数据订阅者Subscriber、数据写DataWriter、和数据读DataReader、主题Topic。

Publisher通过创建不同的DataWriter发布数据,不同的数据类型用不同的Topic标识,Publisher不直接分发数据,只负责创建和管理DataReader,DataReader负责发布主题,接收主题订阅信息,并分发数据给Subscriber;Subscriber负 责 创 建 和 管 理 DataReader,DataReader负责订阅数据;Topic起到关联DataWriter 和DataReader的作用,DataWriter告知DDS或其他应用它拥有的数据类型的Topic,DataReader则会告知DDS它想要得到的数据的 Topic。DataWriter和DataReader之间进行数据分发与Topic密切相关。当DataReader订阅的主题与DataWriter发布的主题相同,且二者QoS参数匹配时,即建立发布-订阅关系并进行数据分发。

图1 DDS模型的基本体系框架

(1)DCPS通信模型

底层的DCPS层是DDS的核心和基础,提供了通信的基本架构,确保将相应信息传递给对该信息“感兴趣”的接收者,该层建立了一个全局数据空间(Global Data Space,GDS)的概念[5]。发布者(Publisher)在全局数据空间中创建数据,并给数据设定主题(Topic),然后将数据分发给订阅该数据的订阅者,订阅者(Subscriber)通过注册主题订阅自己“感兴趣”的数据,然后当该数据发生变化时接收数据,订阅者可以通过两种通信方式接收数据,一种是异步存取方式,另一种是同步条件存取方式。

订阅完成后通过通信中间件处理,然后再进行数据分发,即将传统的客户端/服务端(C/S)模式转换为以数据为中心的发布/订阅(P/S)模式。需要注意的一点是,DCPS通信模型[6]构建在全局数据空间(GDS)之上,所有数据对象都包含于全局数据空间中,但并不是所有数据都已经写入计算机内存地址中,只有各分布式节点在启动后声明需要的数据才会存在于内存地址空间中,这一设计大大提高了DDS通信的效率。DCPS通信模型如图2所示。

图2 DCPS通信模型

本文数据分发服务 (DDS)主要由Publisher、Data Writer、Subscriber、DataReader和GDS共同实现 Topic的创建和数据的分发功能。下面从数据传输的角度来阐述DDS的工作流程。

(1)发布过程

如图3所示为数据分发服务(DDS)发布/订阅消息工作流程。当某个分布式节点需要发送消息时,由Publisher创建一个DataWriter,然后DataWriter将该消息的Topic和其提供的QoS参数发送给其他各个分布式节点的全局数据空间 (GDS)上,发送完成后DataWriter保持阻塞状态直到有数据需要发布时才被激活。同时,各个分布式节点在其GDS中的发布主题表中添加该条发布信息。

(2)订阅过程

当订阅者需要订阅某个Topic的数据时,首先由Subscriber创建一个DataReader,然后DataReader在其所在的分布式节点的GDS中的发布主题表中查找到所有Topic相同且QoS参数匹配的Publisher,然后选择一个作为订阅对象,并将数据对应的Topic和QoS策略发送到该Publisher所在分布式节点的GDS中,然后Subscriber保持阻塞状态直到有数据需要接收时才被激活。当某个分布式节点收到来自DataReader的订阅信息时,首先更新GDS中的订阅登记表的记录信息。然后查找发布主题表中的被订阅信息并将数据发送给订阅者。

图3 DDS数据分发工作流程图

(3)数据分发过程

当某个分布式节点中有数据需要发布时,DataWriter被激活,然后GDS在订阅登记表中进行查找,看是否有QoS参数匹配且Topic相同的DataReader存在。 若存 在 DataReader,则 DataWriter就 跟DataReader建立发布/订阅关系,然后,GDS将订阅登记表中的订阅相关信息传输给DataWriter,同时激活DataReader,激活完成后DataWriter根据接收到的订阅相关信息将数据发送给DataReader,然后继续保持激活状态直到下次有数据需要接收时才被激活。DataReader接收到DataWriter传输来的数据后,对数据进行处理后继续保持阻塞状态直到下次有数据需要接收时才被激活。若不存在DataReader,则DataWriter继续保持阻塞状态继续等待下次被激活。

数据分发服务(DDS)模型通过将发布者所提供数据信息的状况,订阅者对所需数据的期望等信息用服务质量(QoS)策略描述,通信中间件按照提供的QoS参数要求选择最合适的数据发布/订阅方式,从而既达到了数据实时传输,也提高了通信灵活性,实现了可靠稳定的实时数据分发服务。

(1)RTI-DDS通信中间件的通信过程

①发布过程

首先创建域参与者(Domain Participation),并用该域参与者注册所需数据类型,然后为注册的数据类型设定主题,接着创建Publisher,并用Publisher为Topic创建一个DataWriter,然后需要将创建的DataWriter强制转换为所注册数据类型的DataWriter。转换完成后,开始在主题实例中存储所注册数据类型的数据,最后调用所注册数据类型的DataWriter进行数据发布。

②订阅过程

首先创建域参与者(Domain Participation),并用该域参与者注册所需数据类型,然后为注册的数据类型设定主题,接着创建Subscriber,并用Subscriber为Topic创建一个 DataReader,然后需要将创建的DataReader强制转换为所注册数据类型的DataReader。转换完成后,在Subscriber或者DataReader上安装监听(Listener),然后当有数据存在时,RTI-DDS通信中间件自动处理接收到的数据,然后在on_data_aviliable()函数内部获取数据。

(2)DDS可靠通信

为了保证通信的可靠性,RTI-DDS有两种数据传输方式,一种是尽力传输方式(Best-effort),在缺省的情况下使用,另一种方式是可靠传输方式(Reliable),使用Best-effort方式进行数据传输,不在乎个别数据的丢失,可以保证传输的实时性传输,但同时也会降低数据传输的可靠性,使用Reliable方式进行数据传输,确保所有传输数据准确到达,可以保证数据传输的可靠性,但同时会产生延时。不管采用哪种传输方式,都不能同时使实时性和可靠性均达到最佳效果,所以,可以根据不同的数据通信需求灵活选择数据传输方式。本文重点分析RTI-DDS的Reliable传输方式。

使用Reliable传输方式,可以保证数据被准确有序发布,每个分布式节点或应用的DataWriter有一个可调整大小的发布队列空间,DataReader也有一个可调整大小的接收队列空间,发送队列空间和接收队列空间用来临时存放数据直到数据被确保完全正确发送。对于发送队列空间,只有当数据被正确发送给所有的Subscriber,才会从发送队列空间中将该数据移除,如果发送队列空间已满,数据将会在发送队列空间中保存一定时间然后被删除。对于接收队列空间,当用户已经获取接收到的数据时,才将该数据从接收队列空间中删除,如果接受队列空间已满,则会放弃接收新数据,直到有空间时才会继续接收。

当发送数据时,DataWriter可以被设置为需要等待有可用的队列空间时才去发送数据,这种情况下,发送线程将会处于阻塞状态,只有当存在可用队列空间时才被激活。若DataWriter被设置为忽略队列空间是否已满随时发送数据,这种情况下,已经存在于队列空间中的旧数据可能会在没有被所有的DataReader接收完时被挤出队列空间。此时,DataReader会被告知数据已丢失,RTI-DDS会发送ACK信息确保可靠通信[7]。需要注意的是,DataWriter使用write()写入数据返回成功的返回值时,并不代表数据已被DataReader获取,只是表明数据已被加入发送队列空间中。用户可以通过查看RELIABLE_WRITE_CACHE_CHANGED状态集中是否含有NACK消息得知是否数据已被所有DataReader获取。

通过上述分析可知,队列空间的大小对数据传输的效率有很大的影响,为了高效进行数据传输,RTIDDS采用RTPS(实时发布/订阅)协议来保证可靠通信。当DataWriter使用write()写入数据时响应该协议,该协议通过不同消息类型传递相应信息来保证通信的可靠性,包括DATA消息,ACKNACK消息,HB消息等。DATA消息由传输数据值和序列号组成,序列号时唯一的,是该消息的标识。ACKNACK消息是DataReader收到数据后告知DataWriter其是否成功接收到数据的消息。HB消息包括 DataWriter告知DataReader其接收到的数据的序列号的范围消息和DataReader反馈给DataWriter的确认消息。

图4 无丢包可靠通信过程

如图4是无丢包的可靠通信过程,在发送队列空间中,每个待发送的数据都有一个唯一的序列号,DataWriter将消息发送给DataReader,然后数据被存入接收队列空间中,DataReader通过序列号得知没有丢包数据,然后告知用户可以处理数据。DataWriter向DataReader发送HB(1)消息,DataReader确认已经接收到该序列号代表的数据后向DataWriter返回 ACKNACK(2)消息,即已经正确接收该序列号之前的全部消息,DataWriter收到反馈信息后即可获知数据已被准确发送。

3 无人机地面站系统通信网络面临问题

无人机地面站系统共有10个模块构成,该系统基于松耦合架构设计,分为基础服务框架和业务组件。其中基础服务框架包含控制管理模块、安全监视模块、数据备份模块;业务组件包括任务情报模块、导航模块、合成视景模块、飞机状态显示模块、通信链路模块、实时音视频回放模块、任务规划模块。基础服务框架部分提供数据服务、安全服务和系统控制功能。系统逻辑架构如图5所示。

从系统框图能够看出,无人机地面站系统各个模块之间都要进行数据通信,对数据通信的要求很高,需求量很大。包括任务规划模块内部数据通信以及与通信链路模块、控制管理模块和数据备份模块的数据通信,数据备份模块内部数据通信以及与通信链路模块、导航模块、任务规划模块、控制管理模块的数据通信,控制管理模块与数据备份模块的数据通信等。由此可知,系统需要的数据通信量大且种类繁杂,普通的数据通信技术不能满足系统对数据传输的实时性、可靠信、灵活性等方面的要求,因此,我们通过RTI-DDS作为本系统的数据通信中间件为系统提供实时可靠的数据分发服务。

图5 无人机地面站系统框图

4 系统验证

RTI-DDS符合对象管理组织(OMG)颁布的数据分发服务(DDS)标准,是专为实时分布式交互系统提供数据通信的中间件,可以把它当作一个数据总线。RTIDDS通信性能良好,且兼容其他通信标准,采用开放式架构设计,可通过UPD协议提高数据分发效率,同时也可以通过配置服务质量(QoS)参数确保通信可靠性和稳定性,这样的灵活设计方式,可以基本满足系统的预期升级要求。接下来通过实验测试RTI-DDS在实时性、吞吐量、可靠性等方面的性能[8],看其能否满足无人机地面站系统通信网络的性能要求。实验采用的计算机的操作系统为 Windows 7,CPU为 Intel Core i7 3.4GHz(8 CPUs),内存为8G,交换机采用TP-Link TLSF1024D(10/100Mbps Unmanaged Switch)。

(1)丢包率测试

首先对丢包率进行测试,本文通过发送固定大小的同一包数据的形式对RTI-DDS的丢包率进行测试,数据包大小不变,可以避免因数据包大小对传输效率的影响干扰,发送同一包数据,可以有效避免接收到错误数据包的情况,本实验中,当某种原因造成接收到的数据包与发送的数据包不同时,按照丢包处理。实验中首先由数据发送者向数据接收者发送数据包,并记下发送数据包个数,数据接收者接收到数据包后,先对数据准确性进行判断,确定接收到的数据包无误后记下接收到的数据包总个数,然后通过对比发送数据包个数和接收数据包个数既可得到本次实验的丢包率;

(2)实时性测试

测试延时值时,通过发送数据包的形式进行测试,实验中首先由数据发送者向数据接收者发送数据,数据接收者记下接收到数据的时刻,然后立刻把接收到的数据返回给发送者,发送者随即记下接收到反馈回来的数据的时刻,然后将这两个时刻之间的时间差折半即为该次发送数据包的时延。由于发送一包数据的时延是很小的,我们采用连续发送10000包大小为1024B的数据包作为一次实验,取最终的平均时延作为本次实验测得的延时值大小。

(3)吞吐量测试

通过测试单位时间内数据分发量的形式对RTIDDS的吞吐量进行测试,实验中首先测试数据包大小对吞吐量的影响,从实验结果中得知,当数据包大小大于256B之后,其吞吐量值趋于稳定,因此,为排除因数据包大小对吞吐量测试值的干扰,本次实验中我们选择发送大小为1024B的数据包。然后以固定时间间隔在一分钟内发送同一大小的数据包,并通过计算单位时间内数据分发总量的大小测试吞吐量,所得的测试吞吐量值作为一次实验结果。

测试的结果如表1所示:

表1 RTI-DDS通信中间件传输数据测试表

从测试结果中可知,不管是采用哪种传输方式,其丢包率都非常小,说明RTI-DDS在数据传输时的稳定性非常好;该实验测试环境的网络带宽是10/100Mbps,理想情况下吞吐量能达到100Mbps,而在实际环境中,由于传输介质物理受损等因素,其吞吐量一般只能达到90Mbps左右,从测试数据表中看出,数据的传输带宽83Mbps已经非常接近实际带宽,从而能够说明,限制RTI-DDS传输带宽的因素是传输介质的带宽容量,如果传输介质的带宽容量增加,则RTI-DDS的吞吐量也会接近理论值;两种传输方式的平均延时和最大延时都是毫秒级的,非常小,完全能够满足分布式综合系统对实时性的要求。总之,该通信中间件完全能够满足大型分布式系统的通信性能要求。

5 结语

基于RTI-DDS的数据通信分发服务,可以在大型分布式系统中为各分布式节点之间提供实时可靠的数据分发,本文通过分析无人机地面站系统通信网络中面临的问题,引出使用RTI-DDS解决大型分布式系统的数据通信问题,然后通过系统验证,对RTI-DDS在丢包率、实时性、吞吐量等方面的性能进行测试,从实验结果能够看出,使用RTI-DDS可以满足无人机地面站系统通信网络的性能要求,具有一定的实用价值。

[1]Object Management Group(OMG).Data Distribution Service for Real-time Systems Specification Version 1.2[S].2007

[2]Object Management Group(OMG).Real-time CORBA Specification Version1.2[R].2015,1.

[3]许海涛,张建伟,郑灿祥.基于CORBA与DDS技术改进DRS系统通信[J].计算机工程与技术,2012,33(1):357-361.

[3]XU Hai-tao,ZHANG Jian-wei,ZHANG Can-xiang.Improved communication of DRS system based on CORBA and DDS technology [J].Computer Engineering and Design,2012,22(1):357-361.

[4]张珺,尹逊和.基于RTI-DDS的数据分发中间件的升级设计[J].北京交通大学学报,2011,35(5):31-37.

[5]谢阳杰,吴家铸.数据分发服务DDS的研究[C].全国第19届计算机技术与应用学术会议论文集(上册).2008:51-56.

[6]Kwon K J,Park C B,Choi H.A Proxy-based approach for mobility support in the DDS system[C].6th IEEE International Conference on Industrial Informatics.[s.1.]:[s.n.],2008:1200-1205.

[7]曹万华,谢蓓,吴海昕,程雄.基于DDS的发布/订阅中间件的设计[J].计算机工程,2007,33(18):78-80.

[8]欧阳军,蔡志明,王希敏.基于DDS中间件的性能测试[J].船舶电子工程,2011,31(11):136-139.

Data Distribution Service;DCPS;Real Time Data Distribution;Distributed System

Research on Communication Network's Data Distribution Technology in UAV's Ground Controlling System

CHAI Yi-zhe,YANG Ren-nong,WU Meng,ZHANG Huan
(Aeronautics and Astronautics Engineering College,Air Force Engineering University,Xi'an 710038)

1007-1423(2015)27-0074-07

10.3969/j.issn.1007-1423.2015.27.020

柴毅哲(1990-),男,河南巩义人,在读硕士研究生,研究方向为网络安全与信息对抗

杨任农(1969-),男,四川彭州人,硕士,教授,研究方向为网络安全与信息对抗

邬蒙(1978-),男,四川成都人,硕士,讲师,研究方向为信号与信息系统

张欢(1989-),男,陕西安康人,在读博士研究生,研究方向为武器系统作战规划与训练评估

2015-09-12

2015-09-23

对对象管理组织(OMG)颁布的数据分发服务(DDS)进行介绍,分析DDS的基本原理、工作流程和通信模式,重点分析RTI-DDS的可靠通信模式,然后以无人机地面站系统为例,分析大型分布式系统面临的数据通信问题,然后以解决大型分布式综合系统数据通信为目的对RTI-DDS的通信性能进行系统验证,最终得出结论,使用RTI-DDS可以满足无人机地面站系统通信网络的性能要求,具有很好的实用价值。

数据分发服务;以数据为中心的发布/订阅;实时数据分发;分布式系统

Introduces the data distribution service specification,which is defined by Object Management Group.Analyzes the fundamental theory,flow of work,communication model of DDS.It is the key point to analyze the reliable communication model of RTI-DDS.Takes UAV's ground controlling system(GCS)as an example,analyzes about data communication problems of large-scale distributed system.And then takes aim at solving data communication problems of large-scale distributed system,do experiments to test and prove the communication performance of RTI-DDS.It is proved that the requires can be satisfied by using RTI-DDS to solve data communication problems of distributed system,and it is practical.

猜你喜欢
数据通信中间件实时性
数据通信网络维护与网络安全问题探讨
RFID中间件技术及其应用研究
监测系统接口数据通信方式
关于数据通信电源现状和高压直流供电新系统的分析
基于Android 平台的OSGi 架构中间件的研究与应用
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
一种高效可靠的串行数据通信协议及处理算法
中间件在高速公路领域的应用
一种车载Profibus总线系统的实时性分析