許杰雄,余中杰,孫亞慧,陳佐,呂淳,余航
(1.江蘇方天電力技術有限公司,南京210096;2.北京中電普華信息技術有限公司,北京110000)
隨著我國電力行業的蓬勃發展,2020年國家電網將“努力創新客戶服務新模式”列為改革攻堅重點工作之一,國網提出跨領域業務的互聯互通、深入融合,構建“網上國網”多元化產品生態。而在電力業務中,電費是營銷業務開展的基礎,由于數據實時性要求不斷提高且電力行業用戶體量較大,涉及到電費計算而產生的云端主站服務壓力倍增。以某省3 658萬低壓居民用戶的電費日結算為例,按照傳統技術架構搭建的系統需要計算61 h。數據的高延時性產生了2個問題:①日益蓬勃的電力營銷業務發展以及客戶對電費計算越來越高的實時性要求得不到滿足,例如電費余額預警預測等實時性要求較高的營銷業務;②數據的延時性越高,不法用戶通過私改計量設備注入虛假計量數據竊電的風險就越大。2019年8月,國網蘇州供電公司對吳中區胥口鎮某廠房進行現場用電檢查,發現廠房總電能表被私自改裝,嫌疑人通過非法改裝電能表,竊電量達101萬kWh,價值65萬余元。
針對上述問題,學者們展開了深入的研究,文獻[1]使用分布式存儲、服務化重構、數據推送等技術,以此縮短數據的回寫和抽取時間。文獻[2]從數據交互和數據存儲2個關鍵技術入手,采用分布式微服務框架,提升了電費計算效率。文獻[3]通過改進電費計算業務系統模塊來優化遠程費控。文獻[1]和文獻[2]提出的方法雖然可以提高計費的效率,但是計算壓力集中在云服務器上,不利于業務需求的拓展。文獻[3]提出的方法雖然改進了業務流程,但是傳統技術架構系統的性能瓶頸依舊存在,長期來看,不利于業務發展。
文中提出的基于邊緣計算技術的電費實時計算系統設計能夠將原本主站服務器的運算壓力分散給各邊緣網關,提高了電費計算效率,在營銷業務需要拓展時,使用云主站的應用管理功能對各邊緣網關進行模塊升級,大部分新業務計算繼續由各邊緣網關承擔,以此保證整個系統的高效運行。
邊緣計算是云計算[4]的延伸和補充,未來前景廣闊。
邊緣計算的適用場景則差別較大,數據實時性高、數據量大的情況下可以選擇部署。需要注意的是一個邊緣端接入終端的數量是不固定的,例如自動駕駛汽車產生大量實時性數據和計算任務,所以汽車本身既是終端又是邊緣端,而城市智能系統中,邊緣端則接入攝像頭、路燈、信號燈傳感器等數百米范圍內數十至數萬不等數量的終端。而在實時電費計算體系下,可以小區為單位進行邊緣端部署,一個邊緣端接入小區內的所有計量設備,當然有些特別大的小區,可以分片區接入不同的邊緣端,在保證邊緣端算力的同時方便管理。
2.1.1 系統框架選型
目前常見的邊緣計算框架有:CORD、Cloudlet、OpenEdge、KubeEdge、EdgeX。但通過調研發現上述框架對于電費實時計算系統并不適合,具體原因為:CORD目前還處于開發階段,性能很不穩定,會發生階段性崩潰;Cloudlet設計目標是為移動設備提供計算資源,支持計算密集型和交互式且具有嚴格時延要求的移動應用,比如對移動設備的人臉識別、語音翻譯和增強現實應用、遠程渲染的云游戲提供支撐等;OpenEdge功能有限,但和百度物聯網平臺綁定緊密,不便于2次開發;KubeEdge是華為提供的基于kubernetes技術適配邊緣計算,同樣與平臺緊耦合,不便于2次開發。
文中系統選擇EdgeX作為邊緣計算的開發框架。其具備如下3個優勢:①EdgeX為Linux基金會的物聯網頂級項目,具有繁榮的生態和眾多廠家的支持,社區活躍度高;②EdgeX相較于OpenEdge與KubeEdge而言,項目開放時間更長且技術更為成熟;③EdgeX采用模塊化設計,各個功能模塊以微服務形式運行,可根據需要修改或替換,可塑性更強。
2.1.2 安全協同傳輸和控制協議選型
安全協同傳輸主要有HTTP和MQTT 2種協議,在現有平臺中若使用HTTP協議,則每個應用都需要在平臺上注冊。平臺向這些應用分別推送數據,會發生推送重復數據的情況,這樣會增加平臺的運行壓力。若使用MQTT協議,不同的數據平臺只需要以不同主題向MQTT服務器上發送一次,各應用只需訂閱相關主題便可接收到相應數據,大大減輕平臺壓力,并且MQTT協議屬于小型傳輸協議,占用資源小,平臺使用輕便。
文中基于MQTT協議的設備接入和控制模型,實現邊緣的設備傳輸和控制,在邊緣側,將設備狀態和實時數據傳輸至云平臺。在云端,通過MQTT雙向控制協議,將控制指令下發,實現云端設備管控和邊緣智能分析。
文中設備接入模型和接口中,同樣釆用MQTT技術進行數據傳輸,數據的傳輸通過調用過程和傳輸過程雙認證和加密的方式以確保數據接入和傳輸的安全性。其中在接口調用過程中,通過身份登陸驗證的方式驗證合法調用;在傳輸過程中,通過數據加密來保證傳輸的安全性[5]。
2.1.3 設備集成接入技術選型
設備集成接入分為直接接入和間接接入2種方式,所采用的關鍵技術也不相同,其中直接接入方式比較常用的是邊緣計算感知接入方法[6—7],而間接接入方式比較常用的是WebService接口接入方法[8]。文中采用間接接入的方法實現設備集成。
在仿真實驗服務器上部署EdgeX Foundry平臺作為邊緣計算網關,所有終端設備統一將數據推送到邊緣計算網關上。
開發并部署各種邊緣計算應用,應用以微服務的形式運行,邊緣端實現對設備數據的采集、聚合計算、預警處理并將最終結果推送到云端,最后在云端展示最終結果,核驗邊緣計算結果的正確性。文中設計的基于邊緣計算技術的電量數據收集計算及預警系統框架如圖1所示。

