周升,陶敏,徐朋,李賢慧,季勝鵬
(1.國網浙江省電力公司電力科學研究院,杭州310014;2.江蘇瑞中數據股份有限公司,南京210009)
經驗交流
基于SG-UAP的實時/歷史數據平臺統一訪問方法研究
周升1,陶敏1,徐朋2,李賢慧2,季勝鵬2
(1.國網浙江省電力公司電力科學研究院,杭州310014;2.江蘇瑞中數據股份有限公司,南京210009)
實時/歷史數據平臺做為浙江電力生產信息管理大區的后臺數據存儲平臺,為全省電網業務應用提供強力的數據支持。為更好地支持數據平臺的應用,結合目前國家電網范圍內各業務應用系統統一的開發、部署和運維管理SG-UAP平臺的要求,需要將海量平臺有機融合到SG-UAP平臺中,按照SG-UAP平臺的OSGI規范,對實時數據庫訪問方式進行標準化的優化,以便更好地使用SG-UAP平臺來支撐電網各業務應用系統。
SG-UAP;OSGI規范;實時數據庫訪問
為更好支撐國家電網公司(以下簡稱公司)信息化業務系統的建設,從各領域業務系統通用、共性的技術需求中進行深入分析、總結、提煉,形成平臺技術組件,進一步提升公司范圍內信息系統技術架構的一致性,支撐業務融合,提高業務系統軟件開發質量和服務水平,降低建設與運營成本,提升公司運營效率、效益以及集約化、標準化、精益化的管理水平。公司建成了支撐信息管理大區應用系統建設的應用系統統一開發平臺SG-UAP。并于2013年在公司范圍內29個統建項目及部分省市公司自建項目組推廣應用,包括了設備(資產)運維精益管理系統(PMS2.0)、財務管控一級部署、電力交易、基建等一批公司重點項目先后基于該平臺開展設計、研發并陸續投入運行。
隨著公司信息化建設的推進,SG-UAP作為公司所有信息系統的基礎開發平臺,將是今后公司范圍內各業務應用系統統一的開發、部署和運維管理平臺,現有其他應用系統的基礎支撐平臺都面臨淘汰和被整合的趨勢。
在電網企業生產管理中存在著大量的帶時間序列的調度、生產和營銷等業務數據(即實時數據),這些實時數據將大量產生,繼而沉淀生成海量的歷史數據,這些海量歷史/準實時數據都是電網企業生產運行過程中的重要財富,是實現精益化管理的重要信息基礎[1]。海量平臺一方面是SG-ERP的實時數據中心,與結構化數據管理平臺、空間數據管理平臺和非結構化數據管理平臺共同構成SG-ERP數據中心;另一方面,也是各業務構建歷史/準實時數據計算分析應用的基礎支撐平臺。在上述2個背景的前提下,將海量平臺有機融合到SG-UAP平臺中將勢在必行[1]。
1.1 海量平臺現狀
海量平臺作為公司信息化戰略的基礎性實時數據平臺,截至目前,已經完成了27家省(市)公司的海量平臺推廣建設工作,并同步開展海量平臺深化應用、試點實用化及歷史/準實時業務應用系統的研發工作。海量平臺接入了SCADA、電能量、用電信息采集、輸變電在線監測和電能質量等生產運行數據,同時支撐了運營監測(控)信息支撐系統、營銷稽查監控和用電信息采集等系統的數據訪問需求。
海量平臺底層使用海迅實時數據庫,高效壓縮,開發質量碼存儲,支持跨平臺數據處理、每秒百萬的數據提交效率以及每秒數十萬的數據查詢效率。海迅數據庫支持原始值、插值和階梯值3種數據檢索模式,滿足對歷史數據查詢的多樣化需求[1]。海迅數據庫在數據處理上的這些特性,為大型地區智能電網調度技術支持系統的海量平臺及公司信息化建設提供歷史/準實時數據集中存儲和訪問、業務系統訪問和分析等支撐作用[2]。海量平臺需要完善數據接入、新業務應用支撐和應用訪問方式,強化數據計算、分析的支撐作用,提高海量數據的利用價值,滿足省級電力公司地區負荷統計、分層分區需求側實時管理等個性化需求。
海量平臺深化應用基于海量平臺3.0實現,實現應用統一部署和應用統一管理。應用可通過界面集成的方式統一部署在海量平臺Web服務器上,并通過界面化操作對應用服務啟停進行控制和服務監視。
海量平臺深化應用使用micro soft Visual Studio作為C/C++開發環境,使用eclipse作為Java開發環境,基于海迅UAPI和海迅實時數據庫進行開發。遵循“分區分域、安全接入、動態感知、全面防護”的安全策略,按照等級保護二級系統要求進行安全防護設計,并根據業務系統的不斷完善加強對系統的防護,平臺提供完善的備份恢復方案,最大限度地保障公司相關信息系統的安全、可靠和穩定運行。
海量平臺深化應用界面設計清晰、操作簡單,配備詳細的用戶操作手冊,易于理解每項操作的用途和步驟,符合用戶常規使用習慣,當用戶誤操作時及時給出提示并出具解決建議。
1.2 SG-UAP現狀
為提高公司業務應用系統技術架構的一致性,充分共享和整合研發資源,提高軟件開發質量和服務水平,降低建設與運營成本,滿足公司信息系統一級部署、高性能數據處理等新的業務應用需求,公司決定在繼承已有平臺成果的基礎上,建設公司應用系統統一開發平臺。
公司應用系統統一開發平臺(State Grid Unified Application Platform,簡稱SG-UAP)是應用系統基礎支撐平臺。作為公司一體化信息平臺的重要組成部分,SG-UAP是一套技術統一、架構柔性、安全可靠的企業級基礎框架和公共套件集,在融合公司原有SoTower和PI3000等平臺的基礎上,進一步創新提升,實現基礎設施、公共套件、集成開發工具、系統治理工具四大功能模塊,全面支撐信息系統設計、開發、測試、部署、運維的全過程。為信息系統研發、實施和運維人員提供開發和運行環境支撐。
該平臺的目標與定位是打造國內領先、國際先進的商業化成熟軟件平臺產品,形成完備的電力行業解決方案,并逐步將平臺應用范圍拓展至整個電力行業,最終具備社會化運營能力。
SG-UAP平臺屏蔽底層技術細節,降低了學習成本;提供通用業務和技術組件,減少重復開發;提供了靈活應對需求變化的機制。SG-UAP集成開發工具以Eclipse為基礎,以插件的方式進行功能擴展。基礎設施及業務套件以SDK形式為業務系統提供工具支撐。采用標準的Eclipse插件升級模式進行升級。內置Tomcat6.X應用服務器及Oracle、達夢等數據庫驅動程序,方便用戶開發使用。
2.1 海量平臺接口分析
為更好地推廣海量平臺建設、開展了基于平臺的技術提升、應用技術驗證和業務應用實施實踐工作,海量平臺對外提供一系列的統一C++動態庫接口以及對應的jni轉換的java接口,用以訪問、操作海量平臺中的實時數據。
目前對外的java接口包含了簡單的創建連接、關閉連接、測點查詢、測點實時歷史數據查詢、測點屬性修改、測點實時歷史值修改、測點增加、測點實時歷史值的寫入等相關接口。但是海量平臺的UAPI接口作為對外的統一接口,各個接口之間連接較為分散獨立,這樣更便于業務人員和開發人員的運用。
2.2 SG-UAP集成模塊分析
SG-UAP平臺利用模塊化的思想設計,并具有以下優勢:
(1)關注度集中。
(2)接口與實現分離,高內聚、低耦合。
(3)新需求響應更快。
(4)以模塊化方式進行簡單疊加。
(5)分模塊上線。
(6)運行時動態更新。
SG-UAP平臺開發流程為:以UAP的Web項目為基礎,所有模塊項目相互獨立,但是模塊項目之間可以發布,進行引用。將需要在Web前端展示的模塊項目加載部署到uap項目上,最后發布到tomcat上。
SG-UAP中的所有的模塊項目本身是OSGI標準開發,而SG-UAP所引入的外部jar包接口也需要支持OSGI標準,SG-UAP能夠更好的兼容OSGI化的接口,利用OSGI體現其良好的擴展性。
2.3 改造方法研究
基于SG-UAP平臺的模塊化思想,其集成系統的可擴展性可以將海量平臺接口以OSGI標準化進行封裝成bundle,然后在SG-UAP平臺導入。具體實現方案如下。
2.3.1 簡單的接口OSGI化封裝
(1)將海量平臺二次開發接口UAPI進行OSGI規范化打包成jar包形式,將其放在sguapserver端的suit文件下,在工程的目標平臺進行添加插件,然后以bundle形式或者package方式被uap模塊項目dependence引入。
(2)當用以上2種不同方式引入jar包后,在對應的業務邏輯層、控制層,添加對海量平臺的訪問代碼(連接、查詢等操作)獲取相應的數據,以此來支撐海量平臺歷史/準實時數據獲取[4]。
2.3.2 對海量平臺主要接口的封裝處理
(1)對海量平臺的連接部分做處理。
使用數據庫連接池機制,將其封裝成一個可配置連接池個數的接口方法。在項目加載時候即創建此連接池,在模塊中需要操作海量平臺數據,做簡單獲取連接即可以返回連接句柄,從而調用相關操作接口。
這樣使得各模塊間都共享此連接池,同時保證數據庫連接資源得到控制,避免冗余的多連接和沖突連接。
(2)對基本數據庫操作進行封裝處理(增刪查改)。
針對海量平臺本身提供的增加、刪除、查詢、修改接口進行一定的整合封裝,使得對外只需簡單的入參即可返回相應的操作結果(集)。
這樣便于外部操作海量平臺,可即拿即用,減少了對海量平臺接口訪問的復雜重復編寫,將主要精力投放于業務系統上。
3.1 OSGI標準技術
OSGI技術是面向Java的動態模型系統。OSGI服務平臺為Java提供服務,這些服務使Java成為軟件集成和軟件開發的首選環境。Java提供在多個平臺支持產品的可移植性。OSGI技術提供允許應用程序使用精煉、可重用和可協作的組件構建的標準化原語。這些組件能夠組裝進一個應用和部署中[4]。
OSGI平臺通過使用私有類(在Java中不能用標準方式使用的機制)擴展了該模型。Java2安全模型提供了一個完整模塊檢查代碼對于資源的可訪問性。OSGI增加了完全動態的權限管理,簡化了操作者和系統管理員的工作。
將實時數據庫接口按照OSGI化進行封裝使得這些接口易于移植,可以動態地安裝、卸載、啟動和停止該木塊,便于項目管理。
3.2 實時數據庫連接池技術
在基于JDBC的數據庫應用開發中,數據庫連接的管理是一個難點,因為這是決定該應用性能的一個重要因素[5]。通過建立一個數據庫連接池以及一套連接使用管理策略,使得一個數據庫連接可以得到高效、安全復用,避免了數據庫連接頻繁建立、關閉的開銷。
資源池模式可以解決資源頻繁分配、釋放所造成的問題。把該模式應用到數據庫連接管理領域,就是建立一個數據庫連接池,提供一套高效的連接分配、使用策略,最終目標是實現連接的高效、安全地復用。
將實時數據應用平臺融合到SG-UAP平臺中,對于原來2個獨立的平臺是一種雙贏局面。對于SG-UAP來說,進一步拓展了平臺數據管理的能力,除了支持關系型數據庫和關系型數據應用,今后也將支持實時數據庫和實時數據應用,提升了SG-UAP的技術價值和應用價值。通過對基于SG-UAP海量平臺適應性改造研究,為SGUAP支持實時數據庫的訪問提供支撐,解決了目前SG-UAP訪問實時庫問題,同時可以使用SGUAP平臺開發集成更完善的報表組態等應用,為海量平臺應用的發展提供有力基礎。
[1]費冬虎,楊勇,李也白,等.基于海迅實時數據庫的配電線路運行監視軟件[J].浙江電力,2013(9)∶46-49.
[2]雷振江,李鵬.海量歷史/準實時數據管理平臺的建設與應用[J].電力信息與通信技術,2013(9)∶68-73.
[3]沈佳,李豫芹,鄒岳琳,等.海量歷史準實時數據管理平臺的研究與實現[J].科技傳播,2015(18)∶163-164.
[4]郁軍.基于OSGI的普及計算關鍵技術研究[D].上海:華東師范大學,2003.
[5]劉繼華,李臘元.一種基于JDBC的數據庫連接池的設計與實現[J].計算機工程與應用,2003(7)∶183-185.
(本文編輯:徐晗)
Study on Universe Access Method of Real-time/historical Data Platform Based on SG-UAP
ZHOU Sheng1,TAO Min1,XU Peng2,LI Xianhui2,JI Shengpeng2
(1.State Grid Zhejiang Electric Power Research Institute,Hangzhou 310014,China;2.China Realtime Database Co.,Ltd.,Nanjing 210009,China)
As a back-end data storage platform of power production information management in Zhejiang,the real-time/historical data platform provides strong data support for business applications in the province.Based on the present requirement of SG-UAP(unified application platform)in SGCC,the mass data platform needs to be organically integrated into SG-UPA to better support the application of data platform.In accordance with OSGI specifications of SG-UAP,the access method of real-time database is standardized to better utilize SGUAP to support business applications of power grid.
SG-UAP;OSGI specification;real-time database access
TM769
:B
:1007-1881(2016)04-0070-04
2015-12-16
周升(1985),男,工程師,從事電力行業信息技術工作。