一种基于数据流转发的电力系统实时数据交换系统技术方案

技术编号:17117519 阅读:32 留言:0更新日期:2018-01-25 00:22
本发明专利技术涉及一种基于数据流转发的电力系统实时数据交换系统。随着电网的技术进步与业务发展,智能电网系统不断细化,内容越来越多。现有技术方案支持将数据写入硬盘,但这大大降低了中转速度;而且现有技术对大文件转发支持不足,难以满足电网体系下数据量大、交互次数多、复杂度高的信息传递要求。本发明专利技术针对智能电网数据交换特征,实现了基于数据流转发的准实时数据交换中间件,解决了智能电网应用系统地理分布广、数据集成规模大、及时性要求高、集成技术和管理不统一的难题。该技术能应用于多级部门业务应用间数据集成,能够显著提高部门间大批量的信息交流传递的速度,有效提高工作效率。

A real-time data exchange system for power system based on data flow forwarding

【技术实现步骤摘要】
一种基于数据流转发的电力系统实时数据交换系统
本专利技术涉及一种实时数据交换系统,特别是一种基于数据流转发的电力系统实时数据交换系统。技术背景随着电网的技术进步与业务发展,智能电网支撑系统不断细化,涉及的内容越来越多,随之而来的是信息系统“信息孤岛”、“大数据交换”现象渐渐浮现。电力信息化系统分布于发电、输电、配电、用电各个环节,系统分布性强,纵向跨越多个分级机构,提高了系统间数据集成的技术复杂度。通信技术作为智能电网的重要技术组成,在应用层建设统一的数据交换系统,跨越多级机构在广域网范围组建高效的数据传输通道需求越发强烈。现有技术方案支持将数据写入硬盘,但这大大降低了中转速度;而且现有技术对大文件转发支持不足,难以满足电网体系下数据量大、交互次数多、复杂度高的信息传递要求。
技术实现思路
本专利技术针对智能电网数据交换特征,并根据队列缓冲、数据流转发、分布式路由思想,设计实现了基于数据流转发的准实时数据交换中间件,解决了智能电网应用系统地理分布广、数据集成规模大、及时性要求高、集成技术不统一、无法统一管理的难题。该技术能够应用于多级部门的业务应用间数据集成,适合作为电力企业应用集成的底层数据交换总线使用,能够显著提高部门间大批量的信息交流传递的速度,有效提高工作效率。API:ApplicationProgrammingInterface,应用程序接口FIFO:First-InFirst-Out,先入先出首部:指的是消息传递中该消息的头部分数据,这块数据中包含着这个消息的一些基本信息,如消息的来源、流向与功能等。技术方案:本专利技术一种基于数据流转发的电力系统实时数据交换系统,包括发送端(Producer生产者)、代理节点(Broker)、接收端(Consumer消费者)三个系统模块组成。首先,发送端(Producer生产者)以API形式存在,实现基于FIFO先进先出队列的异步消息发送机制以及大文件同步发送机制,第三方系统调用发送接口将消息或文件交由Producer进行调度发送,第三方系统无需知道目标接收方的物理位置,只需指明接收端(Consumer消费者)逻辑名称即可将数据交由代理节点(Broker节点)进行自动路由转发,且可以实现一对多的数据分发。其次,Broker数据路由服务以服务程序形式存在,实现基于数据流的路由转发机制,其无需等待所有数据到达即对数据流进行实时转发提高数据的转发效率,Broker可以分布式部署在不同服务器上形成网络代理节点对数据流进行多节点自动路由转发,最终将数据推送到目标Consumer供第三方系统消费。Broker可同时对多个Producer提供数据路由服务,从而使得其可以充当多个业务系统间统一的数据交换总线。最后,Consumer客户端以API形式存在,Consumer收到Broker推送的数据后对数据进行识别,如果是消息型数据则创建FIFO队列进行缓存,并立即通过监听器调用第三方系统进行业务处理,数据接受部门根据接收到的数据进行相应地操作。附图说明:图1一种基于数据流转发的电力系统实时数据交换系统具体流程具体实施方法:本专利技术一种基于数据流转发的电力系统实时数据交换系统,结合附图进行以下说明:1.基于FIFO队列的消息缓存机制当Producer发送内容为文件时,系统使用同步发送方式,即上一文件发送完成才可以进行下一文件的发送,发送文件时API阻塞直到收到Consumer的确认信号(AcknowledgmentSignal,ACK),如果发送中断或超时API执行断点续传,系统所使用的流式数据传输协议对数据大小无限制。发送内容为消息时,提供异步和同步两种发送方式。当使用同步方式时,发送过程同文件的发送过程。当使用异步发送方式时,Producer为发送的消息创建FIFO队列,对不同的Consumer目标创建不同队列,相同目标的消息将按产生顺序缓存入同一队列,与此同时发送线程轮询各队列运行情况,当发现某个队列中有待发送消息时将其一次性打包发送,发送线程设计为贪婪的,总是尽可能快的将消息发出哪怕只有一条消息,发送后移动ACK游标到最新发送位置等待确认,在数据发送过程中产生的消息不受影响继续入列等待下一次发送。收到ACK确认报文后删除ACK游标之前的消息,此机制既可以保障消息发送的可靠性又不会阻塞消息的持续产生。异步发送消息情况下,当消息产生速度小于发送速度时系统表现为发送一条消息ACK确认一条,当消息产生速度大于发送速度时系统表现为发送一批消息ACK确认一批。批量ACK确认减少通信交互次数,提高消息发送效率。当消息产生速度持续高于发送速度或高于Consumer消费速度时,消息队列中消息将累积,累积达到系统配置的队列最大值时Producer阻塞,直到更多的消息发出,产生多余的队列空间。由于使用FIFO异步队列缓存机制,通过本系统发出的消息是保序的;第三方系统调用接口将消息交由Producer,由Producer异步完成消息的发送,不会发生阻塞等待,从而提高第三方系统整体通信性能;批量确认机制即保证了消息的可靠通信又提高了消息的确认效率。Consumer针对消息型数据的接收采用类似的FIFO接收队列,与发送队列不同的是其没有ACK游标,Consumer接收到消息后放入相应的队列,并通过第三方系统注册的监听器调用业务程序进行消费,监听器的调用每次只消费一条消息,系统整体上表现为发送方系统逐条发送消息,接收方系统逐条消费消息。针对文件数据,Consumer接收生成临时文件,接收完直接通过监听器调用第三方系统进行业务消费。本系统数据传输过程不区分消息与文件,基于Socket实现。在Producer客户端发送数据前,Consumer客户端需先建立连接注册到Broker服务器上,Broker对所有注册的客户端进行管理,并定时发送心跳以保持与客户端的长连接,心跳包含三种信息,其中0表示正常心跳,1表示需要Consumer主动与Broker创建更多通信连接,-1表示Broker即将主动断开连接,任意一方超时则断开连接。Consumer注册到Broker后监听控制信息的到来。2.流式数据传输协议与路由机制当Producer客户端开始发送数据,首先发送控制报文建立通信链路,控制报文中携带了数据目标端名称、是否是断点续传、数据描述等信息,Broker收到控制报文后读取目标端名称并查询路由表与相邻节点信息表,路由表、相邻节点信息表以XML配置文件的形式存在,在Broker启动时加载到内存,格式如下://路由表<?xmlversion="1.0"encoding="UTF-8"standalone="no"?><properties><entrykey="TargetName_1">adjacentName_1</entry><entrykey="TargetName_2">adjacentName_1</entry><entrykey="TargetName_3">adjacentName_2</本文档来自技高网...
一种基于数据流转发的电力系统实时数据交换系统

