基于DDS的指挥控制系统信息共享技术研究*

2014-02-11 03:42
通信技术 2014年11期
关键词:数据类型分片中间件

李 贤

(江苏自动化研究所,江苏连云港222006)

基于DDS的指挥控制系统信息共享技术研究*

李 贤

(江苏自动化研究所,江苏连云港222006)

战场态势信息的共享是实现协同作战急需解决的问题,信息共享技术关系着指挥效率和协同作战能力的高低,关系着作战效果是否精确高效。DDS是实时分布式系统实现信息共享的一种有效途径,文中首先介绍了RTI DDS的体系结构,包括基本组件和QoS配置,其次针对指挥控制系统信息共享的需求,提出了使用RTI DDS实现信息共享过程中的关键问题及解决方法,并通过搭建实验环境验证,实验结论证明DDS可以作为指挥控制系统的一种有效的信息共享技术。

指挥控制系统 信息共享 实时分布式系统 数据分发服务

0 引 言

随着计算机技术和通信技术的发展,武器装备具备了很高的信息化水平,作战模式也由平台中心战向网络中心战转变,以网络为中心的未来信息化战争,核心是战场态势的共享,态势共享的基础是信息共享[1]。将战场所有传感器、武器平台和指控系统紧密联合起来形成一张统一的网络,实时的共享战场态势,就能缩短决策时间,提高指挥效率和协同作战能力,达到作战效果的精确高效。

数据分发服务(DDS,Data Distribution Service)是用于实时分布式系统的一种网络中间件,它提供了节点之间的实时网络通信服务。它使用订阅/发布通信模型来保证数据分发的有效性和健壮性。未来信息化战争的基本要求是战场信息的全局透明共享,各个作战单元通过网络化指挥信息系统共享战场信息,是典型的分布式实时应用。

1 RTI DDS简介

1.1 DDS技术现状及发展趋势

DDS是对象管理组织OMG的有关分布式实时系统中数据发布的一个规范,采用发布订阅体系结构,对实时系统有很好的支持,针对强实时系统进行了优化,提供低延迟、高吞吐量、以及对实时性能的控制级别。能够广泛的应用于航空、国防、分布仿真、工业自动化、分布控制及电信等多个领域[2]。

1.2 RTI DDS体系结构

RTI DDS实现了OMG提出的实时系统数据分发服务的DCPS接口,DCPS是以数据为中心的订阅分发机制。RTI DDS具有很强的容错机制和灵活的通信方式配置,可以兼容各种计算机硬件、操作系统、编程语言和网络传输协议。RTI DDS的高可配置性使其可以满足用户各种应用需求。

RTI DDS的主要组件及其关系如图1所示。

图1 RTI DDS主要的组件及其关系Fig.1 Main modules of RTI DDS

1)参与者(Domain Participants)。写入者和读取者能够互相通信,前提条件必须属于同一个域(Domain),每个域都有一个唯一的整型的域ID。多个域的好处是,能够在同一个物理网络上,模拟多个虚拟的分布式系统,且互不干扰。参与者使一个应用程序能够和域内的其他应用程序交互信息,参与者被用来创建主题、发布者、写入者、订阅者和读取者,创建的这些对象和参与者属于同一个域。

2)发布者(Publishers)和写入者(Data Writers)。应用程序使用写入者的“写入”操作向域发布数据,而发布者用来将写入者分类,程序员可以给发布者分配QoS配置,并应用到属于该发布者的所有写入者[3]。每个写入者和唯一的主题关联。每个主题以及该主题的所有写入者都和一个特定的离散数据类型关联,“写入”操作是类型安全的,意味着在发布数据之前,需要做强制类型转换。

3)订阅者(Subscribers)和读取者(Data Readers)。应用程序使用读取者读取订阅的数据,而订阅者用来将读取者分类,程序员可以给发布者分配QoS配置,并应用到属于该订阅者的所有读取者。每个读取者和唯一的主题关联,读取者只能接收其关联的主题数据。

