柳義筠 陳善平
摘? 要: 隨著自動駕駛、智能網(wǎng)聯(lián)汽車和智能交通系統(tǒng)的發(fā)展,車聯(lián)網(wǎng)的應(yīng)用場景也越來越豐富。本文經(jīng)過循序漸進(jìn)地分析,提出軟件定義云邊端協(xié)同一體化車聯(lián)網(wǎng)架構(gòu)。為了適應(yīng)車聯(lián)網(wǎng)的高移動性、實時性、流量劇烈增減和網(wǎng)絡(luò)異構(gòu)等特點,提出基于KubeEdge框架的車聯(lián)網(wǎng)系統(tǒng)管理架構(gòu),并系統(tǒng)介紹KubeEdge的組成和云邊消息傳遞機制。該架構(gòu)將Docker容器、Kubernetes 與車載智能設(shè)備、路邊智能設(shè)備相結(jié)合,并對 KubeEdge 框架的云端、邊端和云邊端消息傳遞進(jìn)行“本土化”改造,可作為車聯(lián)網(wǎng)未來發(fā)展思路和路徑之一。
關(guān)鍵詞: 車聯(lián)網(wǎng); 云計算; 軟件定義網(wǎng)絡(luò)(SDN); KubeEdge; 架構(gòu)
中圖分類號:TP393.0? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2023)04-23-06
Abstract: With the development of autonomous driving, intelligent connected vehicles and intelligent transportation systems, the application scenarios of Internet of vehicles are becoming more and more abundant. After analyzing step by step, we propose a software-defined cloud-edge-end collaborative integrated Internet of vehicles architecture. In order to adapt to the characteristics of Internet of vehicles, such as high mobility, real-time performance, dramatic increase and decrease of traffic, and network heterogeneity, a system management architecture of Internet of vehicles is proposed based on KubeEdge framework, and the composition of KubeEdge and the cloud-edge message transmission mechanism are systematically introduced. This architecture combines Docker container and Kubernetes with on-board intelligent devices and roadside intelligent devices, and makes a "localization" transformation of the cloud, edge and cloud-edge messaging of KubeEdge framework. It can be used as one of the ideas and paths for the future development of the Internet of vehicles.
Key words: Internet of vehicles; cloud computing; software defined network (SDN); KubeEdge; architecture
0 引言
智能交通系統(tǒng)將先進(jìn)的科學(xué)技術(shù)綜合運用于整個交通運輸管理體系,充分利用路和路邊的基礎(chǔ)設(shè)施,實現(xiàn)車和車、路的有機協(xié)同。車聯(lián)網(wǎng)應(yīng)用于智能交通系統(tǒng),有助于提高其效率及安全性。車聯(lián)網(wǎng)是未來智慧城市重要組成部分。
車聯(lián)網(wǎng)發(fā)展至今,也暴露出一些問題和發(fā)展瓶頸。如靈活性差,現(xiàn)在車聯(lián)網(wǎng)采用傳統(tǒng)的IP網(wǎng)絡(luò)架構(gòu),很難適應(yīng)車輛的高移動性導(dǎo)致網(wǎng)絡(luò)拓?fù)渥兓l繁;可擴展性差,目前車聯(lián)網(wǎng)缺乏統(tǒng)一的標(biāo)準(zhǔn),不同的生產(chǎn)廠商軟硬件不兼容,致使車聯(lián)網(wǎng)難以大規(guī)模部署;服務(wù)質(zhì)量(QoS)不高,隨著接入汽車數(shù)量爆發(fā)性增加而帶來數(shù)據(jù)流量井噴式增加,現(xiàn)有應(yīng)用服務(wù)模式不能實時有效處理[1]。所以需要有新的頂層設(shè)計來應(yīng)對這樣的挑戰(zhàn)。
為了建立新型的車聯(lián)網(wǎng)架構(gòu),國外許多學(xué)者進(jìn)行了一些探索,如Mendonca等提出將軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)應(yīng)用到異構(gòu)網(wǎng)絡(luò)環(huán)境中,利用SDN自動重新配置的功能來優(yōu)化通信質(zhì)量[2]。Ku等提出引入SDN控制器的車輛自組織網(wǎng)絡(luò)架構(gòu)[3],他們考慮退回機制,使SDN可以適應(yīng)車聯(lián)網(wǎng)絡(luò),同時可以使用SDN改善網(wǎng)絡(luò)管理。M.A.Saahuddin等將SDN應(yīng)用于路邊節(jié)點單元(RoadSideUnit,RSU)中,支持SDN控制器功能與虛擬化[4]。
國內(nèi)一些學(xué)者在建立車聯(lián)網(wǎng)架構(gòu)上也有比較好的思路,如廉騰飛提出一種將邊緣計算應(yīng)用到車聯(lián)網(wǎng)中,并且融合SDN優(yōu)點與多接入邊緣計算下迅速執(zhí)行的優(yōu)勢,提出了靈活與可控的系統(tǒng)框架[5]。段鵬飛設(shè)計了一種新型的車聯(lián)網(wǎng)架構(gòu)SDVANET,由遠(yuǎn)程控制器來控制車聯(lián)網(wǎng),使得車聯(lián)網(wǎng)能夠根據(jù)不同交通場景和通信環(huán)境來改變網(wǎng)絡(luò)的路由策略和轉(zhuǎn)發(fā)規(guī)則,實現(xiàn)異構(gòu)環(huán)境下車聯(lián)網(wǎng)的平穩(wěn)通信[6]。董偉豪提出了一種結(jié)合SDN、云計算和霧計算的新型車聯(lián)網(wǎng)架構(gòu),該架構(gòu)分為四層,利用了軟件定義網(wǎng)絡(luò)的可編程性、云計算的高處理能力和霧計算的去中心化等[1]。張海波等采用軟件定義車載網(wǎng)絡(luò)對全局變量統(tǒng)一調(diào)度,實現(xiàn)了資源控制管理、設(shè)備信息采集以及任務(wù)信息分析[7]。董柏宏等探索軟件定義車聯(lián)網(wǎng)的分層控制結(jié)構(gòu),由局部控制器和全局控制器組成,實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)和控制分離[8]。高揚水將負(fù)載均衡技術(shù)與軟件定義車聯(lián)網(wǎng)絡(luò)架構(gòu)優(yōu)勢相結(jié)合,探討提高車聯(lián)網(wǎng)傳輸性能方面的關(guān)鍵技術(shù)[9]。
上述文獻(xiàn)基于局部最優(yōu)的思維去構(gòu)建車聯(lián)網(wǎng)架構(gòu),沒能深入考慮到車聯(lián)網(wǎng)高移動性、流量劇烈增減和網(wǎng)絡(luò)異構(gòu)等特點,所做出的研究成果不能完全匹配實際場景。本文在參考和吸收前人研究的基礎(chǔ)上,主要做了以下工作。
1 系統(tǒng)架構(gòu)的設(shè)計
1.1 軟件定義車聯(lián)網(wǎng)
軟件定義網(wǎng)絡(luò)的思想應(yīng)用于車聯(lián)網(wǎng)形成軟件定義車聯(lián)網(wǎng),可以使之能適應(yīng)車輛動態(tài)接入和退出、車流量劇增劇減和車輛移動性等因素引起的拓?fù)浣Y(jié)構(gòu)動態(tài)變化。圖1是軟件定義車聯(lián)網(wǎng)架構(gòu)。
1.2 云計算重構(gòu)車聯(lián)網(wǎng)
云計算作為一種新的計算模式,近幾年有了快速發(fā)展,已經(jīng)成功被應(yīng)用到許多領(lǐng)域,取得了很好的效果,把云計算技術(shù)應(yīng)用到車聯(lián)網(wǎng)中,可以有效解決車聯(lián)網(wǎng)中海量數(shù)據(jù)的存儲和處理問題。結(jié)合SDN和云計算技術(shù),我們提出一種新的車聯(lián)網(wǎng)架構(gòu),見圖2。
這種車聯(lián)網(wǎng)架構(gòu)可以解決車聯(lián)網(wǎng)數(shù)據(jù)傳輸、存儲和處理問題,但一些車聯(lián)網(wǎng)應(yīng)用場景如自動駕駛、緊急救援和智能化交通管理等對實時性有著非常嚴(yán)格的要求,若數(shù)據(jù)從車載終端傳送到云計算中心處理后,再傳到車載終端,這樣的時延會非常大,會對車聯(lián)網(wǎng)有些應(yīng)用場景帶來災(zāi)難性后果。需要把部分存儲和處理能力下沉到邊緣端,滿足車聯(lián)網(wǎng)實時性要求。
1.3 云邊端協(xié)同車聯(lián)網(wǎng)架構(gòu)
邊緣計算可以為終端用戶提供動態(tài)和實時的服務(wù)計算,一些控制可以通過邊緣設(shè)備實現(xiàn)而無需交由云端,處理過程可以在本地邊緣端完成。車聯(lián)網(wǎng)中如自動駕駛、緊急救援和智能化交通管理等對實時性要求很高,應(yīng)用邊緣計算技術(shù)可以有效解決實時快速響應(yīng)問題。結(jié)合前述的SDN和云計算技術(shù),我們提出一種四層架構(gòu)的車聯(lián)網(wǎng)架構(gòu),見圖3。
⑴ 應(yīng)用層:由應(yīng)用服務(wù)器和云數(shù)據(jù)中心服務(wù)等組成,完成海量網(wǎng)聯(lián)數(shù)據(jù)存儲和處理,和面向具體應(yīng)用的接口。
⑵ 軟件定義層:由交換機和SDN控制器等組成,通過編程對網(wǎng)絡(luò)拓?fù)浜土髁哭D(zhuǎn)發(fā)進(jìn)行定義。SDN控制器將訪問控制或者路徑選擇等網(wǎng)絡(luò)策略轉(zhuǎn)換為SDN交換機的流表規(guī)則,完成車聯(lián)網(wǎng)的拓展和一些新服務(wù)部署。
⑶ 邊緣層:由路邊單元、基站和邊緣服務(wù)器等組成。使車聯(lián)網(wǎng)實時數(shù)據(jù)能夠快速處理和與云數(shù)據(jù)中心保持協(xié)同,保證數(shù)據(jù)一致性。
⑷ 節(jié)點層:由傳感器、攝像頭和車載設(shè)備等組成。收集車聯(lián)網(wǎng)原始數(shù)據(jù),并且傳送到相應(yīng)接收設(shè)備。
車聯(lián)網(wǎng)期望朝著終端的智能化、連接的多樣性、數(shù)據(jù)的共享性和服務(wù)的平臺化方向發(fā)展;新型汽車不僅是載人載物的工具,而是朝著多媒體化和智能化等復(fù)合功能型平臺方向演進(jìn),不斷IP化和ICT化,軟件定義可以使終端軟硬件解耦。本文提出了一種基于KubeEdge框架的軟件定義車聯(lián)網(wǎng)云邊端協(xié)同一體化架構(gòu),該架構(gòu)將Docker容器技術(shù)、Kubernetes技術(shù)與SDN技術(shù)相結(jié)合,適應(yīng)車聯(lián)網(wǎng)自身特點,實現(xiàn)智能化、自動化和多媒體化車聯(lián)網(wǎng)架構(gòu)。
2 云邊端協(xié)同框架KubeEdge
KubeEdge是解決邊緣場景問題的開源系統(tǒng),在 Kubernetes原生容器編排和調(diào)度功能上面,可以實現(xiàn)云邊協(xié)同、計算下沉和邊緣自治、海量邊緣設(shè)備管理等能力。KubeEdge架構(gòu)如圖4所示,包括邊緣端和云端兩部分。
⑴ KubeEdge 的云端包含的組件
CloudHub:WebSocket服務(wù)器,負(fù)責(zé)監(jiān)控云端的變化和緩存并把消息發(fā)送到EdgeHub。EdgeController:拓展的Kubernetes控制器:負(fù)責(zé)管理pods和邊緣節(jié)點的元數(shù)據(jù)。DeviceController:拓展的Kubernetes控制器,負(fù)責(zé)管理邊緣設(shè)備,實現(xiàn)同步的邊緣設(shè)備元數(shù)據(jù)或狀態(tài)數(shù)據(jù)。
⑵ KubeEdge 的邊端包含的組件
EdgeHub:WebSocket客戶端,負(fù)責(zé)與云和邊實現(xiàn)交互。Edged:負(fù)責(zé)管理pod生命周期,相當(dāng)于Kubernetes中的 kubelet。EventBus:是一個MQTT客戶端負(fù)責(zé)與MQTT服務(wù)器mosquitto的交互總線,提供發(fā)布與訂閱功能給其他組件。ServiceBus:是一個HTTP客戶端與HTTP服務(wù)器使用REST進(jìn)行交互總線,提供HTTP客戶端功能給云端組件。DeviceTwin:負(fù)責(zé)存儲設(shè)備狀態(tài),同步設(shè)備狀態(tài)到云端,也提供了查詢接口。MetaManager:是edged與edgehub之間的message處理器,同時,也負(fù)責(zé)存儲元數(shù)據(jù)到輕量級數(shù)據(jù)庫SQLite。
⑶ 邊緣設(shè)備管理
KubeEdge通過Kubernetes的CRD,增加了Device-Model(描述設(shè)備元信息)和 Device(描述設(shè)備實例信息)兩個資源,見圖5,圖6。
⑷ 云邊自定義消息傳遞
在實際一些應(yīng)用場景中,如在云邊應(yīng)用之間,用戶需要傳遞一些自定義的信息。基于Kubernetes的 CRD,KubeEdge補充了ruleEndpoint和rule兩個資源。ruleEndpoint定義了信息源端和目的端,rule定義了路由規(guī)則,可以實現(xiàn)在云邊間傳遞消息的。ruleEndpoint有三種類型:rest,eventbus和servicebus。見圖7。
綜上所述,KubeEdge解決了邊緣計算的五個問題:云邊協(xié)同、支持異構(gòu)、大規(guī)模設(shè)備接入、輕量化邊端、不同的設(shè)備管理和接入體驗一致??蓢L試應(yīng)用于車聯(lián)網(wǎng)中解決面臨的挑戰(zhàn)[11]。
3 基于KubeEdge框架的軟件定義車聯(lián)網(wǎng)云邊端架構(gòu)
3.1 車聯(lián)網(wǎng)系統(tǒng)架構(gòu)—云部分
車聯(lián)網(wǎng)系統(tǒng)可構(gòu)建為一個云、邊和端協(xié)同的平臺體系。云端提供云端計算服務(wù),主要包括兩大系統(tǒng):大數(shù)據(jù)應(yīng)用系統(tǒng)和車輛管理系統(tǒng)。其中大數(shù)據(jù)應(yīng)用系統(tǒng)主要提供規(guī)則引擎、數(shù)據(jù)采集清洗、大數(shù)據(jù)存儲分析與可視化、智能學(xué)習(xí)等功能。車輛管理系統(tǒng)主要提供車輛發(fā)現(xiàn)、監(jiān)控管理、應(yīng)用管理、容器管理等功能。邊端通過邊緣智能設(shè)備提供設(shè)備的接入、邊緣計算、協(xié)議解析的能力[10]。如圖8所示。
3.2 車聯(lián)網(wǎng)系統(tǒng)架構(gòu)-邊部分
邊部分硬件主要由路邊智能設(shè)備和車載智能設(shè)備組成。邊端系統(tǒng)內(nèi)置邊緣代理程序,通過云端邊緣控制服務(wù)與邊緣代理的連接,實現(xiàn)對邊端智能終端的管理[10]。邊端部分系統(tǒng)架構(gòu)如圖9所示。
3.3 適應(yīng)車聯(lián)網(wǎng)系統(tǒng)的KubeEdge的改造
車聯(lián)網(wǎng)系統(tǒng)對邊端設(shè)備、容器和應(yīng)用等細(xì)粒度的管理,需要對KubeEdge進(jìn)行改造,新增邊緣端設(shè)備狀態(tài)信息上報到云端和云端更新設(shè)備的操作同步到邊緣端[10]。
⑴ 邊緣端設(shè)備狀態(tài)信息上報到云端。邊緣端設(shè)備狀態(tài)信息上報示意如圖10所示,在邊端代理中新增了acstatus模塊,主要用于采集邊端設(shè)備硬件信息,以及容器及容器內(nèi)部應(yīng)用等相關(guān)信息。邊端通過acstatus模塊周期性地采集信息,并通過edgehub與cloudhub建立TCP連接通道發(fā)送給云端edgeapiserver 模塊,edgeapiserver塊收到信息后,再在終端管理平臺進(jìn)行持久化。
⑵ 云端更新設(shè)備的操作同步到邊緣端。在KubeEdge中最小的管理單元是容器,不能直接管理到容器內(nèi)部應(yīng)用,因此通過增加acworker模塊可以實現(xiàn)對容器內(nèi)部的應(yīng)用管理,應(yīng)用管理示意如圖11所示,智能終端管理平臺下發(fā)啟動或停止或刪除操作給edgeapiserver 模塊,edgeapiserver模塊通過cloudhub與edgehub之間建立的TCP連接通道發(fā)送給邊端 acworker模塊。acworker模塊可以通過Docker API完成下發(fā)啟動或停止或刪除操作給容器內(nèi)部應(yīng)用,最后返回處理結(jié)果給云端。
4 結(jié)束語
在人工智能、新能源汽車、自動駕駛和智能交通系統(tǒng)等技術(shù)和應(yīng)用快速發(fā)展的時代,車聯(lián)網(wǎng)應(yīng)運而生并被推到風(fēng)口上,車聯(lián)網(wǎng)的高移動性、實時性、流量瞬時增減和網(wǎng)絡(luò)異構(gòu)等特點,決定其與傳統(tǒng)的ICT和IOT網(wǎng)絡(luò)有很大的區(qū)別,本文經(jīng)過分析,提出軟件定義云邊端協(xié)同一體化車聯(lián)網(wǎng)架構(gòu)。
KubeEdge是一個致力于解決云邊端場景問題的開源系統(tǒng)框架,在Kubernetes原生容器編排和調(diào)度之上,實現(xiàn)了云邊協(xié)同和計算下沉、邊緣自治和海量邊緣設(shè)備管理等能力。為了適應(yīng)車聯(lián)網(wǎng)系統(tǒng)的管理,本文對KubeEdge進(jìn)行了改造,增加了一些新的操作流程,該方法通過軟硬件協(xié)同一體化的思路,利用容器、大數(shù)據(jù)、人工智能技術(shù),嘗試高效地對車聯(lián)網(wǎng)進(jìn)行管理。本文僅僅是對車聯(lián)網(wǎng)設(shè)計了一個基本框架和研究方向,下一步就是做好落地轉(zhuǎn)化工作,并驗證其可行性,并繼續(xù)研究車聯(lián)網(wǎng)中卸載策略、多接入和路由等課題。
參考文獻(xiàn)(References):
[1] 董偉豪.云霧一體化軟定義車聯(lián)網(wǎng)架構(gòu)和性能優(yōu)化[D].碩士,北京:北京交通大學(xué),2018
[2] Mendonca M,Obraczka K,Turletti T.The case for software-defined networking in heterogeneous networking environments[C]//ACM Conference on CONEXT Student Workshop.ACM,2012:59-60
[3] Ku I,Lu Y, Gerla M,etal.Towards Software-Defined VANET:Architectures and Services[J].IEEE,2014:103-110
[4] Salahuddin MA,Al-Fuqaha A,Guizani M.Software-Defined Networking for RSU Clouds in Support of theInternet of Vehicles[J].IEEE Internet of Things Journal,2015,2(2):133-144
[5] 廉騰飛.基于SDN的車聯(lián)網(wǎng)邊緣計算及協(xié)作分載機制研究[D].碩士,開封:河南大學(xué),2019
[6] 段鵬飛.基于軟件定義的車聯(lián)網(wǎng)QoS路由框架研究[D].碩士,上海:華東師范大學(xué),2017
[7] 張海波.車聯(lián)網(wǎng)中一種基于軟件定義網(wǎng)絡(luò)與移動邊緣計算的卸載策略[J].電子與信息學(xué)報,2020,42(3)
[8] 董柏宏.軟件定義車聯(lián)網(wǎng)的數(shù)據(jù)轉(zhuǎn)發(fā)策略和路由選擇技術(shù)[J].計算機應(yīng)用,2018,38(1):26-30,49
[9] 高揚水.軟件定義車聯(lián)網(wǎng)負(fù)載均衡關(guān)鍵技術(shù)的研究[D].博士,北京:北京郵電大學(xué),2020
[10] 阮正平,佘文魁,李凱,等.基于KubeEdge 架構(gòu)的邊緣智能設(shè)備管理研究[J].電力信息通信,2020,18(2):63-68
[11] 周浩.邊緣計算平臺KubeEdge云邊協(xié)同機制解析.云原生社區(qū)動態(tài)[微信公眾號],2022-7-18
*基金項目:廣州市科技計劃項目基礎(chǔ)與應(yīng)用基礎(chǔ)研究項目(202201011756); 2021年廣東省科技創(chuàng)新戰(zhàn)略專項資金(大學(xué)生科技創(chuàng)新培育)(pdjh2021b0886)
作者簡介:柳義筠(1974-),男,湖北省黃梅縣人,碩士,講師,主要研究方向:云原生、SDN。