面向自動(dòng)駕駛車輛的新型微服務(wù)集群框架
摘要
數(shù)字空間、智能交通和數(shù)字運(yùn)營等現(xiàn)代技術(shù)面臨著與數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)安全和通信等相關(guān)的技術(shù)挑戰(zhàn)。確保自動(dòng)駕駛車輛之間的安全性和可靠消息傳播是一項(xiàng)重大挑戰(zhàn)性任務(wù)。車輛制造商為開發(fā)基于車輛的解決方案搭建合適環(huán)境會(huì)增加其預(yù)估成本和時(shí)間。因此,為緩解這一問題,本方案旨在引入面向服務(wù)架構(gòu)(SOA)原則,使客戶能夠?qū)⒒谛湃蔚慕鉀Q方案作為簡單的云服務(wù)進(jìn)行訪問。我們提出一個(gè)框架,將信任評(píng)估、安全消息傳播和路由這三個(gè)必備的車輛應(yīng)用集成為基于云的微服務(wù)。我們還提出一種創(chuàng)新的密文策略屬性基加密(CP-ABE)算法,通過高動(dòng)態(tài)和自動(dòng)化網(wǎng)絡(luò)中的訪問控制系統(tǒng)確保數(shù)據(jù)機(jī)密性。這些服務(wù)利用 Docker 和容器的先進(jìn)概念部署為 Docker 鏡像。Docker 協(xié)調(diào)與所提出微服務(wù)相關(guān)的多項(xiàng)任務(wù)的編排,并助力在跨平臺(tái)環(huán)境中實(shí)現(xiàn)這些服務(wù)。這些服務(wù)可在自動(dòng)駕駛和手動(dòng)駕駛車輛系統(tǒng)中均得到應(yīng)用。服務(wù)提供商可根據(jù)服務(wù)使用情況向客戶收費(fèi)。我們進(jìn)行了詳細(xì)的實(shí)驗(yàn)分析,以評(píng)估所提出微服務(wù)在跨平臺(tái)環(huán)境中的性能;此外,還開展了廣泛的仿真,以評(píng)估所提出車輛應(yīng)用的各自性能。
1. 引言
道路安全、擁堵控制和安全指標(biāo)是監(jiān)管交通系統(tǒng)時(shí)需考慮的三個(gè)重要因素。傳統(tǒng)交通控制系統(tǒng)正逐漸被先進(jìn)的車輛技術(shù)所取代,例如車輛網(wǎng)絡(luò)、智能路側(cè)單元、基于人工智能的關(guān)鍵操作決策機(jī)制等。聯(lián)網(wǎng)車輛的概念已為人們所熟知,汽車制造商正在實(shí)施該概念,使車輛能夠交換消息。因此,在消息交互過程中,確保指定范圍內(nèi)車輛之間的可信度以維持完整性,是一項(xiàng)重要任務(wù)。此外,車輛之間的數(shù)據(jù)傳輸直接影響車輛環(huán)境的安全性。車輛網(wǎng)絡(luò)中安全或非安全應(yīng)用的質(zhì)量在很大程度上取決于數(shù)據(jù)的可信度。信任在車輛網(wǎng)絡(luò)的安全性和質(zhì)量方面起著至關(guān)重要的作用。自動(dòng)駕駛車輛系統(tǒng)、完全自動(dòng)駕駛車輛以及替代交通服務(wù)(拼車、汽車共享等)如今頻繁出現(xiàn)在新聞中。眾多一級(jí)供應(yīng)商、汽車制造商、設(shè)備制造商、初創(chuàng)企業(yè)和學(xué)術(shù)機(jī)構(gòu)正引領(lǐng)著各種技術(shù)研發(fā)工作,致力于開發(fā)必要的系統(tǒng),使交通在不同通信代際中對(duì)所有消費(fèi)者而言更具響應(yīng)性、可及性,并最終實(shí)現(xiàn)更高的安全性。未來,自動(dòng)駕駛車輛將逐步取代手動(dòng)駕駛車輛,并從根本上改變所有道路交通狀況。自動(dòng)駕駛的主要目標(biāo)是確保公共道路上人員的安全保障。大多數(shù)道路交通事故是由人類駕駛員受多種外部因素影響而引發(fā)的。引入全面的自動(dòng)駕駛是否能減少事故并確保公共道路上人員的安全保障,仍是制造商與研究人員之間爭論的話題。此外,由于各種法律問題,許多國家限制了自動(dòng)駕駛的使用。
推出完全自動(dòng)駕駛車輛面臨諸多挑戰(zhàn)。主要挑戰(zhàn)包括理解道路狀況、交通狀況、事故責(zé)任、雷達(dá)推斷的即時(shí)動(dòng)態(tài)行為,建立車輛之間的信任,在車輛之間傳播可靠信息以及應(yīng)對(duì)天氣狀況等。制造商和研究人員面臨的首要問題是如何使自動(dòng)駕駛車輛在動(dòng)態(tài)決策中表現(xiàn)得像人類一樣。自動(dòng)駕駛車輛是智能傳感器、執(zhí)行器、復(fù)雜算法和強(qiáng)大處理器的集合,用于驅(qū)動(dòng)軟件并對(duì)車輛進(jìn)行物理控制。最新統(tǒng)計(jì)數(shù)據(jù)顯示,已有 25 個(gè)國家準(zhǔn)備實(shí)施自動(dòng)駕駛。
然而,推出自動(dòng)駕駛車輛仍存在許多現(xiàn)有挑戰(zhàn),其中需要解決的關(guān)鍵且必備的挑戰(zhàn)是確保自動(dòng)駕駛車輛(AVs)在行駛過程中的安全保障。因此,在自動(dòng)駕駛車輛之間建立信任并確保它們之間的可靠消息傳播是必備任務(wù)。因此,需要更多創(chuàng)新性的研究和貢獻(xiàn),以開發(fā)多功能解決方案來監(jiān)控和控制自動(dòng)駕駛的整體活動(dòng)。從傳感器獲取的數(shù)據(jù)對(duì)于控制自動(dòng)駕駛的各種活動(dòng)起著至關(guān)重要的作用。如今的自動(dòng)駕駛車輛制造商以及提供自動(dòng)駕駛租賃服務(wù)的機(jī)構(gòu),并未投入時(shí)間和資金進(jìn)一步擴(kuò)展其解決方案。相反,他們從部署在云環(huán)境中的第三方網(wǎng)絡(luò)服務(wù)中擴(kuò)展新服務(wù)。因此,在當(dāng)今場景下,針對(duì)多個(gè)領(lǐng)域的各種應(yīng)用開發(fā)了許多微服務(wù)。微服務(wù)的概念降低了大型應(yīng)用相關(guān)的各種復(fù)雜性,并幫助多個(gè)組織最大限度地減少開發(fā)和維護(hù)復(fù)雜應(yīng)用的成本和時(shí)間。
本文提出了一個(gè)新框架,該框架集成了三個(gè)主要模塊,即信任評(píng)估模塊、安全模塊和路由模塊。信任評(píng)估服務(wù)評(píng)估車輛之間的信任度,加密形式的可靠消息在可信車輛之間傳播。此外,信任評(píng)估服務(wù)集成了創(chuàng)新的集群算法對(duì)車輛進(jìn)行分組,并采用創(chuàng)新的密文策略屬性基加密(CP-ABE)算法,通過高動(dòng)態(tài)和自動(dòng)化網(wǎng)絡(luò)中的訪問控制系統(tǒng)確保數(shù)據(jù)機(jī)密性。如果自動(dòng)駕駛車輛遇到事故或擁堵等任何意外的道路事件,路由服務(wù)會(huì)為其重新規(guī)劃路線。用戶根據(jù)服務(wù)使用情況付費(fèi)。該研究計(jì)劃將上述應(yīng)用作為服務(wù)提供給自動(dòng)駕駛車輛制造商和自動(dòng)駕駛車輛租賃機(jī)構(gòu),以有效減少他們的時(shí)間和成本。隨后,服務(wù)提供商通過向自動(dòng)駕駛車輛制造商和其他租賃機(jī)構(gòu)收取服務(wù)共享費(fèi)用而受益。必須選擇一種創(chuàng)新方法將所提出的服務(wù)轉(zhuǎn)換為平臺(tái)無關(guān)的應(yīng)用程序。因此,本研究選擇 Docker 概念來部署所提出的服務(wù)。Docker 概念提供了許多先進(jìn)功能,方便開發(fā)人員將其應(yīng)用程序作為服務(wù)部署在公共注冊(cè)中心。Docker 還有助于將服務(wù)轉(zhuǎn)換為平臺(tái)無關(guān)的應(yīng)用程序。無需將虛擬操作系統(tǒng)與服務(wù)集成,即可在跨平臺(tái)中執(zhí)行這些服務(wù)。該策略減少了為不同操作系統(tǒng)開發(fā)單獨(dú)服務(wù)的需求,從而降低了服務(wù)開發(fā)人員的時(shí)間和成本。
已為建議的服務(wù)開發(fā)了應(yīng)用程序,并且顯然這些服務(wù)已部署為 Docker 鏡像。客戶可以將 Docker 鏡像擴(kuò)展為基于云的網(wǎng)絡(luò)服務(wù),并將其集成到他們現(xiàn)有的應(yīng)用程序中。到目前為止,很少有研究和貢獻(xiàn)提出在自動(dòng)駕駛中實(shí)施微服務(wù)以有效維護(hù)和監(jiān)控它們。
本文的結(jié)構(gòu)如下:第二節(jié)簡要介紹本研究的背景;第三節(jié)討論與車輛網(wǎng)絡(luò)相關(guān)的各個(gè)領(lǐng)域的現(xiàn)有文獻(xiàn),如信任管理、安全問題和路由,隨后簡要回顧微服務(wù)的設(shè)計(jì)和實(shí)現(xiàn);第四節(jié)討論所提出框架的整體功能,以及部署和執(zhí)行 Docker 鏡像的相關(guān)步驟;第五節(jié)簡要說明各種實(shí)驗(yàn)和比較分析;第六節(jié)描述未來的改進(jìn)方向;第七節(jié)對(duì)本研究進(jìn)行簡要總結(jié)并得出結(jié)論。
2. 背景
對(duì)于當(dāng)前和預(yù)期的應(yīng)用場景,由于成本節(jié)約、可擴(kuò)展性、平臺(tái)無關(guān)性、高速、易于集成、更高的虛擬化、可靠性、安全性等諸多優(yōu)勢,基于云的解決方案需求更大。云平臺(tái)遵循面向服務(wù)架構(gòu)(SOA),其中應(yīng)用程序作為基于需求的服務(wù)在用戶之間共享。它是一種架構(gòu)風(fēng)格,用于將復(fù)雜應(yīng)用程序分割為獨(dú)立的模塊化服務(wù),這些服務(wù)易于維護(hù)、測試、松耦合且可獨(dú)立部署。微服務(wù)架構(gòu)支持快速、頻繁且可靠地交付大型復(fù)雜應(yīng)用程序。
每個(gè)服務(wù)執(zhí)行獨(dú)特的功能。所有服務(wù)在邏輯上必須代表具有特定結(jié)果的可重復(fù)業(yè)務(wù)活動(dòng)。它們必須是獨(dú)立的。其操作必須對(duì)用戶抽象(其實(shí)現(xiàn)部分必須對(duì)用戶隱藏)。一個(gè)服務(wù)可以由其他服務(wù)組成。微服務(wù)是基于 SOA 的服務(wù)的擴(kuò)展。它們幾乎擴(kuò)展了網(wǎng)絡(luò)服務(wù)的特性。大多數(shù)組織和其他應(yīng)用程序開發(fā)人員集成基于云的微服務(wù),原因如下:可維護(hù)性和可測試性高、松耦合、可獨(dú)立部署、圍繞業(yè)務(wù)能力組織且由小型團(tuán)隊(duì)負(fù)責(zé)。微服務(wù)架構(gòu)能夠快速、頻繁且可靠地交付大規(guī)模、復(fù)雜的應(yīng)用程序。它還允許公司的技術(shù)棧擴(kuò)展。此外,微服務(wù)相對(duì)較小,用戶可以輕松理解其行為。應(yīng)用程序啟動(dòng)速度更快,使開發(fā)人員效率更高,并縮短發(fā)布時(shí)間。微服務(wù)架構(gòu)支持故障隔離,即受影響的服務(wù)被隔離,允許其他服務(wù)運(yùn)行而不會(huì)中斷整個(gè)系統(tǒng)的性能。所有微服務(wù)都可以使用 HTTP 等標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議在用戶之間進(jìn)行通信。圖 1 展示了微服務(wù)的功能。服務(wù)在 Web 服務(wù)器中的公共注冊(cè)中心開發(fā)和部署。用戶可以通過標(biāo)準(zhǔn) API 和 HTTP 等基于 Web 的協(xié)議訪問服務(wù)并與服務(wù)通信。

