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