999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

電網調控系統集群分布式實時數據庫關鍵技術

2023-02-09 05:43:22張少波姚陽春
電氣技術 2023年1期
關鍵詞:一致性數據庫系統

張少波 姚陽春 湛 鋒

電網調控系統集群分布式實時數據庫關鍵技術

張少波 姚陽春 湛 鋒

(上海思源弘瑞自動化有限公司,上海 200240)

隨著特高壓和新能源項目的建設,需要監控的數據點數急劇增多,對電網監控系統的數據庫容量和實時性要求日益提高。傳統只是作為關系庫緩存、查找完全依賴Hash算法的實時數據庫因存在數據庫下裝、查找速度均隨數據點數增多而變慢的問題而面臨較大挑戰。本文分析電網調控系統中實時數據庫的實時性和一致性這兩個核心問題,通過對象線性轉換定位、指針級緊耦合訪問等方案解決實時性的問題,通過增加數據版本、支持增量和全量同步等方案解決一致性的問題。在包含60多個計算機節點、200多萬監控數據點的地區級配電網主站項目的工程實踐中驗證了上述方案的可行性。

實時性;緊耦合;分布式;一致性;數據庫管理系統(DBMS)

0 引言

隨著特高壓交直流混合電網的大規模建設、新能源發電的大規模接入和低碳智能電網建設的加速推進,電力實時數據采集的范圍和規模不斷擴大,監控系統采集的數據量不斷增加,數據規模已突破百萬級并向千萬級別發展,這對調控系統的數據庫管理系統(database management system, DBMS)的數據存儲容量和處理效率提出了更高的要求。

目前,行業內廠家通常采用“基于關系數據庫的實時數據庫技術路線”[1],即在關系庫的基礎上采用一些加速處理方法(如基于cache的內存共享或基于Hash表的內存共享),以滿足系統對數據處理和存儲的實時性要求,其本質上是以關系數據庫為核心的集中式DBMS,這制約了大型電網調控系統的開發升級,因此設計獨立、完善的分布式實時數據庫管理系統非常必要。

近年來,互聯網、大數據的蓬勃發展催生了一批支持集群甚至不同數據中心的分布式并行數據庫。以BigTable、Cassandra、MongoDB為代表的NoSQL數據庫[2],通過弱化數據一致性要求,以獲得更強的系統擴展能力和系統可用性;以VbltDB、Spanner、MemSQL為代表的NoSQL數據庫,通過貼近應用的設計來獲得更好的性能和擴展能力。雖然這些分布式DBMS因無法滿足電網調控系統對實時性的要求而不能直接使用,但為調控系統集群分布式DBMS的實現提供了有益的參考[3-4]。

鑒于此,本文圍繞分布式數據庫訪問的實時性和數據一致性問題,設計一套面向電網監控系統的集群分布式實時數據庫,在某地區配電網自動化主站系統的工程實踐中對本文所提方案的有效性進行驗證。

1 監控系統的應用特點

電力監控自動化系統是最典型的工業監控系統,實時數據庫管理系統是其核心支撐平臺,實時數據庫管理系統的實時性、可靠性、擴展性、開放性和穩定性,直接決定了整個系統的性能。

1)系統實時性

電力實時監視系統要求應用軟件具有很高的數據處理速度和控制響應速度,特別是當電力系統發生突發異常事件時,短時間內要接收、記錄、處理、報告大量事件。而分析類應用(狀態估計、在線潮流等)的矩陣和迭代計算量大,對于300個計算節點的中等規模電網,如果數據庫訪問速度能達到500萬次/s,完成狀態估計全過程的時間接近1s,如果訪問速度只有10萬次/s,則時間將超過5s,此時該軟件已喪失實時性和可用性[5-8]。由此可見,數據庫訪問的實時性對監控系統特別重要,它直接決定了整個系統是否可用。

2)系統可靠性

電力監控自動化系統是電網運行的控制中樞,對其可靠性要求極高,基于分布式的一主多備架構,為提升系統可靠性提供新的解決方案。

3)系統擴展性

分布式存儲技術將海量數據分散存儲在多臺服務器,并對其進行統一管理,既能充分挖掘多服務器的處理能力,又能實現處理能力的水平擴展。

4)數據庫一致性

DBMS需根據各類數據的特征,實現這些數據在系統維護、運行階段增刪和更新操作的自動同步,確保數據一致性,以簡化上層應用程序的設計開發,是實現調控系統分布式集群部署的基礎[9]。

因此,調控系統的分布式實時數據庫管理系統的設計,應以實時性為基礎,以擴展性和數據一致性為目標,基于簡單、實用、穩定的原則,盡可能地提升系統的可用性。

