【導語】隨著Web服務數(shù)量不斷增加,越來越多的Web服務提供相似的功能。服務質(zhì)量(Quality of Service,QoS)描述了Web服務的非功能特性,是區(qū)分這些功能相似Web服務的重要標準。準確的QoS預測對于這些QoS感知方法越來越重要。協(xié)同過濾(CF)是推薦系統(tǒng)中最成功的個性化預測技術之一,在Web服務QoS預測中也得到了廣泛的應用。盡管在這方面已有大量的工作,但似乎沒有一個權威的調(diào)研綜述。為了彌補這一不足,最近,中山大學InPlusLab關于協(xié)同過濾在Web服務QoS預測應用的調(diào)研綜述論文Web Service QoS Prediction via Collaborative Filtering: A Survey被IEEE Transactions on Services Computing(TSC)期刊錄用,影響因子5.707。文章首先總結和分析了傳統(tǒng)的基于內(nèi)存和基于模型的CF-QoS預測方法以及擴展CF方法。其次,調(diào)研了混合CF-QoS預測方法,并給出了適當?shù)姆诸惡头治觥4送?,還介紹了幾個用于QoS預測評估的Web服務QoS數(shù)據(jù)集,并在最后提出一些可能的未來QoS預測的研究方向。
論文下載鏈接: http://inpluslab.com/files/wsqos.pdf

1. 簡介
QoS預測對一些QoS感知的方法非常重要,比如圖1的基于QoS的服務選擇:復合服務S_com由幾個抽象服務(S1到S5)組成,每個抽象服務都可以從一組功能相似的具體服務(si1, si2, ..., siN)中選擇。QoS感知服務選擇的目的是從這些功能相似的服務集合中選擇合適的服務,形成一個優(yōu)化的復合服務。

QoS預測的方法分類如下:

2. QoS預測問題介紹

圖3是QoS預測的一個示例。在圖3(a)中,U={u1,u2,…,u4}為Web服務用戶集,S={s1,s2,…,s6}為Web服務集,E(實線)為U和S之間的調(diào)用集。ui和sj之間的連線eij表示用戶ui以前調(diào)用過Web服務sj。線段eij上的權重wij指的是該調(diào)用的QoS值(例如,響應時間等)。用戶服務調(diào)用可以由矩陣P表示,如圖3(b)所示。P中的每個值pij表示服務用戶ui觀察到的Web服務si的QoS值。P中缺少的QoS值表示對應的用戶和Web服務之間沒有調(diào)用。Web服務QoS預測問題可以定義為:給定已知的用戶調(diào)用Web服務的QoS值矩陣P(用戶-服務矩陣),預測P中缺失的QoS值。
3. 協(xié)同過濾背景簡介
協(xié)同過濾算法大致可以分為兩類:基于內(nèi)存的和基于模型的協(xié)同過濾。
典型的基于內(nèi)存的CF方法可以描述為一個三階段的過程:相似性計算、鄰居選擇和缺失值預測。Pearson相關系數(shù)(PCC)算法和向量空間相似性(VSS)算法通常用于相似性計算,然后選擇相似度高的用戶或項目作為彼此的相似鄰居,在確定了鄰居集之后,下一步是利用來自相似鄰居的信息來預測未知評分。根據(jù)相似度的計算類型,基于內(nèi)存的CF方法可以分為三類:基于項目的方法、基于用戶的方法以及這兩種方法的融合。與基于內(nèi)存的方法不同,基于模型的CF方法通常先構造具有適當參數(shù)的預定義模型,該模型在學習過程結束后將具有一定的預測未知評分的能力,可以對整體結構產(chǎn)生良好的估計。許多CF方法只處理兩種類型的實體,即用戶和項目,而不考慮任何上下文信息,如時間、位置等。然而,僅考慮用戶和項目可能是不夠的。通過考慮上下文信息,可以提供更好的建議。
4. 基于內(nèi)存的QoS預測
4.1 傳統(tǒng)的基于內(nèi)存的QoS預測方法
許多方法使用傳統(tǒng)的基于內(nèi)存的CF來進行QoS預測。它們只使用用戶-服務QoS矩陣,并試圖從以下四個方面來提高預測性能:
(1)數(shù)據(jù)預處理:數(shù)據(jù)預處理是提高數(shù)據(jù)質(zhì)量的重要步驟,提高了Web服務QoS預測的性能。
(2)相似度計算:在基于內(nèi)存的協(xié)同預測方法中,相似性扮演著雙重角色:過濾不同的鄰居(為目標用戶或服務獲取相似的鄰居)和加權相似鄰居對協(xié)同預測的重要性。因此,相似性計算是CF中最重要的設計決策之一,良好的度量往往會帶來良好的性能。
(3)相似鄰居選擇:在預測缺失的值之前,需要確定包含相似用戶或服務的鄰居。相似鄰居的選擇是準確預測缺失值的重要步驟,因為不相似的鄰域會降低預測精度。
(4)QoS值預測:在為每個用戶或服務計算了一組鄰居之后,通常通過這些鄰居來預測QoS值?;谟脩舻姆椒ㄊ褂孟嗨朴脩舻腝oS值,基于項的方法使用相似Web服務的QoS值來預測QoS值。融合方法責結合基于用戶和基于項目的方法來預測缺失值。
4.2 融合地理位置的基于內(nèi)存的QoS預測方法
QoS高度依賴于底層網(wǎng)絡的性能。如果用戶和被調(diào)用的服務位于因特網(wǎng)上彼此相距較遠的不同網(wǎng)絡中,則由于數(shù)據(jù)傳輸延遲和不同網(wǎng)絡之間鏈路的有限帶寬,網(wǎng)絡性能可能較差。相反,當用戶和Web服務位于同一個網(wǎng)絡中時,更可能獲得高的網(wǎng)絡性能。因此,用戶和服務的位置是影響QoS的關鍵因素。通過考慮位置信息,可以避免選擇不合適的鄰居的問題,從而提高QoS預測的準確性。
根據(jù)位置的表示方法,我們將融合地理位置的基于內(nèi)存的QoS預測方法分為三類:經(jīng)緯度坐標、IP地址和自治系統(tǒng)方法。
4.3 融合時間信息的基于內(nèi)存的QoS預測方法
Web服務的QoS性能與服務調(diào)用時間密切相關,因為服務狀態(tài)(例如,工作負載或客戶端數(shù)量)和網(wǎng)絡環(huán)境(例如,擁塞)隨時間而變化。一般來說,較長的時間跨度表示QoS值偏離其原始值的概率較高。因此,時間因素是預測QoS的一個非常重要的因素。
我們將融合時間信息的基于內(nèi)存的QoS預測方法分為三類:時間間隔模型、時間衰減模型和時間序列模型。
4.4 融合其他上下文的基于內(nèi)存的QoS預測方法
除了與用戶或服務相關聯(lián)的空間和時間信息,在實際應用中,如果加入更多的上下文信息,CF算法的性能將得到提高。Table 1總結了基于內(nèi)存的QoS預測方法使用的上下文信息。

