SOA通信中間件及其協(xié)議介紹_第1頁
SOA通信中間件及其協(xié)議介紹_第2頁
SOA通信中間件及其協(xié)議介紹_第3頁
SOA通信中間件及其協(xié)議介紹_第4頁
SOA通信中間件及其協(xié)議介紹_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

前言SOA(面向服務(wù)的架構(gòu))的軟件設(shè)計原則之一是模塊化。模塊化可以提高軟件系統(tǒng)的可維護性和代碼重用性,并且能夠隔離故障。舉例來說,自動駕駛系統(tǒng)可以分解為特定的任務(wù)模塊,如數(shù)據(jù)采集、狀態(tài)估計和任務(wù)規(guī)劃等。為了完成各自的任務(wù),這些模塊需要相互交換信息。在現(xiàn)代操作系統(tǒng)中,將單個模塊映射到獨立的軟件進程非常方便,這些進程可以位于同一計算設(shè)備上,也可以位于物理上獨立的計算設(shè)備上。這使得進程間通信成為一個深入研究的問題,因為信息交換是通過進程間的通信來實現(xiàn)的。一.

通信中間件在軟件定義汽車中,應(yīng)用程序之間的跨進程或跨核通信是一個需要解決的問題。模塊化架構(gòu)為開發(fā)人員提供了便利,但也引入了對通信中間件的需求。在沒有使用通信中間件的情況下,開發(fā)人員需要自己定義數(shù)據(jù)的格式、發(fā)送方和接收方。然而,使用基于服務(wù)/數(shù)據(jù)的發(fā)布和訂閱模式(如SOME/IP和DDS),開發(fā)人員只需要明確需要什么樣的數(shù)據(jù)以及數(shù)據(jù)應(yīng)該傳遞到哪里,而無需關(guān)注數(shù)據(jù)的發(fā)送方和發(fā)送方式。以數(shù)據(jù)為中心是相對于傳統(tǒng)的以消息為中心而言的,其本質(zhì)區(qū)別在于通信中間件知道存儲了什么數(shù)據(jù)并能夠控制如何共享這些數(shù)據(jù)。對于傳統(tǒng)的以消息為中心的中間件,程序員必須為發(fā)送消息編寫代碼,而對于以數(shù)據(jù)為中心的中間件,程序員只需為如何共享數(shù)據(jù)編寫代碼,然后可以直接共享數(shù)據(jù)值。通信中間件可以采用點對點、消息隊列和發(fā)布/訂閱三種工作模式,SOME/IP和DDS都采用了發(fā)布/訂閱模式。在發(fā)布/訂閱模型中,發(fā)布者和訂閱者通過主題進行關(guān)聯(lián),雙方不需要知道對方在何處,也不需要同時在線。這實現(xiàn)了通信雙方在時間、空間和數(shù)據(jù)通信上的多維松耦合。此外,與面向信號的CAN相比,DDS和SOME/IP都是面向服務(wù)的通信協(xié)議。兩者的區(qū)別在于面向信號的數(shù)據(jù)傳輸始終循環(huán)發(fā)送,而面向服務(wù)的通信方式不同,只有在客戶端請求或服務(wù)器通知特定訂閱者時,才在客戶端-服務(wù)器配置中交換數(shù)據(jù)。這確保了永遠(yuǎn)不會浪費帶寬,并且僅在需要的時間和地點進行數(shù)據(jù)通信/交換。因此,面向服務(wù)的通信協(xié)議可以大大減少網(wǎng)絡(luò)負(fù)載,提高通信效率。在軟件定義汽車時代,車內(nèi)的所有可調(diào)用功能都被視為服務(wù),并提供不同類型的調(diào)用接口,這些接口可以按以下方式分類:1、API接口:提供各類函數(shù)的調(diào)用接口,使應(yīng)用程序能夠調(diào)用系統(tǒng)內(nèi)部的功能實現(xiàn)函數(shù)。應(yīng)用程序可以通過調(diào)用相關(guān)的API接口來提供和使用功能服務(wù)。2、文件方式:以配置文件或設(shè)備文件的形式提供系統(tǒng)內(nèi)部的調(diào)用能力。這些文件可以通過配置自動生成,包含有效的配置信息,并且可以在運行環(huán)境中被特定的程序讀取和識別,實現(xiàn)特定的服務(wù)。3、系統(tǒng)原生服務(wù):操作系統(tǒng)和基礎(chǔ)類庫提供的可操作能力,包括對系統(tǒng)CPU和內(nèi)存的監(jiān)測、應(yīng)用程序的監(jiān)控、系統(tǒng)資源的劃分等。此外,還可以調(diào)用C++、boost等基礎(chǔ)類庫。4、IPC接口:各種IPC機制提供系統(tǒng)內(nèi)進程間的調(diào)用能力,包括使用套接字(socket)、共享內(nèi)存等進程間通信方式,以及使用特定的跨核通信方式如IPCF。5、協(xié)議棧接口:通過網(wǎng)絡(luò)協(xié)議棧提供跨平臺的調(diào)用能力,包括SOME/IP、DDS、MQTT、HTTP等網(wǎng)絡(luò)協(xié)議的調(diào)度服務(wù)、接口封裝和協(xié)議轉(zhuǎn)換等。盡管在互聯(lián)網(wǎng)領(lǐng)域中SOA(面向服務(wù)的架構(gòu))已經(jīng)被應(yīng)用了很長時間,但在汽車行業(yè)中,它算是相對較新的概念。在AdaptiveAutoSAR框架中,通信管理模塊包括進程間通信和網(wǎng)絡(luò)協(xié)議棧。鑒于汽車應(yīng)用場景和通信需求的特殊性,許多互聯(lián)網(wǎng)的SOA技術(shù)并不能直接應(yīng)用于汽車領(lǐng)域。一般來說,SOA通信中間件系統(tǒng)的各個層面需要滿足以下要求:1、本地服務(wù)和遠(yuǎn)程服務(wù)之間的通信應(yīng)該使用統(tǒng)一的接口描述語言(IDL)定義的文件作為契約。IDL是一種中立的接口描述語言,與具體的操作系統(tǒng)和編程語言無關(guān)。2、SOA框架的底層核心功能應(yīng)具備以下特點:服務(wù)發(fā)現(xiàn)、消息序列化、內(nèi)部事件/消息處理和傳輸功能。應(yīng)用程序、服務(wù)和操作系統(tǒng)之間可以通過標(biāo)準(zhǔn)的通信協(xié)議或服務(wù)接口相互通信或訪問,特別是要滿足傳感數(shù)據(jù)的大數(shù)據(jù)吞吐傳輸需求。必須支持典型的車內(nèi)通信協(xié)議,如SOME/IP協(xié)議、DDS規(guī)范等。服務(wù)發(fā)現(xiàn)功能應(yīng)具備訪問控制功能,以防止未經(jīng)授權(quán)的用戶進行竊聽和侵入;傳輸功能應(yīng)具備數(shù)據(jù)加密和簽名等功能,以確保通信數(shù)據(jù)的安全性。在未來,汽車將與更多的基礎(chǔ)設(shè)施進行連接,為了實現(xiàn)與它們的連接,將需要使用不同的通信協(xié)議。汽車SOA通信架構(gòu)HTTP、MQTT、SOME/IP和DDS等協(xié)議都用于實現(xiàn)SOA架構(gòu)中的通信,只是在不同的場景下承擔(dān)不同的責(zé)任。例如,SOME/IP協(xié)議用于車內(nèi)節(jié)點之間的服務(wù)通信,而HTTP和MQTT用于與互聯(lián)網(wǎng)模塊進行通信。盡管它們在實現(xiàn)機制上有些許差異,但它們可以相互切換使用。MQTT、DDS、AMQP、REST和CoAP等協(xié)議都已被廣泛應(yīng)用,并且每種協(xié)議都至少有10種不同的代碼實現(xiàn)。它們都宣稱支持實時的發(fā)布/訂閱物聯(lián)網(wǎng)協(xié)議。然而,在具體的系統(tǒng)架構(gòu)設(shè)計中,需要考慮實際場景中的通信需求,并選擇適合的協(xié)議。各種協(xié)議的特點如表所示。二、SOME/IP介紹2011年,提出了SOME/IP(ScalableService-orientedMiddlewareoverIP)協(xié)議。SOME/IP采用服務(wù)器-客戶端的服務(wù)通信模式,并且具備高度可擴展性。SOME/IP協(xié)議是一種應(yīng)用層協(xié)議,運行在TCP/UDP傳輸協(xié)議之上(車載以太網(wǎng)第四層以上)。它作為以太網(wǎng)通信的中間件,實現(xiàn)應(yīng)用層與IP層之間的數(shù)據(jù)交互,使其不依賴于操作系統(tǒng),并且兼容AUTOSAR和非AUTOSAR平臺。因此,SOME/IP可以獨立于硬件平臺、操作系統(tǒng)和編程語言。SOME/IP協(xié)議架構(gòu)SOME/IP具備滿足車用需求的特性,主要包括以下幾個方面:基于服務(wù)的通信方式,占用空間小,與AUTOSAR兼容(其他中間件不具備兼容性),可伸縮性(適用于小型和大型平臺),以及兼容性(可適用于車輛使用的各種操作系統(tǒng),如AUTOSAR、OSEK、QNX和Linux)。SOME/IP支持AUTOSARCP、AUTOSARAP以及非AUTOSAR平臺之間的通信交互。寶馬設(shè)計SOME/IP協(xié)議后,它被AUTOSAR納入正式標(biāo)準(zhǔn),并隨著CP規(guī)范的發(fā)布而被廣泛應(yīng)用于車載以太網(wǎng),因此可以說是AUTOSARCP推動了SOME/IP的廣泛使用。在AUTOSAR架構(gòu)中,SOME/IP-SD模塊位于AUTOSARBSWModeManager模塊(BswM)和AUTOSARSocketAdaptor模塊(SoAd)之間。BswM模塊提供了通用模式請求和服務(wù)請求之間的連接,而SoAd模塊處理以太網(wǎng)堆棧和SD模塊之間的服務(wù)請求。通過配置SoAd中的SocketConnection表,可以接收其他ECU的SD模塊發(fā)送的單播和多播報文。借助SOME/IP協(xié)議的高度平臺擴展性,可以實現(xiàn)不同平臺之間的數(shù)據(jù)交互,而統(tǒng)一的SOME/IP通信機制是不同平臺通信的前提。為了在不同軟件平臺上運行SOME/IP,實現(xiàn)整車以太網(wǎng)上的SOA架構(gòu)通信機制,AP規(guī)范中也同步引入了SOME/IP,因此在AUTOSAR系統(tǒng)中,CP和AP之間實現(xiàn)SOME/IP通信相對容易。為了促進非AUTOSAR軟件平臺與車內(nèi)CP和APECU之間的交互,GENIVI系統(tǒng)同樣開發(fā)了一套開源的vSOME/IP軟件源碼,以便與CP/AP進行交互。然而,由于vSOME/IP是開源的,性能可能略有差異,因此需要統(tǒng)一的規(guī)范進行約束,以進行深度的二次開發(fā)。目前,全球最大的商用SOME/IP產(chǎn)品供應(yīng)商是Vector,而開源版的vSOME/IP由GENIVI協(xié)會維護。三、DDS介紹DDS(DataDistributionService)是由OMG(ObjectManagementGroup)發(fā)布的分布式通信規(guī)范。OMG成立于1989年,是一個國際性、開放性、非營利性的技術(shù)標(biāo)準(zhǔn)聯(lián)盟,由供應(yīng)商、終端用戶、學(xué)術(shù)機構(gòu)和政府機構(gòu)推動。OMG工作組致力于制定企業(yè)集成標(biāo)準(zhǔn)和開發(fā)可為數(shù)千個垂直行業(yè)提供現(xiàn)實價值的技術(shù)標(biāo)準(zhǔn),其中包括統(tǒng)一建模語言SYSML、UML,以及中間件標(biāo)準(zhǔn)CORBA、DDS等。DDS最早應(yīng)用于美國海軍系統(tǒng),用于解決在軍艦系統(tǒng)復(fù)雜網(wǎng)絡(luò)環(huán)境中進行大量軟件升級時的兼容性問題。隨著DDS被ROS2和AUTOSAR引入,目前它已經(jīng)廣泛應(yīng)用于航空、航天、船舶、國防、金融、通信、汽車等領(lǐng)域。DDS的特點:1、數(shù)據(jù)中心(DataCentricity)DDS最重要的特性是以數(shù)據(jù)為中心,這與其他許多通信中間件不同。DDS的數(shù)據(jù)共享以Topic為單元,應(yīng)用程序能夠通過Topic判斷包含的數(shù)據(jù)類型,而不必依賴其他上下文信息。同時,DDS能夠按照用戶定義的方式自動地存儲、發(fā)布或訂閱數(shù)據(jù),使應(yīng)用程序能夠像訪問本地數(shù)據(jù)一樣進行數(shù)據(jù)的寫入或讀取。