2 實時性關鍵技術

調控系統實時數據庫中存儲以電網模型為骨架的當前運行斷面數據,其數據實時刷新,應用程序需實現對全斷面數據的秒級掃描訪問,才能滿足電網監控的實時性要求。下面針對實時性的關鍵技術進行詳細介紹。

2.1 對象快速定位

本數據庫設計一種高效的數據訪問機制:表中每一個對象都有一個惟一的ID(稱為OID)。數據庫由對象索引區和對象數據區組成,用戶需要的表對象都存放在對象數據區。數據庫中每個對象都對應一個索引項,索引項中記錄對應對象的物理位置,即對象在數組中的下標。對象OID由所屬表的ID、對應的索引項在索引數組中的下標、對象所占內存單元/數組元素的使用次數三部分組成。通過對象OID中的索引下標可以直接定位該對象對應索引項的下標,再通過索引項中記錄的對象下標即可直接定位對象物理存儲位置。通過數組元素的使用次數累加,實現索引下標的復用,確保對象OID的惟一。整個算法是一種線性轉換的算法,數據查找的時間復雜度為O(1)。OID定位如圖1所示。

圖1 OID定位

此外,為了提高數據增刪的性能,通過類似鏈表的方式對空閑索引項進行管理。索引項增刪管理的基本原理如圖2所示。

圖2 索引項增刪管理

由上述內容可知,根據OID可直接計算出對象在實時庫內存中的存儲地址,實現了類似對象指針的功能。基于OID機制可實現對象間復雜關聯關系的簡潔高效表達,支持面向對象的數據庫模型。該機制具有如下優點:

1)自動維護。對象OID由實時數據庫管理系統(real-time database management system, RTDBMS)自動維護,在插入時自動生成,在刪除時自動釋放。

2)惟一性。對象插入時使用計數自動加一,確保對象空間復用時OID的惟一性。

3)穩定性。對象OID不會隨著表中其他對象的增刪而發生變化,因此OID雖然是數據庫內部屬性,但是應用程序也可記錄OID并借助OID實現快速訪問。

4)高效性。通過對象OID可借助相關算法直接換算出對象的物理存儲地址,確保數據訪問的實時、高效和O(1)的時間復雜度。

5)簡潔性。通過存儲關聯對象的OID,即可表達對象間1:1單向引用、1:1雙向引用、1:合成聚集、1:共享聚集等關聯關系,實現面向對象的數據存儲和訪問。

2.2 層次結構的父子關系

在本實時數據庫中,平級的關聯關系用OID的方式來表示,可以通過OID線性方式定位到被關聯對象的地址,實現快速定位。對于層次關系,如廠站包含間隔,間隔包含設備,為了提高父子關系查詢的性能,采取類似于數據結構中的樹、鏈表的思路,用等價于指針的OID來記錄父子、兄弟之間的關系。相比而言,其他數據庫都是通過“查找”的方式來獲取子記錄,而本文中的實時數據庫是通過“直接獲取”的方式來獲取,從而極大地提高了訪問效率。本數據庫通過支持合成聚集、共享聚集、引用關系,實現了對IEC 61970公共信息模型(common information model, CIM)標準的完整支持。

2.3 緊耦合訪問

數據庫文件映射到共享內存后,進程可以以私有內存方式來訪問實時數據庫。按照常規的數據庫訪問思維,進程可以定義一個緩存來接收從數據庫/共享內存中獲得的數據,存在緩存的申請和釋放,以及共享內存到緩存之間數據的拷貝。

考慮到數據庫以共享內存的方式可以由進程直接訪問,所以完全可以直接訪問內存地址,前提是有一個描述內存結構的C++頭文件。用戶通過RTDBMS數據庫設計工具構建實時數據庫模式時,工具會自動生成對應的各個表的C++頭文件,應用程序通過數據庫提供的訪問接口獲取指定對象的內存地址后,就可以用頭文件中表的類定義實現字段的高速訪問,這種訪問方式稱為緊耦合訪問。

2.4 快速索引

對于實時數據庫記錄的訪問,通常有兩種記錄定位的方式:一種是基于ID的定位;另一種是基于名稱的定位。除了基于OID實現的對象ID到對象地址的換算,還提供了基于Hash算法的附加索引機制,實現對象名稱到對象地址的快速定位。

3 一致性關鍵技術

