APP下载

基于模糊着色Petri网的隐患软件可靠性分析

2018-02-23张新菊

电子技术与软件工程 2018年6期
关键词:可靠性

张新菊

摘要 在现代社会中,隐患软件系统的可靠性评估越来越重要。在一个存在隐患的系统中,因为性能下降或局部破坏,隐患则演变为故障,那此时对存在隐患的软件系统进行可靠性分析并提前预估隐患是非常重要的。针对这一问题,本文提出了一种分析隐患软件系统可靠性的新方法。首先,我们建立了一个隐患软件系统的模糊着色Petri网的数据模型,隐患软件系统的状態信息和模糊着色Petri网的状态节点之间进行动态转换;其次,隐患软件系统数据阈值与模糊着色Petri网的变迁阈值之间进行动态转换。再次,提出了隐患软件系统数据阈值调整的自适应机器学习算法,为隐患软件系统的可靠性分析和评估提供了参数指导。最后,我们利用实例验证了隐患软件系统的模糊着色Petri网和数据阈值参数的调整是合理的并能提高隐患软件系统的稳定性。

【关键词】模糊着色Petri网 隐患软件 自适应机器学习算法 可靠性

1 引言

在一个存在隐患的软件系统,如果隐患一直存在,可能会导致事故或死亡、设备瘫痪或财产损失。根据隐患的形成和职业危害分类、隐患可分为人的隐患,事故的隐患,环境的隐患等。在传统识别方法的不足之处基础上,利用各种安全管理和技术手段,对隐患进行评价、识别、分析和定量评价机制。本文在自适应机器学习算法的基础上,结合模糊有色Petri网,为隐患软件系统的可靠性分析和评估提供参数指导。

本文基于隐患软件系统的模糊着色Petri网( FCPNS),我们提出了一个算法,介绍了模糊着色Petri网的模糊可靠性分析,并利用自适应机器学习算法对一个安全隐患软件系统模型进行可靠性分析。在本文的第2部分,模糊着色Petri网和自适应机器学习算法的相关工作进行了阐述;第3部分,模糊有色Petri网进行了阐述;第4部分,提出模糊着色Petri网的自适应机器学习算法,此外,还介绍了隐患软件系统的可靠性。在第5部分中,利用模糊有色petri网的自适应机器学习算法,对隐患软件系统的可靠性进行了评估。最后,验证模糊着色Petri网的自适应机器学习算法并进行比较分析。

2 相关工作

清华大学教授提出了基于时间petri网的推理机制,它可以计算线性时间复杂度的时序逻辑,推理机制是一种简单、直观、有效的方法。另外,林闯等人提出了用随机petri网进行指数分布的系列并行性能分析。Li Pan提出了基于时间Petri网的均匀时间分布概率计算方法。Aggarwal等人(1975)提出了一个节点失效的概念。Yi-Kuei Lin,(2010)[6]提出了一种估计维修可靠性算法,它基于两套力向量。G xirogiannis[7]提出了一种模糊认知图,采用模糊因果关系作为产生分层性能指标动态互连网络的基本方法。该机制的目的是在模拟复杂不确定关系对运行效率的影响下驱动重构活动。Wang W[8]提出了一种基于模糊petri网的动态模糊知识表示模型。该模型不仅具有模糊petri网的学习能力和进化算法,而且具有知识表达模型的设计特点,可以根据有用的信息动态调整。Qiao F[9]提出了一种求解最优调度和动态调度的模糊petri网调度模型。重新启动决策和调度方法,它包含了一些模糊和一些随机信息。L Feng[10]提出了一种学习模糊petri网模型。ECC[11]研究模糊petri网的学习能力。本文基于模糊着色Petri网,提出了隐患软件系统的Petri网模型,与自适应机器隐患控制因子调整的学习算法,为模糊着色Petri网的隐患软件系统的可靠性分析理论提供更好的模型依据。

3 隐患软件系统的模糊着色Petri网

为了定义模糊有色petri网,我们首先定义以下数学术语:

M+:[O,1]之间的模糊集;

MS:多重采集;

Type和Var是类型集;

命题:定义隐患软件系统的隐患状态是否发生的句子;

p(a):表示节点函数中的节点;

模糊Petri网(FCPN)被定义为一个十七元组:

SFCPN=(∑,P,D,T,A,N,c,G,E,Th,w,CF,α,β,γ,δ,θ)

其中∑定义了一个有限的非空类集,该集合称为颜色集;

P={P1,P2…Pn}表示位置(元素节点)是有限节点集,它定义隐患多状态系统中的每个元素节点;