4)主题(Topics)。主题提供了读取者和写入者之间的连接点。节点应用程序写入者关联的主题必须和另一个节点应用程序读取者关联的主题匹配,他们之间才能通信。主题包括名字和类型,名字是一个字符串,在一个域内唯一确定了该主题,类型是数据的结构定义。

5)键值(Keys)和样本(Samples)。主题的值可能随时变化,每一个值成为一个样本,类似于类和对象的概念。样本之间是靠键值区分的,键值是指定的,主题中的一个或者多个字段(Field)。

2 指挥控制系统信息共享需求

指挥控制系统是军队信息化的标志之一,肩负着战场指挥的自动化、实时化和精确化任务。指挥控制系统接收各传感器的探测和侦察数据,以及各武器平台、协同作战平台的实时数据,进行复杂的数据计算,同时分发各种决策数据。指挥控制系统网络数据根据平台类型、使命任务和装备的不同而千差万别,建立一种实时的、即插即用的、具有强容错性和鲁棒性的信息共享机制具有很高的实用价值。

指挥控制系统设备台位繁多,所用系统硬件平台CPU架构也不尽相同,操作系统有Windows XP、Windows XP Embedded和VxWorks等,部署的软件编程语言、编译环境都存在差异,所有的这些造成了数据在不同的平台间传输存在类型错误的可能,因为数据在不同的平台上存储方式和处理方式存在差异,不同平台间数据的类型安全成为信息共享的瓶颈之一。

指挥控制系统网络传输的数据类型繁多,各个节点所关注的信息必然是由选择性的,而不感兴趣的数据都会对我们的网络和CPU资源造成浪费,同时使应用程序的逻辑复杂化。如何使软件和网络更多的关注有用数据,是指控系统信息共享机制必须关注的。

指控系统网络环境复杂,节点或者网络容易发生故障,在故障恢复时无法恢复数据,造成数据的丢失。指控系统信息共享机制必须能够对历史数据进行保存。复杂的网络环境,数据延迟容易因为不可知的原因增大,数据包的传输失败可能造成严重的问题。例如,传感器每0.5 s发送一次自身的状态值,雷达每0.2 s发送一次其所跟踪的目标的位置,如果传感器或者雷达未在承诺的周期内更新数值,可能会造成不可预知的结果,对周期性数据延迟的处理必须能够如实的反映网络和节点状况。

指控系统网络需要传输数据、图像、语音和视频等多种业务,带宽的利用率尤为重要,对于频繁发送的小数据包,会过多的占用网络带宽,造成网络有效吞吐量下降,所以信息共享机制应该能对大量的小数据包进行合适的处理,防止造成网络拥塞。

指控系统与其他系统通过卫星、数据链和短波等无线通信方式通信,无线通信质量受环境影响很大,信息共享机制必须能够处理在大丢包率情况下的通信。

3 RTI DDS指控系统信息共享

3.1 数据类型安全处理

指控系统网络各个节点不可能是统一的平台架构,应用程序数据在内存中的存储和分布随着语言/编译器/操作系统/处理器的不同而变化,中间件必须能够将数据从一个平台透明传输到另一个平台,这个处理过程成为序列化/反序列化。

基于消息的分布式中间件可以采用如下两种方式解决这个问题:

1)什么都不做,这种方式将不同平台间的数据内存分布差异交给程序员来处理,程序员必须处理所有的编码、对齐和补齐问题。

2)中间件屏蔽不同平台间的差异,这种方式需要将每个消息携带大量的冗余信息,这种方式会影响软件性能,图2显示了传统中间件对数据类型安全的处理。

图2 传统中间件对数据类型安全的处理Fig.2 Type-safe process of traditional middleware

RTI DDS采用一种折中的方法,类似于应用程序中的数据类型,一个主题的所有样本属于同一种数据类型,这种类型的定义包括一些字段和字段的类型。可以通过接口定义文档(Interface Definition Document)来定义类型。RTI DDS通过这种方式在有效的传输数据的同时,也解决了字节序和字节对齐问题。图3显示了RTI DDS对数据类型安全的处理。

