房金彥,應忠德,羅 誠
(國網江西省電力有限公司,江西 南昌 330077)
電網調度在生產和各種業務運用中積攢了大量運行數據,通過對這些運行數據的深入、全面分析,可以促進運營管理決策的科學性和提高企業經濟效益。隨著數據應用需求增多,更多數據層面的問題被暴露出來,調度機構內部業務系統較多,管理相互獨立,數據存儲分散,取自于調度不同系統的數據雖然量大卻紛繁復雜,嚴重地阻礙了對數據價值的提取和挖掘,這就使得整合各系統數據成為調度機構提升數字化水平的關鍵所在。
同時,公司其它部門對調度數據的需求也日益增多,迫切需要調度機構建立統一的電網運行數據匯集系統,匯集省地調度機構電力生產數據,面向公司各業務部門提供電網運行、在線分析、現貨交易、調度管理、調度計劃、新能源等多業務信息,面向政府、監管部門、電力市場主體提供不同類型的信息服務。
調控云是適應電網一體化運行特征,以電網運行和調控管理業務為需求導向,依托云計算、大數據和移動互聯網等IT 技術,形成“資源虛擬化、數據標準化、應用服務化”的調控技術支撐體系[1-3]。通過虛擬機、容器、應用包等方式實現應用的快速部署,實現服務的智能管理、按需訪問。通過數據對象的標準化設計,實現數據存儲標準化,便于數據分布式維護和同步共享,通過規范通信協議、服務協議的方式,實現數據交互標準化,便于異構系統互聯,提高數據交互效率。
調控云面向服務的體系架構(SOA)技術[4-5],采用的虛擬化、分布式資源管理和并行編程技術使運行數據匯集能夠靈活使用、調配需要的基礎資源,提升運維效率。運行數據匯集系統依托云計算的分布式處理、分布式數據庫和云存儲、虛擬化技術,利用調控云在資源共享、運維效率和業務連續性等方面的優勢,對不同系統的海量數據進行分布式抽取,實現調度機構各業務系統數據整合并提供給各業務部門使用。
依據《電力調度通用數據對象結構化設計》,電網運行數據主要包括量測數據、運行事件、外部環境事件、計劃預測數據、特征數據等[2],這些數據都存儲在原有業務系統中。電網調度運行數據匯集通過數據接收、數據存儲、數據服務,實現各級調度機構運行數據匯集和全面存儲,為各類應用提供可靠的運行數據服務。電網調度運行數據匯集架構如圖1所示。

圖1 電網調度運行數據匯集架構
調控云數據同步程序接收從各系統源數據端發送來的消息對象,并對消息對象解析,然后將源數據端變化數據更新至云端數據庫。數據接收功能包括數據映射、抽取轉換等。
1)數據映射
數據映射是在兩個數據模型之間建立起數據元素的對應關系,實現系統之間關系的建立,是很多數據匯集任務的第一步。運行數據匯集系統是從不同源端系統獲取數據,這些系統各自獨立,必須通過設備ID 關系對照建立互聯。調控云運行數據匯集系統在抽取數據前先要將調控云設備ID 與抽取系統設備ID關系進行對照。
2)數據抽取轉換
數據抽取是從各個不同的數據源抽取到運行數據匯集系統。數據抽取的方法選取需要考慮提高抽取效率和對各業務系統數據庫的影響,同時要考慮增量抽取問題。運行數據匯集系統利用kettle 工具和SQL結合方式實現對源端系統數據抽取匯集,數據抽取遵循標準的消息報文。規范的消息報文包括:源數據端在線狀態匯報心跳消息報文定義、數據增量匯集消息報文定義、源數據端補召狀態匯報消息報文定義及數據補召命令與匯集消息報文定義。
數據采集模塊按預定周期從各系統數據庫中獲取運行數據后封裝成相應的運行數據傳輸報文,包括量測數據報文、告警數據報文等類型。量測類型數據報文由消息頭和消息主體兩個部分組成,如圖2所示。

