那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SOA通信中間件及其協議介紹

jf_EksNQtU6 ? 來源:智能汽車開發者平臺 ? 2023-08-17 10:05 ? 次閱讀

前言

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

一.通信中間件

在軟件定義汽車中,應用程序之間的跨進程或跨核通信是一個需要解決的問題。模塊化架構為開發人員提供了便利,但也引入了對通信中間件的需求。

在沒有使用通信中間件的情況下,開發人員需要自己定義數據的格式、發送方和接收方。然而,使用基于服務/數據的發布和訂閱模式(如SOME/IP和DDS),開發人員只需要明確需要什么樣的數據以及數據應該傳遞到哪里,而無需關注數據的發送方和發送方式。

以數據為中心是相對于傳統的以消息為中心而言的,其本質區別在于通信中間件知道存儲了什么數據并能夠控制如何共享這些數據。對于傳統的以消息為中心的中間件,程序員必須為發送消息編寫代碼,而對于以數據為中心的中間件,程序員只需為如何共享數據編寫代碼,然后可以直接共享數據值。

通信中間件可以采用點對點、消息隊列和發布/訂閱三種工作模式,SOME/IP和DDS都采用了發布/訂閱模式。

在發布/訂閱模型中,發布者和訂閱者通過主題進行關聯,雙方不需要知道對方在何處,也不需要同時在線。這實現了通信雙方在時間、空間和數據通信上的多維松耦合

此外,與面向信號CAN相比,DDS和SOME/IP都是面向服務的通信協議。兩者的區別在于面向信號的數據傳輸始終循環發送,而面向服務的通信方式不同,只有在客戶端請求或服務器通知特定訂閱者時,才在客戶端-服務器配置中交換數據。這確保了永遠不會浪費帶寬,并且僅在需要的時間和地點進行數據通信/交換。因此,面向服務的通信協議可以大大減少網絡負載,提高通信效率。

在軟件定義汽車時代,車內的所有可調用功能都被視為服務,并提供不同類型的調用接口,這些接口可以按以下方式分類:

1、API接口:提供各類函數的調用接口,使應用程序能夠調用系統內部的功能實現函數。應用程序可以通過調用相關的API接口來提供和使用功能服務。

2、文件方式:以配置文件或設備文件的形式提供系統內部的調用能力。這些文件可以通過配置自動生成,包含有效的配置信息,并且可以在運行環境中被特定的程序讀取和識別,實現特定的服務。

3、系統原生服務:操作系統和基礎類庫提供的可操作能力,包括對系統CPU和內存的監測、應用程序的監控、系統資源的劃分等。此外,還可以調用C++、boost等基礎類庫。

4、IPC接口:各種IPC機制提供系統內進程間的調用能力,包括使用套接字(socket)、共享內存等進程間通信方式,以及使用特定的跨核通信方式如IPCF。

5、協議棧接口:通過網絡協議棧提供跨平臺的調用能力,包括SOME/IP、DDS、MQTT、HTTP等網絡協議的調度服務、接口封裝和協議轉換等。

盡管在互聯網領域中SOA(面向服務的架構)已經被應用了很長時間,但在汽車行業中,它算是相對較新的概念。在Adaptive AutoSAR框架中,通信管理模塊包括進程間通信和網絡協議棧。

鑒于汽車應用場景和通信需求的特殊性,許多互聯網的SOA技術并不能直接應用于汽車領域。一般來說,SOA通信中間件系統的各個層面需要滿足以下要求:

1、本地服務和遠程服務之間的通信應該使用統一的接口描述語言(IDL)定義的文件作為契約。IDL是一種中立的接口描述語言,與具體的操作系統和編程語言無關。

2、SOA框架的底層核心功能應具備以下特點:服務發現、消息序列化、內部事件/消息處理和傳輸功能。應用程序、服務和操作系統之間可以通過標準的通信協議或服務接口相互通信或訪問,特別是要滿足傳感數據的大數據吞吐傳輸需求。必須支持典型的車內通信協議,如SOME/IP協議、DDS規范等。服務發現功能應具備訪問控制功能,以防止未經授權的用戶進行竊聽和侵入;傳輸功能應具備數據加密和簽名等功能,以確保通信數據的安全性。

