首页> 中国专利> 一种多能源系统数字孪生应用故障恢复方法及系统

一种多能源系统数字孪生应用故障恢复方法及系统

摘要

本发明公开了一种多能源系统数字孪生应用故障恢复方法及系统,包括:定时向每个多能源系统数字孪生应用发送检测请求;基于检测所述应用的运行时间和当前执行进度判断所述应用是否发生故障;根据所述应用独立运行于一台虚拟机及高性能并行加速计算策略的特点建立双重故障恢复机制;若所述应用发生故障,利用所述双重故障恢复机制处理故障检测模块返回的故障应用进程以及当前所执行的模块,实现所述故障应用的自动的快速恢复。本发明实现了多能源系统数字孪生应用在故障发生后能自动的快速恢复,提高了数字孪生体的可靠性,填补了现阶段面向多能源系统数字孪生应用故障恢复方法和系统的空白。

著录项

说明书

技术领域

本发明涉及应用故障恢复机制的技术领域,尤其涉及一种多能源系统数字孪生应用故障恢复方法及系统。

背景技术

区域多能源系统是指含有大量分布式(风、光、燃气、储能)发电单元、可控负荷和复杂控制系统的配电网络。由于此类网络的规模庞大、动态特性复杂、建模仿真困难,传统配电网规划设计和运行控制工具已经无法满足针对配电网多种能源、多时间尺度、多业务协同的分析需求。随着智能电网的关键体系——高级计量基础设施的快速发展,一套涵盖高效量测、智能控制和快速通信等模块的网络处理系统日趋完善,形成了智能电网中能量流、信息流和业务流双向互动平台,借助云计算、人工智能算法、并行计算技术和大数据分析技术,打造智能电网的数字孪生愈发成为可能,构建区域多能源系统的数字孪生体的目的是集成区域多能源系统全生命周期中的系统规划、建模仿真、运行优化等不同的应用和功能模块。

在构造的区域多能源系统虚拟镜像中,数字孪生应用需要处理海量的数据,计算节点的规模十分庞大,利用大规模的计算集群来运算海量的数据,不可避免的会在计算中发生故障,不同的应用可能发生不同类型的故障,所包含的模块越多,发生故障的概率越高,为了保证多能源系统数字孪生应用能够稳定、可靠的执行,必须解决应用故障后快速恢复的问题。

发明内容

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述现有存在的问题,提出了本发明。

因此,本发明解决的技术问题是:现有技术无法实现故障的精确定位,从而无法达到故障的快速恢复,若要将故障精确定位到某一具体的模块,需耗费大量的通信带宽和服务器资源,且传统故障恢复方案会严重降低系统的性能。

为解决上述技术问题,本发明提供如下技术方案:定时向每个多能源系统数字孪生应用发送检测请求;基于检测所述应用的运行时间和当前执行进度判断所述应用是否发生故障;根据所述应用独立运行于一台虚拟机及高性能并行加速计算策略的特点建立双重故障恢复机制;若所述应用发生故障,利用所述双重故障恢复机制处理故障检测模块返回的故障应用进程以及当前所执行的模块,实现所述故障应用的自动的快速恢复。

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:所述故障恢复方法的运行条件包括,每个应用由一个有向图来描述;每个应用都具备一个返回值;每个应用运行在一台虚拟机中,相互独立。

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:所述返回值包括所述应用运行的时间和当前执行的进度。

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:判断所述应用是否发生故障的比较变量包括,定义一个最大完成时间T

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:所述应用是否发生故障的判断标准及过程包括,若T

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:所述多能源系统数字孪生应用包括实时仿真、电磁暂态仿真、批量仿真、动态规划、运行优化。

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:所述故障恢复流程包括,尝试杀掉所述故障应用当前正在执行的模块的进程,若成功,则重新执行当前模块,并消除所述应用的故障标识,若失败,则进入下一步;尝试杀掉所述故障应用正在运行的虚拟机,若成功,则重新运行当前应用,并消除所述应用的故障标识,若失败,则抛出所述应用故障恢复失败的信息,并提示用户。

作为本发明所述的多能源系统数字孪生应用故障恢复方法的一种优选方案,其中:导致所述故障发生因素包括坏的数据、竞争和bug。

为解决上述技术问题,本发明还提供了一种多能源系统数字孪生应用故障恢复系统,技术方案如下:故障检测模块包括检测单元、判断单元,用于检测请求应用的运行时间和当前执行进度判断所述应用是否发生故障;故障处理模块包括进程消杀单元、故障标识消除单元与所述故障处理模块相连接,用于对所述故障检测模块返回的故障应用的进程和当前所执行的模块进程进行处理,消除故障。

本发明的有益效果:实现了多能源系统数字孪生应用在故障发生后能自动的快速恢复,提高了数字孪生体的可靠性,填补了现阶段面向多能源系统数字孪生应用故障恢复方法及系统的空白。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的基本流程示意图;

图2为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的应用有向图;

图3为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的故障检测模块算法流程图;

图4为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的故障处理模块算法流程图;

图5为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的模块之间的依赖关系图;

