梁 陽 顧葉青 施建華 盧 敏
(1.南瑞集團有限公司(國網電力科學研究院有限公司) 南京 211106)
(2.國網浙江省電力有限公司 杭州 310007)
調控云平臺建設是國調中心及各級省調近年的一項重點工作,通過調控云平臺電網模型數據平臺的建設,實現電網模型數據在調控云端的統一匯集與全局共享。在調控云平臺建設之前,IEC 61970系列標準提出的公用信息模型(common in?formation model,CIM)[1]在電網建模方面得到廣泛的應用[2~6]。雖然各電網業務系統及應用均遵照CIM標準,然而對標準的理解及應用需求的偏差,造成各系統分散建模、自成體系,難以做到模型數據全局共享及業務協同?;贗EC技術標準,文獻[7]對比了CIM/E[8]和CIM/XML[9~10]的差異,并應用CIM/E技術標準提出了基于CIM/E實現模型信息一體化管理的方案,解決了調度中心之間及調度中心內部各專業之間的模型信息共享問題。為了解決長期以來橫向上個應用系統間電網模型數據結構不統一、缺乏有效關聯,文獻[11]闡述了調控云的整體架構及調控云的未來應用展望。在此基礎上,文獻[12]提出了面向調控云的電力調度通用數據對象結構化設計及應用。文獻[13]提出了基于調控云的電網模型數據管理策略,文獻[14]提出基于調控云的網絡分析服務架構,文獻[15]提出基于調控云的電網調控數據信息共享的研究。上述文獻[11~15]為本文提供了基礎研究方法和成果,遺憾的是暫未研究調控云模型數據云平臺中模型數據治理的相關工作及探討調控云模型數據與現有調度系統中模型數據之間的關系。目前國調中心及各級省調統推部署了調控云模型維護客戶端,該客戶端支持調控云的模型手動維護功能,考慮到現有電網模型數據量巨大,人工直接在調控云上從零開始維護模型的工作量難以估算。同時,考慮到現有調度自動化系統(D5000、OMS)中都擁有各自的電網模型數據,如果直接在調控云上維護模型數據,未來多業務系統之間的電網模型互聯互通也是棘手的難題。
為減少重復性工作和提高工作效率,本文設計并實現了面向調控云的模型數據治理系統。本系統秉持“源端分責維護,全局縱橫共享”的原則,按照一定的規則抽取源端(D5000、OMS)中的電網模型數據,并利用治理規則對源端數據的參數進行結構化、規范化、標準化治理,最后通過匹配、同步將治理后的參數同步至調控云模型數據云平臺。本系統主要貢獻如下。
1)提供存量數據治理功能,提高存量電網模型維護上云的工作效率,保證調控云的模型數據的一致性、完整性和準確性。
2)提供增量數據治理功能,自動根據源端模型增量維護情況分類打標簽,實現常態化、流程化模型上云。
3)自動建立源端系統與調控云模型映射關系,從而消除“豎井式”業務模式和信息“孤島”。
4)提供了友好的系統界面,能夠滿足自動化運維人員日常模型上云工作。
調控云模型數據結構設計堅持唯一性、通用性、擴展性、差異性和一致性五大原則,并通過元數據(Meta)、數據字典(Dic)的基本方法來管理和實現模型的標準化設計和可擴展需求。其中,元數據包括元數據對象(MetaObject)、元數據表(MetaT?able)、元數據表屬性(MetaProperty)和元數據表屬性字典(MetaPropertyDic)。元數據對象、表和屬性可實現電網模型數據結構的可擴展性,即在不改變程序代碼的前提下,實現對象、表或者屬性的新增、修改、生效和失效,同時自動創建(CREATE)和更新(ALTER)模型數據物理表結構。元數據表屬性字典抽象出電網模型數據結構的外鍵約束關系從而保證電網模型數據的完整性和一致性。數據字典即Key-Value鍵值對,在電網領域可以分為通用類、容器類、發輸變電設備類等。數據字典的建立可以實現電網模型數據中屬性值的手動選擇或自動生成進而保證電網模型數據的規范性。
調控云元數據的E-R圖如圖1所示。

圖1 調控云元數據E-R圖
系統采用Java EE架構進行設計開發,按照功能主要分為數據抽取,數據轉換,數據匹配,數據同步,系統設置五大模塊,框架如圖2所示。