圖 1、微服務(wù)架構(gòu)
本研究使用基于谷歌云的服務(wù)來開發(fā)所提出的應(yīng)用程序并將其部署為微服務(wù)。以下小節(jié)簡要介紹用于部署微服務(wù)的基于谷歌云的組件的顯著特性。
2.1 谷歌云
谷歌云平臺(tái)(GCP)是谷歌平臺(tái)提供的一項(xiàng)重要服務(wù),就像 Gmail、谷歌搜索和 YouTube 等其他服務(wù)一樣,為終端用戶提供服務(wù)。除了管理服務(wù)外,GCP 還提供基于模塊化的云服務(wù),如計(jì)算、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析和機(jī)器學(xué)習(xí)。目前,谷歌在谷歌云品牌下列出了 90 多項(xiàng)云服務(wù)。云人工智能、API 平臺(tái)服務(wù)和物聯(lián)網(wǎng)等關(guān)鍵服務(wù)用于開發(fā)可擴(kuò)展的人工智能應(yīng)用程序、基于物聯(lián)網(wǎng)的服務(wù)以及多功能應(yīng)用程序接口,以與在多平臺(tái)環(huán)境中運(yùn)行的多個(gè)應(yīng)用程序進(jìn)行通信。
2.2 Docker 與容器
Docker 是一個(gè)供開發(fā)人員和系統(tǒng)管理員在不同跨平臺(tái)中開發(fā)、交付和執(zhí)行應(yīng)用程序的平臺(tái)。Docker 是一組平臺(tái)即服務(wù)(PaaS)產(chǎn)品,使用操作系統(tǒng)級(jí)虛擬化將軟件打包為稱為容器的包。Docker 的主要組件包括 Docker 鏡像、Docker 容器、Docker 引擎和 Docker 文件。容器是用于打包應(yīng)用程序鏡像并幫助在跨平臺(tái)環(huán)境中執(zhí)行它們的應(yīng)用程序。圖 2 展示了 Docker 架構(gòu)。Docker 的主要組件包括:(i)Docker 引擎;(ii)Docker 客戶端;(iii)Docker 注冊(cè)中心和 Docker 對(duì)象。

