- 相關推薦
基于數據庫管理的D5000系統數據管理技術
基于數據庫管理的D5000系統數據管理技術
引言
以特高壓、三華聯網[1]為代表的智能電網飛速發展,國家電網公司集約化、扁平化管理[2]的快速推進,計算機、通信技術的長足進步[3—5],推動了智能電網調度控制系統(簡稱“D5000系統”)的研發和推廣。
D5000系統體系架構,橫向上將原來多套獨立系統集成為分布在Ⅰ/Ⅱ/Ⅲ區的四大類應用,縱向上貫穿各級調度[6]。原各個孤立系統的數據管理技術無法適應這種架構。各級調度間信息共享,需要信息安全保障,原孤立系統數據管理不具備這樣的功能。橫向集成、縱向貫通的體系架構要求全局信息的支撐能力提升;數據規模急劇增加,原有孤立系統的數據管理無法應對這種數據規模,也無法達到應用協同所需的效率。因而亟需開發適應D5000系統需求的數據管理技術。
D5000系統數據管理基于面向服務的總線,借助安全防護技術,包含實時數據庫(簡稱實時庫)、商用關系數據庫(簡稱商用庫)、時間序列內存庫(簡稱時序內存庫)、時間序列文件庫(簡稱時序文件庫)和集中管理文件幾類數據服務。
文獻[7]提出基于商用庫的數據中心,將各種數據轉換到數據中心,實現多套系統信息共享,該方式中間環節多,維護工作量大,定制性強,是早期缺乏統一平臺的數據共享方式。文獻[8—10]提出了通過資源集中、虛擬化、HBase等云技術的信息中心方案;文獻中將大機虛擬化成小機的方式和D5000系統將多臺服務器協作出一臺大機工作效能的研究方向思路不同;文獻 中提 到 的 基 于 “關 鍵 字—數 值”(Key—Value)的HBase,其性能無法滿足D5000系統實時處理、在線計算的要求,無法進行多條件檢索和聯合查詢;文獻中提到的Map/Reduce并行處理方式,須借助于文件交換,處理批處理任務,難以滿足以信息實時處理為主的D5000系統。文獻[11]將商 用 庫 封 裝 成 電 力 市 場 數 據 管 理 平 臺。文 獻[12—13]介紹了采用拼接方式構建的模型管理平臺;文獻[14—15]介紹了生產控制大區與管理信息大區內、外數據平臺間的數據采集、存儲、交換、共享、加工等方面的研究內容;文獻[16]對變電站數據中心進行了研究;但文獻[11—16]均不涉及底層數據管理研究,而是數據管理之上數據使用層面的研究。文獻[17]實現了參照公共信息模型(CIM)的對象實時庫原型,但工程化考慮不足,文獻提供的性能數據無法滿足電網調度控制系統要求。文獻[18]介紹了一種層次性實時庫,其實現方式采用了和本文所提實時庫不同的技術路線。文獻[19]介紹了一種可擴展標記語言(XML)數據庫,但性能不高,未見工程應用。文獻[17—19]中的實時庫均不支持橫向集成、縱向貫通架構。文獻[20]介紹了D5000系統實時庫的部分技術。文獻[21]是D5000系統實時庫技術基礎上的深化研究。文獻[22]研究了電廠監控系統使用時序庫的方法、時序庫在電網廣域測量系統(WAMS)中的使用[23]、時序庫的備份方式[24],但均未涉及時序內存庫、時序文件庫實現技術。
Google設計了基于GFS(Google file system)的分布式存儲系統BigTable[25],為用戶提供簡單的數據服務,客戶可以動態控制數據的分布和格式。
BigTable以行名、列名、時間戳建立索引,適用于特定的應用環境。
Amazon提供了基于Dynamo基礎存儲架構的簡單存儲服務 (simple storage service,S3)[26],它以“桶”為容器、通過“鍵”查找“對象”,提供簡單、易用、低成本的數據管理方式。這兩種數據管理方式較好地適應了非結構化數據的特點,都能管理PB級別的數據,具備良好的可擴展性,能夠很好地適用于電子商務、信息分析等數據量特別龐大,數據處理較為簡單,對響應速度要求不高的業務。
其 他 的 非 結 構 化 數 據 平 臺 諸 如Yahoo的PNUTS[27]、阿 里 云 的 開 放 數 據 處 理 服 務(ODPS)[28]等均具有類似特點。然而這些數據存儲管理方式均無法滿足調度控制系統對實時性的要求,數據查詢的靈活性和商用關系數據庫存在明顯差距,在存儲歷史數據時也無法達到時序文件庫的效率,難以直接應用于以結構化數據使用為主的調度控制系統中。
D5000系統的文件管理是基于服務總線的大粒度文件集中管理服務,實現方式較為簡潔,本文不詳細介紹。
1 數據庫管理的特點
數據庫管理中的幾種技術適合于不同的場景,各具特點,同時也相互協作配合,相輔相成。
1)實時庫實時庫提供高速的本地訪問接口、遠方服務訪問接口,具有數據定義、存儲、驗證、瀏覽、訪問和復制等功能,支持數據關系描述和檢索,對各種實時、在線類應用程序提供數據共享和交換手段。實時庫中的模型數據來自商用庫按照應用檢索的視圖。
2)商用庫商用庫具有結構化、完整性和可靠性的特點。在D5000系統中,商用庫主要用于保存對一致性、可靠性要求很高,而對數據讀寫效率要求稍低的場景。商用庫管理的數據可分為模型數據和歷史數據,模型數據包括數據字典、系統運行參數、電網設備參數、電網靜態拓撲連接信息等。歷史數據包括采樣、告警、計劃值、運行數據、考核數據等。
3)時序內存庫時序 內 存 庫 用 于 存 儲 諸 如 相 量 測 量 單 元(PMU)動態檢測這類高頻變化的時間序列數據,其性能要遠高于下文介紹的時序文件庫,常用作時序文件庫的高速緩存。該數據庫采用共享內存存儲數據,并和時序文件庫協作運行,循環保存一段時間內的數據,超出時間范圍的數據將被后續數據覆蓋。WAMS應用下的動態監視、一次調頻、擾動識別、低頻振蕩等功能均直接使用時序內存庫。
4)時序文件庫時序文件庫主要用于存儲較長時期的PMU動態監測數據等高頻變化數據,對于故障期間的數據還可永久保存。與穩態數據相比,動態數據具有異地同步采樣、帶高精度時標、高密度實時傳輸的特點,能精細反映電力系統動態行為過程,基于動態數據的電網運行動態監視與分析應用讓調度運行部門具備對電力系統低頻振蕩、短路故障、機組跳閘等電力故障行為進行有效監測和事后分析能力。海量數據的高速采集和分析占用較大的傳輸帶寬和存儲空間,時序文件庫需具備快速壓縮存儲和高效檢索能力。
2 D5000系統對數據庫管理的需求
D5000系統對數據庫管理整體的要求是滿足橫向集成、縱向貫通架構,使用安全、可靠,D5000系統對數據庫管理方式還各有如下要求。
1)D5000系統對實時庫的要求在橫向集成、縱向貫通體系架構下,D5000系統的數據規模遠大于孤立系統的數據規模。在線計算、分析、控制需要實時庫能夠快速讀寫,以適應不斷涌現、不斷完善的各類應用。要求支持多態、多應用、多模式,應用可選擇不同粒度的容器進行反演、仿真、分析計算。實時庫還可以和多源信息結合,進行信息的按需管理[29]。
2)D5000系統對商用庫的要求在D5000平臺對應用廣泛支撐、備用調度建設、省地協作、地縣一體化的背景下,商用庫管理的數據規模成倍增加,尤其是包括數據采樣在內的歷史數據管理將面臨極大壓力,商用數據庫及其上的服務需具備足夠的吞吐量應對這樣的數據壓力。所選商用庫還需遵循通用數據庫訪問接口標準(DCI)以屏蔽不同廠家數據庫產品的差異。
3)D5000系統對時序內存庫的要求作為時序文件庫的高速緩存,時序內存庫需具備高速批量數據讀寫能力,能按照時間范圍快速讀寫單點、多點數據。
4)D5000系統對時序文件庫的要求電網運行動態監視與分析功能對同步采集數據的時間分辨率有非常高的要求。以網級調度中心為例,主站系統按照200個廠站每秒采集50幀PMU數據的規模,測點數量超過50 000個,主子站間實時數據通信流量超過40Mbit/s,每小時的原始數據量超過36G字節,海量數據存儲和查詢對數據存儲系統帶來巨大壓力。采用高效數據壓縮算法存儲電網運行動態數據,在保留電網動態過程原貌的同時,減小數據對存儲空間的占用,是動態監視與分析應用建設的關鍵技術要求。
3 數據庫管理的體系架構
數據庫 管 理 體 系 架 構 可 分 為4個 層 次 (見圖1)。基礎 設 施 層 包 括 計 算 機 硬 件、安 全 操 作系統。【1】
在基礎設施之上的是總線層。數據庫管理的設計體 現 了 面 向 服 務 的 思 想,基 于 面 向 服 務 架 構(SOA)的總線是數據對外共享和應用集成的基礎,D5000系統的數據服務在橫向SOA支撐下,貫穿Ⅰ/Ⅱ/Ⅲ區。縱向SOA總線提供上下級系統間數據訪問能力。它是數據遠程訪問技術的基礎。安全防護提供總線、數據、應用的整體安全保障機制,具體實現見4。2節。
實時庫、商用庫、時序內存庫、時序文件庫在基于SOA的總線基礎上,被封裝成服務,通過標準數據庫訪問接口[30]對外提供數據庫服務,數據庫服務和標準數據庫訪問接口共同組成數據服務層。
4。3至4。6節介紹了D5000系統中各類數據庫的部分關鍵技術。數據訪問層的具體內容詳見第5節。
數據服務層之上是使用各類數據的各類應用。
4 數據庫管理關鍵技術
數據庫管理相關技術很多,限于篇幅,本文僅介紹部分關鍵技術。
4。1 數據遠程訪問技術為了實現上下級調度控制系統的縱向貫通,D5000系統實現了系統間數據遠程訪問的機制(見圖2)。圖2中有A和B兩個系統,系統A需要訪問系統B的數據。具體步驟如下。
步驟1:系統A需將系統B中能提供哪些類型的數據注冊到資源表中。
步驟2:系統A中的應用程序調用數據訪問接口。
步驟3:數據訪問接口會先通過遠程資源定位服務。
步驟4:查詢資源定位表。
步驟5:通過遠程資源定位服務返回的地址信息,通過SOA總線代理。
步驟6:找到系統B的資源代理。
步驟7:將請求帶到系統B的數據服務。
步驟8:系統B的數據服務取到數據后,逐級將結果返回給系統A的數據訪問接口,最后返回給調用程序。【2】
4。2數據訪問安全技術數據訪問安全含通信加密與安全標簽兩項技術。
通信加密通過數字證書、隧道配置,及數據預置的方式完成相互間的身份驗證及隧道協商。建立臨時隧道時,通過自定義的證書交換協議完成證書的交換,并完成雙向認證及密鑰協商,對數據通信進行加密保護。這種加密方式對上層通信完全透明,不涉及上層通信程序的改動。
D5000系統建立了安全訪問控制策略,對系統中的所有訪問者(用戶、程序等)和所有服務都分配一個安全標識,稱為標簽。然后通過電力調度證書認證(CA)系統,在標簽基礎上進行簽名,擴展出一種安全標簽。
D5000系統上下級數據調用中,使用了安全標簽,并按照標簽中的安全策略進行數據訪問控制。
4。3實時庫直接定位技術實時庫直接定位技術適宜于關鍵字包含邏輯記錄號的情況,這種技術用關鍵字的邏輯記錄號也是物理記錄號(見圖3),記錄按照關鍵字中包含的記錄號放置,根據關鍵字查找記錄直接定位,沒有中間環節;刪除記錄、插入記錄沒有記錄移動,不會產生內存拷貝。通過關鍵字索引,獲取全表記錄效率可接近緊湊表的效率。設備表和大量定義表均配置成直接定位方式,工程現場使用效率較高。【3】
4。4商用庫歷史數據管理技術以天為單位查詢歷史數據是最為常用的歷史數據訪問方式,譬如日曲線、日報表等,在這樣的使用場景下,歷史數據按行存儲比按列存儲具備更高的訪問效率。歷史采樣采用了行式存儲方式,在該方式下,列表示采樣時間,行表示測點(見圖4)。【4】
以1min遙測采樣為例,1min采樣表每天會產生三張表名帶日期的表:遙測值表、遙測狀態表和遙信值表。該表的第一個列為DATA_ID,是某個遙測量的關鍵字;DATA_0_0,DATA_0_1,…,DATA_23_59分別表示每天第0時0分,0時1分,…,23時59分的值,該表每一行記錄可以表示一個遙測量一天中每一分鐘的值,遙測量個數與該表記錄行數相同。遙測狀態表、遙信值表與遙測值表的結構相同,只是表中保存的分別是遙測值的狀態、遙信值。
歷史數據的行式管理具有如下優點:
1)查詢效率高。查詢某測點日曲線時,只需訪問1張表的1條記錄即可;查詢某一歷史時刻斷面,也只需訪問1張表的2列(含關鍵字列)。
2)便于管理。這種表結構設計對于采樣數據的存儲、歸檔、備份、恢復非常方便。
4。5時序內存庫批量快速訪問技術時序內存庫采用SOA,提供服務端和客戶端。
如圖5所示,服務端接收基于PMU的前置應用報文,將數據存儲在本地共享內存中,應用程序通過調用客戶端接口訪問服務端數據。在存儲方面,時序內存庫采用固定時間長度、數據值等間隔、下標直接定位的設計滿足動態信息數據高速、海量、帶時標特點的高效存儲、檢索要求;同時,時序內存庫還提供支持多線程的數據訪問及管理接口,充分利用CPU多路多核技術。這些方法有效地提升了時序內存庫的快速批量訪問效率。【5】
4。6時序文件庫壓縮存儲技術電網運行動態數據的在線無損壓縮有2個關鍵技術難題:
①壓縮算法須提供較高數據壓縮率支持海量數據存儲要求;②數據在線存儲和查詢要求壓縮算法在壓縮和解壓過程中都具有較短的響應時間。時序文件庫采用獨特的數據無損壓縮算法,根據電網動態數據連續變化的特性,結合數據類型與數據測量值的變化趨勢進行針對性優化,在獲得更大的數據壓縮比的同時保持較高的計算效率。
時序文件庫采用高速索引與內存映射技術對壓縮數據段進行文件讀寫,獲得了較高的數據訪問速度,能夠很好地滿足省級以上調度中心的動態數據存儲要求。
5 數據庫訪問接口與數據庫維護管理
數據庫訪問提供3類接口。
1)數據庫本地訪問接口:以實時庫本地接口為代表,通過本地訪問接口,可將實時庫映射到進程地址空間,訪問實時庫就如同訪問本地數據一樣高效,沒有其他方面的開銷。各類在線應用的處理、分析較多使用了數據庫本地訪問接口。
2)數據庫網絡訪問接口:在將數據庫封裝成服務的基礎上,提供網絡接口,供D5000系統內部節點訪問分布在系統內其他機器上的數據庫。這類接口存在網絡通信、序列化和反序列化的開銷,較數據庫本地訪問接口效率低,自動發電控制(AGC)等需要多機數據庫的應用和本地沒有數據庫的工作站使用到了這類接口。
3)數據庫遠程訪問接口:如4。1節所述,在數據庫封裝成服務基礎上,通過通信代理,使用安全防護手段,可實現系統間的數據庫遠程訪問。
在數據庫維護上,隨著各級調控機構協作加強[29,31—32],原有簡單數據庫維護方式無法保證模型共享基礎上的獨立維護和互不干擾,需采用分區域/分用戶的維護管理方式(見圖6)。【6】
該維護方式通過區域、廠站、節點/用戶、設備之間的多重關聯和級聯組合關系,結合廣域權限管理,保證數據庫協作維護管理的安全性和一致性。
6 數據庫容量和性能
在設計上,實時庫每張表的最大記錄個數可以達到1 600萬條。商用庫的歷史采樣點個數設計上沒有 限 制。時 序 內 存 庫 和 時 序 文 件 庫 均 可 支 持10萬點的采樣,并可根據需要進行擴展。
經過測試,實時數據庫直接定位的訪問速度不低于200萬次/s讀(寫)。商用庫能在1~2s之內完成20萬個采樣點的保存,單個采樣點一天歷史數據的查詢在16ms以內。時序文件庫讀寫速度不低于100萬條/s數據記錄,時序內存庫讀寫速度不低于300萬條/s數據記錄。
無論D5000系統在容量還是性能上,這幾種數據庫都能很好地滿足系統未來長期運行的需要。
7 結語
以數據庫管理為核心的D5000系統數據管理技術,橫向上支持應用在Ⅰ/Ⅱ/Ⅲ區集成、擴展,縱向上支持各級調度貫通、協作,支持各種數據訪問方式,滿足各級調度高效協同運行效率要求。數據管理技術已成功應用于各級D5000系統。數據管理技術作為D5000系統核心技術,有效保障了各級電網調度控制系統安全、穩定、高效運行,為智能電網建設提供了有力的技術支撐。
隨著以集群為方向的D5000系統深化研究的開展[33],為集群服務的分布式數據管理將成為未來重要的研究方向,研究內容包括以下幾個方面。
1)靈活分布的數據集群化存儲方法需要研究滿足電網業務需求、可靈活分布的數據集群化存儲方法,其難點在于如何實現數據按電網業務需求進行分片,將數據合理分布存儲在集群的多個節點中,為提高集群處理的效率提供數據存儲支撐。
2)數據遷移和冗余互備技術集群化系統中,節點數量眾多,硬件故障概率較大,需要研究分布式數據的冗余備份技術,實現所有分片數據的備份存儲,保證各冗余備份的數據一致性,在節點故障時仍可提供實時數據訪問,提高分布式數據的可靠性。
3)高效分布式數據訪問技術需要研究滿足應用性能需求的分布式數據訪問技術,滿足大規模電網數據計算的實時性要求,其難點在于如何提供高效的算法,實現高效的透明分布式數據訪問。
隨著D5000系統監控范圍的擴大,歷史數據的不斷豐富,已有業務的融合與新業務的產生,借鑒云計算[3]與大數據處理[4]的思想,參考其他數據平臺[25—28],進行歷史數據挖掘與分析也將是D5000系統數據管理技術極具潛力的研究方向。
參 考 文 獻
[1]艾琳,王超,陳為化。三華特高壓同步聯網及其對調度方式的影響[J]。能源技術經濟,2011,23(5):38—41。