陳禹旭,任昊文,黃焯恒
(南方電網數字電網研究院有限公司 平臺安全分公司,廣東 廣州 510663)
隨著我國經濟的快速發展,電網數據的規模與維數日益增長。同時,我國售電側的市場改革也在同步進行中,競爭越來越激烈[1],傳統電網面臨更多的挑戰。在數字化時代,電力作為傳統產業,也應在生產資料、數據信息等要素方面進行數字化。通過產業升級手段,讓傳統物理電網逐步向數字電網轉型。數字電網就是以電網數據為核心,依賴數字化平臺構建出數字化的電網服務,實現平臺賦能和業務創新,是目前電網創新建設的新思路、新模式。當前電力企業的電網積極向數字電網方向升級,但由于電網中各個業務的應用系統相對獨立,往往缺乏統一的標準規范,在運營和功能實現上通常參差不齊,在系統層面沒有統籌規劃,造成業務模塊之間的業務協同不是十分有效。在轉型過程中,數據作為重要的生產資料,越來越多地體現出經濟價值,被運用到新的商業模式中,數據中臺也因此產生。數據中臺服務可以作為電力企業重要的系統支撐[2],構成各種業務的全覆蓋監測功能。中臺的概念源于芬蘭游戲公司Supercell,并且由阿里巴巴對其進行概念延伸,成為企業數字化轉型的重要一環。數據中臺服務通常與邊緣計算進行協同,結合起來對電網終端采集到的數據進行部署和智能監測,承擔計算壓力并將其分配給邊緣側[3]。在數字電網的新形態下,通過中臺服務全鏈路監控可以有效引導企業進行數據的聚合與復用,有效賦能前端業務應用和業務的靈活調整。本文將數據中臺的數據處理能力與電網日志信息的投遞相結合,減輕在電網全鏈路監控中的計算壓力,提升數據監控的能力。
全鏈路的數據監控包括數據采集、數據開發、數據存儲、數據回流以及數據展示[4]。數據采集就是對電網數據進行ETL操作。ETL操作就是指抽取(Extract)、轉換(Transform)、加載(Load)三個部分,幾乎所有電網數據的采集過程都依賴上述操作,對于電網數據多為日志信息的收集和匯總;對于網絡數據的采集,則會采用Apache Nutch等。而電網數據的開發是比較重要的環節。利用實時流處理工具、機器算法工具對數據進行批處理[5],對數據背后的信息進行挖掘。然后,對海量的異構數據進行存儲,無論是結構化數據還是非結構化數據,都需要進行數據分類與識別,從而進行有效的數據存儲。其次,數據回流的作用就是將處理后的數據反饋給系統,由門戶系統進行使用和處理。同時,為了系統的高效運行,數據在回流到非分布式數據庫的過程中會用到分布式集群的計算方法。數據展示是將計算后的電網數據可視化,通過屏幕或者App進行可視化功能的實現。該流程的具體描述如圖1所示。

圖1 全鏈路監控的數據處理優化流程
邊緣計算的含義是指在網絡的邊緣側緊鄰人、物或者數據端進行資源利用,是實現計算、存儲、應用等核心功能融合的新型網絡架構[8]。邊緣計算具有十分明顯的優勢,在網絡邊緣側可以直接提供服務,有助于使計算資源的利用率達到最大化。上述功能可以滿足用戶對海量數據的低時延、大數據量的需求,有效減少回程鏈路的負載,提高共享服務的能力。
邊緣計算與傳統的計算體系結構具有明顯差異,尤其不同于分布式的云計算體系[9],邊緣計算網絡綜合了上述兩種網絡結構的優點,既包含資源的高聚合性、管理的簡單性、低網絡依賴性和高可擴展性,又具備對網絡的低依賴性和較高的資源利用率,其框架包含設備域、網絡域、數據域和應用域[10],具體地如圖2所示。
在應用域上實現電網數據全周期的管理,包括業務數據的可視化處理功能和設備運營方式的實現[11]。而數據的收集與互操作則依賴數據域上的功能來實現,并且充分考慮數據的隱私性和安全性,對數據進行有效、合理的分析。網絡域作為數據實時連接與網絡安全的重要支撐,承載起數據聚合和數據連接的任務[12]。設備域則用來掌握設備安全與操作系統,利用通信網絡,依靠傳感器、電表采集終端等設備,能夠為數字電網設備實現實時智能應用提供有力的支撐。

圖2 邊緣計算體系結構圖
數據中臺依于企業級的業務能力,將電力企業的核心業務能力劃分為各種服務中心,基于某種共性服務構建服務處理功能[13],通常采用微服務的架構,在中臺的共享服務中心下建設多個微服務中心,電網中的各類微服務應用可以調用中臺的微服務。而數據中臺的能力相對比較復雜,通常包括電網數據的接入、云資源的存儲、電網數據的分析、電網數據服務、數據資產的管理與運營,其功能架構圖如圖3所示。

圖3 數據中臺功能架構圖
數據中臺主要用于匯聚各類資源數據,業務中臺則用來接收數據,形成共享業務數據,并作為計算結果進行反饋,對業務數據進行操作,主要是反饋給數據中臺的貼源層,用以數據分析。數據中臺的設計技術架構如圖4所示,其主要由數據服務調度、分析層、共享層、貼源層和數據資產管理組成。貼源層的設計目的是容納源端數據的接入功能,將各類內外部數據進行匯總,匯總的方式多種多樣,主要包括批量接入和實時接入。而共享層可以實現數據的存儲和整合,遵循SG-GIM的模型,對貼源層的數據進行存儲與整合,在形成資產域的過程中,需要完成對數據的整合處理。分析層則以業務為導向,對共享層提供的數據進行加工,形成報表分析、算法模型等數據產品。