图3 RTI DDS对数据类型安全的处理Fig.3 Type-safe process of DDS

RTI DDS有很多种方式来定义和使用数据类型:

1)使用内置的数据类型,如果消息是一个简单的字符串或者是一段字节缓冲区,那么可以使用RTI内置的数据类型。内置的数据类型包括String、KeyedString、Octets和KeyedOctets,String和Keyed-String可以用来发送长度可变的单字节字符序列, Octets和KeyedOctets可以用来发送长度可变的字节序列。内置的数据类型可以满足简单的数据类型需求,但是如果数据很复杂并且高度结构化的,或者需要DDS检查字段用于数据过滤或其他目的,那么内置的数据类型就不合适了。

2)编译时定义数据类型,使用一种语言无关的描述方式以及RTI代码生成器rtiddsgen来生成数据类型,这种方式提供了编译时类型安全。数据类型定义可以使用OMG IDL、XML Schema(XSD)和DDS指定的XML格式,rtiddsgen可以接收这种类型定义。

3)运行时动态定义数据类型,这种方式适用于那些有动态数据描述需求的应用程序,数据类型频繁改变或者无法事先知道数据类型。

指控系统网络通信,可以通过使用编译时定义数据类型,来保证多平台间数据类型的安全,使程序员能够专注于指控系统业务逻辑。

3.2 主题条件过滤

RTI DDS提供了一种数据过滤功能,数据的精简可以使应用程序更多的关注有用数据。数据的精简可以基于以下几种方式:

1)数据内容。基于内容的过滤器可以检查数据的各个字段,这些字段的值是否满足一定的标准。对于数值类型,可以判断大小,对于字符串类型,可以判断是否满足一定的正则表达式。在创建读取者时绑定过滤器主题,在创建过滤器主题时使用类SQL表达式来指定基于内容的过滤器。运行时动态的指定过滤条件。

2)数据时间。基于时间的过滤器可以过滤一段时间内的,或者一定历史深度的数据。

3)更新速率。如果订阅者只能够(只需要)以一定的速率处理数据,这种过滤标准很有用。如果发布者发布数据的速率过快,则中间件将丢弃中间的一些数据。通过这种过滤器来对数据包进行降采样[4]。

在指控系统网络中,基于内容和时间的过滤器,可以大大减小网络流量和CPU负载。对于网络中处理能力较差,且短期内无法得到更新的节点,可以使用更新速率过滤器,对数据进行降采样。同样对于一些表页显示的数据,过快的更新速率容易导致画面抖动,用户不易获取正确的数值,这种情况下也可以使用更新速率过滤器。

在相同发包率的情况下,比较订阅者在采用包过滤和未采用包过滤两种情况下的CPU利用率,如图4所示,未采用包过滤的情况下,由于应用软件对接收到的数据需要接收,判断是否是感兴趣的数据,如果不是感兴趣的数据则抛弃,这些操作消耗了大量的CPU资源。而基于内容的数据包过滤则节省了CPU资源,同样,不满足过滤条件的数据包不会在网络上出现,减轻了网络的负载。

图4 订阅者采用主题过滤后的CPU使用率Fig.4 Comparison of CPU utilization with topic filtering

3.3 系统的容错性

作战网络节点故障后恢复重新订阅,这时容易丢失在这段时间内发布的数据,RTI DDS将发送的数据保存在中间件中,用户只需要配置持续性(Durability)策略。

在测试系统中,持续性策略配置为永久保存,数据将会被永久的保存在数据库中,数据发布者提前发布数据包,发包速率为2包每秒,在发布者开始发包5 s后,订阅者开始接收数据包,发包量和收包量关系如图5所示。

通过对历史数据的配置,可以更好的实现整个系统对故障的容错能力,增强整个系统的鲁棒性。

图5 发包量总量和收包总量之间的关系Fig.5 Comparison of between sent and received packets