CAP理論作為分布式系統的理論基礎,闡述了分布式系統的一致性(consistency)、可用性(availability)、分區容錯性(partition tolerance),最多只能同時實現兩點,不可能三者兼顧。一般來說,分區容錯是無法避免的,當一致性和可用性無法兼顧時,只能選擇AP,或選擇CP。在一致性和可用性的取舍上,只能根據應用場景選擇合適的方案[10-12]。

傳統關系數據庫如Oracle和MySQL支持準備階段和提交階段的兩階段提交協議。準備階段中事務管理器給每個參與者發送準備的消息,每個數據庫參與者在本地執行事務,并寫入Undo、Redo日志,此時事務沒有提交。在提交階段,如果事務管理器接收到參與者的失敗信息或者超時,則直接給每個參與者發送回滾消息,否則發送提交消息;參與者根據事務管理器的指令執行提交或者回滾,并釋放事務過程中使用的鎖資源。由此可見,在一次數據寫的過程中參與者需要阻塞、存在多次交互而響應時間過長,可能沒有響應而需要發起方等待超時、發起方在過程中崩潰等問題。雖然為了解決二階段協議中的同步阻塞等問題,還有三階段提交協議,但還是難以避免此過程中的網絡分區問題。在其他對強一致性要求不是特別高的場景,比較普遍的做法是選擇可用性,退而求其次使用最終一致性來保證數據安全。

在國內廠家實現實時數據庫的技術方面,一般會采用一些不僅為了保持數據庫一致性的數據維護機制,如電網模型、參數等靜態數據有額外一份基于關系數據庫或者文件型數據庫的數據源(這里統一稱為維護數據庫),即使運行的實時數據庫數據出現損壞、不一致的情況,亦可以通過重新下裝/發布來實現各個節點實時數據庫的同步。

在數據庫的維護方面,采取先對維護數據庫進行寫操作,成功后再寫運行的實時數據庫;或者只在維護數據庫上進行增刪操作,運行的數據庫上只進行更新操作。同時還會進行數據庫的定期備份。這些手段都降低了數據不一致的風險。

下面介紹從平臺角度為了盡可能降低數據不一致采取的策略,主要包括數據版本實時比較、全同步和增量同步相結合、數據庫寫日志在非同步節點上的redo操作、在節點數少的情況下用傳輸控制協議(transmission control protocol, TCP)代替用戶數據報協議(user datagram protocol, UDP)實現數據庫同步報文的發送等。

在分布式實時數據庫的環境中,系統中存在一個作為基準的庫和多個被同步的庫,基準庫稱為主本(庫),其他庫稱為副本(庫)。本實時數據庫基于嚴格的數據版本比較,這里的版本主要包括全局的表示表結構信息的模式版本,以及各個表的數據版本。表的數據版本包含增刪版本、當前對象數、首空閑索引下標、更新版本。該版本信息表征了各表的對象存儲狀況,反映了主、副本同步過程中操作日志丟失的情況,為后續同步過程主本庫的處理提供了依據。

實時數據庫的主本和副本之間不一致后進行的同步處理稱為一致性處理,分為數據庫文件級和日志級的同步處理,即數據庫的全同步和增量同步。從一致性處理的時間階段來劃分,又可以分為啟動階段和運行階段的一致性處理。在啟動階段,如果副本和主本之間的版本不一致,則進行數據庫文件級的同步處理。在運行階段,應用程序調用實時數據庫的寫接口進行數據庫的增刪改操作,該寫操作報文發給數據庫主本來執行,并滾動緩存當前帶數據版本的寫操作,報文(稱為同步報文)緩存的多條同步報文稱為操作日志,緩存數量可根據時間和數量動態調整。主本執行寫操作后,接口就立即返回給應用程序成功與否,然后主本以異步方式向各個副本發送同步報文。副本收到同步報文后,發現數據版本和本機一致就執行寫操作,若不一致或者副本執行失敗,則主動向主本請求執行一致性處理。主本收到一致性處理請求后,如果請求的日志在緩存的日志范圍內,則重發操作日志,否則執行數據庫文件級的同步處理。

可見,采用這種方式,應用程序對實時數據庫的訪問不受一致性處理過程的干擾,也不受副本節點數量的影響,確保了應用程序調用實時數據庫接口的實時性。數據庫日志級和文件級一致性處理流程如圖3和圖4所示。

圖3 日志級一致性處理流程

4 實現和驗證

基于上述設計思想,開發一套應用于電力實時監控系統的分布式實時數據庫管理系統,包括多層次訪問接口和完善的配套工具。數據庫提供本地緊耦合訪問接口、網絡層訪問接口和應用層訪問接口。系統提供了高性能的數據庫服務,通過多線程并發管理和元數據自動加載,極大提高了數據庫的讀寫性能。同時,為了實現完整的數據庫系統生態,系統提供了配套的數據庫定義工具、數據庫編輯工具、數據庫檢索工具。

