吳 旭, 葉 炎
(1.西安郵電大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710121; 2.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院, 廣西 南寧 530004)
基于服務(wù)質(zhì)量(quality of service,QoS)的云服務(wù)選擇方法已在云服務(wù)選擇問題取得了一定的成效[1-3]。但是,基于QoS數(shù)據(jù)的方法在應(yīng)用時(shí)受QoS數(shù)據(jù)的質(zhì)量影響較大,異常的QoS數(shù)據(jù)(abnormal quality of service,AQoS)會(huì)降低云服務(wù)選擇的精度[4]。同時(shí),由異常QoS數(shù)據(jù)計(jì)算得到的云服務(wù)選擇,也會(huì)導(dǎo)致用戶在使用云服務(wù)時(shí)達(dá)不到預(yù)期的性能要求,產(chǎn)生計(jì)算不準(zhǔn)確、數(shù)據(jù)泄露等云服務(wù)安全問題。因此,檢測異常的QoS數(shù)據(jù),提升云服務(wù)選擇的質(zhì)量和安全性,已經(jīng)成為一個(gè)迫切解決的難題。
基于信任評估的云服務(wù)選擇方法能夠降低具有異常QoS數(shù)據(jù)的云服務(wù)的信任度,并降低選擇具有異常QoS數(shù)據(jù)的云服務(wù)的概率。可信云服務(wù)通過分析云計(jì)算面臨的安全威脅,對云服務(wù)的技術(shù)進(jìn)行劃分[5]。基于第三方認(rèn)證的方法通過建立第三方的云服務(wù)信任博弈模型和信任評價(jià)模型,由第三方模型評估云服務(wù)的可信度[6]。面向用戶體驗(yàn)的模型考慮了信任因素的復(fù)雜性和不確定性,將用戶體驗(yàn)作為服務(wù)可信模型的重要評估標(biāo)準(zhǔn)和因素[7]。主觀信任量化評價(jià)方法[8]將云模型引入信任評估中,并結(jié)合用戶的主觀信任評價(jià)對云服務(wù)進(jìn)行信任評估。上述基于信任評估的云服務(wù)選擇方法雖然取得了一定的成效,但信任評估需要利用用戶反饋信息,在進(jìn)行云服務(wù)信任評估的同時(shí)也引入了惡意用戶評估和主觀性反饋等問題,使得云服務(wù)選擇問題更加復(fù)雜;同時(shí),基于信任評估的方法僅利用QoS數(shù)據(jù)和用戶反饋信息計(jì)算云服務(wù)的信任度,并未實(shí)現(xiàn)對異常QoS數(shù)據(jù)的檢測。
基于改進(jìn)K-means聚類的算法[9]利用距離相似度進(jìn)行節(jié)點(diǎn)數(shù)據(jù)的聚類,在獲取聚類結(jié)果后,通過比對節(jié)點(diǎn)到聚類中心的距離來區(qū)分正常節(jié)點(diǎn)和異常節(jié)點(diǎn)。基于特征消減的網(wǎng)絡(luò)異常檢測算法[10]利用統(tǒng)計(jì)學(xué)的方法分析數(shù)據(jù)集中各維度與各攻擊類型之間的相關(guān)性,并利用相關(guān)性進(jìn)行不同層次的K-means聚類,從而檢測出罕見的網(wǎng)絡(luò)攻擊。基于K-means聚類的異常檢測算法在異常檢測領(lǐng)域取得了一定的成效,但并不能直接應(yīng)用于異常的QoS數(shù)據(jù)檢測。由于云計(jì)算環(huán)境的動(dòng)態(tài)性,云服務(wù)在不同上下文環(huán)境下產(chǎn)生的QoS數(shù)據(jù)存在較大的數(shù)值差異,一些QoS數(shù)據(jù)在特定的上下文環(huán)境下是正常值,而在其他上下文環(huán)境下則是異常數(shù)據(jù)。因此,將具有不同數(shù)值范圍的QoS數(shù)據(jù)同時(shí)進(jìn)行檢測將會(huì)導(dǎo)致檢測結(jié)果出現(xiàn)偏差,難以提升云服務(wù)選擇的精度。
基于上述問題,本文提出一種融合異常QoS數(shù)據(jù)檢測的安全云服務(wù)選擇方法(secure cloud service selection method based on abnormal QoS data detection,CSAD),利用用戶的上下文環(huán)境對云服務(wù)的QoS數(shù)據(jù)進(jìn)行范圍約束,結(jié)合改進(jìn)的K-means算法對QoS數(shù)據(jù)進(jìn)行異常檢測,并利用改進(jìn)的貝葉斯公式[11]預(yù)測云服務(wù)的QoS數(shù)據(jù),最后基于理想點(diǎn)法對相似的云服務(wù)進(jìn)行性能評估和排名。
融合異常QoS數(shù)據(jù)檢測的安全云服務(wù)選擇的基本結(jié)構(gòu)主要包括6個(gè)模塊,如圖1所示。

