融合动态半马尔可夫路径搜索模型的云计算系统故障检测方法
2018-06-26张华
张 华
(安徽公安职业学院 信息网络安全监察系,安徽 合肥 230088)
云计算能够使得用户不需要获得和维护较为复杂的运算基础,所以得到了许多研究学者的青睐[1]。但是,云计算本身具有复杂和规模强大的特点,设计云计算系统经常会因为自身硬件和软件出的故障,导致系统运行可能会出现停止[2]。若想确保云计算系统的稳定可靠性,需要明确系统出现紧急制停的条件,依赖云计算系统本身的故障检测能力提高系统对云资源的管理效率[3-4]。为了能够及时检测到系统出现的故障,此时需要监控云计算的运行情况,采集云计算过程产生的数据。但是,这些数据通常不会存在特殊标志,造成云计算的过程中不能得到以往的故障记录,对于新的云计算系统来说也是一样的[5]。
为了能够改善云计算系统故障中检测方法的性能,在本文研究中提出了融合动态半马尔可夫路径搜索模型(Dynamic semi Markov path search model,DSMPSM)的云计算系统故障检测方法。在该算法对于可能发生的故障进行分析,结合所得到的征兆结合,找到与之对应的云计算系统故障;随后,在筛选模块运用到故障的覆盖范围中,将其中具有最大可能性的故障进行转化,得到信号,再通过动态半马尔可夫(Dynamic semi Markov,DSM)方法对于云计算系统中的冗余部分进行有效的消除,最后,利用动态半马尔可夫路径搜索模型对根源故障进行分析、判断,实现对故障检测工作。
1 云计算系统故障检测框架
DSMPSM算法中整个算法的实现是通过三个模块进行的,即诊断、筛选、定位。云计算系统故障检测框架图如图1所示。
图1 云计算系统故障检测框架图
在诊断模块中能够实现通过所得到的征兆集合,获得具有最大可能性的云计算系统故障。具体实现过程如下:首先,基于故障与征兆之间的关系,进行故障传播模型的有效构建;其次,对云计算系统中的所有征兆进行有效收集,从而获得征兆集合;最后,对于可能会发生故障的原因进行研究,最终获得最有可能引发故障的因素。筛选模块主要对上一个模块中得到的云计算系统故障实施筛选,经过筛选后可以获得可能云计算系统故障。在整个过程中最为关键的部分在于算法设计部分。在云计算系统故障定位模块中,主要是处理上述环节得到的可能云计算系统故障,对其进行了积极有效的处理以后,此时能够最终得到云计算系统故障,由此完成了实现云计算系统故障定位。
2 云计算系统故障检测过程
将全部故障视为信号,定义信号强度(Signal Intensity,SI)这一参数,以确保伴随着故障发生可能性的提高,与之相对应的信号强度也是在不断增强的。此时,筛选故障的问题就可以转化成为信号处理问题,此时需要的是能够尽量保持强度较大的信号。
通过参数的定义对于故障发生的可能性大小实现了全面覆盖,具体如式(1)所示。
C(f)=|{S|S∈d(f)I S”N}|
(1)
在式(1)中,d(f)代表能够对征兆集合进行充分解释的全部的故障f,此时SN则代表了能够被观察到的全部的征兆集合,C(f)则代表了故障f具有的覆盖范围。
当前关于云计算系统主要的研究方向是对信号的稀疏表示,以此能够实现如下三重目标,即设计感知矩阵、进行可压缩验证、以及重构信号。
(1)信号的稀疏表示属于云计算系统的重要先验条件。具体如式(2)所示,x代表了原始信号(x=(x1,x2,…,xn)),Ψ为x的稀疏基,θ为稀疏系数。
x=Ψθ
(2)
(2)云计算系统的观测模型能够对原始信号进行投影,投影到与变换基不存在相关性的感知矩阵Φ,由此观测向量y能够从中得到,利用下式(3)可能够得到观测向量:
y=Φx
(3)
根据式(2)和式(3)可知,观测向量和稀疏系数的关系可以表示为
y=Φx=ΦΨθ
(4)
(3)通过云计算系统信号重构,主要是利用原来低于原始信号的稀疏度观测向量y来进行重构,以确定接近于原始信号,或者是与其具有相近风水平的恢复值x'。具体如下式(5)所示,此时从满足y=Φx的全部情况中确定稀疏特征明显的信号x',由此得到了本文所求。‖x‖0代表了x的零范数,能够对原始向量x中具有的非零元素个数进行表示。
min‖x‖0,s.t. y=Φx
(5)
假设此时具有的信号强度阈值为αSI,以此为基本前提进行感知矩阵的有效设计,在进行感知矩阵的有效设计时,是要求高于阈值的原始信号部分能够保留。利用公式(6)得出αSI,μ(0≤μ≤1)表示为尺度因子,能够对αSI大小进行灵活控制。
αSIμ·Max{x1,x2,…,xn}
(6)
对于目标矩阵的元素而言,对其大小的调节是可通过该矩阵与对角矩阵的乘积实现,此时将原始信号x=(x1,x2,…,xn)对应的感知矩阵Φ,以A(A=diag(a1,a2,…,an))表示,利用公式(7)是能够得到对角矩阵元素值。由于存在感知矩阵Φ=A,利用式(4)得到与原始信号x相对应的观测向量y。
(7)
(4)在第三步中主要是利用得到的观测向量实现对原始信号值的有效重构,具体如式(5)所示,从所有符合y=Φx的情况中,找到稀疏性特征最为明显的信号x',该值即为研究所求,在x'中具有很少的非零元素。
重构信号x'中全部的非零元素故障的组合即为动态半马尔可夫路径搜索模型筛选后的云计算系统故障HS。对于算性能能够通过HS具有的真实故障覆盖率η(HS)水平以及冗余度R(HS)水平进行分析。η(HS)与R(HS)具体的计算公式如式(8)、式(9)所示。HRS表示了HS中全部冗余故障所得到的集合,FCS代表了HS中具有的真实故障。
(8)
(9)
3 仿真及结果分析
3.1 仿真实验
本文使用的云系统是由361千兆的以太网相连接的服务器构成。云服务器上通过安装一个Xen3.1.2的超级监视器。虚拟机的系统使用的是Xen 3.1.2部署的Linux 2.6.17,不同云服务器可以负载9个虚拟机。各台虚拟机不但可被分配到2个VCPU,详细的运行端口应根据实际工程而定。云计算系统的运行内容在虚拟机上进行计算,最后利用Web接口传送到系统。云计算系统出现的故障可使用第三检测软禁采集Dom0的计算数据。在检测模块中能够得到最大可能云计算系统故障HMax,而且其具有的冗余度水平也是能够得到有效剂量的。如果设定的尺度因子μ=0,则说明HMax从实际角度来说是并没有进行筛选处理的;当0<μ<1时,则此时是可认为HMax经过了相应的筛选处理,得到的可能云计算系统故障为HS。本次仿真中主要是将本文算法DSMPSM与MCA和BSD两种算法进行性能的对比分析。
3.2 仿真结果及分析
如图2所示,表示了在不同的云计算系统中,三种算法所表示的故障检测率方差水平,方差水平能够对故障检测的稳定性进行分析。结果如下,DSMPSM算法具有检测率方差范围为0.00041~0.00277,均值是0.00097。BSD算法下的故障检测率方差范围是0.00039~0.00265,均值是0.00138。MCA算法下的方差检测范围是0.00009~0.00547,均值是0.00297。分析可得此时DSMPSM、BSD两个算法具有的故障检测率方差基本上是一致的,维持在0的水平。整体而言,DSMPSM算法是具有更强的稳定性的,在不同的云计算系统中表现出了较高的故障检测稳定性。对比而言,MCA算法具有较低的稳定性。
图2故障检测率方差图3故障误检率
如图3表示了在三种算法下得到的误检率对比,结果显示DSMPSM算法具有的故障误检率水平处于2.16%~5.82%之间,其均值水平为3.84%。 算法误检率范围为10.22%~27.21%,其均值水平为20.63%。BSD的误检率范围为16.21%~23.27%之间,具有的均值水平为20.67%。整体而言,DSMPSM算法的误检率水平是最低的,另外两种算法BSD与MCA具有的误检率水平是相对较高的。分析其原因,在DSMPSM算法中对于故障是进行了初步筛选的,此时冗余故障的影响被降到了最低水平。
4 结论
本文提出了一种融合动态半马尔可夫路径搜索模型的云计算系统故障检测方法。该方法通过检测模块的动态半马尔可夫算法获得故障检测结果,然后在筛选过程中,确定故障覆盖范围,实现了故障向信号的有效转化,同时通过动态半马尔可夫路径搜索模型将其中冗余信息进行了有效的消除,此时得到的云计算系统故障是具有较低的冗余度,实现了对故障的有效判别,最终完成对根源故障的有效检测。经过仿真结果表示:在不同的云计算系统中该算法的故障检测率都是十分良好,而且此时的故障误检率也相对较低。