【導(dǎo)語】隨著Web服務(wù)數(shù)量不斷增加,越來越多的Web服務(wù)提供相似的功能。服務(wù)質(zhì)量(Quality of Service,QoS)描述了Web服務(wù)的非功能特性,是區(qū)分這些功能相似Web服務(wù)的重要標(biāo)準。準確的QoS預(yù)測對于這些QoS感知方法越來越重要。協(xié)同過濾(CF)是推薦系統(tǒng)中最成功的個性化預(yù)測技術(shù)之一,在Web服務(wù)QoS預(yù)測中也得到了廣泛的應(yīng)用。盡管在這方面已有大量的工作,但似乎沒有一個權(quán)威的調(diào)研綜述。為了彌補這一不足,最近,中山大學(xué)InPlusLab關(guān)于協(xié)同過濾在Web服務(wù)QoS預(yù)測應(yīng)用的調(diào)研綜述論文Web Service QoS Prediction via Collaborative Filtering: A Survey被IEEE Transactions on Services Computing(TSC)期刊錄用,影響因子5.707。文章首先總結(jié)和分析了傳統(tǒng)的基于內(nèi)存和基于模型的CF-QoS預(yù)測方法以及擴展CF方法。其次,調(diào)研了混合CF-QoS預(yù)測方法,并給出了適當(dāng)?shù)姆诸惡头治?。此外,還介紹了幾個用于QoS預(yù)測評估的Web服務(wù)QoS數(shù)據(jù)集,并在最后提出一些可能的未來QoS預(yù)測的研究方向。
論文下載鏈接: http://inpluslab.com/files/wsqos.pdf
1. 簡介
QoS預(yù)測對一些QoS感知的方法非常重要,比如圖1的基于QoS的服務(wù)選擇:復(fù)合服務(wù)S_com由幾個抽象服務(wù)(S1到S5)組成,每個抽象服務(wù)都可以從一組功能相似的具體服務(wù)(si1, si2, ..., siN)中選擇。QoS感知服務(wù)選擇的目的是從這些功能相似的服務(wù)集合中選擇合適的服務(wù),形成一個優(yōu)化的復(fù)合服務(wù)。
QoS預(yù)測的方法分類如下:
2. QoS預(yù)測問題介紹
圖3是QoS預(yù)測的一個示例。在圖3(a)中,U={u1,u2,…,u4}為Web服務(wù)用戶集,S={s1,s2,…,s6}為Web服務(wù)集,E(實線)為U和S之間的調(diào)用集。ui和sj之間的連線eij表示用戶ui以前調(diào)用過Web服務(wù)sj。線段eij上的權(quán)重wij指的是該調(diào)用的QoS值(例如,響應(yīng)時間等)。用戶服務(wù)調(diào)用可以由矩陣P表示,如圖3(b)所示。P中的每個值pij表示服務(wù)用戶ui觀察到的Web服務(wù)si的QoS值。P中缺少的QoS值表示對應(yīng)的用戶和Web服務(wù)之間沒有調(diào)用。Web服務(wù)QoS預(yù)測問題可以定義為:給定已知的用戶調(diào)用Web服務(wù)的QoS值矩陣P(用戶-服務(wù)矩陣),預(yù)測P中缺失的QoS值。
3. 協(xié)同過濾背景簡介
協(xié)同過濾算法大致可以分為兩類:基于內(nèi)存的和基于模型的協(xié)同過濾。
典型的基于內(nèi)存的CF方法可以描述為一個三階段的過程:相似性計算、鄰居選擇和缺失值預(yù)測。Pearson相關(guān)系數(shù)(PCC)算法和向量空間相似性(VSS)算法通常用于相似性計算,然后選擇相似度高的用戶或項目作為彼此的相似鄰居,在確定了鄰居集之后,下一步是利用來自相似鄰居的信息來預(yù)測未知評分。根據(jù)相似度的計算類型,基于內(nèi)存的CF方法可以分為三類:基于項目的方法、基于用戶的方法以及這兩種方法的融合。與基于內(nèi)存的方法不同,基于模型的CF方法通常先構(gòu)造具有適當(dāng)參數(shù)的預(yù)定義模型,該模型在學(xué)習(xí)過程結(jié)束后將具有一定的預(yù)測未知評分的能力,可以對整體結(jié)構(gòu)產(chǎn)生良好的估計。許多CF方法只處理兩種類型的實體,即用戶和項目,而不考慮任何上下文信息,如時間、位置等。然而,僅考慮用戶和項目可能是不夠的。通過考慮上下文信息,可以提供更好的建議。
4. 基于內(nèi)存的QoS預(yù)測
4.1 傳統(tǒng)的基于內(nèi)存的QoS預(yù)測方法
許多方法使用傳統(tǒng)的基于內(nèi)存的CF來進行QoS預(yù)測。它們只使用用戶-服務(wù)QoS矩陣,并試圖從以下四個方面來提高預(yù)測性能:
(1)數(shù)據(jù)預(yù)處理:數(shù)據(jù)預(yù)處理是提高數(shù)據(jù)質(zhì)量的重要步驟,提高了Web服務(wù)QoS預(yù)測的性能。
(2)相似度計算:在基于內(nèi)存的協(xié)同預(yù)測方法中,相似性扮演著雙重角色:過濾不同的鄰居(為目標(biāo)用戶或服務(wù)獲取相似的鄰居)和加權(quán)相似鄰居對協(xié)同預(yù)測的重要性。因此,相似性計算是CF中最重要的設(shè)計決策之一,良好的度量往往會帶來良好的性能。
(3)相似鄰居選擇:在預(yù)測缺失的值之前,需要確定包含相似用戶或服務(wù)的鄰居。相似鄰居的選擇是準確預(yù)測缺失值的重要步驟,因為不相似的鄰域會降低預(yù)測精度。
(4)QoS值預(yù)測:在為每個用戶或服務(wù)計算了一組鄰居之后,通常通過這些鄰居來預(yù)測QoS值?;谟脩舻姆椒ㄊ褂孟嗨朴脩舻腝oS值,基于項的方法使用相似Web服務(wù)的QoS值來預(yù)測QoS值。融合方法責(zé)結(jié)合基于用戶和基于項目的方法來預(yù)測缺失值。
4.2 融合地理位置的基于內(nèi)存的QoS預(yù)測方法
QoS高度依賴于底層網(wǎng)絡(luò)的性能。如果用戶和被調(diào)用的服務(wù)位于因特網(wǎng)上彼此相距較遠的不同網(wǎng)絡(luò)中,則由于數(shù)據(jù)傳輸延遲和不同網(wǎng)絡(luò)之間鏈路的有限帶寬,網(wǎng)絡(luò)性能可能較差。相反,當(dāng)用戶和Web服務(wù)位于同一個網(wǎng)絡(luò)中時,更可能獲得高的網(wǎng)絡(luò)性能。因此,用戶和服務(wù)的位置是影響QoS的關(guān)鍵因素。通過考慮位置信息,可以避免選擇不合適的鄰居的問題,從而提高QoS預(yù)測的準確性。
根據(jù)位置的表示方法,我們將融合地理位置的基于內(nèi)存的QoS預(yù)測方法分為三類:經(jīng)緯度坐標(biāo)、IP地址和自治系統(tǒng)方法。
4.3 融合時間信息的基于內(nèi)存的QoS預(yù)測方法
Web服務(wù)的QoS性能與服務(wù)調(diào)用時間密切相關(guān),因為服務(wù)狀態(tài)(例如,工作負載或客戶端數(shù)量)和網(wǎng)絡(luò)環(huán)境(例如,擁塞)隨時間而變化。一般來說,較長的時間跨度表示QoS值偏離其原始值的概率較高。因此,時間因素是預(yù)測QoS的一個非常重要的因素。
我們將融合時間信息的基于內(nèi)存的QoS預(yù)測方法分為三類:時間間隔模型、時間衰減模型和時間序列模型。
4.4 融合其他上下文的基于內(nèi)存的QoS預(yù)測方法
除了與用戶或服務(wù)相關(guān)聯(lián)的空間和時間信息,在實際應(yīng)用中,如果加入更多的上下文信息,CF算法的性能將得到提高。Table 1總結(jié)了基于內(nèi)存的QoS預(yù)測方法使用的上下文信息。
5. 基于模型的QoS預(yù)測
5.1 傳統(tǒng)的基于模型的QoS預(yù)測方法
基于內(nèi)存的CF算法實現(xiàn)簡單,效率高,但受數(shù)據(jù)稀疏性的影響較大,并且存在冷啟動、可擴展性差等問題?;趦?nèi)存的CF方法的關(guān)鍵步驟是通過利用用戶的歷史QoS值和上下文信息來識別每個用戶或服務(wù)的相似鄰居。這些方法很好地利用了本地信息,但卻忽略了全局結(jié)構(gòu)。由于基于模型的CF算法使用用戶服務(wù)矩陣(全局信息)中的所有QoS值來構(gòu)建用于進行QoS值預(yù)測的全局模型,因此它們能夠很好地估計與所有用戶或服務(wù)相關(guān)的總體結(jié)構(gòu)。
5.2 融合地理位置的基于模型的QoS預(yù)測方法
矩陣分解是比較受關(guān)注的基于模型的方法。為了整合位置信息,矩陣分解模型需要完成兩個任務(wù)。首先,對相似性進行改進,融合位置信息,然后選擇相似的鄰域。其次,將相似鄰居的QoS值集成到矩陣分解模模型中。
5.3 融合時間信息的基于模型的QoS預(yù)測方法
我們將融合時間信息的基于模型的QoS預(yù)測方法分成:張量的潛在因子分解模型、統(tǒng)計時間序列模型、基于神經(jīng)網(wǎng)絡(luò)的模型以及其他模型。
5.4 融合其他上下文的基于模型的QoS預(yù)測方法
Table 2總結(jié)了基于模型的QoS預(yù)測方法使用的上下文信息。
6. 混合協(xié)同過濾的QoS預(yù)測方法
基于內(nèi)存的方法利用用戶-服務(wù)矩陣中相似用戶或服務(wù)的局部信息來檢測鄰域關(guān)系,往往忽略了用戶的絕大多數(shù)QoS值,因此它們無法捕獲包含在用戶的所有QoS值中的弱信號?;谀P偷姆椒ɑ谟^測到的QoS數(shù)據(jù)構(gòu)造一個全局模型,它們通常能有效地估計與大部分或所有服務(wù)相關(guān)的總體結(jié)構(gòu)。然而,這些方法在檢測一組密切相關(guān)的用戶或服務(wù)之間的強關(guān)聯(lián)方面很差?;趦?nèi)存和基于模型的方法處理數(shù)據(jù)中不同層次的結(jié)構(gòu),因此它們都不是自己的最佳方法?;旌螩F方法結(jié)合了基于內(nèi)存和基于模型的方法,解決了上述CF方法的局限性,提高了預(yù)測性能。Table 3總結(jié)了基于內(nèi)存的、基于模型的以及混合的QoS預(yù)測方法的優(yōu)缺點。
7. 現(xiàn)有的一些挑戰(zhàn)
以上討論的方法集中在如何在稀疏性、可伸縮性和客觀性的挑戰(zhàn)下提高預(yù)測的準確性。然而,最近一段時間,又出現(xiàn)了三個挑戰(zhàn):
(a)在動態(tài)環(huán)境中,現(xiàn)有的QoS值將用新觀察到的值不斷更新。
(b)某些用戶提供的QoS值可能不可信,這是由惡意用戶提交不正確的QoS值造成的。
(c)由于用戶的隱私信息可能是從提交的QoS值中推斷出來的,因此應(yīng)該有保護用戶隱私的策略。
在這一部分中,我們分別討論了通過自適應(yīng)CF-QoS預(yù)測、可信CF-QoS預(yù)測和隱私保護CF-QoS預(yù)測來應(yīng)對這三個挑戰(zhàn)的方法。
8. 數(shù)據(jù)集介紹
隨著各種Web服務(wù)QoS預(yù)測方法的深入研究,需要一個大規(guī)模的現(xiàn)實Web服務(wù)QoS數(shù)據(jù)集來比較它們的預(yù)測性能。在Table 4中,我們總結(jié)了一些用于QoS預(yù)測的數(shù)據(jù)集。
9. 未來可研究方向
以往的工作表明,CF方法在Web服務(wù)QoS預(yù)測方面已經(jīng)取得了很大的進展。然而,在某些條件下,CF方法還不能提供令人滿意的解決方案。在這一部分中,我們考慮了一些有希望的進一步研究方向。
(1)其他新興服務(wù)的QoS預(yù)測:
Web服務(wù)QoS預(yù)測的研究應(yīng)該擴展到非WSDL描述的服務(wù),因為現(xiàn)代Web服務(wù)中有很大一部分是非WSDL描述的,如基于云的服務(wù)、移動服務(wù)和物聯(lián)網(wǎng)服務(wù)。首先,云計算的普及促進了云服務(wù)的快速增長。數(shù)以百萬計的基于云的服務(wù)提供多種實時功能。其次,智能手機、平板電腦、可穿戴設(shè)備和自主車輛等智能移動設(shè)備越來越受歡迎。在移動設(shè)備時代,數(shù)百萬的移動服務(wù)可以從應(yīng)用商店下載。第三,在物聯(lián)網(wǎng)環(huán)境中,大量的異構(gòu)設(shè)備引起了對QoS的關(guān)注,在物聯(lián)網(wǎng)體系結(jié)構(gòu)的每一層都提出了QoS方法,并考慮了不同的QoS特性。為了滿足用戶需求,預(yù)測大規(guī)模、高動態(tài)服務(wù)的QoS值是一個關(guān)鍵的挑戰(zhàn)。
(2)分布式QoS預(yù)測方法:
典型的QoS預(yù)測系統(tǒng)收集自己用戶的QoS數(shù)據(jù)。這導(dǎo)致了歷史QoS數(shù)據(jù)分布在不同的平臺上。其中一些平臺可能沒有足夠的用戶數(shù)據(jù)來實現(xiàn)高預(yù)測精度。由于數(shù)據(jù)隱私,這些平臺可能愿意但不敢與其他平臺共享數(shù)據(jù)。盡管有人提出了一些解決分布式場景下數(shù)據(jù)隱私的研究,但是在分布式場景中,性能和隱私保護仍然是一個挑戰(zhàn)。另一方面,預(yù)測是基于用戶貢獻的QoS數(shù)據(jù)。不過,目前還沒有鼓勵用戶捐款的激勵機制。需要一個公平的激勵機制,即用戶貢獻越多,獲得的回報就越大。此外,參與者的真實性應(yīng)該是可驗證的,因為有些參與者可能會表現(xiàn)出不正常的行為,甚至故意表現(xiàn)出模糊或潛在的敵對行為,以最大限度地提高他們的經(jīng)濟利益。設(shè)計基于區(qū)塊鏈的QoS預(yù)測方法,通過保證用戶不受欺詐的影響,鼓勵用戶參與,將是未來的一個重要研究方向。
(3)QoS預(yù)測的新方法:
雖然最近的方法在一定程度上取得了良好的效果,但仍有很大的改進空間。采用新技術(shù)進一步提高預(yù)測精度是一個有希望的方向。例如,圖神經(jīng)網(wǎng)絡(luò)(GNN)作為一種新興的推薦模型,最近被用于推薦系統(tǒng)中。GNN對相鄰節(jié)點的特征信息進行聚合,得到目標(biāo)節(jié)點的特征信息,然后通過逐層融合獲取整個圖的結(jié)構(gòu)信息。將GNN應(yīng)用于QoS預(yù)測中,可以利用相鄰節(jié)點的特征信息和整個圖的結(jié)構(gòu)信息進行預(yù)測,從而緩解數(shù)據(jù)稀疏和冷啟動的問題。作為另一個例子,上下文感知服務(wù)網(wǎng)絡(luò)中存在著各種各樣的對象和豐富的關(guān)系,例如空間和時間信息,它們自然形成了一個異構(gòu)的信息網(wǎng)絡(luò)。豐富的異構(gòu)信息可以結(jié)合到QoS預(yù)測中,解決數(shù)據(jù)稀疏和冷啟動問題。
(4)工業(yè)實施案例研究:
QoS預(yù)測在基于服務(wù)的系統(tǒng)開發(fā)中扮演著越來越重要的角色。但目前對于QoS預(yù)測的工業(yè)實現(xiàn)還缺乏研究。一方面,在現(xiàn)實世界的實現(xiàn)中,數(shù)以百萬計的服務(wù)為數(shù)以百萬計的用戶提供實時功能。為了滿足用戶的需求,預(yù)測大規(guī)模、高動態(tài)服務(wù)的QoS值是一項困難的任務(wù)。另一方面,由于用戶數(shù)據(jù)隱私問題,工業(yè)公司可能不愿意披露如何使用QoS預(yù)測方法的信息。然而,研究基于CF的QoS預(yù)測在工業(yè)中的應(yīng)用是非常重要的,這將增加本文工作的意義。工業(yè)實施的案例研究可能提供一個有希望的方向,這需要迫切關(guān)注。