摘要: 针对电网在线分析系统快速(秒级)响应需求,研发了一套适用于电网实时安稳评估、面向事件驱动的规则评估的复杂事件处理(CEP)引擎软件系统。首先介绍了CEP引擎的系统架构设计,相关软件功能模块的实现技术路线和主要实施步骤。其次描述了CEP技术在电网在线分析中应用的方法,包括在线快速安稳评估、电网运行状态实时跟踪、电网运行态势感知和大电网全局监控应用场景。
关键词: 复杂事件处理; 在线分析; 事件驱动架构; 规则引擎; 实时跟踪; 态势感知; 全局监控
0 引言
随着特高压大电网的形成,电网形态和运行特性呈现高度耦合的一体化特征。电网规模不断扩大,电力电子设备的大量应用,交直流之间和大区域电网之间相互影响进一步加强,新能源并网容量大幅度增长,对电网的在线监视、分析和控制提出严峻挑战,对电网在线动态安全分析(DSA)的实时性提出了更高要求[1]。文献[2]指出中国电网的调度与控制形态正在发生重大变化, 现有的分调、省调实时监控手段将难以满足调控运行的新需求,在数据采集、通信、数据存储及访问等方面都将面临一系列新问题。大电网全局监控支撑能力需要具有更广阔的监视范围、更多元的监视内容、更强大的实时数据处理能力、更高的数据实时性与一致性、更大寻优空间的协调控制,以及更为友好实用的辅助决策支持。
复杂事件处理(complex event processing,CEP)软件技术近年来引起了广泛关注,已在许多领域的实时监控和风险评估方面得到广泛的应用。例如,在金融领域,CEP能有效地解决与交易、风险管理及合规管理等有关的市场数据大幅上涨所带来的问题[3]。CEP在射频识别(radio frequency identification,RFID)领域的应用成功地解决了企业信息系统[4]、实时定位系统[5]、物流[6]和医疗保健[7]等方面的许多问题。CEP技术已在大型分布式计算机系统的故障定位中得到应用[8]。在电网应用方面,文献[9]以CEP为核心技术分析了电网实时监控系统架构,采用事件处理语言和Esper[10]完成电网实时监控系统的应用研究。针对现有故障信息处理及诊断中存在的“数据过剩而信息不足” 的现状,文献[11]引入CEP技术,从信息、事件处理的本质层面开展电网故障信息分析和诊断方法的研究。目前,中国CEP技术在电网应用的研究目前仍处于理论、方法探索阶段,还没有整体解决方案和配套支撑软件技术。
CEP是一个含义很广泛的抽象概念[12],CEP技术有多种应用场景,常用于流式数据处理[13-14]。世界上各大软件公司都有成熟的商业CEP产品。本文CEP技术研究的聚焦类似TIBCO的CEP产品BusinessEvents[15-16],“面向事件驱动的规则评估(event driven rule evaluation)”的CEP方法。大电网运行可能出现的变化情况理论上是不可穷举的,然而,在实际生产中指导调度员日常调度运行工作的具体安全稳定规定内容是有限的,可以用一组规则完整表示。目前正在推广的动态限额应用[17]的基本技术路线是将安全稳定规程电子化形成一组规则。这种方法也已在PJM AC2项目的电网运行在线监测智能事件处理(intelligent event processing,IEP)系统中得到了成功应用[18]。需要指出的是PJM的IEP系统是基于商业CEP产品开发的。从成本和安全等方面考虑,有必要自主研发CEP引擎软件系统。
目前电网在线分析架构采用周期性、批处理计算模式,具有分钟级响应速度。文献[19]提出了一种新的在线分析系统架构,为最终实现具有秒级响应的新一代在线分析系统提供技术支撑[20]。该架构基于电网实时分析模型,采用事件驱动、实时数据处理计算模式,采用CEP技术实现电网分析模型与其他在线分析软件模块之间的实时信息交互、协同。CEP技术的核心是一个高效率、可弹性伸缩的通用CEP引擎。本文介绍所研发的CEP引擎的架构设计、技术路线和主要实施步骤。
1 CEP基本原理
1.1 CEP概念
CEP[12]是指利用计算机系统处理发生在复杂系统中不同层次的事件,找出其中有意义的事件(集),通过事件的时间/空间关联关系,分析其可能的影响,并根据规则触发后续行动。CEP系统可以从看似无关、孤立的事件中识别有意义、需要关注的事件模式和关联关系,并实时触发、通知其他系统,以采取必要的行动。
从软件系统角度看,CEP是一种实时事件处理方法,它结合来自多个分布式源的数据(事件),即时推断出更为复杂的组合事件或物理过程演变模式。CEP的目标是识别有意义的事件,以推断可能出现的机会或威胁,并给予实时响应。这些事件可能发生在复杂系统的不同时间点和不同空间位置,CEP提供了一种实时分析事件关联关系模式的新思路。事件关联关系是关键点,因为它可以识别事件关联模式,并根据由历史数据或人类经验总结的规则,即时判断复杂大系统出现问题的可能性。
在日常生活中会观察到许多物理事件,例如电网短路故障等。在数字化世界中,通过测量这些事件通常会以某种数字的形式在软件系统中给予表示。在事件驱动架构(Event Driven Architecture)体系中,代表某物理事件的消息(message)通过消息总线可以从一个应用送到另一个应用,如图1所示。在CEP中事件是指出现在消息总线上代表某物理事件的消息。由此可以看到CEP中的事件是一个信息技术(IT)系统实施层面的概念。

