◆寇應展 陳財森 通訊作者 閆凌森
(1.陸軍裝甲兵學院 北京 100072;2.西南交通大學 計算機學院 四川 611756)
隨著物聯網、5G 等技術的推進,物端用戶對信息采集、數據傳輸的需求日益增長。受限于邊緣設備,其計算能力、功耗往往不能在本地執行。傳統的云計算中,需要將物端完成的任務上傳到云平臺,由云平臺處理后返回物端。傳統網絡以云計算為平臺,物端采集的數據傳輸到云端處理已經無法滿足物聯網低響應時延的要求,云端服務器集中存儲方式隨著物端傳感器節點增多,面臨存儲、傳輸與計算的壓力;同時,因傳輸到云端服務器的路徑較長,數據的丟失、信息泄露等安全風險也逐漸凸顯。特別是在野外環境下,物端設備狀態數據和監控視頻數據采集等工作面臨著環境多變、資源受限、數據易丟包等困難,出現過度響應延遲,嚴重阻礙對突發事件的快速態勢感知和應急處理等問題。
邊緣計算(Edge Computing)是指在網絡邊緣靠近物聯網設備端(物端設備)的新型計算模型,將傳統云計算中心的部分或全部計算任務遷移到設備端一側,就近提供邊緣服務,滿足時敏聯接、實時業務、安全與隱私保護等方面的關鍵需求。相比于傳統的云計算模型,邊緣計算是指靠近物端設備的小型“云”處理中心,即在網絡邊緣進行計算處理和存儲,邊緣計算模型具有實時數據處理和分析、安全性高、可擴展性強以及低傳輸帶寬的優勢。
邊緣計算平臺在本地設備上處理更多數據而不是將其上傳至云計算中心實時處理數據,減少與云計算平臺的數據傳輸及延遲,降低云計算平臺的計算負載;邊緣計算平臺在邊緣設備和云計算平臺之間協調服務、處理、存儲,使得其安全性提高;同時邊緣計算提供更便捷的可擴展性路徑,通過物聯網設備和邊緣計算平臺的組合來擴展其計算能力,添加新設備對網絡帶寬需求影響較小;接入網絡內的物端設備接收信息,物端設備根據自己的實時位置把相關位置信息和數據交給邊緣節點來進行處理,邊緣計算平臺以此信息發現設備的位置,物端設備收集的數據在本地設備上進行數據的預處理、計算分析。
邊緣計算擁有聯接性和約束性等特點。聯接性表現在邊緣計算作為連接物理設備的第一接口,面臨數據實時性、多樣性等挑戰。由于物端設備的多樣性以及應用場景的差異性,需要邊緣計算平臺具有超強的聯接能力,能夠提供兼容的網絡拓撲和網絡接口,兼容的網絡協議和網絡管理,同時還要考慮與常用的各種工業總線互聯互通;約束性表現在靠近數據源頭,野外現場條件惡劣、運行環境易受干擾,要求邊緣計算產品適配各種條件約束,以支撐多樣性場景需求。
解決傳統云計算平臺局限的方案中,還衍生出一種由美國思科提出的霧計算(Fog Computing)的解決方案,相對于邊緣計算,霧計算解決方案是將采集的數據傳送到設備網關進行處理、存儲,在物理層級上,霧計算是位于云計算的下層,位于邊緣計算的上層。
霧計算解決方案是在傳統云計算平臺與物端設備間提供虛擬化計算、存儲、網絡服務的通信協議和設備的平臺。軟件結構分為抽象層、編排層、服務層,抽象層對下連接物端設備,數據存儲在路由器、交換機、無線控制器、網關等設備,向編排層隱藏物端設備的差異性;編排層利用抽象層的API 接口構建霧計算資源池和虛擬化基礎設施;服務層作為虛擬機實例,向編排層發送服務請求。可以將邊緣計算、霧計算理解為靠近網絡邊緣以及物端的“小云”。邊緣計算相比于霧計算更加靠近用戶設備。隨著技術的發展,出現移動邊緣計算等概念,它指部署在基站上為覆蓋區域內設備提供網絡服務的邊緣計算。
邊緣計算通過在物端設備和云之間引入邊緣設備,將云服務中計算、存儲等服務擴展到網絡邊緣靠近物端的位置。邊緣計算架構包括前端(物端層)、近端(邊緣層)和遠端(云層)[1]。
(1)前端(物端層)。物端層最接近物端設備,通過各種協議與物端傳感器相連,通過傳感器等設備,采集、監控物端設備的特征數據,采集到的數據上傳至近端(邊緣計算層)進行計算和存儲。
(2)近端(邊緣層)。邊緣層介于遠端與前端之間,靠近前端位置,位于網絡的邊緣,由許多邊緣節點組成,通常包括采集單元如單板計算機,連接、交換設備如交換機、路由器、網關、接入點、基站,存儲設備如特定功能邊緣服務器等。
(3)遠端(云層)。云層由兩個部分組成,一是高性能服務器,二是大量的存儲設備,在滿足執行多用戶計算任務的同時,還可滿足多用戶的存儲請求。
云計算平臺需要物端將采集的數據遠距離的傳輸到云端,當物端設備較多,遠距離傳輸資源消耗過大,對于時敏設備延遲低的要求無法滿足。2006 年11 月,由華為等聯合倡議的邊緣計算及產業聯盟(Edge Computing Consortium ECC)成立,2017 年發布的《邊緣計算參考架構2.0》,從概念視圖、功能視圖、部署視圖三個維度描述了邊緣計算的概念、特點、價值。2018 年發布的《邊緣計算參考架構3.0》[2],規范了商業視圖、使用視圖、功能視圖、部署視圖,實現物理和數字世界的知識模型之間協作、減少異構性和簡化跨平臺移植等功能。邊緣計算參考架構3.0 如圖1 所示。

