周升,陶敏,李智
(1.浙江省電力公司電力科學(xué)研究院,杭州310014;2.杭州意能軟件有限公司,杭州310014)
電力信息化
實時/歷史數(shù)據(jù)平臺通用應(yīng)用程序編程接口研究
周升1,陶敏1,李智2
(1.浙江省電力公司電力科學(xué)研究院,杭州310014;2.杭州意能軟件有限公司,杭州310014)
隨著智能電網(wǎng)建設(shè)的逐步推進,實時/歷史數(shù)據(jù)平臺在數(shù)據(jù)存儲、共享等方面發(fā)揮了越來越重要的作用。由于老的實時/歷史數(shù)據(jù)平臺限制了應(yīng)用的深化推廣,浙江省電力公司于2012年引進了國產(chǎn)海迅實時/歷史數(shù)據(jù)庫,并在此基礎(chǔ)上建立浙江電網(wǎng)實時/歷史數(shù)據(jù)新平臺。為保證平臺順利平穩(wěn)過渡,重點研究了實時/歷史數(shù)據(jù)平臺通用應(yīng)用程序編程接口,以期滿足浙江公司實時/歷史數(shù)據(jù)應(yīng)用發(fā)展的需求。
電網(wǎng)運營;實時/歷史數(shù)據(jù)平臺;海迅實時/歷史數(shù)據(jù)庫;通用應(yīng)用程序編程接口
隨著智能電網(wǎng)建設(shè)的逐步推進,輸變電設(shè)備狀態(tài)監(jiān)測、用電信息采集、配電自動化等生產(chǎn)系統(tǒng)將產(chǎn)生海量實時/歷史數(shù)據(jù),浙江省電力公司于2005年引進了PI實時/歷史數(shù)據(jù)庫,并在此基礎(chǔ)上建立了浙江電網(wǎng)實時/歷史數(shù)據(jù)平臺(以下簡稱PI平臺)。歷經(jīng)7年的建設(shè)和發(fā)展,共計接入包含各級調(diào)度SCADA(調(diào)整數(shù)據(jù)采集與監(jiān)控系統(tǒng))、電能量、在線監(jiān)測、營銷等數(shù)據(jù)在內(nèi)的上百萬測點數(shù)據(jù)?;谶@些數(shù)據(jù)開發(fā)了上千個應(yīng)用,在各項生產(chǎn)業(yè)務(wù)管理中發(fā)揮了重要的作用。但是平臺150萬測點規(guī)模已不適應(yīng)現(xiàn)有應(yīng)用發(fā)展的需求,而平臺擴充與運維成本又非常昂貴,限制了各項業(yè)務(wù)的進一步深化應(yīng)用。
為了解決上述問題,2012年,浙江省電力公司與國網(wǎng)電科院共同承擔(dān)了國家電網(wǎng)公司科技項目“分布式實時數(shù)據(jù)庫管理系統(tǒng)研發(fā)與應(yīng)用”,確定了依托國產(chǎn)海迅實時/歷史數(shù)據(jù)庫建立浙江電網(wǎng)實時/歷史數(shù)據(jù)新平臺(以下簡稱HS平臺)。為保證平臺順利平穩(wěn)過渡,從數(shù)據(jù)庫底層API入手,研究了一套PI平臺與HS平臺通用的API(Universal API,通用應(yīng)用程序編程接口,以下簡稱UAPI),從而實現(xiàn)平臺應(yīng)用和數(shù)據(jù)接口簡單快速的遷移。
1.1 平臺數(shù)據(jù)寫入
自PI平臺建成以來,在全省范圍內(nèi)已經(jīng)接入了省/地/縣調(diào)SCADA、電能量、用電信息采集、輸變電設(shè)備在線監(jiān)測等主要業(yè)務(wù)系統(tǒng)數(shù)據(jù),部分地區(qū)局還涉及蓄電池在線監(jiān)測系統(tǒng)、電壓質(zhì)量綜合管理平臺、變電站設(shè)備溫度在線監(jiān)測系統(tǒng)、IT設(shè)備實時監(jiān)測等其他系統(tǒng)的數(shù)據(jù)。
各數(shù)據(jù)源系統(tǒng)的實時/歷史數(shù)據(jù)按照101,DL/T 860等標(biāo)準(zhǔn)規(guī)約或通過Web Service,E文件等方式接入到PI平臺中。平臺的數(shù)據(jù)接入接口接收到這些數(shù)據(jù)后進行解析,最終都調(diào)用PI-API/ PI-SDK寫入到PI實時/歷史數(shù)據(jù)庫中[2],寫入流程如圖1所示。
圖1 PI平臺數(shù)據(jù)寫入
1.2 平臺數(shù)據(jù)訪問
自PI平臺建成以來,浙江省電力公司在此基礎(chǔ)上開發(fā)了上千個應(yīng)用,包括營銷管理、生產(chǎn)管理、調(diào)度管理、輔助決策、電網(wǎng)規(guī)劃及信息技術(shù)等方面。常用的應(yīng)用主要有2種方式,一種是由PI客戶端工具ProcessBook和DataLink開發(fā),通過PI-ActiveView控件在瀏覽器中展示,用戶在查看應(yīng)用頁面時通過PI-API/PI-SDK連接到PI實時/歷史數(shù)據(jù)庫,從而獲取數(shù)據(jù)的更新。另一種是通過建立Web Service或其他通信服務(wù),用戶直接訪問PI應(yīng)用,然后統(tǒng)一由PI應(yīng)用通過PI-API/PI-SDK向PI實時/歷史數(shù)據(jù)庫中獲取數(shù)據(jù)[2],如圖2所示。
1.3 存在問題
圖2 PI平臺數(shù)據(jù)訪問
PI平臺的數(shù)據(jù)寫入和數(shù)據(jù)訪問都需要調(diào)用底層的PI-API/PI-SDK,因此在用HS平臺替代PI平臺時,原PI平臺中的數(shù)據(jù)接口和基于PI開發(fā)的應(yīng)用都需要進行代碼修改,將調(diào)用的PIAPI/PI-SDK函數(shù)替換為HS-API函數(shù),工作量將非常巨大。
遵循“平穩(wěn)過渡”的原則,平臺遷移會存在一個過渡時期,PI平臺和HS平臺將并行運作。此時,一部分急于上線的新應(yīng)用仍會基于PI平臺開發(fā)。但是當(dāng)HS平臺正式替代PI平臺后,這些應(yīng)用又需要馬上進行大幅度修改,造成了重復(fù)投資,浪費了大量的人力和物力。
無論是PI平臺還是HS平臺都會不斷升級,PI-API或HS-API也會隨著升級而進行修改、擴充,如果平臺的數(shù)據(jù)接口和應(yīng)用仍直接利用PIAPI/HS-API方式連接數(shù)據(jù)庫,可能會影響到實時/歷史數(shù)據(jù)應(yīng)用的正常開展。
2.1 改造后的平臺數(shù)據(jù)寫入與訪問
針對單一數(shù)據(jù)庫的底層API接口存在無法支撐跨平臺應(yīng)用的問題。通過屏蔽不同實時/歷史數(shù)據(jù)庫的API接口,采用統(tǒng)一的UAPI函數(shù)供外部應(yīng)用系統(tǒng)和數(shù)據(jù)接口調(diào)用,才能實現(xiàn)透明性以及跨平臺訪問[3]。
改造后的平臺數(shù)據(jù)寫入如圖3所示。各數(shù)據(jù)源系統(tǒng)的實時/歷史數(shù)據(jù)經(jīng)過解析后通過統(tǒng)一的數(shù)據(jù)寫入接口,利用跨平臺的UAPI寫入到PI實時/歷史數(shù)據(jù)庫或HS實時/歷史數(shù)據(jù)庫中。
改造后的平臺數(shù)據(jù)訪問如圖4所示。無論是PI平臺還是HS平臺上的應(yīng)用,都通過統(tǒng)一的數(shù)據(jù)訪問接口,利用跨平臺UAPI從PI實時/歷史數(shù)據(jù)庫或HS實時/歷史數(shù)據(jù)庫中獲取數(shù)據(jù)。
圖3 改造后的平臺數(shù)據(jù)寫入
圖4 改造后的平臺數(shù)據(jù)訪問
2.2 常用UAPI方法
遵循《國家電網(wǎng)公司海量歷史準(zhǔn)實時數(shù)據(jù)管理平臺典型設(shè)計》對平臺數(shù)據(jù)訪問服務(wù)的要求,以標(biāo)準(zhǔn)編程語言實現(xiàn)了具有跨平臺特性的UAPI。
根據(jù)功能的不同,對UAPI進行了分類,具體包括以下5組:
(1)連接維護組:實時/歷史數(shù)據(jù)庫的連接、資源初始化、時間標(biāo)準(zhǔn)等,具體函數(shù)如表1所示。
表1 連接維護組
(2)測點管理組:對測點的增、刪、改、查,以及對測點屬性的查詢、修改等,具體函數(shù)如表2所示。
(3)數(shù)據(jù)寫入組:向單個或批量測點中寫入某個時間點或某段時間內(nèi)的數(shù)據(jù),具體函數(shù)如表3所示。
(4)數(shù)據(jù)查詢組:查詢單個或批量測點的實時/歷史數(shù)據(jù),具體函數(shù)如表4所示。
表2 測點管理組
表3 數(shù)據(jù)寫入組
表4 數(shù)據(jù)查詢組
(5)數(shù)據(jù)統(tǒng)計組:查詢單個或批量測點一段時間內(nèi)的統(tǒng)計數(shù)據(jù)及按照特定條件過濾后的數(shù)據(jù),具體函數(shù)如表5所示。
2.3 UAPI調(diào)用過程
表5 數(shù)據(jù)統(tǒng)計組
在使用UAPI前需判斷所連接實時/歷史數(shù)據(jù)庫的類型(PI,HS或者其他),利用該數(shù)據(jù)庫提供的API文件和自定義的UAPI文件進行封裝、加載后方可使用。
調(diào)用UAPI寫入數(shù)據(jù)的一般過程如圖5所示。首先連接實時/歷史數(shù)據(jù)庫,然后根據(jù)測點名稱獲取測點ID,查詢到測點ID后直接把數(shù)據(jù)寫入到實時/歷史數(shù)據(jù)庫相應(yīng)測點中,如果查詢不到測點ID,則先新建測點,再寫入數(shù)據(jù),最后斷開實時/歷史數(shù)據(jù)庫連接。調(diào)用UAPI查詢數(shù)據(jù)的過程與寫入類似,如查詢不到測點ID則表示該測點不存在,無法獲取數(shù)據(jù)。
圖5 數(shù)據(jù)寫入調(diào)用過程
2.4 UAPI優(yōu)勢
(1)減少平臺遷移和升級的工作量。UAPI提供了統(tǒng)一的接口函數(shù),對PI和HS等實時/歷史數(shù)據(jù)庫都是通用的。因此,平臺上的接口和應(yīng)用基于UAPI進行開發(fā)既可縮短平臺遷移的周期,也能減少重復(fù)投資,降低信息化建設(shè)成本。
(2)支撐跨平臺應(yīng)用的開展。UAPI提供了跨平臺的標(biāo)準(zhǔn)接口,方便各應(yīng)用從不同平臺獲取數(shù)據(jù),支撐跨平臺應(yīng)用的快速開發(fā)和部署。
(3)提升平臺數(shù)據(jù)寫入和數(shù)據(jù)訪問安全。UAPI提供經(jīng)過標(biāo)準(zhǔn)封裝的平臺接口,降低了外部應(yīng)用和接口直接調(diào)用底層API所帶來的信息安全風(fēng)險,提升了信息綜合利用和統(tǒng)一管理水平。
結(jié)合目前PI平臺與HS平臺中已存儲的SCADA數(shù)據(jù)對UAPI方法進行測試,結(jié)果保存在日志文件中。從數(shù)據(jù)查詢組、數(shù)據(jù)寫入組和數(shù)據(jù)統(tǒng)計組中各選取一個方法為例進行說明。
圖6顯示的是分別使用PI-API,HS-API和UAPI查詢變電站有功和無功測點的實時數(shù)據(jù)情況??梢钥闯鐾ㄟ^UAPI方法查詢到的實時值與通過PI-API和HS-API查詢到的完全一致,實現(xiàn)了PI和HS中原有API的功能。
圖6 查詢測點實時值打印日志
圖7顯示的是分別使用PI-API,HS-API和UAPI寫入變電站有功和無功測點斷面值的情況。共寫入10個測點的斷面值并進行了查詢,如果查詢結(jié)果與寫入的一致,則返回“寫入成功”。從圖7可以看出,通過UAPI方法正確寫入了這10個測點的斷面值。
圖8顯示的是分別使用PI-API,HS-API和UAPI統(tǒng)計變電站有功和無功測點某時間段內(nèi)最大、最小值的情況,表明通過UAPI方法統(tǒng)計的結(jié)果與PI-API及HS-API統(tǒng)計的是一致的。
圖7 寫入測點斷面值打印日志
其他UAPI方法也逐一進行了測試,實現(xiàn)了應(yīng)具備的功能。由于UAPI是在PI-API和HSAPI的基礎(chǔ)上按照標(biāo)準(zhǔn)格式封裝而成的,所以效率不如API。從圖6和圖7中也可以看出,查詢實時值和寫入斷面值時比HS-API慢,還需要在今后進一步研究和完善。
跨平臺UAPI屏蔽了底層數(shù)據(jù)庫的實現(xiàn)細(xì)節(jié)及差異,對外提供統(tǒng)一的訪問接口,為上層應(yīng)用服務(wù),從而有效解決了實時/歷史數(shù)據(jù)平臺遷移和升級過程中碰到的問題,為今后實時/歷史數(shù)據(jù)平臺的建設(shè)和應(yīng)用提供了強有力的技術(shù)支撐。
圖8 統(tǒng)計測點最大最小值打印日志
[1]陳樹勇,宋書芳,李蘭欣,等.智能電網(wǎng)綜述[J].電網(wǎng)技術(shù),2009,33(8)∶1-7.
[2]陶敏,郭寧.PI實時/歷史數(shù)據(jù)庫系統(tǒng)平臺架構(gòu)優(yōu)化[J].浙江電力,2011,30(8)∶1-8.
[3]周升,陶敏.實時/歷史數(shù)據(jù)庫平臺通用訪問方法研究[J].浙江電力,2012(12)∶94-98.
(本文編輯:徐晗)
Study of Universal Application Programming Interface in Real-time/historical Data Platform
ZHOU Sheng1,TAO Min1,LI Zhi2
(1.Z(P)EPC Electric Power Research Institute,Hangzhou 310014,China;2.Hangzhou Ensoft Software Co.,Ltd.,Hangzhou 310014,China)
With the gradual advancement of the smart grid construction,real-time/historical data platform plays a more important role in data storing,data sharing and other aspects.As the old real-time/historical data platform has limited the deep promotion of applications,Zhejiang(Provincial)Electric Power Company introduces domestic Haixun real-time/historical database in 2012,and constructs new Zhejiang power grid realtime/historical data platform based on it.To ensure the smooth transition of the platform,this paper focuses on the real-time/historical data platform universal application programming interface in accordance with typical design of state grid in order to meet the development demands of real-time/historical data application.
power grid operation;real-time/historical data platform;Haixun real-time/historical database;universal application programming interface
TP317
:B
:1007-1881(2013)07-0072-05
2012-12-28
周升(1985-),男,浙江杭州人,助理工程師,從事電力行業(yè)信息技術(shù)工作。