彭 暉,趙家慶,王昌頻,丁德鑫,丁宏恩
(1.國電南瑞科技股份有限公司,江蘇 南京 210061;2.蘇州供電公司,江蘇 蘇州 215004)
隨著電網規模不斷擴展,同時以資源集中管理、統一調控、優化配置、合理布局為核心的運行管理[1,2]體系建設不斷推進,省地間電網調度扁平化管理[3-6]、地縣間調控一體化[7,8]運行的需求愈發增強,地區電網調度控制系統監控的范圍急劇擴大,監控測點快速增加,傳統以商用數據庫為基礎的歷史數據管理技術因占用磁盤空間大,歷史數據采樣密度低(分鐘級),越來越不適應大型地區智能電網調度運行、管理的需求,并成為各類應用進一步拓展的數據瓶頸。這就需要電網調度控制系統[9,10](以下簡稱調度系統)采用新的歷史數據處理技術[11]。
時間序列數據庫(簡稱時序庫)擁有超大規模數據處理能力和高比例壓縮能力,支持秒級、毫秒級歷史數據存儲,可實現海量歷史數據[11,12]高效的壓縮存儲、查詢檢索和統計分析。結合商用數據庫和文件系統,將時序庫應用于大型地區調度系統,既可實現海量歷史采樣數據細粒度(秒級)的存取管理,又可節省磁盤空間,還可有效服務于各類應用。但是時序庫表達復雜關系的能力較弱,對非關鍵字搜索的效率不高,所以對于占用空間相對較少的告警歷史信息保存于商用庫中。歷史圖、模CASE 這類非結構化數據,文件管理的效率較時序庫和商用數據庫效率更高。
國內已有中小型地區調度系統使用時序庫的先例[13],它的實現方式能較好地管理5 萬及以下測點規模地調的歷史數據,但是其體系架構無法滿足蘇州等大型地區電網調度系統(蘇州76 萬測點)各類應用的需要,不能以插件的方式靈活支持多種類型的時序庫;在性能上無法滿足大型地區調度以不低于百萬級測點為目標的歷史數據容量和性能需求;在可靠性上,未考慮冗余備份機制;在使用上,未能將應用和各類歷史數據有機關聯,使用不便。國內還有學者研究了利用第三方插件在電廠監控信息系統中使用時序庫的方法[14]、時序庫在廣域監測系統(WAMS)中的使用[15]、南方電網時間序列庫備份方式[16],但均未涉及到歷史數據內部管理技術和適宜于地區電網調度系統的應用。
為了適應地區電網的快速發展和管理模式的轉變,結合以蘇州為代表的大型地區調度系統歷史數據管理和應用需求,文中提出了以時序庫為核心,結合商用數據庫和文件的歷史數據管理技術,以解決大型地區調度系統歷史數據管理面臨的容量、效率、可靠性方面的問題,并對依賴歷史數據的各類應用提供有效的支撐。
以時序庫為核心的歷史數據管理體系采用面向服務的體系架構(如圖1 所示),應用程序通過數據服務層的隔離和數據訪問層的封裝來實現各類應用對時序數據的訪問。這種設計考慮了對主流時序庫[16-18]的支持,規范了應用程序訪問時序庫的方式,便于對時序庫訪問進行統一的管理和控制,易于工程安裝維護并節省購買時序庫客戶端的費用。
最下層的數據層是各種時序庫及其訪問接口,不同的時序庫訪問方式存在明顯的差異。
數據層之上為數據服務層,它首先要封裝時序庫統一訪問接口,以屏蔽數據層各種類型時序庫訪問方式的差異;其次,由于調度系統和時序庫表征量測的方式不同,需要實現調度系統關鍵字/時序庫標簽的轉換機制來完成采樣點在調度系統和時序庫之間的映射。文中所述歷史數據管理架構下,提供了數據冗余備份機制和為提升容量采用的集群機制,而這2 套機制都依賴時序庫監視服務。在數據服務層的上部是標簽定義服務、采樣定義服務、時序庫提交服務和時序庫查詢服務。
數據訪問層包括定義采樣點的工具、標簽定義功能和提供給數據客戶端訪問數據服務端的各類接口。