DDS數(shù)據(jù)中心

2、全局?jǐn)?shù)據(jù)空間(GlobalDataspace)

DDS實現(xiàn)的數(shù)據(jù)共享可以被理解為一個抽象的全局?jǐn)?shù)據(jù)空間,無論應(yīng)用程序是用哪種開發(fā)語言編寫,或者在哪種操作系統(tǒng)上運行,都可以以相同的方式訪問這個全局?jǐn)?shù)據(jù)空間,就像訪問本地存儲空間一樣。當(dāng)然,全局?jǐn)?shù)據(jù)空間只是一個抽象概念,在實際實現(xiàn)中,數(shù)據(jù)仍然被分別存儲在每個應(yīng)用程序的本地空間中。在系統(tǒng)運行時,數(shù)據(jù)是按需傳輸或存儲的,數(shù)據(jù)的發(fā)布者只發(fā)送訂閱者需要的數(shù)據(jù),而訂閱者只接收并存儲本地應(yīng)用程序當(dāng)前所需的數(shù)據(jù)。

全局?jǐn)?shù)據(jù)空間

3、服務(wù)質(zhì)量(Qualityofservice)

DDS還提供了高度靈活的QoS(QualityofService)策略,以滿足用戶對數(shù)據(jù)共享方式的不同需求,例如可靠性和故障處理等。對于對數(shù)據(jù)安全性要求較高的系統(tǒng),DDS還提供了精細(xì)的數(shù)據(jù)安全控制,包括應(yīng)用程序身份認(rèn)證、權(quán)限控制和數(shù)據(jù)加密等。

