隨著汽車以太網技術研究的深入,診斷、刷新、娛樂、智駕等功能對于帶寬要求的日益增加,目前基本所有整車廠都在考慮在下一代平臺上應用以太網技術。而隨著汽車以太網技術的發展,經常會涉及到SOA這個概念,然而SOA到底是什么?與之相關的一系列的概念(如服務、服務接口、SOME/IP)又是什么?這些概念之間到底是什么關系?為什么要用SOA?不用可不可以?這些疑問肯定困擾著大家。今天我們就按照下圖所示的步驟,一步步的來拆解它們。
SOA的理解思路
1 首先看一下服務(Service)是什么?
“服務”最初是一個社會學名詞。1990年,市場營銷學教授格魯諾斯(Gronroos)給服務下的定義是:“服務是以無形的方式,在顧客與服務職員、有形資源等產品或服務系統之間發生的,可以解決顧客問題的一種或一系列行為。”我們SOA里的服務是從這里引申出來的,在IT相關的領域里,我們可以簡單理解為“實現某種功能的函數或方法”。而這里的服務(函數或方法)能夠被顧客(客戶端)所使用,能夠解決顧客這樣或那樣的問題(被調用所實現的功能)。舉個生活中的例子,去全聚德吃烤鴨,全聚德能夠提供烤鴨給顧客,這就是一種服務。這里先對服務有個基本了解。
2 服務接口(Service Interface)又是什么?
“服務接口”直白的理解就是服務與外界進行聯系的接口,也就是服務模塊與外界溝通時的信息出入口。如果你寫過程序,那么一個能夠被其他模塊調用的函數名稱,或者一個封裝的API,這些就是接口。再看去全聚德吃烤鴨的例子,服務員就可以理解為一個服務接口。服務員清晰的知道后廚能夠提供哪些菜,也能夠將你的點菜信息輸入給后廚,還能夠把做好的烤鴨提供給你,而這里的“后廚”就可以理解為是服務本身。
3 再看一下SOME/IP是個什么鬼?
SOME/IP = Scalable service-Oriented MiddlewarE over IP。即“運行于IP之上的可伸縮的面向服務的中間件”。天哪,捅了馬蜂窩了,一下子又是這么多陌生的名詞:Scalable, MiddlewarE,IP!別慌,我們先來解釋一下什么是Middleware吧!
“Middleware中間件”是一種獨立的系統軟件或服務程序,分布式應用軟件可借助Middleware在不同的技術之間共享資源。(分布式應用軟件,在這里指的就是“服務”;不同的技術之間,在這里指的就是“不同的平臺或操作系統,比如Linux系統或AUTOSAR系統等。)
IP是Internet Protocol,指的是TCP/IP的通信方式。
Scalable可伸縮,指的是該中間件能夠適配于不同的平臺及操作系統,其支撐的平臺可大可小。
綜合來看,SOME/IP就是指能夠在不同平臺上應用的,位于TCP/IP協議之上的,用于支持分布式應用軟件,幫助分布式應用軟件來傳遞信息的這么一套機制。說白了,就是把服務接口里的內容通過這種標準化的方式打包,然后交給TCP/IP這個快遞員。
4 此時再看SOA是什么?
SOA=Service-Oriented Architecture,即面向服務的架構,是一種軟件架構設計的模型和方法論。IT行業的概念是:從業務角度來看,以最大化“服務”的價值為出發點,可以充分利用企業已有的各種軟件體系,重新整合并構建起一套新的軟件架構。在汽車行業可以理解為,SOA是面向各種應用層程序(即“服務”,包含各種控制算法、顯示功能等應用程序)進行設計,且不依賴于通信方式的一種架構設計理念。在架構設計工作中,重點關注汽車上的某些功能(“服務”)應該如何實現,該功能實現時與外界的各種信息交互(“服務接口”),該功能與外界交互時的基本流程(“服務序列”)。
5 SOA與SOME/IP有什么關系?
SOA設計的是“服務”架構,是應用程序的功能以及應用程序的對外接口;SOME/IP打包的是“服務接口”,是應用程序的對外接口。如此看來,SOA設計內容中的接口部分,需要通過SOME/IP進行打包傳輸。SOA是軟件架構的一種設計理念;SOME/IP是一種將軟件接口進行打包的打包方式,是一種中間件。
6 SOA與以太網有什么關系?
“以太網”嚴格來講,指的是IEEE組織的IEEE 802.3標準所制定的技術標準內容,包括物理層的連線、電子信令和介質訪問層的內容。汽車行業通常所指的“以太網”是泛化之后的概念,涵蓋了基于以太網技術所實現的各種相關技術手段,包括TCP/IP協議、DoIP協議、SOME/IP協議等。“以太網”是一種通信手段。SOA與以太網之間的關系,是指采用SOA理念所設計的軟件架構,在與外界交互時,其接口可以通過“以太網”的通信方式進行傳輸,而基于SOME/IP中間件的方式則是一個最典型的應用方式。(當然若通過其他非以太網的通信方式來實現SOA也是可行的,但通常大家不那么用)。
SOA與SOME/IP及以太網的關系示意圖
7 為啥要用SOA呢?用了SOA有什么好處?
SOA是IT行業近年來典型的架構方式,大量的IT系統都是基于SOA實現的。而汽車領域采用SOA架構的一個主要原因就是能夠加快車輛與互聯網的互聯互通。包括:
? 能夠將各種新功能靈活地與互聯網集成,而無需通過信號到服務的轉換;
? 基于互聯互通,能夠大幅提升自動駕駛功能:便于實現高清地圖的創建、更新及路線預測等功能,便于實現車輛信息的上傳以及云端指令的下達;
? 基于互聯互通,快速提升系統與軟件升級性能:有助于實現更高效的OBD及OTA軟件升級,有助于實現各種遠程診斷、預診斷等功能;
? 基于互聯互通,能夠大幅提升影音娛樂功能的用戶體驗,能夠實現更為便捷的聯網功能,實現不同平臺間的各種App共享等功能;
? 更便于實現平臺架構升級:通過SOA及SD的方式,能夠有效降低架構升級帶來的復雜度;
8 哪些場合要用SOA呢?
SOA主要針對的是某些功能的實現,而不是指哪個節點,包括:
? 以汽車以太網作為主要通信協議的功能,例如:
自動駕駛或駕駛輔助的視頻流信息:各角度攝像頭獲取的視頻及解析出來的信息;
車內影音娛樂信息:比如音視頻播放、IVI/副駕及后座娛樂系統互動、導航等圖像信息傳輸、收音機、CD等功能;
診斷及刷寫功能:該內容在CAN及Eth都是以服務的方式實現的;
? 與車外互聯網實現互聯互通的功能,例如:
獲取車載攝像頭的信息,比如通過手機遠程獲取車輛周圍環境;
獲取車輛運行狀態信息,比如云端獲取車輛的駕駛習慣;
遠程控制車輛舒適性設備,比如通過手機遠程打開車輛空調;
遠程控制車輛安全性設備,比如通過手機為代駕遠程開鎖與啟動車輛運行;
9 SOA該如何實現,如何升級?
我們以“某車載智能攝像頭通過獲取限速標志信息(限速值、距離、置信度)并反饋給ADAS系統,來實現駕駛輔助功能”為例,分析一下在CAN總線的方式下以及在以太網SOA的方式下,會有如何區別(基本的內容)?此外,在攝像頭硬件不變動的情況下,如果該系統的功能不斷升級——由攝像頭提供行車記錄儀功能、攝像頭提供360環視的部分信息、限速提醒顯示在HUD中、攝像頭實現行人識別并顯示在IVI中,那么,在以太網SOA的方式下以及在CAN總線的方式下,分別應該如何進行功能提升(增加的內容)?如下表所示:(該功能僅為示意,實際的音視頻信息不會采用CAN總線通通信的。)
總結:問完這些問題之后,再回頭看SOA到底是什么?是否非要用SOA?
其實SOA( Service-Oriented Architecture)就是面向服務的架構,是一種軟件架構的設計理念。SOA的實現需要基于SOME/IP及TCP/IP的通信方式。在汽車領域,SOA及以太網的應用對于實現車內高帶寬數據的互聯互通、汽車與外部網絡的互聯互通都有其一定的優勢,而實現某些特定功能,也需要采用SOA技術。
審核編輯 :李倩
-
以太網
+關注
關注
40文章
5585瀏覽量
174803 -
SOA
+關注
關注
1文章
300瀏覽量
28026 -
函數
+關注
關注
3文章
4371瀏覽量
64202
原文標題:汽車上為什么非要用SOA?
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
OptiSystem應用:SOA波長變換器(XGM)
OptiSystem應用:寬帶SOA特性

SOA架構開發小助手PAVELINK.SOA-Converter 2.1.2新版本發布

OptiSystem應用:SOA波長變換器(XGM)
OptiSystem應用:寬帶SOA特性
OptiSystem應用:SOA波長變換器(XGM)
基于IMOS平臺的偏振不敏感SOA設計

SOA關鍵技術專利分析(一)

SOA整車電子電氣仿真測試解決方案

面向服務的整車EE架構(SOA)設計開發咨詢服務

SOA光脈沖調制模塊簡介

SOA架構開發小助手PAVELINK.SOA-Converter V1.4.2新版本發布

MOS管的安全工作區SOA詳解限制線介紹

評論