在未來,汽車將與更多的基礎設施進行連接,為了實現與它們的連接,將需要使用不同的通信協議。

image.png

汽車SOA 通信架構

HTTP、MQTT、SOME/IP和DDS等協議都用于實現SOA架構中的通信,只是在不同的場景下承擔不同的責任。例如,SOME/IP協議用于車內節點之間的服務通信,而HTTP和MQTT用于與互聯網模塊進行通信。盡管它們在實現機制上有些許差異,但它們可以相互切換使用。

MQTT、DDS、AMQP、REST和CoAP等協議都已被廣泛應用,并且每種協議都至少有10種不同的代碼實現。它們都宣稱支持實時的發布/訂閱物聯網協議。然而,在具體的系統架構設計中,需要考慮實際場景中的通信需求,并選擇適合的協議。各種協議的特點如表所示。

ef8a1e30-3c1a-11ee-9e74-dac502259ad0.png

二、SOME/IP 介紹

2011年,寶馬設計并提出了SOME/IP(Scalable Service-oriented Middleware over IP)協議。SOME/IP采用服務器-客戶端的服務通信模式,并且具備高度可擴展性。SOME/IP協議是一種應用層協議,運行在TCP/UDP傳輸協議之上(車載以太網第四層以上)。它作為以太網通信的中間件,實現應用層與IP層之間的數據交互,使其不依賴于操作系統,并且兼容AUTOSAR和非AUTOSAR平臺。因此,SOME/IP可以獨立于硬件平臺、操作系統和編程語言。

efe9d67c-3c1a-11ee-9e74-dac502259ad0.png

SOME/IP 協議架構

SOME/IP具備滿足車用需求的特性,主要包括以下幾個方面:基于服務的通信方式,占用空間小,與AUTOSAR兼容(其他中間件不具備兼容性),可伸縮性(適用于小型和大型平臺),以及兼容性(可適用于車輛使用的各種操作系統,如AUTOSAR、OSEK、QNX和Linux)。

SOME/IP支持AUTOSAR CP、AUTOSAR AP以及非AUTOSAR平臺之間的通信交互。寶馬設計SOME/IP協議后,它被AUTOSAR納入正式標準,并隨著CP規范的發布而被廣泛應用于車載以太網,因此可以說是AUTOSAR CP推動了SOME/IP的廣泛使用。

在AUTOSAR架構中,SOME/IP-SD模塊位于AUTOSAR BSW Mode Manager模塊(BswM)和AUTOSAR Socket Adaptor模塊(SoAd)之間。BswM模塊提供了通用模式請求和服務請求之間的連接,而SoAd模塊處理以太網堆棧和SD模塊之間的服務請求。通過配置SoAd中的Socket Connection表,可以接收其他ECU的SD模塊發送的單播和多播報文。

借助SOME/IP協議的高度平臺擴展性,可以實現不同平臺之間的數據交互,而統一的SOME/IP通信機制是不同平臺通信的前提。為了在不同軟件平臺上運行SOME/IP,實現整車以太網上的SOA架構通信機制,AP規范中也同步引入了SOME/IP,因此在AUTOSAR系統中,CP和AP之間實現SOME/IP通信相對容易。

為了促進非AUTOSAR軟件平臺與車內CP和APECU之間的交互,GENIVI系統同樣開發了一套開源的vSOME/IP軟件源碼,以便與CP/AP進行交互。然而,由于vSOME/IP是開源的,性能可能略有差異,因此需要統一的規范進行約束,以進行深度的二次開發。目前,全球最大的商用SOME/IP產品供應商是Vector,而開源版的vSOME/IP由GENIVI協會維護。

三、DDS 介紹