4、動態(tài)發(fā)現(xiàn)(DynamicDiscovery)

類似于SOME/IP-SD,DDS提供了數(shù)據(jù)發(fā)布者和訂閱者的動態(tài)發(fā)現(xiàn)機制,這意味著用戶無需手動配置通信節(jié)點的地址或其他屬性信息,因為它們在運行過程中會自動發(fā)現(xiàn)對方并自動完成相關(guān)配置,實現(xiàn)了即插即用的功能。

5、可擴展架構(gòu)(ScalableArchitecture)

DDS可應(yīng)用于邊緣計算、霧計算和云計算領(lǐng)域。在邊緣計算中,DDS可以實現(xiàn)高速實時的設(shè)備間通信。在中間系統(tǒng)中,DDS提供健壯可靠的QoS和內(nèi)容感知的信息流。DDS提供可擴展的信息訪問和數(shù)據(jù)分發(fā)手段,用于集成信息系統(tǒng),將各系統(tǒng)接入云端。

OMGDDS的適用范圍廣泛,涵蓋了從小型設(shè)備到云計算系統(tǒng)等超大型系統(tǒng)。DDS能夠以超高速傳輸數(shù)據(jù)并同時管理數(shù)千個數(shù)據(jù)對象,提供極高的可用性和安全性,非常適用于物聯(lián)網(wǎng)。通過提供一個標(biāo)準(zhǔn)的通信層,DDS屏蔽了底層復(fù)雜性,簡化了分布式系統(tǒng)的開發(fā)。