圖2、Docker架構(gòu)
Docker 引擎是 Docker 架構(gòu)的核心。它安裝在主機(jī)上。它遵循客戶端 / 服務(wù)器架構(gòu),具有三個(gè)主要組件,即服務(wù)器(用于創(chuàng)建和管理 Docker 鏡像的 Docker 守護(hù)進(jìn)程)、協(xié)調(diào) Docker 守護(hù)進(jìn)程活動(dòng)的 REST API 以及客戶端用于輸入 Docker 命令的命令行界面(CLI)。下一個(gè)組件是 Docker 客戶端,它與服務(wù)器交互以訪問 Docker 鏡像。客戶端組件之后是 Docker 注冊(cè)中心,即服務(wù)器中存儲(chǔ) Docker 鏡像的位置。Docker 倉庫可以是公共的或私有的。最后一個(gè)組件是 Docker 對(duì)象,它包含鏡像、容器、卷和網(wǎng)絡(luò)。Docker 鏡像是用于創(chuàng)建 Docker 容器的只讀模板。Docker 容器是存儲(chǔ)應(yīng)用程序?qū)嵗捌洵h(huán)境信息的對(duì)象,客戶端可在其本地機(jī)器上執(zhí)行這些應(yīng)用程序。客戶端訪問 Docker 所創(chuàng)建的持久數(shù)據(jù)被組織并存儲(chǔ)在由服務(wù)器維護(hù)的卷中。最后,網(wǎng)絡(luò)對(duì)象包含驅(qū)動(dòng)程序,幫助客戶端與 Docker 對(duì)象交互。網(wǎng)絡(luò)對(duì)象包含五個(gè)重要的驅(qū)動(dòng)程序,即橋接、主機(jī)、覆蓋、無和 MACVLAN。橋接是容器的驅(qū)動(dòng)程序,當(dāng)多個(gè)客戶端容器與主機(jī)通信時(shí)使用。主機(jī)移除 Docker 容器和 Docker 主機(jī)之間的網(wǎng)絡(luò)隔離。覆蓋驅(qū)動(dòng)程序使集群服務(wù)能夠相互通信。無驅(qū)動(dòng)程序用于禁用所有網(wǎng)絡(luò)服務(wù)。最后,MACVLAN 驅(qū)動(dòng)程序用于為容器分配 MAC 地址,使它們看起來像物理設(shè)備。
當(dāng)客戶端運(yùn)行 Docker run 命令訪問網(wǎng)絡(luò)服務(wù)時(shí),首先觸發(fā) Docker build 命令,該命令創(chuàng)建 Docker 模板,從 Docker 倉庫中定位并拉取指定的應(yīng)用程序鏡像。鏡像進(jìn)一步打包在 Docker 容器中,該容器將在客戶端的本地機(jī)器上執(zhí)行。
3. 相關(guān)工作
道路車輛自動(dòng)化的基本概念是指通過電子和 / 或機(jī)械裝置替代部分或全部駕駛的人力勞動(dòng)。自動(dòng)駕駛技術(shù)的起源可以追溯到 20 世紀(jì)初。當(dāng)時(shí),該技術(shù)集中在自動(dòng)速度、制動(dòng)、車道控制和其他基本巡航控制方面。然而,僅在過去十年左右,數(shù)字革命和第四次工業(yè)革命的孵化條件催生了該領(lǐng)域的快速技術(shù)進(jìn)步;導(dǎo)致眾多自動(dòng)駕駛原型車(AVs)在道路上進(jìn)行測試。學(xué)術(shù)文獻(xiàn)中發(fā)表了許多研究文章,描述了自動(dòng)駕駛車輛的技術(shù)進(jìn)步。
El-Sayed 等人最近的研究提出了一種新穎的直接信任評(píng)估方法,利用貝葉斯定理概念基于車輛的行為和消息傳播速率來估計(jì)車輛之間的信任度。類似地,Gianmarco Baldini 等人的創(chuàng)新研究提出了一種使用區(qū)塊鏈概念的信任評(píng)估技術(shù)。車輛會(huì)獲得有效的公鑰證書(PKI),如果它們滿足存儲(chǔ)在區(qū)塊中的某些標(biāo)準(zhǔn),則允許向其他車輛傳播消息。Siri Guleng 等人提出了一種使用模糊邏輯的直接信任評(píng)估技術(shù),以計(jì)算信任方節(jié)點(diǎn)傳輸范圍內(nèi)的被信任方節(jié)點(diǎn)之間的信任度。隨后,他們還實(shí)施了強(qiáng)化學(xué)習(xí)技術(shù),以計(jì)算無法直接信任的車輛之間的間接信任度。
Jannik Lotz 等人進(jìn)行了一項(xiàng)專門的調(diào)查,分析將復(fù)雜的基于軟件的駕駛輔助系統(tǒng)轉(zhuǎn)換為微服務(wù)架構(gòu)的可行性和后續(xù)影響。復(fù)雜的基于軟件的駕駛輔助系統(tǒng)被分割為獨(dú)立的微服務(wù),以解決駕駛輔助系統(tǒng)的特定問題。作者討論了一種微服務(wù)架構(gòu),該架構(gòu)協(xié)助自動(dòng)駕駛車輛的車道保持系統(tǒng)。類似地,Duo Lu 等人設(shè)計(jì)并開發(fā)了一個(gè)框架,將基于物聯(lián)網(wǎng)的解決方案的各種功能分布為微服務(wù)。構(gòu)建物聯(lián)網(wǎng)系統(tǒng)的微服務(wù)方法可以將微服務(wù)模式、API 網(wǎng)關(guān)、服務(wù)分布、統(tǒng)一服務(wù)發(fā)現(xiàn)、容器和訪問控制以相互強(qiáng)化的方式結(jié)合起來。作者的研究為理解微服務(wù)的基本概念、實(shí)現(xiàn)和部署提供了廣泛的范圍和知識(shí)。作者還提出了一種面向服務(wù)的框架,該框架將車隊(duì)行駛功能集成為微服務(wù)。微服務(wù)利用所提出框架的其他軟件模塊以實(shí)現(xiàn)其有效運(yùn)行。作者使用低成本機(jī)器人對(duì)該框架進(jìn)行了測試。他們希望車隊(duì)行駛即服務(wù)的方法有助于未來構(gòu)建更高效、互操作且安全的自動(dòng)駕駛車輛。作者的貢獻(xiàn)進(jìn)一步指導(dǎo)和幫助了微服務(wù)的設(shè)計(jì)、開發(fā)和部署。
Muhammad Alam 等人提出了一種基于輕量級(jí)虛擬化的模塊化和可擴(kuò)展架構(gòu)。所提供的模塊化性,結(jié)合 Docker 提供的編排功能,簡化了管理,支持分布式部署,并創(chuàng)建了高度動(dòng)態(tài)的系統(tǒng)。類似地,Qian Qu 等人研究了邊緣計(jì)算平臺(tái)上的多種微服務(wù)部署策略。微服務(wù)被開發(fā)為 Docker 容器,綜合實(shí)驗(yàn)結(jié)果展示了在基準(zhǔn)場景下運(yùn)行的微服務(wù)的性能和干擾。Aravinthan Gopalasingham 等人的研究提出了使用虛擬機(jī)和 Docker 容器對(duì)定義無線電接入網(wǎng)絡(luò)(RAN)架構(gòu)的原型軟件進(jìn)行虛擬化。此外,它還提供了一個(gè)分析模型,用于基于虛擬機(jī)和 Docker 容器實(shí)現(xiàn)的通用軟件定義 RAN 架構(gòu)。Jose Ramirez 等人的創(chuàng)新研究通過研究服務(wù)的參考架構(gòu)探討了這些問題,并開發(fā)了一個(gè)用于車輛網(wǎng)絡(luò)中服務(wù)管理的實(shí)用框架。探索了一個(gè)使用 Docker、KVM、LXD 和 Unikernels 等不同遷移技術(shù)遷移網(wǎng)絡(luò)內(nèi)存服務(wù)器的功能系統(tǒng),所呈現(xiàn)的結(jié)果表明,作者提出的方法可用于在高度移動(dòng)的環(huán)境中支持新的應(yīng)用程序和服務(wù)。
為了保護(hù)用戶身份,方案建議使用公鑰基礎(chǔ)設(shè)施(PKI)。為了減少車輛自組織網(wǎng)絡(luò)(VANET)中消息傳輸?shù)耐ㄐ砰_銷,Prema 建議使用同態(tài)加密。對(duì)于車輛自組織網(wǎng)絡(luò)(VANET),Gao 和 Xin 提出了一種新的位置隱私方案。作者建議,當(dāng)車輛需要更改其假名時(shí),使用一組密鑰加密器建立加密區(qū)域。Duan 等人利用基于軟件定義網(wǎng)絡(luò)(SDN)的車輛提出了自適應(yīng)車輛集群。SDN 分布數(shù)據(jù),車輛根據(jù)數(shù)據(jù)流量自適應(yīng)地進(jìn)入集群。為了解決車輛自組織網(wǎng)絡(luò)(VANET)方法中的可擴(kuò)展性、連通性和靈活性問題,Truong 等人提出了一種混合(霧計(jì)算和 SDN)方案。提出了一種基于車輛自組織網(wǎng)絡(luò)(VANET)的算法,用于構(gòu)建最優(yōu)服務(wù)功能鏈集群(SFC)。
在當(dāng)前場景下,開發(fā)的應(yīng)用程序必須具有通用性,能夠在任何跨平臺(tái)環(huán)境中實(shí)現(xiàn)。由于大多數(shù)車輛解決方案是使用不同工具開發(fā)和實(shí)現(xiàn)的,并且在多個(gè)平臺(tái)上運(yùn)行,因此我們開發(fā)的服務(wù)必須與在各種條件下開發(fā)的所有車輛應(yīng)用程序兼容。此外,服務(wù)必須易于訪問、安全、可擴(kuò)展且易于部署,以滿足客戶的需求。Docker 和容器滿足上述所有要求。容器用于打包開發(fā)的服務(wù),Docker 利用客戶的操作系統(tǒng)內(nèi)核,使服務(wù)能夠與任何跨平臺(tái)兼容。此外,Docker 和容器支持云架構(gòu)。當(dāng)前的服務(wù)架構(gòu)并未完全提供此類功能,因此必須啟動(dòng)一個(gè)新的車輛網(wǎng)絡(luò)服務(wù)管理框架。據(jù)我們所知,目前大多數(shù)研究提到的微服務(wù)仍處于概念層面。在本研究中,我們通過強(qiáng)調(diào)以信息娛樂為用例的實(shí)現(xiàn)來推進(jìn)這一領(lǐng)域。本研究使用一種算法方法,后續(xù)章節(jié)將詳細(xì)介紹。
4. 提出的框架和服務(wù)
在本文中,我們提出了一個(gè)框架來集成三個(gè)模塊,然后將其轉(zhuǎn)換為微服務(wù)。第一個(gè)模塊評(píng)估車輛之間的信任度,第二個(gè)模塊關(guān)注安全問題,第三個(gè)模塊強(qiáng)調(diào)路由活動(dòng)。之后,借助 Docker 將這些應(yīng)用程序轉(zhuǎn)換為微服務(wù)。應(yīng)用程序鏡像部署在基于云的 Docker 注冊(cè)中心。容器用于部署、打包和交付微服務(wù),以便在跨平臺(tái)環(huán)境中執(zhí)行。根據(jù)用戶需求,使用容器打包代表不同應(yīng)用程序的單個(gè)或多個(gè)鏡像實(shí)例,隨后在客戶端機(jī)器上執(zhí)行。Docker / 容器服務(wù)使用客戶端的操作系統(tǒng)內(nèi)核將應(yīng)用程序鏡像轉(zhuǎn)換為可在跨平臺(tái)環(huán)境中執(zhí)行的形式。自動(dòng)駕駛車輛制造商和解決方案開發(fā)人員可以將 Docker 鏡像擴(kuò)展為其現(xiàn)有或正在開發(fā)的應(yīng)用程序中的簡單網(wǎng)絡(luò)服務(wù),從而最大限度地減少開發(fā)復(fù)雜應(yīng)用程序的成本和時(shí)間。
圖 3 展示了所提出架構(gòu)的整體流程。第一步是開發(fā)三個(gè)模塊并將其集成到所提出的框架中。第二步是將模塊轉(zhuǎn)換為 Docker 鏡像,并將其部署在基于云的服務(wù)器中的公共 Docker 倉庫或注冊(cè)中心。第三步是路側(cè)單元(RSUs)中的信任管理服務(wù)訪問這些服務(wù)。第四步是可信車輛在路側(cè)單元(RSUs)中記錄道路事件。第五步是所提出的信任管理服務(wù)(TMS)評(píng)估其他相鄰車輛的信任度。第六步是將加密消息連同密鑰分發(fā)給可信車輛,可信車輛隨后將加密消息連同密鑰傳播到集群中的其他可信車輛。

