神州普惠

數據分發服務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 标準并不适用于所有的網絡應用場景, 主要體現在以下兩個方面:

  ……