圖2 系統框架圖
數據抽取模塊即將保存在源端(D5000、OMS)中的模型數據根據預先梳理好的規則抽取到待治理臨時庫。數據轉換模塊即對源端的模型數據參數按照調控云的模型規范進行治理,包括參數的規范性、設備掛接關系等。數據匹配模塊即將OMS與調控云模型進行名稱完全/模糊匹配,最終由人工確認建立OMS與調控云的模型映射關系。數據同步模塊即將治理完成后的模型數據批量導入調控云標準模型數據結構庫中,并生成調控云的唯一標志ID。系統設置模塊包括抽取規則、屬性映射關系的配置、治理規則的配置及同步界面方案配置等。
數據抽取結合<<電力調度通用數據對象結構化設計>>,按一定的規則從數據源端抽取模型數據,抽取范圍為10kV及以上廠站、線路及站內關聯設備,保證調控云模型與源端實際應用所需的模型數據量的一致性,即“定義規則,確保一致”。
3.1.1 抽取規則
在電網實際生產環境下,同一條跨網線路,線路兩端廠站所管轄的自動化運維人員可能會各自建模,這就會導致現有調度自動化系統中存在部分冗余和垃圾數據,因此制定抽取規則對源端的對象數據進行篩選顯得尤為重要。同時,由于D5000對象和調控云對象劃分粒度不同,比如D5000的廠站存于同一張表,交流線路和T接支線存于同一張表而調控云的對象分類更加細化,每個對象都單獨定義對象表,因此每個調控云對象都要定義相應的抽取規則。由于抽取規則的不確定性,在實際使用過程中經常出現規則的更改或者補充,所以抽取規則必須支持可配置化。以變電站為例,抽取規則如下。
D5000源端抽取規則:廠站分類為{系統變}且所屬應用同時含SCADA、PAS且廠站類型不為{換流站}或者廠站分類為{用戶變}或者廠站類型為{線端連接站};電壓等級為{10kV,20kV,35kV,110kV,220kV,500kV};運行狀態為{正常投運}。
OMS源端抽取規則:變電站類型為{公用變,用戶變};變電站性質不為{監控中心};變電站名稱不為空;運行狀態為{投運};電壓等級為{10kV,20kV,35kV,110kV,220kV,500kV};所屬上級不為空。
3.1.2 屬性映射
以調控云<<電力調度通用數據對象結構化設計>>中元數據定義的的數據結構為基準,建立D5000、調控云及OMS的設備表屬性的對應關系,保證調控云模型數據的完整性和正確性,即“確定來源,保證質量”。
由于調控云的模型是基于電力調度通用數據對象結構化設計的,而現有調度自動化系統中的數據對象是基于CIM設計,因此系統之間的表結構存在很大的差異,需要建立表結構的屬性映射關系,保證不同系統之間模型數據物理含義的一致性,以變電站為例,屬性映射關系如圖3所示。
3.1.3 抽取過程
1)針對存量數據:對于每一類數據對象,一次性全部抽取;
2)針對增量數據:基于消息觸發機制,當源端數據發生變化的時候,消息隊列中會增加一條<對象類型,對象ID,對象更新標志(I:插入,U:更新,D:刪除),處理標志位…>的消息記錄,根據消息隊列實現增量數據的抽取及打標簽。
具體算法實現步驟如下:
步驟一:該系統每1min輪詢消息隊列,將查詢到的消息緩存下來,一直輪詢直到5min內沒有新增的消息記錄為止,對緩存下來的消息進行多線程處理。首先對消息進行對象類型的分類,將同一個對象類型的消息分組,按不同組分別讀取抽取規則配置表中配置的抽取規則,將滿足抽取規則的數據增量抽取到系統內存。
步驟二:如果抽取到數據則表示該數據需要同步到調控云,再根據模型映射關系表判斷該對象ID是否有相應的調控云ID,如果有則判斷參數是否發生變更,發生變更則打“更新”標簽;未發生變更則不做任何操作并更新消息隊列中的處理標志位為3。如果該對象ID沒有找到相應的調控云ID,則打“新建”標簽。
步驟三:如果沒有抽取到數據則表示該數據不需要同步到調控云,再根據模型映射關系表判斷該對象ID是否有相應的調控云ID,如果有則判斷消息中的更新標志是否為D(刪除),是則打“刪除”標簽,否則打“退役”標簽。如果該對象ID沒有找到相應的調控云ID,則不做任何操作并更新消息隊列中的處理標志位為3。
步驟四:如果抽取的數據打了“新建”、“更新”、“退役”標簽,再讀取屬性映射關系配置表,按照屬性映射將抽取過來的數據插入到臨時表中。如果該對象ID對應的數據成功入庫則更新消息隊列中的處理標志位為1,表示抽取成功。否則為2,表示抽取失敗。
按照預先編制好的數據轉換規則,將源端D5000、OMS符合抽取規則的原始數據自動翻譯、轉換成符合調控云數據規范的值,即“定義規則,程序轉換”。
調控云<<電力調度通用數據對象結構化設計>>中元數據表屬性字典(MetaPropertyDic)規范了數據結構的外鍵約束關系,比如變電站的電壓等級(TOP_AC_VOLTAGE_TYPE)引用了通用類數據字典(SG_DIC_VOLTAGETYPE),并且在數據庫層面加上了強約束關系。因此將源端數據轉換成符合調控云字典編碼規范的值是無法逾越的障礙,否則會因違反強約束關系導致源端數據無法同步到調控云,治理規則主要包括規則名稱、規則作用的對象,規則作用的表、規則作用的屬性、規則轉換腳本、規則引用的JAVA方法,是否啟用,排序等。流

