唐為東
(江蘇瑞中數據股份有限公司,南京210000)
大數據分析技術在諸多領域得到了應用,其能夠通過數據規律對未來情況做出預測,分析現有數據是否存在異常,幫助進行決策,滿足管理及控制需求。在電力監控系統中,數據具有明顯的時序特征,使用LSTM網絡進行大數據分析能夠對數據異常情況做出預測和判斷,為電力系統運行提供數據及信息支持,確保電力系統的安全性,滿足智慧電網的建設要求。本研究對智能電力監控平臺進行設計,使用LSTM網絡實現對電網運行數據的智能化分析,構建智能化電力監控平臺,提升電力監控水平及效率。
系統用戶有3種角色,包括電力運維人員、公司管理者及系統管理員。電力運維人員負責監控電力系統運行狀況,處理系統報告;公司管理人員制定用電計劃、核算用電;系統管理人員是系統的運維人員,負責各個賬戶管理權限的控制。系統用例如圖1所示。

圖1 系統用例Fig.1 System example
系統的核心功能是對電路進行實時監控,滿足智慧電網的建設要求,將電路轉化為電網拓撲結構,將系統圖展示出來。安卓App可以提供系統圖的顯示,使用者可根據需要進行系統圖片的縮放、點擊、儲存、刷新等,滿足對電力系統監測和控制的要求。應用在運行過程中能夠自動接收有關數據信息,刷新顯示的圖像,滿足實時提供數據的要求。
數據采集系統需判斷監控數值是否超出范圍,針對超出安全范圍的數據進行提示。因此需使用智能技術進行數據判斷,完成對異常的分析,提供必要的警報。由于電力監控系統對安全有較高的要求,因此對不同級別的用戶會賦予相應的角色,用戶只有擁有相關角色才能訪問有關功能,完成對數據的分析及修改。
性能要求。系統需要保持足夠的穩定性和時效性,因此要滿足并發需求,能夠對100個左右的用戶同時進行數據處理并應對突發請求。電力系統的監控及警告系統的刷新時間間隔為5 s,手機應用需接收和處理數據,因此系統對用戶數據、監控請求的時間應控制在2.5 s以內,查詢歷史數據時,響應時間需控制在3 s以下。
易用性需求。系統需提供清晰的界面,讓用戶經過簡單操作獲得想要的功能。系統也能為用戶提供明確的目標指引,所有功能模塊都要具備所見即所得的特性,方便用戶直接上手操作。
系統包括展示層、接口層、業務層和數據層4層架構(如圖2所示),每一層都有獨立的功能,并實現對下一層的調用。展示層為應用的客戶端和Web端,Web端包括后臺管理和電力監控兩部分,應用端基于安卓系統開發展示電力系統的實時數據,發出警告信息。接口層負責處理和接收用戶請求,實現用戶和后臺間的交互,系統采用模塊化設計,接收業務處理模塊獲得業務需求。業務層是系統的核心層,位于接口層和數據層之間,避免接口層無法直接訪問數據層。數據層完成對數據的采集和儲存,從電力系統中源源不斷地獲得最新數據。

圖2 系統邏輯框架Fig.2 System logicframework
系統的功能模塊包括實時監控、數據儲存分析、歷史數據統計、電路警告監控、系統配置管理等。不同的客戶端可訪問不同的功能模塊,不同的用戶模塊使用權限有所不同。
數據采集模塊。電路數據采集功能在后臺自動執行,每隔5 s進行采集模塊請求發送,獲得數據后將數據存入到數據庫中,計算企業消耗的電力并統計消耗電力的累加值。
實時監控功能。電路實時監控功能包括兩部分,即安卓APP圖元庫的設計和后端數據獲取。圖元庫根據后臺數據更新XML文件,實現對圖元的更新。在后端數據獲取中將前端請求發送給Web服務器,根據服務器需求調用數據。
警告功能設計。警告功能通過智能分析模塊判斷是否需要警告,在數據獲取過程中主動判斷是否需要發布警告信息,通過用戶主動查詢選定時間內的自動記錄告警信息。
系統使用關系型數據庫和非關系型數據庫。關系型數據庫主要儲存權限管理和配置管理所需的信息,非關系型數據庫針對具有時序特征的電力數據進行儲存,結合應用分析選擇具有高效讀寫能力的InfluxDB數據庫,滿足性能要求,使用SQL語言進行數據查詢。
LSTM全稱長短記憶網絡,是循環神經網絡的變體,能解決RNN無法對長記憶進行處理的缺陷,使用LSTM可以完成對不同長度時序信息的處理,實現更為精確的時序數據預測。電力系統的時序特征明顯,受到工廠生產、生活、季節變化等方面的影響,電流、電壓、電路負荷呈現出明顯的規律性,因此使用LSTM進行電力數據分析和預測,以預測值作為預測警告的依據,可獲得較好的應用效果。
LTSM模型的t時刻的cell如圖3所示,每個cell中,使用當前時間輸入值xt和上一個狀態儲存的ht-1拼接,再通過傳遞狀態激活函數,位置激活函數為sigmaod。

