DDS (Data Distribution Service) 數(shù)據(jù)分發(fā)服務(wù)技術(shù)最早應(yīng)用于美國海軍, 用于解決艦船復雜網(wǎng)絡(luò)環(huán)境中大量軟件升級的兼容性問題, 目前已經(jīng)成為美國國防部的強制標準。2003 年, DDS 被OMG 組織接受, 并發(fā)布了專門為實時系統(tǒng)設(shè)計的數(shù)據(jù)分發(fā)/訂閱標準。DDS 目前已經(jīng)廣泛應(yīng)用于國防、民航、工業(yè)控制等領(lǐng)域, 成為分布式實時系統(tǒng)中數(shù)據(jù)發(fā)布/訂閱的標準解決方案。DDS 技術(shù)是基于以數(shù)據(jù)為核心的設(shè)計思想提出的, 定義了描述網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)內(nèi)容、交互行為和服務(wù)質(zhì)量要求的標準。DDS 以數(shù)據(jù)為核心的設(shè)計思想非常貼合如傳感器網(wǎng)絡(luò)、指揮信息網(wǎng)等應(yīng)用場景, 其提供的數(shù)據(jù)傳輸模型能夠很好地適應(yīng)應(yīng)用系統(tǒng)的開發(fā)需要。
1 DDS 規(guī)范
1.1 簡介
DDS 標準為OMG 組織發(fā)布的《Data Distribution Servicefor Real-time Systems》, 該規(guī)范標準化了分布式實時系統(tǒng)中數(shù)據(jù)發(fā)布、傳遞和接收的接口和行為, 定義了以數(shù)據(jù)為中心的發(fā)布-訂閱(Data-Centric Publish-Subscribe) 機制, 提供了一個與平臺無關(guān)的數(shù)據(jù)模型。
DDS 規(guī)范描述了兩個層次的接口,
(1) 底層DCPS (Data- Centric Publish-Subscribe) 層:將正確的信息有效地傳遞給真正需要的接收者。
(2) 可選的高層DLRL (Data Local Reconstruction Layer)層: 允許將服務(wù)簡單地集成到應(yīng)用層。
1.2 發(fā)布/訂閱模型
DDS 將分布式網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)定義為主題(Topic), 將數(shù)據(jù)的產(chǎn)生和接收對象分別定義為發(fā)布者(Publisher) 和訂閱者(Subscriber), 從而構(gòu)成數(shù)據(jù)的發(fā)布/訂閱傳輸模型。各個節(jié)點在邏輯上無主從關(guān)系, 點與點之間都是對等關(guān)系, 通信方式可以是點對點、點對多、多對多等, 在QoS 的控制下建立連接, 自動發(fā)現(xiàn)和配置網(wǎng)絡(luò)參數(shù), 如圖2 所示。
DataWriter 和DataReader 與Publisher 和Subscriber 配合,實現(xiàn)Topic 的發(fā)布與接收, 如圖3 所示。一個Publisher 是一個負責數(shù)據(jù)分發(fā)的對象, 可以發(fā)布不同數(shù)據(jù)類型的數(shù)據(jù)。應(yīng)用程序通過DataWriter 通知Publisher給定類型的數(shù)據(jù)對象是否存在和具體數(shù)值。當Datawriter 將數(shù)據(jù)對象的值通知Publisher 后, Publisher 負責執(zhí)行數(shù)據(jù)分發(fā)任務(wù)。一個發(fā)布應(yīng)用就是通過Datawriter 和Publisher 的協(xié)同實現(xiàn)的。
一個Subscriber 是負責接收發(fā)布的數(shù)據(jù)并使接收應(yīng)用程序可以使用到數(shù)據(jù)的對象。為了訪問收到的數(shù)據(jù), 應(yīng)用程序使用Subscriber 上綁定的DataReader 一個訂閱應(yīng)用就是通過DataReader 和Subscriber 的協(xié)同實現(xiàn)的。
2 DDS 應(yīng)用場景分析
DDS 的設(shè)計思想是以數(shù)據(jù)為中心, 因此適用于以數(shù)據(jù)傳輸和處理為主要任務(wù)的網(wǎng)絡(luò)環(huán)境, 如傳感器網(wǎng)絡(luò), 不斷地將采集到的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)的訂閱應(yīng)用。由于DDS 提供了豐富的服務(wù)質(zhì)量策略, 支持數(shù)據(jù)一對多、多對多等傳輸模式, 因此采用基于DDS 標準的中間件, 可以大大簡化應(yīng)用軟件設(shè)計與開發(fā)工作量, 提升系統(tǒng)的設(shè)計水平和運行穩(wěn)定性, 保證數(shù)據(jù)傳輸質(zhì)量。
以DDS 標準對網(wǎng)絡(luò)數(shù)據(jù)進行建模, 能夠?qū)⒕W(wǎng)絡(luò)數(shù)據(jù)模型標準化, 包括數(shù)據(jù)的定義和QoS 策略, 能夠滿足應(yīng)用程序的擴展和升級。當網(wǎng)絡(luò)增加數(shù)據(jù)的發(fā)布者和訂閱者時, 或者網(wǎng)絡(luò)的發(fā)布者和訂閱者軟件升級時, 只要數(shù)據(jù)模型未發(fā)生改變,則可以有效保障兼容性。
基于DDS 的數(shù)據(jù)分發(fā)設(shè)計也能夠滿足軍事指揮系統(tǒng)的應(yīng)用場景, 特別是戰(zhàn)場態(tài)勢的獲取與發(fā)布。DDS 所支持的QoS 策略同時能夠很好地滿足戰(zhàn)場態(tài)勢信息傳輸?shù)募皶r性和可靠性。DDS 標準并不適用于所有的網(wǎng)絡(luò)應(yīng)用場景, 主要體現(xiàn)在以下兩個方面:
……
更多詳情請訪問神州普惠官網(wǎng)!
新產(chǎn)品推薦:
AppDDS(Appsoft Data Distribution Service)是北京神州普惠科技股份有限公司根據(jù)對象管理組織(OMG)制定的DDS數(shù)據(jù)分發(fā)服務(wù)標準,經(jīng)過多年研發(fā)而成的分布式實時應(yīng)用開發(fā)平臺,AppDDS具備高帶寬、低延遲、低抖動、跨平臺等諸多優(yōu)異性能,包含底層通信協(xié)議、模型開發(fā)工具、網(wǎng)絡(luò)分析工具、性能測試工具等一系列工具集,可以方便用戶快速開發(fā)、測試、優(yōu)化及部署各種分布式實時應(yīng)用,AppDDS具備自主知識產(chǎn)權(quán),擁有國內(nèi)最強大的技術(shù)研發(fā)和技術(shù)服務(wù)專業(yè)團隊,成功案例眾多,客戶遍布航空、航天、電子、船舶、兵器等國防軍工行業(yè)