圖1 云服務(wù)選擇
(1) 用戶的上下文環(huán)境記錄模塊
該模塊用于記錄用戶在調(diào)用云服務(wù)時(shí)所處的上下文環(huán)境。
(2) QoS數(shù)據(jù)記錄模塊
該模塊用于記錄用戶調(diào)用云服務(wù)時(shí)觀測到的QoS數(shù)據(jù),并根據(jù)用戶的上下文環(huán)境建立上下文環(huán)境-云服務(wù)的QoS數(shù)據(jù)矩陣。
(3) 相似上下文環(huán)境計(jì)算模塊
該模塊根據(jù)目標(biāo)用戶在尋求云服務(wù)選擇時(shí)所處的上下文環(huán)境,計(jì)算歷史的上下文環(huán)境中相似度大于閾值的上下文環(huán)境集合。
(4) 異常QoS數(shù)據(jù)檢測模塊
該模塊根據(jù)計(jì)算的相似上下文環(huán)境集合,從QoS數(shù)據(jù)中選擇對應(yīng)的QoS數(shù)據(jù),利用改進(jìn)的K-means算法從該QoS數(shù)據(jù)集中檢測出異常QoS數(shù)據(jù),并過濾掉。
(5) QoS預(yù)測模塊
該模塊根據(jù)異常QoS數(shù)據(jù)檢測的結(jié)果,利用改進(jìn)的貝葉斯公式預(yù)測云服務(wù)的QoS數(shù)據(jù)。
(6) 云服務(wù)排名模塊
該模塊計(jì)算出云服務(wù)的預(yù)測QoS數(shù)據(jù)后,利用多準(zhǔn)則決策技術(shù)對相似的云服務(wù)進(jìn)行評估排名,評估值越高的云服務(wù)排名越高。
上下文環(huán)境用于描述用戶在使用云服務(wù)、進(jìn)行反饋評價(jià)和獲取推薦時(shí)所處的狀態(tài),由多個(gè)參數(shù)構(gòu)成,包括但不限于時(shí)間、位置、季節(jié)和情緒等[12]。云服務(wù)選擇問題中主要考慮用戶在使用云服務(wù)和獲取推薦時(shí)的上下文環(huán)境。
定義1用戶的上下文環(huán)境(user context environment,UCE)為1個(gè)5元組C=(l,t,i,b,p),l為用戶所處的地理位置,t為調(diào)用云服務(wù)的時(shí)間,i為調(diào)用云服務(wù)時(shí)的網(wǎng)絡(luò)狀況,b為用戶的網(wǎng)絡(luò)帶寬,p為用戶使用的云平臺。
用戶在不同上下文環(huán)境下觀測的云服務(wù)的QoS數(shù)據(jù),具有不同的數(shù)值范圍。在理想情況下,用戶調(diào)用云服務(wù)時(shí)能夠獲得最優(yōu)性能的服務(wù),此時(shí)用戶觀測的QoS數(shù)據(jù)是該云服務(wù)的最優(yōu)QoS數(shù)據(jù)。然而,考慮云計(jì)算環(huán)境的動(dòng)態(tài)性,云服務(wù)并不能經(jīng)常提供最優(yōu)性能的服務(wù),其QoS數(shù)據(jù)通常是在一定范圍內(nèi)波動(dòng)。所以,在異常QoS數(shù)據(jù)檢測過程中,考慮用戶所處上下文環(huán)境十分必要。
目前,大多數(shù)云服務(wù)選擇算法以用戶和QoS數(shù)據(jù)之間一一對應(yīng)關(guān)系作為基本計(jì)算依據(jù),這種方式僅僅將用戶考慮成一個(gè)簡單的標(biāo)識符,忽略了用戶與QoS數(shù)據(jù)之間更多的內(nèi)在聯(lián)系。而上下文環(huán)境的作用不僅在于描述了用戶在調(diào)用云服務(wù)時(shí)所處的狀態(tài),同時(shí)也描述了云服務(wù)被調(diào)用時(shí)的狀態(tài),包含了更多的潛在信息。通過定義用戶的上下文環(huán)境,建立用戶的上下文環(huán)境與QoS數(shù)據(jù)的對應(yīng)關(guān)系,以此為計(jì)算依據(jù)。為了方便描述,給出部分QoS數(shù)據(jù),吞吐量S1、上傳速度S2和下載速度S3在6種不同的上下文環(huán)境C1—C6下,觀測的QoS數(shù)據(jù)如表1所示。

