從(cóng)去(qù)年(nián)開(kāi)始(可(kě)能(nénδ₽♦g)更早),SOA的(de)概念在汽車(chē)軟件(jiàn)行(xíng)業(yè)≥€♠逐漸蔓延開(kāi)來(lái),很(hěn)多(duō)公衆号₹≈ ×都(dōu)發過講汽車(chē)SOA的(de)文(wén)章(zhāng),σ¥→很(hěn)多(duō)車(chē)廠(chǎng)都(dōu)¶€要(yào)開(kāi)始(或者已經在)搞SOA。但(dàn)我覺得(de)吧(ba),在開(kāβ'i)搞新技(jì)術(shù)之前,是(shì)不(bù)是(shì)先花(huā)點 ↓時(shí)間(jiān)弄明(míng)白(bái)♥$₩這(zhè)個(gè)技(jì)術(shù)到(dào)底是(s↓←♣hì)什(shén)麽,它解決的(de)是€γ(shì)什(shén)麽樣的(de)問(wèn)題,然後再談架構,再談開(kāi)發,很(h×≠ěn)多(duō)時(shí)候我們連問(wèn)題£∏是(shì)什(shén)麽都(dōu)沒整→↕明(míng)白(bái),就(jiù)急著(zhe)去(qù)做₽ α(zuò)解決方案,最後的(de)結果隻能(néng)是(shì)一(yī)地(dì≠)雞毛。對(duì)個(gè)人(rén)來(lái)說(s±☆huō),要(yào)搞SOA開(kāi)發,需要(yào)夯實哪些(xiē∞∞)基礎知(zhī)識,看(kàn)了(le)很(hěn)多(d<₩€φuō)SOA文(wén)章(zhāng),卻很(hěn)少δש∏(shǎo)有(yǒu)人(rén)梳理(lǐ)這(zhè)些λ(xiē),這(zhè)段時(shí)間(jiān)我陸續思考了(le)一(yī)些↕ ₽(xiē),盡管可(kě)能(néng)不(bù)全面✘"(更偏向SOC開(kāi)發涉及的(de)技(jì)術★<∑(shù)點),但(dàn)仍然試圖寫出來(lái),以期逐步構建出自(zπ>β©ì)己的(de)領域知(zhī)識體(tǐ)系。
①
SOA架構理(lǐ)解
1、軟件(jiàn)定義汽車(chē),E/E架構是(shì)關鍵
汽車(chē)電(diàn)子(zǐ)電(♣¶diàn)氣架構(簡稱E/E架構)是(shì)指整車(chē)電(diàn)子(§&zǐ)電(diàn)氣系統的(de)總布置方案。在智能(néng)網聯汽車(c©÷hē)産業(yè)大(dà)變革背景下(xià),軟件(j™↑iàn)定義汽車(chē)理(lǐ)念已成為(w©₽èi)共識。傳統汽車(chē)采用(yòng)的(de)分(fēn)布式E/E架構因Ω©計(jì)算(suàn)能(néng)力不(bù)足、通(tōng)訊帶寬不(bù)足≠ 、不(bù)便于軟件(jiàn)升級等瓶頸,已經不(bù)能(né♥§♦ng)滿足現(xiàn)階段汽車(chē)發展的(de)γ₩需求,E/E架構的(de)變革已成為(wèi)★₹₹智能(néng)網聯汽車(chē)發展的(de)關鍵,其升級主要(y≈★∏ào)體(tǐ)現(xiàn)在硬件(jiàn)架構、軟件(jià♣<÷n)架構、通(tōng)信架構三個(gè)方面:
硬件(jiàn)架構升級:由分(fēn)布式ECU向域控制(zhì)/中央±'✘ε集中架構方向發展,汽車(chē)E/E架構的(de)升級路(lù)徑表現(xi±γ↔≈àn)為(wèi)分(fēn)布式(模塊化(huφ→à)→集成化(huà))、域集中(域控制(zhì)集中→跨域融合♣σ≈£)、中央集中式(車(chē)載電(diàn)腦(nǎo)→車(chē)-雲計(jì)算(∑±suàn))。好(hǎo)處在于:提升算(suàn)力利用(yòng)率,減少(shǎo)算δ≈₹≤(suàn)力設計(jì)總需求;數(shù)據統一(yī)交互,實≤∏現(xiàn)整車(chē)功能(néng)協同;縮短(duǎn)線束,降低(¥ε®dī)故障率,減輕質量。
軟件(jiàn)架構升級:通(tōng)過 AutoSAR 等軟件(ji>€δγàn)架構提供标準的(de)接口定義,模塊化(huà)設計(jì),促使軟硬件(jiàn)&'解耦分(fēn)層,實現(xiàn)軟硬件(jiàn)設計(jì)分(fēn)♣離(lí);Classic AutoSAR←¥ε架構逐步向Classic AutoSAR+ ♥↕Adaptive AutoSAR混合式架構發展。好(hǎo)處在于:可(kě)實現(xi<γàn)軟件(jiàn)/固件(jiàn) OTA 升級、軟件(ji"₩±àn)架構的(de)軟實時(shí)、操作(zu≤♠↔ò)系統可(kě)移植;采集數(shù)據信息多α≈$✔(duō)功能(néng)應用(yòng),有(yǒu)效∑≥減少(shǎo)硬件(jiàn)需求量,真正實現&&"(xiàn)軟件(jiàn)定義汽車(chē)。
通(tōng)信架構升級:車(chē)載網絡骨幹由 LIN/CAN↓♠ 總線向以太網方向發展。好(hǎo)處在于:滿足高(gāo)速傳∑÷∏輸、高(gāo)通(tōng)量、低(dī)延遲等性能(néng)需求,同時(shíπ≤♦↔)也(yě)可(kě)減少(shǎo)安裝、測試成本。
2、中央計(jì)算(suàn)單元:E/E架構的(de)核心
中央計(jì)算(suàn)單元是(shì)Eγ♥®₹/E架構中最關鍵的(de)部分(fēn),不(bù)管是(shì)按區(qū)域的(de≠∏∞←)架構,還(hái)是(shì)以後的(d¶β&e)純中央計(jì)算(suàn)平台,其硬件(jiàn)構型從(γγcóng)根本上(shàng)決定了(le)♠Ω軟件(jiàn)架構的(de)設計(jì)方向。中央計(jì)算(suàδ<n)單元可(kě)以分(fēn)為(wèi)以下(€₩xià)三種形态:
SOC分(fēn)離(lí)式:将多(duō)個(∑♠™gè)不(bù)同的(de)芯片集成到(dào)一(yī)個(gè)中央計(jìβ&Ω)算(suàn)單元上(shàng)去(qù),每個(gè)運行(xíα'≈ng)不(bù)同的(de)操作(zuò)系統,隻是(shì)在形态上♠✔'(shàng)集中到(dào)了(le)一(yī)起,各單元依然獨立的(d™πφ↔e)完成各自(zì)任務;
硬件(jiàn)隔離(lí)式:在統一(yī)的(de)計($↓jì)算(suàn)平台上(shàng)采用(yòng)虛拟化(h<×≤<uà)方案,同時(shí)運行(xíng)多(duō)個(gè)操作(zuβ↕ò)系統,但(dàn)是(shì)各個(gè)系統依然在硬件(jiàn)上(shàng)進行(ε™±↔xíng)隔離(lí),每個(gè)系統都(dōu)有(yǒu)自(zΩ₩≥ì)己的(de)專屬硬件(jiàn)資源;
軟件(jiàn)虛拟式:在統一(yī)的(de)計(jì)算(suàn)平台±§₽÷上(shàng)采用(yòng)虛拟化(huà)方案,同時(shí)運行(xín↕∏✔g)多(duō)個(gè)操作(zuò)系統,每個(gè)操作(zuò)系統所使用(yòng)的>>&¥(de)硬件(jiàn)資源,由Hypervisor層動态調£✔✔™配,每個(gè)系統并沒有(yǒu)專屬的 $☆ε(de)硬件(jiàn)資源。
硬件(jiàn)隔離(lí)式和(hé)軟件(jiàn)虛拟式,都(dōu)采用(yòng↑¶)了(le)虛拟化(huà)方案,唯一(yī)不₹→(bù)同點在于硬件(jiàn)資源是(shìσ₹ )否專屬,如(rú)果是(shì)專屬的(de),就(jiù)¶←→≠意味著(zhe)資源無法動态調配,容易産生(shēng)資源浪費(fèi)。虛>γ×拟化(huà)方案最大(dà)的(de)好(hǎo)處是(shì),硬件(jiàn)上(s®hàng)的(de)可(kě)拓展性,如(rú)果中央計(jì)算(suàn)單¥♣元采用(yòng)刀(dāo)片式的(de)設計(jì)結構,可(kě)αδ以很(hěn)方便地(dì)拓展計(jì)算(suàn)單★>→元的(de)算(suàn)力,而不(bù)用(yòng)替換整個(gè)計(jì)₩≥算(suàn)單元。
在中央計(jì)算(suàn)單元中,隻需要(yào)兩個(gè)操作(zu™∑↑↕ò)系統即可(kě),用(yòng)于自(zì)動駕駛、車(chē♣φ)控、網關的(de)RTOS,以及用(yòng)于娛樂(yu耙)的(de)普通(tōng)OS(如(rú)Android、Linux)。用(yò☆✘ng)于娛樂(yuè)的(de)OS完全可Ω&↕§(kě)以通(tōng)過虛拟機(jī)的(de)方式運行(xíng),用(yòng)于β±<λ自(zì)動駕駛、車(chē)控、網關的(de)RTOS,可(kě)以直接運行(xíng)★¥£在Hypervisor層,既能(néng)兼顧實時(shí)計(jì)算(™←↓≤suàn)的(de)要(yào)求,也(yě)能(néng)獲得✔£(de)豐富的(de)娛樂(yuè)系統功能(nλ€¥éng)。
3、SOA:解決軟件(jiàn)定義汽車(chē)中服務↔↑↑間(jiān)通(tōng)信的(de)分γα♥&(fēn)布式架構
在軟件(jiàn)定義汽車(chē)中,應用(>♥δyòng)間(jiān)跨進程或跨核的(de)通π(tōng)信,必然成為(wèi)軟件(jiàn)架構設計(j×γσì)中一(yī)個(gè)需要(yào)去(qù)解決的(de)問(wèn)題。SOA∏☆®↔在互聯網已經應用(yòng)了(le)很(hěn)長(cháng)時(shí)間(jiān),但(♦ αdàn)在汽車(chē)行(xíng)業(yè)中,算(suàn)是(shì)比較♦₹✘新的(de)概念。鑒于汽車(chē)的(de)應用(yòng)場(chǎng)景$®✔和(hé)通(tōng)信需求有(yǒu)其特殊性,很(h£> >ěn)多(duō)互聯網的(de)SOA技(jì)術(shù),并不(bù)能(néng)照(zh♣€ào)搬過來(lái)。雖然Adaptive Au "®toSAR采用(yòng)了(le)SOA±¶≠"作(zuò)為(wèi)通(tōng)信<→架構(ARA::COM架構如(rú)下(xià)圖),但(₩αΩdàn)是(shì)Adaptive Auto♠÷λSAR的(de)應用(yòng)可(kě)以說(sh☆→♦≈uō)還(hái)沒有(yǒu)普及,應≤σλ該說(shuō)整個(gè)行(xíng)業(yè)就(j→←✔♣iù)沒什(shén)麽标準的(de)SOA中間(jiān)件(Ω©jiàn)解決方案,幾乎沒有(yǒu)專β∏→業(yè)做(zuò)中間(jiān)件(jiàn)研"發的(de)公司,可(kě)能(néng)在國(guó)內(nèi)這(zhè)種✔•慢(màn)工(gōng)出細活的(de)東(dōng)西(xī)很(hěn)難有(yǒu)什(s¶♥<®hén)麽成長(cháng)的(de)空(kōng)間(jiān)和(hé)土(tǔ€≥)壤吧(ba)。所以,對(duì)于汽車(c© hē)SOA,還(hái)有(yǒu)很(hěn)多(duō)值得(de)我們 ☆§去(qù)做(zuò)的(de)研究和(hé)嘗試~
摘自(zì)《Introduction of ARA::C₽✘ε×OM as common communication middle♦">ware》April, 2018 by GENIVI
SOA,Service-Oriented Architectur'λ±e(面向服務的(de)架構),是(shì)一(yī)種€σ 架構思想,實施者可(kě)以根據實際情況設計(jì)SOA的(de)¶ 技(jì)術(shù)實現(xiàn)。為(wèi)什(shén)麽要(yào)面向服務ε≥¥?以前用(yòng)得(de)好(hǎo)好(hǎo)的(de)面向信号或者面向消息↑★的(de)通(tōng)信架構怎麽就(jiù)不(bù)香了(le)?面向服務的(d↔e)通(tōng)信架構,它的(de)優勢到(dào)底在€÷>α哪裡(lǐ),如(rú)果不(bù)能(néng)很(hěn)好(hǎo)地(•✔©dì)理(lǐ)解這(zhè)點,可(kě)能(néng)很(hěn)難從(cóng)過去(qùπ>)面向信号的(de)思維轉變過來(lái),也★✔→ (yě)就(jiù)無法體(tǐ)會(huì)引入SOA的(de)價值和(h ≤↕¶é)意義。這(zhè)有(yǒu)點悖論哈,不•<¥♥(bù)去(qù)用(yòng),無法感受其™☆奧義,但(dàn)又(yòu)因為(wèi)沒用(yòng)過,對(duì)它保有≤←(yǒu)質疑,過往的(de)再擰巴,也(yě)是(shì)千錘百煉了(le↔∑ ♠),從(cóng)零開(kāi)始,談何容易。因此,我覺 Ω 得(de)短(duǎn)時(shí)間(jiān)內(nèi)不(bù)太可(↕π©kě)能(néng)全面鋪開(kāi)做(zuò)整車(chē)SOA,可(kě)能(néng)≥≤↑會(huì)在安全等級不(bù)高(gāδ♥'πo)的(de)域比如(rú)智能(néng)座艙先嘗試SOA。
本質上(shàng)SOA就(jiù)是(shì÷∑©→)服務的(de)集合。在SOME/IP ∑♠協議(yì)介紹一(yī)文(wén)中,我寫過對(duì)于“服務”Ω÷的(de)理(lǐ)解。以智能(néng)座艙域為(wèi)例(如(rú)下(xià)圖),可(k™€ě)以把“服務”分(fēn)為(wèi)兩類:基礎服務和(hé)應用(yòng€σ)服務,基礎服務的(de)功能(néng)可(kě)能(néng)包括:總線消息的(δ♦de)解析和(hé)路(lù)由(如(rú)車(chē)身(shēn)數(shù)據服務)、直接與♠☆∏硬件(jiàn)相(xiàng)關的(de)邏£¥輯處理(lǐ)(如(rú)音(yīn)頻(pín)↑∞φ服務)、上(shàng)層應用(yòng)有(yǒu)共同需求的(de)一(yī≥&Ω$)些(xiē)基礎設施(如(rú)日(rì)志(zhì)服務);應用(yòng)<↓服務的(de)功能(néng)相(xiàng)對(duì)複雜(zá)些(x±÷∏iē),可(kě)能(néng)需要(yào)由多(duō)個£σ(gè)基礎服務提供數(shù)據支撐,也(y₹¶↑ě)可(kě)能(néng)需要(yào)應用(yòng)服©≠™務之間(jiān)相(xiàng)互協同,實現(xiàn)業(yè)務邏輯(如(rú)≠λπ↓導航服務)。
這(zhè)隻是(shì)一(yī)個(gè)很(hě ×€πn)簡單的(de)例子(zǐ),想表達的(de)是(shì),每個(gè)♠服務将自(zì)己的(de)功能(néng),以接口的(de)方式提供,基于這(λ♥♣zhè)些(xiē)服務和(hé)接口,± ∞便可(kě)以設計(jì)出應用(yòng)場(chǎng)景,以滿足各種用(yòng)戶需÷ 求,提升駕車(chē)體(tǐ)驗。可(kΩ™ě)以想象,應用(yòng)場(chǎng)景的(de)需求一(yī)定是(shì)豐富且σ♥©變化(huà)的(de),面向信号的(de)話(huà),新增一(y£λī)個(gè)需求,可(kě)能(néng)要(yào)等上(shàng)一(yī)年(nΩ¥₽↕ián),但(dàn)如(rú)果服務也(yě)能(néng)夠§φε↔方便地(dì)進行(xíng)開(kāi)發、擴展和(hé)¥"₹更新,是(shì)不(bù)是(shì)好(h §δ£ǎo)多(duō)了(le),是(shì)不(bù)是(shì)挺©'有(yǒu)價值呢(ne)~
轉載汽車(chē)電(diàn)子(zǐ)相(xiàng)關文(wén)章(zhāng≠✘÷↓)
轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(jiàn)∞ λλ