圖 3、提出框架的整體流程
4.1 提出的集群算法
該研究提出了一種基于實(shí)體的間接信任評(píng)估方案來估計(jì)車輛的信任度。信任管理服務(wù)(TMS)使用建議的信任評(píng)估方法評(píng)估路側(cè)單元(RSU)范圍內(nèi)每輛車的信任度。信譽(yù)分?jǐn)?shù)使用以下公式 1 計(jì)算:
![]()
其中,(LR)是最后的反饋評(píng)分,(α)代表公式 1 中的權(quán)重,通常取值范圍在 [0,1] 之間。對(duì)于信任評(píng)估,常數(shù)因子(α)被賦值為(0.2)。如果路側(cè)單元(RSU)范圍內(nèi)的任何車輛是新加入的,且沒有先前的反饋值,信任管理服務(wù)(TMS)會(huì)收集與新車輛相關(guān)的有效信息,如注冊(cè)號(hào),并將該信息轉(zhuǎn)發(fā)給道路運(yùn)輸管理局(RTA)。道路運(yùn)輸管理局(RTA)進(jìn)而驗(yàn)證新車輛的注冊(cè)號(hào),并將車主姓名、注冊(cè)日期、事故率等與車輛相關(guān)的有用信息發(fā)送給信任管理服務(wù)(TMS)進(jìn)行進(jìn)一步處理。對(duì)于新車輛,所提出的信任管理服務(wù)(TMS)分配初始信任值(0.5),隨后根據(jù)車輛的行為更新信任值。信任管理服務(wù)(TMS)在公式(1)中為車輛的良好行為給因子(LR)賦值為(1),為車輛的不良行為賦值為負(fù)值,例如(-1)。基于信任分?jǐn)?shù)和距離指標(biāo),信任管理服務(wù)(TMS)使用表 1 中描述的建議集群算法形成集群。信任管理服務(wù)(TMS)選擇信任分?jǐn)?shù)最高的車輛作為集群頭。加密消息連同密鑰(SK)首先由信任管理服務(wù)(TMS)分發(fā)給集群頭,集群頭隨后將其傳播到集群內(nèi)的其他車輛。圖 4 展示了所提出框架的整體流程。

