
數據分發服務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
下一頁
下一頁