圖1 以時序庫為核心的歷史數據管理架構
最上層是應用層,通過底層封裝,應用不關心時序庫的類型、部署情況,通過數據訪問層接口方便地存取歷史序列數據和獲取歷史斷面數據。
商用庫數據和集中文件數據的訪問也采用了同時序庫類似的4 層結構。
傳統歷史數據管理架構下,支持新的時序庫存在復雜的設計、開發、維護工作;已投運系統更換時序庫也非常困難。通過時序庫訪問插件技術可較好解決上述問題。該技術包含2個關鍵點:
(1)時序庫統一訪問接口。如圖1 所示,在數據服務層設計了時序庫統一訪問接口,該接口通過工廠模式以動態庫插件方式對上層服務提供一致的訪問方式,屏蔽下層時序庫的差異。每個插件動態庫匹配一種時序庫。
(2)統一的關鍵字/ 標簽映射技術。調度系統用關鍵字表征數據點,時序庫通過標簽號來表征,針對不同時序庫特點,需要一種統一的關鍵字/ 標簽映射技術(如圖2 所示)。

圖2 標簽定義過程
一些時序庫的標簽號是調度系統可以直接生成的(如eDNA、Highsoon),對于這種時序庫,直接由調度系統按照一定的策略生成不重復的標簽號,生成后直接通知時序庫的標簽定義過程,標簽定義過程在時序庫中記錄這個已定義的標簽號。
而另外一些時序庫的標簽號是時序庫內部生成的,譬如主備2個PI時序庫,對應同一個采樣點的標簽號可能不一樣。這就需要先借助數據服務端的標簽定義服務產生一個唯一且主備庫一致的標簽名作為橋梁,實現關鍵字到標簽名的映射,標簽定義服務將標簽名告訴時序庫的標簽定義過程,時序庫根據標簽名產生內部的采樣定義點和標簽號。
客戶端可以通過數據服務端的標簽定義服務向時序庫的標簽定義過程根據標簽名取得時序庫內的標簽號。關鍵字/標簽映射也在插件動態庫中。
大型地區電網調度控制系統需要海量測點/ 計算點采樣處理的能力,而單臺時序庫服務器的處理能力是有限的,這就需要通過時序庫集群的方式解決海量數據采樣的問題。
如圖3 所示,海量采樣數據可以分為多個采樣數據集,每個數據集的采樣數據存入對應的時序庫,多個時序庫無交集地覆蓋所有采樣點,通過時序庫集群形成一個邏輯可擴展的時序庫池,滿足任意數據規模調度系統的歷史數據存儲需要。

圖3 時序庫集群
系統可以自動也可手動定義每一個采樣點關聯到哪一個時序庫。但是對于應用程序,完全感知不到系統使用的是一個時序庫,還是多個時序庫集群。
文獻[10]中時序庫歷史數據管理采用了基于文件緩存方式,這種方式簡單可靠,適合于中小型地區調度系統。但對于大型地區調度系統,這種方式帶來的大文件I/O 不僅會影響時序庫采樣的性能,還會對調度系統其他模塊帶來影響。文中的數據提交服務使用了共享內存隊列與文件緩存相結合的兩級緩存機制來解決時序庫高效提交的問題,同時還可保證異常情況下歷史數據保存的可靠性。
如圖4 所示,時序庫提交服務包含內存隊列緩存和文件緩存兩種緩存,圍繞這兩種緩存有3個線程。當外部請求提交的時候,請求處理線程將請求以結構化的方式存入內存隊列緩存。正常情況下,時序庫提交線程會及時提交內存隊列緩存中的請求,并清空內存已提交緩存隊列,不會有信息寫入文件緩存。但是當出現異常情況時(譬如時序庫故障),已用內存隊列緩存長度超過閾值后,內存轉儲線程將把內存隊列緩存的信息寫入文件緩存;當異常情況處理后,時序庫提交線程將優先提交文件緩存的采樣數據,然后提交內存隊列緩存的數據。