图1 CEP事件概念
Fig.1 Concept of CEP event
在软件系统实施中,事件处理大体上有两种方式:①储存然后处理(save-then-process);②即时处理(process-as-it-happen)。在“储存然后处理”方式中,事件先被储存到数据库中,然后再进行数据分析和挖掘。在“即时处理”方式中,由不同应用产生的事件在事件处理模块中即时处理,事件处理结果又可以事件的形式通知(Notification)下游决策系统。CEP采用“即时处理”事件处理方式。
1.2 CEP引擎基本功能
CEP技术的核心是一个高效率、弹性可伸缩的CEP引擎。“面向事件驱动的规则评估”的CEP引擎示意图如图2所示,由3个基本功能模块组成:①规则引擎;②内存;③状态机。CEP引擎采用事件驱动架构,其输入、输出以事件形式呈现,使基于CEP引擎开发的应用的响应更加灵活、敏捷。CEP引擎事件处理的基本原理如图3所示。

图2 CEP引擎功能模块
Fig.2 Functional modules of CEP engine

图3 CEP引擎原理
Fig.3 Principle of CEP engine
在处理实时事件(数据)的同时,被监视的物理系统的当前状态/历史数据能够以对象形式在引擎内存中保存,并且通过事件处理实时更新保存在引擎内存中信息。当一个或一组事件触发事件处理时,规则引擎执行规则评估(Rule evaluation)。CEP规则可以分两类:①事件处理规则;②模式匹配(Pattern Match)规则。事件处理规则类仅关注实时事件,关联相对简单事件的局部、时间关联关系;而模式匹配规则类关注实时事件和当前状态/历史数据的关联关系,通过基于内存计算的模式匹配,发现复杂、全局性的事件之间的时间和空间关联关系,以感知被监测的动态物理系统(事件产生原地)当前和未来可能的发展态势。
1.3 CEP在电网监测中的应用案例
电力系统运行中不断发生如雷雨等自然事件和电器设备打开或关闭等人为事件。大多数事件是无害的,同时受影响的电力系统足够鲁棒,可以承受这些事件(扰动),并且可以安全地过渡到一个新的稳定运行状态。然而,在某些情况下某个事件或一些事件组合可能会导致不正常运行工况,例如由单个故障引起的电网级联系统故障,最终导致电网大面积停电。电力系统运行需要监测可能发生的各种事件,并通过事件之间时间/空间的关联关系识别潜在的问题,以防止类似级联系统故障的发生或限制故障的影响范围。目前虽然已有在线安全分析应用功能来辅助调控运行人员预防连锁故障,但是调控运行人员仍然需要依赖(基于人工记忆)方式编制人员预先制定的安全稳定运行规定进行电网调度。
在“北美2003”大停电中,美国的九个州和加拿大的一个省共5000万人口受到停电影响。造成大停电的一个主要因素是对电网运行状况的判断和实时处理能力不足。因此,美加电力系统停电专责小组建议采用更好的实时监控和运行分析工具,实现广域电网运行状况实时监测[21]。CEP技术在PJM的新一代电网控制中心AC2项目中已得到成功的应用[18]。其智能事件处理系统具有CEP能力,能使调度员在扰动事件发展成故障前,对发生在电网中的事件有更好的可观度,能观测到电网内的事件发展趋势和潜在的问题。具体技术实施路线为:由基于CEP的智能事件处理系统自动完成代表电网中事件的数据汇总和数据模式识别,并把分析结果展示给调度员,从而减轻调度员对复杂大电网运行态势感知的工作压力,使他们能够专注于解决问题和提供决策支持。
2 CEP引擎设计
本研究的主要目标是研发一套具有独立知识产权的面向电网在线分析、适用于电网实时安稳评估的CEP软件系统。CEP引擎(CEP Engine)是软件系统的核心,本节介绍CEP引擎设计。
2.1 CEP引擎架构
本文研发的CEP引擎总体架构如图4所示。一个CEP引擎实例(instance)可以承载多个事件处理单元(Event Processing Unit),每个处理单元完全独立,由单独处理线程运行,具有并行处理程度高、拓展性强的特点。通过企业服务总线(ESB)订阅,多个输入事件队列(Queue)、事件主题(Topic)可以被绑定到一个事件处理单元的本地事件队列(Local Event Queue)中进行处理。另外一个输入事件主题可以通过广播被绑定到多个事件处理单元。消息预处理器(Pre-processor)可以被绑定到事件处理单元。在事件被插入到本地事件队列之前,可采用此消息预处理器来处理、过滤。消息预处理器通常用来实施流式数据处理功能。CEP引擎事件处理结果通过输出事件ESB Queue/Topic发送出去,可以用于告警,或驱动其他基于事件驱动架构的下游应用。事件处理结果也可以被保存到其他地方,例如数据库等。