表1 上下文環(huán)境-云服務(wù)的QoS 數(shù)據(jù)
由表1可知,3個(gè)云服務(wù)取值范圍都為{0,1,2}。完整的QoS數(shù)據(jù)包含了所有相似的云服務(wù)和全部存在觀測記錄的上下文環(huán)境。
在不考慮歷史用戶的其余信息情形下,建立上下文環(huán)境-云服務(wù)的QoS數(shù)據(jù)為計(jì)算依據(jù)。在尋求云服務(wù)選擇時(shí),對目標(biāo)用戶所處的上下文環(huán)境進(jìn)行相似上下文環(huán)境計(jì)算。
采用歐氏距離[13]計(jì)算上下文環(huán)境的相似度,可表示為
(1)
式中,S(Co,Cc)是上下文環(huán)境Co和Cc的相似度,Co表示目標(biāo)用戶在尋求云服務(wù)選擇時(shí)所處的上下文環(huán)境,Cc是歷史的上下文環(huán)境,Coj和Ccj分別表示上下文環(huán)境Co和Cc對應(yīng)的參數(shù),其中,j的取值為(l,t,i,b,p)。在計(jì)算目標(biāo)用戶的相似上下文環(huán)境集時(shí),設(shè)置相似度的閾值參數(shù)為α。將相似度大于α的上下文環(huán)境加入到目標(biāo)用戶的相似上下文集合。
K-means算法[14-15]是一種無監(jiān)督學(xué)習(xí)算法,該算法通過重復(fù)迭代并優(yōu)化數(shù)據(jù)之間距離誤差值的方式,將一組數(shù)據(jù)劃分成多個(gè)不相交的數(shù)據(jù)集合,其目的是增強(qiáng)同一集合中數(shù)據(jù)的相似性,降低各數(shù)據(jù)集合之間的相似性。基于上述思想,對K-means算法進(jìn)行改進(jìn)并將其應(yīng)用于異常QoS數(shù)據(jù)的檢測。以包含異常值的歷史QoS數(shù)據(jù)為例,K-means算法經(jīng)過多次迭代將QoS數(shù)據(jù)分成多個(gè)數(shù)據(jù)集合,各數(shù)據(jù)集合中的QoS數(shù)據(jù)包含了正常值和異常值,異常值的數(shù)量少于正常值,且異常值與正常值存在較大的差異,二者的相似性較低,這使得在聚類完成后,同一集合中數(shù)據(jù)間的相似性并未達(dá)到最優(yōu)值。為了解決這一問題,從數(shù)據(jù)集合中篩選出QoS數(shù)據(jù),把剩余的QoS數(shù)據(jù)構(gòu)成新的數(shù)據(jù)集合,計(jì)算原數(shù)據(jù)集合中心點(diǎn)和新數(shù)據(jù)集合中心點(diǎn)的皮爾遜相似度[16],當(dāng)相似度小于0.5時(shí),篩選出的Qos數(shù)據(jù)檢測為異常值。算法具體步驟如下。
步驟1根據(jù)目標(biāo)用戶的相似上下文環(huán)境集,從歷史的QoS數(shù)據(jù)集中篩選出具有對應(yīng)上下文環(huán)境的QoS數(shù)據(jù),建立云服務(wù)S對應(yīng)的QoS矩陣
(2)
矩陣Q由云服務(wù)S在目標(biāo)用戶的相似上下文環(huán)境集中所觀測的QoS數(shù)據(jù)構(gòu)成,其中,qij是第i個(gè)QoS歷史數(shù)據(jù)的第j個(gè)參數(shù)(i=1,2,…,u;j=1,2,…,m),u表示QoS數(shù)據(jù)的數(shù)量,m表示QoS數(shù)據(jù)的參數(shù)數(shù)量。
步驟2建立k個(gè)數(shù)據(jù)集合v,從篩選出的QoS數(shù)據(jù)中,隨機(jī)選取k個(gè)數(shù)據(jù)作為各集合的初始中心點(diǎn)。
步驟3分別計(jì)算矩陣Q中各QoS數(shù)據(jù)到k個(gè)中心點(diǎn)的距離。將QoS數(shù)據(jù)劃分到距離最小的數(shù)據(jù)集合中,計(jì)算公式為
(3)
式中,qi是矩陣Q中的第i個(gè)QoS數(shù)據(jù),vj表示第j個(gè)數(shù)據(jù)集合,dvj是第v個(gè)數(shù)據(jù)集合的中心點(diǎn),函數(shù)‖·‖是計(jì)算qi和dvj的距離,函數(shù)arg min是選擇所有k個(gè)距離中的最小值。
步驟4完成一次QoS數(shù)據(jù)劃分后,以各數(shù)據(jù)集合中包含的QoS數(shù)據(jù)作為計(jì)算依據(jù),更新各數(shù)據(jù)集的中心點(diǎn)
(4)
式中,z是vj中的QoS數(shù)據(jù),|vj|是vj中QoS的數(shù)量。
步驟5重復(fù)迭代步驟3和步驟4,直到數(shù)據(jù)集合的中心點(diǎn)趨于穩(wěn)定。
步驟6對數(shù)據(jù)集合的相似性進(jìn)行優(yōu)化,以數(shù)據(jù)集合vj,集合中的QoS數(shù)據(jù)t為例,i對應(yīng)的皮爾遜相似度可表示為
(5)
式中,tvj是刪除QoS數(shù)據(jù)t后得到的新的中心點(diǎn),E(·)是計(jì)算數(shù)據(jù)期望,σ(·)是計(jì)算數(shù)據(jù)的標(biāo)準(zhǔn)差。當(dāng)ρ(tvj,dvj)<0.5,將t檢測為異常QoS數(shù)據(jù),并將t從vj中刪除。
步驟7重復(fù)迭代步驟6,遍及vj中所有數(shù)據(jù),直至計(jì)算所得皮爾遜相似度皆大于0.5。
步驟8分別對K-means算法得到的k個(gè)數(shù)據(jù)集合進(jìn)行步驟6~7的迭代計(jì)算,完成對云服務(wù)S的異常QoS數(shù)據(jù)檢測。
考慮到該云服務(wù)在為用戶提供服務(wù)時(shí)潛在性能,在進(jìn)行云服務(wù)選擇時(shí),需要預(yù)測各云服務(wù)的QoS數(shù)據(jù)。傳統(tǒng)的QoS預(yù)測方法沒有考慮到用戶在尋求云服務(wù)選擇時(shí)所處的上下文環(huán)境,預(yù)測的QoS數(shù)據(jù)可能與云服務(wù)此時(shí)的實(shí)際性能不相符。貝葉斯公式能夠充分考慮用戶在進(jìn)行云服務(wù)選擇時(shí)所處的上下文環(huán)境,從異常QoS數(shù)據(jù)檢測的結(jié)果中預(yù)測出相應(yīng)的QoS值。貝葉斯公式的標(biāo)準(zhǔn)表現(xiàn)形式[11]為
(6)
式中,A、Bx和By分別表示事件,P(·)表示事件發(fā)生的概率,P(Bx|A)表示事件A發(fā)生的條件下,事件Bx發(fā)生的概率。利用式(6)預(yù)測云服務(wù)的QoS值,將事件A表示為上下文環(huán)境,事件Bx表示云服務(wù)的歷史QoS數(shù)據(jù)。P(Bx|A)表示在上下文環(huán)境A發(fā)生的條件下,用戶觀測到云服務(wù)的QoS數(shù)據(jù)Bx的概率。也就是說,通過計(jì)算用戶在進(jìn)行云服務(wù)選擇時(shí)所處的上下文環(huán)境下,能夠觀測到云服務(wù)的QoS數(shù)據(jù)Bx的概率,將概率最大的QoS數(shù)據(jù)作為云服務(wù)的預(yù)測QoS值。由于QoS數(shù)據(jù)較多,為了簡化計(jì)算,僅對異常QoS數(shù)據(jù)檢測得到的數(shù)據(jù)集合的中心點(diǎn)進(jìn)行概率預(yù)測。同時(shí),由于前文已經(jīng)計(jì)算過用戶的相似上下文環(huán)境,所以上下文環(huán)境發(fā)生的概率相同。因此,據(jù)貝葉斯公式,忽略上下文環(huán)境A后,dvj作為預(yù)測QoS數(shù)據(jù)的概率為
(7)
若vj中QoS數(shù)據(jù)出現(xiàn)1次,則表示dvj出現(xiàn)1次。利用數(shù)據(jù)集合中元素的數(shù)量與整體數(shù)量進(jìn)行概率計(jì)算,將概率最大的中心點(diǎn)預(yù)測為云服務(wù)的QoS數(shù)據(jù)。利用式(7)可分別預(yù)測各相似云服務(wù)的QoS值。
基于理想點(diǎn)法(technique for order preference by similarity to an ideal solution,TOPSIS)[17]對云服務(wù)進(jìn)行排名,將排名最高的云服務(wù)作為最優(yōu)云服務(wù)推薦給用戶。理想點(diǎn)方法的具體步驟如下。
步驟1對完成異常QoS數(shù)據(jù)檢測的云服務(wù)進(jìn)行QoS預(yù)測,利用預(yù)測值建立矩陣
(8)
hij是第i個(gè)云服務(wù)的第j個(gè)預(yù)測QoS參數(shù)(i=1,2,…,n;j=1,2,…,m),n表示云服務(wù)的數(shù)量,m表示QoS數(shù)據(jù)的參數(shù)數(shù)量。
步驟2對矩陣H進(jìn)行預(yù)處理,降低各QoS參數(shù)的不同取值范圍對云服務(wù)排名的影響,得到矩陣
(9)
矩陣R是對矩陣H進(jìn)行歸一化處理得到的結(jié)果。rij是第i個(gè)云服務(wù)的第j個(gè)預(yù)測QoS參數(shù)的預(yù)處理值(i=1,2,…,n;j=1,2,…,m),n表示云服務(wù)的數(shù)量,m表示預(yù)處理QoS數(shù)據(jù)的參數(shù)數(shù)量。
由于QoS數(shù)據(jù)的各個(gè)參數(shù)值具有不同的取值范圍,為了消除由不同的數(shù)值范圍對排名造成的影響,利用歸一化方法[18]對QoS參數(shù)的值進(jìn)行縮放,其表達(dá)式為
(10)
式中,minq.y是第y列QoS參數(shù)的最小值,maxq.j是第y列QoS參數(shù)中的最大值,x={1,2,…,n},y={1,2,…,m}。利用歸一化公式將QoS數(shù)據(jù)的各參數(shù)值縮放到0~1范圍內(nèi)。
步驟3矩陣R中的各QoS參數(shù)列的正理想解和負(fù)理想解計(jì)算表達(dá)式分別為
R+={maxrxy,?x;y=12,…,m},
(11)
R-={minrxy,?x;y=1,2,…,m}。
(12)
步驟4利用矩陣R中的數(shù)據(jù)計(jì)算各云服務(wù)與R+和R-的距離,其計(jì)算表達(dá)式分別為
(13)
(14)

