掌桥专利:专业的专利平台
掌桥专利
首页

一种电网调度自动化软件可靠性评估方法及系统

文献发布时间:2023-06-19 13:45:04


一种电网调度自动化软件可靠性评估方法及系统

技术领域

本发明属于软件可靠性技术领域,特别涉及一种电网调度自动化软件可靠性评估方法及系统。

背景技术

随着智能电网的发展,电力系统的结构和运行方式越来越复杂,为了保障智能电网的安全运行,电力系统中的调度中心的自动化水平也需要不断提高。智能电网中的调度中心需要快速、精准、全面地掌握电力系统的实际运行状态,并分析和预测系统的运行趋势,对运行中发生的各种问题能够提出对策,为下一步系统地运行和管理提供相应的决策。

恶性数据攻击具有较强的隐蔽性和干扰性,其能够绕过不良数据检测技术,通过篡改测量数据使状态估计结果出现偏差,受到攻击的数据将误导控制中心做出错误的决策,引发严重的电力事故,是电力系统威胁程度较高的攻击方式之一。在恶性数据攻击场景下,根据软件在正常运行和测试期间所收集到的失效数据,应用数学理论和概率统计学原理进行拟合建模,建立可靠度、剩余故障数、失效率、平均失效等待时间与软件可靠性之间的关系,进而对软件的可靠性特征做出定量地评测,同时对软件未来可能失效情况进行科学地推断,使得软件的研发管理有了更为可靠的安全保障。

电网调度自动化系统是利用软件系统取得的实时数据和记录的历史数据,实现电网安全经济分析,如状态估计、安全分析、在线潮流、负荷预测、外部等值、自动故障选择、校正对策、最优潮流、故障分析等等功能,从而完成能量管理,从软件系统中取得实时数据,并进行在线分析与决策,从而为电网的实时安全经济运行提供强有力的分析和决策手段,大大提高电网的调度自动化水平。电网调度自动化系统是软件密集型系统,而软件是电网调度自动化系统的灵魂,软件中隐藏的错误如果没有被及时发现并处理将会严重降低系统的可靠性,随着软件系统规模逐渐增大,复杂程度不断增加,软件质量特别是软件可靠性问题也越来越突出,因软件错误而引发的软件异常现象也频频发生,进而造成严重的损失或灾害,因此软件可靠性至关重要。

为了衡量软件的可靠性,在过去几年中提出了许多软件可靠性模型。可靠性评估技术主要是通过软件可靠性模型来实现,以失效数据作为输入确定模型参数值,进而量化软件可靠性指标。由此可见,软件可靠性预测的准确性与模型参数估计息息相关,不同的模型参数会导致模型的拟合效果相差很大。传统的参数估计通常使用最大似然法和最小二乘法构造参数表达式,然后采用数值计算方法寻找参数最优解。但由于这些参数表达式具有非线性关系,且过于复杂,在实际求解过程中往往会出现耗时较长、误差较大、不能保证收敛等问题。在实际应用中,面对数目众多的软件可靠性模型和改进模型,不能够准确决定使用哪种模型来进行可靠性预测,这就造成了盲目性的存在,很多时候可能会根据权威的经验判断决定,这就不是客观的选择,而是人为选择,存在很大主观性,有可能会导致结果预测失实,而且因为模型都有不同的假设条件,针对不同问题会发挥不同的效果。

基于上述现有技术背景分析可知,软件工程发展到今天,软件项目越加复杂化的现实已经使人们重视可靠性相关问题,复杂的各类因素使软件可靠性评估的难度也不断增加,在应对新形势下的各类大型软件项目时,不能单单应用某一个模型来进行可靠性评估,亟需采取多个模型,使各模型间可以互补甚至提升来得到更高标准的预测结果的技术方案,主要原因是在于:现有的传统可靠性评估方法存在容错能力低、准确性差、具有一定局限性、通用性较差且无法处理多维复杂情况等缺陷;且单一模型的特定假设很有可能不适合对应软件项目,单一的评估过程模型已无法保证软件绝对的可靠,在实践中面临着很大难度。