圖4 數據轉換流程
3.2.1 編制治理規則
以對象屬性作為最基本的單位,通過規則編輯器進行規則的編制,加入到規則庫中供程序自動轉換。通過規則編制可視化界面,可以方便管理員對規則進行編制。以變電站為例,治理規則如下。
1)D5000治理規則:變電站名稱:截取全路徑名稱中的名稱,比如“華東。徐圩”截取“徐圩”;調度機構:截取全路徑名稱中的區域,比如“華東。徐圩”截取“華東”;電壓等級:根據D5000里的電壓等級中文名轉換成調控云中電壓等級字典編碼;
2)OMS治理規則:變電站名稱取OMS中的名稱;調度機構:根據OMS中的調度機構轉換成調控云中調度機構編碼;根據OMS里的電壓等級中文名轉換成調控云中電壓等級編碼。
3.2.2 數據劃分
由于模型數據歸屬于不同級別的調度機構,因此需要對模型數據按權限進行劃分,以便不同調度機構用戶快速識別所屬調度管轄的模型數據并對其進行治理、確認、同步。按照調控云的設計規范,使用<<電力調度通用數據對象結構化設計>>中對象的擁有者作為模型數據的權限劃分標識屬性。
將D5000的模型數據同步至調控云,系統自動建立兩系統模型映射/匹配關系;將OMS的模型數據與調控云的模型數據按照一定規則進行完全/模糊匹配,匹配結果由自動化運維人員統一確認,確認之后自動建立OMS與調控云的匹配關系并將OMS參數同步至調控云,即“程序匹配,人工確認”。
針對不同的對象,其匹配條件存在一定的差異,比如變電站將調度機構、電壓等級、名稱作為匹配項而變壓器將所屬變電站、電壓等級、名稱作為匹配項。按照匹配精確度不同,又可以將匹配規則分為完全匹配、模糊匹配和人工匹配。
1)完全匹配
完全匹配即匹配規則中的所有匹配項的數據完全一樣,則表示完全匹配。
以變電站為例,完全匹配規則為調度機構一致;電壓等級一致;變電站名稱一致。
2)模糊匹配
模糊匹配即匹配規則中的部分匹配項的數據存在上下級調度關系(比如華東分調和江蘇省調、江蘇省調和南京地調)、名稱相似(比如南京電站和南京變)等,則表示模糊匹配。
以變電站為例,模糊匹配規則為
(1)調度機構一致或者兩者為上下級關系或者為空;
(2)電壓等級一致或者為空;
(3)變電站名稱一致或者相似。
①同義詞轉換:kV、kv、千伏統一轉換成kV;
②去除停用詞:變電站、電站、變、站。
3)人工匹配
通過人工確認、手動拖拽的方式,將兩條數據強行配對,從而建立不同系統之間的模型映射關系。
由用戶檢查所在調度管轄范圍內的模型數據,確認無誤之后,將治理后的模型數據從臨時表中同步到調控云正式表,并生成調控云的唯一標識ID,即:“分責檢查,同步上云”。具體流程步驟為
步驟一:導出Excel,檢查數據治理情況,包括正確性、規范性和完整性;
步驟二:檢查數據發現參數缺失,則在源端維護;
步驟三:檢查數據發現沒有問題,則同步至調控云。
流程圖如圖5所示。