步驟5對云服務(wù)x利用公式
(15)
計(jì)算出最終評估值。在最終進(jìn)行云服務(wù)排名時(shí),利用式(15)對所有的云服務(wù)進(jìn)行評估,得到每個(gè)云服務(wù)的評估值,并根據(jù)評估結(jié)果按降序進(jìn)行云服務(wù)的排名。
實(shí)驗(yàn)環(huán)境采用Inter(R) Pentium(R) CPU G4400 @ 3.30 GHz 3.30GHz處理器,Windows 7系統(tǒng),JetBrains PyCharm 2017平臺,python語言。數(shù)據(jù)集來自WSdream[19],選取300個(gè)用戶調(diào)用2 000個(gè)web服務(wù)觀測的QoS數(shù)據(jù),共600 000條QoS數(shù)據(jù),并利用隨機(jī)數(shù)在該數(shù)據(jù)集的基礎(chǔ)上生成60 000條異常的QoS數(shù)據(jù),構(gòu)建一個(gè)包含660 000條QoS數(shù)據(jù)的數(shù)據(jù)集,其中異常數(shù)據(jù)占9.09%。實(shí)驗(yàn)中,采用用戶的地理位置作為用戶的上下文環(huán)境參數(shù)。QoS數(shù)據(jù)包含的參數(shù)如表2所示。

