?

服務配置中心在新一代調控系統中的研究與應用

2024-01-17 15:37王哲民張平萬書鵬易強
科技風 2024年2期
關鍵詞:電力自動化

王哲民 張平 萬書鵬 易強

摘?要:隨著當今網絡技術的飛速發展和電力自動化業務場景的日益復雜化,智能電網對調度系統提出了更高的要求。服務配置中心作為服務化主要技術之一,負責提供統一的服務配置管理,不僅支持界面統一管理服務配置信息,而且支持客戶端實時獲取最新配置。服務配置中心同時配置推送功能,實現配置變更實時生效。通過實驗說明,服務配置中心能夠滿足新一代調控系統的服務參數配置需要,保障服務配置的可靠獲取。

關鍵詞:服務配置中心;電力自動化;配置推送;實時生效

文獻標識碼:A

隨著當今網絡技術的飛速發展和電力自動化調度業務場景的日益復雜化,智能電網對調度系統提出了更高的要求[13]。面向服務的架構(SOA,Service?Oriented?Architecture)已在電網調度自動化系統中廣泛應用,通過將功能封裝成服務,實現業務功能的需求。在新一代電網調控技術支持系統中[4],各服務都有自己的配置參數需要維護,這些配置參數是服務的重要組成部分,因此提供服務配置中心來統一管理各服務配置參數顯得很重要。

當前各服務通過配置文件維護自己的配置參數,配置參數變更時,需要手動修改配置文件,并重啟服務。每個服務可能同時部署在多個機器上,因此修改某個配置參數需要手動修改多個機器上的配置文件,這樣操作煩瑣,并可能造成各機器上的配置文件不同步。因此需要提供一種服務配置方法,以更好地適用于新一代電網技術支持系統的服務配置查詢與管理。

1?服務配置中心架構

服務配置中心用于統一管理各服務配置參數,提供圖形界面和命令行界面統一管理和查詢配置,各服務通過查詢配置接口獲取該服務的配置信息,配置變更時服務能實時感知到配置變化,實現配置變更信息實時生效。

服務配置中心由服務配置管理界面、服務配置管理進程、服務配置展示進程、服務配置變更進程、數據庫、高速緩存等構成。服務配置管理界面用于維護服務配置信息,包括命令行界面和圖形界面兩種。服務配置展示進程部署用于為圖形界面提供后臺接口,服務配置管理進程部署用于處理服務配置信息,包括配置新增、修改、刪除等操作,服務配置變更進程部署在各機器上,用于將服務配置信息寫入各機器共享內存。數據庫用于存儲服務配置全量信息,高速緩存用于存儲服務配置變更信息,服務配置查詢客戶端從各機器共享內存中實時查詢服務配置信息。各服務通過服務配置查詢客戶端查詢需要的配置信息。

服務配置中心提供統一的服務配置管理頁面。在配置管理界面上,用戶可以查詢和管理服務信息和服務配置信息。服務信息包括服務ID、服務名、版本號、場景、場景實例、子場景、子場景實例和廠商等。服務配置信息包括服務ID、配置項和配置值等。

服務配置中心以接口函數[5]的形式為應用提供配置信息查詢、配置變更訂閱等信息交互機制。配置信息查詢接口包括根據服務ID查詢服務配置信息列表、根據服務ID和配置項查詢配置值、根據配置項和配置值查詢服務信息列表等。配置信息變更接口為根據服務ID和配置項列表訂閱服務配置變更信息,其中服務配置變更包括:服務ID和訂閱配置列表,訂閱配置列表中的每一個項包括配置項、配置值、標識,其中標識包括配置值無變化、配置值有變化、配置值不存在三種。

2?服務配置中心技術實現

服務配置中心主要技術模塊包括配置存儲、配置管理、配置變更、配置查詢、網絡通信、界面展示等。下面就幾個主要的模塊進行介紹。

2.1?配置存儲

服務配置信息統一保存在實時數據庫中。實時數據庫是面向電網實時監控、電網分析等應用的專用數據庫,其特點是實時性強、吞吐量大和可靠性高;現有的實時數據庫架構多為集中式存儲架構并采用雙機部署的方式,各數據節點都存儲全部的數據,通過雙機主備的方式保證數據的可靠性;數據訪問一般由主機進行處理,備機只在主機故障時對外提供訪問[67]。

2.2?配置管理

服務配置管理進程接收界面發來的請求,并根據請求信息對實時數據庫進行相應的處理。