圖 4、提出框架的流程
4.2 提出的集群算法
下表 1 總結(jié)了提出的集群算法,詳細(xì)列出了各個(gè)步驟。

表 1、提出的集群算法
4.3 消息傳播服務(wù)
本研究的重點(diǎn)是確保車輛實(shí)體與可信車輛之間安全可靠的消息交換。因此,為解決此問題,本研究提出了一種創(chuàng)新的加密算法,該算法借鑒了著名的密文策略屬性基加密(CP-ABE)加密 / 解密算法的一些思想。該算法生成密鑰和加密密文,并將它們傳播到集群中的可信車輛。可信車輛使用密鑰通過相同算法解密消息。密鑰使用以下公式生成:
![]()
其中,(M)表示消息,(α)表示消息的權(quán)重。所有與道路事件相關(guān)的消息被分配權(quán)重值(2),而對(duì)于廣告、信息娛樂服務(wù)等其他消息,權(quán)重被分配值(1)。加密和解密活動(dòng)通過建議的加密 / 解密算法按照以下步驟執(zhí)行。步驟 1:加密(SK,M,A)- 密文(CT)步驟 2:解密(CT,SK)- 消息(M)其中,(SK)代表密鑰,(M)代表原始消息,(A)代表訪問控制,(CT)代表密文。
表 2 展示了建議的加密 / 解密算法的整體功能。加密算法采用三個(gè)輸入?yún)?shù),即密鑰、消息和訪問控制。對(duì)于可信車輛,訪問控制值設(shè)置為 1,表明這些車輛擁有訪問密鑰和解密消息的全部權(quán)限。其他不可信車輛被分配值 0,這些車輛可以訪問消息,但不允許解密消息。最初,解密算法檢查車輛的訪問控制值。如果值為 1,則將消息字符串的每個(gè)字符轉(zhuǎn)換為其 ASCII 值,并將該值加 1。