圖4 時序數據提交服務中的兩級緩存
如圖5 所示,在橫向上,時序庫以2個集群的形式出現;在縱向上,2個時序庫集群的對應單庫存放內容完全一致,互為備用。

圖5 時序庫集群的冗余備份
這種集群的冗余互備是動態的,譬如上面集群的時序庫1 故障,下面集群的時序庫2 故障,系統會將下面的時序庫1 和上面的時序庫2、時序庫3、……、時序庫n 組成一個新的可用時序庫集群(圖5的黑實線框),從而保證了時序庫集群最大程度的可用性。
時序庫提交服務同時向2個時序庫集群提交采樣數據,當集群中某個時序庫節點故障時,時序庫提交服務利用3.3 節所述數據請求兩級隊列緩存技術緩存歷史數據,待故障時序庫恢復后,再補充提交。
時序庫動態形成可用時序庫集群,應用感知不到時序庫集群的單點故障及交叉故障。
文獻[10]的反演功能只能手動設定反演時間,在最近畫面、最新模型基礎上結合時序采樣數據反演事故前后的狀態,不能結合事故當時的圖、模,不能聯動歷史告警,使用上有較多不便和諸多限制。
如圖6 所示,文中所述事件驅動歷史反演功能中,反演總控臺作為核心驅動部分,它從商用數據庫獲取各類歷史事件,用戶可以選擇任意一個事件(不局限于事故),反演總控臺自動根據事件所附帶的時間信息,根據用戶選擇獲取CASE 中保存的歷史模型、歷史圖形,并提取對應時間段時序歷史數據和歷史告警信息,在反演總控臺的指令下協調同步滾動顯示。

圖6 事件驅動多維歷史反演原理
事件驅動的多維歷史反演可以反演事件前后任意時長的整個事件經過,它優于傳統基于報文回放方式的事故反演。傳統事故反演事故前后的反演間隔是固定的,不能任意延長,且反演內容僅僅限于事故,而事件驅動多維歷史反演不限定事件啟動和終止時間,且可拓展到事故以外的其他事件。
依托時序庫的精確歷史數據保存,系統可以截取任意時刻的斷面數據用于分析計算,突破原有分鐘級CASE 斷面局限,并可聯動CASE 保存的歷史模型、歷史圖形(如圖7 所示)。