图4 CEP引擎总体架构图
Fig.4 Overall architecture diagram of CEP engine
事件处理单元有唯一的一个与本地事件队列相对应的单事件处理循环(Single Event Processing Loop),到达本地事件队列的事件将由事件处理循环即时处理。事件处理循环是单线程,当事件进入本地事件队列后,事件处理的先后次序可以得到保证。事件处理单元有一个计时器(Timer),通过计时器事件(TimerEvent),可触发多种不同周期性重复任务的执行。在事件处理单元中可以定义多个状态机(State Machine)。状态机用于管理对象的状态转换。状态机有一个计时器,用于监控状态转换超时(Timeout)现象。如有状态转换超时问题发生,状态机将发出超时预警事件(TimeoutEvent),并插入本地事件队列。
CEP引擎的核心部分是规则引擎(Rules Engine),其他部分可以认为是为规则引擎规则处理提供某种服务。事件处理单元的事件处理循环主要任务是驱动规则引擎,通过规则评估,执行事件处理,这也就是所说的“面向事件驱动的规则评估”的CEP处理方法。规则评估结果通常通过事件输出,同时具备驱动存储在数据网格中的对象数据更新的功能。特别要指出的是,CEP引擎具有规则链(ChainRule)处理功能:规则评估可以导致触发另一条规则的执行,即规则评估输出为规则触发事件(Rule Event),从而形成规则链的执行过程。
事件处理相关的对象数据(物理系统当前断面状态和历史数据)通常存储在缓存(Cache)中,对象数据可以在处理过程中加载和保存到CEP引擎节点内存中,以提高数据处理效率。CEP引擎架构设计提供一个缓存服务接口(Cache Interface),这样不同应用可根据其需求选择最合适的缓存机制。同时,多个CEP引擎实例可以依托同一个分布式内存并行运行。唯一的限制是在多个CEP引擎实例并行运行时,需要确保分布式缓存中数据的一致性。
2.2 CEP引擎应用研发框架
如图5所示本文研发的CEP软件系统的实施架构分为2层:①CEP引擎框架(framework);②CEP应用系统。在框架层实施独立于CEP应用层的通用功能,包括:①规则引擎;②分布式缓存;③状态机;④流式数据处理等通用、可重用功能。在CEP应用系统层,根据不同应用需求,通过扩展框架层通用功能来实现CEP应用特有功能的研发。通过扩展CEP引擎框架研发CEP应用的示例如图6所示。

图5 CEP引擎实施框架图
Fig.5 Implementation framework of CEP engine