圖4 技術架構
數據中臺存儲的電網數據日志量較為巨大,每日產生的數據日志信息包含了常見的電網故障信息、電能情況以及對應的時間、IP地址、運行環境信息。同時包含設備日志操作信息,包括各類操作參數等等。數據中臺的投遞策略也是依靠數據共享能力實現,常見的日志投遞功能是將原始的電網日志信息通過網絡輸送到特定的地址或設備,對原始數據進行進一步處理,實現降低網絡負載,輕量化中臺的數據業務開銷的目的。數據流轉策略如圖5所示,讓大顆粒度的業務數據逐步向細粒度轉變,并且將數據與應用分離,以實現中臺服務,并利用日志投遞的方式實現數字電網核心業務,從而實現整體的架構。

圖5 數據流轉演進策略
中臺服務的開發是基于接口語法定義的格式,通過對接口的有效定義,有助于在開發中對設備信息進行描述與處理。而基于日志投遞的系統接口,保證智能電表監控終端在系統命令觸發下完成對應的監控與分析動作。接口需要符合一定的格式,在中臺服務開發中,首先要對設計的各類日志投遞的接口進行定義,具體如表1所示。

表1 接口定義
全鏈路監控的模式是對某個設備的控制行為。在應用層,借助本地通信技術建立與采集終端之間的通信。依照要求對全局日志進行投遞,捕獲鏈路異常情況,以實現功能。在這個過程中,平臺采用規則引擎比對的方式對電網數據進行管理與識別,在達到某函數的觸發條件時就會實施計算命令。本地函數的計算過程和計算結果統一由平臺的計算引擎進行歸一化管理。函數名稱作為重要的計算規則調用參數被計算引擎采納,從而完成函數的啟動程序,直至結果的最終實現。交互協議的設備升級的消息格式如表2所示。
通常情況下,傳統服務器中的數據塊都是內容龐大的,數據鏈路上的數據傳輸十分擁堵,大量的資源被占用,且資源利用率十分低下。并且,傳統方式會采用原始數據塊進行完整比對,既可能造成數據污染,又會給數據校驗工作帶來麻煩,影響監控效率。因此,在數據中臺優化中,采用MD5校驗碼來完成比對工作。它是一種典型的大文本信息摘要的應用,具備防篡改功能。首先,可將全局日志投遞的數據采集速度視為恒定,為了考慮數據塊的大小對校驗碼傳輸與比對次數的影響,既要保證每次數據量傳輸的效率,又要減少校驗碼的生成與傳輸次數過多的問題。可將投遞的日志數據塊容量設置為1 M。其監測方式是在服務器上首先計算出數據塊A的md5校驗碼Amd5,將校驗碼和數據塊的特征量和偏移量同時投遞到計算平臺。根據特征量與偏移量的共同提示信息,搜索出對應的下一數據塊B的信息。然后,同樣地,對數據塊B計算md5校驗碼Bmd5。通過比較校驗碼Amd5與校驗碼Bmd5是否相同來確認是否成功完成了日志投遞。在實現日志投遞后,就會進行跳轉投遞,并開始使服務器處理下一數據塊。

表2 交互協議中全鏈路監控的消息格式
本項目的全鏈路監控技術的實測現場布設于南網某電力公司。依照上述開發過程,在實際應用中進行全鏈路的監控時,運維人員在前端界面點擊發送指令,鏈路就開始執行自檢操作,監控的反饋結果即時通過日志投遞方式在界面顯示。主站運行的頁面如圖6所示。

圖6 電網主站運行的全鏈路監控場景界面
日志系統不僅會完整記錄每臺設備下執行的每次歷史操作與其操作結果,而且每次監測鏈路間的詳細通信情況都會被展示,異常節點能夠直觀顯示。同時,通過與傳統的全鏈路監測方法進行比對測試,測試24小時內兩種監控捕獲的鏈路異常情況,測試結果如圖7所示。紅色折線圖為本文實現的方式,藍色折線圖為傳統電網的監測手段,不依賴于數據中臺服務。通過實驗數據結論可以得出本文設計的全鏈路監控方法的可行性和有效性,對于異常的監測預警準確性更高。

圖7 鏈路監控對比圖
針對中臺服務全鏈路監控的功能進行分析,在闡述了全鏈路監控的研究現狀之后,針對中臺服務中的關鍵技術——邊緣計算技術進行展開,闡述了基于日志投遞的全鏈路監控的實現流程,對其中的電網數據流轉處理過程進行設計。然后展開對整個數據和業務中臺的設計,并對其中的重點投遞接口模塊進行分析和實現。最后,對實現全鏈路監控的中臺服務進行實驗驗證,說明該數據中臺具有對業務場景的監控管理功能。并與傳統電網監控的方式進行對比,說明基于日志投遞功能的全鏈路監控中臺服務的可行性和準確性。在未來的研究中,提高日志投遞的快速算法能力是十分重要的研究方向,將是后續研究的重點。