图6为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的基本结构图;

图7为本发明一个实施例提供的一种多能源系统数字孪生应用故障恢复方法及系统的两个模块之间的依赖关系图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

要进行故障恢复首先要解决故障检测的问题,发送心跳包是一种常用的故障检测方法,需要应用进程和服务器之间进行实时通信,每间隔一段时间,服务器需要向进程发送一个心跳包,如果该进程正常工作,就会响应心跳包;否则,服务器重新向进程发送心跳包,经过一定次数重试后都没有能够收到应用进程的响应包,就判定该应用进程发生了故障;但是多能源系统数字孪生应用包括多个进程,短时间内重复发送大量的心跳包会耗费大量通信带宽和服务器资源,因此有必要重新设计面向多能源系统数字孪生应用的故障检测方法。

目前国内外对计算集群中任务故障和节点故障进行恢复的主要思想是冗余,采用最广泛的技术手段是时间冗余,时间冗余是在保障系统实时性的前提下在应用管理过程中预留出一段时间,使得故障发生后的应用或应用片段在允许时间内能够重新执行,基本不增加系统的硬件成本。但是当一个应用在执行到快结束时,由于某些不可预见的因素,应用中的模块出现故障,导致该应用需要从头重新执行,这是对计算资源和时间的浪费,为了解决这个问题,普遍方法是使用检查点技术,检查点技术的核心思想是把任务关键点信息作为检查点保存在存储器上,一旦出现故障,计算信息和状态可以通过上一个检查点被恢复,这就要求任务重新执行前,需要保存一定量的任务关键点信息。多能源系统数字孪生应用包括多个进程,整个应用的运行状态由每个进程的运行状态和进程间的数据流组成,为保存应用的运行状态,每个进程不但要做局部检查点保存本进程的运行状态,而且还要对进程间的数据交互进行记录,这就要求任务输入数据的状态信息与输出数据的状态信息能够易于被保存,且需要保存的信息量必须很小。

然而,在多能源系统数字孪生应用在执行过程中,处理的数据量往往很大,通常情况下会产生大量的中间结果,复制中间结果将严重降低系统的性能,所以,基于检查点机制的故障恢复方法并不适合多能源系统数字孪生应用;因此,若要实现多能源系统数字孪生应用故障的快速恢复,需要结合多能源系统数字孪生应用的工作原理和特点,设计全新的多能源系统数字孪生应用故障恢复方法及系统。

参照图1~5,为本发明的一个实施例,提供了一种多能源系统数字孪生应用故障恢复方法,包括:

S1:定时向每个多能源系统数字孪生应用发送检测请求;

需要说明的是,多能源系统数字孪生应用包括实时仿真、电磁暂态仿真、批量仿真、动态规划、运行优化。

进一步的,故障恢复方法的运行条件包括,每个应用由一个有向图来描述;每个应用都具备一个返回值;每个应用运行在一台虚拟机中,相互独立。

其中,返回值包括应用运行的时间和当前执行的进度。

判断应用是否发生故障的比较变量包括,定义一个最大完成时间T

具体的,本发明方法实施的基础条件包括:每个应用由一个有向图来描述,如图2所示,有向图的节点表示该应用中的不同模块,通过有向图来描述一个应用的不同模块之间的功能依赖和数据依赖关系;每个应用都具备一个返回值,返回值包括应用运行的时间和当前执行的进度,即有向图中当前执行模块的顶点;每个应用运行在一台虚拟机中,相互独立。

进一步的,针对每个多能源系统数字孪生应用,如实时仿真、电磁暂态仿真、批量仿真、动态规划、运行优化等,都预设一个最大完成时间T

S2:基于检测应用的运行时间和当前执行进度判断应用是否发生故障;

需要说明的是,应用是否发生故障的判断标准包括,

若T

若T

其中,导致故障发生因素包括坏的数据、竞争和bug。

具体的,在构造的区域多能源系统虚拟镜像中,数字孪生应用需要处理海量的数据,计算节点的规模十分庞大,利用大规模的计算集群来运算海量的数据,不可避免的会在计算中发生故障,不同的应用可能发生不同类型的故障,所包含的模块越多,发生故障的概率越高;造成应用故障的原因可能有:坏的数据,多能源系统数字孪生包含大量的数据集,难免会有坏的数据;竞争,计算节点竞争使用共享资源,使得任务执行缓慢,从而被认为是故障;bug,包括作业中的bug和应用本身存在的bug。

其判断过程具体包括:首先判断T

S3:根据应用独立运行于一台虚拟机及高性能并行加速计算策略的特点建立双重故障恢复机制;

