适应电网主动调度需求的全局分析和防控方法与系统
技术领域
本发明涉及电力系统技术领域,尤其是涉及适应电网主动调度需求的全局分析和防控方法与系统。
背景技术
尽管目前电网运行状况较为良好,但实际上随着电网规模的逐渐增大,对电网的运行状况进行判断和实时处理能力需要进一步提高,在北美2003大停电中,美国的九个州和加拿大的一个省共5000万人口受到停电影响,大停电的一个主要因素是对电网运行状况的判断和实时处理能力不足,可见对电网数据进行分析的重要意义。
因此,如何对大电网进行复杂事件的处理成为一件亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供适应电网主动调度需求的全局分析和防控方法与系统,利用内存数据网格的动态可扩展性、高可靠性和高可用性,在分布式内存数据网格上研发出电网分析模型,支持面向内存计算模式的电网仿真计算分析架构体系,对复杂事件具有秒级分析的功能。
第一方面,本发明实施例提供了适应电网主动调度需求的全局分析和防控方法,包括:
利用电网对象建模方法和开源内存数据网格技术建立电网实时分析模型;
将仿真算法直接封装于所述电网实时分析模型上,并进行内存计算得到内存计算数据;
对所述内存计算数据进行并行计算得到并行计算数据。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述利用电网对象建模方法和开源内存数据网格技术建立电网实时分析模型包括:
获取电网元素对象,其中,所述电网元素对象包括节点对象和支路对象;
将所述电网元素对象通过哈希函数与键一一对应;
各个所述电网元素对象经过序列化后,根据所述键自动分布并存储于一个或多个缓存服务节点,以在内存数据网格中建立支持内存计算的所述电网实时分析模型。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述将仿真算法直接封装于所述电网实时分析模型上,并进行内存计算得到内存计算数据包括:
采用面向服务的编程思想,将所述仿真算法以服务形式封装于所述电网实时分析模型上;
调用相应的所述仿真算法进行电网仿真计算得到所述内存计算数据。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述并行计算包括多虚拟机级别并行计算、多案例级别并行计算和算法级别并行计算。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述多虚拟机级别并行计算是将所述电网实时分析模型分布到多台虚拟机中,并在所述多台虚拟机上进行所述并行计算。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述多案例级别并行计算是在每个仿真计算案例由一个所述电网实时分析模型的对象来表示的基础上,将多个所述电网实时分析模型的对象存储在虚拟机并进行所述并行计算。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述算法级别并行计算是将所述仿真算法设计为仿真对象在整个算法的执行过程中处于只读模式以保证所述仿真对象多线程安全。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述对所述内存计算数据进行并行计算得到并行计算数据包括:
对所述内存计算数据进行所述多虚拟机级别并行计算、所述多案例级别并行计算或所述算法级别并行计算得到所述并行计算数据。
第二方面,本发明实施例提供了适应电网主动调度需求的全局分析和防控系统,包括:
模型建立单元,用于利用电网对象建模方法和开源内存数据网格技术建立电网实时分析模型;
内存计算单元,用于将仿真算法直接封装于所述电网实时分析模型上,并进行内存计算得到内存计算数据;
并行计算单元,用于对所述内存计算数据进行并行计算得到并行计算数据。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述内存计算单元包括:
算法封装单元,用于采用面向服务的编程思想,将所述仿真算法以服务形式封装于所述电网实时分析模型上;
计算单元,用于调用相应的所述仿真算法进行电网仿真计算得到所述内存计算数据。
本发明提供了适应电网主动调度需求的全局分析和防控方法与系统,包括利用电网对象建模方法和开源内存数据网格技术建立电网实时分析模型;将仿真算法直接封装于电网实时分析模型上,并进行内存计算得到内存计算数据;对内存计算数据进行并行计算得到并行计算数据。本发明利用内存数据网格的动态可扩展性、高可靠性和高可用性,在分布式内存数据网格上研发出电网分析模型,支持面向内存计算模式的电网仿真计算分析架构体系,对复杂事件具有秒级分析的功能。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的适应电网主动调度需求的全局分析和防控方法流程图;
图2为本发明实施例提供的适应电网主动调度需求的全局分析和防控系统示意图;
图3为本发明实施例提供的基于CEP的电网在线智能事件处理系统示意图;
图4为本发明实施例提供的电网模型总体功能示意图;
图5为本发明实施例提供的电网实时分析建模示意图;
图6为本发明实施例提供的电网分析的内存计算实施示意图;
图7为本发明实施例提供的电网分析的并行计算实施示意图。
图标:
10-模型建立单元;20-内存计算单元;30-并行计算单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
尽管目前电网运行状况较为良好,但实际上随着电网规模的逐渐增大,对电网的运行状况进行判断和实时处理能力需要进一步提高,在北美2003大停电中,美国的九个州和加拿大的一个省共5000万人口受到停电影响,大停电的一个主要因素是对电网运行状况的判断和实时处理能力不足,可见对电网数据进行分析的重要意义。因此,如何对大电网进行复杂事件的处理成为一件亟待解决的问题。基于此,本发明实施例提供的适应电网主动调度需求的全局分析和防控方法与系统,利用内存数据网格的动态可扩展性、高可靠性和高可用性,在分布式内存数据网格上研发出电网分析模型,支持面向内存计算模式的电网仿真计算分析架构体系,对复杂事件具有秒级分析的功能。
实施例一:
参照图1,适应电网主动调度需求的全局分析和防控方法包括:
步骤S101,利用电网对象建模方法和开源内存数据网格技术建立电网实时分析模型;
步骤S102,将仿真算法直接封装于电网实时分析模型上,并进行内存计算得到内存计算数据;
步骤S103,对内存计算数据进行并行计算得到并行计算数据。
进一步地,步骤S101,包括:
获取电网元素对象,其中,电网元素对象包括节点对象和支路对象;
将电网元素对象通过哈希函数与键一一对应;
各个电网元素对象经过序列化后,根据键自动分布并存储于一个或多个缓存服务节点,以在内存数据网格中建立支持内存计算的电网实时分析模型。
进一步地,步骤S102包括:
采用面向服务的编程思想,将仿真算法以服务形式封装于电网实时分析模型上;
调用相应的仿真算法进行电网仿真计算得到内存计算数据。
进一步地,并行计算包括多虚拟机级别并行计算、多案例级别并行计算和算法级别并行计算。
进一步地,多虚拟机级别并行计算是将电网实时分析模型分布到多台虚拟机中,并在多台虚拟机上进行并行计算。
进一步地,多案例级别并行计算是在每个仿真计算案例由一个电网分析模型的对象来表示的基础上,将多个电网分析模型的对象存储在虚拟机并进行并行计算。
进一步地,算法级别并行计算是将仿真算法设计为仿真对象在整个算法的执行过程中处于只读模式以保证仿真对象多线程安全。
进一步地,步骤S103包括:
对内存计算数据进行多虚拟机级别并行计算、多案例级别并行计算或算法级别并行计算得到并行计算数据。
实施例二:
参照图2,适应电网主动调度需求的全局分析和防控系统包括:
模型建立单元10,用于利用电网对象建模方法和开源内存数据网格技术建立电网实时分析模型;
内存计算单元20,用于将仿真算法直接封装于电网实时分析模型上,并进行内存计算得到内存计算数据;
并行计算单元30,用于对内存计算数据进行并行计算得到并行计算数据。
进一步地,内存计算单元20包括:
算法封装单元,用于采用面向服务的编程思想,将仿真算法以服务形式封装于电网实时分析模型上;
计算单元,用于调用相应的仿真算法进行电网仿真计算得到内存计算数据。
实施例三:
为使本发明实施例能够更加容易理解,以下对本发明实施例中用到的理论和实践依据进行介绍。
下面将讨论一个基于CEP技术的电网在线智能事件处理系统案例,如图3所示。智能事件处理系统由规则人机界面、实时PI测量系统、PI配适器、内存数据网格、规则引擎(机)、预警人机界面六个子系统组成。其中,PI是美国OSI公司开发的适用于电厂底层控制的实时时序数据库。事件处理规则储存于规则引擎机中,并由规则引擎机执行。储存于规则引擎机中的规则由规则人机界面子系统维护,规则引擎机执行规则产生的预警事件由预警人机界面子系统展现给电网调度员。在电网运行监控过程中,PI配适器周期性(秒级)从实时PI测量系统获取发电厂、变电站测量数据,更新储存于内存数据网格的实时电网数据模型。每一个对电网数据模型更新都会触发规则引擎机的规则评估(Rule Evaluation)。一旦有违规(Rule Vioaltion)现象,规则引擎机将发出预警事件。
我们看到,基于CEP技术的电网在线复杂事件处理系统实施有两个关键点:实时电网数据模型以及规则引擎机。在电网安全稳定风险评估中实时电网数据模型不但要支持实时(秒级)模型更新,给规则引擎提供当前的系统运行,还要支持内存计算快速提供当前的系统运行的安全稳定分析结果,包括预想事故分析、暂态稳定域度。
实时电网数据模型:本实施例充分利用内存数据网格的动态可扩展性、高可靠性和高可用性,以及对对象数据模型的良好支持性,基于模型驱动建模(Model-DrivenArchitecture)技术,在分布式内存数据网格上研发电网模型,以支撑面向内存计算模式的电网仿真计算分析架构体系。本课题研发的支持秒级分析和规则实施的电网模型总体功能如图4所示。
分布式内存数据空间:本课题研发电网模型将在课题三分布式实时数据空间上实施,将现有单计算机电网对象建模方法与内存数据网格技术有机结合,实现电网模型的动态可扩展性、高可靠性和高可用性。现有的电网仿真分析模型通常是为某一高级应用提供输入数据。而本课题研发电网模型是基于分布式共享内存技术对当前或某一时刻电网运行断面数据的存储,并且以数据服务的形式为各个应用提供了本地和远程访问接口。和D5000实时数据库不同的是,本课题研发电网模型是母线/支路模型,可以为电网高级应用直接提供数据服务,以及内存计算服务。
事件驱动实时更新:和现有的电网仿真分析模型相比,本课题研发电网模型具有基于数据总线的实时(毫秒级)更新能力。在电网运行过程中,当系统出现大的变化或扰动时,电网模型子系统从高速数据总线上订阅变化、扰动事件,实时(毫秒级)更新自己。并将模型更新变化通知CEP引擎,触发CEP规则引擎机规则评估。电网实时变化事件(信息)来自于SCADA系统和基于PMU的WAMS应用。
模型变化订阅通知:电网模型实时更新变化可以订阅,以事件的形式通知其他子系统。这样CEP引擎通过电网模型变化事件订阅,实时触发CEP规则引擎机规则评估。我们可以将电网模型变化事件分成不同的类型,运行多个CEP引擎。不同的CEP引擎处理不同类型的电网模型变化事件。
内存计算:课题一研究的基于搜索匹配快速安全稳定性评估方法将在本课题电网模型上实施。在搜索匹配过程中,对大量的暂态稳定计算结果案例进行快速并行处理。快速搜索匹配算法基于内存计算,即在计算过程中把搜索匹配算法送到实时数据空间计算节点上执行,避免在计算过程中暂态稳定计算结果案例数据的迁移。
数据亲和(Data Affinity):在实时数据空间中将存多个电网对象模型,对象模型数据将分布在多个计算机节点上,储存在多个内存数据网格对象分区上。一个大规模电网对象模型通常包括数万到几十万对象。实时数据空间可以保证一个电网模型全部对象(包括所有组成对象)储存在同一内存数据网格对象分区上,以保证数据访问操作效率。
模型驱动建模:基于模型驱动建模的对象模型源代码自动生成技术已在许多行业大型软件开发项目中得到了广泛的应用。本课题电网模型以UML形式形成表示。利用Eclipse EMF模型驱动建模工具自动产生对象模型源代码。Eclipse EMF是Eclipse上的MDA(Model Driven Architecture)一个实现,源代码自动生成是MDA的重要组成部分之一,它能够生成在Eclipse上执行的源代码。Eclipse EMF在复杂软件系统开发中,特别是当模型里各种元素和关系比较复杂时,代码生成功能会节省很多工作量。EMF构造应用的步骤包括:①构造模型,②生成源代码,前者可以通过UML类图定义,后者可以由Eclipse EMF工具自动生成模型部分的源代码。
电网高级分析应用集成:常用电网分析算法以电网导纳[Y]矩阵为基础,因此相应的电网高级分析应用使用母线/支路模型。通过数据总线,如图3所示,电网模型可以和电网调控中心的高级应用交换数据。数据交换有两个方面:1)电网高级分析应用可以从电网模型获取母线/支路模型信息;2)电网模型可以从电网高级分析应用静态基础数据,例如从SCADA应用中最近潮流断面数据。
以下将对本发明实施例进行详细阐述。
步骤1:电网实时分析建模。
将现有单计算机电网对象建模方法与开源内存数据网格技术(Hazelcast)有机结合,将电网对象建模方法推广到分布式内存数据网格。如图5所示,一个电网对象模型由一组对象(如母线对象、支路对象)组成,内存数据网格技术提供的接口可将电网对象以及其中众多元素对象(节点对象、支路对象等)通过哈希函数与“键”(Key)一一对应,各个对象经过序列化后根据“键”自动分布(储存)到一个或多个缓存服务节点,从而在内存数据网格中生成完整的支持内存计算的电网模型。
步骤2:内存计算。
电网分析的内存计算实施如图6所示,基于分布式电网实时分析模型,采用面向服务的编程思想,将用户开发的仿真算法以服务形式封装到电网仿真对象模型上,当外部请求访问数据或处理数据时可以调用这些和数据存放在同一个位置的仿真算法服务。应用通过内存计算架构提供的接口(API)向数据网格发送计算请求,在计算节点上调用相应算法进行电网仿真计算,并将计算结果返回给应用。在计算节点内通过“键”可以高效地组织相关仿真数据并反序列化形成电网仿真模型对象,然后数据存储节点直接进行数据处理和计算分析,整个过程最大限度地减少了不必要的数据迁移,实现所谓的“移动算法而不移动数据”的大数据内存计算理念。
步骤3:并行计算
并行计算将在3种级别进行实施,如图7所示:
1)多虚拟机级别并行计算:电网分析模型可以分布到多台Java虚拟机(JVMs),在多台JVMs上实现并行计算。如果这些Java虚拟机由内存数据网格软件管理Hazelcast,电网分析模型在计算机集群的分布是自动完成的。
2)多案例级别并行计算:每一个仿真计算案例可以由一个电网分析模型对象(Object Model)表示,多个分析模型对象存储可在Java虚拟机中存储,多个分析模型对象可以并行地进行处理。
3)算法级别并行计算:某些特定的电网仿真算法(图中的Algo(P))可以设计成仿真对象在整个算法的执行过程处于只读模式,这类算法的特点是可以保证仿真对象多线程安全,和良好适用于仿真算法并行执行。算法并行级别是三种并行级别并行计算中效率最高的一种。如故障分析,故障前网络B矩阵LU分解后,预想故障分析是可以并列进行。应当指出的是,并不是所有的电力系统仿真算法都可以被设计成能够实现算法级别上的并行。
下面对本发明实施例的关键技术点和难点进行介绍。
(1)CEP引擎
CEP引擎架构:CEP技术覆盖一个十分广泛的应用问题范围,国内外CEP引擎实施架构及方法种类很多。然而,我们的关注点不是研发一个可以和IBM、Oracle、TIBCO商业软件竞争通用CEP引擎,而是一个具有特殊功能、适用于电网在线安全稳定风险评估的CEP引擎。选择恰当的CEP引擎架构和研发方法是本课题难点之一。拟根据研发团队多年大型软件系统研发和大型CEP应用案例的实施经验,设计适用于电网在线安全稳定风险评估的CEP引擎架构。
规则引擎机:CEP引擎核心模块是规则引擎机。Rete算法是迄今为止最有效的规则模式匹配算法,已被广泛地用于生产式规则系统中。Rete算法三十多前由Charles Forgy博士提出,算法高度复杂,并且实施需要高性能计算环境支持,特别是对内存容量有特别高的要求。这也是直到近些年才有比较成熟的Rete算法实施方案的主要原因。因此,考虑到电网分析的需求,研发一个灵活、适用的规则引擎机及相应Rate算法并不是一件易事。拟在研发初期建立软件原型测试系统,通过大量测试选择恰当的规则引擎机和Rate算法实施方案。
CEP引擎集成:本课题研发的CEP引擎需要和现有的D5000平台及在线安全稳定分析系统集成来实现快速在线安全稳定风险评估功能。因而CEP引擎软件系统集成是本课题难点之一。
CEP引擎实时数据处理效率:本课题研发的CEP引擎是为处理电网高速实时数据,数据实时处理效率是CEP引擎性能的最关键指标。提高CEP引擎电网高速实时数据处理效率是本课题难点之一。拟在研发初期建立软件原型测试系统,通过大量测试优化CEP引擎数据实时处理效率。
(2)实时电网数据模型
电网分布式内存对象建模技术:在分布式计算环境下,电网仿真内存对象建模需要将现有单计算机电网仿真建模方法、模型对象概念表达与内存数据网格技术有机结合,目前国内外还没有分布式环境下的电网仿真内存对象建模研究可供参考。拟在现有的单计算机电网仿真内存对象建模方法上,与内存数据网格技术结合,将其推广到分布式计算环境中。
模型驱动建模(Model-Driven Architecture)技术:基于模型驱动建模的对象模型源代码自动生成技术已在其他行业大型软件开发项目中得到了广泛的应用。在电网仿真内存对象建模中需要将现有电网建模方法与模型驱动建模技术有机结合,目前国内外还没有模型驱动建模技术在电网对象建模方面应用的研究可供参考,特别是在分布式内存数据网格环境下电网对象建模。拟借鉴其他行业模型驱动建模技术应用经验,将此技术应用到本课题的电网仿真分布式内存对象建模技术中。
内存数据序列化(Serialization)技术:电网、元件等以对象的方式存储在内存数据网格中,包括电网元件关联关系。在分布式计算环境中,模型对象包括关联关系需要在计算机节点存储之间移动,因此需要对模型对象进行序列化和反序列化操作。大规模电网模型对象的序列化/反序列化操作的编程复杂度和效率是研究中的一个难题。拟在研发初期建立软件原型测试系统,通过大量电网模型测试不断改进和优化电网模型对象序列化/反序列化软件算法和实施。
内存对象分区(Partition)技术:在内存数据网格中将保存多个电网对象模型,对象模型数据将分布在多个计算机节点上,储存在内存数据网格对象分区上。一个电网对象模型由一组对象,例如母线对象、支路对象组成。一个大规模电网对象模型通常包括数万到几十万对象。我们希望每个电网对象模型(包括所有组成对象)都储存在同一内存数据网格对象分区上,以保证数据访问操作效率。电网对象模型数据分布策略以保证计算的高效性、数据的容错性是研究中的一个难题。拟采用内存数据网格技术提供的数据亲近(DataAffinity)功能实施电网对象模型数据分布策略。
内存数据持久化(Persistence)技术:电网、元件等以对象的方式存储在内存中,当内存数据持久化时通常要解决电网仿真对象模型与数据库关系模型或文本结构化模型的语义转化难题。而且,转化后的标准数据格式和规范是一个更深层次的难题,标准数据格式在信息模型理论中称为典范模型(Canonical Model),其一端要衔接内存数据空间中的电网仿真对象模型,另一端要衔接国内外通用的电网仿真分析数据格式。典范模型的合理设计:如何既要保持灵活性、可扩展性、可识别性,又要涵盖所有的仿真计算数据需求和格式,以及实现多端相互衔接、转换和适配等,这都是研究中要面临的难题。拟采用IEEE PESOSS工作组支持的ODM(Open Model for Exchanging Power System Simulation Data)电力系统仿真数据交换模型开展这方面的研究。
(3)快速在线分析应用
一体化并行计算平台:对于全新的快速在线分析应用,后台支撑它的并行计算平台也需要较大的改进。例如原有并行计算都是面向电网仿真计算的,而新的计算平台还需要增加面向统计分析或机器学习的功能,新平台会是异构性较强的计算平台。再如原有平台主要面向电网周期扫描,新平台则需要面向更多的、来自不同应用的计算需求,还需要考虑优先级、时效性等方面的影响,复杂程度会增加很多。总之,研发新的任务调度方法、升级现有计算平台会是本项目的关键技术。
多级调度间的稳定特征共享:各级调度通常会把管辖范围内的电网稳定问题进行深入分析,如果把各调度的稳定特征结果进行相互间的共享,则可以大大提高调控人员对于全网稳定性的分析和掌控能力。对于多个单位间的信息共享通常都是研究的难点,除了快速、可靠的通讯技术作为保障以外,还需要各级在线分析应用间的协同处理。
本发明实施例提供的适应电网主动调度需求的全局分析和防控方法,与上述实施例具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的适应电网主动调度需求的全局分析和防控方法以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。