如果請求新增服務,則先從數據庫表中查詢服務ID是否已存在,若存在則返回失敗,否則向數據庫表插入一條服務信息。如果請求修改服務,則先從數據庫表中查詢服務ID是否已存在,若存在則修改數據庫表中的服務信息,否則返回失敗。如果請求刪除服務,則先從數據庫表中查詢服務ID是否已存在,若存在則刪除數據庫表中的服務信息,否則返回失敗。如果請求新增服務配置,則先從數據庫表中查詢服務ID和配置項是否已存在,若存在則返回失敗,否則向數據庫表插入一條服務配置信息。如果請求修改服務配置,則先從數據庫表中查詢服務ID和配置項是否已存在,若存在則修改數據庫表中的服務配置信息,否則返回失敗。如果請求刪除服務配置,則先從數據庫表中查詢服務ID和配置項是否已存在,若存在則刪除數據庫表中的服務配置信息,否則返回失敗。

2.3?配置變更

為了實現配置變更實時生效,服務配置中心使用高速緩存對配置變更信息存儲。在新一代系統中的高速緩存[8]為對標Redis的自研軟件,已在新一代調控系統中廣泛使用。

對于服務信息和服務配置的新增、修改、刪除請求,服務配置管理進程除了操作數據庫外,還向高速緩存中寫入配置信息變更記錄。服務配置變更進程啟動時,從數據庫表中讀取全量的服務信息和服務配置信息,并將信息寫入機器共享內存。服務配置變更進程實時讀取高速緩存,判斷服務信息和服務配置信息是否有變更,有變更則將讀取數據庫表,將最新的服務配置信息寫入共享內存。

2.4?配置查詢

共享內存[9]能夠保證訪問效率,并且支持并發操作,廣泛應用于計算機和電力系統自動化領域。為了提高配置查詢的性能,配置管理頁面和客戶端接口中的配置信息統一從各機器共享內存中獲取。共享內存中的信息則由各機器的服務配置變更進程實時寫入。

服務配置查詢接口從共享內存中查詢服務信息和服務配置信息,對外提供多種接口形式,包括:查詢服務信息列表、根據服務ID查詢服務信息、根據服務ID查詢服務配置列表、根據服務ID和配置項查詢配置值、根據配置項和配置值查詢服務信息列表等。

2.5?配置訂閱

為了使服務程序實時獲取配置信息變更,我們提供了配置訂閱接口。服務配置變更訂閱接口通過實時查詢共享內存中的服務配置信息來判斷服務配置是否變更,需填寫服務ID和配置項列表,并提供回調函數。對于使用了訂閱接口的服務,該服務訂閱的配置信息如有變更,則會調用服務指定的回調函數。

圖1所示為服務ID為test_mng_srv_1的服務,使用了配置訂閱接口,訂閱了兩個配置項,分別為test_key和key。當前配置項key的配置值發生了變更,而配置項test_key不存在,服務接收到配置訂閱信息。其中flag為“1”時表示配置項有變化,為“2”時表示配置項不存在,為“0”時表示配置項無變化。

2.6?網絡通信

服務配置中心使用服務總線[1011]進行網絡通信。服務總線是整合應用和服務的一個靈活的基礎架構,構建面向服務(SOA)的系統結構,屏蔽服務實現、訪問的細節信息,實現服務定位和交互,滿足系統對可擴展性、伸縮性的要求,消除不同應用之間的技術差異,讓不同的服務協調運作,實現不同服務之間的通信和整合。

圖2所示為服務總線交互流程示意圖??蛻舳撕头斩送ㄟ^服務總線進行信息交互,其流程包括:服務端發布服務信息,客戶端發送服務信息,服務端接收服務請求,服務端回送服務結果,客戶端接收服務結果。

在服務配置中心中,命令行界面與服務配置管理進程、圖形界面與服務配置展示進程、服務配置展示進程與服務配置管理進程之間均使用服務總線進行通信。

2.7?界面展示

界面展示模塊提供了統一的服務配置管理界面。主要包括命令行界面和圖形界面兩種。

命令行界面操作簡潔,方便使用,用戶按照命令行提示信息,輸入相應的內容即可,是基于新一代調控系統的圖形瀏覽器、圖形編輯器進行實現的。

在新一代調控系統中,基于Qt5實現了一種輕量化的人機交互體系架構,通過設計并實現人機服務,將原有在前端實現的畫面顯示處理移植到后臺人機服務,后者將處理過的畫面顯示數據發送給前端,前端的人機界面收到數據后,無需進行其他邏輯處理直接進行顯示,對客戶端資源要求低,前端邏輯簡單,并便于在移動終端上部署;同時由于客戶端通常只與人機服務交互,流程簡單,對本地系統環境依賴程度較低[1213]。