圖4 文件級一致性處理流程

在實時數據庫的性能方面,進行不同數據點數情況下的實時庫讀寫性能測試。測試環境為Intel(R) Core(TM) i5—10210U CPU@1.60GHz的CPU,16G內存,1T固態硬盤(solid state disk, SSD),Windows10操作系統的便攜式計算機。單機實時庫讀寫性能的測試結果見表1。

表1 單機實時庫讀寫性能測試結果

從測試結果可知,實時庫的讀寫性能優異,而且讀寫耗時基本不隨數據點數的增加而變化。

在實際系統中,實時庫均采用集群方式部署在多個節點,因此實時庫主、副本間的同步性能也是關注的重點。下面測試在不同節點規模場景下,實時庫更新操作時系統總體數據吞吐量的情況,測試機器性能同上。多機橫向擴展實時庫更新性能測試結果見表2。

由此可見,將數據橫向擴展方式部署在多個節點上,因為每個節點上的實時庫是獨立更新的,理論性能應該接近線性擴展,實際測試的結果也基本和預想吻合,這說明實時庫的橫向擴展具有很好的線性度,在解決數據庫容量急劇擴大的需求時具備良好的應用前景。

表2 多機橫向擴展實時庫更新性能測試結果

基于該實時數據庫開發了某地區級配電網自動化主站系統,對市區及13個縣的配電網進行調控。系統由60多個節點組成,監控數據點數達200萬,投運兩年多以來,系統運行穩定可靠,性能優異,驗證了上述方案的可行性。

5 結論

實時數據庫是電網監控系統軟件平臺中的核心、基礎組件,平臺和應用的數據都存放在實時數據庫中。電網監控系統的性能要求和分布式特點決定了實時數據庫的實時性和一致性是其最重要的特征。在這兩個問題上,本文充分考慮了相關的解決方案,同時采用緊耦合訪問、原生的層次結構都極大提高了系統的性能,以及開發、維護、展示的方便性。

實時庫的現有功能已經很好地滿足了電力實時監控的需求,在此基礎上,下一步將在以下方面展開工作:

1)實時庫的橫向和縱向裁剪。考慮橫向從表、縱向從字段角度進行數據庫的裁剪,并支持這些裁剪后的庫的共享內存加載和與完整庫方式一樣的程序訪問。

2)考慮到電網三、四區的Web也需要訪問實時庫中的數據,因此提供了多種其他編程語言的接口,實現遠程過程調用(remote procedure call, RPC)方式的實時庫直接訪問。圖數據庫的數據模型與電力系統網絡結構具有自然的相似性,可對電力系統拓撲結構等進行直觀表達,且更易擴展,也是后續發展的方向。

按照本文方案實現的實時數據庫滿足了電網監控的需求,隨著數據庫容量的擴大、browser/server和client/server開發的相互融合,實時數據庫具有較好的擴展性和廣泛適應性,應用前景良好。

[1] 劉士亞, 郭靜, 岑釗華. 城市電網監控應急系統的設計[J]. 電氣技術, 2021, 22(2): 11-16.

[2] 李靜, 馬超, 黃鏡宇, 等. 跨平臺信息系統數據遷移技術研究與實現[J]. 電氣技術, 2019, 20(10): 70-74.

[3] 劉廣一, 戴仁昶, 路軼, 等. 基于圖計算的能量管理系統實時網絡分析應用研發[J]. 電工技術學報, 2020, 35(11): 2339-2348.

[4] 孔令國, 蔡國偉, 李龍飛, 等. 風光氫綜合能源系統在線能量調控策略與實驗平臺搭建[J]. 電工技術學報, 2018, 33(14): 3371-3384.

[5] 辛耀中, 石俊杰, 周京陽, 等. 智能電網調度控制系統現狀與技術展望[J]. 電力系統自動化, 2015, 39(1): 2-8.

[6] 陸杏全. 能量管理系統的實時數據庫技術[J]. 電力系統自動化, 2003, 27(6): 1-4.

[7] 姚建國, 楊勝春, 單茂華. 面向未來互聯電網的調度技術支持系統架構思考[J]. 電力系統自動化, 2013, 37(21): 52-59.

[8] 吳慶曦, 彭暉, 王瑾, 等. 電網調控集群分布式實時數據庫的設計與關鍵技術[J]. 電力系統自動化, 2017, 41(22): 89-95.