5. 基于模型的QoS預測
5.1 傳統(tǒng)的基于模型的QoS預測方法
基于內(nèi)存的CF算法實現(xiàn)簡單,效率高,但受數(shù)據(jù)稀疏性的影響較大,并且存在冷啟動、可擴展性差等問題?;趦?nèi)存的CF方法的關鍵步驟是通過利用用戶的歷史QoS值和上下文信息來識別每個用戶或服務的相似鄰居。這些方法很好地利用了本地信息,但卻忽略了全局結構。由于基于模型的CF算法使用用戶服務矩陣(全局信息)中的所有QoS值來構建用于進行QoS值預測的全局模型,因此它們能夠很好地估計與所有用戶或服務相關的總體結構。
5.2 融合地理位置的基于模型的QoS預測方法
矩陣分解是比較受關注的基于模型的方法。為了整合位置信息,矩陣分解模型需要完成兩個任務。首先,對相似性進行改進,融合位置信息,然后選擇相似的鄰域。其次,將相似鄰居的QoS值集成到矩陣分解模模型中。
5.3 融合時間信息的基于模型的QoS預測方法
我們將融合時間信息的基于模型的QoS預測方法分成:張量的潛在因子分解模型、統(tǒng)計時間序列模型、基于神經(jīng)網(wǎng)絡的模型以及其他模型。
5.4 融合其他上下文的基于模型的QoS預測方法
Table 2總結了基于模型的QoS預測方法使用的上下文信息。

6. 混合協(xié)同過濾的QoS預測方法
基于內(nèi)存的方法利用用戶-服務矩陣中相似用戶或服務的局部信息來檢測鄰域關系,往往忽略了用戶的絕大多數(shù)QoS值,因此它們無法捕獲包含在用戶的所有QoS值中的弱信號?;谀P偷姆椒ɑ谟^測到的QoS數(shù)據(jù)構造一個全局模型,它們通常能有效地估計與大部分或所有服務相關的總體結構。然而,這些方法在檢測一組密切相關的用戶或服務之間的強關聯(lián)方面很差。基于內(nèi)存和基于模型的方法處理數(shù)據(jù)中不同層次的結構,因此它們都不是自己的最佳方法?;旌螩F方法結合了基于內(nèi)存和基于模型的方法,解決了上述CF方法的局限性,提高了預測性能。Table 3總結了基于內(nèi)存的、基于模型的以及混合的QoS預測方法的優(yōu)缺點。

