日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車測(cè)試網(wǎng)

    • 在線課堂

    • 電車測(cè)試

車載以太網(wǎng)中的DDS和SOME/IP有什么區(qū)別?

2024-10-28 09:17:08·  來源:汽車電控知識(shí)  
 

軟件中的中間件是指位于應(yīng)用程序基礎(chǔ)軟件之間的軟件層,基礎(chǔ)軟件主要是指操作系統(tǒng)、網(wǎng)絡(luò)或數(shù)據(jù)庫等。中間件使應(yīng)用程序和網(wǎng)絡(luò)通信之間解耦,使得應(yīng)用程序的編寫更加靈活

之前我們介紹過的SOME/IP就是車載網(wǎng)絡(luò)中使用的一種中間件,SOME/IP是Scalableservice-Oriented MiddlewarE over IP的縮寫,表示“運(yùn)行于IP之上的可擴(kuò)展的面向服務(wù)的中間件”。

SOME/IP是最早應(yīng)用在汽車上的通信中間件,但是汽車上可用的中間件不只有SOME/IP,還有DDS,那么DDS協(xié)議有什么特點(diǎn),它與SOME/IP有什么區(qū)別呢?

1.DDS簡(jiǎn)介

隨著SOA在汽車領(lǐng)域的發(fā)展和運(yùn)用,面向服務(wù)的通信中間件SOME/IP標(biāo)準(zhǔn)協(xié)議被引入到軟件架構(gòu)標(biāo)準(zhǔn)中。

但是隨著軟硬解耦、軟軟解耦的進(jìn)一步發(fā)展,應(yīng)用和服務(wù)之間除了服務(wù)能力的提供,還出現(xiàn)數(shù)據(jù)共享的需求。DDS正是以數(shù)據(jù)為中心的通信中間件,用Topic為單元實(shí)現(xiàn)數(shù)據(jù)的共享,按照用戶定義的方式存儲(chǔ)、發(fā)布和訂閱數(shù)據(jù),支持運(yùn)行在不同系統(tǒng)上,不同開發(fā)語言的應(yīng)用可以分布式的互相收發(fā)數(shù)據(jù)。

DDS是DataDistribution Service的縮寫,表示數(shù)據(jù)分發(fā)服務(wù)。它是由OMG聯(lián)盟在2004年發(fā)布的中間件協(xié)議標(biāo)準(zhǔn)。

它將應(yīng)用程序從操作系統(tǒng),網(wǎng)絡(luò)傳輸和低級(jí)數(shù)據(jù)格式的詳細(xì)信息中抽象出來,以接口定義語言模式提供了支持多種編程語言的API,用于協(xié)調(diào)和管理不同軟件組件之間的通信和交互。使不同應(yīng)用程序可以在不同的環(huán)境中進(jìn)行交換信息。目的是支持高性能、實(shí)時(shí)和可靠的數(shù)據(jù)傳輸。

DDS 被廣泛應(yīng)用在航空航天、船舶、軍事、工業(yè)、醫(yī)療、交通、能源等領(lǐng)域中。

2.DDS的特點(diǎn)

DDS管理了數(shù)據(jù)格式、發(fā)現(xiàn)、連接、可靠性、協(xié)議、傳輸選擇、QoS、安全性等底層細(xì)節(jié)。提供豐富的QoS(Quality of Service)服務(wù)質(zhì)量策略,可滿足各種分布式系統(tǒng)實(shí)時(shí)通信的低延遲、高可靠性、可擴(kuò)展性的需求。

DDS主要具備以下幾個(gè)特點(diǎn):

1)以數(shù)據(jù)為中心的發(fā)布訂閱模型

分布式通信系統(tǒng)中常用的主要有兩種模型,一種叫客戶端-服務(wù)器模型。

客戶端(Client)-服務(wù)器(Server)模型中,客戶端直接向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器處理請(qǐng)求后返回結(jié)果給客戶端??蛻舳撕头?wù)器之間需要建立直接的連接,客戶端需要知道服務(wù)器的地址和端口,服務(wù)器也需要知道客戶端的請(qǐng)求。

