亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        程云觀 臺憲青 馬治杰

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

        0 引 言

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

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

        局部異常因子算法(Local Outlier Factor,LOF)[8]是一種基于局部密度的異常檢測方法,它通過待測數(shù)據(jù)實(shí)例與其周圍鄰居的局部密度的比值,計(jì)算出該待測數(shù)據(jù)實(shí)例的異常分?jǐn)?shù),從而實(shí)現(xiàn)定量衡量一個(gè)待測數(shù)據(jù)實(shí)例的異常程度。LOF算法屬于純數(shù)據(jù)驅(qū)動的算法,可適用于不同的數(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ī)的異常檢測將會面臨高額的時(shí)間開銷。另外,傳統(tǒng)的LOF算法使用歐氏距離計(jì)算數(shù)據(jù)實(shí)例之間的距離,使得每個(gè)狀態(tài)維度對于距離的貢獻(xiàn)都是相同的。這會削弱對異常狀態(tài)影響較大的狀態(tài)維度的區(qū)分效果,降低檢測的準(zhǔn)確率。

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

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

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

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

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

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

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

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

        數(shù)據(jù)采集模塊是整個(gè)異常檢測系統(tǒng)的數(shù)據(jù)基礎(chǔ),為后續(xù)的所有異常檢測流程提供數(shù)據(jù)。該模塊采用集中式的主從結(jié)構(gòu)[11]:在每臺虛擬機(jī)上部署一個(gè)負(fù)責(zé)采集數(shù)據(jù)的代理插件,以固定頻率收集虛擬機(jī)的性能指標(biāo)數(shù)據(jù);設(shè)置一臺中央服務(wù)器作為數(shù)據(jù)接收匯總端,用來接收并存儲各個(gè)采集插件收集到的性能指標(biāo)數(shù)據(jù)。云平臺中各個(gè)虛擬機(jī)的性能指標(biāo)數(shù)據(jù)采用被動推送的方式來獲取,即數(shù)據(jù)采集完成后,會由相關(guān)的采集插件自動推送到接收端,這種方式能夠及時(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)信息的維度,維度選取越多,對系統(tǒng)的識別分析就越準(zhǔn)確[12]。然而在異常檢測領(lǐng)域,特征維度的選擇并非越多越好:

        (1) 當(dāng)維度數(shù)量超過一定閾值后,檢測效果可能不升反降[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í),會引入更多的噪聲,降低相關(guān)性強(qiáng)的性能指標(biāo)的權(quán)重,從而導(dǎo)致檢測的準(zhǔn)確率不增反降。

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

        因此,需要對數(shù)據(jù)采集模塊采集到的性能指標(biāo)數(shù)據(jù)進(jìn)行篩選提取,選取出部分最關(guān)鍵的性能指標(biāo)數(shù)據(jù)作為異常檢測的依據(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,并且相互之間冗余度盡可能小。

        本文采用互信息量來衡量性能指標(biāo)之間,以及性能指標(biāo)與異常之間的相關(guān)性?;バ畔⒘渴切畔⒄擃I(lǐng)域的概念,用來表示兩個(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è)變量都可以通過采集到的性能指標(biāo)數(shù)據(jù)統(tǒng)計(jì)得知。

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

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

        (2)

        使上式取最大值雖然會篩選出與異常最相關(guān)的性能指標(biāo)子集S,但S中各指標(biāo)之間會存在大量冗余信息。為了減少冗余數(shù)據(jù)、提高檢測效率,需要讓子集S中各個(gè)性能指標(biāo)之間的相關(guān)程度盡可能小,其相關(guān)程度可以通過計(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難問題。因此本文采取增量式的搜索方法來降低時(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ù)量的目的。其基本思想就是通過坐標(biāo)變換,用高維空間多數(shù)變量的線性組合,構(gòu)成新的較少的綜合變量,以代替之前的多數(shù)變量[15]。經(jīng)過上一階段的指標(biāo)篩選后,會得到一個(gè)較小的性能指標(biāo)數(shù)據(jù)子集。接著在指標(biāo)提取階段,會使用主成分分析法進(jìn)一步降低數(shù)據(jù)維度,提高異常檢測的時(shí)間效率。

        假設(shè)經(jīng)過性能指標(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)維度的采樣值。

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

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

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

        (7)

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

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

        (8)

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

        4 異常檢測模塊

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

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

        為了更好地利用指標(biāo)篩選的結(jié)果,提高異常檢測的效果,本文對LOF算法進(jìn)行了改進(jìn)。在計(jì)算數(shù)據(jù)點(diǎn)之間的距離時(shí),依據(jù)不同性能指標(biāo)在篩選過程中獲得的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)重的歐氏距離代替原有歐氏距離。即針對歐式距離的不同變量,根據(jù)指標(biāo)篩選階段對指標(biāo)的評分optimal score,對距離賦予不同的權(quán)值。

        假設(shè)經(jīng)過性能指標(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)篩選階段對每個(gè)性能指標(biāo)重要程度的評估結(jié)果,進(jìn)一步加大對異常狀態(tài)更具分辨能力的性能指標(biāo)的影響力,從而提高異常檢測的效果。

        步驟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í)際距離這兩者中的較大值。這樣有助于顯著降低因過于靠近點(diǎn)p而造成的統(tǒng)計(jì)波動,使正常數(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í),說明數(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é)會對本文提出的異常檢測策略進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)首先采集一段時(shí)間內(nèi)的虛擬機(jī)的性能指標(biāo)數(shù)據(jù),并利用開發(fā)的異常注入工具,在數(shù)據(jù)采集的過程中,隨機(jī)注入若干種類的異常。然后,進(jìn)行性能指標(biāo)的篩選與提取,列出性能指標(biāo)數(shù)據(jù)篩選的相關(guān)度冗余度評分結(jié)果,并對挑選出的性能指標(biāo)數(shù)據(jù)使用主成分分析法進(jìn)一步降維,觀察各成分的方差貢獻(xiàn)率分布情況。最后,利用改進(jìn)的LOF算法,對經(jīng)過篩選提取后的數(shù)據(jù)進(jìn)行異常檢測,并對比傳統(tǒng)的LOF算法的性能與效果。

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

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

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

        (2) 內(nèi)存資源消耗異常:通過在虛擬機(jī)上運(yùn)行一個(gè)利用malloc()函數(shù)不斷申請內(nè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)異常:通過另一臺主機(jī)開啟大量線程,并發(fā)訪問部署在虛擬機(jī)上的Web服務(wù)器,生成大量HTTP連接,模擬DDOS攻擊,以產(chǎn)生網(wǎng)絡(luò)相關(guān)異常。

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

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

        采集到的166個(gè)維度的性能指標(biāo)數(shù)據(jù),對于異常狀態(tài)的貢獻(xiàn)程度各不相同。因此需要通過性能指標(biāo)篩選模塊,篩選出部分對異常檢測貢獻(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作為評價(jià)一個(gè)性能指標(biāo)數(shù)據(jù)好壞的打分標(biāo)準(zhǔn),optimal score越大代表對異常檢測的貢獻(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)通過設(shè)置閾值λ=0.25來篩選性能指標(biāo)數(shù)據(jù),當(dāng)性能指標(biāo)的optimal score大于λ時(shí),保留該性能指標(biāo),否則舍棄。經(jīng)過計(jì)算相關(guān)性與冗余度,有43個(gè)維度的性能指標(biāo)數(shù)據(jù)符合設(shè)定的閾值。對這43個(gè)維度的性能指標(biāo)數(shù)據(jù)利用主成分分析法進(jìn)一步降維,并設(shè)定累積方差貢獻(xiàn)率δr=0.95,最終得到4個(gè)主成分。圖3顯示了主成分的分布情況。

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

        5.3 異常檢測性能效果對比

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

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

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

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

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

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

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

        (15)

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

        (16)

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

        (17)

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

        表2 檢測效果對照表 %

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

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

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

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

        6 結(jié) 語

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

        猜你喜歡
        性能指標(biāo)距離維度
        瀝青膠結(jié)料基本高溫性能指標(biāo)相關(guān)性研究
        石油瀝青(2021年1期)2021-04-13 01:31:08
        淺論詩中“史”識的四個(gè)維度
        中華詩詞(2019年7期)2019-11-25 01:43:00
        算距離
        儲熱水箱分層性能指標(biāo)的研究進(jìn)展
        光的維度
        燈與照明(2016年4期)2016-06-05 09:01:45
        WebGIS關(guān)鍵性能指標(biāo)測試技術(shù)研究
        “五個(gè)維度”解有機(jī)化學(xué)推斷題
        每次失敗都會距離成功更近一步
        山東青年(2016年3期)2016-02-28 14:25:55
        愛的距離
        母子健康(2015年1期)2015-02-28 11:21:33
        磁共振成像儀主磁場計(jì)量性能指標(biāo)的選擇
        精品国产车一区二区三区| 欧美人与动人物姣配xxxx| 久久精品久久精品中文字幕| 国产AV秘 无码一区二区三区| 精品人妻在线一区二区三区在线| 亚洲av日韩精品久久久久久a| 欧产日产国产精品精品| 国产精品女同一区二区久久| 一级a免费高清免在线| 亚洲中文字幕国产视频| 欧美极品色午夜在线视频| 欧美成人a在线网站| 蜜桃在线观看视频在线观看| 国产一品二品三品精品在线| 欧美精品人人做人人爱视频| 337p日本欧洲亚洲大胆色噜噜| 久久青青草原亚洲av| 麻豆精品导航| 国产精品欧美成人| 巨乳av夹蜜桃站台蜜桃机成人| av在线一区二区三区不卡| 内射夜晚在线观看| 蜜臀aⅴ国产精品久久久国产老师| 亚洲性69影视| 日韩美腿丝袜三区四区| 高清偷自拍亚洲精品三区| 无码少妇一级AV便在线观看| 久久精品国产视频在热| 亚洲一区二区日韩专区| 精品少妇人妻av无码久久| 超碰Av一区=区三区| 国产一区二区在线中文字幕| 观看在线人视频| 四虎国产精品永久在线无码| 亚洲日本精品一区久久精品| 久久精品国产色蜜蜜麻豆国语版| 人人妻人人澡人人爽人人精品97| 91国在线啪精品一区| 国产一区二区三区四区在线视频| 久久亚洲精品成人无码| 无码国产亚洲日韩国精品视频一区二区三区|