趙中英 李斌 王敏
摘? 要:針對(duì)電力領(lǐng)域中信息通信一體化調(diào)度運(yùn)行支撐平臺(tái)(簡(jiǎn)稱I6000)在數(shù)據(jù)交互和傳輸時(shí)存在實(shí)時(shí)性和靈活性等方面不足的問題,本文提出了一種新穎的數(shù)據(jù)交互新模型。這種模型是一種改進(jìn)型發(fā)布-訂閱模式,將I6000的接口數(shù)據(jù)按日志格式進(jìn)行預(yù)處理,然后將日志進(jìn)行數(shù)據(jù)同步,將信息通信一體化調(diào)度運(yùn)行支撐平臺(tái)的重要信息數(shù)據(jù)采集后進(jìn)行保存,保存的格式采用預(yù)先設(shè)定的模式,然后對(duì)保存的數(shù)據(jù)進(jìn)行壓縮處理,再通過(guò)發(fā)布-訂閱方式將壓縮的數(shù)據(jù)進(jìn)行傳輸,并在接收端將壓縮的數(shù)據(jù)進(jìn)行解析,最終通過(guò)發(fā)布和訂閱的方式實(shí)現(xiàn)了對(duì)I6000數(shù)據(jù)的采集-壓縮-傳輸-接受-解析。通過(guò)提出該方法,能夠有效解決I6000在數(shù)據(jù)傳輸上存在的延遲問題,提升數(shù)據(jù)處理效率,增加數(shù)據(jù)的時(shí)效性和健壯性。
關(guān)鍵詞:I6000;數(shù)據(jù)同步交互;中間件;異步傳輸
中圖分類號(hào):TP311.13? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)01-0024-02
Data Interaction Model of I6000 Interface Based on Publish-Subscribe
ZHAO Zhongying,LI Bin,WANG Min
(State Grid Ningxia Electric Power Co.,Ltd.,Information and Communication Company,Yinchuan? 750001,China)
Abstract:Aiming at the problem of insufficient real-time and flexibility in data interaction and transmission of information and communication integrated dispatching and operation support platform (I6000) in electric power field,this paper presents a new data interaction model,which is an improved publish-subscribe model and integrates I6000 interface number according to the pre-processing according to the log format,and then the log data synchronization,the important information data acquisition of the information and communication integrated dispatching and operation support platform is saved. The saved format adopts the pre-set mode,the saved data is compressed and processed,and the compressed data is transmitted through publish-subscribe mode. The receiving end parses the compressed data,and finally realizes the collection-compression-transmission-acceptance-analysis of I6000 data by publishing and subscribing. By putting forward this method,I6000 data transmission delay problem can be effectively solved,data processing efficiency can be improved,the timeliness and robustness of data can be increased.
Keywords:I6000;data synchronous interaction;middleware;asynchronous transmission
0? 引? 言
隨著信息化和大數(shù)據(jù)時(shí)代的發(fā)展,信息的處理效率越來(lái)越高,人們對(duì)于軟件的需要和非功能性需求也越來(lái)越高。在當(dāng)前SaaS模式下,電力領(lǐng)域中部署的應(yīng)用系統(tǒng)都是采用集中式部署方式或者二級(jí)部署方式,無(wú)論采用哪一種部署方式,其中數(shù)據(jù)傳輸都采用的是通用信息接口,這種接口能夠解決信息的共享和交互問題,使得管理和信息調(diào)度能夠?qū)θ蝿?wù)進(jìn)行統(tǒng)一調(diào)度[1],但也存在一定的弊端。電力領(lǐng)域中各系統(tǒng)之間的數(shù)據(jù)交互,在實(shí)時(shí)性和靈活性方面存在一定的不足,使得信息數(shù)據(jù)的傳輸和交互存在延遲,降低了一些系統(tǒng)的實(shí)時(shí)性,也降低系統(tǒng)之間的緊密聯(lián)系[2]。在電力領(lǐng)域中,不同環(huán)境之間的數(shù)據(jù)同步和交互都是采用兩種不同的方式,第一種方式是完全同步法,第二種方式是異步同步法。這兩種方法都能有效的進(jìn)行數(shù)據(jù)同步和交互[3]。差異同步法對(duì)于數(shù)據(jù)的處理主要是對(duì)數(shù)據(jù)進(jìn)行抓取,尤其是對(duì)可變的數(shù)據(jù)包,抓包的方式有七種[4],分別是API接口探測(cè)、日志抓取、表達(dá)式轉(zhuǎn)化等七種方法?;谶@七種方法,劉等人[5]提出了一種新的數(shù)據(jù)同步方法,這種方法的核心技術(shù)是采用數(shù)據(jù)庫(kù)表結(jié)構(gòu)同步,這種同步方法主要采用的是XML技術(shù)和Web服務(wù)技術(shù),這種方法同步完數(shù)據(jù)以后存在數(shù)據(jù)結(jié)構(gòu)不一致,數(shù)據(jù)結(jié)構(gòu)變更等問題,還存在部分?jǐn)?shù)據(jù)表屬性丟失等安全問題。同時(shí),劉等人提出的方法在數(shù)據(jù)處理時(shí),沒有考慮到數(shù)據(jù)表不一致、數(shù)據(jù)并發(fā)性錯(cuò)誤等問題。針對(duì)上述問題,本研究提出一種新型的發(fā)布-訂閱模式的I6000數(shù)據(jù)交互接口模型。
1? I6000接口數(shù)據(jù)交互模型
SG-I6000系統(tǒng)國(guó)網(wǎng)公司統(tǒng)一建設(shè)的集業(yè)務(wù)運(yùn)行、業(yè)務(wù)監(jiān)控、資產(chǎn)核查、運(yùn)行檢修、數(shù)據(jù)處理等多項(xiàng)功能于一體的統(tǒng)一業(yè)務(wù)平臺(tái),可以實(shí)現(xiàn)系統(tǒng)運(yùn)行告警監(jiān)控,業(yè)務(wù)數(shù)據(jù)指標(biāo)采集等多項(xiàng)功能,是國(guó)網(wǎng)公司現(xiàn)運(yùn)行最大的業(yè)務(wù)平臺(tái)。
I6000接口數(shù)據(jù)交互方法,由于I6000系統(tǒng)業(yè)務(wù)數(shù)據(jù)龐大,因此I6000的信息數(shù)據(jù)采集都是采用階段性數(shù)據(jù)采集辦法,這就導(dǎo)致部分敏感數(shù)據(jù)傳輸存在延遲,為此本文提出一種新型的數(shù)據(jù)傳輸交互模型,處理過(guò)程如圖1所示。將I6000的接口數(shù)據(jù)進(jìn)行格式化預(yù)處理,采用一般的日志格式,然后將處理后的數(shù)據(jù)進(jìn)行壓縮,將壓縮后的數(shù)據(jù)作為服務(wù)進(jìn)行數(shù)據(jù)發(fā)布,發(fā)布以后數(shù)據(jù)在接口傳輸過(guò)程中就會(huì)被預(yù)先設(shè)定的監(jiān)聽器監(jiān)聽,監(jiān)聽到響應(yīng)的數(shù)據(jù)包以后,將壓縮的數(shù)據(jù)包進(jìn)行采集解析,每接收到一個(gè)數(shù)據(jù)包就將響應(yīng)的結(jié)果反饋給數(shù)據(jù)壓縮端,這種發(fā)布-訂閱的數(shù)據(jù)傳輸交互模型在數(shù)據(jù)端到端的傳輸過(guò)程中效率高,安全性好,便于后期的擴(kuò)展。
2? 發(fā)布-訂閱模型數(shù)據(jù)交互方法
發(fā)布-訂閱模式是一種依賴關(guān)系,這種依賴關(guān)系是一對(duì)多的依賴關(guān)系,類似于局域網(wǎng)中的數(shù)據(jù)廣播,定義一個(gè)主題,這個(gè)主題對(duì)象是發(fā)布的信息源,信息源在自身發(fā)生變化時(shí),會(huì)發(fā)出反饋通知所有的訂閱者,這些訂閱者都是對(duì)象,對(duì)應(yīng)于發(fā)布者,這些訂閱者對(duì)象在接收到發(fā)布者的信息反饋時(shí),就會(huì)根據(jù)收到的信息更新自己的信息狀態(tài),做出相應(yīng)的變化。發(fā)布訂閱模式相當(dāng)于進(jìn)行依賴對(duì)象的解耦合工作,使得具有互相依賴關(guān)系的兩方面存在于一個(gè)獨(dú)立的對(duì)象中,使得發(fā)布-訂閱的雙方都只依賴于抽象的方面,而不依賴于具體的事物。具體流程如圖1所示。
3? 基于發(fā)布-訂閱的數(shù)據(jù)交互模型流程
結(jié)合發(fā)布訂閱模式的特點(diǎn)和國(guó)網(wǎng)公司I6000系統(tǒng)的數(shù)據(jù)交互情況,提出以下基于I6000的數(shù)據(jù)交互傳輸數(shù)據(jù)流程,用戶分為兩個(gè)部分:發(fā)布用戶和訂閱用戶,二者通過(guò)代理服務(wù)器進(jìn)行信息反饋和交互。代理服務(wù)器采用集群的方式,具體如圖2所示,這樣便于后期的擴(kuò)展,發(fā)布用戶發(fā)布信息到代理服務(wù)器,代理服務(wù)器將信息廣播出去,訂閱用戶通過(guò)監(jiān)聽器監(jiān)聽相應(yīng)的信息,監(jiān)聽到相應(yīng)的需求信息以后,將信息進(jìn)行采集和解析,同時(shí)將給發(fā)布用戶一個(gè)反饋,發(fā)布用戶根據(jù)反饋信息更新自己的狀態(tài),同時(shí)訂閱用戶也更新自己的狀態(tài)信息。具體流程如下:
var event = {//訂閱發(fā)布函數(shù)
clientList: [], //訂閱者列表
listen: function( key, fn ){//監(jiān)聽訂閱者信息,是否有訂閱消息
if ( !this.clientList[ key ] ){
this.clientList[ key ] = [];
}
this.clientList[ key ].push( fn ); // 訂閱的消息添加進(jìn)緩存列表
},
trigger: function(){//發(fā)布消息
var key = Array.prototype.shift.call( arguments ), // 取出消息類型
fns = this.clientList[ key ];
if ( !fns || fns.length === 0 ){ // 如果沒有綁定對(duì)應(yīng)的消息
return false;
}
for(var i = 0, fn; fn = fns[ i++ ]; ){
fn.apply( this, arguments ); //// arguments是trigger時(shí)帶上的參數(shù),遞歸的發(fā)布消息
}
}
};
4? 數(shù)據(jù)測(cè)試
本文通過(guò)在I6000的測(cè)試環(huán)境上進(jìn)行數(shù)據(jù)的采集和測(cè)試,發(fā)現(xiàn)本文提出的數(shù)據(jù)采集和交互方法較現(xiàn)有處理方法更快,效率更高,本次測(cè)試主要在平均反應(yīng)時(shí)間上進(jìn)行了一個(gè)對(duì)比分析,實(shí)驗(yàn)結(jié)果如表1所示,數(shù)據(jù)包大小采用的是200M,交互次數(shù)是500次。
基于本文提出的發(fā)布和訂閱模型的數(shù)據(jù)交互模型,通過(guò)將I6000的數(shù)據(jù)進(jìn)行壓縮發(fā)布,訂閱端進(jìn)行解析以后,發(fā)現(xiàn)這個(gè)過(guò)程比現(xiàn)有的數(shù)據(jù)傳輸過(guò)程更快,解決了現(xiàn)有數(shù)據(jù)延遲傳輸和處理的難題。本文提出的模型在擴(kuò)展性和時(shí)效性方面更好,并且不影響現(xiàn)有I6000業(yè)務(wù)平臺(tái)的運(yùn)行架構(gòu)和資源,提升了公司整體業(yè)務(wù)運(yùn)行水平。
參考文獻(xiàn):
[1] 曹泰峰,李端明.云計(jì)算在高校信息化建設(shè)中的應(yīng)用研究 [J].現(xiàn)代情報(bào),2010,30(8):167-170.
[2] 王陸.信息化教育研究中的新內(nèi)容:互動(dòng)關(guān)系研究 [J].電化教育研究,2008(1):11-17+21.
[3] 夏克儉,張瑛,巢群,等.XML在數(shù)字化校園數(shù)據(jù)同步平臺(tái)中的應(yīng)用研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(2):483-486.
[4] 楊淼淇,葉國(guó)權(quán),孫納新.異構(gòu)數(shù)據(jù)庫(kù)的變化捕捉和動(dòng)態(tài)同步策略的研究與比較[J].辦公自動(dòng)化雜志,2010,17(6):35-37.
[5] 劉福順,唐寧九.利用Web服務(wù)和XML實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步 [J].計(jì)算機(jī)應(yīng)用研究,2005(2):51-52+56.