客戶端-服務(wù)器模型的特點(diǎn)是數(shù)據(jù)都集中在了服務(wù)器server上,服務(wù)器把算法和數(shù)據(jù)封裝成標(biāo)準(zhǔn)接口,客戶端client通過請(qǐng)求-響應(yīng)機(jī)制來調(diào)用接口,也就是遠(yuǎn)程過程調(diào)用RPC的方式,SOME/IP就是基于客戶端-服務(wù)器模型。

圖片

客戶端-服務(wù)器模型

客戶端-服務(wù)器模型適合數(shù)據(jù)集中且數(shù)據(jù)流向明確的系統(tǒng),適用于需要直接交互的場(chǎng)景,即需要直接控制和管理的系統(tǒng),比如文件服務(wù)器系統(tǒng)、郵件系統(tǒng)、數(shù)據(jù)庫訪問等。

另外一種模型,叫發(fā)布(Publisher)-訂閱(Subscriber)模型。在這種模型中,發(fā)布者將數(shù)據(jù)以主題Topic為單位發(fā)送消息到代理,代理負(fù)責(zé)將消息路由到所有訂閱該主題的訂閱者。發(fā)布者和訂閱者之間不需要建立直接的聯(lián)系,發(fā)布者發(fā)送消息時(shí)不需要知道訂閱者是否存在,訂閱者訂閱主題時(shí)也不需要知道發(fā)布者的具體信息。DDS就是基于發(fā)布-訂閱模型。

圖片

發(fā)布-訂閱模型

由于發(fā)布(Publisher)-訂閱(Subscriber)模型中系統(tǒng)的組件可以獨(dú)立運(yùn)行,不需要直接連接,所以適用于需要松耦合通信的場(chǎng)景,如消息隊(duì)列、事件驅(qū)動(dòng)架構(gòu)、通知服務(wù)等,更適合分布式系統(tǒng)。

DDS以數(shù)據(jù)為中心,可以實(shí)現(xiàn)高效的數(shù)據(jù)傳輸和共享。數(shù)據(jù)發(fā)布者將數(shù)據(jù)發(fā)布到DDS網(wǎng)絡(luò)中,訂閱者可以選擇訂閱感興趣的數(shù)據(jù),并接收到相應(yīng)的數(shù)據(jù)更新。與SOME/IP的面向服務(wù)相比,DDS面向數(shù)據(jù),顆粒度小,靈活性強(qiáng)。

2)支持多種QoS(Quality of Service)策略

DDS支持多達(dá)22種QoS策略,用于定義數(shù)據(jù)傳輸?shù)馁|(zhì)量要求??梢愿鶕?jù)具體應(yīng)用需求進(jìn)行配置和調(diào)整,以滿足不同的性能和可靠性要求。而SOMEIP是不支持QoS的。

3)大規(guī)模的可擴(kuò)展性

DDS具備大規(guī)模的可擴(kuò)展性,能夠適應(yīng)復(fù)雜的分布式系統(tǒng)和大量的數(shù)據(jù)交換。它支持靈活的拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)間的動(dòng)態(tài)發(fā)現(xiàn),可以方便地?cái)U(kuò)展和集成新的節(jié)點(diǎn)和功能。

4)較好的安全性

DDS提供了一系列的安全機(jī)制,用于保護(hù)數(shù)據(jù)的傳輸和存儲(chǔ)。它支持?jǐn)?shù)據(jù)加密、身份驗(yàn)證、訪問控制等安全特性,可以有效地防止數(shù)據(jù)泄露和未經(jīng)授權(quán)的訪問。

隨著汽車電子系統(tǒng)對(duì)車內(nèi)通信傳輸性能、安全性和靈活性提出更高要求,越來越多的OEM開始采用DDS作為通信解決方案。

3.DDS協(xié)議

