隨著集中式電子電氣架構(gòu)的穩(wěn)步發(fā)展,汽車行業(yè)越來(lái)越多開始關(guān)注基于服務(wù)實(shí)現(xiàn)的軟件架構(gòu)(Service Oriented Architecture)。勿容置疑,未來(lái)的軟件開發(fā)一定會(huì)以“服務(wù)”為主戰(zhàn)場(chǎng)。如何開發(fā)出適用于下一代電子電氣架構(gòu)的軟件服務(wù),緊跟主流車型和客戶需求的變化,開發(fā)出兼具靈活性與競(jìng)爭(zhēng)力的軟件,是我們時(shí)刻關(guān)注的話題之一。
正如上次“域測(cè)未來(lái)”文章所提到,我們目前已經(jīng)在開發(fā)基于新架構(gòu)下車載電腦+區(qū)域控制器(VCP+ZONE)的產(chǎn)品;而在軟件層面,也已經(jīng)開始著手于研究整車功能的分配以及基于服務(wù)實(shí)現(xiàn)的軟件架構(gòu)。
原子服務(wù)
說(shuō)到服務(wù)架構(gòu),關(guān)于原子服務(wù)的話題非?;?,那么,什么是原子服務(wù)?原子服務(wù)有哪些特征?在系統(tǒng)層面如何拆分業(yè)務(wù)服務(wù)并且定義原子服務(wù)?原子服務(wù)對(duì)我們的軟件又有什么影響呢?他和服務(wù)的關(guān)系又是什么呢?
我們先從服務(wù)的最小單元——原子服務(wù)講起。原子服務(wù)的定義是:業(yè)務(wù)上最小粒度的一系列操作。原子服務(wù)的特點(diǎn)是松耦合,相對(duì)獨(dú)立,且在可預(yù)見的范圍內(nèi)不會(huì)對(duì)其他原子服務(wù)造成影響。任何一項(xiàng)都劃定了自己的業(yè)務(wù)范圍;他們不用關(guān)心非自己業(yè)務(wù)范圍是如何實(shí)現(xiàn),對(duì)于調(diào)用其他原子服務(wù),只需要考慮調(diào)用場(chǎng)景及返回結(jié)果如何處理即可。
舉一個(gè)例子,先看看下面三句話:
現(xiàn)金存款是金融賬戶發(fā)生現(xiàn)金交易的收費(fèi)服務(wù)行為。
信用卡還款是金融賬戶發(fā)生的,可能有銀聯(lián)參與的、信用卡的現(xiàn)金交易。
現(xiàn)金轉(zhuǎn)賬是金融賬戶與交易對(duì)手金融賬戶發(fā)生現(xiàn)金交易的收費(fèi)服務(wù)行為。
這三句話中的,現(xiàn)金存款、信用卡還款和現(xiàn)金轉(zhuǎn)賬就是服務(wù),現(xiàn)金交易就是原子服務(wù),而金融賬戶、銀聯(lián)卡和信用卡則是服務(wù)的業(yè)務(wù)參與方,也是大家熟知的服務(wù)消費(fèi)者和提供方。
通過(guò)這個(gè)例子,大家應(yīng)該對(duì)原子服務(wù)已經(jīng)有了一個(gè)基本的概念。那么,服務(wù)是由原子服務(wù)構(gòu)成的,SOA是不是只是簡(jiǎn)單地由服務(wù)構(gòu)成的呢?
1. SOA 架構(gòu)的特性
答案很顯然,要實(shí)現(xiàn)真正完整的 SOA 架構(gòu),只靠原子服務(wù)和服務(wù)是不夠的。首先,我們看一下SOA的基礎(chǔ)定義:
SOA基于服務(wù)的架構(gòu),繼承了來(lái)自對(duì)象(指的是“面向?qū)ο蟮募軜?gòu)”)和構(gòu)件設(shè)計(jì)的各種原則,例如,封裝和自我包含等。那些保證服務(wù)的靈活性、松散耦合和復(fù)用能力的設(shè)計(jì)原則,對(duì) SOA 架構(gòu)來(lái)說(shuō)同樣是非常重要的。
關(guān)于服務(wù)的基本特性如下:
標(biāo)準(zhǔn)接口
服務(wù)提供方以統(tǒng)一的方式即標(biāo)準(zhǔn)的接口向消費(fèi)者提供服務(wù)信息,比如車載服務(wù)軟件一般會(huì)使用SOME/IP協(xié)議作為實(shí)現(xiàn)基礎(chǔ)。
自主和模塊化
服務(wù)封裝了那些在業(yè)務(wù)上穩(wěn)定、重復(fù)出現(xiàn)的活動(dòng)和構(gòu)件,實(shí)現(xiàn)服務(wù)的功能實(shí)體是完全獨(dú)立自主的,獨(dú)立進(jìn)行部署、版本控制、自我管理和恢復(fù)。
松耦合
服務(wù)請(qǐng)求者可見的是服務(wù)的接口,其位置、實(shí)現(xiàn)技術(shù)、當(dāng)前狀態(tài)和私有數(shù)據(jù)等,對(duì)服務(wù)消費(fèi)者而言是不可見的。
互操作性、兼容和策略聲明
為了確保服務(wù)規(guī)約的全面和明確,策略成為一個(gè)越來(lái)越重要的方面。例如,一個(gè)服務(wù)對(duì)安全性方面的要求;也可以是與業(yè)務(wù)有關(guān)的語(yǔ)義方面的內(nèi)容,例如,需要滿足的費(fèi)用或者服務(wù)級(jí)別方面的要求,這些策略對(duì)于服務(wù)在交互時(shí)是非常重要的。
而服務(wù)的最小顆粒度則是上文提到的不可拆分的原子服務(wù)。那原子服務(wù)的顆粒度是不是越小越好呢?答案肯定不是的,如何定義合理的原子服務(wù),如何把握顆粒度的大小,在服務(wù)架構(gòu)設(shè)計(jì)中至關(guān)重要。舉個(gè)更形象的例子,原子服務(wù)就類似于電路設(shè)計(jì)中的電容和電阻,他們有著統(tǒng)一的標(biāo)準(zhǔn),看似一樣卻又有著不同的封裝,在不同的ECU控制器中組合成不同的應(yīng)用電路,適當(dāng)調(diào)整又能實(shí)現(xiàn)非常多的新的功能。
2. SOA架構(gòu)的實(shí)現(xiàn)基礎(chǔ)
有了理論基礎(chǔ),下一步就是看實(shí)現(xiàn)服務(wù)架構(gòu)的必要條件。很多同學(xué)其實(shí)會(huì)問(wèn),為什么服務(wù)總是和以太網(wǎng),DDS或SOME/IP綁定的呢?CAN網(wǎng)絡(luò)上是否可以實(shí)現(xiàn)完整的SOA架構(gòu)?
首先,以SOME/IP舉例,因?yàn)镾OME/IP的完整名稱其實(shí)能回答上面的大多數(shù)問(wèn)題,SOME/IP = Scalable service-Oriented MiddlewarE over IP。即“運(yùn)行于IP之上的可伸縮的面向服務(wù)的中間件”??梢?,并不是SOA必須和SOME/IP綁定,而是SOME/IP天生就是為了SOA架構(gòu)而生。SOME/IP的精華在于“Middleware中間件”,這是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件可借助Middleware在不同的技術(shù)之間共享資源。分布式應(yīng)用軟件,在這里指的就是“服務(wù)”;不同的技術(shù)之間,在這里指的就是不同的平臺(tái)或操作系統(tǒng),比如Linux系統(tǒng)或AUTOSAR OS OSEK等。而Scalable Middleware,顧名思義,則是“可伸縮中間件”,指的是該中間件能夠適配于不同的平臺(tái)及操作系統(tǒng),其支撐的平臺(tái)可大可小。
簡(jiǎn)單來(lái)說(shuō),SOA是軟件架構(gòu)的一種設(shè)計(jì)理念;SOME/IP是一種將軟件接口進(jìn)行打包的打包方式,是一種中間件。而汽車行業(yè)通常所指的“以太網(wǎng)”是泛化之后的概念,涵蓋了基于以太網(wǎng)技術(shù)所實(shí)現(xiàn)的各種相關(guān)技術(shù)手段,包括TCP/IP協(xié)議、DoIP協(xié)議、SOME/IP協(xié)議等。當(dāng)然若通過(guò)其他非以太網(wǎng)的通信方式來(lái)實(shí)現(xiàn)SOA也是可行的,但通常大家不那么用。比如基于CAN總線的架構(gòu),由于其基礎(chǔ)的架構(gòu)和通信協(xié)議棧里不存在Middleware中間層的概念,所以要實(shí)現(xiàn)SOA的代價(jià)是非常巨大的。
3. SOA 應(yīng)用的優(yōu)勢(shì)
正如大家所知,早期的車內(nèi)嵌入式軟件沒有統(tǒng)一標(biāo)準(zhǔn),基礎(chǔ)軟件和應(yīng)用軟件強(qiáng)耦合,不具可移植性;AUTOSAR Classic 的應(yīng)用,對(duì)嵌入式基礎(chǔ)軟件的接口進(jìn)行標(biāo)準(zhǔn)化,讓應(yīng)用開發(fā)者基于統(tǒng)一的基礎(chǔ)軟件接口進(jìn)行應(yīng)用開發(fā)。目前采用SOA軟件服務(wù)架構(gòu)的應(yīng)用打通了車內(nèi)的電子電氣架構(gòu)的壁壘,進(jìn)一步對(duì)嵌入式應(yīng)用軟件的接口(即服務(wù)接口)進(jìn)行了標(biāo)準(zhǔn)化,讓APP開發(fā)者基于統(tǒng)一基礎(chǔ)服務(wù)接口進(jìn)行應(yīng)用的迭代開發(fā),隱藏了不同車型配置下應(yīng)用軟件的差異,真正做到了整車級(jí)軟件接口的“標(biāo)準(zhǔn)”和“開放”。
平臺(tái)架構(gòu)升級(jí)更便于實(shí)現(xiàn),通過(guò)服務(wù)設(shè)計(jì)的方式,能夠有效降低架構(gòu)升級(jí)帶來(lái)的復(fù)雜度;同時(shí),由于操作系統(tǒng)跨平臺(tái)的難度大幅度降低,能夠大幅提升用戶體驗(yàn),能夠?qū)崿F(xiàn)更為便捷的聯(lián)網(wǎng)功能,實(shí)現(xiàn)不同平臺(tái)間的各種APP共享等功能;
通過(guò)“服務(wù)Hub”區(qū)域控制器的引入,各種新功能能夠靈活地與其他域功能,乃至互聯(lián)網(wǎng)接口集成,而無(wú)需各個(gè)控制器各自進(jìn)行信號(hào)到服務(wù)的轉(zhuǎn)換;
一些相對(duì)獨(dú)立的域開發(fā)能夠打破界限,找到新的上限,例如自動(dòng)駕駛功能不再是電子電氣架構(gòu)“孤島”,通過(guò)區(qū)域控制器進(jìn)行服務(wù)互通,可以輕松實(shí)現(xiàn)高清地圖的創(chuàng)建、更新及路線預(yù)測(cè)等功能,便于實(shí)現(xiàn)車輛信息的上傳及云端指令的下達(dá);
4. SOA 的應(yīng)用實(shí)例
正如上文提到的,一旦自動(dòng)駕駛域不再成為電子電氣孤島,那么他的傳感器、雷達(dá)、攝像頭都能成為整車功能體驗(yàn)提升的利器。同時(shí),由于區(qū)域控制器ZONE具有服務(wù)轉(zhuǎn)換能力,ADAS計(jì)算中心也不需要拖著大量的傳感器,雷達(dá)或攝像頭一一連接,只需要簡(jiǎn)單從服務(wù)中間層直接發(fā)起調(diào)度請(qǐng)求即可。下面是一個(gè)潛在的開發(fā)實(shí)例:
第一階段
也就是目前90%的E/E架構(gòu)中所使用的平行式分布,由于ZONE在初期無(wú)法實(shí)現(xiàn)LVDS和攝像頭視頻的處理能力,所以暫時(shí)不會(huì)動(dòng)AD的“孤島”。但是其他的比如車身等相關(guān)的會(huì)通過(guò)區(qū)域控制器的服務(wù)轉(zhuǎn)換能力,將信號(hào)打包成業(yè)務(wù)服務(wù)。
當(dāng)然,ZONE區(qū)域控制器并不是簡(jiǎn)單的hub,在拆分和打包服務(wù)的同時(shí),也會(huì)同步進(jìn)行原子服務(wù)的開發(fā)和豐富,后續(xù)隨著整車的FOTA更新,我們的原子服務(wù)越來(lái)越完善,同步也會(huì)有更多豐富的業(yè)務(wù)服務(wù)在互聯(lián)互通的大環(huán)境下呈現(xiàn)給用戶。
第二階段
在這個(gè)階段,隨著區(qū)域下一代產(chǎn)品的發(fā)展,會(huì)在硬件上具備一些特殊接口的集成能力,例如上圖中原來(lái)AD的專屬武器如雷達(dá)或分布式攝像頭等可以直接連接到區(qū)域控制器,這一步看上去僅僅是硬件兼容的一小步,但卻是E/E架構(gòu)升級(jí)的一大步。因?yàn)檫@意味著,環(huán)境感知服務(wù)的使用權(quán)被平等地交付到了每個(gè)域手中。
如果說(shuō)過(guò)去的車身域是電子域,一旦環(huán)境感知信號(hào)的引入,會(huì)讓車身域真正地進(jìn)化出“眼睛”,燈光、雨刮、天窗、門鎖、防盜不再是冷冰冰的電子功能,他們會(huì)成為整車人工智能的新入口,從電子域進(jìn)化為智能域。一些過(guò)去只存在想象中的功能,例如視覺識(shí)別天氣自動(dòng)調(diào)整雨刮、根據(jù)周圍行人和車輛自動(dòng)調(diào)整燈光方向、單人使用車輛的時(shí)候僅解鎖離車主最近的一扇門,這些功能都不再是幻想。
第三階段
也是BOSCH體系定義的電子電氣架構(gòu)最終階段,區(qū)域控制器會(huì)“返璞歸真”,將所有特殊接口的能力打包成真正統(tǒng)一的虛擬服務(wù)接口,而這其中的關(guān)鍵條件則在于區(qū)域控制器是否具備了完整的原子服務(wù),例如,一旦區(qū)域能夠提供“視頻解析”的原子服務(wù),那么我們無(wú)需在區(qū)域上接入LVDS信號(hào),直接通過(guò)千兆以太網(wǎng)將視頻服務(wù)“原封不動(dòng)”地傳遞到區(qū)域上,然后在區(qū)域控制器里會(huì)有對(duì)應(yīng)的“解碼器”,將這些信號(hào)解析、解碼、重構(gòu)、并打包成服務(wù),以極低的延時(shí)和極高的保真率提供給不同的處理單元和控制模塊。
而這個(gè)階段一旦實(shí)現(xiàn),接口的標(biāo)準(zhǔn)化和統(tǒng)一化會(huì)上升到新的高度,整車電子電氣架構(gòu)的成本也可以大幅度下降,主干網(wǎng)通過(guò)以太網(wǎng)傳遞服務(wù),支路通過(guò)CAN/LIN等傳統(tǒng)總線收集原子服務(wù)需要的信號(hào)流,所有的系統(tǒng)、軟件、硬件有條不紊地在自己的服務(wù)領(lǐng)域中開發(fā)。未來(lái),一輛既便宜、又智能的“溫馨智能移動(dòng)起居室”指日可待。
責(zé)任編輯:haq
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177812 -
軟件
+關(guān)注
關(guān)注
69文章
4921瀏覽量
87401
原文標(biāo)題:"域"見SOA
文章出處:【微信號(hào):聯(lián)合電子,微信公眾號(hào):聯(lián)合電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論