其中,连续状态节点定义为单圆,离散状态节点定义为双圆环,离散控制节点定义为虚线圆,连续控制节点定义为虚线环。连续节点用来定义多状态系统的非控制位置,离散节点用来表示隐患多状态系统的控制位置;

T={t1,t2…tm}是一个有限的节点集,用于定义隐患多状态系统节点之间的连接;

D={d1,d2…dh}定义一个有限的节点命题集;

A={αl,α2…αk}是一组有限弧,它定义了隐患多状态系统在某时刻的过渡弧集;

N:A->PxT∪TxP是节点函数。每个弧是节点到节点的映射,第一个元素是源节点,第二个是目标节点;

C:P一>∑是位置函数的颜色集合,即将每个位置映射成颜色有限子集的颜色集合;

G:T→expression表示功能函数,其中

CF= {cf1,cf2…..cfm}是置信因子集;

a:T- >[O,1]定义从变迁到置信因子转换的模糊函数;

β:P->D是从节点命题到隐患多状态系统节点的双向函数;

γ:P-> Th是关联函数,是从模糊值集到阈值的转换函数;

δ:P一>M+是定义模糊集到每个状态模糊节点的相关函数;

θ:P->W是关联函数,它定义赋予每个模糊位置权重的函数。

定义FCPN模型的几个规则如下所示:

规则1:模糊着色Petri网的触发规则:(1)当且仅当输入令牌的颜色集与其想关联的变迁颜色集是相等的,那该变迁可以被触发;(2)当变迁被触发以后,输入令牌的颜色将消失,输出令牌的颜色将随着变迁传递而变化。

规则2:如果pi∈I(t),t∈T,如果节点pi和变迁t之间存在有向弧,则该弧是变迁t的输入弧,节点pi是变迁t的输入节点;如果Pi∈O(t),t∈T,则在变迁t和节点pi之间存在有向弧,则该弧是变迁t的输出弧,节点p.是变迁t的输出节点;

根据上面的规则定义,对于模糊着色petri网的某种变迁,如果其输入节点的置信度较低,具有一定的变迁资源消耗,则输出节点的置信度也较低。

规则6:如果在t时刻,连续变迁的触发状态不变,连续变迁的平均速率是T1,那么模糊着色petri网的连续节点的置信度是:

4 隐患软件系统的自适应机器学习算法

4.1 隐患软件系统可靠性

在隐患软件系统中,资源配置是基于每个需求的基础上动态变化的,而不是靜态分配。在这个隐患软件系统的基础设施中,关键的技术是服务器虚拟化,且允许拥有并行服务器,将应用程序和服务与物理服务器基础设施解耦。隐患软件系统示意图如图l所示。

在服务器虚拟化基础设施的情况下,我们可以基于虚拟机(VM)同时执行多个任务,在每个物理机上可以配置多个虚拟机,每个虚拟机都有一套软件和虚拟硬件(资源、中间件、应用程序)。在VM的基础上,隐患软件系统基础设施提供虚拟机迁移,它可以将虚拟机从一个物理主机迁移到另一个物理主机,而不中断或很少中断服务。VM有一个管理程序中心,它具有迁移机器的能力。

在文献[12]中,作者指出,该系统需要提供一个获得隐患软件系统可靠性的要求。需求可能是固定的,也可能依据条件不同而在不同的工作周期内有所不同。本文提出了基于不同需求的隐患软件系统可靠性。隐患软件系统可靠性可以理解为在总时间间隔内,系统的容量可以满足隐患软件系统元件的需求。向量T=(T1……Tk)和d=(d1…… dk)定义为持续时间和需求水平,ψ(x)定义为任何命题的需求函数。隐患软件系统可靠性MRd可表述如下:

结合隐患软件系统的FCPN模型,隐患软件系统可靠性可以定义为:

4.2 隐患软件系统可靠性分析关键技术

隐患软件系统FCPN模型由于数据信息量比较庞杂,数据形式比较多样,为了更好地对这些数据信息进行充分存储与分析,因此,提出基于数据采集、机器学习算法参数评估、数据检索及分级、个性化展示等关键技术对模型进行逐级原型化实现。

4.2.1 数据采集

(1)根据系统代码动态调用数据采集模块,在数据库中取出一条数据,根据数据类型调

用相关模块进行后续处理,完成后返回。

(2)将采集数据文件写入配置文件中设定的共享路径下,在采集结束后,组采集回复信息通知数据资源层。

4.2.2 自适应机器学习算法

