基于DDS舰载火控系统通信
2016-06-28胡亚男程健庆何跃峰
胡亚男,程健庆,何跃峰
(江苏自动化研究所,江苏连云港 222061)
基于DDS舰载火控系统通信
胡亚男,程健庆,何跃峰
(江苏自动化研究所,江苏连云港222061)
摘要:针对舰载火控系统通信需求,提出基于DDS的舰载火控体系结构,实现了系统松耦合,同时满足了实时性要求。通过发布订阅服务的设计,基于默认QoS策略,分别使用内置数据类型和自定义数据类型实现舰载火控系统的发布订阅功能。通过可靠性QoS策略的配置分析其对系统实时性和可靠性的影响。测试结果表明,DDS在舰载火控系统中有广阔的应用前景。
关键词:DDS规范;舰载火控系统;发布/订阅模型;QoS策略
随着军事装备技术的提高,新的作战需求使舰载火控系统向综合化、网络化的方向发展。舰载火控系统除具备最基本的要求之外,还应当适应未来海上信息化作战的需求,既要保持和发挥单个武器平台的作战能力,更要发挥整个作战网络中的所有软硬武器的作战能力[1]。传统作战系统以点对点为通信模式,各种作战资源未能充分共享利用,很难适应信息化作战的一体化需求。
20世纪90年代开始,世界许多国家开始研制适应网络化作战的火控系统。从军事需求来讲,合理的火控系统必然要在数字化信息战争中方便使用,要适合于协同作战。为此,系统要网络化,便于作战时联网。将火控系统纳入网络作战,有利于其在更大范围内交互信息、图像数据。以数据为中心的发布订阅模型可以实现火控系统中资源的按需配置,提高信息共享能力[2]。
1舰载火控系统通信需求
综合分析国内外舰载火控系统的现状和发展趋势,舰载火控系统体系结构由集中式向分布式发展[3]。集中式火控系统结构图如图1所示。
图1 集中式火控系统体系结构
在集中式火控系统中,火控系统的目标跟踪控制、火控计算和射击控制等主要计算任务集中由一台或一组计算机来完成。
集中式火控系统数据传输以客户服务模型(Client-Server,C/S)为基础,如图2所示,客户端与服务端直接建立连接,客户端发送数据给服务端,服务端进行相应处理并将结果返回给客户端。这是一对多的体系结构,随着客户端节点的增加,服务端响应时间变长,从而出现性能瓶颈。而一旦服务端发生故障,整个系统将崩溃。
图2 C/S模型
发布订阅模型以数据为中心,如图3所示,客户之间的通信完全是通过中间件来实现的,客户分为发布者和订阅者,发布者发布数据,订阅者订阅数据,数据就在中间件中自动传递。在任意时刻,发布者/订阅者都无需知道对方是否存在,它们都是任意的,动态的。因此,发布订阅模型是松耦合的,提高了系统的灵活性[4]。
图3 发布/订阅模型
以发布订阅模型为基础的分布式火控系统,如图4所示,火控系统将独立功能分解到多个计算机中完成,通过DDS中间件实现信息交互和共享,实现了在物理位置上和功能上的分布。物理位置上的分布,是指各个计算机位于应用它的设备附近,不但可以缩短计算机与所控设备的连线,更可以提高生存性;功能上的分布,是指位于不同位置上的计算机独自完成所划分的相对独立的单一功能。
图4 基于DDS分布式火控系统体系结构
基于DDS分布式火控系统体系结构的优点主要有以下几个方面:
1)DDS的应用,使得系统信息资源可以充分共享;
2)系统的通道组织非常灵活,具有较强的系统重构能力和任务动态分配能力,有效提高了系统的可靠性和生命力;
3)系统的模块化程度高,便于扩充、裁剪和设备的更换;
4)可缩短研制周期,降低系统研制成本。
2DDS规范
数据分发服务规范(Data Distribution Service, DDS)由OMG(Object Management Group,对象管理组织)发布。该规范基于发布/订阅模型,它将分布式通信系统分为两部分:数据发布者和数据订阅者。
DDS采用全局数据空间代替中心服务器,用来管理整个分布式系统中的发布、订阅、节点信息的维护。所有的数据对象都存在于全局数据空间中,分布式节点通过简单的读/写就可以访问数据对象。
2.1DDS实体
在DDS规范中,域是创建、删除和管理其他DDS对象的核心点,只有属于相同DDS域的应用才能互相通信。数据通过主题被区分,主题连接数据写入者和数据读取者。发布者拥有并控制写入者,一个写入者只能被一个发布者所拥有,一个发布者可以有多个写入者。订阅者拥有并控制读取者,一个读取者只能被一个订阅者所拥有,一个订阅者可以有多个读取者。每个实体都可以通过设置监听者来监听实体的状态,当实体状态改变时,监听者可通知实体进行相应的处理。DDS各实体之间的关系如图5所示。
图5 DDS各实体之间的关系
2.2内置数据类型与自定义数据类型
DDS提供内置在中间件中的标准数据类型,这些类型可以立即被使用。内置类型包括:字符串型(String,KeyedString),二进制型(Octects,KeyedOctets)。在创建参与域的时候内置数据类型就自动被创建了。使用内置类型进行发布订阅时,无需注册数据类型,可直接调用内置函数进行数据写入者和读取者的类型约束。
自定义数据类型是指将所要发布订阅的主题的数据结构全部置于idl文件中,并使用生成工具生成相关的配置文件。在这些配置文件中,定义了发布订阅过程中所需的函数。使用自定义数据类型进行发布订阅时,需按照数据结构名注册数据类型。
2.3QoS策略
QoS是指一系列可控制DDS服务行为的特性集合,它由独立的QoS策略组成,是DDS规范的最大亮点。依赖于这些QoS策略,DDS能够有效地控制和管理网络带宽、内存空间等资源的使用,控制数据的生存时间、可靠性和实时性。
发布订阅过程中,发布方与订阅方不仅主题需要匹配,QoS策略也需匹配。匹配并不一定是指双方QoS策略完全相同,而是指逻辑上的合理性。以可靠性(Reliability)策略的设置为例,可靠性策略可设置为尽量发送(best-effort)或可靠发送(reliability),若发布方订阅方都设置为尽量发送或可靠发送,则双方可通信;若发布方设置为可靠发送,订阅方设置为尽量发送,双方也可通信;若发布方设置为尽量发送,而订阅方设置为可靠发送,则双方不能通信[5]。
虽然在DDS标准中制订了几十种类型的QoS策略,但在实际应用中,若对每一个QoS策略进行实现,将增加系统的复杂性,影响系统性能,因此需根据实际情况选择QoS策略进行配置。
3基于DDS舰载火控系统通信设计
3.1发布订阅功能设计
DDS模块主要由发布服务和订阅服务组成,发布者发布相关主题的数据样本,订阅者在主题名、数据结构以及QoS策略与发布者匹配的情况下订阅主题。
发布服务的实现主要分为以下几个步骤:
1)创建域参与者
sect1icipant=DDS-Domainsect1icipantFactory-create-sect1icipant()
2)注册数据类型
retcode=structTypeSupport-register-type()
3)创建主题
topic=DDS-Domainsect1icipant-create-topic()
4)创建发布者
publisher=DDS-Domainsect1icipant-create-publisher()
5)创建写入者
datawriter=DDS-Publisher-create-datawriter()
6)约束写入者类型
structwriter=structDataWriter-narrow()
7)数据分发
retcode=structDataWriter-write()。
订阅服务的实现步骤1)、2)、3)与发布服务相同。订阅方在接收到数据时,监听者会调用相关函数来处理,因此需提前定义好调用的函数,具体如下:
1)创建域参与者
2)注册数据类型
3)创建主题
4)创建订阅者
subscriber=DDS-Domainsect1icipant-create-subscriber()
5) 定义监听者的on-data-available()函数,在函数中约束读取者类型
structreader=structDataReader-narrow()
6) 创建读取者
datareader=DDS-Subscriber-create-datareader()
7)数据接收,调用on-data-available()函数。
当使用内置形式进行发布订阅时,跳过发布服务与订阅服务中的步骤2),其余步骤中的struct需改为内置类型,如string等。
3.2实时性性能测试算法
舰载火控系统对实时性要求非常高,数据传输通常要求达到毫秒级,因此,需对基于DDS的舰载火控系统的实时性进行测试,观察是否能满足实时性性能需求。
文献[6]采用节点1发送数据样本,节点2接收到样本后发送应答消息的方法,计算出样本传输的时延。这种方法需先计算出应答消息的传输时间。本文在这种方法的基础上,提出一种新的算法。
节点1发送id=0的数据样本,节点2接收到样本之后立刻发送同样的id=0的样本并记录此时的时戳,节点1接收到之后发送id=1的样本,节点2接收到样本后立刻发送同样的id=1 样本并记录时戳,以此类推,重复n次,直至节点2接收到id=n的样本。节点2根据每个样本到达时的时戳计算出时延平均值并筛选出最大值。算法的具体流程如图6所示。
图6 实时性测试算法流程图
4仿真测试
为了验证基于DDS的舰载火控系统的发布订阅功能以及实时性性能,搭建了图7所示的仿真环境。
图7 仿真环境
4.1发布订阅功能测试
节点1、2、3通过交换机相连接,在创建发布订阅服务时都使用默认的QoS策略,它们之间进行数据交换的主题分别为“导航信息”,“目标信息”以及“武器打击命令”。导航信息与目标信息的数据结构均包括批号、经度、纬度、航速和航向;武器打击命令的数据结构包括武器类型、武器编号以及所打击的目标批号。三个节点发布订阅功能如表1所示。
表1 各节点发布订阅的主题
分别使用二进制内置类型(Octets)和自定义类型发布订阅,二者结果相同:
1)各节点均能完成表1所示的发布订阅功能;
2)当节点1退出时,节点2依然能接收到武器打击命令,节点3不能接收到导航信息但能接收到目标信息。节点1重新开启时,节点1,2,3依然能完成表1所示的发布订阅功能。
由上述结果可以看出,使用内置类型和自定义类型均可以完成发布订阅功能,在实际应用中,用户可根据需求选择不同的数据类型发布订阅;基于DDS的舰载火控系统具有良好的松耦合性,节点可以动态地加入和退出。
4.2实时性性能测试
采用本文中的实时性测试算法,同样使用图7的仿真环境,节点1发布不同字节大小的报文,发送1000次,节点2接收报文并记录时戳计算时延,节点3作为备用节点。节点1,2的可靠性QoS策略分别同时设置为尽量发送与可靠发送,节点2计算出的时延如图8、9所示,测试所得丢包率如表2所示。
图8 可靠发送与尽量发送平均时延
图9 可靠发送与尽量发送最大时延
尽量发送可靠发送丢包率0.1%0
由图8、9结果可以看出,随着报文字节的增加,系统传输报文时延的平均值以及最大值都在增加。发送的报文为1024个字节时,最大时延也在500μs以内。在舰载火控系统中,传输的报文通常小于1024个字节,因此,基于DDS的舰载火控系统通信时延能控制在1ms以内,满足了实时性的需求。
综合表2可以发现,可靠发送模式下的平均时延和最大时延都比尽量发送模式下的长,但是可靠发送没有发生丢包的情况,尽量发送存在丢包的可能性。在舰载火控系统中,二者应相互结合使用。
传输实时性要求较高以及周期性发送的数据如导航信息、目标信息等,发送模式应为“尽量发送”;而传输控制命令如武器打击命令等则需要“可靠发送”。
5结束语
本文针对舰载火控系统的通信需求,提出了基于DDS的舰载火控系统通信,不仅能够实现系统松耦合,还满足了系统的实时性需求。在进一步的工作中,还需对其他QoS策略进行设计并实现,以更好地满足舰载火控系统的需求。
参考文献:
[1]本书编写组.现代舰艇火控系统[M].北京:国防工业出版社,2008.
[2]张珺,尹逊和.基于RTI DDS的数据分发中间件的升级设计[J].北京交通大学学报,2011,35(5):31-37.
[3]王海川.舰艇火控系统的现状与发展设想[J].指挥控制与仿真,2007,29(1):1-6.
[4]曹万华,谢蓓,吴海昕,等.基于DDS的发布/订阅中间件设计[J].计算机工程,2007,33(18):78-83.
[5]杨鑫辉,张慧翔.基于DDS的异构网络数据分发方法研究[J].计算机技术与发展,2014,24(11):57-61.
[6]冯国良.基于DDS的数据分发中间件的设计与实现[D].南京:南京航空航天大学,2011.
Communication of Ship Fire Control System Based on DDS
HU Ya-nan, CHENG Jian-qing, HE Yue-feng
(Jiangsu Automation Research Institute, Lianyungang 222061, China)
Abstract:Ship fire control structure based on DDS is proposed according to the need of communication of ship fire control system. The system is loosely-coupled and the real-time requirement is satisfied. By the design of publish and subscribe services,built-in and user-defined data types are both used to disseminate data based on default QoS policies. By configuring the reliability QoS policy,its effect on the reliability and real-time capabilities of the system is illustrated. The result of simulation proves that DDS can be furtherly used in ship fire control system
Key words:DDS standard; ship fire control system; publish/subscribe model; QoS policies
文章编号:1673-3819(2016)03-0059-04
收稿日期:2016-01-22
作者简介:胡亚男(1993-),女,江苏连云港人,硕士研究生,研究方向为DDS通信技术。 程健庆(1966-),男,研究员,硕士生导师。 何跃峰(1981-),男,高级工程师。
中图分类号:TJ630.3+4;E917
文献标志码:A
DOI:10.3969/j.issn.1673-3819.2016.03.011
修回日期: 2016-02-24