DDS標(biāo)準(zhǔn)可以分為4個(gè)部分:核心標(biāo)準(zhǔn)、擴(kuò)展標(biāo)準(zhǔn)、網(wǎng)關(guān)標(biāo)準(zhǔn)和API標(biāo)準(zhǔn)。其中,核心標(biāo)準(zhǔn)包括了4個(gè)協(xié)議:

1)DDS:主要描述了DCPS模型和QoS策略

2)DDSI-RTPS:定義了DDS基于有線傳輸?shù)耐ㄐ判袨?、?bào)文格式等內(nèi)容

3)DDS-XTYPES:描述了數(shù)據(jù)的序列化表示及Type System

4)DDS-SECURITY:描述了四類security策略,如認(rèn)證、數(shù)據(jù)加密等

本文主要介紹下核心標(biāo)準(zhǔn)中最基本的DDS協(xié)議。

3.1 DCPS

DCPS(Data-CentricPublish-Subscribe)模型定義了應(yīng)用程序在DDS中發(fā)布和訂閱數(shù)據(jù)對(duì)象的功能。

DCPS由域(Domian)、參與者(Participant)、發(fā)布者(Publisher)、訂閱者(Subscriber)、數(shù)據(jù)寫入者(DataWriter)、數(shù)據(jù)讀取者(DataReader)、主題(Topic)、監(jiān)聽器(Listener)等實(shí)體(Entity)組成。

域(Domian)是DDS的基本結(jié)構(gòu),是一個(gè)邏輯上的概念,由唯一的DomianID標(biāo)識(shí)。域是基于不同的應(yīng)用需求、安全性要求或其他特定的業(yè)務(wù)需求將不同的數(shù)據(jù)通信劃分為不同的區(qū)域。只有在同一個(gè)域內(nèi)的通信實(shí)體才能通信(交互數(shù)據(jù))。不同域的應(yīng)用實(shí)體,不能通信。

參與者(Participant)表示在特定域中的一個(gè)實(shí)體,也是服務(wù)的入口點(diǎn),應(yīng)用程序如果要發(fā)布、訂閱數(shù)據(jù),只有獲取Domian Participant以后,方能創(chuàng)建、刪除或者管理實(shí)體。即它是數(shù)據(jù)的發(fā)布者、訂閱者和主題的創(chuàng)造者及管理者,負(fù)責(zé)管理DDS中的實(shí)體對(duì)象和通信配置。

發(fā)布者(Publisher)用來獲取發(fā)布數(shù)據(jù),并將其發(fā)布到對(duì)應(yīng)的域中。發(fā)布者負(fù)責(zé)將數(shù)據(jù)發(fā)布到特定的主題(Topic)中,發(fā)布者Publisher作為發(fā)送方,可以包含一個(gè)或者多個(gè)DataWriter。

訂閱者(Subscriber)接收發(fā)布者Publisher發(fā)布的數(shù)據(jù),并將其傳遞給對(duì)應(yīng)的上層應(yīng)用實(shí)體。訂閱者通過訂閱相關(guān)主題(Topic)來接收所需的數(shù)據(jù)。訂閱者作為接收方至少包含一個(gè)DataReader。

主題Topic是DCPS中定義數(shù)據(jù)傳輸?shù)倪壿嫹诸惡徒M織單元。它可以看作是一種數(shù)據(jù)的標(biāo)簽,用于區(qū)分不同類型的數(shù)據(jù)。

主題主要由Name(名稱)和Type(類型)構(gòu)成,本質(zhì)是網(wǎng)絡(luò)中待傳輸?shù)臄?shù)據(jù)。Topic Name是一個(gè)字符串,且在Domian內(nèi)唯一標(biāo)識(shí);Topic Type是數(shù)據(jù)類型定義,每個(gè)主題類型可以指定對(duì)應(yīng)的Key,用于區(qū)分相同Topic的不同實(shí)例。

DCPS通信的模型中,DataWriter和DataReader的Topic必須一致,才能建立連接。

