身處汽車行業的我們,一定深知新技術的應用或者新概念的提出絕不會事出無因,通常是為了搶奪新技術高地,讓汽車更好滿足現在和未來的需求。那么,針對汽車電子電氣架構領域掀起的這股SOA風潮是由什么導致的?SOA是什么?SOA帶來什么好處?又應怎樣實施SOA呢?
小編:一、為什么汽車要上SOA?
老車新體驗,快速滿足市場需求
?? 必須打破車內靜態交互模型
車輛內部控制器通過傳統總線連接,從而實現通信交互,但是信號的收發關系和路由信息通常是靜態的、不可再更改的,如果后期突然新增節點,改矩陣和路由表?再如果車輛上市后想新增一個功能到某個控制器,OTA可以將軟件包本身下載到該控制器,但這個新“朋友”怎樣從其他節點獲得所需信息呢?
?? 必須建立功能靈活治理的系統架構
OTA是目前解決車輛在線升級,持續提高用戶用車體驗的好方法,一個功能一個盒子的時代已經過去了,但…OTA僅僅是途徑,車輛的電子電氣架構和軟件設計架構能否支持得起功能更新呢?如果一個新增功能的實現,與車輛原有的系統架構、驅動方式甚至通信方式不匹配,甚至相沖突,肯定是不可行的。那么應該怎樣解決呢?
萬物互聯,汽車要進物聯網
汽車在不久的將來會在互聯網、物聯網、能源物聯網中都占有重要的地位,那么汽車必須具備開放性、網聯性甚至自主性和自進化性,自動駕駛、V2X、邊緣計算都是目之可見的應用場景,電子電氣架構和軟件平臺架構在面對這樣需求的時候,應如何處理?
已有的電子電氣架構及相應的解決方案,很難對應并且解決目前汽車所遇到的挑戰,需要新的方法論來打破僵局,于是SOA的車載運用作為解決方案被提了出來。
小編:二、為什么說SOA=SOME/IP的話,就低估了整件事?
先說說,什么是SOA(Service-Oriented Architecture)呢?
?? BEA資深SOA架構師Jeff Davies在其《SOA權威指南》中說到, SOA不是一種具體的技術,而是一種架構策略層面的指導思想。
?? OASIS(結構化信息標準促進組織)給予出的SOA定義“SOA是一個范式,以達到組織利用處于不同所有權范圍控制下的分布式系統。”
?? 百度百科告訴我們,面向服務的架構(SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)進行拆分,并通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。
SOA的概念出自IT界,然而也還沒有大家公認的定義,但是SOA的目標及其應具有的特性卻是清晰明了的:
? 目的:構建靈活可變的平臺系統
? 特性:
1. 服務間 松耦合,無狀態、無依賴
2. 服務內 高內聚且完整,可復用、可靈活重組
3. 服務通信標準化
從中我們看到SOA實現重點在于:
?? 服務通信標準化,即面向服務的通信(SOC,Service-Oriented Communication)
?? 以服務重用、靈活重組為目的的服務劃分,即基于服務的復用共享式設計(SORS,Service-Oriented Reuse-shared Design)
?? 還有一個隱形的重點,就是用于承載和適配SOC和SORS的軟件實現,即基于服務的軟件架構(SOS,Service-Oriented Software Architecture)
在車載環境中,SOME/IP基本解決了SOC,但SORS呢?SOS呢?僅有SOC的SOA是沒有靈魂的,是不完整,也不可能實現SOA的目標,故而,若認為SOA=SOME/IP的話,你真的低估了SOA。
圖1 SOA示意圖
小編說:三、v-SOA怎么實現呢?
v-SOA:vehicle SOA,即應用在車輛上的SOA 。SOA在IT領域基本是基于以太網實現的,車載環境下優的實現方式應該是繼承成熟的技術和實現思路,好在車載以太網發展至今也有了幾年的積累,國內自主研發應用以太網技術的新一代車型,已經陸續量產發售了,站在車載以太網的肩膀上去實現SOA,無疑是一種不錯的選擇。聚焦于汽車電子來說,可以從SOC(Service Oriented Communication)、SORS(Service-Oriented Reuse-shared Design)和SOS(Service-Oriented Software Architecture)的介紹v-SOA的實現。
SOC(Service Oriented Communication)
SOC主要為了實現通信標準化,動態建立通信關系,連接信息孤島。車載以太網協議架構中的SOME/IP就是基于SOA思想定義的通信中間件,熟悉SOME/IP(Service-Oriented MiddleWare over IP)的小伙伴會知道,SOME/IP是針對車載環境定義一套通信協議,出自AUTOSAR,可以達到屏蔽系統異構性,實現互操作的目的,所以,就實現SOC而言,我們能夠通過SOME/IP來完成(當然SOC并非僅能通過SOME/IP來實現,在滿足一些前提條件時,其他傳輸協議也可以使用,例如DDS等)。
通信行為:SOME/IP吸收了RPC機制,順利地繼承了Server-Client的模型,SOME/IP Service Discovery可以讓Client靈活可靠的找到Server,并訂閱感興趣的服務內容,Client可以用Request-Response、Fire&Forget的模型訪問Server所提供的Services;Server可以利用Notification推送給Client已經訂閱的服務內容。由于以太網采用交換機的組網方式,拓撲內以太網節點的交互能夠二層轉發,網內節點可以動態的建立服務提供與消費的關系,不依賴于其他額外的機制和組件。例如,訂閱機制,高精地圖Server向外提供高精地圖數據(Offer Service),ADAS控制單元想要訂閱其車道線相關信息(Subscribe EventGroup),高精地圖Server同意其訂閱請求(Subscribe EventGroup Ack),而后Server開始發布高精地圖的車道線數據給ADAS控制單元。再如,請求與響應機制,HU想要獲取DVR內存信息,此時DVR是Server,HU是client,由HU向DVR發出request,DVR收到請求后,根據自身當前狀態,回復response。
圖2 SOME/IP通信示例
服務接口描述:統一的服務接口描述是跨系統通信的重要組成,SOME/IP有自己的一套序列化原則,系統設計階段要基于SOME/IP提供的數據類型,統一設計服務接口描述,例如下表,還要進一步定義尋址信息等。
小編說:進度條撐不住了,今天就先跟大家分享到這里,下一期我們再聊SORS、SOS的相關實現,以及SOA實現現狀,看看各大OEM是如何實現他們自己的SOA的,敬請期待~