圖1 邊緣計算參考架構3.0
輕量級邊緣計算主要指邊緣計算的節點、網絡交換、資源虛擬化等輕量化。輕量級計算節點,要求在體積小,功耗低的基礎上,具有成本低廉和易于部署特點。如單板計算機,除具有CPU、存儲器、I/O 設備接口功能外,特點是低功耗;輕量級網絡交換以軟件定義網絡SDN 將網絡控制面與數據面分離,即部署虛擬交換機,滿足配置簡易和低廉成本及控制靈活的要求;輕量級資源虛擬化支持在硬件資源的虛擬化基礎上,進行內容編排和提高操作層面的資源利用率,減少因虛擬設備驅動等帶來的巨大開銷。
野外環境設備通常部署在遠離云平臺的地理位置,因而,設備和云平臺傳輸時延較大,集中式的云計算方案,需要把所有的任務上傳到云端處理,因此對云端服務器的性能要求較高,需要高昂的運維成本以及穩定的運行環境,面對突發或緊急情況時,云平臺的應對能力較差,使得數據流量匯集于少數的網絡節點,極易造成網絡擁堵,增加了任務的平均時延。野外環境設備具有設備多樣性、資源受限等特點,多樣性體現在應用場景多樣,硬件芯片架構和接口差異,軟件操作系統和編程模式不同,傳輸通信協議不兼容等。最末端節點-物端傳感器及計算資源簡單,功能單一,采集的狀態和視頻等資料需從物端傳輸到云端處理。為解決野外環境下,物端-云平臺數據傳輸及響應的服務質量,構建物端-邊端-云平臺架構來滿足特定應用。
野外環境因設備多樣性、資源受限等特點,對邊緣計算平臺解決方案提出輕量級、低功耗、服務要求高及多樣設備間的負載均衡等需求。野外環境下,輕量級邊緣計算平臺架構一般由基礎設施層、核心服務層、支持服務層和導出服務層組成[3]。輕量級邊緣計算平臺架構見圖2。