數(shù)據(jù)寫入者(DataWriter)負(fù)責(zé)將數(shù)據(jù)寫入到特定的主題中,上層的應(yīng)用程序如果要發(fā)送數(shù)據(jù),需要通過DataWriter,將特定的Topic寫入指定類型的接口。DataWriter對(duì)數(shù)據(jù)編碼,通過Publisher傳輸。一個(gè)DataWriter必須和一個(gè)Topic綁定。

數(shù)據(jù)讀取者(DataReader)負(fù)責(zé)從主題中讀取相應(yīng)的數(shù)據(jù)。Subscriber通過DataReader從綁定的Topic中獲取數(shù)據(jù),然后傳遞給應(yīng)用程序。一個(gè)DataReader可以綁定多個(gè)Topic。

它們之間的關(guān)聯(lián)關(guān)系如下圖所示:

圖片

DCPS關(guān)系原理圖

圖中的結(jié)構(gòu)看起來比較復(fù)雜,我們先化繁為簡(jiǎn),首先要知道DCPS的最基本的原理就是"Publisher"發(fā)布者將"Topic"主題發(fā)布出來,而"Subscriber"訂閱者則對(duì)感興趣的主題進(jìn)行訂閱。

其中的"Topic"主題代表了一類數(shù)據(jù)的集合,用于標(biāo)識(shí)一組相關(guān)的數(shù)據(jù)。這些數(shù)據(jù)是哪來的?或者說Publisher發(fā)布者首先是怎么獲得數(shù)據(jù)的呢?

發(fā)布信息時(shí),數(shù)據(jù)是通過"DataWriter"傳遞給"Publisher"的。而對(duì)于"Subscriber",當(dāng)訂閱數(shù)據(jù)后,需要通過"DataReader"來訪問和接收具體的數(shù)據(jù)。

圖片

發(fā)布-訂閱原理框圖

這里需要注意的是,1個(gè)"DataWriter"或"DataReader"只能對(duì)應(yīng)1個(gè)"Publisher"或"Subscriber",也可以理解成前者是由后者創(chuàng)造的,而1個(gè)"Publisher"/"Subscriber"可以創(chuàng)造多個(gè)"DataWriter"/"DataReader"。當(dāng)我們想發(fā)布不同的"Topic"時(shí),可以使用不同的"DataWriter"來向發(fā)布者傳遞數(shù)據(jù)。

當(dāng)系統(tǒng)中有很多的"Publisher", "Subscriber", "Topic"時(shí),DCPS模型還會(huì)使用全局?jǐn)?shù)據(jù)空間GDS(GlobalData Space)。全局?jǐn)?shù)據(jù)空間是一個(gè)集中存儲(chǔ)和管理所有數(shù)據(jù)對(duì)象的共享空間。一個(gè)全局?jǐn)?shù)據(jù)空間即一個(gè)DDS域(DDS Domain),DDS域是一個(gè)邏輯上的容器。具體會(huì)由域中的參與者Participant來負(fù)責(zé)創(chuàng)建和管理"Publisher","Subscriber","Topic"。

對(duì)于訂閱方來說,DDS還提供了以下兩種基礎(chǔ)策略:

1)Listen(監(jiān)聽):訂閱者可以使用監(jiān)聽方式來接收數(shù)據(jù)。它會(huì)一直等待,直到接收到數(shù)據(jù)為止。這種方式是阻塞型的,即訂閱者在接收到數(shù)據(jù)之前會(huì)一直等待。

2)StatusCondition(狀態(tài)條件):使用Condition和Waitset(條件和等待集),訂閱者可以實(shí)現(xiàn)異步數(shù)據(jù)訪問??梢詾橐粋€(gè)或多個(gè)條件對(duì)象設(shè)置條件,然后等待條件滿足或特定事件發(fā)生。這種方式是非阻塞的,訂閱者可以繼續(xù)執(zhí)行其他操作,而不必一直等待。

