• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種云環(huán)境下的高效異常檢測(cè)策略研究

      2020-01-14 06:03:48程云觀臺(tái)憲青馬治杰
      關(guān)鍵詞:性能指標(biāo)距離維度

      程云觀 臺(tái)憲青 馬治杰

      1(江蘇物聯(lián)網(wǎng)研究發(fā)展中心 江蘇 無(wú)錫 214135)2(中國(guó)科學(xué)院大學(xué)微電子學(xué)院 北京 101407)3(中國(guó)科學(xué)院電子學(xué)研究所蘇州研究院 江蘇 蘇州 215121)

      0 引 言

      云計(jì)算具有按需分配資源(計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等)、靈活的彈性擴(kuò)展、高性價(jià)比、面向服務(wù)等優(yōu)勢(shì)[1],目前已經(jīng)逐漸成為主流的計(jì)算和服務(wù)模式[2]。在云計(jì)算系統(tǒng)中,所有的資源均以虛擬機(jī)的形式進(jìn)行封裝,然后分配給用戶租用[3]。然而,伴隨著云計(jì)算系統(tǒng)規(guī)模的不斷擴(kuò)大,虛擬機(jī)在運(yùn)行過(guò)程中出現(xiàn)各種異常的頻率也越來(lái)越高[4],從而導(dǎo)致宕機(jī)、數(shù)據(jù)丟失等各種故障事故頻繁爆發(fā),造成難以估量的損失,阻礙云計(jì)算技術(shù)的長(zhǎng)遠(yuǎn)發(fā)展。針對(duì)以上情況,需要對(duì)云計(jì)算系統(tǒng)中虛擬機(jī)的運(yùn)行狀態(tài)進(jìn)行持續(xù)監(jiān)控,以便運(yùn)維人員及時(shí)發(fā)現(xiàn)異常情況,并采取必要的措施,防止更大規(guī)模的損失[5]。

      目前,對(duì)虛擬機(jī)進(jìn)行異常檢測(cè)主要是通過(guò)分析虛擬機(jī)的日志信息或者性能指標(biāo)數(shù)據(jù)。比如,文獻(xiàn)[6]采用主成分分析法(Principal Component Analysis,PCA)來(lái)處理所采集到的高維性能指標(biāo)數(shù)據(jù),然后利用卡爾曼濾波器預(yù)測(cè)當(dāng)前時(shí)刻虛擬機(jī)的運(yùn)行狀態(tài),接著將該狀態(tài)與實(shí)際情況相比較,最后判斷虛擬機(jī)是否處于異常狀態(tài)。該方法可以通過(guò)PCA降低數(shù)據(jù)維度以提升算法效率,但由于沒(méi)有對(duì)性能指標(biāo)數(shù)據(jù)進(jìn)行預(yù)先篩選,致使性能指標(biāo)數(shù)據(jù)包含較多不相關(guān)信息,從而對(duì)檢測(cè)準(zhǔn)確率造成了一定影響。文獻(xiàn)[7]提出了一種基于運(yùn)維日志的性能指標(biāo)選擇方法。該方法根據(jù)日志文件中記錄的運(yùn)維事件與同一時(shí)刻虛擬機(jī)的異常指標(biāo)來(lái)構(gòu)造回歸模型,然后通過(guò)該模型選出與異常狀態(tài)相關(guān)性較強(qiáng)的性能指標(biāo)。通過(guò)這種方式,雖然能在一定程度上降低數(shù)據(jù)維度,但云環(huán)境下虛擬機(jī)數(shù)量龐大,仍會(huì)存在較高時(shí)間開(kāi)銷。另外,該方法僅局限于運(yùn)維操作產(chǎn)生的性能異常,對(duì)運(yùn)行故障等其他原因產(chǎn)生的異常卻無(wú)能為力,因此,其使用場(chǎng)景較為局限,適用性不夠廣泛。綜上所述,現(xiàn)階段的虛擬機(jī)異常檢測(cè)方法主要存在兩方面的問(wèn)題。一方面,虛擬機(jī)的性能指標(biāo)數(shù)據(jù)屬于高維數(shù)據(jù),現(xiàn)有方法不能有效降低數(shù)據(jù)維度,導(dǎo)致異常檢測(cè)算法的效率與準(zhǔn)確率較低。另一方面,現(xiàn)有的虛擬機(jī)異常檢測(cè)方法大多都只能判斷異常或正常兩種狀態(tài),無(wú)法定量的刻畫虛擬機(jī)的異常程度。

      局部異常因子算法(Local Outlier Factor,LOF)[8]是一種基于局部密度的異常檢測(cè)方法,它通過(guò)待測(cè)數(shù)據(jù)實(shí)例與其周圍鄰居的局部密度的比值,計(jì)算出該待測(cè)數(shù)據(jù)實(shí)例的異常分?jǐn)?shù),從而實(shí)現(xiàn)定量衡量一個(gè)待測(cè)數(shù)據(jù)實(shí)例的異常程度。LOF算法屬于純數(shù)據(jù)驅(qū)動(dòng)的算法,可適用于不同的數(shù)據(jù)類型,很適合于分析虛擬機(jī)的性能指標(biāo)數(shù)據(jù)。文獻(xiàn)[9]利用LOF算法為每個(gè)采樣時(shí)刻的性能指標(biāo)數(shù)據(jù)計(jì)算異常得分,從而達(dá)到在判斷虛擬機(jī)運(yùn)行狀態(tài)異常與否的同時(shí),也能量化異常程度的效果。然而,虛擬機(jī)的性能指標(biāo)數(shù)據(jù)具有維度高、數(shù)據(jù)量大的特點(diǎn),直接使用LOF算法進(jìn)行虛擬機(jī)的異常檢測(cè)將會(huì)面臨高額的時(shí)間開(kāi)銷。另外,傳統(tǒng)的LOF算法使用歐氏距離計(jì)算數(shù)據(jù)實(shí)例之間的距離,使得每個(gè)狀態(tài)維度對(duì)于距離的貢獻(xiàn)都是相同的。這會(huì)削弱對(duì)異常狀態(tài)影響較大的狀態(tài)維度的區(qū)分效果,降低檢測(cè)的準(zhǔn)確率。

      針對(duì)上述問(wèn)題,本文提出了一種高效的虛擬機(jī)異常檢測(cè)策略。為了有效降低數(shù)據(jù)維度,本文采用指標(biāo)篩選與主成分提取相結(jié)合的方式對(duì)采集到的性能指標(biāo)進(jìn)行預(yù)處理,以此提高檢測(cè)效率。同時(shí),為了強(qiáng)化不同狀態(tài)維度的性能指標(biāo)對(duì)異常狀態(tài)的區(qū)分效果,本文基于性能指標(biāo)與異常相關(guān)程度的大小,給不同狀態(tài)變量之間的距離賦予相應(yīng)的權(quán)重,提升了異常檢測(cè)的準(zhǔn)確率。因此,本文的異常檢測(cè)方法可概括如下:首先,以最大相關(guān)最小冗余算法,對(duì)云平臺(tái)中采集到的虛擬機(jī)性能指標(biāo)數(shù)據(jù)進(jìn)行篩選;接著,利用主成分分析法,對(duì)篩選出的性能指標(biāo)數(shù)據(jù)進(jìn)行進(jìn)一步降維;然后,以指標(biāo)篩選過(guò)程中得到的每個(gè)性能指標(biāo)的相關(guān)度分?jǐn)?shù)作為權(quán)重,改進(jìn)LOF算法中的距離計(jì)算方法;最終,把經(jīng)過(guò)篩選和提取的性能指標(biāo)數(shù)據(jù)輸入改進(jìn)的LOF算法中進(jìn)行異常檢測(cè)。實(shí)驗(yàn)結(jié)果表明,相比于傳統(tǒng)的LOF算法,本文的異常檢測(cè)策略在召回率、準(zhǔn)確率、F值、時(shí)間開(kāi)銷等各項(xiàng)指標(biāo)上,均有不同程度的提高。

      1 異常檢測(cè)架構(gòu)設(shè)計(jì)

      圖1展示了本文所設(shè)計(jì)的異常檢測(cè)策略的整體架構(gòu)圖。由此圖可知,該系統(tǒng)共包含三個(gè)模塊:采集性能指標(biāo)數(shù)據(jù)的數(shù)據(jù)采集模塊;對(duì)性能指標(biāo)數(shù)據(jù)做篩選、降維的性能指標(biāo)預(yù)處理模塊;判定虛擬機(jī)異常狀態(tài)的異常檢測(cè)模塊。

      圖1 異常檢測(cè)整體架構(gòu)圖

      數(shù)據(jù)采集模塊會(huì)在待監(jiān)控的虛擬機(jī)中部署采集插件,以固定采樣間隔采集虛擬機(jī)的性能指標(biāo)數(shù)據(jù),這些數(shù)據(jù)是異常檢測(cè)的基礎(chǔ)。

      性能指標(biāo)預(yù)處理模塊用來(lái)對(duì)數(shù)據(jù)采集模塊獲得的性能指標(biāo)數(shù)據(jù)進(jìn)行篩選與提取。高維度的性能監(jiān)控?cái)?shù)據(jù)會(huì)帶來(lái)高額的時(shí)間開(kāi)銷,并導(dǎo)致檢測(cè)的準(zhǔn)確率降低[10],因此性能指標(biāo)預(yù)處理模塊首先通過(guò)最大相關(guān)最小冗余算法進(jìn)行篩選,找出對(duì)異常狀態(tài)貢獻(xiàn)度較大的指標(biāo),剔除與異常狀態(tài)相關(guān)性較小的指標(biāo),并刪去含重復(fù)信息較多的指標(biāo),降低數(shù)據(jù)的冗余程度,從而減少異常檢測(cè)的數(shù)據(jù)量。接著,通過(guò)主成分分析法進(jìn)一步降低數(shù)據(jù)維度、消除噪聲,提高檢測(cè)效率與準(zhǔn)確率。

      異常檢測(cè)模塊用于評(píng)估虛擬機(jī)的異常狀態(tài)。該模塊基于改進(jìn)的LOF算法,利用預(yù)處理模塊在指標(biāo)篩選階段對(duì)每個(gè)指標(biāo)的相關(guān)性評(píng)分,來(lái)設(shè)定對(duì)應(yīng)的狀態(tài)維度的距離權(quán)值,以強(qiáng)化正常與異常狀態(tài)之間的差異。最終通過(guò)基于局部密度比值的LOF值來(lái)計(jì)算虛擬機(jī)的異常分?jǐn)?shù),達(dá)到定量刻畫虛擬機(jī)異常程度的目的。

      2 數(shù)據(jù)采集模塊

      數(shù)據(jù)采集模塊是整個(gè)異常檢測(cè)系統(tǒng)的數(shù)據(jù)基礎(chǔ),為后續(xù)的所有異常檢測(cè)流程提供數(shù)據(jù)。該模塊采用集中式的主從結(jié)構(gòu)[11]:在每臺(tái)虛擬機(jī)上部署一個(gè)負(fù)責(zé)采集數(shù)據(jù)的代理插件,以固定頻率收集虛擬機(jī)的性能指標(biāo)數(shù)據(jù);設(shè)置一臺(tái)中央服務(wù)器作為數(shù)據(jù)接收匯總端,用來(lái)接收并存儲(chǔ)各個(gè)采集插件收集到的性能指標(biāo)數(shù)據(jù)。云平臺(tái)中各個(gè)虛擬機(jī)的性能指標(biāo)數(shù)據(jù)采用被動(dòng)推送的方式來(lái)獲取,即數(shù)據(jù)采集完成后,會(huì)由相關(guān)的采集插件自動(dòng)推送到接收端,這種方式能夠及時(shí)獲取到最新數(shù)據(jù),實(shí)時(shí)性較高。

      表1展示了數(shù)據(jù)采集模塊所能采集的虛擬機(jī)的性能指標(biāo)種類。共分為四大類,十個(gè)小類,共計(jì)166種。

      表1 性能指標(biāo)種類統(tǒng)計(jì)表

      續(xù)表1

      3 性能指標(biāo)預(yù)處理模塊

      為了詳細(xì)地分析一個(gè)系統(tǒng)的運(yùn)行狀態(tài),往往要盡可能多地考慮與系統(tǒng)相關(guān)的特征因素。每個(gè)特征因素都是一個(gè)描述系統(tǒng)狀態(tài)信息的維度,維度選取越多,對(duì)系統(tǒng)的識(shí)別分析就越準(zhǔn)確[12]。然而在異常檢測(cè)領(lǐng)域,特征維度的選擇并非越多越好:

      (1) 當(dāng)維度數(shù)量超過(guò)一定閾值后,檢測(cè)效果可能不升反降[13]。因?yàn)椴⒉皇撬行阅苤笜?biāo)都與異常的性能狀態(tài)有較強(qiáng)的相關(guān)性,部分指標(biāo)數(shù)據(jù)可能并不含有與異常狀態(tài)相關(guān)的信息。當(dāng)不相關(guān)的性能指標(biāo)數(shù)量增加時(shí),會(huì)引入更多的噪聲,降低相關(guān)性強(qiáng)的性能指標(biāo)的權(quán)重,從而導(dǎo)致檢測(cè)的準(zhǔn)確率不增反降。

      (2) 性能指標(biāo)數(shù)據(jù)之間存在的冗余信息會(huì)降低異常檢測(cè)的速度。不同的性能指標(biāo)數(shù)據(jù)之間可能會(huì)存在相關(guān)性,即這些性能指標(biāo)之間可能存在著信息冗余。直接使用這些性能指標(biāo)數(shù)據(jù)進(jìn)行異常檢測(cè),會(huì)造成大量重復(fù)計(jì)算,加劇解決問(wèn)題的復(fù)雜度,使得數(shù)據(jù)處理的時(shí)間開(kāi)銷增加,耗費(fèi)更多計(jì)算資源。

      因此,需要對(duì)數(shù)據(jù)采集模塊采集到的性能指標(biāo)數(shù)據(jù)進(jìn)行篩選提取,選取出部分最關(guān)鍵的性能指標(biāo)數(shù)據(jù)作為異常檢測(cè)的依據(jù)。本文采取的策略是首先使用最大相關(guān)最小冗余算法挑選出與異常狀態(tài)相關(guān)性較強(qiáng)的部分性能指標(biāo),然后利用主成分分析法提取數(shù)據(jù)的主要部分,進(jìn)一步降低數(shù)據(jù)維度。

      3.1 最大相關(guān)最小冗余法篩選性能指標(biāo)

      假設(shè)采集到L條性能指標(biāo)數(shù)據(jù),每條采樣數(shù)據(jù)包含N種性能指標(biāo)M={mi,i=1,2,…,N}。目標(biāo)分類變量c代表異常類別,是一個(gè)整數(shù)變量。如果存在正常和異常兩種狀態(tài),則c可以取值0和1;若存在t種異常狀態(tài),則c∈{0,1,2,…,t}。篩選的目的是希望從N維的全量性能指標(biāo)空間中挑選出一個(gè)性能指標(biāo)子集S,使其盡可能好地區(qū)分虛擬機(jī)的異常類別c,并且相互之間冗余度盡可能小。

      本文采用互信息量來(lái)衡量性能指標(biāo)之間,以及性能指標(biāo)與異常之間的相關(guān)性?;バ畔⒘渴切畔⒄擃I(lǐng)域的概念,用來(lái)表示兩個(gè)隨機(jī)變量之間關(guān)聯(lián)程度的強(qiáng)弱[14],互信息量的大小代表這兩個(gè)隨機(jī)變量之間共同含有的信息的多少。本文用I(mi;mj)表示兩個(gè)性能指標(biāo)mi與mj之間的互信息量,具體定義如下:

      (1)

      式中:p(mi)和p(mj)代表這兩個(gè)性能指標(biāo)的邊緣概率,p(mi,mj)代表這兩個(gè)性能指標(biāo)的概率質(zhì)量函數(shù),這三個(gè)變量都可以通過(guò)采集到的性能指標(biāo)數(shù)據(jù)統(tǒng)計(jì)得知。

      指標(biāo)篩選的目的是希望從采集到的N種性能指標(biāo)中,選取出對(duì)異常檢測(cè)最有益的性能指標(biāo)子集,從而實(shí)現(xiàn)在不影響異常檢測(cè)正確性的前提下,顯著提高算法的執(zhí)行效率。以互信息量作為衡量性能指標(biāo)之間相關(guān)程度的度量標(biāo)準(zhǔn),可以得出篩選的兩條原則:最大相關(guān)性原則和最小冗余度原則。

      最大相關(guān)性原則要求被選擇的性能指標(biāo)與異常狀態(tài)的相關(guān)性盡可能大。對(duì)于一個(gè)給定的性能指標(biāo)子集S,需要使子集S中保留下來(lái)的性能指標(biāo)與異常運(yùn)行狀態(tài)的相關(guān)程度最大,其相關(guān)程度可以通過(guò)計(jì)算目標(biāo)變量c與S中性能指標(biāo)的互信息量獲得,具體公式如下:

      (2)

      使上式取最大值雖然會(huì)篩選出與異常最相關(guān)的性能指標(biāo)子集S,但S中各指標(biāo)之間會(huì)存在大量冗余信息。為了減少冗余數(shù)據(jù)、提高檢測(cè)效率,需要讓子集S中各個(gè)性能指標(biāo)之間的相關(guān)程度盡可能小,其相關(guān)程度可以通過(guò)計(jì)算各個(gè)性能指標(biāo)之間的互信息量獲得,具體公式如下:

      (3)

      綜合式(2)、式(3),即可得到指標(biāo)篩選的最優(yōu)原則,即最大相關(guān)最小冗余原則:

      optimalScore=relevance(S)-redundancy(S)

      (4)

      依據(jù)最大相關(guān)最小冗余原則,即可從N維的性能指標(biāo)空間中篩選出既與異常有較強(qiáng)相關(guān)性,相互之間冗余信息又比較少的性能指標(biāo)子集。然而從N個(gè)性能指標(biāo)中找到最優(yōu)的S個(gè),是在2N的搜索空間中尋找符合條件的2S子空間,是NP難問(wèn)題。因此本文采取增量式的搜索方法來(lái)降低時(shí)間復(fù)雜度。假設(shè)現(xiàn)有已選定k-1個(gè)性能指標(biāo)的子集Sk-1,接著根據(jù)下式,從剩余的性能指標(biāo)U-Sk-1中選擇滿足最大依賴性的第k個(gè)性能指標(biāo),直到達(dá)到設(shè)定好的目標(biāo)個(gè)數(shù)S為止。

      (5)

      3.2 主成分分析法提取性能指標(biāo)

      主成分分析法是一種統(tǒng)計(jì)分析方法,可以將高維空間的數(shù)據(jù)投影到低維空間,形成新的少數(shù)變量,以達(dá)到減少變量數(shù)量的目的。其基本思想就是通過(guò)坐標(biāo)變換,用高維空間多數(shù)變量的線性組合,構(gòu)成新的較少的綜合變量,以代替之前的多數(shù)變量[15]。經(jīng)過(guò)上一階段的指標(biāo)篩選后,會(huì)得到一個(gè)較小的性能指標(biāo)數(shù)據(jù)子集。接著在指標(biāo)提取階段,會(huì)使用主成分分析法進(jìn)一步降低數(shù)據(jù)維度,提高異常檢測(cè)的時(shí)間效率。

      假設(shè)經(jīng)過(guò)性能指標(biāo)篩選后,得到了P種維度的性能指標(biāo)監(jiān)控采樣數(shù)據(jù),共計(jì)L條,因此可以構(gòu)成一個(gè)L×P的矩陣D:

      (6)

      式中:Xij表示第i條性能指標(biāo)采樣數(shù)據(jù)中,第j個(gè)性能狀態(tài)維度的采樣值。

      得到篩選過(guò)后的性能指標(biāo)數(shù)據(jù)后,需要使用主成分分析法進(jìn)一步降低數(shù)據(jù)維度,以下是具體步驟:

      步驟1經(jīng)過(guò)性能指標(biāo)篩選后,得到監(jiān)控采樣數(shù)據(jù)D,接著對(duì)D進(jìn)行標(biāo)準(zhǔn)化處理,得到矩陣X。

      步驟2計(jì)算X的協(xié)方差矩陣,公式如下:

      (7)

      步驟3求取特征值和特征向量。計(jì)算出矩陣CovP×P的P個(gè)特征值λ1,λ2,…,λp以及與每個(gè)特征值相對(duì)應(yīng)的特征向量e1,e2,…,eP。

      步驟4對(duì)主成分排序并選取。將特征值按降序排列,選擇其中最大的前r個(gè)。將這r個(gè)特征值對(duì)應(yīng)的r個(gè)特征向量排列組成新的矩陣,即可獲得降維后的數(shù)據(jù)。r值的確定可以通過(guò)方差貢獻(xiàn)率來(lái)確定,方差貢獻(xiàn)率δr定義如下:

      (8)

      方差一般用來(lái)描述數(shù)據(jù)所能代表的信息量的大小,方差越大表示含有越多的信息量。而方差貢獻(xiàn)率代表被保留的主元的方差之和占總方差的百分比。因此,通過(guò)對(duì)δr設(shè)定閾值,保留符合要求的前r個(gè)主成分,而忽略后面的不太重要的次成分,可以達(dá)到在不損失主要信息的同時(shí),降低數(shù)據(jù)維度的目的。

      4 異常檢測(cè)模塊

      檢測(cè)云環(huán)境下虛擬機(jī)的異常,有助于及時(shí)發(fā)現(xiàn)和識(shí)別系統(tǒng)的異常狀態(tài),便于云平臺(tái)的運(yùn)維人員能夠在系統(tǒng)崩潰或者服務(wù)失效前,及時(shí)采取預(yù)防性的措施,是提高云計(jì)算系統(tǒng)的可靠性的重要手段。LOF算法作為一種純數(shù)據(jù)驅(qū)動(dòng)的無(wú)監(jiān)督異常檢測(cè)算法,不需要對(duì)標(biāo)記數(shù)據(jù)進(jìn)行預(yù)先的訓(xùn)練,非常適用于處于動(dòng)態(tài)變化,且標(biāo)記數(shù)據(jù)獲取困難的虛擬機(jī)性能指標(biāo)數(shù)據(jù)。LOF算法將待測(cè)數(shù)據(jù)實(shí)例與其鄰居的局部密度比值作為判定異常的標(biāo)準(zhǔn),可以計(jì)算出待測(cè)數(shù)據(jù)實(shí)例的異常程度。該特性可以定量地刻畫云平臺(tái)中虛擬機(jī)的運(yùn)行狀態(tài),從而輔助運(yùn)維人員直觀地了解虛擬機(jī)運(yùn)行狀況的好壞,進(jìn)行合適的運(yùn)維操作。

      經(jīng)過(guò)篩選與降維后的性能指標(biāo)數(shù)據(jù),會(huì)匯成一條高維度的時(shí)間序列。每條采樣記錄包含一個(gè)時(shí)刻的多種性能指標(biāo)數(shù)據(jù)的采樣值,代表了高維時(shí)間序列中某一時(shí)刻的數(shù)據(jù)點(diǎn)。在算法的執(zhí)行過(guò)程中,依次計(jì)算每個(gè)數(shù)據(jù)點(diǎn)的局部異常因子值,即LOF值。根據(jù)LOF值的大小判斷數(shù)據(jù)點(diǎn)的正常與否,從而得出每個(gè)時(shí)刻虛擬機(jī)的異常程度值。

      為了更好地利用指標(biāo)篩選的結(jié)果,提高異常檢測(cè)的效果,本文對(duì)LOF算法進(jìn)行了改進(jìn)。在計(jì)算數(shù)據(jù)點(diǎn)之間的距離時(shí),依據(jù)不同性能指標(biāo)在篩選過(guò)程中獲得的optimal score的大小確定各個(gè)維度的距離權(quán)值。改進(jìn)后的LOF算法的計(jì)算流程分為如下四個(gè)步驟:

      步驟1確定數(shù)據(jù)點(diǎn)p的第k距離鄰域。點(diǎn)p的第k距離鄰域是指以點(diǎn)p為圓心,以p的第k距離kDistance為半徑畫圓,所得到的所有在圓內(nèi)與圓上的點(diǎn)組成的集合。點(diǎn)p的第k距離kDistance是指在數(shù)據(jù)集中,距離點(diǎn)p第k遠(yuǎn)的點(diǎn)到點(diǎn)p的距離。其中數(shù)據(jù)點(diǎn)之間的距離計(jì)算方法用帶權(quán)重的歐氏距離代替原有歐氏距離。即針對(duì)歐式距離的不同變量,根據(jù)指標(biāo)篩選階段對(duì)指標(biāo)的評(píng)分optimal score,對(duì)距離賦予不同的權(quán)值。

      假設(shè)經(jīng)過(guò)性能指標(biāo)篩選出M個(gè)性能指標(biāo),篩選結(jié)果又經(jīng)主成分分析后保留了P個(gè)主成分,則每個(gè)主成分xp表示如下:

      (9)

      式中:mi代表篩選結(jié)果中某個(gè)特定的性能指標(biāo);rj代表這個(gè)指標(biāo)在該主成分中的線性系數(shù),即為性能指標(biāo)mi在主成分xp中的權(quán)重占比。那么當(dāng)給定兩個(gè)數(shù)據(jù)點(diǎn)A(xa1,xa2,…,xaP)和B(xb1,xb2,…,xbP)時(shí),它們之間的帶權(quán)歐式距離d(A,B)可表示為:

      (10)

      式中:gi(i=1,2,…,P)即為該維度主成分的權(quán)重。其計(jì)算公式如下:

      (11)

      式中:hi表示第i個(gè)性能指標(biāo)的optimal score值,rj的含義同式(9),代表這個(gè)指標(biāo)在該主成分中的線性系數(shù)。由式(11)可知,gi是該主成分所包含的所有性能指標(biāo)optimal score值(即hi)的線性組合,代表第i個(gè)維度的主成分在d(A,B)中所占的權(quán)重。

      使用基于權(quán)值的歐氏距離替代原有的歐氏距離,可以利用指標(biāo)篩選階段對(duì)每個(gè)性能指標(biāo)重要程度的評(píng)估結(jié)果,進(jìn)一步加大對(duì)異常狀態(tài)更具分辨能力的性能指標(biāo)的影響力,從而提高異常檢測(cè)的效果。

      步驟2計(jì)算數(shù)據(jù)點(diǎn)p的可達(dá)距離。兩個(gè)數(shù)據(jù)點(diǎn)之間的可達(dá)距離定義為:

      reachDistance(p,o)=max{kDistance(p),d(p,o)}

      (12)

      由上式可知,點(diǎn)p的可達(dá)距離,是點(diǎn)p的第k距離以及點(diǎn)p與點(diǎn)o之間實(shí)際距離這兩者中的較大值。這樣有助于顯著降低因過(guò)于靠近點(diǎn)p而造成的統(tǒng)計(jì)波動(dòng),使正常數(shù)據(jù)更加平滑。

      步驟3計(jì)算數(shù)據(jù)點(diǎn)p的局部可達(dá)密度。數(shù)據(jù)點(diǎn)p的局部可達(dá)密度,是其第k鄰域內(nèi)的其他數(shù)據(jù)點(diǎn)與p的可達(dá)距離的平均值的倒數(shù),定義為:

      (13)

      步驟4計(jì)算點(diǎn)p的局部異常因子。計(jì)算公式為:

      (14)

      由以上定義可以得知,數(shù)據(jù)點(diǎn)p的局部異常因子的物理意義為:數(shù)據(jù)點(diǎn)p的第k鄰域內(nèi)數(shù)據(jù)點(diǎn)的局部密度的平均值,與數(shù)據(jù)點(diǎn)p本身的局部密度的比值。其中點(diǎn)p的第k鄰域內(nèi)數(shù)據(jù)點(diǎn)局部密度的平均值,反映了點(diǎn)p周圍的平均分布密度。將該值與點(diǎn)p本身的局部密度做比值,可以很容易地看出數(shù)據(jù)p的局部密度與其鄰居的局部密度的分布情況的差異。當(dāng)值遠(yuǎn)大于1時(shí),說(shuō)明數(shù)據(jù)點(diǎn)p比其鄰域內(nèi)的其他數(shù)據(jù)點(diǎn)的分布情況要稀疏很多,因此通??梢耘卸楫惓?。即該值越接近于1,點(diǎn)p越正常;該值越大于1,點(diǎn)p的異常程度越高。

      5 實(shí)驗(yàn)驗(yàn)證

      本節(jié)會(huì)對(duì)本文提出的異常檢測(cè)策略進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)首先采集一段時(shí)間內(nèi)的虛擬機(jī)的性能指標(biāo)數(shù)據(jù),并利用開(kāi)發(fā)的異常注入工具,在數(shù)據(jù)采集的過(guò)程中,隨機(jī)注入若干種類的異常。然后,進(jìn)行性能指標(biāo)的篩選與提取,列出性能指標(biāo)數(shù)據(jù)篩選的相關(guān)度冗余度評(píng)分結(jié)果,并對(duì)挑選出的性能指標(biāo)數(shù)據(jù)使用主成分分析法進(jìn)一步降維,觀察各成分的方差貢獻(xiàn)率分布情況。最后,利用改進(jìn)的LOF算法,對(duì)經(jīng)過(guò)篩選提取后的數(shù)據(jù)進(jìn)行異常檢測(cè),并對(duì)比傳統(tǒng)的LOF算法的性能與效果。

      5.1 實(shí)驗(yàn)數(shù)據(jù)采集與異常注入

      實(shí)驗(yàn)在2臺(tái)物理服務(wù)器上搭建了16臺(tái)虛擬機(jī)模擬云計(jì)算平臺(tái)。物理服務(wù)器的配置為32 GB內(nèi)存,Intel Xeon E3的4核處理器。通過(guò)數(shù)據(jù)采集模塊,實(shí)時(shí)的將虛擬機(jī)的性能指標(biāo)數(shù)據(jù)收集起來(lái),存入時(shí)間序列數(shù)據(jù)庫(kù)中。為了使采集到的性能指標(biāo)數(shù)據(jù)中包含異常狀態(tài)下的數(shù)據(jù),本文開(kāi)發(fā)了異常注入工具,用來(lái)在實(shí)驗(yàn)期間隨機(jī)地向虛擬機(jī)注入異常,模擬的異常主要分為以下四類[16]:

      (1) 計(jì)算資源消耗異常:通過(guò)在虛擬機(jī)上運(yùn)行一個(gè)CPU密集的程序模擬軟件故障,以產(chǎn)生CPU不斷消耗的異常情況。

      (2) 內(nèi)存資源消耗異常:通過(guò)在虛擬機(jī)上運(yùn)行一個(gè)利用malloc()函數(shù)不斷申請(qǐng)內(nèi)存卻不釋放的程序,來(lái)模擬內(nèi)存泄露故障,以產(chǎn)生內(nèi)存資源消耗的異常。

      (3) 磁盤I/O異常:在虛擬機(jī)上運(yùn)行一個(gè)程序,不斷讀取磁盤中的大文件,產(chǎn)生大量的磁盤I/O行為,模擬磁盤I/O故障,以產(chǎn)生磁盤I/O異常。

      (4) 網(wǎng)絡(luò)相關(guān)異常:通過(guò)另一臺(tái)主機(jī)開(kāi)啟大量線程,并發(fā)訪問(wèn)部署在虛擬機(jī)上的Web服務(wù)器,生成大量HTTP連接,模擬DDOS攻擊,以產(chǎn)生網(wǎng)絡(luò)相關(guān)異常。

      本文設(shè)定數(shù)據(jù)采集模塊的采樣頻率為1分鐘,共采集了16臺(tái)虛擬機(jī)1周時(shí)長(zhǎng)的性能指標(biāo)數(shù)據(jù)。采集的性能指標(biāo)涵蓋了描述虛擬機(jī)運(yùn)行時(shí)性能狀態(tài)的方方面面,包括CPU利用率、內(nèi)存交換空間大小、磁盤I/O時(shí)長(zhǎng)、上下行流量傳輸速率、進(jìn)程切換次數(shù)等共4大類166種性能指標(biāo)數(shù)據(jù)。并在1周內(nèi)利用異常注入工具,對(duì)每臺(tái)虛擬機(jī)以隨機(jī)選取的方式注入不同類型的異常共85個(gè),每個(gè)異常持續(xù)5分鐘的注入時(shí)長(zhǎng)。

      5.2 性能指標(biāo)篩選提取結(jié)果

      采集到的166個(gè)維度的性能指標(biāo)數(shù)據(jù),對(duì)于異常狀態(tài)的貢獻(xiàn)程度各不相同。因此需要通過(guò)性能指標(biāo)篩選模塊,篩選出部分對(duì)異常檢測(cè)貢獻(xiàn)最大的性能指標(biāo)數(shù)據(jù)。正如式(4)所述,本文采用互信息量作為衡量性能指標(biāo)數(shù)據(jù)與異常狀態(tài)關(guān)聯(lián)程度的標(biāo)準(zhǔn),也作為衡量不同性能指標(biāo)之間冗余度的標(biāo)準(zhǔn)。以relevance(S)與redundancy(S)的差值optimal score作為評(píng)價(jià)一個(gè)性能指標(biāo)數(shù)據(jù)好壞的打分標(biāo)準(zhǔn),optimal score越大代表對(duì)異常檢測(cè)的貢獻(xiàn)值越大,應(yīng)該保留;反之則貢獻(xiàn)越小,應(yīng)該剔除。圖2為166個(gè)維度的性能指標(biāo)數(shù)據(jù)的optimal score打分結(jié)果。

      圖2 各維度性能指標(biāo)相關(guān)性與冗余度差值

      本實(shí)驗(yàn)通過(guò)設(shè)置閾值λ=0.25來(lái)篩選性能指標(biāo)數(shù)據(jù),當(dāng)性能指標(biāo)的optimal score大于λ時(shí),保留該性能指標(biāo),否則舍棄。經(jīng)過(guò)計(jì)算相關(guān)性與冗余度,有43個(gè)維度的性能指標(biāo)數(shù)據(jù)符合設(shè)定的閾值。對(duì)這43個(gè)維度的性能指標(biāo)數(shù)據(jù)利用主成分分析法進(jìn)一步降維,并設(shè)定累積方差貢獻(xiàn)率δr=0.95,最終得到4個(gè)主成分。圖3顯示了主成分的分布情況。

      圖3 各維度主成分方差貢獻(xiàn)率示意圖

      5.3 異常檢測(cè)性能效果對(duì)比

      經(jīng)歷性能指標(biāo)的篩選與提取之后,數(shù)據(jù)維度從原本的166個(gè)維度降低到4維度,極大減少了異常檢測(cè)的數(shù)據(jù)量。接下來(lái)利用改進(jìn)的LOF算法,對(duì)篩選提取后的數(shù)據(jù)進(jìn)行異常檢測(cè),觀測(cè)檢測(cè)結(jié)果。

      算法對(duì)數(shù)據(jù)進(jìn)行異常檢測(cè)時(shí),會(huì)出現(xiàn)以下四種情況:

      (1) 正報(bào)(True Positive,TP):對(duì)于異常數(shù)據(jù),算法檢測(cè)結(jié)果顯示為異常,即算法能夠正確地檢測(cè)出異常狀態(tài)。

      (2) 漏報(bào)(False Negative,FN):對(duì)于異常數(shù)據(jù),算法未能檢測(cè)到異常,而顯示檢測(cè)結(jié)果為正常,即算法不能夠正確地檢測(cè)出異常狀態(tài)。

      (3) 負(fù)報(bào)(True Negative,TN):對(duì)于正常數(shù)據(jù),算法的檢測(cè)結(jié)果也顯示為正常,即算法能夠正確地檢測(cè)出正常狀態(tài)。

      (4) 誤報(bào)(False Positive,FP):對(duì)于正常數(shù)據(jù),算法檢測(cè)結(jié)果顯示卻是異常的,即算法不能夠正確地檢測(cè)出正常狀態(tài)。

      依據(jù)以上四種檢測(cè)結(jié)果,本實(shí)驗(yàn)采用召回率、精確率與Fβ來(lái)評(píng)價(jià)檢測(cè)結(jié)果的好壞。召回率是指當(dāng)異常發(fā)生時(shí),能正確檢測(cè)到異常數(shù)據(jù)的概率,定義如下:

      (15)

      準(zhǔn)確率是指在所有被算法認(rèn)為是異常數(shù)據(jù)的情況中,有多少是真正的異常而不是誤報(bào),定義如下:

      (16)

      對(duì)于異常檢測(cè)來(lái)說(shuō),召回率和精確率越高越好,但是大量實(shí)驗(yàn)表明,這兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn)是不能兩全的,當(dāng)召回率增加時(shí),精確率就會(huì)相應(yīng)降低,反之亦然。因此引入了Fβ值[17]這個(gè)綜合評(píng)價(jià)指標(biāo),來(lái)評(píng)價(jià)異常檢測(cè)的效果。Fβ定義如下:

      (17)

      由式(16)可知,當(dāng)β=1時(shí),F(xiàn)1為精確率和召回率的調(diào)和平均值,即F1綜合考慮了這兩個(gè)異常檢測(cè)的評(píng)價(jià)標(biāo)準(zhǔn)。接下來(lái)本文針對(duì)數(shù)據(jù)采集模塊收集到的1周的虛擬機(jī)性能指標(biāo)數(shù)據(jù),對(duì)比了傳統(tǒng)LOF算法與經(jīng)過(guò)改進(jìn)的LOF算法的異常檢測(cè)效果。傳統(tǒng)LOF算法使用的是全量共166個(gè)維度的性能指標(biāo)數(shù)據(jù),而改進(jìn)后的LOF算法使用的是經(jīng)過(guò)性能指標(biāo)篩選和PCA降維后的性能指標(biāo)數(shù)據(jù),檢測(cè)結(jié)果如表2所示。

      表2 檢測(cè)效果對(duì)照表 %

      由表2可以看出,在對(duì)LOF算法進(jìn)行改進(jìn)之后,精確率基本保持不變的同時(shí),召回率顯著升高,從而使得F值有較大提升。實(shí)驗(yàn)結(jié)果表明,本文提出的異常檢測(cè)策略使檢測(cè)效果有了比較明顯的提升。該策略中,性能指標(biāo)的篩選過(guò)程去除了部分與異常狀態(tài)不相關(guān)的性能指標(biāo);主成分分析法在進(jìn)一步降低了數(shù)據(jù)維度的同時(shí),過(guò)濾了數(shù)據(jù)中的部分噪聲;而利用基于權(quán)值的歐氏距離對(duì)LOF算法進(jìn)行改進(jìn),提高了算法對(duì)異常狀態(tài)的分辨能力。綜合上述幾個(gè)步驟,異常檢測(cè)的效果有了較大提升。

      同時(shí),在經(jīng)過(guò)指標(biāo)篩選與主成分分析后的數(shù)據(jù)預(yù)處理過(guò)程后,待測(cè)數(shù)據(jù)的維度顯著降低,減輕了異常檢測(cè)的算力負(fù)擔(dān),極大提高了異常檢測(cè)的時(shí)間效率。表3對(duì)比了針對(duì)1周的監(jiān)控?cái)?shù)據(jù),是否進(jìn)行數(shù)據(jù)預(yù)處理兩種情況下,運(yùn)行傳統(tǒng)LOF算法所消耗的時(shí)間。

      表3 改進(jìn)前后LOF算法時(shí)間開(kāi)銷對(duì)照表 s

      由表3可以看出,在經(jīng)過(guò)性能指標(biāo)的篩選與提取后,異常檢測(cè)算法的時(shí)間開(kāi)銷顯著降低,耗時(shí)由27.6 s縮短到了7.8 s,降低了71.7%,檢測(cè)速度明顯加快。

      6 結(jié) 語(yǔ)

      云計(jì)算系統(tǒng)的可靠性十分重要,而異常檢測(cè)就是提高云計(jì)算系統(tǒng)可靠性的重要手段之一。在云計(jì)算系統(tǒng)中,虛擬機(jī)的性能狀態(tài)不僅受底層物理服務(wù)器的運(yùn)行狀態(tài)的影響,還受用戶應(yīng)用系統(tǒng)的運(yùn)行狀態(tài)的影響,因此把處于中間層的虛擬機(jī)作為異常檢測(cè)的對(duì)象,有助于發(fā)現(xiàn)云環(huán)境中不同實(shí)體的異常狀態(tài)[18]。本文針對(duì)云計(jì)算系統(tǒng)中的虛擬機(jī)的運(yùn)行性能狀態(tài)進(jìn)行異常檢測(cè),基于最大相關(guān)最小冗余原則對(duì)性能指標(biāo)數(shù)據(jù)進(jìn)行篩選,并使用主成分分析法對(duì)篩選后的結(jié)果進(jìn)一步提取以降低數(shù)據(jù)維度,大大提高了算法的執(zhí)行效率。又利用基于權(quán)值的歐式距離對(duì)傳統(tǒng)LOF算法的距離度量進(jìn)行改進(jìn),提升了異常檢測(cè)的檢測(cè)率。通過(guò)計(jì)算每條采樣數(shù)據(jù)的異常分?jǐn)?shù),達(dá)到了定量刻畫虛擬機(jī)異常程度的目的??傮w上,本異常檢測(cè)策略在檢測(cè)性能和效果上都優(yōu)于傳統(tǒng)的LOF算法,適用于云平臺(tái)中虛擬機(jī)的異常檢測(cè)。

      猜你喜歡
      性能指標(biāo)距離維度
      瀝青膠結(jié)料基本高溫性能指標(biāo)相關(guān)性研究
      石油瀝青(2021年1期)2021-04-13 01:31:08
      淺論詩(shī)中“史”識(shí)的四個(gè)維度
      算距離
      儲(chǔ)熱水箱分層性能指標(biāo)的研究進(jìn)展
      光的維度
      燈與照明(2016年4期)2016-06-05 09:01:45
      WebGIS關(guān)鍵性能指標(biāo)測(cè)試技術(shù)研究
      “五個(gè)維度”解有機(jī)化學(xué)推斷題
      每次失敗都會(huì)距離成功更近一步
      山東青年(2016年3期)2016-02-28 14:25:55
      愛(ài)的距離
      母子健康(2015年1期)2015-02-28 11:21:33
      磁共振成像儀主磁場(chǎng)計(jì)量性能指標(biāo)的選擇
      商河县| 老河口市| 沈阳市| 思茅市| 大化| 郧西县| 雅安市| 舟曲县| 武邑县| 安远县| 安塞县| 赤水市| 商丘市| 丹江口市| 沁水县| 阿克| 达日县| 鄯善县| 佛教| 岳普湖县| 周至县| 英山县| 中西区| 瓦房店市| 陆川县| 高淳县| 车险| 枣阳市| 冀州市| 文昌市| 崇文区| 休宁县| 合作市| 紫云| 特克斯县| 怀宁县| 洛浦县| 烟台市| 武胜县| 托里县| 合肥市|