圖3 LSTM模型的cellFig.3 Cell of LSTM model
通過激活函數sigmoid后,分別產生ft、it、ot三個值,計算公式為:
ft=σ[Wf·(ht-1,xt)+bf]


當前的cell輸出ht,公式為:
ht=ot×tanh(Ct)
電力運行數據的時序性隨時間變化的特征很強,為了能夠更有效學習電力數據的變化規律,建立了兩層LSTM網絡,與Dropout層連接,通過兩層LSTM網絡可以較好地學習電力數據的周期性和規律。之后,數據進入全連接層完成降維,通過Dropout層避免網絡出現過擬合問題,再通過一層全連接層獲得預測結果。
為了確保電力系統的安全,需要網絡提前發現電力系統的異常情況并判斷異常數據,給電力系統運維人員發出警報或提供相關信息,方便制定電網的控制策略。需使用具有真實性的數據開展網絡訓練,選擇某電網6個月內每隔10 min收集1次的數據,共520 000條真實環境下的數據,對于缺失的數據,計算收集數據的平均值進行補充。采用8∶1∶1的比例進行數據分組,分別為訓練集、驗證集、模型運行效果評估集合。

經過訓練后,使用測試集進行測試,以某站點出線A相電進行預測,獲得平均絕對誤差為0.257,預測結果和真實情況的對比如圖4所示。該模型的預測結果比較準確,能夠較好地滿足電力系統監控及預測需求。