圖5 數據同步流程
3.4.1 調控云ID
調控云模型數據以ID編碼作為唯一標識,同一對象的基本信息、靜態參數、動態參數等信息唯一標識一致。參照<<電力調度通用數據對象結構化設計>>,在同步的過程中為每個設備對象生成全局唯一的ID編碼,ID編碼生成規則為:對象編碼(4位)+擁有者(6位)+對象隨機序列碼(不同對象的隨機序列碼的長度不同)。
3.4.2 參數同步及映射關系
將治理之后且符合調控云規范的參數同步(同步界面方案可動態配置)至調控云中并自動保存源端ID和調控云ID的映射關系,為運行數據云平臺的建設、云端應用提供基礎數據支撐。
為了系統定制方便和部署配置簡單,提供了抽取規則配置、屬性映射配置、治理規則配置和同步界面方案配置等界面。管理員通過系統配置模塊為不同現場配置來滿足各個現場的實際需求,盡可能實現通用配置最大化,定制開發最小化。抽取規則配置表詳細記錄了源端是哪,源端表與目的端表的映射關系及源端的抽取規則等配置信息。屬性映射關系配置表詳細記錄了源端模式名、源端表名、源端屬性名、目的端模式名、目的端表名和目的端屬性名等配置信息。治理規則配置表詳細記錄了對象編碼、治理規則名稱及治理規則(JAVA方法或者腳本)等配置信息,每個對象對應多個治理規則分別負責不同對象屬性參數值的轉換功能。同步界面方案配置表詳細記錄了對象表的哪些屬性可顯示,可編輯等信息。令A={x|x∈RULE_NO=PAGE-19,DISP_STATE=true的 屬 性},B={x|x∈RULE_NO=PAGE-20,DISP_STATE=true的屬性},源端(D5000)數據同步時,將A屬性集合的值同步到調控云。源端(OMS)數據同步時,將B-(A∩B)的屬性集合的值同步到調控云。
目前,調控云上部署了多個應用,包括模型維護客戶端(ModelClient)和模型數據匹配工具(Mod?elMatch),模型維護客戶端主要功能是維護調控云的模型數據,模型數據匹配工具主要功能是匹配現有調度系統與調控云上的模型數據。模型數據治理系統(ModelGovern)與上述應用系統的功能有效性對比結果如圖6所示,模型維護客戶端僅支持F1功能,模型匹配工具僅支持F4和F5功能,模型數據治理系統不僅支持單條及批量數據維護上云(F1-F3)功能,同時支持與現有調度系統的模型數據匹配(F4-F5)的功能。

圖6 不同系統之間功能對比
數據治理流程如圖7所示。

圖7 模型數據治理流程
如圖8所示,展開<模型中心數據治理>樹形結構,選擇待治理的數據對象,比如“變電站”,右側表格會列出從三區模型中心按照抽取規則導入的登錄用戶所在地區且具備維護權限的待治理設備列表。點擊右側表格上方工具欄的<治理>按鈕,對抽取到的模型數據進行批量治理?!爸卫硗瓿伞敝?,點擊右側表格上方工具欄的<導出>按鈕,系統將治理后的結果導出為Excel方便供用戶核對檢查。
如圖9所示,選擇<未同步>標簽頁,勾選需要同步到調控云的數據,點擊按鈕<同步>將選中的數據同步到調控云。
如圖10所示,在樹形結構中展開

圖8 數據治理頁面

圖9 數據同步頁面

圖10 數據匹配頁面
如圖11所示,點擊<模型中心>,在樹形結構中選擇一種數據對象,比如“變電站”,右側卡片會列出所有當前登錄賬號具備維護權限的新建、更新、刪除、退役的變電站增量數據。自動化運維人員進入每一個標簽頁,點擊<同步至調控云>按鈕,就可以完成將該模型數據從模型中心同步至調控云。實際應用表明該系統滿足自動化運維人員常態化模型上云工作。

圖11 增量數據治理頁面
本文在調控云建設的大背景下,分析電網模型數據云平臺建設需求,設計并實現了面向調控云的模型數據治理系統。該系統設計分為數據抽取、數據轉換、數據匹配、數據同步、系統設置五大模塊,完成將源端(比如D5000、OMS)的存量和增量的模型數據結構化、規范化、標準化同步到調控云的功能,并自動建立起源端與調控云的模型映射關系,為之后從源端定時抽取運行數據上云做準備。系統具備一定的通用性,可根據不同現場的實際需求靈活配置。該系統已經部署并運用在全國多家網省公司,運行狀態良好,支撐了全國多家網省公司的電網模型上調控云的工作。