3.4 数据组包处理

在指控系统网络中可能存在一种数据,数据本身很小,却以很高的包率发送,数据对时间的不敏感,每个包在中间件和网络中分别发送,会重复消耗大量的网络带宽,造成网络拥塞[5]。RTI DDS提供了一种机制,将多个数据包组成一个大的数据包发送,这样就节约了重复的消耗。

当发现网络吞吐量远小于网络的最大带宽,同时CPU负载很高,这时需要使用组包机制。

使用组包机制,在应用程序发送小数据包的时候,中间件并不实际将其发送到网络,这容易造成潜在的数据延迟,但是如果,应用程序发送数据的速率远大于网络的物理吞吐量,这样一部分带宽还要用于对数据的确认和重发,这样无形的增加了网络的压力,造成延迟的增加,在这种情况下使用RTI DDS的组包机制,可以实现在增加网络吞吐量的同时减少数据延迟。

组包的结束可以设置不同的条件,比如样本的数量、组包的大小和第一包的时间,也可以手动结束组包并发送。

在仿真环境中分别设置组包结束条件为最大100包并且包大小最大值为8192字节,可以得到如图6所示的仿真结果。

图6 数据包大小和网络吞吐量的关系Fig.6 Relation between throughput and packet size

从仿真结果中可以看到,在发布者发布的数据包较小时,网络的吞吐量较小,组包的吞吐量远大于未组包的吞吐量,在数据包变大的过程的后段,组包的吞吐量变化不明显,而未组包的吞吐量急剧变大,这是因为包头的消耗比例减小。所以,对于较小的数据,采用组包机制能够明显的增大网络的吞吐量。

3.5 链路条件恶劣处理

在使用卫星或者长距离的无线链路时,高延迟、低带宽和高丢包率成为系统需要面对的问题。卫星的传输延迟可达0.5~1 s,带宽通常在500 kb/s以内,同时有3%左右的丢包率[6]。RTI DDS不仅实现了可靠的传输协议(类似于TCP),而且同时监控网络的状态,对网络状态的监控增强了对恶劣通信环境的适应性。

同时在指控系统中通过恶劣的传输环境通信,需要特别注意一些问题,需要注意的问题和RTI DDS适应性配置说明如下。

1)网络数据包的大小,分片会增加额外的网络流量。需要注意的是,网络数据包的大小不仅包括数据域的大小,还包括在序列化数据的时候为了对齐而补齐的数据。

2)确认和重发的效率,通信中确认活跃的心跳报文集成在数据报文中,成为捎带心跳。在RTI DDS通过配置捎带心跳的频率,可以让接收端中间件提前发现数据分片的丢失。

确保重发数据包不超过带宽限制。如果重发数据包的数量大于带宽限制,将造成网络拥塞,增大丢包率,降低网络吞吐量,需要在RTI DDS中通过设置单次重发数据包的总大小,来防止此类情况的发生。

3)对小数据包进行组包来提高吞吐量,需要注意组包的最大大小不能大于链路的MTU,如果大于链路的MTU,将会在造成可靠性传输的粒度上产生分片,分片会严重影响网络的吞吐量。

一个丢包率为3%的卫星链路典型的数据长度和带宽利用率之间的关系如图7所示。

图7 典型卫星链路包长度和带宽利用率关系Fig.7 Relation between band usage and packet size

图7中可以看出,随着数据包的增大,网络的有效吞吐量增大,但当增大到大于MTU时,数据包进行了分片,吞吐量急剧下降。在丢包率很大的时候,数据包的分片将造成未分包前数据包丢包率大大增加。在一个不可靠网络中(如UDP),一个分片的丢失将导致整个数据包不可用。在可靠网络中(如TCP),由于可靠机制造成的丢包也将大大增加丢包率,几乎导致整个包不可用。

为了解决这个问题,可靠机制保障不应该是整个数据包,而应该是传输过程中容易丢失的分片,也就是保障可靠性的粒度问题。