需要说明的是,多能源系统数字孪生是数据和知识共同驱动的信息物理电力网络的数字空间建模,高性能数字仿真技术是多能源系统数字孪生应用的基础,考虑到多能源系统规模庞大,模型复杂、计算巨大,采用传统计算服务器已无法满足多能源系统应用实时仿真、海量场景仿真的需求。因此,有必要借助高性能并行加速计算技术,提升区域多能源系统数字孪生应用的仿真计算效率,扩大仿真计算规模,相较于传统计算服务器,高性能的并行加速计算技术缩短了多能源系统数字孪生应用的执行完成时间;其中,并行计算是相对于串行计算而言的,它是指一种能够让多条指令同时进行的计算模式,可分为时间并行和空间并行;时间并行即利用多条流水线同时作业,空间并行是指使用多个处理器执行并发计算,以降低解决复杂问题所需要的时间;从程序开发人员的角度看,并行计算又可分为数据并行与功能并行,数据并行是通过对数据的分解实现相同子任务的并行作业,功能并行是通过对任务的分解实现相同数据不同任务的并行作业。

S4:若应用发生故障,利用双重故障恢复机制处理故障检测模块返回的故障应用进程以及当前所执行的模块,实现故障应用的自动的快速恢复。

需要说明的是,双重故障恢复机制包括,

尝试杀掉故障应用当前正在执行的模块的进程,若成功,则重新执行当前模块,退出故障处理模块,并消除应用的故障标识,若失败,则进入下一步;

尝试杀掉故障应用正在运行的虚拟机,若成功,则重新运行当前应用,退出故障处理模块,并消除应用的故障标识,若失败,则抛出应用故障恢复失败的信息,并提示用户。

为对本方法中采用的技术效果加以验证说明,本实施例基于本发明方法进行试验,并与传统技术方案进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。

算例测试分析如下:利用C++语言来编写本发明的故障检测模块和故障处理模块,并将其部署在一台执行多能源系统数字孪生应用的本地计算服务器上面,以稳态潮流计算这个多能源系统数字孪生的典型应用作为本测试算例需要执行的应用。该应用由一个有向图来描述,如图7所示,有向图的节点表示该应用中的不同模块,有向图的边表示一不同模块之间的数据流向。

其中每个模块具体为:T

首先,利用本地计算服务器多次执行稳态潮流计算应用,记录应用的执行完成时间,统计出最长完成时间,为了检测故障恢复方法的有效性,在T

表1:检测请求返回值表。

最后,当判断出该应用的状态为故障时,故障检测模块向故障处理模块发送故障应用的进程ID:3340和故障应用当前所执行的T11模块的进程ID3256;故障处理模块尝试杀掉3256的模块进程失败,进而尝试杀掉应用正在运行的虚拟机成功后,退出故障处理模块,消除该应用的故障标识,重新运行当前应用,应用故障恢复算法结束;由于多能源系统数字孪生应用独立运行在一台虚拟机中、并且依托于高性能的并行加速计算技术,因此,无需利用检查点技术来存储大量的中间计算信息和状态,即可完成多能源系统数字孪生应用的快速故障恢复。

本实施例发明了一种新型的面向多能源系统数字孪生的应用故障检测方法,该方法充分考虑了多能源系统数字孪生应用包含多个确定性的异构计算模块的特点,由于每个确定性的异构计算模块完成时间基本确定,因此只需要请求应用的运行时间和当前执行模块即可判断该应用是否发生故障,同时还能将故障精确定位到某个确定性的计算模块,缩小了故障恢复的范围,无需对每个模块进程都进行检测,避免了大量的模块进程和服务器之间的多次通信交互;同时本实施例发明了一种新型的面向多能源系统数字孪生的应用故障处理方法,该算法充分考虑了多能源系统数字孪生应用独立运行在一台虚拟机中、并且依托于高性能的并行加速计算技术的特点,设计了双重故障恢复的机制;首先尝试恢复故障应用的当前执行模块,避免了从头开始执行应用;若当前执行模块恢复失败,再尝试恢复运行故障应用的虚拟机,由于多能源系统数字孪生应用采用高性能的并行加速计算技术,因此重新利用虚拟机运行该应用不会造成过多的延时,无需再使用检查点技术来存储大量的中间计算信息和状态。

本发明可广泛应用于区域多能源系统的数字孪生云服务平台,为云服务平台的应用提供一种可行的快速故障恢复机制,满足多业务应用对故障自动恢复的需求,保障了数字孪生体不同的应用和功能模块的可靠性。

实施例2

参照图6~7为本发明另一个实施例,该实施例不同于第一个实施例的是:提供了一种多能源系统数字孪生应用故障恢复系统,包括:

故障检测模块100包括检测单元101、判断单元102,用于检测请求应用的运行时间和当前执行进度判断所述应用是否发生故障;

故障处理模块200包括进程消杀单元201、故障标识消除单元202与所述故障处理模块100相连接,用于对所述故障检测模块100返回的故障应用的进程和当前所执行的模块进程进行处理,消除故障。

具体的,以上两个模块之间的关系为:故障检测模块100通过向应用发送检测请求为故障处理模块200提供需要处理的故障应用的进程ID和故障应用当前所执行的模块进程ID;故障处理模块200触发故障恢复流程,对故障检测模块100返回的故障应用的进程和当前所执行的模块进程进行处理,从而对故障应用实现自动的快速恢复,其中,两个模块分别代表请求应用检测和触发应用故障恢复两个流程,使算法具备模块化的性质,层次更加分明。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号