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