DDS(Data Distribution Service)是由OMG(Object Management Group)發布的分布式通信規范。OMG成立于1989年,是一個國際性、開放性、非營利性的技術標準聯盟,由供應商、終端用戶、學術機構和政府機構推動。OMG工作組致力于制定企業集成標準和開發可為數千個垂直行業提供現實價值的技術標準,其中包括統一建模語言SYSML、UML,以及中間件標準CORBA、DDS等。

DDS最早應用于美國海軍系統,用于解決在軍艦系統復雜網絡環境中進行大量軟件升級時的兼容性問題。隨著DDS被ROS2和AUTOSAR引入,目前它已經廣泛應用于航空、航天、船舶、國防、金融、通信、汽車等領域。

DDS的特點:

1、數據中心(Data Centricity)

DDS最重要的特性是以數據為中心,這與其他許多通信中間件不同。DDS的數據共享以Topic為單元,應用程序能夠通過Topic判斷包含的數據類型,而不必依賴其他上下文信息。同時,DDS能夠按照用戶定義的方式自動地存儲、發布或訂閱數據,使應用程序能夠像訪問本地數據一樣進行數據的寫入或讀取。

f005f5b4-3c1a-11ee-9e74-dac502259ad0.png

DDS 數據中心

2、全局數據空間(Global Data space)

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

image.png

全局數據空間

3、服務質量(Quality of service)

DDS還提供了高度靈活的QoS(Quality of Service)策略,以滿足用戶對數據共享方式的不同需求,例如可靠性和故障處理等。對于對數據安全性要求較高的系統,DDS還提供了精細的數據安全控制,包括應用程序身份認證、權限控制和數據加密等。

4、動態發現(Dynamic Discovery)

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

5、可擴展架構(Scalable Architecture)

DDS可應用于邊緣計算、霧計算和云計算領域。在邊緣計算中,DDS可以實現高速實時的設備間通信。在中間系統中,DDS提供健壯可靠的QoS和內容感知的信息流。DDS提供可擴展的信息訪問和數據分發手段,用于集成信息系統,將各系統接入云端。

OMG DDS的適用范圍廣泛,涵蓋了從小型設備到云計算系統等超大型系統。DDS能夠以超高速傳輸數據并同時管理數千個數據對象,提供極高的可用性和安全性,非常適用于物聯網。通過提供一個標準的通信層,DDS屏蔽了底層復雜性,簡化了分布式系統的開發。

f03afbce-3c1a-11ee-9e74-dac502259ad0.png

可擴展架構

6、安全(Security)

DDS為關鍵任務的工業物聯網環境提供了全面的安全保護機制,跨系統、跨供應商,覆蓋從邊緣設備到云端的安全性需求。

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

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

開源DDS相對于商用的RTI DDS等來說,是根據OMG官方標準開發的,但源代碼是開放的,主要包括Fast DDS和Open DDS等。

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

Open DDS由位于圣路易斯和鳳凰城的Object Computing的ACE/TAO團隊開發,與Fast DDS有一定的相似性,兩者都基于RTPS實現,都是面向數據的通信框架,并遵循同一標準。這類框架的典型特征是去中心化、支持QoS機制和實時通信,并通常與序列化工具如protobuf進行綁定。

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

四、SOME/IP 與 DDS 對比

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

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

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

2、靈活性和可伸縮性不同:相比SOME/IP,DDS引入了許多標準內置特性,如基于內容和時間的過濾、與傳輸無關的可靠性、持久性、存活性、延遲/截止時間監視、可擴展類型等。當AUTOSAR AP與DDS一起構建通信框架時,該框架不僅與現有API和應用程序兼容,還在可靠性、性能、靈活性和可伸縮性等方面提供重要的好處。

3、訂閱方和發布方的耦合程度不同:在SOME/IP中,訂閱方在正常數據傳輸之前需要與發布方建立網絡連接并詢問發布方是否提供所需服務,從這個角度看,節點之間仍然存在一定的耦合性。而在DDS標準下,每個訂閱方或發布方只需要在自己的程序中訂閱或發布傳感器數據,無需關心任何連接。因此,在DDS中,服務的訂閱方和發布方更加徹底地解耦。