发明内容

本发明的目的在于提供一种电网调度自动化软件可靠性评估方法及系统,以解决上述存在的一个或多个技术问题。本发明具体提供了一种恶性数据攻击下的基于混合模型的电网调度自动化软件可靠性评估方法,能够得到可靠性较高的评估及预测结果。

为达到上述目的,本发明采用以下技术方案:

本发明的一种电网调度自动化软件可靠性评估方法,包括以下步骤:

基于预设的状态估计残差阈值对采集获取的待输入数据进行筛选,获得筛选后的输入数据集;

将所述筛选后的输入数据集输入预获取的待可靠性评估的电网调度自动化软件中,获得失效数据集;

基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果;基于评价结果,获得选取的基本模型;

基于所述选取的基本模型获得软件可靠性评估混合模型,基于所述软件可靠性评估混合模型,实现电网调度自动化软件可靠性评估;其中,采用序列似然比方法确定软件可靠性评估混合模型的权值。

本发明方法的进一步改进在于,基于预设的状态估计残差阈值对采集获取的待输入数据进行筛选,获得筛选后的输入数据集的步骤具体包括:

所述采集获取的待输入数据为原始测量数据;

令a=Hc,添加恶性数据后的状态估计残差为:

其中,

式中:z为量测真值,e为均值为0的高斯分布的随机误差,a为恶性数据;

若d≥γ时,γ为预设的状态估计残差阈值,则将测量数据中估计误差最大的变量滤除,重复检测进行辨识与更正,直到满足d<γ,获得筛选后的输入数据集。

本发明方法的进一步改进在于,所述失效数据集中的失效数据包括软件在正常运行中出现的失效数据和软件在测试期间出现的失效数据。

本发明方法的进一步改进在于,所述基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果的过程中,所述模型评价指标为模型拟合度;

所述模型拟合度使用R-Square衡量一个模型的拟合度,表达式为,