图6 CEP应用类继承关系图
Fig.6 Inheritance relationship of CEP application class
CEP framework事件处理单元基础类baseEventProcessingUnit继承Vert.x开源软件框架[22]的AbstractVerticle类。Vert.x为CEP引擎提供运行环境(Runtime),详见3.1节讨论。某CEP应用的事件处理单元类MyAppEvent ProcessingUnit的研发继承CEP框架baseEvent ProcessingUnit类,通过功能的扩展,实施该应用特有事件处理单元功能。
3 CEP引擎实施
基于第2节介绍的CEP引擎架构设计,本文的CEP引擎研发工作是在拓展相关开源软件技术基础上完成的,包括:Vert.x[22],Hazelcast[23], Easy Rules[24],MVEL[25],YAML[26]等。在本文的CEP引擎实现中不使用任何商业软件包,因此研发的CEP引擎具有独立知识产权。本节介绍CEP引擎的技术路线和主要实施步骤。
3.1 引擎运行环境
如图2和图4所示,CEP引擎采用事件驱动架构。CEP引擎运行环境(Runtime)的实施是基于事件驱动、非阻塞(Non-blocking)的Vert.x开源软件工具包(Tool-Kit)[22]。CEP引擎事件处理单元,通过扩展Vert.x非阻塞地处理请求,异步执行程序代码。这种非阻塞异步执行方式使得CEP引擎可以使用少量的内核线程(Kernel Thread)处理大量并发性事件,保证请求事件处理的高效性。CEP引擎的实施采用事件驱动、反应式(Reactive)架构和反应式编程(Reactive Programming)方法[27]。反应式编程是一种面向事件/数据流和变化传播的编程范式, 相关的计算单元会自动将变化信息通过数据流进行传播。反应式编程可以提高代码的抽象层级,使得编程人员在实施架构层面可以主要聚焦定义业务逻辑相互交互的事件,避免纠缠于大量的业务逻辑实现细节。这种方式具有更加灵活、松耦合和可伸缩的特点,更容易拓展和适应变化。
3.2 规则引擎实施
CEP引擎的核心部分是规则引擎(Rules Engine), 规则引擎的执行是实施“面向事件驱动的规则评估”功能的关键步骤。本文研发的规则引擎的实施技术路线如图7所示。规则的评估是由事件触发,其输入包括事实(Facts)和规则集(RuleSet)两部分。事实和规则集的定义信息是从规则描述文件(YAML格式[26])在CEP引擎启动时加载。规则内容基于MVEL[25]表达式语言(expression Language)定义。规则引擎是通过扩展开源软件Easy Rules[24]规则引擎框架实现的。规则评估输出通常是以事件的形式发送给下游的应用程序。

