01
什么是DDS
DDS是一系列標(biāo)準(zhǔn),它指定了分布式應(yīng)用程序可用于交換實(shí)時(shí)數(shù)據(jù)的API、協(xié)議和安全機(jī)制。應(yīng)用程序所使用的軟件應(yīng)用程序編程接口(API)是基于一個(gè)安全的、服務(wù)質(zhì)量(QoS)感知的“以數(shù)據(jù)為中心的發(fā)布訂閱”(DCPS)模型。這意味著應(yīng)用程序只需要關(guān)注它們希望產(chǎn)生或使用的數(shù)據(jù),以及所需的QoS。DDS基礎(chǔ)設(shè)施負(fù)責(zé)處理其余的部分。由于DDS是作為一個(gè)“基礎(chǔ)設(shè)施”解決方案實(shí)現(xiàn)的,因此可以添加它作為任何軟件應(yīng)用程序的通信接口。
02
DDS的特點(diǎn)
數(shù)據(jù)中心(Data Centricity)
DDS最重要的特性是以數(shù)據(jù)為中心,這與其他許多通信中間件不同。DDS的數(shù)據(jù)共享以Topic為單元,應(yīng)用程序能夠通過(guò)Topic判斷包含的數(shù)據(jù)類型,而不必依賴其他上下文信息。同時(shí),DDS能夠按照用戶定義的方式自動(dòng)地存儲(chǔ)、發(fā)布或訂閱數(shù)據(jù),使應(yīng)用程序能夠像訪問(wèn)本地?cái)?shù)據(jù)一樣進(jìn)行數(shù)據(jù)的寫入或讀取。
DDS 數(shù)據(jù)中心
全局?jǐn)?shù)據(jù)空間(Global Data space)
DDS實(shí)現(xiàn)的數(shù)據(jù)共享可以被理解為一個(gè)抽象的全局?jǐn)?shù)據(jù)空間,無(wú)論應(yīng)用程序是用哪種開(kāi)發(fā)語(yǔ)言編寫,或者在哪種操作系統(tǒng)上運(yùn)行,都可以以相同的方式訪問(wèn)這個(gè)全局?jǐn)?shù)據(jù)空間,就像訪問(wèn)本地存儲(chǔ)空間一樣。當(dāng)然,全局?jǐn)?shù)據(jù)空間只是一個(gè)抽象概念,在實(shí)際實(shí)現(xiàn)中,數(shù)據(jù)仍然被分別存儲(chǔ)在每個(gè)應(yīng)用程序的本地空間中。在系統(tǒng)運(yùn)行時(shí),數(shù)據(jù)是按需傳輸或存儲(chǔ)的,數(shù)據(jù)的發(fā)布者只發(fā)送訂閱者需要的數(shù)據(jù),而訂閱者只接收并存儲(chǔ)本地應(yīng)用程序當(dāng)前所需的數(shù)據(jù)。
全局?jǐn)?shù)據(jù)空間
服務(wù)質(zhì)量(Quality of service)
DDS還提供了高度靈活的QoS(Quality of Service)策略,以滿足用戶對(duì)數(shù)據(jù)共享方式的不同需求,例如可靠性和故障處理等。對(duì)于對(duì)數(shù)據(jù)安全性要求較高的系統(tǒng),DDS還提供了精細(xì)的數(shù)據(jù)安全控制,包括應(yīng)用程序身份認(rèn)證、權(quán)限控制和數(shù)據(jù)加密等。
動(dòng)態(tài)發(fā)現(xiàn)(Dynamic Discovery)
類似于SOME/IP-SD,DDS提供了數(shù)據(jù)發(fā)布者和訂閱者的動(dòng)態(tài)發(fā)現(xiàn)機(jī)制,這意味著用戶無(wú)需手動(dòng)配置通信節(jié)點(diǎn)的地址或其他屬性信息,因?yàn)樗鼈冊(cè)谶\(yùn)行過(guò)程中會(huì)自動(dòng)發(fā)現(xiàn)對(duì)方并自動(dòng)完成相關(guān)配置,實(shí)現(xiàn)了即插即用的功能。
可擴(kuò)展架構(gòu)(Scalable Architecture)
DDS可應(yīng)用于邊緣計(jì)算、霧計(jì)算和云計(jì)算領(lǐng)域。在邊緣計(jì)算中,DDS可以實(shí)現(xiàn)高速實(shí)時(shí)的設(shè)備間通信。在中間系統(tǒng)中,DDS提供健壯可靠的QoS和內(nèi)容感知的信息流。DDS提供可擴(kuò)展的信息訪問(wèn)和數(shù)據(jù)分發(fā)手段,用于集成信息系統(tǒng),將各系統(tǒng)接入云端。
OMG DDS的適用范圍廣泛,涵蓋了從小型設(shè)備到云計(jì)算系統(tǒng)等超大型系統(tǒng)。DDS能夠以超高速傳輸數(shù)據(jù)并同時(shí)管理數(shù)千個(gè)數(shù)據(jù)對(duì)象,提供極高的可用性和安全性,非常適用于物聯(lián)網(wǎng)。通過(guò)提供一個(gè)標(biāo)準(zhǔn)的通信層,DDS屏蔽了底層復(fù)雜性,簡(jiǎn)化了分布式系統(tǒng)的開(kāi)發(fā)。
可擴(kuò)展架構(gòu)
安全(Security)
DDS為關(guān)鍵任務(wù)的工業(yè)物聯(lián)網(wǎng)環(huán)境提供了全面的安全保護(hù)機(jī)制,跨系統(tǒng)、跨供應(yīng)商,覆蓋從邊緣設(shè)備到云端的安全性需求。
DDS提供了身份驗(yàn)證、訪問(wèn)控制、數(shù)據(jù)加密和數(shù)據(jù)完整性等安全機(jī)制,以確保數(shù)據(jù)分發(fā)的安全性。這些安全機(jī)制是在點(diǎn)對(duì)點(diǎn)對(duì)等架構(gòu)上實(shí)現(xiàn)的,不會(huì)影響實(shí)時(shí)通信的性能。
與SOME/IP有什么區(qū)別
SOME/IP和DDS是目前在域控最常用的兩類通信中間件,它們都是面向服務(wù)的通信協(xié)議,并采用以數(shù)據(jù)為中心的發(fā)布/訂閱模式。然而,SOME/IP和DDS在許多方面也存在差異。
舉個(gè)例子:好比我們餓了,去飯店吃飯(讀取數(shù)據(jù))。SOME/IP這個(gè)飯店怎么營(yíng)業(yè)呢?
再看看DDS飯店是如何營(yíng)業(yè)的呢?
從上面兩個(gè)飯店我們可以看出,SOME/IP飯店需要在來(lái)客人后(取數(shù)據(jù)時(shí)),現(xiàn)做現(xiàn)賣,而DDS飯店,不會(huì)等客人來(lái),會(huì)做好所有的飯菜,當(dāng)客人來(lái)之后,直接就可以用(快餐)。如果客人不急,這兩個(gè)飯店都可以滿足客人的需求,但是當(dāng)客人很著急時(shí),DDS飯店就能為客人提供更好的服務(wù)。但是DDS也有一個(gè)問(wèn)題,提前做的飯菜(當(dāng)然數(shù)據(jù)不存在放壞的情況)得有地方放,沒(méi)放的地方就不行了——這個(gè)地方叫全局?jǐn)?shù)據(jù)空間。
整個(gè)DDS都是圍繞著這個(gè)全局?jǐn)?shù)據(jù)空間進(jìn)行設(shè)計(jì),全局?jǐn)?shù)據(jù)空間放在哪里,成為了設(shè)計(jì)中的關(guān)鍵。
03
總結(jié)
DDS為信息交換和應(yīng)用程序集成創(chuàng)建了一個(gè)簡(jiǎn)單而強(qiáng)大的體系結(jié)構(gòu)。它和SOME/IP存在直接的競(jìng)爭(zhēng)關(guān)系,但由于它們?cè)趹?yīng)用領(lǐng)域、靈活性和服務(wù)策略等方面存在差異,整車廠可以根據(jù)需求選擇適合的通信中間件,甚至可以同時(shí)使用二者。這也是為什么AUTOSAR AP既支持SOME/IP也支持DDS的原因。
審核編輯:劉清
-
QoS
+關(guān)注
關(guān)注
1文章
136瀏覽量
44892 -
DDS
+關(guān)注
關(guān)注
21文章
636瀏覽量
152941 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
363瀏覽量
21781 -
車載以太網(wǎng)
+關(guān)注
關(guān)注
18文章
226瀏覽量
23079
原文標(biāo)題:車載以太網(wǎng)——DDS篇
文章出處:【微信號(hào):談思實(shí)驗(yàn)室,微信公眾號(hào):談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論