数据分发服务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 标准并不适用于所有的网络应用场景, 主要体现在以下两个方面:
……
-
文件大小: 849.8KB
下一页
下一页