[9] 王寧, 葉鋒, 許文慶, 等. 支持CIM的實時對象數據庫管理系統[J]. 電力系統自動化, 2006, 30(16): 93-96, 101.

[10] 朱濤, 郭進偉, 周歡, 等. 分布式數據庫中一致性與可用性的關系[J]. 軟件學報, 2018, 29(1): 131-149.

[11] 王嘉豪, 蔡鵬, 錢衛寧, 等. 集群數據庫系統的日志復制和故障恢復[J]. 軟件學報, 2017, 28(3): 476-489.

[12] 趙春揚, 肖冰, 郭進偉, 等. 一致性協議在分布式數據庫系統中的應用[J]. 華東師范大學學報(自然科學版), 2018(5): 91-106.

Key technologies of cluster based distributed real-time database for power dispatching and control system

ZHANG Shaobo YAO Yangchun ZHAN Feng

(Shanghai SHR Automation Co., Ltd, Shanghai 200240)

With the construction of ultra-high voltage and new energy projects, the number of data points that need to be monitored has increased dramatically, and the database capacity and real-time requirements of the power grid monitoring system are increasing. The problem that the real-time database, which is only used as the relational database cache and relies entirely on the Hash algorithm, is installed under the database and the search speed slows down with the increase of data points, is faced with greater challenges. This paper analyzes the real-time and consistency of the real-time database in the power grid regulation and control system. The real-time problem is solved by means of object linear transformation and positioning, pointer level tight coupling access and other solutions, and the consistency problem is solved by adding data versions, supporting incremental and full synchronization. The feasibility of the above scheme have been verified in the engineering practice of the regional distribution network master station project, which includes more than 60 computer nodes and more than 2 million monitoring data points.

real-time; tightly-coupled; distributed; consistency; database management system (DBMS)

2022-11-03

2022-12-02

張少波(1975—),男,湖北天門人,碩士,高級工程師,主要從事電力系統人工智能、計算機應用方面的研究工作。

猜你喜歡
一致性數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
注重教、學、評一致性 提高一輪復習效率
IOl-master 700和Pentacam測量Kappa角一致性分析
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国产SUV精品一区二区6| 亚洲福利网址| 色婷婷在线影院| 一级做a爰片久久免费| 日韩小视频网站hq| 一级在线毛片| 免费激情网站| 国产综合另类小说色区色噜噜| 精品成人一区二区三区电影| 在线中文字幕网| 四虎永久免费地址在线网站| 国产网友愉拍精品视频| 亚洲国模精品一区| 中国一级特黄视频| 在线观看精品自拍视频| 久久精品人妻中文系列| 国产欧美性爱网| 日本爱爱精品一区二区| 国产黑丝视频在线观看| av尤物免费在线观看| 亚洲国产日韩在线观看| 午夜激情婷婷| 国产一区二区影院| 免费可以看的无遮挡av无码 | 日本不卡在线视频| 欧美成人午夜在线全部免费| 国产内射一区亚洲| 成年网址网站在线观看| 国产va免费精品观看| 亚洲无线视频| 国产在线小视频| 国产在线无码一区二区三区| 成人中文字幕在线| 影音先锋丝袜制服| 综合色天天| 欧美性天天| 理论片一区| 一区二区在线视频免费观看| 亚洲精品国产综合99久久夜夜嗨| 97久久免费视频| 亚洲欧美另类久久久精品播放的| 日本在线欧美在线| 国产精品va免费视频| 欧洲av毛片| 免费又爽又刺激高潮网址 | 中国一级特黄视频| 成人一级免费视频| 成人另类稀缺在线观看| 日韩亚洲综合在线| 国产不卡网| 日本影院一区| 欧洲极品无码一区二区三区| 国产午夜无码片在线观看网站| 久一在线视频| 精品国产一区91在线| 青草视频网站在线观看| 伊人久久大香线蕉影院| 日本在线国产| 亚洲一区二区三区国产精华液| 第一区免费在线观看| 久久99国产综合精品1| 久久毛片网| 97精品国产高清久久久久蜜芽| 亚洲国产中文综合专区在| 久久一本精品久久久ー99| 久久综合国产乱子免费| 无码免费的亚洲视频| 精品人妻一区二区三区蜜桃AⅤ| 色婷婷国产精品视频| 婷婷色在线视频| 精品少妇人妻av无码久久| 精品视频一区二区三区在线播| 亚洲成人黄色网址| 久久精品国产亚洲麻豆| 色妞www精品视频一级下载| 99国产精品国产| 日本欧美精品| 国产91成人| 国产剧情一区二区| 黄色不卡视频| 亚洲男人天堂网址| 亚洲精品成人7777在线观看|