4、服務策略不同:良好的服務質量(QoS)是DDS標準相對于SOME/IP最重要的特征。SOME/IP只有一個QoS,而RTI DDS和開源DDS分別提供了50多個和20多個QoS,這些QoS基本上涵蓋了大多數可預見的智能駕駛場景。

5、應用場景不同:從應用場景的角度來看,SOME/IP更適用于車載網絡,并且只能在基于IP類型的網絡環境中使用;而DDS在傳輸方式上沒有特別的限制,可以支持基于非IP類型的網絡,例如共享內存、跨核通信、PCIe等。此外,DDS還提供了完備的車聯網解決方案,其獨有的DDS Security和DDS Web功能為用戶提供了一站式的“車-云-移動端”解決方案。

f053e8f0-3c1a-11ee-9e74-dac502259ad0.png

在商業落地中,SOME/IP和DDS之間存在直接的競爭關系,但由于它們在應用領域、靈活性和服務策略等方面存在差異,整車廠可以根據需求選擇適合的通信中間件,甚至可以同時使用二者。這也是為什么AUTOSAR AP既支持SOME/IP也支持DDS的原因。

來源:智能汽車開發者平臺

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151911
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2769

    瀏覽量

    464377
  • 通信
    +關注

    關注

    18

    文章

    6070

    瀏覽量

    136423
  • 中間件
    +關注

    關注

    0

    文章

    65

    瀏覽量

    18216
  • SOA
    SOA
    +關注

    關注

    1

    文章

    293

    瀏覽量

    27572