圖1 系統軟件功能架構圖Fig.1 Functional architecture of system software
準備邊緣端服務器和云端主站服務器,配置見表1。分別用于部署邊緣代理服務和云平臺服務,實現對采集數據的聚合、計算和預警并將數據推送到云端主站,云端主站接收邊緣代理推送的數據并展示。服務器軟件環境見表2。

表1 實驗硬件環境配置Table 1 Configuration of experimental hardware environment

表2 實驗軟件環境配置Table 2 Configuration of experimental software environment
應用層的主要實現目標分為3部分:①物聯網設備數據的采集:實現邊緣端對終端數據的采集、流轉、存儲和上報設備數據至云端;②基于采集數據的聚合和計算:通過邊緣端部署的計算微服務對采集數據進行聚合和計算,并將結果推送到云端;③邊緣設備的預警:通過邊緣端部署的數據預測與預警微服務對采集數據進行實時告警判斷,當告警發生時邊緣端會將告警信息推送到云端。
根據邊緣計算的電費實時計算功能,應用層分成2部分:數據展示、應用管理。數據展示分為收集展示,其中包括采集時間、電表和當前讀數指標。實時電費計算展示包括實時用電量和實時電費。電費預測與預警展示包括:賬戶余額、可用余額、繳費建議、本月預估用電量和本月預估電費。應用管理分為應用啟動與停止、卸載與安裝2大功能。
2.3.1 邊緣計算網關的數據采集
在邊緣端上啟動設備數據采集微服務,定時采集設備數據后將其轉發到云端主站,同時云端主站能實時顯示出設備終端數據。流程見圖2對應線框。

圖2 邊緣計算網關的功能示意圖Fig.2 Functional diagram of edge computing gateway
(1)在邊緣端上啟動數據采集微服務。服務啟動后會定時從計量設備上采集數據,并將結果發送到EdgeX foundry平臺。
(2)將云端主站的數據接收地址在邊緣端的EdgeX foundry平臺上進行注冊,平臺會將采集到的數據以RESTful方式推送到云主站。
(3)云端主站接收到終端數據后將其保存到數據庫中,并在前端頁面中實時進行顯示。
2.3.2 邊緣計算網關的數據聚合和計算
在邊緣端上啟動數據計算微服務,對接收到的數據進行聚合計算,并將結果推送到云端主站顯示。流程見圖2對應線框。
(1)開發數據計算微服務并在邊緣計算網關上部署。同時在邊緣端的MQTT服務器上訂閱需要的業務數據,終端上報的數據便會由EdgeX foundry發送到MQTT服務器,再由MQTT服務器轉發到數據計算微服務上。
(2)數據計算微服務啟動后首先會從云端主站獲取電價標準比如峰谷電價、階梯電費等以及各個電能表上一次結算時的讀數。當接收到推送的實時電表讀數時,計算出實時用電量和實時電費,并將計算結果轉發回EdgeX foundry平臺,再由EdgeX foundry平臺統一將數據以RESTful方式推送到云端主站。
(3)云端主站接收到實時用電量、實時電費這些計算數據后將其保存到數據庫中,并在前端頁面實時顯示。
2.3.3 邊緣計算網關的預警
在邊緣端上啟動告警微服務,對接收到的數據進行判斷,一旦發現有異常情況則產生告警并將告警信息推送到云端主站顯示。流程見圖2對應線框。
應用的原理與2.3.2相似,文中不再贅述。
實驗數據采用模擬用戶數據3 658萬戶,其中包括檔案數據、抄表示數、電量電費測算數據以及測算回寫數據。
由于邊緣計算的技術特性,接入的終端從幾十個到幾萬個不等,但需遵循物理距離就近的原則,確保數據及時計算,及時響應。按照電能表分布情況,預估單個邊緣端的最大接入為1萬戶,在不考慮網絡波動的情況下,以此為基礎進行仿真實驗并做性能分析。實驗環境配置如表1、表2所示。
在測試環境下,對邊緣端和云端主站進行性能測試,測試結果如表3所示。

表3 實驗結果Table 3 Experimental results
仿真實驗結果表明,對于電量、電費實時展示、電費預警預測等實時性要求高的業務,邊緣端可以輕便高效地完成,原因在于邊緣端將大數據量的用戶檔案進行拆解,將已接入的終端用戶檔案進行緩存,快速地讀寫數據使得整體效率變高,對比傳統架構下的電費計算系統,檔案抽取一項的耗時就超過1 h。云端主站由于沒有具體的電費計算任務,主要耗時集中在回寫邊緣端上傳的電費數據,所以整個流程大大壓縮了電費計算的時間。
本文設計了基于邊緣計算技術的電費實時計算體系,通過在仿真實驗環境上搭建部署邊緣計算環境,并根據邊緣計算網關的數據采集能力、數據聚合計算能力、預警能力3個需求目標開發部署相應的實時計算服務。仿真實驗結果表明:邊緣端實現終端數據的采集、計算、預警工作,并將結果推送到云端展示,耗時73 s,同時云端主站壓力明顯減輕,數據實時性較強,為今后開展對數據實時性要求較高的業務提供了參考。