基於資料庫管理的D5000系統資料管理技術

來源:果殼範文吧 2.45W

引言

基於資料庫管理的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。

熱門標籤