張 華
(安徽公安職業(yè)學院 信息網絡安全監(jiān)察系,安徽 合肥 230088)
云計算能夠使得用戶不需要獲得和維護較為復雜的運算基礎,所以得到了許多研究學者的青睞[1]。但是,云計算本身具有復雜和規(guī)模強大的特點,設計云計算系統(tǒng)經常會因為自身硬件和軟件出的故障,導致系統(tǒng)運行可能會出現(xiàn)停止[2]。若想確保云計算系統(tǒng)的穩(wěn)定可靠性,需要明確系統(tǒng)出現(xiàn)緊急制停的條件,依賴云計算系統(tǒng)本身的故障檢測能力提高系統(tǒng)對云資源的管理效率[3-4]。為了能夠及時檢測到系統(tǒng)出現(xiàn)的故障,此時需要監(jiān)控云計算的運行情況,采集云計算過程產生的數(shù)據(jù)。但是,這些數(shù)據(jù)通常不會存在特殊標志,造成云計算的過程中不能得到以往的故障記錄,對于新的云計算系統(tǒng)來說也是一樣的[5]。
為了能夠改善云計算系統(tǒng)故障中檢測方法的性能,在本文研究中提出了融合動態(tài)半馬爾可夫路徑搜索模型(Dynamic semi Markov path search model,DSMPSM)的云計算系統(tǒng)故障檢測方法。在該算法對于可能發(fā)生的故障進行分析,結合所得到的征兆結合,找到與之對應的云計算系統(tǒng)故障;隨后,在篩選模塊運用到故障的覆蓋范圍中,將其中具有最大可能性的故障進行轉化,得到信號,再通過動態(tài)半馬爾可夫(Dynamic semi Markov,DSM)方法對于云計算系統(tǒng)中的冗余部分進行有效的消除,最后,利用動態(tài)半馬爾可夫路徑搜索模型對根源故障進行分析、判斷,實現(xiàn)對故障檢測工作。
DSMPSM算法中整個算法的實現(xiàn)是通過三個模塊進行的,即診斷、篩選、定位。云計算系統(tǒng)故障檢測框架圖如圖1所示。
圖1 云計算系統(tǒng)故障檢測框架圖
在診斷模塊中能夠實現(xiàn)通過所得到的征兆集合,獲得具有最大可能性的云計算系統(tǒng)故障。具體實現(xiàn)過程如下:首先,基于故障與征兆之間的關系,進行故障傳播模型的有效構建;其次,對云計算系統(tǒng)中的所有征兆進行有效收集,從而獲得征兆集合;最后,對于可能會發(fā)生故障的原因進行研究,最終獲得最有可能引發(fā)故障的因素。篩選模塊主要對上一個模塊中得到的云計算系統(tǒng)故障實施篩選,經過篩選后可以獲得可能云計算系統(tǒng)故障。在整個過程中最為關鍵的部分在于算法設計部分。在云計算系統(tǒng)故障定位模塊中,主要是處理上述環(huán)節(jié)得到的可能云計算系統(tǒng)故障,對其進行了積極有效的處理以后,此時能夠最終得到云計算系統(tǒng)故障,由此完成了實現(xiàn)云計算系統(tǒng)故障定位。
將全部故障視為信號,定義信號強度(Signal Intensity,SI)這一參數(shù),以確保伴隨著故障發(fā)生可能性的提高,與之相對應的信號強度也是在不斷增強的。此時,篩選故障的問題就可以轉化成為信號處理問題,此時需要的是能夠盡量保持強度較大的信號。
通過參數(shù)的定義對于故障發(fā)生的可能性大小實現(xiàn)了全面覆蓋,具體如式(1)所示。
C(f)=|{S|S∈d(f)I S”N}|
(1)
在式(1)中,d(f)代表能夠對征兆集合進行充分解釋的全部的故障f,此時SN則代表了能夠被觀察到的全部的征兆集合,C(f)則代表了故障f具有的覆蓋范圍。
當前關于云計算系統(tǒng)主要的研究方向是對信號的稀疏表示,以此能夠實現(xiàn)如下三重目標,即設計感知矩陣、進行可壓縮驗證、以及重構信號。
(1)信號的稀疏表示屬于云計算系統(tǒng)的重要先驗條件。具體如式(2)所示,x代表了原始信號(x=(x1,x2,…,xn)),Ψ為x的稀疏基,θ為稀疏系數(shù)。
x=Ψθ
(2)
(2)云計算系統(tǒng)的觀測模型能夠對原始信號進行投影,投影到與變換基不存在相關性的感知矩陣Φ,由此觀測向量y能夠從中得到,利用下式(3)可能夠得到觀測向量:
y=Φx
(3)
根據(jù)式(2)和式(3)可知,觀測向量和稀疏系數(shù)的關系可以表示為
y=Φx=ΦΨθ
(4)
(3)通過云計算系統(tǒng)信號重構,主要是利用原來低于原始信號的稀疏度觀測向量y來進行重構,以確定接近于原始信號,或者是與其具有相近風水平的恢復值x'。具體如下式(5)所示,此時從滿足y=Φx的全部情況中確定稀疏特征明顯的信號x',由此得到了本文所求?!瑇‖0代表了x的零范數(shù),能夠對原始向量x中具有的非零元素個數(shù)進行表示。
min‖x‖0,s.t. y=Φx
(5)
假設此時具有的信號強度閾值為αSI,以此為基本前提進行感知矩陣的有效設計,在進行感知矩陣的有效設計時,是要求高于閾值的原始信號部分能夠保留。利用公式(6)得出αSI,μ(0≤μ≤1)表示為尺度因子,能夠對αSI大小進行靈活控制。
αSIμ·Max{x1,x2,…,xn}
(6)
對于目標矩陣的元素而言,對其大小的調節(jié)是可通過該矩陣與對角矩陣的乘積實現(xiàn),此時將原始信號x=(x1,x2,…,xn)對應的感知矩陣Φ,以A(A=diag(a1,a2,…,an))表示,利用公式(7)是能夠得到對角矩陣元素值。由于存在感知矩陣Φ=A,利用式(4)得到與原始信號x相對應的觀測向量y。
(7)
(4)在第三步中主要是利用得到的觀測向量實現(xiàn)對原始信號值的有效重構,具體如式(5)所示,從所有符合y=Φx的情況中,找到稀疏性特征最為明顯的信號x',該值即為研究所求,在x'中具有很少的非零元素。
重構信號x'中全部的非零元素故障的組合即為動態(tài)半馬爾可夫路徑搜索模型篩選后的云計算系統(tǒng)故障HS。對于算性能能夠通過HS具有的真實故障覆蓋率η(HS)水平以及冗余度R(HS)水平進行分析。η(HS)與R(HS)具體的計算公式如式(8)、式(9)所示。HRS表示了HS中全部冗余故障所得到的集合,F(xiàn)CS代表了HS中具有的真實故障。
(8)
(9)
本文使用的云系統(tǒng)是由361千兆的以太網相連接的服務器構成。云服務器上通過安裝一個Xen3.1.2的超級監(jiān)視器。虛擬機的系統(tǒng)使用的是Xen 3.1.2部署的Linux 2.6.17,不同云服務器可以負載9個虛擬機。各臺虛擬機不但可被分配到2個VCPU,詳細的運行端口應根據(jù)實際工程而定。云計算系統(tǒng)的運行內容在虛擬機上進行計算,最后利用Web接口傳送到系統(tǒng)。云計算系統(tǒng)出現(xiàn)的故障可使用第三檢測軟禁采集Dom0的計算數(shù)據(jù)。在檢測模塊中能夠得到最大可能云計算系統(tǒng)故障HMax,而且其具有的冗余度水平也是能夠得到有效劑量的。如果設定的尺度因子μ=0,則說明HMax從實際角度來說是并沒有進行篩選處理的;當0<μ<1時,則此時是可認為HMax經過了相應的篩選處理,得到的可能云計算系統(tǒng)故障為HS。本次仿真中主要是將本文算法DSMPSM與MCA和BSD兩種算法進行性能的對比分析。
如圖2所示,表示了在不同的云計算系統(tǒng)中,三種算法所表示的故障檢測率方差水平,方差水平能夠對故障檢測的穩(wěn)定性進行分析。結果如下,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算法是具有更強的穩(wěn)定性的,在不同的云計算系統(tǒng)中表現(xiàn)出了較高的故障檢測穩(wěn)定性。對比而言,MCA算法具有較低的穩(wěn)定性。
圖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算法中對于故障是進行了初步篩選的,此時冗余故障的影響被降到了最低水平。
本文提出了一種融合動態(tài)半馬爾可夫路徑搜索模型的云計算系統(tǒng)故障檢測方法。該方法通過檢測模塊的動態(tài)半馬爾可夫算法獲得故障檢測結果,然后在篩選過程中,確定故障覆蓋范圍,實現(xiàn)了故障向信號的有效轉化,同時通過動態(tài)半馬爾可夫路徑搜索模型將其中冗余信息進行了有效的消除,此時得到的云計算系統(tǒng)故障是具有較低的冗余度,實現(xiàn)了對故障的有效判別,最終完成對根源故障的有效檢測。經過仿真結果表示:在不同的云計算系統(tǒng)中該算法的故障檢測率都是十分良好,而且此時的故障誤檢率也相對較低。