随着邊緣計算需求激增,雲邊協同成為未來重要演進方向,雲邊協同發展的難點之一是對邊緣端及運作于其上的應用的部署、管理和更新更新,而容器技術為解決以上問題提供了思路。本文基于容器技術輕量化、部署快、易移植的特點,研究了基于容器化的雲邊高效應用管控方法,包括在雲邊協同的總體架構中增加容器設計、基于容器進行應用協同設計;研究了雲端部署更新管理機制;對容器的應用部署及更新、容器及應用下發等設計内容也進行了研究和實作。
随着物聯網和邊緣計算應用場景的日益豐富,邊緣計算需求快速增加,雲邊協同成為未來重要演進方向。在雲邊協同典型應用場景之一的電力行業,物聯網和邊緣計算等技術在數字電網建設,特别是智能發電、輸變電、配電、用電各環節中都得到了應用落地。在大量終端連接配接到網絡後,實際業務需求面臨集中突發增加,此時需要邊緣端同步運作多個應用程式。對邊緣端及其運作的應用程式而言,實作快速友善地部署、管理、更新、更新成為難點;此外電力行業的不同邊緣應用有不同的部署要求,有些要求運作于主控端,而有些應用要求更好的獨立性和隔離性。容器技術因其輕量化、部署簡單、規範統一、多環境相容性、啟動迅速、易擴及易遷移等特點為上述難點問題提供了解決思路。
背景
1 容器技術虛拟化傳遞給使用者的資源不是實體實體,而是滿足使用者資源配置需求的邏輯資源。虛拟化技術經曆了多年發展,目前處于容器級虛拟化階段,Docker是最典型的容器技術之一,具有輕量化、部署快、易移植、可彈性伸縮等特點。Docker作為開源的應用容器引擎,開發者可打包其應用到可移植的鏡像中,并可釋出到任何流行的Linux或Windows機器上,容器使用沙箱機制,互相之間沒有任何接口。鏡像通過檔案系統層構造并可共享一些公共檔案。在一台機器上運作的多個Docker容器可共享該機器的作業系統核心,容器之間相對隔離,互不影響,可保證各部分應用和服務的獨立性,進而確定開發者在對一單體應用程式進行開發或變更時不會影響其他元件部分。容器服務提供了統一的容器運作環境,可為快速積木式應用服務搭建提供平台支撐,并可解決各類應用獨立運作和資源高效共享問題。
2 雲邊協同随着邊緣計算技術越來越多應用的落地,雲邊協同成為備受關注的協同計算形式。雲邊協同既包含底層算力設施的資源協同,也包含上層資料協同、業務協同、應用管理協同。其中,業務協同主要面向微服務應用場景實作應用在邊緣節點的快速部署,在邊緣節點創造應用執行個體,在雲節點實作應用分發、編排,以提升邊緣應用的部署效率;應用管理協同是指邊緣節點提供應用部署環境,并實作對本地應用的生命周期管理。雲節點負責應用開發和測試,同時對邊緣節點應用的生命周期進行管理。
在工業、能源、交通等典型行業的雲邊協同應用場景下,往往面臨海量裝置接入、邊緣資源受限、資源嚴重異構、網絡通信品質不穩定、統一運維管理複雜、安全風險控制難度高等挑戰,阻礙了雲邊協同生态和産業的發展。為解決這一問題,本研究将容器技術從雲端下沉到邊緣側,以容器化方式實作邊緣側應用及算法的部署和執行。
基于容器化的雲邊高效應用管控
1 雲邊協同總體架構中的容器設計雲邊協同主要包括2部分:雲端管理平台和邊端邊緣計算子產品。雲邊協同總體架構中容器的設計内容和功能如表1所示。
表1 雲邊協同架構中的容器設計内容及功能
2 基于容器的應用協同基于容器的應用協同如圖1所示,在應用協同中,将開發好的業務應用上架到應用超市;應用超市負責對應用鏡像的更新、釋出等進行管理;鏡像倉庫用于存儲具體業務應用鏡像,供邊緣裝置進行拉取;應用協同負責根據實際業務需要将應用超市的應用及其運作、認證資訊清單派發至指定邊端裝置;邊緣裝置根據雲端派發的清單拉取對應的業務應用鏡像并對其進行執行個體化。
圖1 基于容器的應用協同1)鏡像倉庫。本方案采用開源Registry建構私有鏡像倉庫為整個項目提供鏡像服務。在Registry基礎功能的基礎上,為了確定私有倉庫的安全及可靠性,着重增加如下功能:支援多個身份驗證系統、基于職能角色的通路權限控制管理、漏洞掃描功能、日志和稽核、可擴充的靈活應用程式接口、直覺的使用者界面、自動持續鏡像垃圾收集、有效利用活動對象資源、無需下載下傳或隻讀模式。
2)應用超市。應用超市是對鏡像倉庫的可視化管理,開發人員根據應用超市規則開發相應的應用APP鏡像,并将鏡像釋出到應用超市相關欄目下;管理人員對該鏡像進行稽核及上架;應用協同人員根據已上架的應用進行對應業務的應用編排管理,應用超市借鑒目前成熟的移動雲網平台應用超市子產品來實作。
3)應用協同。應用協同是将雲端應用鏡像下發到邊緣裝置上實作雲端應用的邊緣協同,應用協同基于開源KubeEdge架構實作,并增加裝置資源配置功能、運作參數配置功能、認證資訊配置功能、資源清單派發功能等,使該架構更加滿足在電網中的需求。
通過雲端應用協同指令的下發,在邊緣側核心服務中主動拉取雲端鏡像庫中對應的手機軟體(APP),實作應用的同步協同及更新、删除等操作。 3 雲端部署及更新管理機制雲端部署及更新的流程包括6個環節(圖2):(1)将寫好的應用包上傳至系統;(2)将應用包建構成鏡像置入容器鏡像倉庫;(3)将應用包直接注冊成邊緣元件或将建構好的容器鏡像注冊為邊緣應用,供邊緣裝置使用;(4)建立數字化的邊緣裝置,并配置需要運作于其中的邊緣元件;(5)将配置好的邊緣應用清單下發至邊緣核心服務,由邊緣核心服務依據配置進行部署和更新;(6)邊緣管理平台既可對邊緣裝置及其中的運作應用程式進行監控,又可支援對系統更新包的管理。邊緣管理平台通過配置邊緣裝置的更新包,下發更新請求至邊緣基礎元件,進而進行更新操作。
圖2 雲端部署及更新的流程基于雲端應用部署及更新機制,邊緣裝置在安裝完成後可進行初始化設定,無需本地部署操作,即實作界面化遠端線上配置部署應用,可顯著降低操作難度和對專業知識的要求。 4 容器、應用部署更新設計應用部署支援3種方式,如圖3所示:主控端部署(非容器部署)、容器部署(單容器單應用)、應用附加至容器部署(單容器多應用)。在頁面上可指定應用的部署方式,一次部署指令可包含多個應用的部署,每個應用可以指定不同的部署方式,邊緣端按配置的部署方式來部署應用。
圖3 容器應用部署更新流程
容器運作、附加至容器運作、主控端運作3種部署方式運作參數配置的資料結構保持一緻,3種運作方式對各配置項的支援情況如表2所示。表2 不同運作方式對各配置項的支援情況
應用附加至容器内運作的更新流程如圖4所示,在更新流程中,附加時如果要重建容器,需保證重建後容器内原始應用不受影響,但應用會重新開機(圖4中藍色字型部分)。其中,應用檔案下載下傳支援斷點續傳。
圖4 應用附加至容器内運作的更新流程應用主控端更新更新流程如圖5所示,在應用主控端部署流程中,應用檔案下載下傳支援斷點續傳。
圖5 應用主控端更新更新流程 5 容器及應用下發如圖6所示,紅色路徑為容器/應用下發處理過程,具體流程如下。(1)使用者在Web頁面上發起部署更新流程,預先配置好邊緣節點中需要運作的元件清單、部署方式(容器/主控端/附加至容器内)及運作參數等。(2)管理平台背景将部署請求釋出到MQTT Broker(請求中不包含容器/應用封包件流,僅包含檔案下載下傳路徑),下載下傳路徑中的授權碼在1h後自動過期。(3)邊緣端Edge Hub轉發子產品訂閱到請求後轉發給邊緣代理子產品。(4)邊緣代理子產品根據應用/容器的下載下傳路徑,從檔案服務(鏡像倉庫)中采用Http(s)協定将檔案(包括應用包及挂載檔案)下載下傳到本地,并對應用檔案進行簽名驗證,驗證通過,則繼續更新流程,否則傳回錯誤。(5)Edge Daemon依據請求中的應用清單、容器運作參數來對應用進行部署更新;容器及主控端應用由Edge Daemon執行部署更新動作,附加至容器中運作的應用由容器内APP管理程式執行部署更新動作。(6)過程中邊緣核心服務會異步上報部署/更新進度及結果資訊,傳回到頁面上展示給使用者。
圖6 容器及應用下發流程
6 應用運作參數的傳入整個容器鏡像和應用包釋出版本後則不允許修改,當鏡像或應用包修改後會形成新版本;部署至不同終端要求運作參數不同時,可通過3種方式傳送至應用:一是檔案挂載方式,即将配置檔案挂載至應用内;二是環境變量傳入,即應用在運作中通過讀取環境變量擷取其運作參數;三是應用指令行參傳入,即通過在執行應用時傳入運作參數。
在電力采集系統中,寬帶電力線載波(HPLC)台區下的集中器需要每天采集96點實時用電資料用于供電品質相關名額分析,高頻資料一般包括電壓、電流、功率因數等。集中器根據現場電能表的情況,定期采集電能表中的資料,将采內建功的資料加上時标存儲至集中器中,等待主站召測或主動上報。不同台區資料的采集政策各不相同,隻能針對不同台區的特性注入不同的資料采集政策,實作運作參數的高效動态注入。
測試結果
将提出的技術方案應用于智能電網實驗平台進行驗證,該實驗平台可以模拟1000個邊緣節點以内實際電網運作狀态并回報電網參數,其中包括排程中心資料、廠站端資料等。本次模拟所采用的模拟平台搭建于伺服器,采用GRAM和GROM。
圖7、圖8是相較傳統雲端計算,未采用容器技術的雲邊協同計算和基于容器化的雲邊協同計算各自在能耗方面的表現。其中系統能耗指計算系統的功耗,效率指平均每條任務所産生的功耗。可以看到,當邊緣節點産生不同資料量時,雲邊協同計算相比傳統雲端計算的系統能耗大幅下降,效率則有所提升;而基于容器化的雲邊協同計算相比傳統雲邊協同計算也有小幅提升,這是因為基于容器化的雲邊協同計算在系統優化上更加出色。
圖7 系統能耗對比
圖8 系統效率對比
對傳統雲端計算、傳統雲邊協同計算和基于容器技術的雲邊協同計算這3種計算方式的計算表現進行對比,結果如圖9所示。在不同的邊緣節點數以及邊緣節點平均資料量情況下,基于容器化的雲邊協同計算在計算時延上都優于傳統雲邊協同計算,并大幅領先雲計算。圖10則展示了在不同邊緣節點平均資料量情況下,3種計算方式的雲端CPU使用率。随着資料量增多,基于容器化的雲邊應用協同在雲端CPU使用率上的優勢更加明顯,表明該技術能夠提升雲邊協同計算所容納的資料量。
圖9 時延對比
圖10 雲端CPU使用率對比
表3為傳統雲邊協同計算與基于雲邊容器技術的雲邊協同計算在平均系統資料更新速率、平均伺服器可用邊緣節點數量以及平均資料容量3個名額的對比,對比結果顯示,本研究方法可使系統更新速率、伺服器可用邊緣節點數量及處理資料容量都有所提升,可大幅度優化雲邊協同系統,同時可提高整體系統計算能力。
表3 系統關鍵資料名額對比
結論
在智能電網用電場景下将容器技術從雲端下沉到邊緣側,主要采用基于開源項目KubeEdge、Registry鏡像倉庫作為核心基礎架構,并結合移動雲網應用超市技術實作通用性的協同服務,即以容器化方式實作基于應用包的容器鏡像功能,并實作邊緣側應用及算法的部署和執行。不同于傳統的應用部署方式,此架構支援多種部署方式,包括主控端部署(非容器部署)、容器部署(單容器單應用)、應用附加至容器部署(單容器多應用)的混合部署模式。該方法既相容傳統的主控端部署方式,也支援新型的容器化部署方式。最後通過實驗驗證表明,基于容器化的雲邊應用協同系統在系統能耗、效率、計算時延和雲端CPU使用效率等方面的性能得到顯著提升,進而使系統更新速率、伺服器可用邊緣節點數量及處理資料容量都得以提升,一定程度上也實作了對雲邊協同系統的優化和系統整體計算能力的提升。
通過該系統的應用,可有效改善智能電網智慧用電平台邊緣側計算資源緊張、邊緣裝置異源異構、服務管理需求複雜多樣等問題,實作了電網智慧用電雲邊協同平台高效應用管控。
本文作者:張建文、毛正雄、姜瑩、黃世鋒、張勁松、楊本富、楊仕軍
作者簡介:張建文,雲南電網有限責任公司資訊中心,教授級進階工程師,研究方向為電力資訊化、排程自動化。
原文發表于《科技導報》2024年第9期,歡迎訂閱檢視。
内容為【科技導報】公衆号原創,歡迎轉載
白名單回複背景「轉載」
☟
《科技導報》創刊于1980年,中國科協學術會刊,主要刊登科學前沿和技術熱點領域突破性的成果報道、權威性的科學評論、引領性的高端綜述,發表促進經濟社會發展、完善科技管理、優化科研環境、培育科學文化、促進科技創新和科技成果轉化的決策咨詢建議。常設欄目有院士卷首語、智庫觀點、科技評論、熱點專題、綜述、論文、學術聚焦、科學人文等。
《科技導報》微信公衆平台建立于2014年,主要刊登《科技導報》期刊内容要點,報道熱點科技問題、科技事件、科學人物,打造與紙刊緊密聯系又特色鮮明的新媒體平台。科技導報公衆号聚集了數萬名專心學術的未來之星和學術大咖,添加編輯微信,讓優秀的你有機會與志趣相同的人相遇。