图7 规则引擎实施技术路线
Fig.7 Implementation approach of rule engine
3.3 规则通用表示
CEP引擎和其规则引擎总是由某种计算机语言编程开发,本文介绍的CEP引擎和其规则引擎用Java编程开发。规则在编程语言层面可以用if-then-else逻辑语句表示,本文CEP引擎在最底层支撑用Java if逻辑语句编写规则。然而,在实际应用中,通常并不用if逻辑语句表示复杂商业规则,例如,电网调控安全稳定运行规定文档中没有出现任何if逻辑语句。用if逻辑语句表示复杂商业规则,势必导致软件系统维护困难。
本文的规则引擎采用规则的通用表示方法[16]。规则的通用表示由声明(Declaration)、条件(Condition)和动作(Action)3个基本部分组成。在电网在线监测应用中,规则声明部分定义的事实(Facts)通常包括电网运行中的实时测量信息、事件和电网当前运行状态,主要为规则条件的定义提供数据支撑。条件部分可以定义电网在线监测规则,例如,电网安全稳定运行规定中的方式和安控条件等规则。规则行动部分定义如果电网在线监测规则条件成立,驱动电网在线监测告警细节,通常是通过人机界面将告警信息呈现给调度员,也可以通过智能电网调度控制系统(本文称D5000)数据总线将处理结果发布出去,驱动其他电网高级应用。
3.4 规则示例
附录A为一个简化过的电网支路有功功率极限监测规则集示例。在规则集(ruleSet)部分,定义规则集父/子(Parent/Child)关系。一个父规则集可以有多个子规则集。在示例中,支路功率极限规则集(branchLimitRuleSet)是某电网监视规则集(netRuleSet)的子规则集。在声明(declarations)部分定义事实:以对象形式呈现的电网当前运行状态,为规则条件定义提供数据支撑。在示例中,定义了一个电网支路事实(Branch1),及此支路事实与电网实时分析模型中支路对象的映射关系。在规则(rules)部分定义规则,多个规则可以在此被定义。规则执行条件(condition)和执行动作(actions)的定义基于MVEL表达式语言(示例中斜体部分)。在MVEL表达式语言定义的规则条件和动作定义中,用到了在声明部分定义的事实(ranch1)和CEP引擎的事件处理单元对象(epunit)。规则评估结果通过事件处理单元的通知队列(epunit.notifyQ)广播输出。
3.5 分布式缓存
CEP引擎在执行模式匹配规则时,需要当前状态和历史数据的支持。CEP引擎以对象形式在缓存中保存这部分信息,如图4所示。CEP引擎缓存通常采用分布式数据网格技术,以便能够储存大量历史数据。本文研发的CEP引擎缓存的实施是基于Hazelcast[23]分布式数据网格。存储于数据网格中的对象数据通过事件驱动实时更新,也可以和外部数据源周期性批量同步。另外,分布式数据网格支持内存计算,使得复杂数据处理和分析可以在数据网格节点上执行,减少数据处理过程中由大量数据移动而产生的计算资源开销[28]。
3.6 D5000数据总线适配器
如图2所示,CEP引擎的输入、输出基于企业服务总线的消息订阅和发布,以事件形式呈现。在电网在线分析应用中,CEP引擎需要实现与D5000电网调控平台[29]数据总线的集成、信息交互。本文研发的CEP引擎基于Vert.x[22]运行环境,使用Java编程语言。D5000数据总线采用C编程语言。因此需要研发D5000数据总线适配器,实现D5000调控平台C/C++子系统与Java子系统信息交互,支撑CEP引擎与D5000调控平台集成。
本文研发的D5000数据总线适配器架构如图8所示。D5000数据总线消息是以byte[]形式为消息载体的通用消息类型,在分布式计算集群中这种消息可以通过数据总线从一个节点自动传送到另一个节点。应用程序的消息可以通过C/C++适配器或Java适配器实现基于数据总线的消息发送和接收。适配器的主要功能是实现数据总线通用消息载体与特定的基于不同编程语言的应用消息转换。消息转换是基于D5000数据总线消息载体编码/解码(encode/decode)库实施的。另外,适配器具有实时事件驱动功能,即适配器可以通过配置订阅C/C++或Java应用中对象状态变化,实时将所关注的变化以消息的形式发布到数据总线上。

图8 D5000数据总线适配器架构图
Fig.8 Adapter architecture of D5000 data bus
4 CEP在在线分析中的应用
本文CEP引擎的研发是为实施新在线分析系统架构[19],最终实现具有秒级响应的新一代在线分析系统提供技术支撑[20]。这种通用CEP引擎在电网在线分析中将会有许多潜在的应用场景,本小节初探几个典型场景。
4.1 快速安稳评估
基于新在线分析系统架构[19],一种快速在线分析系统实施方案如图9所示。

图9 快速在线分析系统实施架构
Fig.9 Implementation architecture of the fast online analysis system
这是一种典型的基于反应式架构[27]和“即时处理”方式(见1.2小节讨论)的系统设计。运行在分布式内存数据网格中的电网分析模型,通过D5000数据总线订阅由分布式SCADA系统[30]发布的电网实时变化测量信息, 由CEP引擎协调模型的实时更新,实现电网运行状态变化的实时(秒级)跟踪。
目前,电网调度安全稳定运行规定以文档形式呈现,由调度员依照文档内容人工执行。调度规程可以通过量化形成稳定运行规则集,加载到CEP引擎,由其自动执行规则评估,以实现基于事件驱动或周期性触发的稳定运行规则的评估,从而实现电网运行的实时态势感知。如有必要,CEP引擎可以通过事件驱动后续快速安稳评估应用。稳定运行规则集的评估是基于存储于电网分析模型中的电网实时运行状态,通过内存计算高效实现[28]。
4.2 运行状态实时跟踪
在电网运行过程中,当系统出现变化或扰动时,CEP引擎从D5000数据总线上订阅变化、扰动事件,实时更新存储在数据网格中的电网分析模型。以电网节点功率变化为例,实时跟踪实施基本步骤如图10所示。