【技术保护点】
一种基于数据流转发的电力系统实时数据交换系统,其特征在于,该系统包括发送端(Producer生产者)、代理节点(Broker)、接收端(Consumer消费者)三个系统模块组成。

【技术特征摘要】
1.一种基于数据流转发的电力系统实时数据交换系统,其特征在于,该系统包括发送端(Producer生产者)、代理节点(Broker)、接收端(Consumer消费者)三个系统模块组成。2.根据权利要求1中所述,一种基于数据流转发的电力系统实时数据交换系统,其特征在于,发送端(Producer生产者)以API形式存在,实现基于FIFO先进先出队列的异步消息发送机制以及大文件同步发送机制,第三方系统调用发送接口将消息或文件交由Producer进行调度发送,第三方系统无需知道目标接收方的物理位置,只需指明接收端(Consumer消费者)逻辑名称即可将数据交由代理节点(Broker节点)进行自动路由转发,且可以实现一对多的数据分发。3.根据权利要求1中所述,一种基于数据流转发的电力系统实时数据交换系统,其特征在...

【专利技术属性】
技术研发人员:雷振江李占军李钊孙峰烈唐胜陈得丰谢玉波曹健李强秦鹏飞
申请(专利权)人:国网辽宁省电力有限公司国网辽宁省电力有限公司电力科学研究院江苏瑞中数据股份有限公司国家电网公司
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1