界面左側表格中展示服務信息列表,選中其中的某一項服務,右側會展示對應的服務配置信息列表。在服務信息列表和服務配置信息列表的上方,可以點擊新增、刪除、修改、刷新按鈕,對服務信息或服務配置信息進行相應的操作。

3?實驗驗證

測試環境為2臺48核Intel(R)Xeon(R)CPU小型機,頻率為2.00GHz,內存為64GB。機器上部署服務配置中心后臺服務、動態庫與圖形界面。

3.1?服務配置功能測試

通過服務配置中心界面測試服務配置功能,包括新增、修改、刪除、查詢功能。在圖形界面或命令行界面新增、修改、刪除配置后,界面能夠正確顯示服務配置信息。

3.2?服務配置查詢性能測試

通過測試程序測試服務配置查詢接口的性能。通過服務配置查詢接口查詢不同量級的配置信息,測試結果如下表所示:

3.3?服務配置可靠性測試

通過在服務配置中心新增、修改或刪除配置,同時客戶端測試程序查詢該配置信息,判斷配置值是否正確。

測試表明,在界面新增、修改或刪除配置后,客戶端測試程序能夠實時查詢最新的服務配置信息,實現配置變更熱生效,客戶端感知配置變更的時間不超過1秒。

結語

服務配置中心用于統一管理各服務配置參數,提供圖形界面和命令行界面統一管理和查詢配置,各服務通過查詢配置接口獲取該服務的配置信息,配置變更時服務能實時感知到配置變化,實現配置變更信息實時生效。

隨著網絡技術的發展,尤其是微服務架構的普及和Service?Mesh概念的興起,我們可以在學習和了解其原理的基礎上分析其好處和優勢,借鑒其設計精華,不斷升華我們的服務配置中心產品[1415]。

參考文獻:

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

[2]許洪強,姚建國,南貴林,等.未來電網調度控制系統應用功能的新特征[J].電力系統自動化,2018,42(1):17.

[3]張濤,燕靜,徐照淼,等.云計算環境下SaaS服務可伸縮性評估方法研究[J].西北工業大學學報,2014,32(6):9981000.

[4]國家電網有限公司.新一代調度控制系統總體設計[R].2018.

[5]電力系統簡單服務接口規范:GB/T336042017[S].北京:中國標準出版社,2017.

[6]彭暉,陶洪鑄,嚴亞勤,等.智能電網調度控制系統數據庫管理技術[J].電力系統與自動化,2015,39(1):1925.

[7]翟明玉,王瑾,吳慶曦,等.電網調度廣域分布式實時數據庫系統體系架構和關鍵技術[J].電力系統與自動化,2013,37(2):6770.

[8]張鴻,徐攀,莊衛金,等.電網調度控制系統分布式高速數據緩存集群關鍵技術[J].電力信息與通信技術,2021,19(11):918.

[9]王瑾,彭暉,侯勇,等.基于共享內存的能量管理系統實時庫非主鍵HASH索引[J].電力系統自動化,2011,35(11):7276.

[10]翟明玉,雷寶龍,等.電網調度自動化系統消息中間件的特性和關鍵技術[J].電力系統自動化,2012,36(14):5659.

[11]梅崢,路軼,李西太,等.電網調控系統廣域服務訪問及管理方法[J].電力系統自動化,2017,41(19):7481.

[12]黃昆,趙昆,楊立波,等.電網調控系統輕量化人機交互體系架構及關鍵技術[J].電力系統自動化,2019,43(7):159165.

[13]程億強,吳曉娜,李匯群,等.智能電網調度控制系統圖形廣域維護與瀏覽技術[J].電力系統自動化,2017,41(14):171175.

[14]許洪強,姚建國,於益軍,等.支撐一體化大電網的調度控制系統架構及關鍵技術[J].電力系統自動化,2018.42(6):18.

[15]萬書鵬,蘇大威,等.支撐變電站自動化系統廣域運維的服務管理中心設計與實現[J].電力系統保護與控制,2018,46(22):149154.

基金項目:基于開放共享的通信總線關鍵技術研究與軟件研發(524608210222)

作者簡介:王哲民(1991—?),男,碩士研究生,工程師,研究方向為電力系統自動化。

猜你喜歡
電力自動化
信息技術下電力工程中的電力自動化技術應用
電力自動化中電力遠動測試系統的應用探析
芻議供電企業電力自動化
針對電力系統實現自動化的認識
電力系統自動化配網智能模式技術分析
電力自動化繼電保護安全管理策略研究
電力信息系統身份鑒別技術研究
電力運行總體發展趨勢分析
淺談電力自動化中現代電話通信技術的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合