<acronym id="olop1"><th id="olop1"></th></acronym>
<strike id="olop1"><blockquote id="olop1"></blockquote></strike>

<button id="olop1"><xmp id="olop1">

<button id="olop1"><dfn id="olop1"></dfn></button>

<button id="olop1"><dfn id="olop1"></dfn></button>

<button id="olop1"></button>
<strike id="olop1"></strike>

<option id="olop1"></option>
<strike id="olop1"></strike>
<button id="olop1"></button>

400-821-6015
行業資訊
您當前的位置:首頁 ? 行業資訊 ? 行業資訊
內部資訊行業資訊

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

發布日期:2023-09-01

作者:姜鴻雷


[本文選自《智能汽車:新一代技術與應用》.姜鴻雷.電子工業出版社——書中第八章部分內容]



前言


  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規范等。服務發現功能應具備訪問控制功能,以防止未經授權的用戶進行竊聽和侵入;傳輸功能應具備數據加密和簽名等功能,以確保通信數據的安全性。


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


圖片

汽車SOA 通信架構


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


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


圖片




  二、SOME/IP 介紹



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


圖片

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能夠按照用戶定義的方式自動地存儲、發布或訂閱數據,使應用程序能夠像訪問本地數據一樣進行數據的寫入或讀取。

圖片

DDS 數據中心


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

圖片

全局數據空間


  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屏蔽了底層復雜性,簡化了分布式系統的開發。

圖片

可擴展架構

  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功能為用戶提供了一站式的“車-云-移動端”解決方案。
圖片
  在商業落地中,SOME/IP和DDS之間存在直接的競爭關系,但由于它們在應用領域、靈活性和服務策略等方面存在差異,整車廠可以根據需求選擇適合的通信中間件,甚至可以同時使用二者。這也是為什么AUTOSAR AP既支持SOME/IP也支持DDS的原因。

參考文獻:

[1] 宋珂. AUTOSAR規范與車用控制器軟件開發. [M]. 化學工業出版社. 2019-01[2] 中國汽車基礎軟件生態委員會. 車載SOA軟件架構技術規范1.1. [R]. 2021-09[3] Dr. Joachim Schlosser. Why Scrum for embedded software. [R]. 2020-07[4] Stefan Wagener.Jochen M?ller.Christof Menzenbach. How high-performance computers shape the user experience in the cockpit of the future. [R].[5] JASPAR Next Generation High-Speed Network WG. What is the conqueror in the SOA platform for the future in-vehicle networks? [R]. 2021-06[6] ARM. How the SOAFEE Architecture Brings A Cloud-Native Approach To Mixed Critical Automotive Systems. [R]. 2021-09[7] Jochen Steuerwald. A tool and workflow approach for automotive ECUs using AUTOSAR Classic. [R]. 2020-06[8] Steffen Kuhn. Combined application of agile practices and functional safety in automotive software development. [R]. 2020-10[9] STEVE HOWARD.JILL BRITTON. Claiming Compliance for Coding Standards. [R].[10] Trista Lin.David Fernandez Blanco.Juleixis Guariguata. Communication Management in Automotive Service Oriented Architectures. [R]. 2021-11[11] dSPACE Inc. The future of agile software development and validation for autonomous vehicles. [R]. 2021[12] Oded Mann.Amit Shah. Future E/E vehicle architectures and the shifting goal post for mainstream OTA adoption. [R]. 2021-10[13] W3C.GENIVI. Service Oriented Architecture is coming to your vehicle program. [R]. 2021-04[14] Anders Kallerdahl. How can we design and configure systems where Adaptive and Classic AUTOSAR co-exist? [R]. 2020-11[15] Christian G?tz. How to Build a Reliable Connected Car Platform with MQTT. [R]. 2020-02[16] Robert Bosch. INTRODUCTION TO ECLIPSE ICEORYX [R]. 2020-02[17] Vikrant Bhangay.Shehan P R.Renjith G. Modern day eCockpit Architecture-Approaches & Challenges. [R]. 2020-04[18] 中國汽車工業協會. 軟件定義汽車服務API.[19] Omkar Panse. Service oriented architecture for software driven vehicles.[20] ARM. Scalable Open Architecture For the Embedded Edge. [R]. 2021[21] David Rush.Erich Meier. The Future of Work Digital Transformation in Engineering. [R]. 2021[22] Rensas.Opensynergy. Implement virtual I/O device(virtio) standard. [R]. 2021[23] 龔小平. 基于模型設計開發面向服務的應用. [R]. 2021-05[24] (法)尼古拉斯·納威特,(法)弗朗西斯·西蒙-萊昂. 汽車嵌入式系統手冊. [M]. 機械工業出版社. 2016-01[25] 汪珺. 汽車行業的IT數字化轉型——DevOps. [R]. 2022-01[26] 楊國梁. 通過Shift Left 提高汽車軟件競爭力. [R]. 2021-04[27] 云原生產業聯盟. 云原生發展白皮書. [Z]. 2020-07[28] 中國汽車工業協會. 中國汽車基礎軟件發展白皮書 2.0. [Z]. 2021-09[29] 楊世春. 自動駕駛汽車平臺技術基礎. [M]. 清華大學出版社. 2020-06[30] 肖猛. 自動駕駛軟件架構之中間件與SOA. [R]. 2021-10


轉自汽車電子與軟件


上海創程車聯網絡科技有限公司版權所有 滬ICP備11045498號-1   技術支持:網站建設
国产免国产免 费,久久激情无码免费综合视频,色呦呦网站,欧美乱妇日本无乱码特黄大片
<acronym id="olop1"><th id="olop1"></th></acronym>
<strike id="olop1"><blockquote id="olop1"></blockquote></strike>

<button id="olop1"><xmp id="olop1">

<button id="olop1"><dfn id="olop1"></dfn></button>

<button id="olop1"><dfn id="olop1"></dfn></button>

<button id="olop1"></button>
<strike id="olop1"></strike>

<option id="olop1"></option>
<strike id="olop1"></strike>
<button id="olop1"></button>