可擴展架構(gòu)

6、安全(Security)

DDS為關(guān)鍵任務(wù)的工業(yè)物聯(lián)網(wǎng)環(huán)境提供了全面的安全保護機制,跨系統(tǒng)、跨供應(yīng)商,覆蓋從邊緣設(shè)備到云端的安全性需求。

DDS提供了身份驗證、訪問控制、數(shù)據(jù)加密和數(shù)據(jù)完整性等安全機制,以確保數(shù)據(jù)分發(fā)的安全性。這些安全機制是在點對點對等架構(gòu)上實現(xiàn)的,不會影響實時通信的性能。

目前,DDS已被多個車載中間件平臺引入。AUTOSARAP已完整地集成了DDS標(biāo)準(zhǔn)的網(wǎng)絡(luò)綁定。另外,雖然AUTOSARCP的標(biāo)準(zhǔn)規(guī)范本身不支持DDS,但通過一些變通方法也可以在CP上集成DDS。ROS2和CyberRT的底層都使用了開源的DDS作為最重要的通信機制。針對自動駕駛領(lǐng)域的SOC芯片,如Xavier和Orin,也都預(yù)留了DDS接口。RTI作為OMG組織董事會的成員,領(lǐng)導(dǎo)了DDS標(biāo)準(zhǔn)的制定,并開發(fā)了名為Connext的DDS品牌,因此也被稱為ConnextDDS。