表 2、提出的加密/解密算法
將得到的值乘以消息長度的冪。將得到的結(jié)果進(jìn)一步除以對(duì)消息長度執(zhí)行的(除 2)運(yùn)算。加密消息連同密鑰被轉(zhuǎn)發(fā)給可信車輛,信任管理服務(wù)(TMS)提示車輛將密鑰重新發(fā)送給信任管理服務(wù)(TMS)。執(zhí)行此步驟是為了對(duì)可信車輛進(jìn)行身份驗(yàn)證。信任管理服務(wù)(TMS)交叉檢查從可信車輛收到的密鑰,一旦車輛通過身份驗(yàn)證,信任管理服務(wù)(TMS)允許車輛從信任管理服務(wù)(TMS)訪問解密算法以獲取實(shí)際消息。
在解密過程中,唯一的修改是將密文(CT)中各個(gè)字符的 ASCII 值減 1。其余過程與加密算法相同,以獲得原始消息。圖 5 展示了提出的加密和解密算法所涉及的各個(gè)階段。

圖5、加密/解密過程
4.4 提出的路由服務(wù)
此外,該研究還提出了一種基于啟發(fā)式的路由服務(wù),該服務(wù)使用禁忌搜索的概念有效地將車輛路由到其期望的目的地。
4.4.1 提出的路由服務(wù)的功能
最初,禁忌搜索從起始城市、中間城市和終點(diǎn)城市開始,并提供最佳路由解決方案。使用公式 3 估算最大化函數(shù)。計(jì)算隨機(jī)選擇的節(jié)點(diǎn)的相鄰節(jié)點(diǎn)相關(guān)的平均成本。選擇最大化函數(shù)值小于或等于其原始成本的相鄰節(jié)點(diǎn)作為當(dāng)前節(jié)點(diǎn)進(jìn)一步處理的下一個(gè)節(jié)點(diǎn)。隨后,更新禁忌列表中的值,并用新的最佳解決方案更新舊的最佳解決方案的值。如果為隨機(jī)節(jié)點(diǎn)的相鄰節(jié)點(diǎn)計(jì)算的最大化函數(shù)值大于或近似不等于先前的最佳解決方案,則從禁忌列表中刪除該節(jié)點(diǎn)的信息,并對(duì)其他節(jié)點(diǎn)重復(fù)此過程,直到達(dá)到終止條件。禁忌搜索選擇的節(jié)點(diǎn)及其相關(guān)成本是該特定行程的最優(yōu)路徑。
最大化函數(shù):
![]()
其中,Cost (i) 是與隨機(jī)選擇的節(jié)點(diǎn)的相鄰節(jié)點(diǎn)相關(guān)的成本,(n)表示圖中所選節(jié)點(diǎn)的相鄰節(jié)點(diǎn)總數(shù)。如果公式 3 的值小于或近似等于相鄰節(jié)點(diǎn)的成本,則選擇該特定節(jié)點(diǎn)作為下一個(gè)要進(jìn)一步處理的節(jié)點(diǎn)。上述陳述用公式(4)表示。圖 6 展示了建議的路由算法的功能流程。


