书合文秘网 - 设为首页 - 加入收藏
当前位置 首页 > 范文大全 > 教案设计 >

基于数据流转发的实时数据交换系统设计

作者: 浏览数: 关键词: 数据流 转发 数据交换 实时 设计


打开文本图片集

摘要:针对传统的基于全量转发机制的消息中间件应用于电力信息系统大规模数据交换时效率低的问题,设计并实现了基于数据流转发的实时数据交换中间件。基于队列缓冲技术,实现了消息型数据的异步发送与批量确认;设计了流式数据转发机制,消除数据在传输节点上的缓存延迟与缓存资源代价,提高了数据传输的及时性与并发性;结合分布式与数据路由思想,实现了对第三方系统透明的节点组网与数据路由功能。通过模拟某省电力信息系统数据交换场景,验证了系统性能,数据交换能力达3000并发,千兆带宽环境下系统传输速度达980MB/s,交换延迟在毫秒级。

关键词:消息中间件;队列缓冲;数据交换;数据流;数据路由;异步传输

中图分类号: TP311.1 文献标志码:A

0引言

随着电网的技术进步与业务发展,智能电网支撑系统不断细化,涉及的内容越来越多,随之而来的是信息系统“信息孤岛”“大数据交换”现象渐渐浮现。电力信息化系统分布于发电、输电、配电、用电各个环节,系统分布性强,纵向跨越多个分级机构[1-2],系统间数据集成的技术复杂度较高。通信技术作为智能电网的重要技术组成[3],在应用层建设统一的数据交换系统,跨越多级机构在广域网范围组建高效的数据传输通道需求越发强烈。

针对电力系统分级机构多、数据集成规模大、数据类型多样、需要跨越多个局域网组网传输等特点,本文提出一种基于数据流转发的可分布式组网部署的数据交换中间件技术与实现,用于在广域网环境下部署多个运行节点,组建应用层数据交换网络,对分布在不同地理位置的应用系统间数据集成提供数据路由、数据分发功能,实验证实了系统的性能。

1消息中间件研究

消息中间件(MessageOriented Middleware, MOM)常作为企业应用系统间通信总线使用,其实现了一种面向消息型数据的异步分发机制,通过屏蔽底层平台之间的异构性,简化应用之间的数据传输实现,利用高效的消息传递机制为分布式应用提供解耦和透明的通信服务[4-5]。消息中间件通信模式主要分为点对点(PointtoPoint, PTP)和发布/订阅(publish/subscribe)两种[6],PTP模式实现了一对一的消息通信模式,publish/subscribe模式实现了一对多的消息通信模式。如图1所示,发送端(Producer)只需指明接收端(Consumer)逻辑名称即可通过代理节点(Broker)将数据路由转发到接收端,Broker可以分布式部署形成网络,数据在Broker间进行转发传输。

主流的MOM产品在消息队列缓存设计上大多数采用集中式设计,消息交由集中的发布/订阅服务器进行统一缓存与管理,在大规模消息数据处理的情况下,集中式的服务器容易产生性能瓶颈,数据分发延迟大大提高。文献[7]针对此问题进行了一定的改良,但其原理上存在局限性,不适合在规模较大的网络环境下运行,会导致消息泛洪。

消息中间件大多实现了消息路由功能,但只局限于单个Broker内的队列间路由,缺乏Broker间的路由机制,虽然使用集群功能可以实现Broker间路由的替代方案,但由于其主要用于实现高可靠或负载均衡,其原理上采用以消息本身为最小粒度的全量转发机制。以主流消息中间件RabbitMQ[8]为例,Broker需接收到消息的全部内容后才进行下一步转发,导致数据在Broker上中转缓存用时较大,特别是在多Broker级联转发的情况下,转发延迟成倍增大,不能实现对低延迟数据的高效分发。电网应用系统具有在地理位置上分布广和分级分区部署的特点[9-10],交换系统不适合集中部署,需要进行级联部署,并组网互联互通进行低延迟通信,传统消息中间件在电网应用中常出现消息阻塞延迟高问题。

传统消息中间件设计上主要用于消息型数据的处理,对大文件转发支持不足,往往借助Broker所在服务器内存进行缓存提高速度,受限于内存以及存储块的大小限制,需要约定消息的最大大小,例如Apache ActiveMQ[11]默认最大消息大小为32MB,虽然大多消息中间件支持将数据写入硬盘,但这大大降低了中转速度。然而,大文件分发具有很强的应用场景,在电网应用中存在着大量的拓扑模型文件、视频文件、系统日志文件等非结构化数据,这些数据往往以文件形式存在并且很大,需要一种类似消息中间件的机制进行大文件分发交换。

本系统并非是MOM思想的标准实现,设计上借鉴了主流消息中间件部分特性,但更侧重于实现支持大规模Broker组网,并能够在Broker间高效低延迟路由数据的应用层数据交换系统。针对电网领域数据集成数据量大、要求低延迟特点取消了传统集中式消息队列缓存,将缓存分布到Producer与Consumer端,简化Broker功能并使之具有数据路由功能,设计了基于数据流的转发机制,减小数据在多个Broker间转发延迟,并在传输协议上支持大文件的分发交换。

2系统设计

本系统设计主要实现如下关键功能:1)高频度消息数据异步分发。2)支持文件数据可靠传输,对文件大小无限制。3)基于数据流转发,对数据进行低延迟路由传输。4)Broker可分布式组网,支持大规模(2000以上)客户端接入,并发交换数据。

2.1系统整体架构

系统整体架构如图2所示,Producer客户端以API(Application Programming Interface)形式存在,实现基于先进先出(FirstIn FirstOut, FIFO)队列的异步消息发送机制[12]以及大文件同步发送机制,第三方系统调用发送接口将消息或文件交由Producer进行调度发送,第三方系统无需知道目标接收方的物理位置,只需指明Consumer逻辑名称即可将数据交由Broker进行自动路由转发,且可以实现一对多的数据分发。

相关文章:

Top