神州普惠

数据分发服务DDS技术研究

  DDS (Data Distribution Service) 数据分发服务技术最早应用于美国海军, 用于解决舰船复杂网络环境中大量软件升级的兼容性问题, 目前已经成为美国国防部的强制标准。2003 年, DDS 被OMG 组织接受, 并发布了专门为实时系统设计的数据分发/订阅标准。DDS 目前已经广泛应用于国防、民航、工业控制等领域, 成为分布式实时系统中数据发布/订阅的标准解决方案。DDS 技术是基于以数据为核心的设计思想提出的, 定义了描述网络环境下数据内容、交互行为和服务质量要求的标准。DDS 以数据为核心的设计思想非常贴合如传感器网络、指挥信息网等应用场景, 其提供的数据传输模型能够很好地适应应用系统的开发需要。

  1 DDS 规范

  1.1 简介

  DDS 标准为OMG 组织发布的《Data Distribution Servicefor Real-time Systems》, 该规范标准化了分布式实时系统中数据发布、传递和接收的接口和行为, 定义了以数据为中心的发布-订阅(Data-Centric Publish-Subscribe) 机制, 提供了一个与平台无关的数据模型。

  DDS 规范描述了两个层次的接口,

  (1) 底层DCPS (Data- Centric Publish-Subscribe) 层:将正确的信息有效地传递给真正需要的接收者。

  (2) 可选的高层DLRL (Data Local Reconstruction Layer)层: 允许将服务简单地集成到应用层。

  1.2 发布/订阅模型

  DDS 将分布式网络中传输的数据定义为主题(Topic), 将数据的产生和接收对象分别定义为发布者(Publisher) 和订阅者(Subscriber), 从而构成数据的发布/订阅传输模型。各个节点在逻辑上无主从关系, 点与点之间都是对等关系, 通信方式可以是点对点、点对多、多对多等, 在QoS 的控制下建立连接, 自动发现和配置网络参数, 如图2 所示。

  

神州普惠

 

  DataWriter 和DataReader 与Publisher 和Subscriber 配合,实现Topic 的发布与接收, 如图3 所示。一个Publisher 是一个负责数据分发的对象, 可以发布不同数据类型的数据。应用程序通过DataWriter 通知Publisher给定类型的数据对象是否存在和具体数值。当Datawriter 将数据对象的值通知Publisher 后, Publisher 负责执行数据分发任务。一个发布应用就是通过Datawriter 和Publisher 的协同实现的。

  

神州普惠

 

  一个Subscriber 是负责接收发布的数据并使接收应用程序可以使用到数据的对象。为了访问收到的数据, 应用程序使用Subscriber 上绑定的DataReader 一个订阅应用就是通过DataReader 和Subscriber 的协同实现的。

  ……

  2 DDS 应用场景分析

  DDS 的设计思想是以数据为中心, 因此适用于以数据传输和处理为主要任务的网络环境, 如传感器网络, 不断地将采集到的数据传输到数据的订阅应用。由于DDS 提供了丰富的服务质量策略, 支持数据一对多、多对多等传输模式, 因此采用基于DDS 标准的中间件, 可以大大简化应用软件设计与开发工作量, 提升系统的设计水平和运行稳定性, 保证数据传输质量。

  以DDS 标准对网络数据进行建模, 能够将网络数据模型标准化, 包括数据的定义和QoS 策略, 能够满足应用程序的扩展和升级。当网络增加数据的发布者和订阅者时, 或者网络的发布者和订阅者软件升级时, 只要数据模型未发生改变,则可以有效保障兼容性。

  基于DDS 的数据分发设计也能够满足军事指挥系统的应用场景, 特别是战场态势的获取与发布。DDS 所支持的QoS 策略同时能够很好地满足战场态势信息传输的及时性和可靠性。DDS 标准并不适用于所有的网络应用场景, 主要体现在以下两个方面:

  ……