对采集到的数据进行编目及归档操作,档案文件分层存储在共享存储中。并对档案文件数据抽取关键参数进行评估,预测其特性。此外,还可以对数据进行统计分析,如方差分析、回归分析、时间序列分析等,为数据报表展示做基础。此外,在数据关键参数评估的基础之上,还可以对数据进一步的挖掘,如对数据进行预测、聚类或分布检验等等。

Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。Apriori(先验的,推测的)算法应用广泛,在安全生产综合统计大数据中心模型中根据时间、空间及管理等,预测事故发生的频率、效率等其他数据规律,对安全生产起一定的指导作用。

(1)数据挖掘与关联分析。数据挖掘是一个比较庞大的领域,包括数据预处理、数据仓库、分类聚类及关联分析等。

关联分析,从一个数据集中发现项之间的隐藏关系。该模型采用的Apriori算法主要是基于频繁集的关联分析。

(2)数据检索。根据分层存储的档案数据,按照年、月、日、地区及事故类型等参数进行查询,并通过这些关键要素的组合,调用档案管理模块中查询功能JavaAPI接口,组装成XQuery的参数串,并通过共用查询功能返回相应的结果。为提高查询效率,分类查询需要有一定的限制。或者由OmniFind进行数据爬取,提供档案的分类查询和全文检索。

4.2.3 分级、个性化展示

利用报表工具进行展示,通过数据挖掘使企业了解“发生了什么”、“为什么发生”及“将来如何进展”等规律,从根本上帮助企业将运营的海量数据转化成高价值的可获取信息,从而使企业有能力面对不断变化的国内和国际市场环境,在可靠信息的基础上做出更英明的决策。

(1)利用钻取,使用户对数据的了解更深入,更容易发现问题,做出正确的决策。

钻取是改变维的层次,变化分析的粒度。它包括向上钻取和向下钻取。向上钻取是从微观到宏观的分析方法,将低层次的细节数据概括到高层次的汇总数据,或减少维数,是自动生成汇总行的分析方法。而向下钻取则相反,是从宏观到微观的分析方法,它从汇总数据深入到细节数据进行观察或增加新维。

在报表模板中可以非常简单的定义任意的钻取流程。钻取在报表、统计图和地图中都可以定义,而且针对不同的情况,提供了丰富多样的钻取表现形式。同时钻取时系统能够自动收集部分相关的参数,很少需要用户定义参数。而且在实际中,许多报表都包含维,这样的分析表会自动生成钻取。

(2)参数化报表,通过设置参数的不同,可以在同一张报表中计算得到不同的结果,这样可以实现定义一张报表,不同的单位应用时,得到的是本单位的数据。

(3)预警分析,通过用户数据异常定义机制,用户可针对某一量值的大小或两个量值之间的关系,来定义异常状况,并以改变字形颜色或插入警示图案的方式来加以提示。根据预警,利用钻取和数据挖掘,用户可以快速定位问题和优势,深入分析和了解发生缘由,制定有效措施,及时避免损失和扩大优势。

(4)报表参数统计方法,除了求和、求均值、求最大值、求最小值等普通的统计方法外,还可以定义其他的统计方法,如:取前期数据、增幅、增减额、环比增幅等,甚至定义标准差,根据参数评估的结果进行数据挖掘展示。

(5)统计图类型,展示统计图可以利用:柱状图、饼图、折线图、面积图、条形图、散

点图、走势图等。

(6)分析报告,根据分析时期和分析单位输出报表,如月报、季报等。

4.3 隐患软件系统FCPN模型的自适应机器学习算法

4.3.1 算法描述

基于Aprior算法改造的自适应机器学习算法利用逐层搜索的方法进行数据挖掘与关联分析。首先设置支持度和置信度(可以根据实际需要进行设置或者修改),所谓支持度:P(A n B),既有A又有B的概率;置信度:P(BIA),在A发生的事件中同时发生B的概率,即p(AB)/P(A);所谓频繁集,即支持度大于最小支持度的项集。

(1)自连接获取候选集。第一轮的候选集就是数据集中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到。(频繁集由候选集剪枝得到)

(2)对候选集进行剪枝。对候选集的每一条记录,若支持度小于最小支持度,则就会被剪掉;且若存在一条记录,它的子集不是频繁集的,也会被剪掉。

算法的终止条件为:若自连接得到的已经不再是频繁集,则取最后一次得到的频繁集作为最终结果。