原文標題:SOA通信中間件及其協議介紹

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于SOA的數字電視中間件系統的研究與實現

    基于SOA的數字電視中間件系統的研究與實現針對數字電視制播系統應用集成時存在的異構問題.對數字電視中間件系統進行研究。提出數字電視發送端制播系統中間件的基本思想。該系統技術架構為
    發表于 10-06 10:03

    手機中間件

    國內外現在有什么比較成熟的手機中間件平臺嗎? 求技術介紹
    發表于 05-29 17:34

    如何去實現一種基于SOA的RFID中間件設計?

    本文提出了一種基于SOA的RFID中間件方案。
    發表于 06-03 07:19

    一種嵌入式系統通信中間件的設計

    基于嵌入式系統的跨平臺實現互通、互連、互操作及通用性的特殊要求,我們根據中間件的設計思想研制開發了一種基于嵌入式技術的各通信設備之間進行網絡互連的通信中間件
    發表于 05-30 09:33 ?35次下載

    基于SOA應用JMX和JMS技術的RFID中間件設計

    針對企業級的需求,提出了一種基于SOA技術及JMX和JMS的RFID中間件架構,介紹了基礎架構的
    發表于 10-15 09:55 ?12次下載

    基于JMS的RFID中間件設計與實現

    介紹了Radio Frequency Identification (RFID) 和物聯網的RFID 中間件技術,設計了RFID 中間件整體框架,在此基礎上設計并實現了一個基于JMS 的商品零售的邊緣
    發表于 10-19 16:16 ?17次下載

    消息中間件在數據交換中的應用研究及其面臨的挑戰

    消息中間件在數據交換中的應用研究及其面臨的挑戰 摘要:簡要介紹了消息中間件在數據交換中的應用,論述了消息中間所面臨的挑戰及應對措施:傳輸消
    發表于 10-13 16:01 ?872次閱讀
    消息<b class='flag-5'>中間件</b>在數據交換中的應用研究<b class='flag-5'>及其</b>面臨的挑戰

    什么是中間件

    什么是中間件 中間件是一種獨立的系統軟件或服務程序,分布式應用軟件
    發表于 12-28 17:54 ?1388次閱讀
    什么是<b class='flag-5'>中間件</b>

    通信中間件設計實現及其在銀行中的應用

    本文 對 該 中間件方案及實現在中國建設銀行中的應用情況作了調查,收集、整理了在銀行中的應用情況資料,描述了銀行使用平臺構建核心業務系統的過程,通過數據統計資料分析,
    發表于 09-20 16:10 ?16次下載
    <b class='flag-5'>通信中間件</b>設計實現<b class='flag-5'>及其</b>在銀行中的應用

    常見的中間件有哪些?匯總解析

    世界著名的資訊機構Giga Group把中間件分為三大類,共十五種。另一家世界著名的資訊機構IDC同時指出,最近幾年到未來的2002年,增長率最高的中間件將集中在數據存取中間件、消息中間件
    發表于 12-01 08:48 ?5.5w次閱讀

    物聯網軟件系統中的RFID中間件介紹

    RFID中間件是物聯網軟件系統中的關鍵和靈魂,為解決分布異構問題,人們提出了中間件的概念。中間件是位于平臺(硬件和操作系統)和應用之間的通用服務,這些服務具有標準的程序接口和協議。針對
    發表于 04-15 16:00 ?4752次閱讀
    物聯網軟件系統中的RFID<b class='flag-5'>中間件</b><b class='flag-5'>介紹</b>

    基于SOA的RFID中間件如何來設計

    RFID中間件是一種消息導向的軟件中間件,信息是以消息的形式從一個程序模塊傳遞到另一個或多個程序模塊。
    發表于 01-07 16:22 ?753次閱讀
    基于<b class='flag-5'>SOA</b>的RFID<b class='flag-5'>中間件</b>如何來設計

    通信中間件接口手冊

    通信中間件接口手冊
    發表于 06-29 11:37 ?2次下載

    汽車軟件通信中間件iceoryx和它的零拷貝技術

    1. iceOryx 是什么?這是一頭漂亮的"冰羚",它是一種用于汽車軟件中的 ICP 通信中間件,由 Eclipse 基金會發布和維護。 通信中間件在汽車軟件開發中占據越來越重要的地位,這是
    發表于 05-15 11:42 ?0次下載
    汽車軟件<b class='flag-5'>通信中間件</b>iceoryx和它的零拷貝技術

    自動駕駛通信中間件

    ,而中間件的任務就是確保網絡 本身對軟件組件是透明的。比如我們所熟知的SOME/IP就是一種典型的中間件技術實現。使用中間件能夠簡化系統的開發,提 高管理和測試效率。 車載網絡通信
    發表于 06-01 11:32 ?0次下載
    自動駕駛<b class='flag-5'>通信中間件</b>
    大发888官网 平台| 大发888娱乐场 17| 大发888注册送钱| 朝阳区| 百家乐官网大小牌路的含义| 百家乐官网园qq群| 百家乐策略网络游戏信誉怎么样| 香港六合彩白小姐图库| 澳门百家乐官网网上| 免费百家乐官网过滤工具| 先锋百家乐的玩法技巧和规则| 卡卡湾网上娱乐| 网上百家乐官网软件大全酷| 澳门百家乐走势图怎么看| 大发888老虎机网页版| 真钱百家乐官网开户试玩| 百家乐转盘技巧| 大发888怎么代充| 百家乐官网游戏资料网| 伯爵百家乐官网娱乐| 百家乐高手心得| E乐博百家乐| 金木棉百家乐官网的玩法技巧和规则| 玩百家乐掉房| 百家乐官网长龙怎么预判| 百家乐赢钱| 博讯网| 百家乐保单详图| 华人棋牌游戏| 可信百家乐官网的玩法技巧和规则| 百家乐那里可以玩| 百家乐官网现金网平台| 百家乐群1188999| 新乡市| 噢门百家乐注码技巧| 美高梅娱乐城网址| 国际娱百家乐官网的玩法技巧和规则 | 做生意选店铺位置| bet365充值| 百家乐官网缩水工具| 澳门顶级赌场|