基于发布-订阅的I6000接口数据交互模型

2019-09-10 07:22赵中英李斌王敏
现代信息科技 2019年1期
关键词:中间件

赵中英 李斌 王敏

摘  要:针对电力领域中信息通信一体化调度运行支撑平台(简称I6000)在数据交互和传输时存在实时性和灵活性等方面不足的问题,本文提出了一种新颖的数据交互新模型。这种模型是一种改进型发布-订阅模式,将I6000的接口数据按日志格式进行预处理,然后将日志进行数据同步,将信息通信一体化调度运行支撑平台的重要信息数据采集后进行保存,保存的格式采用预先设定的模式,然后对保存的数据进行压缩处理,再通过发布-订阅方式将压缩的数据进行传输,并在接收端将压缩的数据进行解析,最终通过发布和订阅的方式实现了对I6000数据的采集-压缩-传输-接受-解析。通过提出该方法,能够有效解决I6000在数据传输上存在的延迟问题,提升数据处理效率,增加数据的时效性和健壮性。

关键词:I6000;数据同步交互;中间件;异步传输

中图分类号:TP311.13      文献标识码:A 文章编号: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  引  言

隨着信息化和大数据时代的发展,信息的处理效率越来越高,人们对于软件的需要和非功能性需求也越来越高。在当前SaaS模式下,电力领域中部署的应用系统都是采用集中式部署方式或者二级部署方式,无论采用哪一种部署方式,其中数据传输都采用的是通用信息接口,这种接口能够解决信息的共享和交互问题,使得管理和信息调度能够对任务进行统一调度[1],但也存在一定的弊端。电力领域中各系统之间的数据交互,在实时性和灵活性方面存在一定的不足,使得信息数据的传输和交互存在延迟,降低了一些系统的实时性,也降低系统之间的紧密联系[2]。在电力领域中,不同环境之间的数据同步和交互都是采用两种不同的方式,第一种方式是完全同步法,第二种方式是异步同步法。这两种方法都能有效的进行数据同步和交互[3]。差异同步法对于数据的处理主要是对数据进行抓取,尤其是对可变的数据包,抓包的方式有七种[4],分别是API接口探测、日志抓取、表达式转化等七种方法。基于这七种方法,刘等人[5]提出了一种新的数据同步方法,这种方法的核心技术是采用数据库表结构同步,这种同步方法主要采用的是XML技术和Web服务技术,这种方法同步完数据以后存在数据结构不一致,数据结构变更等问题,还存在部分数据表属性丢失等安全问题。同时,刘等人提出的方法在数据处理时,没有考虑到数据表不一致、数据并发性错误等问题。针对上述问题,本研究提出一种新型的发布-订阅模式的I6000数据交互接口模型。

1  I6000接口数据交互模型

SG-I6000系统国网公司统一建设的集业务运行、业务监控、资产核查、运行检修、数据处理等多项功能于一体的统一业务平台,可以实现系统运行告警监控,业务数据指标采集等多项功能,是国网公司现运行最大的业务平台。

I6000接口数据交互方法,由于I6000系统业务数据庞大,因此I6000的信息数据采集都是采用阶段性数据采集办法,这就导致部分敏感数据传输存在延迟,为此本文提出一种新型的数据传输交互模型,处理过程如图1所示。将I6000的接口数据进行格式化预处理,采用一般的日志格式,然后将处理后的数据进行压缩,将压缩后的数据作为服务进行数据发布,发布以后数据在接口传输过程中就会被预先设定的监听器监听,监听到响应的数据包以后,将压缩的数据包进行采集解析,每接收到一个数据包就将响应的结果反馈给数据压缩端,这种发布-订阅的数据传输交互模型在数据端到端的传输过程中效率高,安全性好,便于后期的扩展。

2  发布-订阅模型数据交互方法

