◆寇應(yīng)展 陳財(cái)森 通訊作者 閆凌森
(1.陸軍裝甲兵學(xué)院 北京 100072;2.西南交通大學(xué) 計(jì)算機(jī)學(xué)院 四川 611756)
隨著物聯(lián)網(wǎng)、5G 等技術(shù)的推進(jìn),物端用戶對信息采集、數(shù)據(jù)傳輸?shù)男枨笕找嬖鲩L。受限于邊緣設(shè)備,其計(jì)算能力、功耗往往不能在本地執(zhí)行。傳統(tǒng)的云計(jì)算中,需要將物端完成的任務(wù)上傳到云平臺(tái),由云平臺(tái)處理后返回物端。傳統(tǒng)網(wǎng)絡(luò)以云計(jì)算為平臺(tái),物端采集的數(shù)據(jù)傳輸?shù)皆贫颂幚硪呀?jīng)無法滿足物聯(lián)網(wǎng)低響應(yīng)時(shí)延的要求,云端服務(wù)器集中存儲(chǔ)方式隨著物端傳感器節(jié)點(diǎn)增多,面臨存儲(chǔ)、傳輸與計(jì)算的壓力;同時(shí),因傳輸?shù)皆贫朔?wù)器的路徑較長,數(shù)據(jù)的丟失、信息泄露等安全風(fēng)險(xiǎn)也逐漸凸顯。特別是在野外環(huán)境下,物端設(shè)備狀態(tài)數(shù)據(jù)和監(jiān)控視頻數(shù)據(jù)采集等工作面臨著環(huán)境多變、資源受限、數(shù)據(jù)易丟包等困難,出現(xiàn)過度響應(yīng)延遲,嚴(yán)重阻礙對突發(fā)事件的快速態(tài)勢感知和應(yīng)急處理等問題。
邊緣計(jì)算(Edge Computing)是指在網(wǎng)絡(luò)邊緣靠近物聯(lián)網(wǎng)設(shè)備端(物端設(shè)備)的新型計(jì)算模型,將傳統(tǒng)云計(jì)算中心的部分或全部計(jì)算任務(wù)遷移到設(shè)備端一側(cè),就近提供邊緣服務(wù),滿足時(shí)敏聯(lián)接、實(shí)時(shí)業(yè)務(wù)、安全與隱私保護(hù)等方面的關(guān)鍵需求。相比于傳統(tǒng)的云計(jì)算模型,邊緣計(jì)算是指靠近物端設(shè)備的小型“云”處理中心,即在網(wǎng)絡(luò)邊緣進(jìn)行計(jì)算處理和存儲(chǔ),邊緣計(jì)算模型具有實(shí)時(shí)數(shù)據(jù)處理和分析、安全性高、可擴(kuò)展性強(qiáng)以及低傳輸帶寬的優(yōu)勢。
邊緣計(jì)算平臺(tái)在本地設(shè)備上處理更多數(shù)據(jù)而不是將其上傳至云計(jì)算中心實(shí)時(shí)處理數(shù)據(jù),減少與云計(jì)算平臺(tái)的數(shù)據(jù)傳輸及延遲,降低云計(jì)算平臺(tái)的計(jì)算負(fù)載;邊緣計(jì)算平臺(tái)在邊緣設(shè)備和云計(jì)算平臺(tái)之間協(xié)調(diào)服務(wù)、處理、存儲(chǔ),使得其安全性提高;同時(shí)邊緣計(jì)算提供更便捷的可擴(kuò)展性路徑,通過物聯(lián)網(wǎng)設(shè)備和邊緣計(jì)算平臺(tái)的組合來擴(kuò)展其計(jì)算能力,添加新設(shè)備對網(wǎng)絡(luò)帶寬需求影響較小;接入網(wǎng)絡(luò)內(nèi)的物端設(shè)備接收信息,物端設(shè)備根據(jù)自己的實(shí)時(shí)位置把相關(guān)位置信息和數(shù)據(jù)交給邊緣節(jié)點(diǎn)來進(jìn)行處理,邊緣計(jì)算平臺(tái)以此信息發(fā)現(xiàn)設(shè)備的位置,物端設(shè)備收集的數(shù)據(jù)在本地設(shè)備上進(jìn)行數(shù)據(jù)的預(yù)處理、計(jì)算分析。
邊緣計(jì)算擁有聯(lián)接性和約束性等特點(diǎn)。聯(lián)接性表現(xiàn)在邊緣計(jì)算作為連接物理設(shè)備的第一接口,面臨數(shù)據(jù)實(shí)時(shí)性、多樣性等挑戰(zhàn)。由于物端設(shè)備的多樣性以及應(yīng)用場景的差異性,需要邊緣計(jì)算平臺(tái)具有超強(qiáng)的聯(lián)接能力,能夠提供兼容的網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)接口,兼容的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)管理,同時(shí)還要考慮與常用的各種工業(yè)總線互聯(lián)互通;約束性表現(xiàn)在靠近數(shù)據(jù)源頭,野外現(xiàn)場條件惡劣、運(yùn)行環(huán)境易受干擾,要求邊緣計(jì)算產(chǎn)品適配各種條件約束,以支撐多樣性場景需求。
解決傳統(tǒng)云計(jì)算平臺(tái)局限的方案中,還衍生出一種由美國思科提出的霧計(jì)算(Fog Computing)的解決方案,相對于邊緣計(jì)算,霧計(jì)算解決方案是將采集的數(shù)據(jù)傳送到設(shè)備網(wǎng)關(guān)進(jìn)行處理、存儲(chǔ),在物理層級上,霧計(jì)算是位于云計(jì)算的下層,位于邊緣計(jì)算的上層。
霧計(jì)算解決方案是在傳統(tǒng)云計(jì)算平臺(tái)與物端設(shè)備間提供虛擬化計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)服務(wù)的通信協(xié)議和設(shè)備的平臺(tái)。軟件結(jié)構(gòu)分為抽象層、編排層、服務(wù)層,抽象層對下連接物端設(shè)備,數(shù)據(jù)存儲(chǔ)在路由器、交換機(jī)、無線控制器、網(wǎng)關(guān)等設(shè)備,向編排層隱藏物端設(shè)備的差異性;編排層利用抽象層的API 接口構(gòu)建霧計(jì)算資源池和虛擬化基礎(chǔ)設(shè)施;服務(wù)層作為虛擬機(jī)實(shí)例,向編排層發(fā)送服務(wù)請求。可以將邊緣計(jì)算、霧計(jì)算理解為靠近網(wǎng)絡(luò)邊緣以及物端的“小云”。邊緣計(jì)算相比于霧計(jì)算更加靠近用戶設(shè)備。隨著技術(shù)的發(fā)展,出現(xiàn)移動(dòng)邊緣計(jì)算等概念,它指部署在基站上為覆蓋區(qū)域內(nèi)設(shè)備提供網(wǎng)絡(luò)服務(wù)的邊緣計(jì)算。
邊緣計(jì)算通過在物端設(shè)備和云之間引入邊緣設(shè)備,將云服務(wù)中計(jì)算、存儲(chǔ)等服務(wù)擴(kuò)展到網(wǎng)絡(luò)邊緣靠近物端的位置。邊緣計(jì)算架構(gòu)包括前端(物端層)、近端(邊緣層)和遠(yuǎn)端(云層)[1]。
(1)前端(物端層)。物端層最接近物端設(shè)備,通過各種協(xié)議與物端傳感器相連,通過傳感器等設(shè)備,采集、監(jiān)控物端設(shè)備的特征數(shù)據(jù),采集到的數(shù)據(jù)上傳至近端(邊緣計(jì)算層)進(jìn)行計(jì)算和存儲(chǔ)。
(2)近端(邊緣層)。邊緣層介于遠(yuǎn)端與前端之間,靠近前端位置,位于網(wǎng)絡(luò)的邊緣,由許多邊緣節(jié)點(diǎn)組成,通常包括采集單元如單板計(jì)算機(jī),連接、交換設(shè)備如交換機(jī)、路由器、網(wǎng)關(guān)、接入點(diǎn)、基站,存儲(chǔ)設(shè)備如特定功能邊緣服務(wù)器等。
(3)遠(yuǎn)端(云層)。云層由兩個(gè)部分組成,一是高性能服務(wù)器,二是大量的存儲(chǔ)設(shè)備,在滿足執(zhí)行多用戶計(jì)算任務(wù)的同時(shí),還可滿足多用戶的存儲(chǔ)請求。
云計(jì)算平臺(tái)需要物端將采集的數(shù)據(jù)遠(yuǎn)距離的傳輸?shù)皆贫?,?dāng)物端設(shè)備較多,遠(yuǎn)距離傳輸資源消耗過大,對于時(shí)敏設(shè)備延遲低的要求無法滿足。2006 年11 月,由華為等聯(lián)合倡議的邊緣計(jì)算及產(chǎn)業(yè)聯(lián)盟(Edge Computing Consortium ECC)成立,2017 年發(fā)布的《邊緣計(jì)算參考架構(gòu)2.0》,從概念視圖、功能視圖、部署視圖三個(gè)維度描述了邊緣計(jì)算的概念、特點(diǎn)、價(jià)值。2018 年發(fā)布的《邊緣計(jì)算參考架構(gòu)3.0》[2],規(guī)范了商業(yè)視圖、使用視圖、功能視圖、部署視圖,實(shí)現(xiàn)物理和數(shù)字世界的知識(shí)模型之間協(xié)作、減少異構(gòu)性和簡化跨平臺(tái)移植等功能。邊緣計(jì)算參考架構(gòu)3.0 如圖1 所示。
圖1 邊緣計(jì)算參考架構(gòu)3.0
輕量級邊緣計(jì)算主要指邊緣計(jì)算的節(jié)點(diǎn)、網(wǎng)絡(luò)交換、資源虛擬化等輕量化。輕量級計(jì)算節(jié)點(diǎn),要求在體積小,功耗低的基礎(chǔ)上,具有成本低廉和易于部署特點(diǎn)。如單板計(jì)算機(jī),除具有CPU、存儲(chǔ)器、I/O 設(shè)備接口功能外,特點(diǎn)是低功耗;輕量級網(wǎng)絡(luò)交換以軟件定義網(wǎng)絡(luò)SDN 將網(wǎng)絡(luò)控制面與數(shù)據(jù)面分離,即部署虛擬交換機(jī),滿足配置簡易和低廉成本及控制靈活的要求;輕量級資源虛擬化支持在硬件資源的虛擬化基礎(chǔ)上,進(jìn)行內(nèi)容編排和提高操作層面的資源利用率,減少因虛擬設(shè)備驅(qū)動(dòng)等帶來的巨大開銷。
野外環(huán)境設(shè)備通常部署在遠(yuǎn)離云平臺(tái)的地理位置,因而,設(shè)備和云平臺(tái)傳輸時(shí)延較大,集中式的云計(jì)算方案,需要把所有的任務(wù)上傳到云端處理,因此對云端服務(wù)器的性能要求較高,需要高昂的運(yùn)維成本以及穩(wěn)定的運(yùn)行環(huán)境,面對突發(fā)或緊急情況時(shí),云平臺(tái)的應(yīng)對能力較差,使得數(shù)據(jù)流量匯集于少數(shù)的網(wǎng)絡(luò)節(jié)點(diǎn),極易造成網(wǎng)絡(luò)擁堵,增加了任務(wù)的平均時(shí)延。野外環(huán)境設(shè)備具有設(shè)備多樣性、資源受限等特點(diǎn),多樣性體現(xiàn)在應(yīng)用場景多樣,硬件芯片架構(gòu)和接口差異,軟件操作系統(tǒng)和編程模式不同,傳輸通信協(xié)議不兼容等。最末端節(jié)點(diǎn)-物端傳感器及計(jì)算資源簡單,功能單一,采集的狀態(tài)和視頻等資料需從物端傳輸?shù)皆贫颂幚怼榻鉀Q野外環(huán)境下,物端-云平臺(tái)數(shù)據(jù)傳輸及響應(yīng)的服務(wù)質(zhì)量,構(gòu)建物端-邊端-云平臺(tái)架構(gòu)來滿足特定應(yīng)用。
野外環(huán)境因設(shè)備多樣性、資源受限等特點(diǎn),對邊緣計(jì)算平臺(tái)解決方案提出輕量級、低功耗、服務(wù)要求高及多樣設(shè)備間的負(fù)載均衡等需求。野外環(huán)境下,輕量級邊緣計(jì)算平臺(tái)架構(gòu)一般由基礎(chǔ)設(shè)施層、核心服務(wù)層、支持服務(wù)層和導(dǎo)出服務(wù)層組成[3]。輕量級邊緣計(jì)算平臺(tái)架構(gòu)見圖2。
圖2 輕量級邊緣計(jì)算平臺(tái)架構(gòu)
(1)基礎(chǔ)設(shè)施層?;A(chǔ)設(shè)施層是與物理設(shè)備直接通信的具體微服務(wù)的集合。野外環(huán)境下,物端設(shè)備主要考慮設(shè)備體積小、功耗低,簡便部署和成本便宜,使邊緣服務(wù)器盡可能靠近物端設(shè)備,以減少傳輸延遲。在邊緣服務(wù)器及物端設(shè)備間,基礎(chǔ)設(shè)施層的微服務(wù)通過MODbus、ZIGbee、SNMP、REST、藍(lán)牙等協(xié)議連接每個(gè)物端的設(shè)備、傳感器如熱交換儀、風(fēng)扇、指示燈、無線訪問點(diǎn)、智能手機(jī)等,將生成和傳遞的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)管理所需的數(shù)據(jù)結(jié)構(gòu),將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送到核心服務(wù)層。
(2)核心服務(wù)層。核心服務(wù)層主要用于數(shù)據(jù)的存儲(chǔ)和記錄。它包括數(shù)據(jù)管理服務(wù)、資源監(jiān)測服務(wù)和發(fā)現(xiàn)與注冊服務(wù)。存儲(chǔ)的數(shù)據(jù)包括從基礎(chǔ)設(shè)施層收集到的原始數(shù)據(jù)以及描述系統(tǒng)及服務(wù)的元數(shù)據(jù)。資源監(jiān)測服務(wù)主要對遷移平臺(tái)可用資源量進(jìn)行記錄,比如服務(wù)器的狀態(tài)和信息、虛擬機(jī)的數(shù)量和性能、無線網(wǎng)絡(luò)的信道條件以及當(dāng)資源量發(fā)生動(dòng)態(tài)變化時(shí),需要及時(shí)更新記錄。發(fā)現(xiàn)與注冊服務(wù)主要維護(hù)一個(gè)已注冊服務(wù)的列表,包括服務(wù)名稱和對應(yīng)的服務(wù)實(shí)例、服務(wù)實(shí)例及其對應(yīng)的注冊信息,包括IP,端口號等。
(3)支持服務(wù)層。支持服務(wù)層包括任務(wù)卸載服務(wù)、資源調(diào)度服務(wù)、日志記錄服務(wù)等。在任務(wù)卸載前,首先需要對任務(wù)進(jìn)行劃分。對于普通計(jì)算任務(wù),通過某種切分策略將其劃分為多個(gè)子任務(wù),本地任務(wù)如用戶交互任務(wù)、設(shè)備I/O 任務(wù)和外圍設(shè)備接口任務(wù)等;遷移任務(wù)是數(shù)據(jù)處理型任務(wù),計(jì)算量較大不需要與本地設(shè)備交互的任務(wù)。劃分后的子任務(wù)彼此之間有數(shù)據(jù)交互,但是又能夠獨(dú)立執(zhí)行。使用軟件定義網(wǎng)絡(luò)SDN 將網(wǎng)絡(luò)資源虛擬化,實(shí)現(xiàn)智能控制網(wǎng)絡(luò)流量。使用資源編排器對計(jì)算、存儲(chǔ)進(jìn)行資源重新編排。
(4)導(dǎo)出(應(yīng)用)服務(wù)層。導(dǎo)出(應(yīng)用)服務(wù)層包括智能管理服務(wù)、視頻類服務(wù)和時(shí)延敏感類服務(wù)。在邊緣設(shè)備完成處理與其中一個(gè)設(shè)備關(guān)聯(lián)的給定數(shù)據(jù)源的所有任務(wù)之后,網(wǎng)關(guān)將收集并合并來自不同設(shè)備的分區(qū)結(jié)果,并完成剩余的任務(wù)。針對不同任務(wù)需求,設(shè)置邊緣側(cè)的自適應(yīng)決策算法,對于邊緣節(jié)點(diǎn)有能力處理的問題,直接決策而無須交付云端處理。
(1)軟件基礎(chǔ)架構(gòu)
輕量級邊緣計(jì)算平臺(tái)以開源Edge X Foundry 作為邊緣計(jì)算平臺(tái)架構(gòu),提供一個(gè)通用的互操作性架構(gòu),支持即插即用組件,支持服務(wù)器或網(wǎng)關(guān)功能實(shí)現(xiàn),選用Ubuntu 桌面環(huán)境(Linux 系統(tǒng))開源操作系統(tǒng)。采用非關(guān)系型數(shù)據(jù)庫MongoDB,更適用于野外環(huán)境采集的具有自述性、分層的樹狀數(shù)據(jù)結(jié)構(gòu),如xml、json、bson 類型的數(shù)據(jù)。同時(shí),MongoDB 的高可用性和集群架構(gòu)擴(kuò)展性能耗,適合文檔格式的存儲(chǔ)與查詢。
(2)硬件平臺(tái)組成
輕量級邊緣計(jì)算平臺(tái)的硬件組成包括輕量級邊緣智能服務(wù)器、輕量級虛擬化及容器編排器和輕量級虛擬交換機(jī)及網(wǎng)絡(luò)控制器。邊緣智能服務(wù)器以單板計(jì)算機(jī)為基礎(chǔ),實(shí)現(xiàn)計(jì)算功能和存儲(chǔ)功能,以無限組網(wǎng)或局域網(wǎng)支持采集數(shù)據(jù)上傳;輕量級虛擬化及容器編排器使用容器Docker 技術(shù)實(shí)現(xiàn)存儲(chǔ)資源虛擬化,Docker 將各個(gè)微服務(wù)封裝于虛擬容器中,利用其資源利用率高、隔離效率等特性,分布式統(tǒng)一管理數(shù)據(jù)。在輕量級虛擬化基礎(chǔ)上,通過Docker 容器編排器進(jìn)行資源狀態(tài)監(jiān)控和鏡像存儲(chǔ),并提供服務(wù)創(chuàng)建、調(diào)度及負(fù)載均衡的柔性服務(wù);輕量級虛擬交換機(jī)及網(wǎng)絡(luò)控制器使用開放虛擬網(wǎng)絡(luò)交換標(biāo)準(zhǔn)Open vSwitch 使龐大的網(wǎng)絡(luò)配置、管理、維護(hù),支持標(biāo)準(zhǔn)的管理接口和協(xié)議。網(wǎng)絡(luò)控制器使用軟件定義網(wǎng)絡(luò)SDN 控制器架構(gòu),實(shí)現(xiàn)網(wǎng)絡(luò)行為的控制和邊緣網(wǎng)絡(luò)的靈活構(gòu)建。