7. 現(xiàn)有的一些挑戰(zhàn)
以上討論的方法集中在如何在稀疏性、可伸縮性和客觀性的挑戰(zhàn)下提高預測的準確性。然而,最近一段時間,又出現(xiàn)了三個挑戰(zhàn):
(a)在動態(tài)環(huán)境中,現(xiàn)有的QoS值將用新觀察到的值不斷更新。
(b)某些用戶提供的QoS值可能不可信,這是由惡意用戶提交不正確的QoS值造成的。
(c)由于用戶的隱私信息可能是從提交的QoS值中推斷出來的,因此應該有保護用戶隱私的策略。
在這一部分中,我們分別討論了通過自適應CF-QoS預測、可信CF-QoS預測和隱私保護CF-QoS預測來應對這三個挑戰(zhàn)的方法。
8. 數(shù)據(jù)集介紹
隨著各種Web服務QoS預測方法的深入研究,需要一個大規(guī)模的現(xiàn)實Web服務QoS數(shù)據(jù)集來比較它們的預測性能。在Table 4中,我們總結了一些用于QoS預測的數(shù)據(jù)集。

9. 未來可研究方向
以往的工作表明,CF方法在Web服務QoS預測方面已經(jīng)取得了很大的進展。然而,在某些條件下,CF方法還不能提供令人滿意的解決方案。在這一部分中,我們考慮了一些有希望的進一步研究方向。
(1)其他新興服務的QoS預測:
Web服務QoS預測的研究應該擴展到非WSDL描述的服務,因為現(xiàn)代Web服務中有很大一部分是非WSDL描述的,如基于云的服務、移動服務和物聯(lián)網(wǎng)服務。首先,云計算的普及促進了云服務的快速增長。數(shù)以百萬計的基于云的服務提供多種實時功能。其次,智能手機、平板電腦、可穿戴設備和自主車輛等智能移動設備越來越受歡迎。在移動設備時代,數(shù)百萬的移動服務可以從應用商店下載。第三,在物聯(lián)網(wǎng)環(huán)境中,大量的異構設備引起了對QoS的關注,在物聯(lián)網(wǎng)體系結構的每一層都提出了QoS方法,并考慮了不同的QoS特性。為了滿足用戶需求,預測大規(guī)模、高動態(tài)服務的QoS值是一個關鍵的挑戰(zhàn)。
(2)分布式QoS預測方法:
典型的QoS預測系統(tǒng)收集自己用戶的QoS數(shù)據(jù)。這導致了歷史QoS數(shù)據(jù)分布在不同的平臺上。其中一些平臺可能沒有足夠的用戶數(shù)據(jù)來實現(xiàn)高預測精度。由于數(shù)據(jù)隱私,這些平臺可能愿意但不敢與其他平臺共享數(shù)據(jù)。盡管有人提出了一些解決分布式場景下數(shù)據(jù)隱私的研究,但是在分布式場景中,性能和隱私保護仍然是一個挑戰(zhàn)。另一方面,預測是基于用戶貢獻的QoS數(shù)據(jù)。不過,目前還沒有鼓勵用戶捐款的激勵機制。需要一個公平的激勵機制,即用戶貢獻越多,獲得的回報就越大。此外,參與者的真實性應該是可驗證的,因為有些參與者可能會表現(xiàn)出不正常的行為,甚至故意表現(xiàn)出模糊或潛在的敵對行為,以最大限度地提高他們的經(jīng)濟利益。設計基于區(qū)塊鏈的QoS預測方法,通過保證用戶不受欺詐的影響,鼓勵用戶參與,將是未來的一個重要研究方向。
(3)QoS預測的新方法:
雖然最近的方法在一定程度上取得了良好的效果,但仍有很大的改進空間。采用新技術進一步提高預測精度是一個有希望的方向。例如,圖神經(jīng)網(wǎng)絡(GNN)作為一種新興的推薦模型,最近被用于推薦系統(tǒng)中。GNN對相鄰節(jié)點的特征信息進行聚合,得到目標節(jié)點的特征信息,然后通過逐層融合獲取整個圖的結構信息。將GNN應用于QoS預測中,可以利用相鄰節(jié)點的特征信息和整個圖的結構信息進行預測,從而緩解數(shù)據(jù)稀疏和冷啟動的問題。作為另一個例子,上下文感知服務網(wǎng)絡中存在著各種各樣的對象和豐富的關系,例如空間和時間信息,它們自然形成了一個異構的信息網(wǎng)絡。豐富的異構信息可以結合到QoS預測中,解決數(shù)據(jù)稀疏和冷啟動問題。
(4)工業(yè)實施案例研究:
QoS預測在基于服務的系統(tǒng)開發(fā)中扮演著越來越重要的角色。但目前對于QoS預測的工業(yè)實現(xiàn)還缺乏研究。一方面,在現(xiàn)實世界的實現(xiàn)中,數(shù)以百萬計的服務為數(shù)以百萬計的用戶提供實時功能。為了滿足用戶的需求,預測大規(guī)模、高動態(tài)服務的QoS值是一項困難的任務。另一方面,由于用戶數(shù)據(jù)隱私問題,工業(yè)公司可能不愿意披露如何使用QoS預測方法的信息。然而,研究基于CF的QoS預測在工業(yè)中的應用是非常重要的,這將增加本文工作的意義。工業(yè)實施的案例研究可能提供一個有希望的方向,這需要迫切關注。