圖2 量測類型數據消息報文
數據轉換的任務主要是進行不一致的數據轉換,這個過程是一個整合的過程,將運行數據匯集的不同業務系統相同類型的數據統一,比如源端EMS 系統ID 編碼是XX0001,而在匯集系統中編碼是YY0001,這樣在抽取過來之后統一轉換成一個編碼YY0001,數據按照匯集系統的設備編碼存儲。
3)數據傳輸
運行數據的匯集通過調控云平臺的消息總線集群進行[6]。消息總線提供基于訂閱/發布的消息傳輸方式,集群化部署,支持每秒十萬級的消息傳輸,支持JAVA/C 兩種編程語言,調控云消息總線的整體架構圖如圖3所示。

圖3 調控云消息總線架構圖
各調度機構Ⅲ區的數據獲取服務通過消息總線發送接口將消息發送到云平臺消息總線集群中。部署于調控云平臺的運行數據存儲服務通過消息總線接口訂閱該主題消息并接收消息,解析收到的數據,插入到數據庫中存儲。
調控云平臺的運行數據存儲分為關系數據庫存儲和列式數據庫存儲兩種存儲方式,在存儲不同類型的數據時,要選擇適合的存儲方式。通過對大量運行數據匯集至兩種數據庫的性能測試對比發現,列式數據庫的讀寫速率和數據表查詢效率要明顯高于關系數據庫,因此江西運行數據匯集系統的存儲方式采用列式數據庫存儲,數據存儲邏輯如圖4所示。

圖4 運行數據匯集數據存儲
運行數據匯集系統接受省地調各業務系統數據和外部系統的其它數據,以多種發布方式提供給公司數據中臺,供公司其它部門使用。同時接受來自公司數據中臺和其它系統的外部數據,提供給調控機構各業務系統使用,形成調控中心內外業務系統數據交換樞紐。
調控云平臺的運行數據服務提供總線服務以及計算、交互和展示服務,應用于數據的查詢和分析。運行數據匯集系統所采用的調控云服務如表1所示。