发布-订阅模式是一种依赖关系,这种依赖关系是一对多的依赖关系,类似于局域网中的数据广播,定义一个主题,这个主题对象是发布的信息源,信息源在自身发生变化时,会发出反馈通知所有的订阅者,这些订阅者都是对象,对应于发布者,这些订阅者对象在接收到发布者的信息反馈时,就会根据收到的信息更新自己的信息状态,做出相应的变化。发布订阅模式相当于进行依赖对象的解耦合工作,使得具有互相依赖关系的两方面存在于一个独立的对象中,使得发布-订阅的双方都只依赖于抽象的方面,而不依赖于具体的事物。具体流程如图1所示。

3  基于发布-订阅的数据交互模型流程

结合发布订阅模式的特点和国网公司I6000系统的数据交互情况,提出以下基于I6000的数据交互传输数据流程,用户分为两个部分:发布用户和订阅用户,二者通过代理服务器进行信息反馈和交互。代理服务器采用集群的方式,具体如图2所示,这样便于后期的扩展,发布用户发布信息到代理服务器,代理服务器将信息广播出去,订阅用户通过监听器监听相应的信息,监听到相应的需求信息以后,将信息进行采集和解析,同时将给发布用户一个反馈,发布用户根据反馈信息更新自己的状态,同时订阅用户也更新自己的状态信息。具体流程如下:

var event = {//订阅发布函数

clientList: [], //订阅者列表

listen: function( key, fn ){//监听订阅者信息,是否有订阅消息

if ( !this.clientList[ key ] ){

this.clientList[ key ] = [];

}

this.clientList[ key ].push( fn ); // 订阅的消息添加进缓存列表

},

trigger: function(){//发布消息

var key = Array.prototype.shift.call( arguments ), // 取出消息类型

fns = this.clientList[ key ];

if ( !fns || fns.length === 0 ){ // 如果没有绑定对应的消息

return false;

}

for(var i = 0, fn; fn = fns[ i++ ]; ){

fn.apply( this, arguments ); //// arguments是trigger时带上的参数,递归的发布消息

}

}

};

4  数据测试

本文通过在I6000的测试环境上进行数据的采集和测试,发现本文提出的数据采集和交互方法较现有处理方法更快,效率更高,本次测试主要在平均反应时间上进行了一个对比分析,实验结果如表1所示,数据包大小采用的是200M,交互次数是500次。

基于本文提出的发布和订阅模型的数据交互模型,通过将I6000的数据进行压缩发布,订阅端进行解析以后,发现这个过程比现有的数据传输过程更快,解决了现有数据延迟传输和处理的难题。本文提出的模型在扩展性和时效性方面更好,并且不影響现有I6000业务平台的运行架构和资源,提升了公司整体业务运行水平。

参考文献:

[1] 曹泰峰,李端明.云计算在高校信息化建设中的应用研究 [J].现代情报,2010,30(8):167-170.

[2] 王陆.信息化教育研究中的新内容:互动关系研究 [J].电化教育研究,2008(1):11-17+21.

[3] 夏克俭,张瑛,巢群,等.XML在数字化校园数据同步平台中的应用研究 [J].计算机工程与设计,2008,29(2):483-486.

[4] 杨淼淇,叶国权,孙纳新.异构数据库的变化捕捉和动态同步策略的研究与比较[J].办公自动化杂志,2010,17(6):35-37.

[5] 刘福顺,唐宁九.利用Web服务和XML实现数据库同步 [J].计算机应用研究,2005(2):51-52+56.

猜你喜欢
中间件
我国自主可控中间件发展研究
中间件“迭代”
以实力证明 用事实说话
从边缘到主流国产中间件行了
中移动集采:东方通中间件脱颖而出
甲骨文携合作伙伴推融合中间件11g
国产中间件苦尽甘来
基于Web Services的安全中间件的优势及其设计与实现
金蝶 引领中间件2.0新时代
东方通 紧扣市场的中间件自主创新之路