此时,如果存在一条关联规则,它的支持度和置信度都大于预先定义好的最小支持度与置信度,我们就称它为强关联规则。强关联规则就可以用来了解项之间的隐藏关系。所以关联分析的主要目的就是为了寻找强关联规则,而Apriori算法则主要用来帮助寻找强关联规则。

4.3.2 自适应机器学习算法实现

自适应机器学习是以k为参数,把n个对象分为k个簇,以使每簇内对象具有较高的相似度。相似度的计算根据一个簇中对象的平均值(被看做簇的中心)来进行。K-means算法的核心思想是首先用户从n个待聚类的对象中随机选取k个作为初始的k个簇的质心;然后,将其余对象根据其与各个簇质心的距离分配到最近的簇;再求新形成的簇的质心(簇中所有对象的平均值)。这个迭代过程不断重复,直到目标函数收敛,达到较优的聚类效果。

聚类的最终目的是使属于同一个类的对象尽可能地相似,而属于不同类的对象尽可能地相异。换句话说,类内距离越小,类间距离越大,则聚类效果越明显,也就是说聚类质量的高低不仅与类内距离有关,还与类间距离有关。因此,采用即类内距离和类间距离的比值作为判别聚类有效性的准则。

J(k)= Within(k)/between(K)

J(k)越小,聚类质量越高。

(1)类内距离。本文以簇中每个对象与同一个簇中所有其他对象之间的平均距离的最小值作为该簇的类内距离,而整个样本数据的类内距离则为所有簇中类内距离的最大值,用within(k)表示整个样本数据的类内距离,则

由评价准则知,within(k)越小,聚类效果越好。如果类内距离最大的簇已经满足类内紧密的要求,那么其他聚类也一定满足该要求。所以以所有簇中类内距离的最大值作为整个样本数据的类内距离。

(2)类间距离。以属于不同簇的最近的两个数据对象之间的距离来标记类间距离,用between(k)表示整个样本数据的类间距离,则

由评价准则知,between(k)越大,聚类效果越好。如果两个类中心之间距离的最小值已经满足类间远离的要求,那么其他聚类也一定满足该要求。所以,取任意两个类中的对象之间距离的最小值作为类间距离。

输入:包含n个数据对象的数据集。

输出:k个簇。

(1)将样本数据划分为m个初始聚类中心ci(i=l,2…m),根据不同的数据类型进行多次聚类;

(2)根据对象与各个初始聚类中心的距离,按照距离最近原则将其余对象添加到最近的聚类中。

(3)更新质心为簇内所有对象的平均值,即

(4)分别计算此次聚类的类内距离wirhin(m)和类间距离between(m),并获得类间距离最近的两个簇为Ci,Cj。5)计算J(m)。

(5)合并类间距离最为靠近的两个簇,标记新合成簇的质心为两个簇中所有对象的平均值。

(6)从质心集合中删除ci,cj,将剩下的m-2个质心和新的质心作为新质心集合,m--

(7)重复2-7,直到m=l。

(8)扫描J(m)以确定最佳聚类。首先选择最小的J (m),判断此时m个簇中每个簇的数据对象的个数是否都大于等于边界最小对象数,若是,则此时的簇數m即为最佳聚类数k,所对应的划分即为最佳聚类,否则,将最小的J (m)设置为无穷大,再选择次小的J (m)进行循环选择。

5 实例验证

在隐患软件系统中,为开展安全隐患排查整治工作提供统一的协同工作平台,实现对重大危险源企业、安全隐患信息的登记、审查、评估、分类、统计、分析和处理。系统涵盖了安全隐患排查整治工作的各项基本内容,实现以安全隐患排查整治业务流为主线,处理流程简洁清晰、快速灵活,基本覆盖各类安全隐患的排查整治监控体系以排查整治流程为干线,快速排查和复查安全隐患情况;对隐患排查整治信息及时、有效地进行跟踪、整改,并将统计数据及时上报,形成各级政府、安全监管职能部门、社区协同工作的“群防群控”网络应用体系。

猜你喜欢

可靠性
可靠性管理体系创建与实践
合理使用及正确测试以提升DC/DC变换器可靠性
GO-FLOW法在飞机EHA可靠性分析中的应用
5G通信中数据传输的可靠性分析
论如何提高电子自动化控制设备的可靠性
既有结构可靠性评定的设计值法
高可靠控制系统中直流电源的可靠性分析
UPS供电系统可靠性问题的分析
基于可靠性跟踪的薄弱环节辨识方法在省级电网可靠性改善中的应用研究
“数控机床可靠性技术”专题(十六) 可靠性管理体系