式中,y(t

本发明方法的进一步改进在于,所述基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果的过程中,所述模型评价指标为模型预测准确性;

所述模型预测准确性使用序列似然度PL来评价模型的预测准确性,通过对模型的预测准确性进行累积计量,比较各个模型在预测准确性上的优劣程度;

其中,软件实际失效时间为t

在进行n次预测后,对每次预测的失效概率密度进行累积,PL进化表达式为,

本发明方法的进一步改进在于,所述基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果的过程中,所述模型评价指标为模型噪声;

所述模型噪声用于衡量模型的稳定性,表达式为,

式中,M为模型噪声,x

本发明方法的进一步改进在于,所述基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果的过程中,所述模型评价指标为模型偏差指标;

所述模型偏差指标,表达式为,

式中,KS为模型偏差,由预测累积失效概率密度函数得到序列y,

本发明方法的进一步改进在于,所述基于所述选取的基本模型获得软件可靠性评估混合模型,基于所述软件可靠性评估混合模型,实现电网调度自动化软件可靠性评估;其中,采用序列似然比方法确定软件可靠性评估混合模型的权值的步骤具体包括:

所述采用序列似然比方法确定软件可靠性评估混合模型的权值的步骤具体包括:

式中,

将模型与对应的权值进行组合得到混合模型,表达式:

式中,P为总的软件可靠性评估值,P

本发明的一种电网调度自动化软件可靠性评估系统,包括:

筛选模块,用于基于预设的状态估计残差阈值对输入数据进行筛选,获得筛选后的输入数据集;

失效数据集获取模块,用于将所述筛选后的输入数据集输入预获取的待可靠性评估的电网调度自动化软件中,获得失效数据集;

基本模型选取模块,用于基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果;基于评价结果,获得选取的基本模型;

混合模块获取及评估结果获取模块,用于基于所述选取的基本模型获得软件可靠性评估混合模型,基于所述软件可靠性评估混合模型,实现电网调度自动化软件可靠性评估;其中,采用序列似然比方法确定软件可靠性评估混合模型的权值。

与现有技术相比,本发明具有以下有益效果:

由于目前软件内部模块的高度复杂性,传统可靠性评估方法存在容错能力低、准确性差、具有一定的局限性、通用性较差且无法处理多维复杂情况等问题,并且单一的评估过程模型已经无法保证软件绝对的可靠,在实践中面临着很大难度。本发明提供了一种电网调度自动化软件可靠性评估方法,是一种恶性数据攻击下的基于混合模型的电网调度自动化软件可靠性评估方法,采用混合模型的方法提高软件可靠性预计精度和稳定性。

本发明中,针对已有组合模型存在的不足,给出了基模型的选择方法,并提出基于序列似然比方法确定各基模型的权值,通过权重分配,得到可靠的软件可靠性评估及预测结果。

附图说明

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

图1是本发明实施例的一种电网调度自动化软件可靠性评估方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面结合附图对本发明做进一步详细描述:

随着计算机软硬件技术的飞速发展,为满足电网调度的自动化程度的需要,调度自动化系统大量使用计算机系统,许多计算机系统对于保证调度自动化系统的可靠性、安全性,保证任务的完成起着至关重要的作用。统计表明,尽管计算机系统的硬件复杂程度在逐渐增加,但硬件可靠性随着硬件技术(尤其是VLSI,Very Large Scale IntegratedCircuit)的不断发展而得到很大提高。而作为其核心部分的计算机软件的质量也日益受到人们的关注。调度系统自动化程度的提高极大地增加了软件开发的规模和复杂度,一般成熟的SCADA/EMS软件工作量超过500人年,程序量超过百万行,画面超过1000幅,开发期10年以上,软件失效逐渐成为实时系统发生灾难性事故的主要隐患。

一些研究人员提出了电力系统脆弱性(Vulnerability)的问题,认为电力系统因人为干预、信息、计算机软硬件、通信、电力系统元件和保护控制系统等因素而潜伏这大面积停电的灾难性事故的危险状态。美加8.14大停电的调查报告证实FE(First Energy)的软件失效导致调度员对系统状态失去监视是事故的主要原因之一。在美加大停电后,各国都加强对电网的管理,力图通过调度自动化系统的重要作用来提高电网的安全运行水平。

软件可靠性度量工作贯穿于软件生存周期的各个阶段,对软件的质量和可靠性管理起着重要的作用。在需求分析阶段,首先要确定软件可靠性要求,包括定性的和定量的可靠性要求,它既是软件承制单位开发软件的可靠性目标,也是用户验收软件产品时的可靠性要求依据。目前,硬件系统己经建立一套完整的可靠性的参数和指标体系,对于软件来说,应该使用哪些软件可靠性参数,以及如何选用参数及其指标的确定对于开展软件可靠性工程中的定量工作是必不可少的。在设计阶段,尽管软件尚未最终开发出来,但是通过分析可能导致软件不可靠的各个因素,对于软件的可靠性可以进行定性的分析,从而指导软件的设计等其他活动。在软件的测试阶段,通过可靠性测试,可以及早暴露使用中具有较高发生概率的缺陷,从而有效地提高软件的可靠性,通过可靠性的度量工作可以对软件的可靠性水平进行估计,并对可能达到的可靠性水平进行预测,从而为测试管理、软件项目管理提供决策依据。在软件投入使用后,通过收集软件的失效数据,可以对软件的使用可靠性进行评估,为下一代软件或同类型软件的可靠性定量要求的确定提供参考。

软件工程发展到今天,软件项目越加复杂化的现实已经使人们重视可靠性相关问题,复杂的各类因素使软件可靠性评估的难度也不断增加,在应对新形势下的各类大型软件项目时,不能单单应用某一个模型来进行可靠性评估,因为单一模型的特定假设很有可能不适合对应软件项目,亟需采取多个模型,使各模型间可以互补甚至提升来得到更高标准的预测结果的技术方案。所以应该建立可行的选择机制,对模型进行选择,然后使用合理的策略来混合单一模型,使整体模型更稳定。

请参阅图1,本发明实施例具体提供的一种电网调度自动化软件可靠性评估方法,是一种恶性数据攻击下的基于混合模型的电网调度自动化软件可靠性评估方法,具体包括以下步骤:

步骤1:基于预设的状态估计残差阈值对输入数据进行筛选,获得筛选后的输入数据集;

步骤2:将所述筛选后的输入数据集输入预获取待可靠性评估的电网调度自动化软件中,获得失效数据集;

步骤3:基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果(例如较好的前几个);基于评价结果,获得选取的基本模型;

步骤4:基于所述选取的基本模型获得软件可靠性评估混合模型;其中,用序列似然比方法确定软件可靠性评估混合模型的权值;

步骤5:采用所述软件可靠性评估混合模型,实现电网调度自动化软件可靠性评估。

本发明实施例的方法,是一种恶性数据攻击下的基于混合模型的电网调度自动化软件可靠性评估方法,采用混合模型的方法提高软件可靠性预计精度和稳定性。

具体的,本发明实施例的步骤1中,进行筛选的步骤具体包括:

令a=Hc,添加恶性数据后的状态估计残差为:

其中,

式中:z为量测真值,e为均值为0的高斯分布的随机误差,a为恶性数据;

示例性的,若d≥γ时,γ为阈值,则有恶性数据存在,状态估计器将对此发出警报,逐渐将测量量中估计误差最大的变量滤除,重复检测进行辨识与更正,直到满足d<γ。

本发明实施例的步骤2中,失效数据收集的过程具体包括:软件的故障信息是可靠性评估的前提和基础,更是构建可靠性模型的输入要求,一般有两种收集途径,第一种是收集软件在正常运行中出现的失效数据,第二种是收集软件在测试期间出现的失效数据。

本发明实施例的步骤3具体包括:模型组合的选取,模型组合预测的基础是基本模型,基本模型是从多个经典的可靠性模型中选择具有代表性的模型,其选取结果将会影响到最终的预测结果。

本发明实施例具体的,基本模型选取的原则如下:

1、选择在软件可靠性模型研究的发展历史中处于重要地位的模型。

2、选择在重要文献中出现频度、使用率都相对较高的模型,使用频度高的模型,反映出其受到普遍认可与欢迎的程度高,也在一定程度上表明了该模型的成熟度高。

3、选择同一种类型中具有代表性的模型。

4、选择在假设等方面的差异性相对较大的模型。

5、选择理论假设相对合理的模型。每个软件可靠性模型都有它的理论假设,而这些假设又都有其局限性,与软件测试中暴露的实际问题相比,各种假设都显得与实际出入较大。但是,它们又在很大程度上决定了模型的成败。所以,在选择模型时,应该尽量选择假设相对合理的。

模型评价指标计算。可靠性模型具有很多种,而且每个模型的可靠性预测结果互不相同。如何评价模型预测的优劣程度是一个棘手的问题,因此需要一个评价标准体系对各个模型进行客观定量的比较,采用模型拟合度、模型预测有效性、模型噪声、模型偏差指标对模型预测的有效性进行综合客观地评价。

1)模型拟合度可以使用R-Square衡量一个模型的拟合度。

