引言
智能电网调度控制系统存在大量数据传输的业务场景。随着电网的技术进步和业务发展,智能电网调度控制系统功能日益强大,各类应用在数据通信方面呈现出复杂性和多样化的特点[1],主要体现在传输数据量大、数据获取方式多样、数据交互实时性高等方面,对数据通信的安全性、可靠性等要求越来越高[2-3]。为适应电网发展需求,研究智能电网调度控制系统的数据传输技术已经迫在眉睫[4-5]。
根据中国电力二次系统安全防护设计思想[6],电力二次系统分为安全Ⅰ区、安全Ⅱ区、安全Ⅲ区和安全Ⅳ区。智能电网调度控制系统的四大类应用横跨3个安全区域,当前各类应用间的数据传输主要存在3个方面问题:首先,相同区域内数据传输效率低,缺少统一的、高效实时的数据传输手段;其次,横向跨区和纵向跨级需要安全可靠的数据传输和交互机制;再次,安全Ⅰ区、Ⅱ区与安全Ⅲ区间的隔离装置缺少统一的数据交互方式[7-9]。
在智能电网调度控制系统中,现有的数据传输机制很难解决上述所有问题,因此本文提出了一种横向集成、纵向贯通的数据总线技术。该技术通过对总线技术、中间件技术[9]、订阅/发布策略等进行融合、扩展,使智能电网调度控制系统中应用程序可以实现横向跨区传输,同时支持各级调度中心之间的数据交互,满足了智能电网调度控制系统在多级调控中心数据广域范围共享的要求。
1 系统总线架构
数据总线由消息总线、服务总线、消息邮件3个部分构成,其为智能电网调度控制系统应用程序提供横向集成、纵向贯通的数据交互服务。数据总线架构如图1所示,消息总线负责相同安全区域内不同应用间的实时数据传输,服务总线和消息邮件实现跨安全区和各级调度间的数据交互。【1】
消息总线用于系统中应用程序间的实时数据传输,按照实时监控的特殊要求,具备高效实时的特点,消息总线基于订阅/发布模型[10-11],为应用程序提供注册、撤销注册、订阅消息、撤销订阅、发布消息、接收消息等功能,为实现高效的数据通信提供可靠和通用的信息交互机制。消息总线主要用于对实时性要求高的数据通信场景,例如数据采集应用和数据处理应用之间的消息传递都采用消息总线实现。
服务总线用于系统中应用程序间的数据交互,按照系统对数据交互安全性、高效性、实时性和统一性要求,实现请求/响应模型和订阅/发布模型两种模型,为应用程序提供基于服务,屏蔽实现数据交换底层通信技术的具体方法,满足应用功能和数据在广域范围的交互和共享[12-13]。服务总线主要用于实时数据交互的通信场景,例如历史库服务使用服务总线的请求/响应模型,实现了对历史库的请求和访问;画面刷新服务使用服务总线的订阅/发布模型,实现了对遥测和遥信数据的动态实时推送。
消息邮件用于应用程序间的非实时数据传送,可以跨越安全Ⅰ区、Ⅱ区、Ⅲ区和上下级调度。按照为整个电网调度提供跨区跨调度机构的要求设计,为跨区跨调度机构的特殊应用提供文件、消息、流程等通信支持。
2 消息总线
2.1 概述智能电网调度控制系统对电网事件的实时监控要求较高,需要快速传递遥测数据、开关变位、事故信号、控制指令等各类实时数据和事件。为满足系统实时监控的需求,消息总线为应用程序间数据通信提供高效、通用的信息交互机制。
为解决系统中实时消息在不同应用间的传输问题,消息总线屏蔽繁琐复杂的底层通信细节,通过提供简单、通用的消息原语,支持应用程序在节点内和节点间进行消息传递,并支持一对多、一对一的信息交换场合。
2.2 消息总线结构消息总线的基本结构包括消息原语、共享内存通信模块和网络传输模块。其中,消息原语用于完成应用程序和消息总线间的信息交换;共享内存通信模块用于节点内的消息传递,以实现实时数据的高效传输;网络通信模块用于节点间的消息传递,利用组播技术和点对点分别实现一对多、一对一的消息传输方式。消息总线结构示意图如图2所示。【2】
2.3 功能设计消息总线设计通用的消息报文作为实时消息的承载体,该报文由消息头和消息体两部分组成,其中消息头主要包含消息体长度、事件集和事件等信息,是每个消息报文在发送时必须携带的公共信息;消息体是消息报文的数据部分,由应用程序针对不同的消息功能来定义各自的消息体。
为实现消息分类功能,消息总线对消息报文按照事件集、事件两级进行划分,应用程序可根据实际业务需求定义相应的事件集,再定义事件集中的事件。
消息总线以消息原语的方式为应用程序提供注册、撤销注册、订阅消息、撤销订阅、发布消息、接收消息等功能,消息总线原语如表1所示。【3】
消息总线采用订阅/发布模式进行数据传输,消息接收者只有在订阅某个事件集的消息后,才能接收属于该事件集的消息。消息发送者在发送消息时指定事件集,由消息总线将该消息发送给已订阅此事件集的所有消息接收者。消息原语使用场景示意图如图3所示。【4】
各消息原语的功能说明如下。
1)注册:应用程序注册消息总线以获取相关资源,以便后续调用其他消息原语。
2)撤销注册:应用程序撤销自己对消息总线的注册,以释放相关资源。应用程序撤销注册后,将不能使用发布消息、接收消息、订阅消息和撤销订阅等功能。
3)订阅消息:已注册消息总线的应用程序向消息总线订阅所需消息的事件集,只有在订阅消息后,应用程序才能从消息总线接收消息。
4)撤销订阅:应用程序对已订阅事件集的撤销,应用程序撤销订阅某个事件集后,消息总线不再把属于该事件集的任何消息发送给该应用程序。
5)发布消息:应用程序调用该原语来发布消息。
发布消息时需要在消息中指定消息所属的事件集,消息总线将该消息发送给已订阅此事件集的所有应用程序。
6)接收消息:已订阅某个事件集的应用程序从消息总线上接收属于该事件集的消息。
3 服务总线
3.1 概述 智能电网调度控制系统内的应用模块在生产区间及上下级调度间存在频繁的实时数据交互,为了满足系统对安全性、高效性、实时性和统一性的要求,提出了服务总线。
服务总线构建面向服务架构(SOA)的系统结构,屏蔽实现数据交换所需的底层通信技术和应用处理的具体方法,基于调度证书和安全标签实现应用层端对端的数据安全,实现服务的分布部署,提供典型的服务请求模式,通过提供服务原语实现服务访问、服务响应和服务管理,满足系统对数据交互安全和统一性的要求。
3.2 服务总线结构 服务总线从逻辑上分为服务管理中心、客户端接口、服务端接口3部分,结构示意图如图4所示。【5】
服务管理中心根据策略完成服务的注册信息收集,提供对服务信息的定位、查询和监控。客户端接口用于完成服务的定位、服务请求和服务订阅等功能。服务端接口用于完成服务的注册、服务分发、服务发布等功能。
3.3 功能设计 为解决系统在数据交互方式统一性的要求,服务总线对服务的信息进行注册管理,将服务的访问和应答请求信息进行内部封装,实现数据交换所需的底层通信技术和应用处理的具体方法,对服务访问与服务应答方式进行抽象,提出两种服务模型框架:请求/响应模型和订阅/发布模型。请求/响应模型提供“拉数据”(data pull)的服务方式。服务请求者访问服务需发送服务请求,从服务发布者获取服务结果。订阅/发布模型提供“推数据”(data push)的服务方式。服务请求者访问服务时发送请求,由服务发布者根据需求向服务请求者主动推送服务结果。
服务原语用于完成服务总线和应用程序的信息交换,包括服务管理原语和服务功能原语。服务管理原语完成服务的注册和定位。服务功能原语包括服务请求、服务应答、服务订阅、服务订阅响应、服务发布等。服务原语一览表如表2所示。【6】
应用程序通过服务原语使用服务总线,根据不同的业务需要,采用请求/响应模型或者订阅/发布模型。请求/响应模式的交互流程如图5所示。首先服务发布者注册服务信息;然后服务请求者定位服务信息,根据服务信息服务请求者向服务发布者发送服务请求;再次服务发布者收到服务请求后立刻进行服务分发;最后服务请求者接收服务请求。【7】
订阅/发布模式的交互流程如图6所示。首先服务发布者注册服务信息,进行服务订阅发布注册;然后服务请求者定位服务信息,根据服务信息服务请求者向服务发布者进行服务订阅;再次服务发布者在有结果需发布时进行订阅结果发布;最后服务请求者接收订阅结果。【8】
4 消息邮件
4.1 概述
消息邮件主要服务于横向(生产大区和管理大区之间)、纵向(上下级调度之间)的消息、文件、流程等内容的传输和交互,为智能电网调度控制系统建立规范、统一、安全、可靠的传输模式和传输通道。
为保证传输内容的安全可靠,在纵向传输过程中利用通信网关的加密、解密功能实现数据的加密传输。消息邮件在生产大区、管理大区和上下级调度间的传输示意图如图7所示。【9】
4.2 消息邮件结构
消息邮件以文件作为通信的载体,包含“头文件”和“附件文件”两种文件,一个头文件和多个附件文件组成一封邮件,通过邮件发送、接收的方式实现横向跨区和纵向跨级的信息交互。
头文件是邮件传输的基本信息载体,是传输的唯一标识,主要包含发送地址、接收地址、传输类型等内容,文件格式符合E语言规范。头文件的内容如下。其中的附件文件是邮件传输的数据内容,主要包含应用根据业务需求定义的数据。
〈E VERSION=1.0CODE=GB2312〉
〈消息邮件∷传输说明data='yyyy-mm-dd hh:mm:ss'
@ #顺序 属性名 属性值
#1标识 [字符串]
#2发送地址 单位.分区.部门
#3接收地址 单位1.分区.部门1单位2.分区.部门2单位n.分区.部门n
#4传输类型 邮件/流程/查询/周期
#5传输通道 通信网关机/报文/服务调用
#6标题‘邮件标题'
#7附近’文件名1'‘文件名2’… ‘文件名n'
〈/消息邮件∷传输说明〉
4.3 功能设计
消息邮件功能的设计参照通用网络邮件服务,提供了邮件收发与管理功能、多机热备功能、邮件路由功能和反向功能等四大类功能。
1)邮件收发与管理功能:包括发送邮件、接收邮件、读邮件、下载附件、删除邮件、地址簿管理和用户管理等功能,为用户提供类似通用网络邮件的管理与操作方式。
2)多机热备功能:同一邮局邮件服务之间实现负载均衡,邮件服务之间进行邮件的数据同步和操作同步,保证同一邮局邮件服务间的数据和状态一致性。
3)邮件路由功能:包括横向路由功能和纵向路由功能。横向路由功能实现邮件在各生产大区与管理大区间的横向路由转发;纵向路由功能实现邮件在上下级调度间的邮件路由转发;横向路由和纵向路由一起实现了消息邮件在智能电网调度网络传输的“纵向到底”和“横向到边”。
4)反向功能:包括反向传输功能和反向探测功能。反向传输功能实现消息邮件跨越隔离设备的邮件传输;反向探测功能对正反向隔离设备的邮件传输情况进行监控,在正反向隔离设备邮件传输出现异常时报警。
5 应用实例
5.1 消息总线 在智能电网调度控制系统中,数据采集应用和数据处理应用间的消息传递基于消息总线实现,数据采集应用通过消息总线向数据处理应用发送遥测、遥信等实时数据,数据处理应用通过消息总线向数据采集应用下发遥控指令。
通过消息总线提供的高效数据通信和信息交换机制,实现了电网事件即时触发在线稳定分析的功能。电网稳态监控功能通过将母线、线路和联变的运行状态变化作为电网事件,通过消息总线发出告警信息并快速触发状态估计、静态安全分析和在线安全稳定预警功能的运行,为运行人员及时掌握电网的变化方式和电网安全状况提供有效的技术手段。
5.2 服务总线 服务总线已经在智能电网调度控制系统中得到了大量应用。基于订阅/发布模式开发了画面刷新服务,将实时变化的遥测和遥信数据通过服务总线推送给画面,实现画面的动态实时刷新;基于远程服务接口进行告警信息的推送,实现了多级调度间的故障信息共享。
5.3 消息邮件 在智能电网调度控制系统中,消息邮件实现了系统的横向到边、纵向到底的贯通,主要支撑业务跨区、跨机构、非实时数据的文件传输。在福建数据传输平台中,通过消息邮件的方式实现了生产大区、管理大区和福建备调间的数据同步、文件同步、数据库同步。
消息邮件已经在32个省网调、多个地调进行了广泛部署,支撑着众多业务的运行,部分部署范围和支撑业务如表3所示。【10】
6 结语
数据总线技术满足了智能电网调度控制系统在多级调度中心的数据广域共享和纵向贯通的要求,为智能电网调度控制系统横向集成、纵向贯通提供了技术支撑。消息总线、服务总线、消息邮件技术提供统一的数据传输机制,结合电网系统在数据传输方面的业务特点,实现了高效实时、安全可靠、跨区跨级的数据传输和交互,提供了安全高效的数据通信和信息交换机制,为智能电网调度控制系统的运行提供了技术支撑。