通過選擇適當(dāng)?shù)牟呗?,訂閱者可以根?jù)不同的需求進(jìn)行數(shù)據(jù)訪問和處理。監(jiān)聽方式適用于需要及時(shí)響應(yīng)并處理數(shù)據(jù)的場(chǎng)景,而條件和等待集方式適用于需要異步處理數(shù)據(jù)或等待特定條件發(fā)生的場(chǎng)景。

3.2 QoS服務(wù)質(zhì)量

QoS(Quality of Service)是一種用于確定通信系統(tǒng)中信息傳輸質(zhì)量的策略。QoS策略用于滿足不同應(yīng)用場(chǎng)景下對(duì)信息交互的特殊需求。

通過定義和配置一系列QoS參數(shù)和策略,能夠在數(shù)據(jù)傳輸過程中實(shí)現(xiàn)對(duì)帶寬、延遲、可靠性和安全性等的控制和優(yōu)化。

圖片

QoS服務(wù)質(zhì)量

用戶可以通過設(shè)置QoS策略來控制數(shù)據(jù)在應(yīng)用程序之間共享的方式,如可靠性,周期等,以滿足不同場(chǎng)景下應(yīng)用程序?qū)δ芎托阅艿男枨蟆?

目前,DDS提供了22種不同的QoS策略,它們可以獨(dú)立或組合使用。

圖片

QoS部分策略表

表格中最左側(cè)的一列是QoS的策略名稱。

第二列Concerns表示QoS可為哪些實(shí)體配置,包括:Topic, DataWriter,DataReader, Publisher, Subscriber, 和DomainParticipant。

第三列的RxO表示是否兼容設(shè)置。YES表示通信兩端要求兼容,也就是兩端必須設(shè)置一致才能通信。NO表示可獨(dú)立配置,N/A表示該QoS只在一端配置,不存在兼容的問題。

最后一列的Changeable表示實(shí)體Entity創(chuàng)建后是否可改變QoS配置,也就是運(yùn)行時(shí)是否可改變此策略。

