劉晶花,臺憲青,馬治杰,陳大鵬
1.中國科學(xué)院 空天信息創(chuàng)新研究院,北京100190
2.中國科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京100049
3.中國科學(xué)院 空天信息創(chuàng)新研究院 蘇州研究院,江蘇 蘇州215000
4.中國科學(xué)院 微電子研究所,北京100000
5.江蘇物聯(lián)網(wǎng)研究發(fā)展中心,江蘇 無錫214000
近年來,越來越多功能相似、性能不同的軟件服務(wù)被大量地部署于云平臺中,使得用戶難以從眾多的候選服務(wù)中快速、準(zhǔn)確地選擇符合用戶自身需求的服務(wù)。服務(wù)質(zhì)量(Quality of Service,QoS)[1]是衡量每個軟件服務(wù)非功能性屬性的重要參考維度之一。因此,基于服務(wù)的QoS屬性值、且考慮用戶自身需求的服務(wù)選擇方法研究已成為當(dāng)前服務(wù)評價與選擇的重要研究方向之一。
目前,大部分基于QoS的服務(wù)評價及選擇算法研究是基于實數(shù)形式描述的QoS屬性值[2-4]。然而,在實際場景中,服務(wù)均運行在動態(tài)網(wǎng)絡(luò)環(huán)境,諸如網(wǎng)絡(luò)帶寬、位置、時間等不確定因素,都會影響服務(wù)的性能結(jié)果,從而造成QoS屬性值的大小也具有動態(tài)性。針對這一問題,近年來,基于動態(tài)QoS的服務(wù)選擇研究越來越多,主要有基于區(qū)間數(shù)[5]、三角模糊數(shù)[6]、混合數(shù)據(jù)類型[7-8]等的服務(wù)選擇方法研究。與此同時,為更好地滿足用戶的個人偏好,基于用戶需求的服務(wù)選擇研究也越來越多[4,9-11]。然而,到目前為止,據(jù)調(diào)研所知,同時考慮用戶需求和服務(wù)動態(tài)QoS屬性值的服務(wù)評價與選擇方法研究較少。
對服務(wù)的綜合評價是進(jìn)行服務(wù)選擇的重要依據(jù),而對服務(wù)各指標(biāo)權(quán)重值的計算則是對服務(wù)評價的關(guān)鍵。當(dāng)前研究中計算各指標(biāo)權(quán)重的方法可分為三類[12-13]:主觀權(quán)重法、客觀權(quán)重法和混合權(quán)重法。主觀權(quán)重法[14-15]簡單直接,主要依據(jù)決策者和專家的經(jīng)驗知識或偏好分配權(quán)重,但該類方法主觀隨意性太強,使得根據(jù)權(quán)重計算出的服務(wù)評價可能并不準(zhǔn)確??陀^權(quán)重法[16-17]是依據(jù)一定的數(shù)學(xué)方法對采集得到的樣本數(shù)據(jù)進(jìn)行分析得到權(quán)重,較好地反映了決策問題本身潛在的性能和規(guī)律,權(quán)重的計算與決策者的主觀偏好無關(guān)。混合權(quán)重法[3,18]則綜合主觀與客觀兩種方法的優(yōu)勢。
在對服務(wù)進(jìn)行綜合評價的過程中,由于服務(wù)的QoS屬性具有多維性,因此,基于QoS屬性值的服務(wù)選擇問題本身也可以看作是一種多屬性決策問題(Multiple Criteria Decision Making,MCDM)。在MCDM研究中,常用的評價方法有:效用函數(shù)法(Utility Fuction Method)[19]、逼近理想解排序法(Technique for Order Preferenceby Similarity to Ideal Solution,TOPSIS)[20]、偏好順序結(jié)構(gòu)評估法(Preference Ranking Organization Methods for Enrichment Evaluations,PROMETHEE)[21]
等。隨著軟件服務(wù)數(shù)量的爆發(fā)式增長,如何從大量候選服務(wù)中快速選擇出用戶滿意的服務(wù)變得越來越重要。
基于以上研究,為了在動態(tài)網(wǎng)絡(luò)環(huán)境下高效、準(zhǔn)確地選擇出符合用戶自身需求的服務(wù),本文提出一種面向用戶需求的動態(tài)QoS服務(wù)選擇方法,簡稱URDQ(User Requirement-based Dynamic QoS Service Selection)方法。URDQ方法充分考慮并分析用戶自身需求和動態(tài)環(huán)境下候選服務(wù)的歷史數(shù)據(jù),對用戶需求進(jìn)行差異化分類,并首次基于相對優(yōu)勢度將候選服務(wù)屬性區(qū)間與用戶需求區(qū)間進(jìn)行比較,實現(xiàn)以用戶需求為標(biāo)尺將區(qū)間型QoS屬性值轉(zhuǎn)換為精確數(shù),同時采用服務(wù)篩選和排序的方式實現(xiàn)對眾多候選服務(wù)的過濾和選擇,以此達(dá)到為用戶快速推薦最優(yōu)服務(wù)的目的,詳細(xì)過程參見第1章和第2章。為驗證URDQ方法的可行性和有效性,本文采用Cloud Harmony公司提供的國內(nèi)外眾多云服務(wù)商實時測試的QoS數(shù)據(jù),通過仿真實驗對比分析URDQ方法和Entropy-TOPSIS方法,并設(shè)計三個場景對URDQ方法進(jìn)行進(jìn)一步驗證。仿真結(jié)果證明URDQ方法能夠在充分考慮用戶個人需求的情況下對候選服務(wù)進(jìn)行初步過濾,并以用戶需求為中心對動態(tài)環(huán)境下的候選服務(wù)進(jìn)行有效區(qū)分和排序,詳細(xì)結(jié)果參見第3章。
本章介紹URDQ方法的總體執(zhí)行流程。URDQ方法是一種為了實現(xiàn)在動態(tài)網(wǎng)絡(luò)環(huán)境下高效、準(zhǔn)確地選擇用戶滿意度高的服務(wù)而提出的服務(wù)選擇方法,其總體處理流程如圖1所示,大致可分解為如下6個步驟。
圖1 URDQ方法總體處理流程Fig.1 Overall processing flow of URDQ method
步驟1采用區(qū)間數(shù)的形式記錄候選服務(wù)每個QoS評價指標(biāo)的屬性值。
由于網(wǎng)絡(luò)環(huán)境的動態(tài)性,網(wǎng)絡(luò)帶寬、位置、時間等不確定因素都會影響服務(wù)的性能,因此,服務(wù)的QoS屬性值(如響應(yīng)時間、吞吐量等)存在不確定性。為提高服務(wù)選擇結(jié)果的可行性和有效性,不同于傳統(tǒng)的基于QoS的服務(wù)選擇研究只根據(jù)歷史監(jiān)測記錄的平均值或者最新監(jiān)測值描述服務(wù)QoS屬性,URDQ方法將根據(jù)對服務(wù)QoS的持續(xù)監(jiān)測獲取QoS歷史記錄,使用區(qū)間數(shù)描述QoS屬性,以此反映屬性值的波動情況。
步驟2分析用戶需求,并對候選服務(wù)進(jìn)行初步過濾。
為提高用戶滿意度,URDQ將通過以下方法對用戶需求進(jìn)行分析。
首先,記錄用戶對各QoS評價指標(biāo)的主觀權(quán)重,以此簡單、直接地表征用戶對各指標(biāo)的偏好。
然后,根據(jù)用戶個人偏好對指標(biāo)進(jìn)行分類,并對候選服務(wù)進(jìn)行初步過濾。具體而言,URDQ基于用戶偏好將QoS服務(wù)評價指標(biāo)分為硬性需求指標(biāo)和非硬性需求指標(biāo),其中硬性需求指標(biāo)是用戶非常重視且不可替代的指標(biāo),其往往伴隨一些個性化要求;非硬性需求指標(biāo)是服務(wù)評價過程中常用且較為重要的指標(biāo)。針對前者,用戶可指定容忍閾值,即用戶對該指標(biāo)能夠接受的最劣值,任何對應(yīng)硬性需求指標(biāo)劣于其容忍閾值的服務(wù)將被首先過濾掉;針對后者,指標(biāo)值越優(yōu)越好即可。URDQ方法通過由用戶給定硬性需求指標(biāo)的容忍閾值,實現(xiàn)對候選服務(wù)集初步篩選,確定候選服務(wù)集。
最后,由用戶根據(jù)個人需求給定指標(biāo)需求區(qū)間,并以此為標(biāo)尺對候選服務(wù)進(jìn)行量化,實現(xiàn)高效的選擇用戶滿意度高的服務(wù)。用戶需求分析過程詳見2.1節(jié)。
步驟3采用區(qū)間數(shù)模型對比步驟1中的候選服務(wù)QoS屬性區(qū)間和步驟2中的用戶需求區(qū)間,并計算其相對優(yōu)勢度值。
為實現(xiàn)候選服務(wù)的精確推薦,URDQ對用戶需求區(qū)間和QoS屬性區(qū)間進(jìn)行相對優(yōu)勢度計算。根據(jù)計算結(jié)果,實現(xiàn)以用戶需求為中心,對候選服務(wù)QoS屬性區(qū)間進(jìn)行相互比較。優(yōu)勢度計算結(jié)果值越大,說明候選服務(wù)的QoS屬性值越優(yōu),反之則越劣。區(qū)間數(shù)模型構(gòu)建過程詳見2.2節(jié)。
步驟4計算每個QoS評價指標(biāo)的混合權(quán)重。
URDQ采用熵權(quán)法計算客觀權(quán)重,同時結(jié)合步驟2中的主觀權(quán)重,通過加法合成法計算出各QoS評價指標(biāo)的混合權(quán)重值。熵權(quán)法和混合權(quán)重的計算過程參見2.3節(jié)。
步驟5針對步驟2中初步篩選之后的候選服務(wù),采用Skyline方法再次從中擇優(yōu)選擇最優(yōu)服務(wù)樣本集。
考慮候選服務(wù)QoS屬性的多維性,使用Skyline方法進(jìn)行最優(yōu)樣本集篩選。Skyline方法可以在候選集規(guī)模較大的情況下,能夠有效減小搜索空間,提高決策效率。Skyline方法介紹詳見2.4節(jié)。
步驟6根據(jù)步驟4確定的各QoS指標(biāo)權(quán)重和步驟5篩選之后的最優(yōu)服務(wù)樣本集,采用TOPSIS方法進(jìn)行量化評價。
TOPSIS根據(jù)有限個評價對象與正、負(fù)理想點的距離來進(jìn)行排序,若評價對象距離正理想點越近且又距離負(fù)理想點越遠(yuǎn),則其評價越優(yōu),以此實現(xiàn)對最優(yōu)服務(wù)樣本集中的每個服務(wù)進(jìn)行排序。TOPSIS方法介紹詳見2.5節(jié)。
值得注意的是,URDQ方法通過允許用戶設(shè)置指標(biāo)容忍閾值,并使用Skyline方法,去除冗余服務(wù),減小搜索空間,在候選服務(wù)集規(guī)模龐大的情況下,可有效提高服務(wù)選擇效率;其區(qū)間數(shù)模型相較于其他基于區(qū)間型QoS的服務(wù)選擇模型[5,22],在體現(xiàn)服務(wù)選擇以用戶需求為中心的基礎(chǔ)上,也有效降低了算法復(fù)雜度;另外,URDQ通過使用熵權(quán)法計算指標(biāo)客觀權(quán)重,并結(jié)合主觀權(quán)重得到混合權(quán)重的過程雖稍復(fù)雜,但混合權(quán)重既考慮了用戶的個人偏好,又結(jié)合了客觀的樣本數(shù)據(jù),可提高服務(wù)選擇精度。
針對URDQ方法總體處理流程中的步驟,本章后續(xù)將詳細(xì)介紹以上過程中的用戶需求分析、區(qū)間數(shù)模型、混合權(quán)重計算、Skyline篩選、TOPSIS排序等方法。
本章詳細(xì)介紹URDQ方法中每個重點過程所采用的技術(shù)方法。
一般情況下,用戶偏好、需求是建立在用戶對決策問題有一些了解的基礎(chǔ)上,有主觀與個性化特性。由于用戶對不同的指標(biāo)重視程度往往不同,URDQ方法根據(jù)用戶自身偏好,以及用戶對各個QoS指標(biāo)的需求強弱,將評價指標(biāo)分為以下兩類。
(1)硬性需求指標(biāo):即用戶非常重視且不可替代的指標(biāo),其往往伴隨一些個性化要求。針對該類指標(biāo),用戶可指定容忍閾值,其表示用戶對該指標(biāo)能夠接受的最劣值,任何對應(yīng)硬性需求指標(biāo)劣于其容忍閾值的服務(wù)將被首先過濾掉。這將保證最終選擇的服務(wù)不會因極端情況而導(dǎo)致不能滿足用戶硬性需求,并且這也能夠初步篩選服務(wù),減小搜索空間。此處與容忍閾值比較的指標(biāo)值為監(jiān)測樣本的平均值。
(2)非硬性需求指標(biāo):服務(wù)評價過程中常用且較為重要的指標(biāo)。針對該類指標(biāo),用戶希望指標(biāo)值越優(yōu)越好。
目前,很多服務(wù)選擇方法為提高用戶滿意度,總是由用戶給定理想服務(wù)指標(biāo)值,以此對服務(wù)進(jìn)行評價、選擇[4,11]。然而由于人的思維模式具有模糊性,用戶往往很難用精確值來表達(dá)其需求,因此,URDQ方法用區(qū)間數(shù)Uk=[uLk,uRk]表示能夠較好地滿足用戶的指標(biāo)需求的區(qū)間范圍。當(dāng)屬性為硬性需求指標(biāo)時,Uk由用戶給定;當(dāng)屬性為非硬性需求指標(biāo)時,Uk可由各候選服務(wù)相應(yīng)屬性區(qū)間的上下限的最優(yōu)值構(gòu)成。
為充分考慮用戶需求,并結(jié)合候選服務(wù)屬性值的動態(tài)不確定性,URDQ采用區(qū)間數(shù)模型計算相對優(yōu)勢度值[23]。通過該值,可以衡量候選服務(wù)的QoS屬性相對于用戶需求的優(yōu)越程度,相對優(yōu)勢度越大,表示候選服務(wù)的QoS屬性值越優(yōu)越。為此,首先定義候選服務(wù)屬性區(qū)間。
定義1(候選服務(wù)屬性區(qū)間)若存在一個服務(wù)si,它的第k維QoS屬性可表示為qk(si)。設(shè)對qk(si)的t個監(jiān)測樣本值可以表示為集合則服務(wù)si的第k維QoS屬性可用一個區(qū)間數(shù)表示:
URDQ方法中的屬性區(qū)間之所以不直接采用屬性樣本值的最大、最小值作為區(qū)間數(shù)的上下界,是為了減小QoS監(jiān)測值中的噪聲數(shù)據(jù)對QoS區(qū)間數(shù)取值的影響。在QoS取值分布函數(shù)未知的情況下,QoS區(qū)間數(shù)的表達(dá)形式避免了對QoS取值分布函數(shù)的錯誤假設(shè)。另外,由于QoS值的動態(tài)變化,QoS屬性區(qū)間本身也是變化的,可通過選取最新的k條QoS記錄對屬性區(qū)間進(jìn)行更新,以保持QoS屬性區(qū)間的時效準(zhǔn)確性[5]。
其次,URDQ方法使用區(qū)間數(shù)模型計算相對優(yōu)勢度值,以用戶需求為標(biāo)尺將屬性區(qū)間數(shù)轉(zhuǎn)化成精確實數(shù)。
定義2(相對優(yōu)勢度)設(shè)兩個任意的區(qū)間數(shù)a1=則a1大于a2的相對優(yōu)勢度可通過如下公式計算[23]。
式中,ρ為大于1的常數(shù)(如ρ=e,e=2.718)。
QoS屬性依據(jù)趨優(yōu)方向的不同,可分為效益型(positive)和成本型(negative)兩種,其中效益型的數(shù)值越大越好,例如吞吐率、可用性、可靠性等;成本型的數(shù)值越小越好,例如響應(yīng)時間、價格等。URDQ方法為使得到的相對優(yōu)勢度為正向數(shù)據(jù),即數(shù)值均為越大越好,具體方法介紹如下。
對于效益型指標(biāo),對候選服務(wù)的屬性區(qū)間與用戶的需求區(qū)間進(jìn)行相對優(yōu)勢度計算,即計算候選服務(wù)的屬性區(qū)間大于用戶需求區(qū)間的相對優(yōu)勢度;
對于成本型指標(biāo),對候選服務(wù)的屬性區(qū)間與用戶的需求區(qū)間進(jìn)行相對優(yōu)勢度計算,即計算用戶需求區(qū)間大于候選服務(wù)的屬性區(qū)間的相對優(yōu)勢度,如公式(3)所示:
式中,p表示候選服務(wù)的屬性區(qū)間相對于用戶的需求區(qū)間的相對優(yōu)勢度,Qk表示候選服務(wù)屬性區(qū)間,Uk表示用戶需求區(qū)間。
在對候選服務(wù)進(jìn)行評價、排序時,需依據(jù)每個QoS指標(biāo)重要程度的不同,對其賦予相應(yīng)的權(quán)重。為此,URDQ方法首先使用熵權(quán)法計算每個指標(biāo)的客觀權(quán)重,然后結(jié)合用戶給定的主觀權(quán)重,采用加法合成法得到混合權(quán)重。
熵權(quán)法是一種客觀賦權(quán)方法,其基本思想是從指標(biāo)的無序程度,即指標(biāo)信息熵的角度來反映指標(biāo)對評價對象的區(qū)分程度,某指標(biāo)的熵值越小,其樣本數(shù)據(jù)間的差異越大,對評價對象的區(qū)分能力越大[24]。由于這些差異程度大的指標(biāo)更能突出不同服務(wù)之間的性能差別,所以賦予其較高的客觀權(quán)重。
URDQ方法通過2.2節(jié)中的區(qū)間數(shù)模型將屬性區(qū)間數(shù)轉(zhuǎn)化為精確實數(shù)后,使用熵權(quán)法計算客觀權(quán)重。URDQ方法中基于熵權(quán)法計算客觀權(quán)重的步驟如下。
步驟1建立服務(wù)質(zhì)量矩陣。假設(shè)候選服務(wù)集中有n個服務(wù),m個評價指標(biāo),則服務(wù)質(zhì)量矩陣A可表示為:
式中,aij表示第i個服務(wù)、第j維屬性的屬性區(qū)間與用戶需求區(qū)間的相對優(yōu)勢度,aij∈(0,1)。
步驟2計算各指標(biāo)熵值。用Hj表示指標(biāo)歸一化熵值,則有:
步驟3計算各指標(biāo)客觀權(quán)重。用表示客觀權(quán)重。設(shè)各指標(biāo)的信息熵為H1,H2,…,Hm,則第j個指標(biāo)的熵權(quán)可通過如下公式計算得到。
步驟4計算各指標(biāo)混合權(quán)重值。URDQ采用加法合成法將主觀權(quán)重和客觀權(quán)重以一定比例相加得到最終混合權(quán)重。用ωj表示混合權(quán)重,則有:
式中,α∈[0,1],是主觀偏好重要性系數(shù),表示決策者對主觀權(quán)重的偏好程度,分別表示第j個指標(biāo)的主觀權(quán)重和客觀權(quán)重。
URDQ通過Skyline方法[25]對候選服務(wù)進(jìn)行約簡,以此有效減小搜索空間,提高決策效率。Skyline方法通過考慮計算對象的多維性,在候選集規(guī)模較大的情況下,采用支配的概念對候選服務(wù)進(jìn)行篩選,并從中選出不被其余服務(wù)支配的服務(wù),進(jìn)而組成Skyline服務(wù)集,記為SLs。候選服務(wù)集中各個服務(wù)的支配關(guān)系可定義如下。
定義3(支配關(guān)系)兩個N維的決策向量P(p1,p2,…,pN)和Q(q1,q2,…,qN),如果 ?i∈{1,2,…,N},有(pi?qi)∨(pi≈qi),其中?表示優(yōu)于,≈表示等于,并且?i∈{1,2,…,N},pi?qi,則稱P支配Q。
URDQ方法將服務(wù)的QoS屬性集映射到N維數(shù)據(jù)空間,每個維度對應(yīng)著候選服務(wù)的一個QoS屬性,其值為2.2節(jié)區(qū)間數(shù)模型計算得到的服務(wù)屬性區(qū)間與用戶需求區(qū)間的相對優(yōu)勢度。
TOPSIS根據(jù)有限個評價對象與理想化目標(biāo)的接近程度進(jìn)行排序,是一種逼近理想解的排序法[2]。其基本原理是通過計算評價對象距離正、負(fù)理想點的距離來進(jìn)行排序,若評價對象距離正理想點的距離越近且距離負(fù)理想點越遠(yuǎn),則評價越優(yōu)。URDQ方法中基于TOPSIS進(jìn)行服務(wù)排序的計算步驟如下:
步驟1建立SLs服務(wù)質(zhì)量評價矩陣。對服務(wù)質(zhì)量屬性QoS數(shù)據(jù)進(jìn)行處理,見本文2.1、2.2節(jié)。設(shè)本文2.4節(jié)中SLs服務(wù)集有n個服務(wù),m個評價指標(biāo),則構(gòu)建評價矩陣Qij=(qij)n×m。
步驟2建立SLs服務(wù)質(zhì)量加權(quán)評價矩陣。根據(jù)評價矩陣Q和各指標(biāo)混合權(quán)重,加權(quán)評價矩陣V表示為:
式中,qij表示第i個服務(wù)的第j維屬性的屬性區(qū)間與用戶需求區(qū)間的相對優(yōu)勢度,由步驟1所得;ω1,ω2,…,ωm表示各個評價指標(biāo)的混合權(quán)重。
步驟3確定正、負(fù)理想點。記正理想點為,負(fù)理想點為由于步驟2中矩陣V=(vij)n×m的各指標(biāo)均為正向數(shù)據(jù),所以正理想點的各指標(biāo)屬性值均取對應(yīng)指標(biāo)的最大值,負(fù)理想點的各指標(biāo)屬性值均取對應(yīng)指標(biāo)的最小值,即:
式中,j=1,2,…,m。
步驟4計算各候選服務(wù)到理想點的距離。用、分別表示SLs服務(wù)集中每個服務(wù)到正、負(fù)理想點的距離,則有:
式中,i=1,2,…,n,j=1,2,…,m。
步驟5根據(jù)距離、計算各候選方案與理想點的貼近度。用Cdi表示貼近度,則有:
式中,i=1,2,…,n,有Cdi∈[0,1]。
步驟6根據(jù)貼近度對候選方案進(jìn)行排序。URDQ根據(jù)貼近度的大小對候選方案排序,其中Cdi越大,表明距離負(fù)理想點越遠(yuǎn),距離正理想點越近,那么該候選方案越優(yōu),其排序應(yīng)越靠前。
本章將通過仿真實驗來驗證URDQ方法在動態(tài)環(huán)境下的可行性和有效性。為此,本章首先介紹仿真實驗所采用的真實云服務(wù)QoS數(shù)據(jù)集;然后驗證URDQ方法在動態(tài)環(huán)境下的可行性,并對比URDQ方法和Entropy-TOPSIS方法[26]的實驗結(jié)果;最后,通過三個場景進(jìn)一步驗證URDQ方法的有效性。
本實驗采用了Cloud Harmony Report[26]中公開的云服務(wù)QoS數(shù)據(jù)。CloudHarmony公司提供的云服務(wù)質(zhì)量評估報告涵蓋了國內(nèi)外眾多云服務(wù)商實時測試的QoS數(shù)據(jù)。本次實驗從中選取國內(nèi)外11家云服務(wù)商的服務(wù)質(zhì)量數(shù)據(jù),并選取5個QoS指標(biāo)對其進(jìn)行評價。云服務(wù)商分別為:Joynet(CSP1)、Amazon(CSP2)、City-Cloud(CSP3)、Softlayer(CSP4)、HP(CSP5)、Century Link(CSP6)、Rackspace(CSP7)、Google(CSP8)、Linode(CSP9)、GoGrid(CSP10)、Azure(CSP11)。評價指標(biāo)包括:CPU性能(C1)、磁盤I/O的一致性(C2)、磁盤性能(C3)、內(nèi)存性能(C4)、云服務(wù)價格(C5)共5項,其中C1、C2、C3、C4為效益型指標(biāo),C5為成本型指標(biāo)。
各云服務(wù)商的質(zhì)量數(shù)據(jù)如表1所示。為驗證URDQ方法在動態(tài)環(huán)境下的可行性和有效性,以表1中每個指標(biāo)數(shù)據(jù)為區(qū)間中心,分別以中心值的0.1、0.2倍系數(shù)為區(qū)間半徑生成兩個區(qū)間型服務(wù)質(zhì)量數(shù)據(jù),并最終形成一組動態(tài)QoS原始區(qū)間數(shù)據(jù)。其中,定義以0.1倍系數(shù)為區(qū)間半徑生成的服務(wù)為前11個服務(wù)商(即CSP1~CSP11),定義以0.2倍系數(shù)為區(qū)間半徑生成的服務(wù)為后11個服務(wù)商(即CSP12~CSP22)。以服務(wù)商CsSP1的評價指標(biāo)C1為例,經(jīng)區(qū)間型服務(wù)質(zhì)量數(shù)據(jù)的轉(zhuǎn)換,分別為CSP1的區(qū)間型服務(wù)質(zhì)量[57.09,69.78]和CSP12的區(qū)間型服務(wù)質(zhì)量[50.75,76.12]。
表1 云服務(wù)商QoS數(shù)據(jù)集Table 1 Cloud service provider QoS data set
3.2.1 URDQ實驗結(jié)果
針對3.1節(jié)生成的22個新服務(wù)商的服務(wù)質(zhì)量數(shù)據(jù),假設(shè)用戶指定C1、C5為硬性需求指標(biāo),C2~C4為非硬性需求指標(biāo),由用戶給定的硬性需求指標(biāo)的容忍閾值和各指標(biāo)的用戶需求區(qū)間如表2所示;假設(shè)主觀偏好重要性系數(shù)α=0.5。根據(jù)第3章評價步驟,URDQ方法的評價結(jié)果歸納如下。
表2 用戶需求數(shù)據(jù)Table 2 User demand data
(1)服務(wù)CSP10、CSP21因C1指標(biāo)劣于容忍閾值,服務(wù)CSP2、CSP7、CSP8、CSP13、CSP18、CSP19因C5指標(biāo)劣于容忍閾值,因此被首先過濾掉。其他候選服務(wù)根據(jù)區(qū)間數(shù)模型將候選服務(wù)集CSPs的屬性區(qū)間以用戶需求區(qū)間為標(biāo)尺轉(zhuǎn)化成實數(shù)型服務(wù)質(zhì)量數(shù)據(jù),如表3所示。
表3 區(qū)間數(shù)模型實數(shù)型QoS數(shù)據(jù)Table 3 Real QoS data from interval number model
(2)使用Skyline方法對所有候選服務(wù)進(jìn)行約簡,得到SLs={CSP1,CSP3,CSP4,CSP5,CSP6,CSP9,CSP11,CSP14,CSP15,CSP16,CSP17,CSP20,CSP22}。服務(wù)CSP12因被CSP1支配而不在SLs之列。
(3)由用戶給定的各指標(biāo)主觀權(quán)重、使用熵權(quán)法計算得到的客觀權(quán)重以及使用加法合成法計算得到的各指標(biāo)的混合權(quán)重如表4所示。
表4 指標(biāo)權(quán)重Table 4 Index weight
(4)使用TOPSIS方法計算SLs中各候選服務(wù)距離正、負(fù)理想點的距離、,以及與理想點的貼近度
Cdi,并根據(jù)Cdi對服務(wù)進(jìn)行排序,如表5所示。
表5 URDQ方法的服務(wù)排序Table 5 Service ranking of URDQ method
3.2.2 對比實驗分析
為驗證本文提出的URDQ方法的可行性和有效性,本實驗選取同樣采用熵權(quán)法和TOPSIS方法對服務(wù)進(jìn)行排序的Entropy-TOPSIS方法[26]作為對比對象,以凸顯URDQ方法使用容忍閾值和Skyline方法對候選服務(wù)集進(jìn)行篩選的有效性以及動態(tài)環(huán)境下用區(qū)間數(shù)表示QoS進(jìn)行服務(wù)選擇的優(yōu)勢。
針對22個新服務(wù)商的服務(wù)質(zhì)量數(shù)據(jù),采用Entropy-TOPSIS方法得到的服務(wù)排序結(jié)果如表6所示。URDQ方法和Entropy-TOPSIS方法的服務(wù)排序比較結(jié)果如圖2所示。根據(jù)兩組實驗可以得出以下三點結(jié)論。
表6 Entropy-TOPSIS方法的服務(wù)排序Table 6 Service ranking of Entropy-TOPSIS method
(1)URDQ和Entropy-TOPSIS兩種方法雖然最終都使用TOPSIS方法進(jìn)行服務(wù)排序,但參與排序的服務(wù)數(shù)量不同。如圖2所示,Entropy-TOPSIS方法對22個服務(wù)進(jìn)行排序,URDQ方法只對篩選得到的13個服務(wù)進(jìn)行排序。主要原因解釋如下:Entropy-TOPSIS方法對全部候選服務(wù)進(jìn)行排序;而URDQ方法首先根據(jù)用戶設(shè)定的硬性需求指標(biāo)的容忍閾值對候選服務(wù)進(jìn)行初步篩選,過濾掉不符合用戶個人硬性需求的服務(wù);其次,通過Skyline方法對候選服務(wù)進(jìn)行約簡,進(jìn)一步減小了搜索空間。因而URDQ方法最終參與排序的候選服務(wù)數(shù)量少于初始候選服務(wù)。
圖2 URDQ方法和Entropy-TOPSIS方法的服務(wù)排序比較Fig.2 Comparison of service sorting between URDQ and Entropy-TOPSIS
(2)針對參與排序的候選服務(wù),URDQ和Entropy-TOPSIS兩種方法的排序結(jié)果不同。主要原因解釋如下:Entropy-TOPSIS方法首先對原始服務(wù)質(zhì)量數(shù)據(jù)進(jìn)行歸一化,然后使用熵權(quán)法計算客觀權(quán)重,最后通過TOPSIS方法對全部候選服務(wù)進(jìn)行排序。該方法雖然保證了服務(wù)排序的客觀性,但完全沒有考慮到用戶的個人需求和偏好。而URDQ方法是以用戶給定的需求區(qū)間為標(biāo)尺對服務(wù)質(zhì)量數(shù)據(jù)進(jìn)行量化,然后使用熵權(quán)法計算客觀權(quán)重,并與用戶給定的主觀權(quán)重綜合集成混合權(quán)重,最后使用TOPSIS方法對SLs候選服務(wù)進(jìn)行排序。URDQ和Entropy-TOPSIS在使用TOPSIS方法進(jìn)行排序時,服務(wù)質(zhì)量數(shù)據(jù)和指標(biāo)權(quán)重都不相同,因而URDQ和Entropy-TOPSIS兩種方法的排序結(jié)果不同。
(3)Entropy-TOPSIS方法不能區(qū)分動態(tài)環(huán)境下服務(wù)質(zhì)量數(shù)據(jù)均值相同而離散程度不同的服務(wù);而URDQ則可以區(qū)分。以比較CSP1與CSP12為例說明:由于CSP1和CSP12的各指標(biāo)的質(zhì)量數(shù)據(jù)平均值相同,因此,若使用Entropy-TOPSIS評價方法,CSP1和CSP12不能得到區(qū)分,而URDQ采用區(qū)間數(shù)模型則可以將動態(tài)環(huán)境下均值相同而離散程度不同的服務(wù)區(qū)分開來。主要原因解釋如下:Entropy-TOPSIS只是使用均值來比較服務(wù)的優(yōu)劣,均值僅僅能夠反映一個服務(wù)在某個QoS屬性上的平均取值,而不能反映其QoS數(shù)據(jù)的波動性。URDQ則以用戶需求區(qū)間為標(biāo)尺將屬性區(qū)間轉(zhuǎn)化成實數(shù)型質(zhì)量數(shù)據(jù),中心值相同而半徑不同的區(qū)間數(shù)經(jīng)用戶需求區(qū)間量化后轉(zhuǎn)換得到的實數(shù)型質(zhì)量數(shù)據(jù)也不盡相同,因此可將動態(tài)環(huán)境下均值相同而離散程度不同的服務(wù)區(qū)分開來。
3.2.3 性能評估
為評估URDQ方法的優(yōu)勢,選取指標(biāo)DCG[24](Discounted Cumulative Gain)對URDQ方 法 和Entropy-TOPSIS方法的服務(wù)排序結(jié)果進(jìn)行評價。DCG計算公式如下所示:
式中,當(dāng)k值相同時,DCG的數(shù)值越大越好。reli由如下公式計算得到:
式中,wj表示第j個QoS屬性的權(quán)重;qij表示排序后排名第i個服務(wù)的第j個指標(biāo)的相對優(yōu)勢度,需要注意的是,考慮到用戶的滿意度,若某服務(wù)的硬性需求指標(biāo)不滿足用戶給定的容忍閾值,說明該服務(wù)不符合用戶需求,其reli值應(yīng)為0。
基于URDQ方法和Entropy-TOPSIS方法對服務(wù)排序后的Top-k服務(wù)的DCG對比如圖3所示。圖中,URDQ方法的Top-k(k=2,4,6,8,10)服務(wù)的DCG值均大于Entropy-TOPSIS方法的DCG值。其中,由于Entropy-TOPSIS方法的Top-2服務(wù)的硬性需求指標(biāo)不滿足用戶給定的容忍閾值,因此其DCG2為0;而URDQ方法能夠滿足容忍閾值要求,其DCG2為0.81。另外,URDQ的Top-k(k=4,6,8,10)服務(wù)性能更優(yōu),亦能夠更好地滿足用戶需求,其DCG值均大于Entropy-TOPSIS方法對應(yīng)DCG值。
圖3 Top-k服務(wù)的DCG對比Fig.3 DCG comparison of Top-k services
為進(jìn)一步驗證URDQ方法的有效性,本節(jié)將分別通過改變QoS指標(biāo)值、主觀偏好系數(shù)、用戶需求區(qū)間三種方式,逐一觀察URDQ方法的服務(wù)排序變化結(jié)果,實驗結(jié)果分別如圖4、圖5、圖6所示,具體介紹如下。
圖5 主觀偏好重要性系數(shù)α變化時服務(wù)排名的變化Fig.5 Change of service ranking with change of subjective preference importance coefficient
圖6 用戶需求區(qū)間變化時服務(wù)排名的變化Fig.6 Change of service ranking with change of user demand interval
圖4展示了URDQ方法隨服務(wù)QoS指標(biāo)值變化而變化的排序結(jié)果。該實驗選取CSP1、CSP6、CSP9、CSP14、CSP15、CSP16、CSP22作為觀察對象,通過不斷優(yōu)化CSP22的各項QoS指標(biāo)值,即對于效益型指標(biāo)其值逐漸增大,對于成本型指標(biāo)其值逐漸減小,具體參數(shù)如表7所示,同時固定其他候選服務(wù)的QoS值,從而分析服務(wù)排序變化結(jié)果。由圖4可以發(fā)現(xiàn)以下兩點結(jié)論。
表7 CSP22的QoS參數(shù)設(shè)置Table 7 QoS of CSP22
圖4 CSP22指標(biāo)值優(yōu)化時服務(wù)排名的變化Fig.4 Change of service ranking when CSP22 index value is optimized
(1)隨著CSP22各項指標(biāo)的不斷優(yōu)化,其排名不斷上升,并最終由最差服務(wù)變?yōu)樽顑?yōu)服務(wù)。由此可以說明,URDQ方法具有較高的敏感性。
(2)在CSP22的排名變化的同時,其他服務(wù)的排名也發(fā)生了變化。主要原因概括如下。首先,隨著服務(wù)QoS指標(biāo)值的變化,SLs列表可能會發(fā)生變化,如圖4所示,CSP6、CSP15在后續(xù)實驗中因被其他服務(wù)支配而不再是SLs中的候選服務(wù),從而不再參與最終排名。另外,QoS指標(biāo)值的變化也會引起指標(biāo)客觀權(quán)重變化,因此其他服務(wù)的排名也會出現(xiàn)小幅度的波動。由此可以說明,URDQ方法最終得到的SLs候選服務(wù)排名受服務(wù)QoS指標(biāo)值的影響。
圖5展示了URDQ方法隨主觀偏好重要性系數(shù)α變化而變化的排序結(jié)果。該實驗選取CSP1、CSP6、CSP9、CSP14、CSP15、CSP16、CSP22作為觀察對象,并分別設(shè)置α=0.1,0.2,…,1。由圖4可以看出,當(dāng)α變化時,各服務(wù)的排名產(chǎn)生了一定的變化。因此,α能夠體現(xiàn)主觀偏好對服務(wù)排名的影響,從而可以設(shè)定不同的α值來表示主觀權(quán)重的重要性。
圖6展示了URDQ方法隨用戶需求區(qū)間變化而變化的排序結(jié)果。該實驗選取CSP3、CSP5、CSP9、CSP14、CSP15、CSP22作為觀察對象,通過改變用戶需求區(qū)間,具體參數(shù)如表8所示,從而分析服務(wù)排序變化結(jié)果。由圖6可以發(fā)現(xiàn),當(dāng)用戶需求區(qū)間變化時,各服務(wù)的排名產(chǎn)生了較大的波動。主要原因概括如下。URDQ方法通過對候選服務(wù)的屬性區(qū)間與用戶需求區(qū)間進(jìn)行相對優(yōu)勢度比較,以用戶需求為標(biāo)尺將屬性區(qū)間數(shù)轉(zhuǎn)換成實數(shù)型質(zhì)量數(shù)據(jù)。當(dāng)改變用戶需求區(qū)間時,雖然服務(wù)屬性區(qū)間不變,但依據(jù)用戶需求區(qū)間轉(zhuǎn)換得到的實數(shù)型質(zhì)量數(shù)據(jù)會隨之改變,另外,隨著服務(wù)QoS指標(biāo)值的變化,SLs列表可能會發(fā)生變化。因此,最終各服務(wù)的排名也會隨之發(fā)生變化。
表8 用戶需求區(qū)間數(shù)據(jù)Table 8 User demand interval data
為了解決在動態(tài)環(huán)境下高效、準(zhǔn)確地選擇用戶滿意度高的服務(wù),本文提出一種面向用戶需求的動態(tài)QoS服務(wù)選擇方法,稱為URDQ方法。
通過充分考慮并分析用戶自身需求和動態(tài)環(huán)境下候選服務(wù)的歷史數(shù)據(jù),URDQ方法采用服務(wù)篩選和排序的方式實現(xiàn)對眾多候選服務(wù)的過濾和選擇,以此達(dá)到為用戶快速推薦最優(yōu)服務(wù)的目的。為了驗證URDQ方法的可行性和有效性,本文采用Cloud Harmony公司提供的國內(nèi)外眾多云服務(wù)商實時測試的QoS數(shù)據(jù),通過仿真實驗對比分析了URDQ方法和Entropy-TOPSIS方法。實驗結(jié)果表明,URDQ能夠在充分考慮用戶個人需求的情況下對候選服務(wù)進(jìn)行初步過濾,并以用戶需求為中心對動態(tài)環(huán)境下的候選服務(wù)進(jìn)行有效區(qū)分和排序。另外本文設(shè)計了三個場景對URDQ方法進(jìn)行了進(jìn)一步驗證。
在本文的研究過程中,區(qū)間數(shù)模型雖能以用戶需求區(qū)間為標(biāo)尺將候選服務(wù)屬性區(qū)間轉(zhuǎn)化為實數(shù)型屬性值,但轉(zhuǎn)化過程使用的相對優(yōu)勢度算法相對粗糙,在未來的研究中,將嘗試對區(qū)間數(shù)模型進(jìn)行進(jìn)一步優(yōu)化。