在QoS文件中设置DDS层的分片大小小于MTU,这样就会使数据包传输到IP层是已经不需要在进行分片了,保证了可靠性的粒度为DDS层的分片。

4 结 语

本文简要的介绍了DDS的概念,选择应用广泛的RTI DDS作为示例介绍了其体系结构,包括基本组件、相互关系及QoS配置。对于指挥控制系统这种典型是实时分布式系统,其信息共享需求的实现由于其特定的应用环境,有特定的需求,本文分析了指挥控制系统信息共享的需求,针对实际需求,基于RTI DDS的灵活的可配置性,提出了解决或者配置方法,为实际在指挥控制系统中使用DDS提供了参考。

[1] 王斌,林怀清,林海涛.战场态势数据分发技术研究[J].舰船电子工程,2011,31(05):9-11. WANG Bin,LIN Huai-qing,LIN Hai-tao.Research on the Distribution Technology for Battlefield Situation Data [J].Ship Electronic Engineering,2011,31(05):9-11.

[2] 杨传顺,王学万.实时数据分发系统的服务质量控制的研究[J].计算机技术与发展,2011,21(05):231-234. YANG Chuan-shun,WANG Xue-wan.Research on Quality of Service of Real-time Data Distribution System [J].Computer Technology and Development,2011,21 (05):231-234.

[3] 仲维亮,杨斌,雷国志.基于DDS的传输插件的性能比较和分析[J].通信技术,2013,46(03):13-15.

ZHONG Wei-liang,YANG Bin,LEI Guo-zhi.Comparison and Analysis on Performances of DDS Transmission Plug-ins[J].Communication Technology,2013,46 (3):13-15.

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

ZHANG Jun,YIN Xun-he.Design of Upgraded Data Distribution Service Middleware Based on RTI DDS[J].Journal of Beijing Jiaotong University,2011,35(5):31-37.

[5] 张强,李建华.基于发布/订阅的信息共享模型实时性能分析研究[J].军事运筹与系统工程,2013, 27(01):33-35.

ZHANG Qiang,LI Jian-hua.Research on the Performance of Information Sharing Model Based on Publish/Subscribe[J].Military Operations Research and System Engineering,2013,27(1):33-35.

[6] Real-Time Innovations.RTI Distribution Data Service User′s Manual Version 45c[EB/OL].(2010-01-01) [2014-06-18].http://www.rti.com/products/dds/ index.html.

Information Sharing Technology of DDS-based Command and Control System

LI Xian
(Jiangsu Automation Research Institute,Lianyungang Jiangsu 222006,China)

Information sharing of battlefield situation is an urgent problem for cooperative fight.Information sharing technology has a bearing on command efficiency and cooperative capability,including the precision of combating effect.DDS is an effective approach to achieve information sharing of real-time distributed system.This paper firstly describes the architecture of RTI DDS,including basic modules and QoS configuration.Then,in accordance with the information sharing requirement of command and control system,this paper points out the critical problems in information sharing process and proposes solutions to these problems.And experiment indicates that DDS could serve as an effective technique for information sharing in command and control system.

command and control system;information sharing;real-time distributed system;data distribution service

TN911

A

1002-0802(2014)11-1322-06

10.3969/j.issn.1002-0802.2014.11.017

2014-09-01;

2014-10-10 Received date:2014-09-01;Revised date:2014-10-10

李 贤(1986—),男,硕士,工程师,主要研究方向为军事通信技术。

LI Xian(1986-),male,M.Sci.,engineer,mainly engaged in the research of military communication technology.

猜你喜欢
数据类型分片中间件
上下分片與詞的時空佈局
降低跨分片交易回滚概率的多轮验证方案
如何理解数据结构中的抽象数据类型
基于模糊二分查找的帧分片算法设计与实现
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
基于SeisBase模型的地震勘探成果数据管理系统设计
线上众筹产品的特征分析与研究
相似度计算及其在数据挖掘中的应用
通用导弹雷达罩曲面分片展开系统的开发