其中,y(t

2)模型预测有效性使用序列似然度PL来评价模型的预测能力,令

在进行n+1次预测后,进一步定义PL为:

PL值越大说明模型预测有效性越好,该模型预测的准确性也就越高。

3)模型噪声用于衡量一个模型的稳定性。模型噪声可定义为:

其中,x

4)模型偏差通常是观察U结构图中完全预测曲线与实际预测曲线在Y轴上的最大距离,即KS距离,距离越大,偏差越大,可表示为:

本发明实施例的步骤4具体包括:选用随机过程模型和非随机过程模型作为软件可靠性评估混合模型,用序列似然比方法确定混合模型的权值。

其中,

将两模型与对应的权值进行组合得到混合模型,混合模型表达式:

P=wP

其中,P为评估值,P

具体的,基模型1假设:

软件中的错误数为一个未知且固定的常数N;

在测试过程中每个错误发生的概率相同且相互独立,软件发生失效的可能性也是相同的,每次失效时间间隔相互独立;

每个错误被检测到后立即完全排除,忽略修改错误的耗时,不引入新的错误。且每次排除过程中有且仅有一个错误被排除,因此软件的失效率呈阶梯式下降情形。

在两个相邻失效组成的时间区间内,软件的失效率保持一定数值不变,且其大小正比于软件中剩余缺陷数,则失效率λ(x

其中,

数据要求:累积失效时间t

模型构造:软件的失效时间间隔x

分布函数为:

可靠度函数为:

参数估计:假设软件在测试过程中总共发生了n个失效,失效时间间隔为x1,x2...xn,则构造极大似然函数:

两边取对数得到

分别对参数

模型预测:根据上述推导出的参数估计值,可靠性指标计算如下。

可靠度-

剩余故障数-N(x

失效率-

平均失效等待时间-

根据每个错误对软件可靠性的影响并不是等量的,而是大小不一的。此外,每次排除错误都是在原有基础上进行修改,但由于运行环境存在不确定性,并不能保证完全排除该错误,相反,极有可能引入新的错误。

基模型2假设:

对于给定的失效率θ

软件中每个错误对应的失效率均是随机的,且相互独立,其验前分布为具有参数α和ψ(i)的伽马分布。其中函数ψ(i)是关于i的递增函数,表示软件开发人员的能力和任务开发的难度。

数据要求:累积失效时间t

模型构造:根据上述假设,可以得到失效时间间隔x

参数θ

根据全概率公式,可得x

参数估计:根据上式构造极大似然函数:

在式子两边取对数得

分别对参数α和ψ(i)求偏导,

其中:ψ(i)=β

模型预测:根据上述推导出的参数估计值,可靠性指标计算如下。

可靠度-

剩余故障数-N(x

失效率-

平均失效等待时间-

本发明实施例的步骤5具体包括:

利用故障数据对各基模型参数进行估计,确定各基模型的具体表达式。

基于目标数据,计算各个基模型的序列似然值。

确定各个基模型的权值为,

式中,

将各基模型与对应的权值进行组合得到组合模型。

综上所述,由于软件内部模块的高度复杂性,传统可靠性评估方法存在容错能力低、准确性差、具有一定的局限性、通用性较差且无法处理多维复杂情况等问题,并且单一的评估过程模型已经无法保证软件绝对的可靠,在实践中面临着很大难度。混合模型的方法提高软件可靠性预计精度和稳定性。针对已有组合模型存在的不足,本发明具体给出了基模型的选择方法,并提出基于序列似然比方法确定各基模型的权值,通过权重分配,得到可靠的软件可靠性评估及预测结果。

下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。

本发明实施例的一种电网调度自动化软件可靠性评估系统,包括:

筛选模块,用于基于预设的状态估计残差阈值对输入数据进行筛选,获得筛选后的输入数据集;

失效数据集获取模块,用于将所述筛选后的输入数据集输入预获取的待可靠性评估的电网调度自动化软件中,获得失效数据集;

基本模型选取模块,用于基于所述失效数据集,采用预设的模型评价指标对预获取的基本模型集中的各基本模型进行评价,获得评价结果;基于评价结果,获得选取的基本模型;

混合模块获取及评估结果获取模块,用于基于所述选取的基本模型获得软件可靠性评估混合模型,基于所述软件可靠性评估混合模型,实现电网调度自动化软件可靠性评估;其中,采用序列似然比方法确定软件可靠性评估混合模型的权值。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种电网调度自动化软件可靠性评估方法及系统
  • 一种软件可靠性评估方法和系统
技术分类

06120113791412