圖 6、禁忌搜索在解決車輛網(wǎng)絡(luò)路由問題中的實(shí)現(xiàn)流程
4.5 部署服務(wù)的步驟
以下部分解釋了部署和執(zhí)行 Docker 鏡像的相關(guān)步驟:步驟 1:在谷歌云平臺(tái)中創(chuàng)建新項(xiàng)目。步驟 2:創(chuàng)建 Docker 鏡像所需的環(huán)境文件。步驟 3:開發(fā)服務(wù)。步驟 4:在本地谷歌容器注冊(cè)中心(gcr)中構(gòu)建并部署服務(wù)。步驟 5:創(chuàng)建 REST API。步驟 6:通過 REST API 拉取和推送鏡像。步驟 7:在任何平臺(tái)上執(zhí)行服務(wù)。
4.5.1 構(gòu)建和部署鏡像
命令:gcloud builds submit --tag http://gcr.io/stately-math-273218/my-python-運(yùn)行 Docker 鏡像使用 Docker run 命令在客戶端的容器中執(zhí)行 Docker [18]。其中,--rm -p 8000:8000 是應(yīng)用程序通信所用的端口,http://gcr.io/stately-math-273218/my-python-app_test 分別指代谷歌云注冊(cè)中心、項(xiàng)目 ID 和鏡像實(shí)例。命令:docker run --rm -p 8000:8000 http://gcr.io/statelymath-273218/my-python-app_test
5. 實(shí)驗(yàn)結(jié)果
為了評(píng)估框架中提出的服務(wù),進(jìn)行了兩種類型的評(píng)估。應(yīng)用程序使用 Python 語言開發(fā),并作為 Docker 鏡像部署在專用 Web 服務(wù)器上。從使用不同操作系統(tǒng)和 Web 瀏覽器的不同客戶端機(jī)器訪問這些服務(wù)。該評(píng)估衡量了微服務(wù)的效率。為了評(píng)估建議的信任評(píng)估和安全模塊的性能,使用 OMNET++、Sumo 和 Veins 工具建立了仿真環(huán)境。我們使用 OMNET++ 實(shí)現(xiàn)我們提出的信任管理(TM)框架。SUMO 交通模擬器用于創(chuàng)建交通流,Veins 系統(tǒng)用于建模車輛環(huán)境。為確保可擴(kuò)展性,使用了不同的交通流量率。對(duì)于城市道路網(wǎng)絡(luò)表示,選擇了艾因市地圖。圖 7 展示了所選區(qū)域的 SUMO NetEdit 地圖。我們將道路網(wǎng)絡(luò)劃分為相等的正方形區(qū)域,并在每個(gè)區(qū)域的中心放置一個(gè)路側(cè)單元(RSU)以建模提出的信任模型,如圖所示。每個(gè)路側(cè)單元(RSU)計(jì)算其監(jiān)控的道路鏈路的交通狀況,并在預(yù)定義的時(shí)間間隔結(jié)束時(shí)將其分發(fā)給其覆蓋范圍內(nèi)的車輛代理。

圖 7、艾因市地圖

表 3、訪問云服務(wù)的環(huán)境設(shè)置
然后,車輛代理使用交通狀況信息通過車對(duì)車(V2V)通信以多跳方式監(jiān)控可靠信息的傳播。我們使用 Veins 中可用的 IEEE 802.11p 實(shí)現(xiàn)物理層和 MAC 層。
表 3 列出了在云環(huán)境中實(shí)現(xiàn)服務(wù)所需的各種硬件、軟件和仿真要求。使用數(shù)據(jù)包交付率、訪問時(shí)間、構(gòu)建 Docker 鏡像所需的時(shí)間和 CPU 利用率等各種指標(biāo)來評(píng)估服務(wù)的跨平臺(tái)性能。此外,還對(duì)服務(wù)的性能進(jìn)行了單獨(dú)測試。PRTG 網(wǎng)絡(luò)監(jiān)控工具用于監(jiān)控服務(wù)的各種網(wǎng)絡(luò)活動(dòng)。