開源DDS相對于商用的RTIDDS等來說,是根據(jù)OMG官方標(biāo)準(zhǔn)開發(fā)的,但源代碼是開放的,主要包括FastDDS和OpenDDS等。

在自動駕駛領(lǐng)域,由RTI原核心團隊成員在歐洲創(chuàng)辦的eProsima公司推出了影響力較大的開源DDS,名為FastDDS。在eProsima將FastDDS的源代碼開放后,用戶可以直接在GitHub上免費下載。使用FastDDS需要向eProsima支付費用以獲得支持。

OpenDDS由位于圣路易斯和鳳凰城的ObjectComputing的ACE/TAO團隊開發(fā),與FastDDS有一定的相似性,兩者都基于RTPS實現(xiàn),都是面向數(shù)據(jù)的通信框架,并遵循同一標(biāo)準(zhǔn)。這類框架的典型特征是去中心化、支持QoS機制和實時通信,并通常與序列化工具如protobuf進行綁定。

盡管開源DDS對RTI的商用DDS形成一定的競爭,但開源DDS也存在一些不足之處:開源DDS的使用門檻較高,例如RTIDDS的服務(wù)策略有50多個,而開源DDS只有23個,完整性遠(yuǎn)不及前者;RTI的DDS已通過了ASIL-D認(rèn)證,而開源DDS尚未達(dá)到這一認(rèn)證水平。

四、SOME/IP與DDS對比

SOME/IP和DDS是目前在域控最常用的兩類通信中間件,它們都是面向服務(wù)的通信協(xié)議,并采用以數(shù)據(jù)為中心的發(fā)布/訂閱模式。

然而,SOME/IP和DDS在許多方面也存在差異,主要區(qū)別如下:

1、主要應(yīng)用領(lǐng)域不同:SOME/IP專為汽車領(lǐng)域開發(fā),針對汽車領(lǐng)域的需求定義了一套通信標(biāo)準(zhǔn),并在汽車領(lǐng)域深耕已久;而DDS是一個工業(yè)級別的強實時通信標(biāo)準(zhǔn),適應(yīng)性較強,但在應(yīng)用于汽車/自動駕駛領(lǐng)域時需要進行專門的裁剪。

2、靈活性和可伸縮性不同:相比SOME/IP,DDS引入了許多標(biāo)準(zhǔn)內(nèi)置特性,如基于內(nèi)容和時間的過濾、與傳輸無關(guān)的可靠性、持久性、存活性、延遲/截止時間監(jiān)視、可擴展類型等。當(dāng)AUTOSARAP與DDS一起構(gòu)建通信框架時,該框架不僅與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論