許杰雄,余中杰,孫亞慧,陳佐,呂淳,余航
(1.江蘇方天電力技術(shù)有限公司,南京210096;2.北京中電普華信息技術(shù)有限公司,北京110000)
隨著我國電力行業(yè)的蓬勃發(fā)展,2020年國家電網(wǎng)將“努力創(chuàng)新客戶服務(wù)新模式”列為改革攻堅重點工作之一,國網(wǎng)提出跨領(lǐng)域業(yè)務(wù)的互聯(lián)互通、深入融合,構(gòu)建“網(wǎng)上國網(wǎng)”多元化產(chǎn)品生態(tài)。而在電力業(yè)務(wù)中,電費是營銷業(yè)務(wù)開展的基礎(chǔ),由于數(shù)據(jù)實時性要求不斷提高且電力行業(yè)用戶體量較大,涉及到電費計算而產(chǎn)生的云端主站服務(wù)壓力倍增。以某省3 658萬低壓居民用戶的電費日結(jié)算為例,按照傳統(tǒng)技術(shù)架構(gòu)搭建的系統(tǒng)需要計算61 h。數(shù)據(jù)的高延時性產(chǎn)生了2個問題:①日益蓬勃的電力營銷業(yè)務(wù)發(fā)展以及客戶對電費計算越來越高的實時性要求得不到滿足,例如電費余額預(yù)警預(yù)測等實時性要求較高的營銷業(yè)務(wù);②數(shù)據(jù)的延時性越高,不法用戶通過私改計量設(shè)備注入虛假計量數(shù)據(jù)竊電的風險就越大。2019年8月,國網(wǎng)蘇州供電公司對吳中區(qū)胥口鎮(zhèn)某廠房進行現(xiàn)場用電檢查,發(fā)現(xiàn)廠房總電能表被私自改裝,嫌疑人通過非法改裝電能表,竊電量達101萬kWh,價值65萬余元。
針對上述問題,學者們展開了深入的研究,文獻[1]使用分布式存儲、服務(wù)化重構(gòu)、數(shù)據(jù)推送等技術(shù),以此縮短數(shù)據(jù)的回寫和抽取時間。文獻[2]從數(shù)據(jù)交互和數(shù)據(jù)存儲2個關(guān)鍵技術(shù)入手,采用分布式微服務(wù)框架,提升了電費計算效率。文獻[3]通過改進電費計算業(yè)務(wù)系統(tǒng)模塊來優(yōu)化遠程費控。文獻[1]和文獻[2]提出的方法雖然可以提高計費的效率,但是計算壓力集中在云服務(wù)器上,不利于業(yè)務(wù)需求的拓展。文獻[3]提出的方法雖然改進了業(yè)務(wù)流程,但是傳統(tǒng)技術(shù)架構(gòu)系統(tǒng)的性能瓶頸依舊存在,長期來看,不利于業(yè)務(wù)發(fā)展。
文中提出的基于邊緣計算技術(shù)的電費實時計算系統(tǒng)設(shè)計能夠?qū)⒃局髡痉?wù)器的運算壓力分散給各邊緣網(wǎng)關(guān),提高了電費計算效率,在營銷業(yè)務(wù)需要拓展時,使用云主站的應(yīng)用管理功能對各邊緣網(wǎng)關(guān)進行模塊升級,大部分新業(yè)務(wù)計算繼續(xù)由各邊緣網(wǎng)關(guān)承擔,以此保證整個系統(tǒng)的高效運行。
邊緣計算是云計算[4]的延伸和補充,未來前景廣闊。
邊緣計算的適用場景則差別較大,數(shù)據(jù)實時性高、數(shù)據(jù)量大的情況下可以選擇部署。需要注意的是一個邊緣端接入終端的數(shù)量是不固定的,例如自動駕駛汽車產(chǎn)生大量實時性數(shù)據(jù)和計算任務(wù),所以汽車本身既是終端又是邊緣端,而城市智能系統(tǒng)中,邊緣端則接入攝像頭、路燈、信號燈傳感器等數(shù)百米范圍內(nèi)數(shù)十至數(shù)萬不等數(shù)量的終端。而在實時電費計算體系下,可以小區(qū)為單位進行邊緣端部署,一個邊緣端接入小區(qū)內(nèi)的所有計量設(shè)備,當然有些特別大的小區(qū),可以分片區(qū)接入不同的邊緣端,在保證邊緣端算力的同時方便管理。
2.1.1 系統(tǒng)框架選型
目前常見的邊緣計算框架有:CORD、Cloudlet、OpenEdge、KubeEdge、EdgeX。但通過調(diào)研發(fā)現(xiàn)上述框架對于電費實時計算系統(tǒng)并不適合,具體原因為:CORD目前還處于開發(fā)階段,性能很不穩(wěn)定,會發(fā)生階段性崩潰;Cloudlet設(shè)計目標是為移動設(shè)備提供計算資源,支持計算密集型和交互式且具有嚴格時延要求的移動應(yīng)用,比如對移動設(shè)備的人臉識別、語音翻譯和增強現(xiàn)實應(yīng)用、遠程渲染的云游戲提供支撐等;OpenEdge功能有限,但和百度物聯(lián)網(wǎng)平臺綁定緊密,不便于2次開發(fā);KubeEdge是華為提供的基于kubernetes技術(shù)適配邊緣計算,同樣與平臺緊耦合,不便于2次開發(fā)。
文中系統(tǒng)選擇EdgeX作為邊緣計算的開發(fā)框架。其具備如下3個優(yōu)勢:①EdgeX為Linux基金會的物聯(lián)網(wǎng)頂級項目,具有繁榮的生態(tài)和眾多廠家的支持,社區(qū)活躍度高;②EdgeX相較于OpenEdge與KubeEdge而言,項目開放時間更長且技術(shù)更為成熟;③EdgeX采用模塊化設(shè)計,各個功能模塊以微服務(wù)形式運行,可根據(jù)需要修改或替換,可塑性更強。
2.1.2 安全協(xié)同傳輸和控制協(xié)議選型
安全協(xié)同傳輸主要有HTTP和MQTT 2種協(xié)議,在現(xiàn)有平臺中若使用HTTP協(xié)議,則每個應(yīng)用都需要在平臺上注冊。平臺向這些應(yīng)用分別推送數(shù)據(jù),會發(fā)生推送重復(fù)數(shù)據(jù)的情況,這樣會增加平臺的運行壓力。若使用MQTT協(xié)議,不同的數(shù)據(jù)平臺只需要以不同主題向MQTT服務(wù)器上發(fā)送一次,各應(yīng)用只需訂閱相關(guān)主題便可接收到相應(yīng)數(shù)據(jù),大大減輕平臺壓力,并且MQTT協(xié)議屬于小型傳輸協(xié)議,占用資源小,平臺使用輕便。
文中基于MQTT協(xié)議的設(shè)備接入和控制模型,實現(xiàn)邊緣的設(shè)備傳輸和控制,在邊緣側(cè),將設(shè)備狀態(tài)和實時數(shù)據(jù)傳輸至云平臺。在云端,通過MQTT雙向控制協(xié)議,將控制指令下發(fā),實現(xiàn)云端設(shè)備管控和邊緣智能分析。
文中設(shè)備接入模型和接口中,同樣釆用MQTT技術(shù)進行數(shù)據(jù)傳輸,數(shù)據(jù)的傳輸通過調(diào)用過程和傳輸過程雙認證和加密的方式以確保數(shù)據(jù)接入和傳輸?shù)陌踩?。其中在接口調(diào)用過程中,通過身份登陸驗證的方式驗證合法調(diào)用;在傳輸過程中,通過數(shù)據(jù)加密來保證傳輸?shù)陌踩裕?]。
2.1.3 設(shè)備集成接入技術(shù)選型
設(shè)備集成接入分為直接接入和間接接入2種方式,所采用的關(guān)鍵技術(shù)也不相同,其中直接接入方式比較常用的是邊緣計算感知接入方法[6—7],而間接接入方式比較常用的是WebService接口接入方法[8]。文中采用間接接入的方法實現(xiàn)設(shè)備集成。
在仿真實驗服務(wù)器上部署EdgeX Foundry平臺作為邊緣計算網(wǎng)關(guān),所有終端設(shè)備統(tǒng)一將數(shù)據(jù)推送到邊緣計算網(wǎng)關(guān)上。
開發(fā)并部署各種邊緣計算應(yīng)用,應(yīng)用以微服務(wù)的形式運行,邊緣端實現(xiàn)對設(shè)備數(shù)據(jù)的采集、聚合計算、預(yù)警處理并將最終結(jié)果推送到云端,最后在云端展示最終結(jié)果,核驗邊緣計算結(jié)果的正確性。文中設(shè)計的基于邊緣計算技術(shù)的電量數(shù)據(jù)收集計算及預(yù)警系統(tǒng)框架如圖1所示。
圖1 系統(tǒng)軟件功能架構(gòu)圖Fig.1 Functional architecture of system software
準備邊緣端服務(wù)器和云端主站服務(wù)器,配置見表1。分別用于部署邊緣代理服務(wù)和云平臺服務(wù),實現(xiàn)對采集數(shù)據(jù)的聚合、計算和預(yù)警并將數(shù)據(jù)推送到云端主站,云端主站接收邊緣代理推送的數(shù)據(jù)并展示。服務(wù)器軟件環(huán)境見表2。
表1 實驗硬件環(huán)境配置Table 1 Configuration of experimental hardware environment
表2 實驗軟件環(huán)境配置Table 2 Configuration of experimental software environment
應(yīng)用層的主要實現(xiàn)目標分為3部分:①物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)的采集:實現(xiàn)邊緣端對終端數(shù)據(jù)的采集、流轉(zhuǎn)、存儲和上報設(shè)備數(shù)據(jù)至云端;②基于采集數(shù)據(jù)的聚合和計算:通過邊緣端部署的計算微服務(wù)對采集數(shù)據(jù)進行聚合和計算,并將結(jié)果推送到云端;③邊緣設(shè)備的預(yù)警:通過邊緣端部署的數(shù)據(jù)預(yù)測與預(yù)警微服務(wù)對采集數(shù)據(jù)進行實時告警判斷,當告警發(fā)生時邊緣端會將告警信息推送到云端。
根據(jù)邊緣計算的電費實時計算功能,應(yīng)用層分成2部分:數(shù)據(jù)展示、應(yīng)用管理。數(shù)據(jù)展示分為收集展示,其中包括采集時間、電表和當前讀數(shù)指標。實時電費計算展示包括實時用電量和實時電費。電費預(yù)測與預(yù)警展示包括:賬戶余額、可用余額、繳費建議、本月預(yù)估用電量和本月預(yù)估電費。應(yīng)用管理分為應(yīng)用啟動與停止、卸載與安裝2大功能。
2.3.1 邊緣計算網(wǎng)關(guān)的數(shù)據(jù)采集
在邊緣端上啟動設(shè)備數(shù)據(jù)采集微服務(wù),定時采集設(shè)備數(shù)據(jù)后將其轉(zhuǎn)發(fā)到云端主站,同時云端主站能實時顯示出設(shè)備終端數(shù)據(jù)。流程見圖2對應(yīng)線框。
圖2 邊緣計算網(wǎng)關(guān)的功能示意圖Fig.2 Functional diagram of edge computing gateway
(1)在邊緣端上啟動數(shù)據(jù)采集微服務(wù)。服務(wù)啟動后會定時從計量設(shè)備上采集數(shù)據(jù),并將結(jié)果發(fā)送到EdgeX foundry平臺。
(2)將云端主站的數(shù)據(jù)接收地址在邊緣端的EdgeX foundry平臺上進行注冊,平臺會將采集到的數(shù)據(jù)以RESTful方式推送到云主站。
(3)云端主站接收到終端數(shù)據(jù)后將其保存到數(shù)據(jù)庫中,并在前端頁面中實時進行顯示。
2.3.2 邊緣計算網(wǎng)關(guān)的數(shù)據(jù)聚合和計算
在邊緣端上啟動數(shù)據(jù)計算微服務(wù),對接收到的數(shù)據(jù)進行聚合計算,并將結(jié)果推送到云端主站顯示。流程見圖2對應(yīng)線框。
(1)開發(fā)數(shù)據(jù)計算微服務(wù)并在邊緣計算網(wǎng)關(guān)上部署。同時在邊緣端的MQTT服務(wù)器上訂閱需要的業(yè)務(wù)數(shù)據(jù),終端上報的數(shù)據(jù)便會由EdgeX foundry發(fā)送到MQTT服務(wù)器,再由MQTT服務(wù)器轉(zhuǎn)發(fā)到數(shù)據(jù)計算微服務(wù)上。
(2)數(shù)據(jù)計算微服務(wù)啟動后首先會從云端主站獲取電價標準比如峰谷電價、階梯電費等以及各個電能表上一次結(jié)算時的讀數(shù)。當接收到推送的實時電表讀數(shù)時,計算出實時用電量和實時電費,并將計算結(jié)果轉(zhuǎn)發(fā)回EdgeX foundry平臺,再由EdgeX foundry平臺統(tǒng)一將數(shù)據(jù)以RESTful方式推送到云端主站。
(3)云端主站接收到實時用電量、實時電費這些計算數(shù)據(jù)后將其保存到數(shù)據(jù)庫中,并在前端頁面實時顯示。
2.3.3 邊緣計算網(wǎng)關(guān)的預(yù)警
在邊緣端上啟動告警微服務(wù),對接收到的數(shù)據(jù)進行判斷,一旦發(fā)現(xiàn)有異常情況則產(chǎn)生告警并將告警信息推送到云端主站顯示。流程見圖2對應(yīng)線框。
應(yīng)用的原理與2.3.2相似,文中不再贅述。
實驗數(shù)據(jù)采用模擬用戶數(shù)據(jù)3 658萬戶,其中包括檔案數(shù)據(jù)、抄表示數(shù)、電量電費測算數(shù)據(jù)以及測算回寫數(shù)據(jù)。
由于邊緣計算的技術(shù)特性,接入的終端從幾十個到幾萬個不等,但需遵循物理距離就近的原則,確保數(shù)據(jù)及時計算,及時響應(yīng)。按照電能表分布情況,預(yù)估單個邊緣端的最大接入為1萬戶,在不考慮網(wǎng)絡(luò)波動的情況下,以此為基礎(chǔ)進行仿真實驗并做性能分析。實驗環(huán)境配置如表1、表2所示。
在測試環(huán)境下,對邊緣端和云端主站進行性能測試,測試結(jié)果如表3所示。
表3 實驗結(jié)果Table 3 Experimental results
仿真實驗結(jié)果表明,對于電量、電費實時展示、電費預(yù)警預(yù)測等實時性要求高的業(yè)務(wù),邊緣端可以輕便高效地完成,原因在于邊緣端將大數(shù)據(jù)量的用戶檔案進行拆解,將已接入的終端用戶檔案進行緩存,快速地讀寫數(shù)據(jù)使得整體效率變高,對比傳統(tǒng)架構(gòu)下的電費計算系統(tǒng),檔案抽取一項的耗時就超過1 h。云端主站由于沒有具體的電費計算任務(wù),主要耗時集中在回寫邊緣端上傳的電費數(shù)據(jù),所以整個流程大大壓縮了電費計算的時間。
本文設(shè)計了基于邊緣計算技術(shù)的電費實時計算體系,通過在仿真實驗環(huán)境上搭建部署邊緣計算環(huán)境,并根據(jù)邊緣計算網(wǎng)關(guān)的數(shù)據(jù)采集能力、數(shù)據(jù)聚合計算能力、預(yù)警能力3個需求目標開發(fā)部署相應(yīng)的實時計算服務(wù)。仿真實驗結(jié)果表明:邊緣端實現(xiàn)終端數(shù)據(jù)的采集、計算、預(yù)警工作,并將結(jié)果推送到云端展示,耗時73 s,同時云端主站壓力明顯減輕,數(shù)據(jù)實時性較強,為今后開展對數(shù)據(jù)實時性要求較高的業(yè)務(wù)提供了參考。