表1 調控云基本服務列表
數據安全就是要保護數據免受威脅的影響,從而確保運行數據匯集系統的連續性,縮減業務平臺可能面臨的風險,保證數據信息的可用性、完整性、機密性。運行數據匯集系統提供對數據的安全管理功能,主要包括:備份管理、權限管理、痕跡管理。
2.4.1 備份管理
為規避系統破壞和使用過程中的風險,必須要對存儲的運行數據進行定期備份工作。
防止系統破壞進行的備份使運行數據系統硬件、軟件受到內外部破壞后數據能夠得到盡快恢復。內部破壞防范:當服務器配置更新變動以及服務器應用系統、軟件修改后均要在改動當天進行備份。外部破壞防范:為防止系統硬件破壞,通過異地建立調控云平臺站點,站點之間軟硬件部署相同,讀寫同步,實現硬件層面上數據安全;運行數據系統軟件部署在調控云平臺的虛擬機上,分布式存儲的三種備份方式可以實現軟件層面上運行數據的安全。
防止使用過程中數據風險進行的備份主要是針對數據刪除或不正確修改等操作。主要措施是定期對數據庫進行全量自動備份,一般是一周一次,每天定時對增量數據進行自動備份,備份要有明確的標識。備份的標識要注明備份時間、備份內容、備份路徑等信息。自動備份失敗情況下設定短信通知,并采取手工備份或其它方式及時備份,定期對備份日志進行檢查,對重要數據實現異地備份。
2.4.2 權限管理
數據安全涉及的人員有擁有者、管理者、訪問者。擁有者是各源系統數據錄入者,擁有數據修改、刪除等權限;管理者負責數據的日常管理和維護;訪問者是在授權范圍內訪問所需數據,要確保訪問對象的完整性、機密性、可用性等。
運行數據匯集系統利用調控云平臺的權限服務規范數據的操作和使用權限,明確人員的錄入權限、訪問權限及維護權限,設置管理員用戶和數據查詢用戶的操作權限,加強用戶身份驗證管理等。通過權限管理功能,對運行數據的維護、驗證、訂閱、發布等功能進行權限控制,只有具備相應權限的用戶才能執行相應的操作。
2.4.3 痕跡管理
痕跡管理就是要把數據及系統的維護使用過程中的每一個步驟和環節都留下印記,并加以整理和保存,通過痕跡的查證,可以有效復原已經發生了的各項操作,保證數據及系統的各項操作可追溯、可還原、可追責。
運行數據匯集系統利用調控云平臺的日志管理服務功能實現對各項操作的痕跡管理。日志管理主要記錄各類人員的操作日志、系統的運行日志、業務和系統異常故障日志,提供日志的存儲、查詢等統一管理功能。
為保證數據質量及系統的穩定性,需要及時監視數據匯集系統的工作狀態,優化系統數據抽取工具,提高數據匯集效率。
運行數據匯集系統具備設置數據抽取任務啟停、周期控制和策略控制功能,可控制任務啟停狀態以及數據源端與目標系統之間數據交互周期,并針對不同傳輸方式的傳輸速率大小、次數等進行控制。
由于業務系統、網絡等原因,會出現數據抽取過程中同步任務中斷,需要對數據中斷的監視和中斷的數據重傳,重傳需要確保數據重復的問題、斷點續傳的問題。
1)網絡鏈接監視。運行數據匯集系統對源系統數據網絡傳輸穩定性監視,定時通過網絡連接方式判斷源端系統是否離線,并且有告警信息發出或短信通知,精確提示哪套源端數據系統網絡鏈接問題,需要運維人員盡快處理。
2)數據傳輸監視。運行數據匯集系統對源數據傳輸的及時性以及是否漏傳具備判斷功能。通過計算數據大小進行判別,若某個時間段的數據量與以往同時間段對比出現異常,則判斷獲取數據異常,通過定時提醒方式提示運維人員盡快進行補傳。
3)數據補召。在運行數據匯集系統因某種故障原因(如數據庫故障)不能完成數據增量匯集,為保障運行數據完整性,系統通過下發數據補召命令消息報文,源數據端接收消息報文后進行數據抽取與發送,完成數據接收與存儲,實現異常情況下數據完整性保障。
在數據抽取過程中,各業務系統抽取的數據量不同,部分服務器需要抽取大量數據,對系統的上傳速度和承載能力提出了挑戰,系統面臨著傳輸速度慢以及存儲不足的困擾。而其它服務器由于抽取數據量小,服務器上傳速度和承載能力都較低。
源系統抽取的數據通過消息總線傳輸機制,被分塊加密并高效傳輸至數據匯集系統。利用調控云平臺的負載均衡調度服務器,將來自于不同源端的數據分攤到多個數據匯集服務器,然后這些服務器將數據寫入列式數據庫存儲,實現了數據的快速匯總和集中存儲。負載均衡邏輯結構如圖5所示。

圖5 負載均衡邏輯結構圖
為保證數據質量及系統的穩定性,需要及時監視數據匯集系統的工作狀態,將采集通信狀態,數據匯集質量,異常告警以圖形、列表等可視化形式展示。具備任務執行情況監視、運行情況監視和異常告警功能,可對數據匯集過程中任務執行進行實時監視,可對歷史數據匯集情況進行統計分析,并提供異常告警服務。
調度運行數據匯集系統減輕了調度各業務系統對外提供數據的壓力,使各業務系統能更好地對調度機構內外系統提供完整、準確的數據,解決了調度數據多出口問題,提升了調度專業的數字化水平。同時,調度運行數據匯集系統存儲的電網運行數據為應用提供的運行數據查詢統計以及電網長期運行規律的挖掘、分析等服務,提高了調度運行精益化管理水平。