图10 电网分析模型实时更新序列图
Fig.10 Real-time updating sequence diagram of power grid analysis model
如图10所示,数据总线接收器(Bus Receiver)接收发布在D5000数据总线上的电网变化事件消息(message),转发给CEP引擎处理变化事件消息。CEP引擎生成电网模型更新内存计算任务(task),并且发送给数据网格(Data Grid)。电网模型在数据网格中经过反序列化形成模型对象,然后执行内存计算任务,更新电网模型对象。最后,将更新后的电网模型序列化并存储到数据网格,完成电网模型的更新。
以目前国调在线分析系统中的数据模型(从D5000系统直接导出、约4万节点)作为案例,实现并测试了六种基本、简单的CEP规则。在笔记本电脑(Intel Core i7-6820 2.70 GHz)上的规则执行性能测试结果如表1所示。
表1 CEP规则执行性能测试结果
Table 1 Performance test results of CEP rule

这6种基本CEP规则的执行效率高,都是毫秒级。实际应用中,CEP规则将会更复杂。而复杂(复合)规则是由简单基本规则组合实现,其执行时间将会长一些,但可以预计仍然会是秒级。
4.3 稳定规程评估案例
以中国湖南电网调度运行为例,调度员在执行安全稳定运行规定过程中,需要依照2个调度规则文档(共约200页),监视多个电网实时运行状态量测量。目前这些调控规则都由人工理解、记忆和执行,是一项十分复杂的高强度脑力工作。如果在电网运行过程中采用CEP引擎,当系统出现变化或扰动时,CEP引擎可以实时更新电网分析模型。同时,数据网格可以通过设置将需要监视的模型变化以事件的形式通知CEP引擎,触发CEP引擎执行电网运行态势感知规则的评估,如图11所示。