表 4、仿真的環(huán)境設(shè)置
類似地,表 4 列出了評(píng)估提出的信任管理服務(wù)(TMS)性能的仿真環(huán)境的參數(shù)詳情。
5.1 建議服務(wù)的整體性能
第一部分說明并解釋了建議服務(wù)的各種性能分析。表 5 展示了建議的信任評(píng)估服務(wù)的整體性能。從數(shù)據(jù)中可以看出,建議的信任評(píng)估服務(wù)在 Windows 操作系統(tǒng)上的 Chrome 瀏覽器中表現(xiàn)良好。表 6 展示了通過在仿真中逐漸增加惡意節(jié)點(diǎn)的數(shù)量,信任模型在車輛環(huán)境中檢測惡意節(jié)點(diǎn)的效率,表 7 描述了建議的路由服務(wù)在仿真環(huán)境中的整體性能。結(jié)果表明,提出的服務(wù)在跨平臺(tái)和仿真環(huán)境中表現(xiàn)更佳。

表 5. 提出的微服務(wù)在跨平臺(tái)環(huán)境中的整體性能

表 6. 建議的信任評(píng)估服務(wù)的性能


表 7. 建議的路由服務(wù)的性能
5.2 與其他相關(guān)研究的比較
在第二次實(shí)驗(yàn)分析中,將提出的信任評(píng)估服務(wù)和路由服務(wù)的性能與其他相關(guān)研究進(jìn)行了比較。在第一次比較中,分析了相關(guān)研究和提出的路由算法計(jì)算最優(yōu)成本以找到最佳路線的執(zhí)行時(shí)間。圖 8 展示了結(jié)果,該結(jié)果表明建議的路由機(jī)制比相關(guān)路由模型表現(xiàn)更好。與相關(guān)研究相比,提出的路由算法消耗的資源更少,從而最大限度地減少了 CPU 利用率時(shí)間。在第二次比較中,將提出的信任評(píng)估服務(wù)與其他類似運(yùn)行方式的知名信任模型的性能進(jìn)行了比較。分析了這些模型消耗的運(yùn)行時(shí)存儲(chǔ)。由于提出的模型使用簡單的概念來評(píng)估信任,與其他信任評(píng)估模型相比,它消耗的運(yùn)行時(shí)存儲(chǔ)更少。從圖 9 中呈現(xiàn)的結(jié)果可以明顯看出,提出的信任模型比相關(guān)信任模型表現(xiàn)更好。

圖 8、提出的研究與相關(guān)研究之間的執(zhí)行時(shí)間比較

圖 9、提出的信任服務(wù)與相關(guān)研究的性能比較
6. 未來改進(jìn)
該研究可以通過將自動(dòng)駕駛計(jì)費(fèi)服務(wù)、停車服務(wù)和車隊(duì)行駛服務(wù)等各種應(yīng)用程序?qū)崿F(xiàn)為微服務(wù)來進(jìn)一步擴(kuò)展。實(shí)驗(yàn)是在連接多個(gè)客戶端的專用服務(wù)器上進(jìn)行的。未來,這些服務(wù)必須部署在分布式云服務(wù)器上,允許在不同平臺(tái)上工作的客戶端訪問并將建議的服務(wù)集成到他們的應(yīng)用程序中。這些服務(wù)必須可從云服務(wù)器上托管的公共 Docker 倉庫訪問。
7. 結(jié)論
本研究提出了一個(gè)多功能框架,整合了三個(gè)必備的微服務(wù),如信任評(píng)估、車輛實(shí)體之間的可靠消息傳播以及自動(dòng)駕駛車輛的路由服務(wù)。此外,該研究還提出了一種多功能的基于密文的加密 / 解密算法,以確保車輛實(shí)體之間經(jīng)過認(rèn)證的安全消息傳播。本研究的主要目標(biāo)是方便自動(dòng)駕駛汽車制造商和自動(dòng)駕駛解決方案開發(fā)人員在其現(xiàn)有的車輛解決方案中使用這些服務(wù),有效減少他們的開發(fā)時(shí)間和成本。此外,這些服務(wù)計(jì)劃在跨平臺(tái)環(huán)境中實(shí)現(xiàn)和執(zhí)行。為實(shí)現(xiàn)這一目標(biāo),利用 Docker 和容器的先進(jìn)功能來設(shè)計(jì)、構(gòu)建和部署服務(wù)作為 Docker 鏡像,其實(shí)例可以集成到部署在客戶端本地機(jī)器上的容器中。谷歌云平臺(tái)用于實(shí)現(xiàn) Docker 的功能來構(gòu)建鏡像。創(chuàng)建的鏡像可以在部署它們的同一本地機(jī)器上執(zhí)行,或者隨后在不同的跨平臺(tái)環(huán)境中實(shí)現(xiàn)并通過不同的瀏覽器訪問。實(shí)驗(yàn)結(jié)果證明,在不同的系統(tǒng)環(huán)境中,部署和訪問提出的服務(wù)所需的時(shí)間相對(duì)較短。與其他相關(guān)研究進(jìn)行了多次評(píng)估和比較,以證明提出的服務(wù)的效率和準(zhǔn)確性。本文還強(qiáng)調(diào)了與該研究相關(guān)的未來改進(jìn)方向。
(添加微信號(hào)NewCarRen咨詢)
