馬治杰 臺憲青 劉晶花 陳大鵬
1(中國科學院微電子研究所 北京 100000) 2(江蘇物聯網研究發展中心 江蘇 無錫 214000) 3(中國科學院空天信息創新研究院蘇州研究院 江蘇 蘇州215121) 4(中國科學院空天信息創新研究院 北京 101407)
近年來,隨著Internet和云計算技術的飛速發展和廣泛應用,越來越多功能相似而性能不同的軟件服務被部署于云平臺中,使得服務組合數量成指數增長。面對如此大量性能各異的服務,用戶無法有效地選擇其所需要的云服務。在這種情況下,根據服務的性能差異對其進行評估和排序是一個很好的解決思路。
為了評估服務的價值,需要建立一個既包含評價指標又包含指標權重的評估模型,其中如何確定權重是建立模型的關鍵。當前研究中計算各指標權重的方法可分為三類:主觀權重法、客觀權重法和混合權重法[1]。主觀權重法簡單、直接,主要依據決策者和專家的知識經驗或偏好。例如,文獻[2]通過調查、收集數據,采用模糊邏輯法和層次分析法對不同的云服務提供商進行排名。文獻[3]提出將AHP(Analytic Hierarchy Process)與TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)相結合的方法解決多屬性決策問題。然而,此類方法具有很大程度的主觀隨意性,計算出的權重值可能并不準確??陀^權重法是依據一定的數學方法,對采集得到的樣本數據進行分析計算,最終得到各指標權重。其反映了決策問題本身潛在的性能和規律,與決策者的主觀偏好無關。例如,文獻[4]提出了一種基于各指標之間依賴關系的模糊排序算法,每個指標的權重值僅根據指標之間的距離相關性確定,即各指標的重要性體現為指標的獨立性。文獻[5]基于變異系數(Coefficient of Variation,CV)法計算服務的客觀權重,但在服務評估領域,表示指標離散程度的變異系數并不一定能夠真實反映指標的重要性?;旌蠙嘀胤梢钥醋魇侵饔^方法和客觀方法的綜合。例如,文獻[6]提出一種基于TOPSIS的Web服務排序方法,通過使用熵權法并結合主觀權重得到綜合權重。文獻[7]融合了熵權法、模糊層次法、Skyline,以及PROMETHEE方法對服務進行排序。
通過對已有方法的研究和分析,提出了一種新的客觀權重方法用于評估云環境下不同服務的價值,稱為基于逆變異系數的服務價值評估方法,簡稱Inv-CV(Inverse Coefficient of Variation)方法。該方法的思想原理是越重要的指標往往在較優的服務樣本中表現得更為穩定,即在較優的服務樣本中,指標內部數據差異越小,其權重分配值應越大。該方法對今后的云服務選擇和個人服務推薦有一定的參考價值。
CV評估方法是一種典型的客觀權重方法,其可以在不考慮人為因素的情況下確定各個評價指標的權重。CV方法通過計算各個指標的平均值和標準差,可以得到相應指標的變異系數值。一般來說,系數值越大,指標權重越大,反之亦然。
下面通過表1中的示例來說明CV方法如何計算每個指標的權重。在表1中,假設存在n個具有相似功能、不同性能的服務樣本Si(1≤i≤n),每個樣本包含m個評價指標Qj(1≤j≤m),也稱服務質量(Quality of Service,QoS)指標,其中dij表示服務Si關于指標Qj的具體QoS數值。用ωj表示指標Qj的權重,則ωj可通過以下四個步驟計算獲得。
表1 n個服務,m個評價指標
(1)
步驟2計算各個評價指標的標準差。用σj(1≤j≤m)表示指標Qj的QoS值的標準差,則有:
(2)
步驟3計算各個評價指標的變異系數。用xj(1≤j≤m)表示指標Qj的變異系數,則有:
(3)
步驟4計算各個指標的權重。用ωj(1≤j≤m)表示指標Qj的權重,則有:
(4)
最后,根據每個服務的實際QoS值dij與對應QoS評價指標權重ωj,CV評估方法可以使用加權法來計算評估每個服務的價值。
與主觀權重方法相比,盡管CV方法繼承了客觀權重方法的許多優點,例如,減少人為干擾、權重計算簡單等,但在服務價值評估領域,依然存在以下兩個缺點。
(1) 權重計算存在誤差。在CV方法中,權重計算依賴于全部的樣本,所以其對樣本數據的可靠性、準確性等的要求會很高。此外,變異系數法作為常用的多指標評價方法,其原理更多的是強調指標對評價對象的區分作用,即內部數據的差異性越大,該指標對評價對象的區分作用越大,權重的分配值也就越大。但在軟件服務價值評價領域,每個服務QoS指標的離散程度并不一定能夠真實反映指標的重要性。因此,直接將CV方法部署到服務價值評估中,其評估結果并不一定合理、可靠。
(2) 計算開銷大。在CV方法中,所有的樣本值,即所有服務的QoS指標數據,都被用來計算權重值;且在樣本庫動態變化時,必須重新計算權重和樣本分數,這將帶來很大的計算開銷,同時降低了效率。
Inv-CV方法首先基于Pareto支配概念,使用快速非支配排序算法對所有樣本進行分層,再按用戶指定比例確定較優的樣本集——Pareto集。然后,為了合理、精確地計算指標權重值,Inv-CV方法僅依據Pareto集中的樣本計算指標的變異系數值,并最終得到權重值。與傳統CV方法不同,在Inv-CV中,每個指標的變異系數值越小,其權重值越大。最后,Inv-CV采用加權法對所有服務進行價值評估。下面以表1為例詳細介紹Inv-CV方法的評估過程。
Inv-CV方法的評估過程包括以下四個步驟:
步驟1利用以Pareto支配為基礎的快速非支配排序算法,對所有樣本進行分層得到Pareto集。
如表1所示,由于每個服務樣本包含多個QoS指標,為了從大量樣本中選擇較優的樣本,Inv-CV方法首先根據每個QoS指標的屬性性質進行區分。由文獻[10]可知,QoS指標可分為兩類:積極型指標和消極型指標,前者表示對應指標的QoS值越大越好(例如,可靠性、安全性等),而后者表示對應指標的QoS值越小越好(例如,響應時間、CPU利用率等)。
基于以上定義分類,Inv-CV方法將采用以Pareto支配[8]概念為基礎的快速非支配排序算法對樣本進行分層,并從所有樣本中根據用戶指定比例選取較優的服務樣本,最終組成Pareto集。下面以表1中的任意兩個服務樣本Si和Sj為例,介紹Pareto支配關系。用QP和QN分別表示積極型和消極型屬性集合,Si若滿足以下三個條件,將被視為Si支配Sj:
條件1:對于積極型QoS屬性,如Qp∈QP,服務Si的QoS值dip不小于服務Sj的QoS值djp。即dip≥djp。
條件2:對于消極型QoS屬性,如Qn∈QN,服務Si的QoS值din不大于服務Sj的QoS值djn。即din≥djn。
條件3:對于所有的QoS屬性,至少存在一個屬性,使得Si的值優于Sj的值,即dip>djp或din 當滿足上述三個條件時,則可認為Si支配Sj。最后,所有不被任何其他服務支配的服務樣本,組成Pareto最優集。 快速非支配排序算法[9]對所有樣本按照支配關系進行分層,其通過保存兩個量:支配個數np(支配個體p的所有個體的數量)、被支配個體集合Sp(所有被個體p支配的個體組成的集合),降低時間復雜度,提高效率。 Inv-CV方法中由用戶參考總服務樣本數,指定Pareto集比例。以第一非支配層中服務為先,其次為第二非支配層,以此類推,按指定比例選取服務確定Pareto集。本文暫且對同一非支配層的服務樣本不作區分,隨機選取。 步驟2計算每個QoS指標的權重值。 在傳統的CV方法中,每個QoS指標的變異系數值和權值都是通過所有樣本來計算的。如式(4)所示,QoS指標的變異系數值越大,對應的權重值越大。然而,Inv-CV方法只根據Pareto集中的樣本計算每個QoS指標的CV值和權值,且權值的計算方法不同。具體而言,QoS指標的CV值越大,對應的權重反而越小。主要原因是傳統CV方法是根據所有樣本中每個QoS評價指標的離散情況來分配指標的權重,QoS值離散程度越大,相應權重的分配值也就越大;而Inv-CV方法根據Pareto集計算各指標權重,則是考慮到越重要的指標往往在較優的服務樣本中表現得更為穩定,其CV值越小,相應的權值反而越大。 簡而言之,傳統的CV方法和本文所提出的Inv-CV方法之間的差異有以下兩點。一方面,每個QoS指標的變異系數值的計算依賴于不同的樣本。另一方面,變異系數值與權重值之間的關系是完全相反的。因此,在Inv-CV方法中,為了計算每個QoS指標的權重,首先采用傳統CV方法,對Pareto集中的服務樣本計算每個QoS指標的CV值(即式(1)-式(3))。之后,每個QoS指標的權重可以通過下式計算: (5) 步驟3對每個QoS指標進行標準化處理。 由于每一個QoS評價指標值的范圍和單位都不同,所以直接采用未經過任何處理的原始QoS值會帶來一些不公平的因素。為解決該問題,本文將每個QoS評價指標值進行標準化處理。 (6) 式中:max(Qj)和min(Qj)分別表示所有樣本中評價指標Qj的最大值和最小值。 步驟4評估服務的價值。 最后,評估每個服務的價值。用Vi表示服務Si的價值,結合式(5)和式(6),則有: (7) 本節將通過以下兩個實驗來驗證所提出的Inv-CV方法。 (1) 數據集。實驗A選取公共可用數據集WS-DREAM[11],該數據集包含5 825個真實Web服務,并記錄了響應時間和吞吐量兩個評價指標。本實驗從WS-DREAM中選擇前200個服務,并假設這些服務具有相似的功能,但不同的性能。 (2) 實驗結果與分析。表2和表3分別展示了當設置Pareto集比例為5%({60,110,123,124,170,91,126,127,7,2})和比例為10%({60, 110, 123, 124, 170, 91, 126, 127, 7, 2, 89, 109, 111, 142, 147, 186, 140, 143, 146, 88})時的評價結果。根據該Pareto集,首先用式(5)確定每個QoS評價指標(即響應時間和吞吐量)的權重大小,然后根據式(6)-式(7)計算200個服務的評估結果。接著,將所有服務從最高分到最低分進行排序。 表2 Pareto集的比例為5%時的評價結果 表3 Pareto集的比例為10%時的評價結果 從表2、表3中可以獲得以下三個發現。首先,表2和表3中的最高得分幾乎達到1分(滿分為1)。具體而言,在表2中,當Pareto集設定比例為5%時,排名第一的得分為0.956,而在表3中,當Pareto集設定比例為10%時,排名第一的得分為0.966。 其次,表2和表3中的服務評估結果略有差異。但這是合理的,因為不同的Pareto集包含不同的服務,所以導致計算的權重也不同。因此,服務的相應評估結果也隨之不同。這表明,Inv-CV方法的評價結果依賴于選擇的Pareto集,具有一定的合理性。 最后,定義準確率為Pareto集中排名在評估結果對應比例內的服務的數量與Pareto集服務總數的比率。從表2和表3可以發現,表2中9個相同的服務編號,而表3中有18個相同的服務編號。也就是說,這兩種情況的準確率都是90%。這表明Inv-CV方法是可行和準確的。 (1) 數據集。實驗B采用Cloud Harmony Report[12]中公開的云服務質量數據。Cloud Harmony 公司公布的云服務質量評估報告涵蓋了國內外眾多云服務商實時測試的云服務質量數據,從中選取國內外6家云服務商的服務質量數據對其進行評價:Google Cloud Platform(CSP1)、Softlayer(CSP2)、Amazon Web Services(CSP3)、GoDaddy(CSP4)、Microsoft Azure(CSP5)、CloudFlare(CSP6),并選取7個QoS指標進行服務評價:CPU性能(C1)、磁盤I/O的一致性(C2)、磁盤性能(C3)、內存性能(C4)、云服務價格(C5)、云服務可用性(C6)、網絡性能(C7)[12]。各云服務商質量數據如表4所示。 表4 云服務供應商QoS數據集 (2) 實驗結果及分析。本實驗使用真實的云服務質量數據進行服務評價研究,由于數據集服務樣本數量較少,則選取Pareto最優集代表Pareto集。本實驗對比了Inv-CV方法、Entropy-TOPSIS評價方法[14]與PROMETHEE評價方法[15]。 表5展示了通過Inv-CV、Entropy-TOPSIS、PROMETHEE三種評價方法所計算出各指標的權重值。其中,Inv-CV方法為本文所提出的方法,Entropy-TOPSIS采用了Entroy方法,PROMETHEE采用了FAHP方法。由各個方法的計算結果可以看出,由于C1指標的QoS值離散程度最大,所以計算出的熵值最大,即Entropy-TOPSIS方法計算出的權重值最大,而Inv-CV方法考慮到最優樣本中重要指標值的穩定性(即離散程度低),因此計算出的權重值反而最小。相反,由于C6指標的QoS值離散程度最小,所以對應的熵值最小,因此Entropy-TOPSIS方法計算出的權重值最小,而Inv-CV方法計算出的權重值則最大。與此同時,由于PROMETHEE通過專家對指標相對重要性的量化評判結果計算各個指標的權重,所以每個指標權重值近乎相似。 表5 不同評價方法下各評價指標的權重值分布 圖1展示了Inv-CV方法、Entropy-TOPSIS評價方法、PROMETHEE評價方法的對比結果。根據 Cloud Harmony 公司對 6 個云服務商的質量評價等級評分分別為:CSP3(A+)、CSP6(A)、CSP2(A)、CSP1(A)、CSP5(B)、CSP4(B-)。通過圖1可以發現,Inv-CV方法的評價結果更加逼近Cloud Harmony的評價結果。因此,相比其他方法,Inv-CV方法會忽略掉因某指標劣化帶來用戶體驗變差的問題,進而使得該指標權重值變小,所以更適合云服務商之間的比較。該實驗驗證了本文提出的Inv-CV方法在云服務評價中的可行性和準確性,可以為云用戶提供決策支持。 圖1 不同評價方法下云服務質量排名 本文提出了一種 Inv-CV云服務價值評估方法。Inv-CV方法在充分分析服務指標潛在規律的基礎上,通過計算客觀權重對服務進行價值評價。與傳統CV方法不同,在Inv-CV中,只對代表較優服務樣本的Pareto樣本集計算指標的變異系數值,一個指標的變異系數值越大,對應的權重值越小,反之亦然。實驗結果驗證了該方法的可行性和準確性。 在本文研究過程中,確定Pareto集的過程尚且粗糙,在未來的研究中,將嘗試對快速非支配排序算法中同一非支配層的服務樣本進行區分。另外,Inv-CV方法可與主觀權重法結合,以更好地滿足用戶的偏好。3 實驗與結果分析
3.1 實驗A
3.2 實驗B
4 結 語