圖7 基于時序庫精準斷面的應用分析
文中所述系統已實現基于時序庫的任意時刻數據斷面提取,在提取數據斷面基礎上可進行狀態估計及后續的潮流分析、故障分析等應用功能。
正是因為有了這種靈活的數據斷面獲取能力,應用分析的數據來源真實可信。系統方便地獲取關鍵時刻及其前后的斷面數據,對各類分析及仿真應用的數據準備有很大的幫助。
基于時序數據庫的報表相對于基于商用數據庫的報表最大的好處在于統計數據的準確性,這種準確性是靠時序庫的高密度歷史數據采樣保證的,這就克服了關系數據庫中統計時間間隔過長的缺點。譬如,每年的極值潮流統計,統計所轄電網最大負荷和出現的時間,通過時序庫就可以得到精確的結果,而傳統的基于商用庫的歷史管理很難精確捕捉到這一類關鍵數據和關鍵時刻。
報表中的統計內容可以包括最大值、最小值、平均值、負荷率、最大值時間和最小值時間等。
早期的歷史數據處理技術無法滿足蘇州歷史數據規模、歷史數據提交效率和可靠性的要求,研發團隊針對這些問題研發了時序庫集群、數據提交兩級緩存、時序庫集群動態冗余互備技術,解決了系統投運初期的性能瓶頸和可靠性問題。
結合用戶專家提出的生產實際需求,研發團隊研發和部署了事件驅動多維歷史反演、基于精準斷面的應用分析、基于時序數據報表的功能。這些都成為日常運行、維護的有效分析工具。
時序庫廠家就庫在多個存儲的部署、參數調優等方面工作開展了工作,并取得明顯效果。
以時序庫為核心,商用數據庫、文件系統輔助支撐的歷史數據管理技術已在全國最大地調蘇州調度系統得到應用。該技術的使用很好地解決了蘇州調度系統歷史數據容量、效率、可靠性方面的問題,實現了歷史數據采樣密度從分鐘級到秒級的跨越。新的歷史數據管理機制還有力地促進了蘇州地區電網調度各類應用的深化和拓展。
大型地區電網調度控制系統歷史數據處理技術解決了集約化、扁平化運行管理體系下,省地協作、地縣一體化運行帶來的海量歷史數據管理問題,為各類應用深化拓展提供精準的歷史序列數據、歷史斷面數據,便于深入觀察和分析電網細分階段特性。該技術能有效促進地區電網調度自動化水平的提升,為地區智能電網建設提供了有力的技術支撐。
[1]余立軍.從企業價值鏈看電網企業“三集五大”集約化管理[J].能源經濟技術,2011,23(5):57-61.
[2]宋曉輝,盛萬興,史常凱,等.模式化電網規劃設計方法[J].電網技術,2011,35(7):123-128.
[3]趙家慶,季 侃,孫大雁,等.電網調度省地一體化試點工程關鍵技術方案[J].電力系統自動化,2012,36(23):120-125.
[4]王 彬,郭慶來,孫宏斌,等.雙向互動的省地協調電壓控制[J].電力系統自動化,2010,34(12):53-57.
[5]孫大雁,丁 杰,彭 林,等.面向多級調度管理的云搜索體系架構研究[J].江蘇電機工程,2013,32(6):5-7.
[6]蔣 宇,張 勇,胡鶴軒.500 kV 主網電壓集中控制模式下的調壓方法[J].江蘇電機工程,2012,31(3):17-19.
[7]彭 暉,任 遠,宋 鑫,等.基于雙核架構的分布式地縣配一體化技術支持系統設計[J].電力系統自動化,2013,37(12):100-103.
[8]繆建國,李云鵬,徐春雷,等.地縣一體化調度自動化系統在南通電網的應用[J].江蘇電機工程,2011,30(5):57-63.
[9]國家電力調度通信中心.智能電網調度技術支持系統建設框架[R].2009.
[10]劉振亞.智能電網知識讀本[M].北京:中國電力出版社,2010,128.
[11]姚建國,嚴 勝,楊勝春,等.中國特色智能調度的實踐與展望[J].電力系統自動化,2009,33(17):16-20.
[12]汪際峰,沈國榮.大電網調度智能化的若干關鍵技術問題[J].電力系統自動化,2012,36(1):10-16.
[13]黃軍高,王首頂,凌 強,等.時間序列數據庫在地區電網調控一體化系統中的應用[J].電力系統自動化,2011,35(23):107-111.
[14]陳 兵,李俊娥,聶劍平,等.電廠實時監控信息系統的設計與應用[J].電力系統自動化,2003,27(8):81-83.
[15]戴則梅,葛云鵬,張珂珩,等.電網廣域監測系統的數據庫集成方案[J].江蘇電機工程,2013,32(1):1-4.
[16]余 靜,麥紹輝,劉立東.電力系統EMS 數據備份方案[J].電力系統自動化,2009,33(17):101-104.
[17]淡海英.關于eDNA 實時數據庫架構的一點理解[J].陜西國防工業職業技術學院學報,2012,22(4):10-12.
[18]王 偉,楊 勇,應芳義.基于海迅數據庫的應用開發方法的研究[J].電力信息化,2013,11(2):11-14.