我們以QoS中的幾個(gè)策略為例來介紹下它的功能。


  • 1)DURABILITY(持久性)


  • DURABILITY策略用于確定數(shù)據(jù)的存儲(chǔ)方式??稍O(shè)置為VOLATILE、TRANSIENT_LOCAL、TRANSIENT和PERSISTENT。

    "VOLATILE"為默認(rèn)值,表示數(shù)據(jù)不進(jìn)行永久儲(chǔ)存,僅提供給現(xiàn)有的訂閱者。也就是說如果某個(gè)節(jié)點(diǎn)因?yàn)閱?dòng)慢或者通信故障,錯(cuò)過了之前的數(shù)據(jù),則不會(huì)再收到此數(shù)據(jù)。

    "TRANSIENT_LOCAL",表示數(shù)據(jù)會(huì)保存在DataWriter的本地內(nèi)存中,這樣后加入的訂閱者也能收到數(shù)據(jù)。

    "TRANSIENT"表示由GDS保存數(shù)據(jù),即使本地出現(xiàn)故障,訂閱者也可以收到數(shù)據(jù)。

    "PERSISTENT"表示由GDS永久保存,即使節(jié)點(diǎn)重啟也不會(huì)丟失。

    在車載通信系統(tǒng)中,Durability可以確保重要數(shù)據(jù)在異常情況下不會(huì)丟失。同時(shí),持久性存儲(chǔ)還可以支持?jǐn)?shù)據(jù)的歷史記錄和回放,為數(shù)據(jù)分析、故障排查等提供有力支持。

    SOME/IP也有重新獲取數(shù)據(jù)的機(jī)制,但是只能從服務(wù)器去獲取,如果服務(wù)端有故障,就無法獲取。所以DDS的Durability策略更安全可靠,當(dāng)然永久保存會(huì)占用大量存儲(chǔ)空間,要根據(jù)需求設(shè)置。

    2)LIFESPAN(有效期)

    這個(gè)策略表示數(shù)據(jù)采集的有效時(shí)間,默認(rèn)為永久。在車載通信中,有些數(shù)據(jù)變化慢,有效期長,比如電源模式、門開狀態(tài)等;有些數(shù)據(jù)變化很快,有效期很短,比如轉(zhuǎn)速、車速、雷達(dá)等數(shù)據(jù)。變化快的數(shù)據(jù)就需要將LIFESPAN的值設(shè)置的小一些,比如200ms,超過這個(gè)有效時(shí)間的數(shù)據(jù)就無效了。

    3)RELIABILIT(可靠性)

    這個(gè)策略用于確保數(shù)據(jù)傳輸?shù)目煽啃?。它可以設(shè)置為"BEST_EFFORT"或"RELIABLE"。

    BEST_EFFORT表示盡力送達(dá),不保證可靠傳輸,數(shù)據(jù)可能會(huì)丟失或重復(fù),適用于某些實(shí)時(shí)性要求較高的應(yīng)用場(chǎng)景。

    RELIABLE表示可靠送達(dá),可以保證數(shù)據(jù)的傳輸和接收的可靠性。數(shù)據(jù)不會(huì)丟失,確保所有訂閱者都可以接收到相同的數(shù)據(jù)。

    由于以太網(wǎng)的傳輸層并不可靠,有可能發(fā)生數(shù)據(jù)丟失后重傳,如果重傳的數(shù)據(jù)太多,占用帶寬太大,也會(huì)導(dǎo)致新的數(shù)據(jù)也無法發(fā)送。所以可靠送達(dá)是有代價(jià)的,要根據(jù)系統(tǒng)資源和數(shù)據(jù)對(duì)延時(shí)和可靠性的實(shí)際需求來設(shè)置。

    4)PARTITION(分區(qū))

    這個(gè)策略通過一組字符串來定義發(fā)布者和訂閱者的分區(qū)。分區(qū)是一種邏輯上的劃分,用于將數(shù)據(jù)發(fā)布者和數(shù)據(jù)訂閱者按照一定的規(guī)則進(jìn)行分組。當(dāng)發(fā)布者和訂閱者使用相同的分區(qū)標(biāo)識(shí)符時(shí),它們將進(jìn)行匹配并允許進(jìn)行數(shù)據(jù)交互。這樣可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的精確過濾,實(shí)現(xiàn)靈活的數(shù)據(jù)管理。

    PARTITION的原理類似于VLAN,但是它比VLAN靈活,VLAN是靜態(tài)配置,而它是可以動(dòng)態(tài)配置的。

    5)DEADLINE時(shí)效性

    這個(gè)策略用于約束數(shù)據(jù)的發(fā)送周期,發(fā)送端設(shè)置DEADLINE表示必須在給定的時(shí)間周期內(nèi)寫入數(shù)據(jù);比如設(shè)置1s,則發(fā)送端必須在每個(gè)1s內(nèi)寫入數(shù)據(jù),這個(gè)1s的周期實(shí)際上也說明了數(shù)據(jù)的有效期為1s。

    6)TIME_baseD_FILTER 時(shí)基濾波器

    這個(gè)策略表示在指定時(shí)間內(nèi)只希望收到1個(gè)數(shù)據(jù),多余的數(shù)據(jù)將被訂閱者丟棄。這個(gè)策略主要是為了優(yōu)化網(wǎng)絡(luò)負(fù)載和節(jié)點(diǎn)的計(jì)算資源。

    比如接收方要求1s接收1個(gè)數(shù)據(jù),但是發(fā)送方是1s發(fā)送10個(gè)數(shù)據(jù),則發(fā)送方檢測(cè)到TIME_baseD_FILTER后,會(huì)降低發(fā)送頻率,這樣就可以節(jié)省帶寬資源。

    7)PRESENTATION 表示

    這個(gè)策略可設(shè)置為Coherent Access和Ordered Access

    Coherent Access表示如果一組數(shù)據(jù)之間有關(guān)聯(lián),就需要等這組更新的數(shù)據(jù)都到達(dá)后,應(yīng)用程序才能訪問這組數(shù)據(jù);

    車載通信中比如定位信號(hào)是由橫坐標(biāo)和縱坐標(biāo)信號(hào)組成的,也就是說這兩個(gè)數(shù)據(jù)是有關(guān)聯(lián)的,要一起到達(dá)才有效,應(yīng)用層才能使用。如果分別訪問,可能會(huì)收到1個(gè)新的橫坐標(biāo)和1個(gè)舊的縱坐標(biāo)數(shù)據(jù),造成定位錯(cuò)誤。

    Ordered Access表示保留數(shù)據(jù)之間的順序。有些數(shù)據(jù)是要按一定的順序發(fā)給應(yīng)用程序的,數(shù)據(jù)之間的順序不能打亂,這種數(shù)據(jù)的交付方式就要設(shè)置為Ordered Access。

    DDS還提供了其他許多策略,通過配置和組合這些策略,以滿足不同應(yīng)用對(duì)網(wǎng)絡(luò)通信服務(wù)質(zhì)量的需求。

    4.DDS與SOME/IP的區(qū)別

    DDS是以數(shù)據(jù)為中心,采用發(fā)布-訂閱模型;SOME/IP是面向服務(wù),采用客戶端-服務(wù)器模型。它倆采使用的是不同的模型,因此應(yīng)用的場(chǎng)景、適用的系統(tǒng)也有不同。兩者的區(qū)別如下表所示:

    圖片

    DDS與SOME/IP的主要區(qū)別

    除了模式不同外,DDS的API是標(biāo)準(zhǔn)化的接口,不同的應(yīng)用程序可以移值。SOMEIP是非標(biāo)準(zhǔn)化的接口,APP不能互相移植。

    DDS支持QoS,可以滿足不同應(yīng)用對(duì)網(wǎng)絡(luò)通信服務(wù)質(zhì)量的需求。SOME/IP本身是不支持QoS的,需要的話只能在APP或傳輸層中實(shí)現(xiàn)QoS。

    雖然DDS有著更豐富的特性,尤其是對(duì)QoS的支持。但是相對(duì)于SOME/IP,DDS也有一些不足。

    首先,RTPS消息頭部十分冗長,降低了傳輸效率和實(shí)時(shí)性。GDS是在各個(gè)節(jié)點(diǎn)中有備份,占用的空間會(huì)比較大。

    其次,汽車為了降低功耗,經(jīng)常需要頻繁的喚醒和休眠,這就要求系統(tǒng)有非??斓膯?dòng)速度,而DDS并不是為這種場(chǎng)景設(shè)計(jì)的,需要經(jīng)過深入的優(yōu)化才能滿足嚴(yán)苛的時(shí)間要求。

    最后,DDS目前只能在Adaptive AUTOSAR框架下運(yùn)行,目前還不支持Classic AUTOSAR。

    5.小結(jié)

    DDS是以數(shù)據(jù)為中心的通信中間件,有標(biāo)準(zhǔn)的API,使不同應(yīng)用程序可以在不同的環(huán)境中進(jìn)行交換信息。它通過豐富的QoS服務(wù)質(zhì)量策略,來滿足各種分布式系統(tǒng)實(shí)時(shí)通信的低延遲、高可靠性、可擴(kuò)展性的需求。目的就是要在正確的時(shí)間將正確的信息高效和穩(wěn)定的傳遞到正確的位置。

    相對(duì)而言,SOME/IP基于客戶端-服務(wù)器模型,更適用于需要直接交互、直接控制和管理的系統(tǒng)。

    DDS基于發(fā)布-訂閱模型,適用于不需要直接連接,松耦合通信的分布式系統(tǒng)。

    在汽車通信中,由于DDS和SOME/IP各有優(yōu)勢(shì)和應(yīng)用場(chǎng)景,它們不會(huì)互相取代,而是會(huì)根據(jù)具體需求選擇使用。

    分享到:
     
    反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
    滬ICP備11026917號(hào)-25