表2 QoS數(shù)據(jù)的參數(shù)
采用歸一化折扣累積增益(normalized discounted cumulative gain,NDCG)[20]作為實(shí)驗(yàn)的評估指標(biāo),與TOPSIS和層次分析法(analytic hierarchy process,AHP)[21]進(jìn)行實(shí)驗(yàn)對比,驗(yàn)證CSAD方法在異常QoS數(shù)據(jù)檢測方面的有效性和云服務(wù)選擇精度。
為了模擬真實(shí)的服務(wù)調(diào)用,對數(shù)據(jù)集進(jìn)行稀疏化,生成QoS矩陣密度為10%、25%和40%的3種數(shù)據(jù)集分別進(jìn)行實(shí)驗(yàn)。同時(shí),為了驗(yàn)證異常QoS數(shù)據(jù)對云服務(wù)排名的影響,在實(shí)驗(yàn)數(shù)據(jù)中設(shè)置異常的QoS數(shù)據(jù)占實(shí)驗(yàn)數(shù)據(jù)比值分別為1%、5%、10%。上下文環(huán)境的相似度閾值α=0.5,異常QoS數(shù)據(jù)檢測的參數(shù)k=5。3種方法的預(yù)測排名精度值對比結(jié)果如表3所示。

表3 3種方法的預(yù)測排名精度值對比結(jié)果
由表3可以看出,在QoS矩陣密度分別為10%、25%和45%,異常QoS數(shù)據(jù)占比為1%時(shí),AHP方法的預(yù)測排名精度最高,CSAD方法次之。隨著異常QoS數(shù)據(jù)占比不斷增加,3種方法的預(yù)測排名精度逐漸降低,TOPSIS和AHP的預(yù)測排名精度下降速度較快,而CSAD的下降速度較慢,并在預(yù)測排名精度上反超AHP方法。上述結(jié)果表明,隨著異常QoS數(shù)據(jù)占比的增加,大量異常的QoS數(shù)據(jù)對TOPSIS和AHP方法造成了嚴(yán)重的干擾,導(dǎo)致預(yù)測排名精度快速下降,而CSAD實(shí)現(xiàn)了異常QoS數(shù)據(jù)的檢測過程,對異常QoS數(shù)據(jù)的干擾具有較強(qiáng)的抵抗性,能夠保證有效的預(yù)測排名精度。
上下文環(huán)境代表了不同的QoS數(shù)據(jù)約束。設(shè)置上下文環(huán)境相似度閾值為0.5,異常QoS數(shù)據(jù)占實(shí)驗(yàn)數(shù)據(jù)比例分別為1%、5%、10%、15%和20%。采用兩種方案進(jìn)行異常QoS數(shù)據(jù)檢測,方案1為先計(jì)算與目標(biāo)用戶相似的上下文環(huán)境集合,再進(jìn)行異常QoS數(shù)據(jù)檢測;方案2為直接進(jìn)行異常QoS數(shù)據(jù)檢測。
以檢測精度,即異常QoS數(shù)據(jù)數(shù)量占異常QoS數(shù)據(jù)總數(shù)的比值為評估指標(biāo),兩種方案上下文環(huán)境對異常QoS數(shù)據(jù)檢測的影響結(jié)果如圖2所示。