圖4 預測和真實情況對比Fig.4 Comparison of predicted and actual situation
電力監控系統中最關鍵的是數據,需確保系統能夠與數據模塊之間保持實時通信,確保最新獲得的數據都被儲存在時序數據中。涉及的類包括SocketConnect、HistoryDataDao、EventInfoDao、UnitCfgDao、ACValue等。SocketConnect負責數據接口通信,系統運行過程中每隔5 s獲取一次數據,通過HistoryDataDao存入數據庫,UnitCfgDao進行監控點信息查詢,根據SocketConnect類獲取的數值查詢對應的遙測數值。采集數據時,getData方法是獲取數據的核心,使用JavaNIO提供API,利用SocketChannel類和硬件數據結構實現Socket通信,將數據包發送到確定的通道,結合需求對數據進行求解及解析。
通過PicController接收App的請求,將請求附帶查看的圖片交給MonitorService處理,MonitorService獲取要查詢的點名,將數據發給RealDataDao,查詢到相關大數據后將數據轉化成電度、遙測等信息,返回給用戶。遙測和遙信數據的獲取邏輯類似,通過MySQL查詢數據庫中的監測點ID,通過時序數據庫查找對應數據。實時監控過程中需結合用戶發送的一次圖查詢點名,使用getRealData方法獲得要查詢點名的ID,將其作為參數,使用UnitCfgDao從MySQL中根據點的名字查詢及配置監控點的ID,將ID作為參數,通過RealDataDao得到時序數據庫中最新的數據,如果沒有得到相應數據,數據設置為0。
對歷史數據的統計是實現電網智能預測的基礎。歷史數據包括多個子模塊,可使用歷史數據輸出曲線圖、累加統計、企業能耗統計、子公司數據等。歷史數據統計功能中,類的功能包括三層,分別為Controller、Service、Dao,分別負責用戶請求處理、計算業務邏輯、獲取有關數據。在類中,LinController是曲線圖的接口,使用CumulantStatisController能夠查詢歷史數據、企業能耗統計,利用EventInfoController可以進行歷史數據查詢。在運行中會將Controller的數據處理任務分配到Service類,調用UnitCfgDao獲取用戶的點名信息,以相關數據為參數發送到HistoryDataDao接口,再從數據庫中查詢歷史數據,將用戶請求返回給前端。數據的統計功能利用對應的Service實現,通過調用系統接口獲取對應的統計數據。
系統運行過程中需及時完成對異常情況的警告,電路監控功能結合實時數據進行警告監測或查詢歷史數據。實時警告發現監測數據異常后向手機應用發送相關的警告信息,方便工作人員及時采取措施應對。在運行過程中EventInfoController負責接收用戶請求,通過調用EventInfoService查詢過去的電路警告事件,通過查詢UnitDao獲取點名,再從數據庫查詢相關事件發生時的數據,封裝為ApiResult發送給前端。使用EventInfoSender實現推送功能,監控模塊會監控電路的運行數據,如果發現數據超出預警值就會通過EventInfoSender將信息發送給用戶手機。EventInfoSender通過激光推送框架為手機APP發送信息。運行時會生成一個JPushClient對象,根據實時數據通過獲取模塊傳入公司名,通過警告點名創建PushPayLoad對象,調用JPushClient實現推送功能。
系統配置管理功能為管理人員提供配置文件,方便進行配置文件的上傳和刪除,給手機應用提供一次圖和圖元配置,管理人員可通過手機下載相關圖片。系統要能夠上傳和下載配置文件,進行配置文件的解析并儲存配置文件中的數據。使用的類為FileController類,提供所需要的連接口進行上傳、下載、列表查詢、比對信息等,還可進行文件解析,實現文件的實時刪除,調用UnitCfgDao在數據庫中刪除相應的數據,利用MD5Util作為輔助工具進行文件的MD5碼計算。在上傳配置時,用戶需要將文件發送給FileController的upload接口,通過該接口將文件在本地保存。FileService將繼續進行文件解析。文件被保存后,需從FileService中調用parseCfg方法,利用ConfigReader類完成對配置文件的解析,對電度、遙信、遙測3種數據使用不同的解析方式。
為了滿足系統軟件的運行要求需開展系統測試?;陔娏ΡO控平臺各個模塊的實現情況對功能進行分析,使用云端服務器建立測試環境,應用MySQL數據庫將測試環境和服務器布置在同一個服務器中,使用Springboot框架建立Tomcat服務器。前端使用安卓設備和瀏覽器進行系統訪問,使用JMeter作為測試工具。
功能測試內容包括數據的采集和儲存、一次圖的展示、電力運行數據查詢、歷史統計數據查詢、一次圖配置查詢等。以電力運行數據查詢為例,測試內容為查詢電力運行過程中的數據變化,根據用戶選擇的時間范圍進行圖形數據的重放或生成分析結果。測試時啟動應用并選擇數據查詢功能,選擇一次圖顯示,選擇表格形式、查詢時間和范圍。需保證應用能夠顯示一次圖,提供有關歷史數據完成更新,提供查詢到的點數據并進行顯示,通過對不同功能的測試滿足功能要求,根據用戶需求更改配置、顯示數據及時間等信息。
針對系統性能進行測試,利用JMeter測試系統對Web應用進行不同強度的測試,模擬企業電力運維人員、企業管理人員的要求。系統需維持100的并發量,將響應時間控制在2500 ms以內,通過性能測試分析系統的平均響應時間,將其控制在1000 ms左右,最大響應時間不超過1500 ms,可快速完成響應,滿足系統效率需求。
智能電力監控平臺能夠實現對電力系統的智能化監控,滿足系統運行管理要求。LSTM網絡能夠較好地適應電力系統數據的時序特征,完成對系統數據的分析及預測,預測精確性良好,平均絕對誤差為0.257,平均響應時間控制在1000 ms左右,最大響應時間不超過1500 ms,滿足電網運行要求?;诎沧科脚_進行應用開發,實現了系統在不同場景下的應用,提升了系統運行效果,根據要求可進一步拓展應用,豐富功能,保證顯示數據的全面性。