400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)業(yè)資訊 » 行(xíng)業(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

SOA通(tōng)信中間(jiān)件(jiàn)及其協議(yì)介紹

發布日(rì)期:2023-09-01

作(zuò)者:姜鴻雷


[本文(wén)選自(zì)《智能(néng)汽車(₹☆φ₽chē):新一(yī)代技(jì)術(shù)與應用(yòng)》₽•‍.姜鴻雷.電(diàn)子(zǐ)工(gōng)業(yè)出版社——書(shū)中第β 八章(zhāng)部分(fēn)內(nèi)容]



前言


  SOA(面向服務的(de)架構)的(de)軟件(jiàn)設計(jì)£‍原則之一(yī)是(shì)模塊化(huà)。模塊化↕✘×​(huà)可(kě)以提高(gāo)軟件(jiàn≠↕)系統的(de)可(kě)維護性和(hé)代碼重用(yòn≤★§g)性,并且能(néng)夠隔離(lí)故障。舉例來(lái)說(shu≥ πō),自(zì)動駕駛系統可(kě)以分(fēn)解為(wèi)特定的(♠♦™de)任務模塊,如(rú)數(shù)據采集、狀态估計(jì)和(hé)任務規劃®∑等。為(wèi)了(le)完成各自(zì)©♦的(de)任務,這(zhè)些(xiē)模塊需要(yào)相(xiàng)互交換信息。在現(xi∞ ♣àn)代操作(zuò)系統中,将單個(gè)模塊映射到(dào)獨立的(de)軟件(jiàn)進€™程非常方便,這(zhè)些(xiē)進程可(kě)以位于同一(yī)計(jì)算₽∞ (suàn)設備上(shàng),也(yě)可(kě)以↔€位于物(wù)理(lǐ)上(shàng)獨立的(d∞βe)計(jì)算(suàn)設備上(shàng)。這(zhè)使得(de)進程間αδε♦(jiān)通(tōng)信成為(wèi)一±↔ ↓(yī)個(gè)深入研究的(de)問(wèn)題,因為(wèi)信息交換∏$是(shì)通(tōng)過進程間(jiān)的(de)通(tōng)>≠×信來(lái)實現(xiàn)的(de)。


  一(yī). 通(tōng)信中間(jiān)件(jiàn)


  在軟件(jiàn)定義汽車(chē)中,應用(yòng)程序♥★★之間(jiān)的(de)跨進程或跨核通(tōng)信是(shì)一(yī)個(g<± ♠è)需要(yào)解決的(de)問(wèn)題。模塊化(huà)架構為(wèi)   開(kāi)發人(rén)員(yuán)提供了(le) ★ 便利,但(dàn)也(yě)引入了(le)對(duì)通(tōng)信中間(jiān)件(j♥→¥iàn)的(de)需求。


  在沒有(yǒu)使用(yòng)通(tōng)信中間(jiān'‍)件(jiàn)的(de)情況下(xià),開(kāi)發人(rén)員(yuán)需™•‍要(yào)自(zì)己定義數(shù)σβ據的(de)格式、發送方和(hé)接收方。然而,使用(yòng)基于服務/數(shù)據的 £(de)發布和(hé)訂閱模式(如(rú)SOME/IP和(hε€₩φé)DDS),開(kāi)發人(rén)員(yuán↑×)隻需要(yào)明(míng)确需要(yào)什(shén)Ω&‍∞麽樣的(de)數(shù)據以及數(shù)據應該傳遞到(dào)哪裡(lǐ),而無需關注數(♦£shù)據的(de)發送方和(hé)發送方式。


  以數(shù)據為(wèi)中心是₽&(shì)相(xiàng)對(duì)于傳統的(de)以消息為(wèi)中心而言的(de),其'∑本質區(qū)别在于通(tōng)信中間(jiān)件(jiàn)知(&↔zhī)道(dào)存儲了(le)什(shén)麽數(β∑≠shù)據并能(néng)夠控制(zhì)如(rú)Ω 何共享這(zhè)些(xiē)數(shù)據。對δ≈(duì)于傳統的(de)以消息為(wèi)中心的(de)中間(✘​jiān)件(jiàn),程序員(yuán)必須為(wèi)發送消息編寫代碼,而對(du Ω±ì)于以數(shù)據為(wèi)中心的(de)中間(£$≈↓jiān)件(jiàn),程序員(yuán)隻需®₹£為(wèi)如(rú)何共享數(shù)₩∞♦據編寫代碼,然後可(kě)以直接共享數(shù)據值。

  通(tōng)信中間(ji≈α♦'ān)件(jiàn)可(kě)以采用(yòng)點對(duì)點、消息隊列和(÷  hé)發布/訂閱三種工(gōng)作(zuò)模式,SOME/IP和(hé)DDS都(dōu)采用(yòng)了(le)發布/訂閱模σπσ式。


  在發布/訂閱模型中,發布者和(hé)訂閱者通(tōng)過主題進行(xíng)關聯¶β,雙方不(bù)需要(yào)知(zhī)道(dào)對(duì)方在何δ>α₩處,也(yě)不(bù)需要(yào)同時(shí)在線。這(zhè←¥‍₹)實現(xiàn)了(le)通(tōng)信雙方在時(shí)間(jiān)¥γ 、空(kōng)間(jiān)和(hé)數(shù)據通(tōng)信上(shàπ<×♠ng)的(de)多(duō)維松耦合。


  此外(wài),與面向信号的(de)CAN相(xi∞ δ<àng)比,DDS和(hé)SOME/IP都(dōu)是(shì)面向服務‍‍​λ的(de)通(tōng)信協議(yì)。兩者的(de)區(qū)别在于面向信号的(de)數(sh£​>→ù)據傳輸始終循環發送,而面向服務的(de)通(tōng)信方式不(bù)<€π±同,隻有(yǒu)在客戶端請(qǐng)求或服務器(qì)通(tō™‍ng)知(zhī)特定訂閱者時(shí),才在客戶端-服務器(qì)↕©ε配置中交換數(shù)據。這(zhè)确保了(le)永遠(yuǎn)不(bδφ​ù)會(huì)浪費(fèi)帶寬,并且僅在δ≈®需要(yào)的(de)時(shí)間(jiān)和(hé)∑π地(dì)點進行(xíng)數(shù)據通(tōng)×δ信/交換。因此,面向服務的(de)通(tōng)信協議(yì)®§'§可(kě)以大(dà)大(dà)減少(shǎo↔✘$‍)網絡負載,提高(gāo)通(tōng)信效率。


  在軟件(jiàn)定義汽車(chē)時(shí)代,車(ch<¥ē)內(nèi)的(de)所有(yǒu)可(kě)調用(y₽λ≥òng)功能(néng)都(dōu)被視≤ (shì)為(wèi)服務,并提供不(bù)同類型的(de)調用(✘‍yòng)接口,這(zhè)些(xiē)接口可(kě)以按以下(xià)方式分(fēn)類>←‌ :


  1、API接口:提供各類函數(shù)的(de)調用(yòng)接口,使應用(yòng)γ≤₽程序能(néng)夠調用(yòng)系統內(nèi)部的(de)功能(néng) •δ實現(xiàn)函數(shù)。應用(yòng)程序可(kě)以通(tōng)過調用(yòng)÷♥α相(xiàng)關的(de)API接口來ΩΩ&→(lái)提供和(hé)使用(yòng)功能(néng)服務。


  2、文(wén)件(jiàn)方式:以配置文(wén)件(jiàn)或設備文(wén)件(jiàn)的(de)形式提供系₩"¥ 統內(nèi)部的(de)調用(yòng)能(néng)力♠¥。這(zhè)些(xiē)文(wén)件(jiàn)可(kě)以通(tōng)過配置自(zì&↕‍™)動生(shēng)成,包含有(yǒu)效的(de)配置信‌"α息,并且可(kě)以在運行(xíng)環境中被特定的(de)σΩ​程序讀(dú)取和(hé)識别,實現(x±₹↓iàn)特定的(de)服務。


  3、系統原生(shēng)服務:操作(zuò)系統和(hé)基礎類庫提供的(de)可(kě)操作(zuò)能(néng)力,↑&→®包括對(duì)系統CPU和(hé)內(nèi)存的(de)監測、應用(yòng)程序的(de)監×< ∑控、系統資源的(de)劃分(fēn)等。此外(wài)¥αβ≥,還(hái)可(kě)以調用(yòng)C++、boost等λ♦基礎類庫。


  4、IPC接口:各種IPC機(jī)制(zhì)提供系統內(nèi)進程間(jiān)的' (de)調用(yòng)能(néng)力,包括使用(yòng)套接字(socket∑α"&)、共享內(nèi)存等進程間(jiān)通↑™α≥(tōng)信方式,以及使用(yòng)特定的(de)跨核 ¥通(tōng)信方式如(rú)IPCF。


  5、協議(yì)棧接口:通(tōng)過網絡協議(yì)棧提供跨平台的(de)調用(yòng)能(↓★βnéng)力,包括SOME/IP、DDS、MQTT、HTTP等網絡協議(yì)的(de)調≤♠度服務、接口封裝和(hé)協議(yì)轉換等。


  盡管在互聯網領域中SOA(面向服務的(de)架構)已經被±₽應用(yòng)了(le)很(hěn)長§∏÷≈(cháng)時(shí)間(jiān),但(dàn)在汽車(chē)→→行(xíng)業(yè)中,它算(suàn)σσ♦是(shì)相(xiàng)對(duì)較新的(de)概念。在Adapti©₹€∏ve AutoSAR框架中,通(tōng)信管理(lǐ)模塊包括進程間π§β(jiān)通(tōng)信和(hé)網絡協議(yì)棧。


  鑒于汽車(chē)應用(yòng)場(chǎng)景和(h§ é)通(tōng)信需求的(de)特殊性,許多(duō)互聯網的(de‍≤∑")SOA技(jì)術(shù)并不(bù)能(néng)直接應用(yòng)于↑γ₩♣汽車(chē)領域。一(yī)般來(lái®&×≤)說(shuō),SOA通(tōng)信中間(jiān)件(₽βjiàn)系統的(de)各個(gè)層面需要(≈ €×yào)滿足以下(xià)要(yào)求:


  1、本地(dì)服務和(hé)遠(yuǎn)程服務之間(jiān)的(de)通(tōng)信應該使用÷₹(yòng)統一(yī)的(de)接口描述語言(IDL)定義的(de)文∞$±≤(wén)件(jiàn)作(zuò)為(wèδ∏i)契約。IDL是(shì)一(yī)種中立的(de)接口描述語言,與具體(tǐ♥>α)的(de)操作(zuò)系統和(hé)編程語言無關。


  2、SOA框架的(de)底♣σλ∏層核心功能(néng)應具備以下(xià)特點:服務發現(xiàn₹γ)、消息序列化(huà)、內(nèi)部事(shì)∞λ件(jiàn)/消息處理(lǐ)和(hé)傳輸功能(n↓‍ éng)。應用(yòng)程序、服務和(hé)操作(zuφ®ò)系統之間(jiān)可(kě)以通(tōng)過≤↓♠↓标準的(de)通(tōng)信協議(yì)或服務接口相(xi>™☆àng)互通(tōng)信或訪問(wèn),特别是(shì)要(∑ε€yào)滿足傳感數(shù)據的(de)大(>λdà)數(shù)據吞吐傳輸需求。必須支持典型的(de)車(chē)內(nèi)通(tōng π)信協議(yì),如(rú)SOME/IP協議(yì)、DDS規範等。服務發現(xiàn)功能✔α(néng)應具備訪問(wèn)控制(zhì)功能(néng),以防止未經授權的(de)用σ♠(yòng)戶進行(xíng)竊聽(tīng)和(hé)侵入;傳輸功能(néng)應具備數(←π'πshù)據加密和(hé)簽名等功能(néng£π©±),以确保通(tōng)信數(shù)據的(de)安全性。


  在未來(lái),汽車(chē)将與更多(duō)的(de)基礎設施進行('≈✔₹xíng)連接,為(wèi)了(le)實現(xiàn)與它們的(de)連接,将需要(yào" )使用(yòng)不(bù)同的(de)通(tōαβ✔λng)信協議(yì)。


圖片

汽車(chē)SOA 通(tōng)信架構


  HTTP、MQTT、SOME/IP和(hé)DDS等協議(yì)都(dōu♦∞)用(yòng)于實現(xiàn)SOA架構中的(de)通(tōng)信,隻是♣ ‌ (shì)在不(bù)同的(de)場(chǎng)景下(x'♥εià)承擔不(bù)同的(de)責任。例如(rú),SOME/IP協議(yì)用(yòng)于車'λ(chē)內(nèi)節點之間(jiān)的(deΩ♥✘σ)服務通(tōng)信,而HTTP和(hé)MQTT用(yòng)于與互聯網>£'模塊進行(xíng)通(tōng)信。盡管它們在實現α ‍™(xiàn)機(jī)制(zhì)上(shàng)有(yǒu)些(xiē)許差異,但(d८n)它們可(kě)以相(xiàng)互切換使用(yòng)。


  MQTT、DDS、AMQP、REST和(hé)CoAP等協議(↑γyì)都(dōu)已被廣泛應用(yòng),并且每種協議(yì)都(dōu)至¶&少(shǎo)有(yǒu)10種不(bù)同的(de)代碼實現(xiàn)。它們都(π♦÷dōu)宣稱支持實時(shí)的(de)發布/訂閱物(wù)聯網協議(y쀮β&)。然而,在具體(tǐ)的(de)系統架構設計(jì)中,需要(yà✔ <₹o)考慮實際場(chǎng)景中的(de)通(tōng)信需求,并選擇适合的(de↕↓'φ)協議(yì)。各種協議(yì)的(de)特點如(rú)表所示。


圖片




  二、SOME/IP 介紹



  2011年(nián),寶馬設計(jì)并提出了(le)SOME䥧/IP(Scalable Service-orie‌<→nted Middleware over IP)協議(yì)。SOM♣ ↓E/IP采用(yòng)服務器(qì)-客戶端的(de)服δ∞€→務通(tōng)信模式,并且具備高(gāo)度可(kě)擴展性。SOME/I✘←¥☆P協議(yì)是(shì)一(yī)種應用(yòng)層協議£↕λ(yì),運 行(xíng)在TCP/UDPσ 傳輸協議(yì)之上(shàng)(車(chē)載以♣≥∞ 太網第四層以上(shàng))。它作(zuò)為(wèi)以太網通(tōng)信的(de)中γ→間(jiān)件(jiàn),實現(xiàn)應用(yòng)層¶₹Ω與IP層之間(jiān)的(de)數(shù)據交互,使其₩"不(bù)依賴于操作(zuò)系統,并且✔γπ兼容AUTOSAR和(hé)非AUTOSAR平台。因此σ↔,SOME/IP可(kě)以獨立于硬件(jiàn)平台、操作(zuò)系統和(hé)編程語言。€↓₽₩


圖片

SOME/IP 協議(yì)架構


  SOME/IP具備滿足車(chē)用(yòng)需求的(de)特性,主要<λ₽β(yào)包括以下(xià)幾個(gè)方面:基于服務的(de)通(tōng)信方式,占用(y☆ו©òng)空(kōng)間(jiān)小(xiǎo),與AUTOSAR≈↔ 兼容(其他(tā)中間(jiān)件(jiàn)不(bù)具備兼容性),可(kě)伸縮€​¶​性(适用(yòng)于小(xiǎo)型和(hé)大(dà)型平台 €"),以及兼容性(可(kě)适用(yòng)于車(chē)"δ‍"輛(liàng)使用(yòng)的(de)各種操作(zuò)系統,如(←↑rú)AUTOSAR、OSEK、QNX和(hé)Linuxβγ)。


  SOME/IP支持AUTOSAR CP、AUTOSAR AP以及非AUTOγ•∏•SAR平台之間(jiān)的(de)通(tōng)信交互。寶馬設計(jì)SO→γδME/IP協議(yì)後,它被AUTOSAR納入正式标準,并随著(zhε£"e)CP規範的(de)發布而被廣泛應用(yòng)于車(chē)載以太©α網,因此可(kě)以說(shuō)是(shì)A±σ±UTOSAR CP推動了(le)SOME/IP的(de)廣泛使用(yòng)。


  在AUTOSAR架構中,SOME/IP-←≠SD模塊位于AUTOSAR BSW Mode Manager模塊(BswM≤​×)和(hé)AUTOSAR Socket Adaptor模塊(SoA>δ✔d)之間(jiān)。BswM模塊提供了(le)通(tōng)用(yòng)×&≤模式請(qǐng)求和(hé)服務請(qǐng)求之間(jiān)的(d≠ ∏πe)連接,而SoAd模塊處理(lǐ)以太網堆棧和(hé)SD模塊之間(jiān)的(de)服務請>δ±(qǐng)求。通(tōng)過配置SoAd中的(de)Socket γδ☆∏Connection表,可(kě)以接收其他(tā)ECU的(de)SD模塊發送的(de¶§)單播和(hé)多(duō)播報(bào$★₽)文(wén)。


  借助SOME/IP協議(yì)的(de)高(gāo'δ)度平台擴展性,可(kě)以實現(xiàn)不(bù)同平台之間(jiān)的(de)數(shù‌✘♠)據交互,而統一(yī)的(de)SOME/IP通(tōng)信機(jī)制(zhì)&↕↑♥是(shì)不(bù)同平台通(tōng)信的(de)前提。為(wè&♠βi)了(le)在不(bù)同軟件(jiàn)平台上(shà♣>ng)運行(xíng)SOME/IP,實現(xiàn)整車(chē)以太網Ω£上(shàng)的(de)SOA架構通(tōng)信機(jī)制(zh¶€¶ì),AP規範中也(yě)同步引入了(le)SOME/IP,₽♣♦因此在AUTOSAR系統中,CP和(hé)AP之間(jiān)實現(→Ωxiàn)SOME/IP通(tōng)信相(xiàng)對(duì)容易。


  為(wèi)了(le)促進非AUTλ×≤¶OSAR軟件(jiàn)平台與車(chē)內(nèi)CP和(hé)AP‌♣α§ECU之間(jiān)的(de)交互,GENIVI系統同樣開(>•kāi)發了(le)一(yī)套開(kāi)源的(de)vSOME/IP軟件♠₹₽(jiàn)源碼,以便與CP/AP進行(xíng)交互。然而,由于vSOMEΩ€®/IP是(shì)開(kāi)源的(de),性能(néng)可(kě)能(≤≤φnéng)略有(yǒu)差異,因此需要(yào•σ‍)統一(yī)的(de)規範進行(xíng)約束,以進行(xíng)深度的(de)二次¥ ♦↓開(kāi)發。目前,全球最大(dà)的(de)商用(yòng)SOME/IP産品供應商是× ™(shì)Vector,而開(kāi)源版的(dσ✔∞↕e)vSOME/IP由GENIVI協會(huì)維護。




  三、DDS 介紹



  DDS(Data Distribution Servic♠®e)是(shì)由OMG(Object Management G&€λroup)發布的(de)分(fēn)布式通(t↕ ×ōng)信規範。OMG成立于1989年(nián),是(shì)一(yī)個(gè)國δ γ(guó)際性、開(kāi)放(fàng)性、非營利性的(deε™₩§)技(jì)術(shù)标準聯盟,由供應商、終端用(yòng)戶、學術(shù)機(jī)構和(h←α↓é)政府機(jī)構推動。OMG工(gōng)作(zuò♦λ‌)組緻力于制(zhì)定企業(yè)集成δ♠←♥标準和(hé)開(kāi)發可(kě)為(wèi)數(sh Ωù)千個(gè)垂直行(xíng)業(yè)提供現(xiàn)實價值的↕§±®(de)技(jì)術(shù)标準,其中包括統一(yī)建模'↑γ§語言SYSML、UML,以及中間(jiān)件(jiàn)标準CORBA±¶₩↑、DDS等。


  DDS最早應用(yòng)于美(měi)國(guó)海(hǎi)軍系統,用(α₽yòng)于解決在軍艦系統複雜(zá)網絡環境中∞&‍™進行(xíng)大(dà)量軟件(jiàn)升級時(shí)的(α✔∞de)兼容性問(wèn)題。随著(zhe)DDS被ROS2和(hé)AUTOSγ÷AR引入,目前它已經廣泛應用(yòng)于航空(kōng♠÷★)、航天、船(chuán)舶、國(guó)防、金✔$ε(jīn)融、通(tōng)信、汽車(chē)等領域。


  DDS的(de)特點:


  1、數(shù)據中心(Data Centricity)


  DDS最重要(yào)的(de)特性是(shì)以數(shù)據為₽↔π≈(wèi)中心,這(zhè)與其他(tā)許多(duō)通(tōng)信✔©"中間(jiān)件(jiàn)不(bù)同。DDS的(de)數(shù)據共享以Topi >‍c為(wèi)單元,應用(yòng)程序能(néng)夠通(tōng)過Topic判斷包含的(de£±♠)數(shù)據類型,而不(bù)必依賴其他(tā)上(sh★βπàng)下(xià)文(wén)信息。同時(shí),D★  DS能(néng)夠按照(zhào)用(yòng)戶定義的(de)方式自(zì)動地(Ωδδ÷dì)存儲、發布或訂閱數(shù)據,使應用(yòng)程序能(néng)夠像訪問(wèn)∞ ©₩本地(dì)數(shù)據一(yī)樣進行(xíng)數(shù)↓ ♣≤據的(de)寫入或讀(dú)取。

圖片

DDS 數(shù)據中心


  2、全局數(shù)據空(kōng)間(jiān)(&↑Global Data space)
  DDS實現(xiàn)的(de)數(shù)據♣♦ 共享可(kě)以被理(lǐ)解為(wèi)一(yī)個(gè)抽象的(de)全局數(shù)據空↓✔‌(kōng)間(jiān),無論應用(yòng×‌π®)程序是(shì)用(yòng)哪種開(kāi)發語言編寫,或者在哪 φ♣§種操作(zuò)系統上(shàng)運行∞$(xíng),都(dōu)可(kě)以以相(☆λxiàng)同的(de)方式訪問(wèn)這(zhè)個(gè)全局數(shù ₽₩♣)據空(kōng)間(jiān),就(jiù)像訪問(wèn)本地(dì)存儲空(kōng)間€ ←δ(jiān)一(yī)樣。當然,全局數(shù)據空(kōng)間(jiā≤±≈n)隻是(shì)一(yī)個(gè)抽象概念,在實 ♣$ε際實現(xiàn)中,數(shù)據仍然被分(fēn)别存儲在每個(gè)應用(yòn ÷✘g)程序的(de)本地(dì)空(kōng)間(jiān)中。在系✘•β©統運行(xíng)時(shí),數(shù)據是(shì)按需傳輸或存儲的(d←<★e),數(shù)據的(de)發布者隻發送訂閱者需要(yào)的(de)數(shù)據,而↓≠訂閱者隻接收并存儲本地(dì)應用(yò ∑ng)程序當前所需的(de)數(shù)據。

圖片

全局數(shù)據空(kōng)間(jiān)


  3、服務質量(Quality oΩ≥αφf service)
  DDS還(hái)提供了(le)高(gāo)度靈活的(de)QoS(Quali>•≠ty of Service)策略,以滿足用₩¥±(yòng)戶對(duì)數(shù)據☆"φ共享方式的(de)不(bù)同需求,例如(rú)可(kě)靠性和(h☆<é)故障處理(lǐ)等。對(duì)于對(duì)數(sε∞¶↓hù)據安全性要(yào)求較高(gāo€®<)的(de)系統,DDS還(hái)提供了(le)精細的(de)數(shù)據 €安全控制(zhì),包括應用(yòng)程序身(shēn)份認證、權限控制♦β(zhì)和(hé)數(shù)據加密等。
  4、動态發現(xiàn)(Dyna©↔mic Discovery)
  類似于SOME/IP-SD,DDS提≤≠供了(le)數(shù)據發布者和(hé)訂閱者的(de∞←)動态發現(xiàn)機(jī)制(zhì),這(zhè)意味著(zhe)用(y≈™✔òng)戶無需手動配置通(tōng)信節點的(de)地(dì)址或其他(tā)屬性信息,因為÷↕"(wèi)它們在運行(xíng)過程中會(huì)自(zλ&ì)動發現(xiàn)對(duì)方并自(zì)動完成≠↔≠相(xiàng)關配置,實現(xiàn)了(le)即插即用(yòng)的(✘>γde)功能(néng)。
  5、可(kě)擴展架構(Scalable Architecture)
  DDS可(kě)應用(yòng)于邊緣計(jì)算(suàn)、霧計(jì)算(su≤✔"àn)和(hé)雲計(jì)算(suàn)領域。在邊緣計(jì)算(suàn)中,DD>€βS可(kě)以實現(xiàn)高(gāo)速實時(shí)的(de)設備間(jiān)通($© tōng)信。在中間(jiān)系統中,DDS提供健壯可(kě)靠的(de)QoS和(hé)內 π¥(nèi)容感知(zhī)的(de)信息Ω☆流。DDS提供可(kě)擴展的(de)信φ♣>息訪問(wèn)和(hé)數(shù)據分(fēn)發手段,用(yòng)于集成信息系δ<®統,将各系統接入雲端。
  OMG DDS的(de)适用(yòng)範圍廣泛,涵蓋了(le)從(cóng)小(π&≈φxiǎo)型設備到(dào)雲計(jì)算(suàn)系統等超大(dà)型系統。DD≤δ<¥S能(néng)夠以超高(gāo)速傳輸數(shù)據并同時(↑₽Ωshí)管理(lǐ)數(shù)千個(gè)數(shù)據對(duì)象,提供極高(gāo)的(δπβ∏de)可(kě)用(yòng)性和(hé)安全性,非常适用(yòng)于物(wù)聯網。通(♠≤♦tōng)過提供一(yī)個(gè)标準的(de)通(tōng)信層,D©±DS屏蔽了(le)底層複雜(zá)性,簡化(huà) ♣了(le)分(fēn)布式系統的(de)開(kāi)發。

圖片

可(kě)擴展架構

  6、安全(Security)
  DDS為(wèi)關鍵任務的(de)工(gōng)業(y≤€è)物(wù)聯網環境提供了(le)全面的(de​×∏₩)安全保護機(jī)制(zhì),跨系統、跨供應商,覆蓋從(cπ‍£óng)邊緣設備到(dào)雲端的(de)安全£♠性需求。
  DDS提供了(le)身(shēn)份驗證、訪問(wèn)控δ™制(zhì)、數(shù)據加密和(hé)數(shù)據完←§ §整性等安全機(jī)制(zhì),以确保數(shù)據分(fēn)發的(de)安↔↑ ≈全性。這(zhè)些(xiē)安全機(jī)制(zhì)±★•是(shì)在點對(duì)點對(duì)等架構上(shàng)實現∏¶∑‍(xiàn)的(de),不(bù)會(huì)影'♦←β(yǐng)響實時(shí)通(tōng)信的(de)性能(néng)。
  目前,DDS已被多(duō)個(gè)車(chē)載中間(jiān)件≠₹(jiàn)平台引入。AUTOSAR A£®​P已完整地(dì)集成了(le)DDS标準的(de)網絡綁定。另外→♥•"(wài),雖然AUTOSAR CP的(de)标準規範本身(shēn)不(bù)支持DDSΩ☆>₩,但(dàn)通(tōng)過一(yī)些•♥γ(xiē)變通(tōng)方法也(yě)可(kě)以在CP上($®§shàng)集成DDS。ROS2和(hé)C'✘yberRT的(de)底層都(dōu)使★£用(yòng)了(le)開(kāi)源的(de)DDS作(zuò)為(wèi)最重要(yào)的' ≈(de)通(tōng)信機(jī)制(zhì)。針對(duì)自(zì)動駕駛領域的(de←©')SOC芯片,如(rú)Xavier和(hé)Orin,也(yě)都(dōu)預留了(le)DDS§↔接口。RTI作(zuò)為(wèi)OMG組織董事(shì)會(huì)的(deασ)成員(yuán),領導了(le)DDS标準的(de)制(‍©★zhì)定,并開(kāi)發了(le)名為(wèi)Connext的(de)DDS品牌‌↓,因此也(yě)被稱為(wèi)Connext DDS。
  開(kāi)源DDS相(xiàng)對(duì)于商用(yòng)的(de)R>ΩTI DDS等來(lái)說(shuō),是(shì)根據OMG官方标準開(kāi)發的(de♦≈€),但(dàn)源代碼是(shì)開(kāi)放(fàng)的(de),主要(yào)包$±™‌括Fast DDS和(hé)Open DDS等。
  在自(zì)動駕駛領域,由RTI原核心團隊成&₩£✔員(yuán)在歐洲創辦的(de)eProsima↕≈公司推出了(le)影(yǐng)響力較大(d↑​© à)的(de)開(kāi)源DDS,名為(wèi)Fαπ<™ast DDS。在eProsima将Fast DDS的(de↕•✘)源代碼開(kāi)放(fàng)後,用(yòng)戶可(kě)以直接在GitHub上(sh&♥§πàng)免費(fèi)下(xià)載。使用(yòng)Fast DDS‍‍ 需要(yào)向eProsima支付費(fèi)用(©Ωyòng)以獲得(de)支持。
  Open DDS由位于聖路(lù)易斯和(hé)鳳§✔"凰城(chéng)的(de)Object Computing的(de)ACE/TA©÷±O團隊開(kāi)發,與Fast DDS有(yǒu)一(yī)定的( ≈£de)相(xiàng)似性,兩者都(dōu)基于RTPS實現(xiàn),都(dō♥$u)是(shì)面向數(shù)據的(de)通(tōn≥♠>™g)信框架,并遵循同一(yī)标準。這(zhè)類框架的(de)典型特征是(shì)去♠♣ε↕(qù)中心化(huà)、支持QoS機(jī)制(zhì)和(hé)實時(shí)♥♠通(tōng)信,并通(tōng)常與序列化(huà)‌σ¶工(gōng)具如(rú)protobuf進行(xíng≤β$§)綁定。
  盡管開(kāi)源DDS對(duì)RTI的(de)商用(yòng)DD∞&>λS形成一(yī)定的(de)競争,但(dàn)開(kāi)源DDS也(yě)✔÷©存在一(yī)些(xiē)不(bù)足之處:開(kāi)源DDS的(de)使用(yò★βng)門(mén)檻較高(gāo),例如(rú)γε  RTI DDS的(de)服務策略有(yǒu)50多(duō)個(gè),§★而開(kāi)源DDS隻有(yǒu)23個(gè♠λ),完整性遠(yuǎn)不(bù)及前者γ♥;RTI的(de)DDS已通(tōng)過了(le)ASIL-D認證,&₽而開(kāi)源DDS尚未達到(dào)這(zhè)一(yī)認證水(shuǐ)平。☆∑≈


  四、SOME/IP 與 DD÷≥∑ S 對(duì)比

  SOME/IP和(hé)DDS是(shì)目前在域控最常用(yòng)♥≥♣>的(de)兩類通(tōng)信中間(jiān)件(j₩©✘↑iàn),它們都(dōu)是(shì)面向服務的(de)通(tōng)信協議(Ω £εyì),并采用(yòng)以數(shù)據為(wèi)中心的(de)發布/訂閱模式。ββ☆®
  然而,SOME/IP和(hé)DDS在許多(duō)方面也(yě)存在差異,γ≈€主要(yào)區(qū)别如(rú)下(xià):
  1、主要(yào)應用(yòng)領域不(bù)★£<同:SOME/IP專為(wèi)汽車(chē)領域開(k<≠āi)發,針對(duì)汽車(chē)領域的(de)需求定義了(le)一(yī)套通(t<↔ōng)信标準,并在汽車(chē)領域深耕已久;而DDS是(shì)一(yī)個(g★πè)工(gōng)業(yè)級别的(de)強實時(s®δσhí)通(tōng)信标準,适應性較強,但(dàn)在應用(y>★✔↕òng)于汽車(chē)/自(zì)動駕駛領域時(shí)需γ≠要(yào)進行(xíng)專門(mén)的(de)裁剪。
  2、靈活性和(hé)可(kě)伸縮性不(bù)同:相(xiàng)比SOME/IP,DDS引入了(le)‌↔↔&許多(duō)标準內(nèi)置特性,如(rú)​'≤↕基于內(nèi)容和(hé)時(shí)間(jiān)∑α☆的(de)過濾、與傳輸無關的(de)可(kě)靠性、持久∏→ε≥性、存活性、延遲/截止時(shí)間(jiān)監視(shì)、可(k‌£≈↕ě)擴展類型等。當AUTOSAR AP與DDS一(β€yī)起構建通(tōng)信框架時(shí),該框架不(bù)僅與現(xiàn)有(yǒu)AP∑→§I和(hé)應用(yòng)程序兼容,還(hái)在可(kě)靠性、性♠&∑能(néng)、靈活性和(hé)可(kě)伸縮性等方面提供£↑≈重要(yào)的(de)好(hǎo)處。
  3、訂閱方和(hé)發布方的(de)耦合程度不(bù)同:在SOME/IP中,訂閱方在正常數(shù)據傳輸之前需要(α™™yào)與發布方建立網絡連接并詢問(wèn)發布方是(shì)否提供所λα需服務,從(cóng)這(zhè)個(gè)角度看(kàn),↔"'節點之間(jiān)仍然存在一(yī)定的(de)耦合性。而在DDS标準下(xià),每個(gè)£€★&訂閱方或發布方隻需要(yào)在自(zì)己δ ↑←的(de)程序中訂閱或發布傳感器(qì)數(shù¶→)據,無需關心任何連接。因此,在DDS中,服務的(de)訂閱方和(hé)發布方₹"λ↑更加徹底地(dì)解耦。
  4、服務策略不(bù)同:良好(hǎo)的(de)服務質量(QoS)是(shì)DDS标準相(xiàng)對(d₹φקuì)于SOME/IP最重要(yào)的(de)特征。SOME/IP隻有(yǒu)一(yī)個♠≠(gè)QoS,而RTI DDS和(hé)開(kāi)源D♦$←DS分(fēn)别提供了(le)50多(duō←↔÷)個(gè)和(hé)20多(duō)個(gè)QoS,這(zhè)€♣→些(xiē)QoS基本上(shàng)涵蓋了ε‍&‌(le)大(dà)多(duō)數(shù)可(kě)預見(j•≤♥↑iàn)的(de)智能(néng)駕駛場(chǎng)→€¥景。
  5、應用(yòng)場(chǎng)景不(bù)同:從(cóng)應用(yòng)場(chǎng)景的(de)角度來(lái)看(kàn),SO→€​ME/IP更适用(yòng)于車(chē)載網絡,并且 ♣∞隻能(néng)在基于IP類型的(de)網絡環境中使用(yòng);而DDS在傳輸←₽方式上(shàng)沒有(yǒu)特别的(de)限制₽™♦(zhì),可(kě)以支持基于非IP類型的(de)網絡,例如(rú)共享內(nèi)存、跨核♣ε通(tōng)信、PCIe等。此外(wài),DDS還(hái)提供了(le)完備的(d→≠‍​e)車(chē)聯網解決方案,其獨有(yǒ§φu)的(de)DDS Security和(hé)DDS Web功能(néng<÷)為(wèi)用(yòng)戶提供了(le)一(yī)站(zh<≠©àn)式的(de)“車(chē)-雲-移動端”解決方案。
圖片
  在商業(yè)落地(dì)中,SOME ₹ /IP和(hé)DDS之間(jiān)存在  £γ直接的(de)競争關系,但(dàn)由于它們在應用(yòng)領域、靈σλ≥↓活性和(hé)服務策略等方面存在差異,整車(chē)廠(chǎng)可(kě)以根據需♠★求選擇适合的(de)通(tōng)信中間(jiān)件(jiàn×♥₹),甚至可(kě)以同時(shí)使用(yòng)<↑♥±二者。這(zhè)也(yě)是(shì)為(∞£∏wèi)什(shén)麽AUTOSAR AP既支持S ‍OME/IP也(yě)支持DDS的(de)原因。

參考文(wén)獻:

[1] 宋珂. AUTOSAR規範與車(chē)用(yòng)控制(zhì)器(qì)®'軟件(jiàn)開(kāi)發. [M]. 化(hΩΩ​ uà)學工(gōng)業(yè)出版社. 201λ★δ9-01[2] 中國(guó)汽車(chē)基礎軟件(jiàn)生(shēng)态委員(yuán' ∑₹)會(huì). 車(chē)載SOA軟件(jiàn)架構₩‍±技(jì)術(shù)規範1.1. [R]. 2021-09[3] Dr. Joachim Schlosser. Why S<↔>crum for embedded software. [R]. 20¥Ω$♥20-07[4] Stefan Wagener.Jocheβ ♠'n Möller.Christof Menzenbach. How high-perφσ×formance computers shape the u↔¥ser experience in the cockpit oα↔☆ f the future. [R].[5] JASPAR Next Generation High- ≈×‍Speed Network WG. What ∞≤✘is the conqueror in the SOA platform for the π↔future in-vehicle netwo$≥♦rks? [R]. 2021-06[6] ARM. How the SOAFEE Architecture B↔÷rings A Cloud-Native Approach T₹∞o Mixed Critical Automot"♦ ive Systems. [R]. 2021-09[7] Jochen Steuerwald. A tool and workflow appro×↑÷$ach for automotive ECUs using AUT♠×OSAR Classic. [R]. 2020-06[8] Steffen Kuhn. Combined application βα of agile practices and functio σσnal safety in automotive software developm<"®ent. [R]. 2020-10[9] STEVE HOWARD.JILL BRITTON. Claiming Compl✔φ✔iance for Coding Standards. [R].[10] Trista Lin.David Fernandez B™>↕"lanco.Juleixis Guariguata. Communication€©  Management in Automotiv↑↓Ω♠e Service Oriented Architectγ₽≤ ures. [R]. 2021-11[11] dSPACE Inc. The future of a£∑∏gile software development and validation for a→×utonomous vehicles. [R]. 2021[12] Oded Mann.Amit Sh∑•↔€ah. Future E/E vehicle architectures ≠↓and the shifting goal post fo€≠©♦r mainstream OTA adoption. [R]. 2¶§£021-10[13] W3C.GENIVI. Service Oriented A→™α®rchitecture is coming &←↕to your vehicle program. [R]. 2021-04[14] Anders Kallerdahl. How can we d‍ε→esign and configure systems wh​<ere Adaptive and Classic AUTOSAR co-≤ exist? [R]. 2020-11[15] Christian Götz. How to Build ×≈÷a Reliable Connected Car Plat¶÷Ωform with MQTT. [R]. 2020-02[16] Robert Bosch. INTRODUCTION TO E÷©>CLIPSE ICEORYX [R]. 2020-02[17] Vikrant Bhangay.Shehan P R.Renjith G±♠. Modern day eCockpit Architectu↔♣σ♦re-Approaches & Cha♥←©✔llenges. [R]. 2020-04[18] 中國(guó)汽車(chē)工(gōng)業(yè)協會(huì).&≤§ 軟件(jiàn)定義汽車(chē)服務API.[19] Omkar Panse. Service orient ₽ ed architecture for so↕•♦☆ftware driven vehicles.[20] ARM. Scalable Open Archi♠>✘εtecture For the Embedded Edge. [R]. €£​2021[21] David Rush.Erich Meier↔λφ. The Future of Work Digital Transform™∏ation in Engineering. [R]. 2021[22] Rensas.Opensyne ‍÷rgy. Implement virtual I/O device(virtio) stan$☆dard. [R]. 2021[23] 龔小(xiǎo)平. 基于模型設λ"計(jì)開(kāi)發面向服務的(de)應用(yòng). [R]. 2021-05[24] (法)尼古拉斯·納威特,(法)弗朗西(xī)斯·西(xī)蒙-萊昂 ♣≈. 汽車(chē)嵌入式系統手冊. [M]™β. 機(jī)械工(gōng)業(yè)出版社.₽☆Ω∑ 2016-01[25] 汪珺. 汽車(chē)行(xíng)業(yè)的(de)IT數(shù)字化÷π₹π(huà)轉型——DevOps. [R]. 2022-01[26] 楊國(guó)梁. 通(tōng)過Shift ∞&×¥Left 提高(gāo)汽車(chē)軟件(jiàn)競争力. ↔←[R]. 2021-04[27] 雲原生(shēng)産業(yè)聯盟. 雲π¶原生(shēng)發展白(bái)皮書(sh♥±≤™ū). [Z]. 2020-07[28] 中國(guó)汽車(chē)工(gōng)業(yè)協會×£(huì). 中國(guó)汽車(chē)基礎軟件(jiàn)發展白(bái)皮書(shū) 2÷$.0. [Z]. 2021-09[29] 楊世春. 自(zì)動駕駛汽車(chē)平台技(jì)術(s♦★‍♣hù)基礎. [M]. 清華大(dà)學λ‍§出版社. 2020-06[30] 肖猛. 自(zì)動駕駛軟件(jiàn)架構之中間(jiān)件(jiàn)與→∞SOA. [R]. 2021-10


轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(jiàn)


北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(shù)支持:網站(zhàn)建設