圖2 上下文環(huán)境對異常QoS數(shù)據(jù)檢測的影響結(jié)果
從圖2可以看出,方案1的異常QoS數(shù)據(jù)檢測精度遠(yuǎn)高于方案2,并且隨著QoS數(shù)據(jù)占比的增加,方案2的檢測精度快速降低,而方案1相比方案2并不明顯,在異常QoS數(shù)據(jù)占比為20%時(shí),依然有較高的檢測精度。因此,在云服務(wù)選擇中,進(jìn)行相似上下文環(huán)境的計(jì)算有利于提升異常QoS數(shù)據(jù)的檢測精度。
異常QoS數(shù)據(jù)的檢測方法是基于K-means算法,在進(jìn)行異常檢測前需要設(shè)置聚類參數(shù)k。將k值從2增加到10,步長為1。k值對異常QoS數(shù)據(jù)檢測的影響結(jié)果如圖3所示。

圖3 k值對異常QoS數(shù)據(jù)檢測的影響結(jié)果
從圖3中可以看出,從k=2開始,隨著k值的增加,檢測精度逐漸提升。但是,當(dāng)k值超過5后,檢測精度反而隨著k值的增加而降低。上述結(jié)果說明,選取合適的k值有利于提升異常QoS數(shù)據(jù)的檢測精度,k值的過小或過大均降低了異常QoS數(shù)據(jù)的檢測精度。原因是,過小的k值聚類得到的類集合數(shù)量少,同一類中異常QoS數(shù)據(jù)較多,難以通過相似性來檢測異常的QoS數(shù)據(jù)。而過大的k值聚類的集合數(shù)量多,容易將異常的QoS數(shù)據(jù)聚類到同一個(gè)集合中,這種情況更難以檢測異常的QoS數(shù)據(jù)。
融合異常QoS數(shù)據(jù)檢測的安全云服務(wù)選擇方法,結(jié)合上下文環(huán)境和K-means聚類進(jìn)行異常QoS數(shù)據(jù)檢測,過濾掉異常的QoS數(shù)據(jù),保證了在進(jìn)行云服務(wù)排名時(shí)QoS數(shù)據(jù)的準(zhǔn)確性;結(jié)合上下文環(huán)境和貝葉斯公式的QoS預(yù)測方法,能夠預(yù)測出在實(shí)際上下文環(huán)境下,更符合云服務(wù)的QoS數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,該方法能夠增強(qiáng)異常QoS數(shù)據(jù)的檢測精度,并通過對異常QoS數(shù)據(jù)的檢測,有效地提高了云服務(wù)選擇的精度。