图11 态势感知示例实施流程图
Fig.11 Implementation flow chart of situation awareness sample
2017年湖南电网负荷最高点为2.664×107 kW,大约出现在8月7日21:30,当时祁韶(酒泉—湖南)直流功率为1.65×106 kW,鄂湘(湖北—湖南)联络线功率为1.16×106 kW,牌楼主变下网功率为3.57×105 kW。将描述当时电网运行状态的CIM/E质量体系程序(QS)文件导入电网实时分析模型,同时将2017年湖南安全稳定规定文档及当时执行的电网临时稳措单中相关(部分)调度规则导入CEP引擎,并且触发CEP引擎执行规则评估,如图11所示。如果仅根据安全稳定规定文档中调度规则,在总负荷大于2.20×107 kW,祁韶直流功率为1.65×106 kW,鄂湘联络线功率应小于2×105 kW,出现安全稳定越限场景,CEP引擎发出相应的越限告警信息。然而,如果同时执行的电网临时稳措单规定,在总负荷大于2.2×107 kW,祁韶直流功率为1.65×106 kW,若满足湘中火电开机不少于8台、负荷中心火电开机不少于17台并均留20%旋备要求,鄂湘联络线功率可按不超1.4×106 kW控制。CEP引擎不触发告警信息。当时实际情况是在湖南电网湘中、负荷中心火电开机分别为9台、19台且均留有20%旋备,满足临时稳措单要求,湖南电网当时实际不存在安全稳定越限问题。
4.4 运行态势实时感知
当前D5000具有基于消息总线的应用功能间事件驱动机制,在一些应用功能(如综合智能告警[31])中采用了CEP基本思想,但是缺乏具有灵活功能扩展支撑能力的CEP软件系统的研发机制,以支持基于电网分析模型和事件驱动的CEP实时处理应用功能扩展开发,进而能够为调控人员提供“基于分析的系统事件级”的电网秒级态势感知能力。
在4.3节讨论的案例中,基于CEP引擎的电网运行态势感知功能的展示是通过将湖南省调某历史断面导入电网分析模型来实施的。如果按照图9,CEP引擎的电网稳定运行规则实施基于电网实时分析模型,这种实施方式可以实现电网运行的实时(秒级)态势感知,即对电网稳定运行规则的秒级评估。
动态限额[17]是一种基于电网运行方式和安控策略的编制方法和应用技术,目前已在国调、分调和省调等几个调控中心进行了试点应用。其特点如下。
1)在编制方法方面,动态限额用if逻辑语句形式表示电网运行方式和安控策略规则。在实际应用中发现基于这种方法,电网稳定规定和策略的电子化录入和日常维护十分复杂。
2)在应用方面,动态限额的运行方式和安控策略规则评估是从由国调发布的QS文件(由状态估计生成的潮流断面)中获取相关设备的状态和工作值。目前国调QS文件周期性发布,发布周期为5 min。另外,目前国调QS文件的形成过程延时约2 min。因此,基于动态限额的态势感知响应速度目前是分钟级。
需要说明的是,CEP引擎研发团队到目前为止主要聚焦在CEP引擎软件系统的研发工作上,下一步将探索CEP技术在电网在线分析实际应用。CEP引擎研发团队、中国电力科学研究院有限公司动态限额研发团队将和某省调合作,在实际电网上并行运行、测试和比较基于CEP引擎和基于动态限额的两种电网运行态势感知方法。
4.5 大电网全局监控
文献[2]提出了大电网全局监控总体技术思路, 并指出大电网全局监控是实现全局分析、全网防控及全局优化决策的基础与前提。全局监控功能主要包括监视、控制、分析及全局控制决策等功能,全局监控分析功能的主要目的是实现告警综合分析和事件处置导航。告警综合分析是指基于事件链的跨区电网故障及扰动的故障源定位及按需推送技术,帮助调控人员实现跨区和域外电网故障及扰动的即时感知,迅速定位扰动源; 事件处置导航是指调控作业自动导航技术, 实现告警监视、分析预警应用服务等整体联动协同, 支持可视化、流程化的作业引导, 提高调度人员告警处置效率[2]。
告警综合分析和事件处置导航功能可以通过扩展本文研发的CEP引擎实施。如图9所示,在基于CEP技术的快速在线分析系统实施架构中, CEP引擎通过和电网实时分析模型交互可实施基于事件链的全网故障及扰动的故障源定位。通过如图2所示的CEP引擎事件输出机制按规则推送告警综合分析结果,可以实现全网故障及扰动的即时感知,实时(秒级)定位。如图2所示,本文研发的CEP引擎包含状态机功能模块,通过和电网实时分析模型交互,可用于基于状态转换限制规则的复杂事件处置自动导航的实施。类似的应用场景和应用功能已在PJM的AC2项目中的智能事件处理系统实现[18]。
5 结语
随着特高压交直流电网的快速发展,电力系统运行方式多变,电网结构日益复杂,调控运行规程规定日趋繁杂,电网风险分析更加复杂。在目前的在线分析系统中,信息处理执行流程是静态和线性的,具有分钟级响应速度。在新一代快速(秒级)在线分析系统中,信息处理执行流程将基于事件驱动,是动态和非线性的。采用CEP技术控制和协调信息实时处理执行流程,有望在实现秒级在线分析响应速度上实现突破。
在借鉴世界上各大软件公司商业CEP产品基础上,本文介绍了一个聚焦点为“面向事件驱动的规则评估”的CEP方法、具有独立知识产权的CEP引擎的研发工作, 包括CEP引擎的架构设计,引擎研发的技术路线和主要实施步骤。本文的CEP引擎能够灵活支持基于事件驱动机制的电网态势评估规则的扩展,为下一代电网调控系统平台研发提供有益的启发与借鉴。
当前调度运行人员主要依靠规程规定的人工理解和记忆开展调控业务,工作效率低,安全运行复杂大电网的风险和压力明显增加。随着基于CEP的电网运行状态实时跟踪和态势实时感知技术在新一代快速在线分析系统中实施和推广应用,预期会有效深化在线安全分析应用,实现调控运行由经验型向分析型转型。CEP技术在在线分析中应用的设想与展望如下。
1)量化处理现有的调控运行规则、调度员的行为,形成明确、具体的处理策略,将结构化的规程规定转成具有严格的逻辑推理的完整量化规程规定,并基于CEP规则引擎建立计算机软件系统能够识别的调度知识库。通过深度学习神经网络进行训练,实现对调度知识库的自我完善与扩充。
2)基于调度知识库,结合滚动负荷预测、电网实时运行情况等,实现日内及实时发电计划的智能调控方法。CEP规则引擎将在业务过程工作流(Business Process Workflow)导航和系统集成方面提供技术支撑。
3)基于CEP引擎技术,实现电网在线风险预警和辅助决策的智能化,从而减轻调控运行人员工作量,将更多精力投入至电网特性分析和重大事故处置方面,有助于确保大电网安全稳定运行。