圖2 輕量級邊緣計算平臺架構
(1)基礎設施層。基礎設施層是與物理設備直接通信的具體微服務的集合。野外環境下,物端設備主要考慮設備體積小、功耗低,簡便部署和成本便宜,使邊緣服務器盡可能靠近物端設備,以減少傳輸延遲。在邊緣服務器及物端設備間,基礎設施層的微服務通過MODbus、ZIGbee、SNMP、REST、藍牙等協議連接每個物端的設備、傳感器如熱交換儀、風扇、指示燈、無線訪問點、智能手機等,將生成和傳遞的數據轉換為數據管理所需的數據結構,將轉換后的數據發送到核心服務層。
(2)核心服務層。核心服務層主要用于數據的存儲和記錄。它包括數據管理服務、資源監測服務和發現與注冊服務。存儲的數據包括從基礎設施層收集到的原始數據以及描述系統及服務的元數據。資源監測服務主要對遷移平臺可用資源量進行記錄,比如服務器的狀態和信息、虛擬機的數量和性能、無線網絡的信道條件以及當資源量發生動態變化時,需要及時更新記錄。發現與注冊服務主要維護一個已注冊服務的列表,包括服務名稱和對應的服務實例、服務實例及其對應的注冊信息,包括IP,端口號等。
(3)支持服務層。支持服務層包括任務卸載服務、資源調度服務、日志記錄服務等。在任務卸載前,首先需要對任務進行劃分。對于普通計算任務,通過某種切分策略將其劃分為多個子任務,本地任務如用戶交互任務、設備I/O 任務和外圍設備接口任務等;遷移任務是數據處理型任務,計算量較大不需要與本地設備交互的任務。劃分后的子任務彼此之間有數據交互,但是又能夠獨立執行。使用軟件定義網絡SDN 將網絡資源虛擬化,實現智能控制網絡流量。使用資源編排器對計算、存儲進行資源重新編排。
(4)導出(應用)服務層。導出(應用)服務層包括智能管理服務、視頻類服務和時延敏感類服務。在邊緣設備完成處理與其中一個設備關聯的給定數據源的所有任務之后,網關將收集并合并來自不同設備的分區結果,并完成剩余的任務。針對不同任務需求,設置邊緣側的自適應決策算法,對于邊緣節點有能力處理的問題,直接決策而無須交付云端處理。
(1)軟件基礎架構
輕量級邊緣計算平臺以開源Edge X Foundry 作為邊緣計算平臺架構,提供一個通用的互操作性架構,支持即插即用組件,支持服務器或網關功能實現,選用Ubuntu 桌面環境(Linux 系統)開源操作系統。采用非關系型數據庫MongoDB,更適用于野外環境采集的具有自述性、分層的樹狀數據結構,如xml、json、bson 類型的數據。同時,MongoDB 的高可用性和集群架構擴展性能耗,適合文檔格式的存儲與查詢。
(2)硬件平臺組成
輕量級邊緣計算平臺的硬件組成包括輕量級邊緣智能服務器、輕量級虛擬化及容器編排器和輕量級虛擬交換機及網絡控制器。邊緣智能服務器以單板計算機為基礎,實現計算功能和存儲功能,以無限組網或局域網支持采集數據上傳;輕量級虛擬化及容器編排器使用容器Docker 技術實現存儲資源虛擬化,Docker 將各個微服務封裝于虛擬容器中,利用其資源利用率高、隔離效率等特性,分布式統一管理數據。在輕量級虛擬化基礎上,通過Docker 容器編排器進行資源狀態監控和鏡像存儲,并提供服務創建、調度及負載均衡的柔性服務;輕量級虛擬交換機及網絡控制器使用開放虛擬網絡交換標準Open vSwitch 使龐大的網絡配置、管理、維護,支持標準的管理接口和協議。網絡控制器使用軟件定義網絡SDN 控制器架構,實現網絡行為的控制和邊緣網絡的靈活構建。