袁玉倩
(北京航空航天大學 自動化科學與電氣工程學院,北京 100191)
胡曉惠
(中國科學院 軟件研究所,北京 100190)
基于 QoS真實性與工作流模型的 Web服務選擇
袁玉倩
(北京航空航天大學 自動化科學與電氣工程學院,北京 100191)
胡曉惠
(中國科學院 軟件研究所,北京 100190)
基于服務質量的 Web服務選擇方法往往假定服務提供者與使用者提供的質量數(shù)據(jù)均為真實可靠,而這一假設在實際中很難保證.為此,提出一種同時基于服務質量數(shù)據(jù)真實性與工作流模型的服務選擇方法.對服務提供者發(fā)布的質量數(shù)據(jù),根據(jù)服務運行數(shù)據(jù)的統(tǒng)計結果重新計算其客觀質量值;對來自服務使用者的主觀評價,通過工作流組織模型計算使用者間的信任度,并結合信任度計算當前用戶的服務評價值.通過服務質量模型的建立,結合兩種數(shù)據(jù)選出最優(yōu) Web服務.實驗證明該方法能夠有效改善不可靠的質量數(shù)據(jù)對 Web服務選擇造成的影響,使服務選擇結果更加準確.
Web服務;Web服務選擇;服務質量;工作流
隨著 Web服務應用要求不斷提高,能夠提供增值功能的組合 Web服務已得到廣泛關注[1].然而,如何在大量實現(xiàn)相同功能的 Web服務中選取一組服務,使其具有良好的服務質量、較高的用戶滿意度已成為亟待解決的問題[2].
目前多數(shù)基于QoS(Quality of Service)的Web服務選擇方法易忽視以下問題:①對于 QoS模型的質量值,往往假設服務提供者發(fā)布的質量數(shù)據(jù)均為真實可靠,因此常直接采用其數(shù)據(jù)進行服務選擇.而實際應用中,服務質量數(shù)據(jù)的真實性通常難以保證;②服務使用者使用 Web服務后進行的主觀評價,易受自身因素(例如主觀意愿、所處身份等)影響,不同使用者對同一 Web服務做出的評價可能存在較大差異.因此當用戶根據(jù)前人經(jīng)驗評價進行服務選擇時,必須考慮使用者身份因素對于評價值的影響.
在相關工作中,文獻[3]討論了數(shù)據(jù)真實性在基于 QoS的 Web服務選擇中的應用及發(fā)展現(xiàn)狀;文獻[4]詳細描述了評價 Web服務質量應考慮的 5種因素,并通過全局優(yōu)化算法進行服務選擇.文獻[5]提出一種基于代理的服務選擇方法,不足之處在于評價信息沒有考慮使用者之間的關系.
為此,本文提出一種同時基于服務質量數(shù)據(jù)真實性及工作流組織模型的服務選擇方法,對來自服務提供者和使用者雙方的數(shù)據(jù)分別進行修正計算.由于本方法并不限定服務質量屬性類型,因而具有良好的擴展性.
在服務注冊時,服務提供者需要將服務的質量屬性數(shù)據(jù)同功能屬性數(shù)據(jù)一起發(fā)布至服務登記處.此時,對于有的質量屬性,如執(zhí)行時間、服務可靠性等,某些服務提供者可能發(fā)布一些超出實際水平的數(shù)據(jù),以吸引更多用戶使用[6].因此,在通過 QoS進行服務選擇過程中,直接采用服務提供者提供的數(shù)據(jù)可能對選擇結果造成負面影響.
針對此問題,可對服務的多次運行結果進行統(tǒng)計并重新計算質量屬性值,以增強其數(shù)據(jù)真實度.基于數(shù)據(jù)真實性的 Web服務選擇方法對應流程如下:①收到用戶請求后,服務請求代理首先查找到所有滿足用戶功能需求的 Web服務;②根據(jù)用戶所關心的質量屬性,由已獲得的相關質量數(shù)據(jù)計算出各質量屬性值;③根據(jù)用戶期望對選出的服務進行排序,將 QoS最優(yōu)的 Web服務客戶端響應至服務請求者.同時服務選擇代理在此客戶端處加入監(jiān)控機制,用于采集服務的此次運行數(shù)據(jù),其監(jiān)控數(shù)據(jù)結果用于對服務質量屬性值進行修正計算.
實際操作中,采集多次運行數(shù)據(jù)并發(fā)送至服務代理是根據(jù)一定協(xié)議實現(xiàn)的,此過程對于用戶并不可見,由此可實現(xiàn)保密并認為服務代理接收到的數(shù)據(jù)為真實可信.此外,當服務代理接收到的運行數(shù)據(jù)量不同時,其統(tǒng)計數(shù)據(jù)的準確程度也有所不同,因此計算將采用加權求和的方式進行.令服務提供者發(fā)布的質量數(shù)據(jù)與統(tǒng)計數(shù)據(jù)各占一定權重,并使得統(tǒng)計數(shù)據(jù)的權重隨服務運行次數(shù)的不斷增加而增大,直至接近 1.在此過程中,隨著統(tǒng)計數(shù)據(jù)權重的增加,服務質量值也將由服務提供者發(fā)布的數(shù)值逐漸接近其實際值.
采用式(1)對來自服務提供者的數(shù)據(jù)進行重新計算:
式中,s1,s2,…,sn為 n次監(jiān)控運行獲得的質量數(shù)據(jù);f為統(tǒng)計函數(shù),對不同類型的服務質量,其計算方法也有所不同,例如服務可用性,其值為過去的一定時間內,服務可用時間與這段時間的總長度之比[7];qc為服務提供者發(fā)布的數(shù)據(jù);指數(shù)函數(shù)(1-e-n/N)使得統(tǒng)計數(shù)據(jù)的權重隨服務運行次數(shù)n的不斷增加而增大.這里通過常數(shù) N控制統(tǒng)計值所占權重隨數(shù)據(jù)量增長的速度.當 n=6N時,e-n/N≈0.25%,此時求得的服務質量值基本可由運行統(tǒng)計值決定.
如果無法收集到質量屬性的運行數(shù)據(jù),則令n=0,此時將直接采用來自服務提供者的數(shù)據(jù)進行選擇.式(1)簡化為
工作流模型是將現(xiàn)實世界中的業(yè)務過程抽象出來,并以一種形式化的、計算機可處理的方式來表示.從工作流的組織結構角度來看,工作流模型由過程模型、組織模型和資源模型 3部分組成.其中的組織模型用于定義完成工作流人員的組織結構,人員根據(jù)不同角色處于不同的組織內[8].
本文采用層次結構表示工作流的組織模型.如圖 1所示,葉子節(jié)點代表最終使用者,中間節(jié)點表示不同功能組.功能組間可互相包含,如功能組D,E都屬于功能組 C.此外某些具有多種角色的使用者可處于不同組內.如圖 1,s1既屬于 B,又屬于D.
圖 1 工作流的組織模型
基于工作流組織模型的服務選擇過程主要分為 3步:①當使用者要執(zhí)行某個活動時,列出活動對應的所有 Web服務以及執(zhí)行過此活動的所有使用者;②根據(jù)工作流組織模型,計算當前用戶同已執(zhí)行過此活動的使用者間的初始信任度,并通過已執(zhí)行用戶對 Web服務的使用評價,計算出當前用戶對所有 Web服務的初始評價值,以此作為Web服務選擇的依據(jù)之一;③當使用者使用過所選 Web服務后,對其做出使用評價,根據(jù)該反饋信息,重新計算當前使用者和其他使用者間的信任度.
信任度表示工作流中各服務使用者間的關聯(lián)程度,將根據(jù)工作流組織模型計算初始信任度.假設兩個使用者為 s1和 s2,則 s1對 s2的初始信任度用符號 Cs1s2表示,s2對 s1的信任度用符號 Cs2s1表示,Cs1s2和 Cs2s1不一定相等,若 s1=s2,則 Cs1s2=1.
對于任意的兩個使用者 s1和 s2,s1≠s2,則
式中,Ds1s2為使用者節(jié)點 s1和 s2之間的距離,若 s1和 s2同屬一個組,則其間距離為 1,否則為 s1所屬組和 s2所屬組間的距離,此距離長度等于所屬組之間的最短路徑條數(shù);Ds1max為整個組織模型內,與 s1相距最遠的使用者到 s1的距離長度.如圖 1所示,Ds1s2=1,Ds1s5=3,假設 Ds1max=6,則 Cs1s2=1,Cs1s5=2/3.
對處于多個組內的某個使用者,要根據(jù)使用者執(zhí)行的活動選擇其所在的組.例如某使用者處于兩個不同組 Q1和 Q2內,當其要執(zhí)行活動 t時,若 Q1內大多數(shù)使用者均執(zhí)行過 t,則認為使用者屬于 Q1,否則屬于 Q2;若 Q1和 Q2的使用者均執(zhí)行過 t,則認為這兩組功能相同,可并為一個新組,根據(jù)新組的位置再計算信任度.
由式(3)得出服務使用者間的初始信任度后,可計算出使用者對某活動所對應 Web服務的初始評價值,公式如下:
由式(3)計算出的只是使用者的初始信任度.使用者通過他人的評價結果選擇某個 Web服務,執(zhí)行完畢后,需對此 Web服務做出使用評價,并用評價結果再去反饋初始信任度,從而計算出新的反饋信任度.當使用者今后再次執(zhí)行活動時,需要根據(jù)新的信任度計算對應某個活動的所有Web服務評價值.
反饋過程并不是對所有執(zhí)行過此活動的使用者均進行反饋,而僅僅是針對那些對當前用戶最終選擇的 Web服務做出過評價的使用者.反饋公式如下:
式中,C′asj為反饋后使用者 a對使用者 sj的信任度;Casj為反饋前的初始信任度為使用者 sj與使用者 a對 wi評價值的差值;Rsjwi為使用者 sj對 wi的評價值,Rawi為使用者 a對 wi的評價值為所有評價過 wi的使用者與使用者 a對 wi評價值的差值平均值;p={1,-1},當時,p=-1,否則 p=1.由式(5)計算得出的反饋信任度必須滿足條件:
Web服務評價值只是一個主觀經(jīng)驗值,在實際應用中,還必須考慮 Web服務的客觀質量值,這個值由 Web服務的 QoS模型計算得出.本節(jié)結合前述計算方案,給出完整的 QoS計算模型.首先構建出質量屬性矩陣 Q:
式中,各行為某 Web服務的 m個質量屬性值;各列為 n個 Web服務的同一種質量信息.Q中的各個質量屬性值 qij均通過式(1),在服務提供者發(fā)布的質量值基礎上,由運行數(shù)據(jù)的統(tǒng)計值計算得到.
通過 Q可計算出 Web服務的質量屬性值.先將 Q進行歸一化,得到矩陣 V.式(8)用于處理負向屬性,即取值越大,質量越低,例如服務費用.式(9)用于正向屬性,即取值越大,質量越高,例如可靠性.
其中,qij和 vij分別為某個質量屬性數(shù)據(jù)歸一化前后的值和分別為 Q中各列質量數(shù)據(jù)的最大、最小值.
根據(jù)用戶對各種質量屬性的不同要求,對各服務質量值進行加權求和,計算公式如下:
求出 Web服務的 QoS值后,用戶便可將服務的客觀質量值及主觀評價值加權求和,選出最優(yōu)的 Web服務,公式如下:
計算出所有的 Mi,選取最大值所對應的 Web服務即可.這里 α和 β分別為主觀評價值與客觀質量屬性值的權值,且 α+β=1.當 α=1時,意味著選擇 Web服務時只考慮用戶評價而不注重Web服務的客觀質量值;當 β=1時則意味著選擇時只考慮 Web服務的客觀質量值而不注重用戶的評價結果.
假設某服務提供者發(fā)布的部分 QoS數(shù)據(jù)是虛假的,本文將通過數(shù)據(jù)的監(jiān)控運行結果,計算出真實的質量數(shù)據(jù).這里以服務可用性為例進行說明.為了進行實際驗證,編寫了一個 Web服務.假定此 Web服務的實際可用性數(shù)值為 50.3%,而服務提供者所發(fā)布的數(shù)值則為 85.5%.同時,模擬一組服務使用者對服務進行多次調用.由式(1)計算服務可用性的實際值.此處取 N=200,結果如圖 2所示.隨著服務被調用次數(shù)的增加,其可用性數(shù)值由服務提供者發(fā)布的數(shù)值 85.5%開始逐漸降低.當監(jiān)控到的運行次數(shù)達到 1 200,即 6N時,服務可用性數(shù)據(jù)接近其真實值 50.3%.
圖 2 服務可用性的真實性驗證
假設實驗在如下任務活動中進行:某校電子系和化工系的學生均需使用圖書館的在線翻譯軟件.翻譯工作完成后,需打印譯文材料.此處可由“在線翻譯”和“下載打印”兩個活動共同組成一個工作流.對于“在線翻譯”活動,共有 3個服務可完成其功能,分別為 w1,w2,w3.其中 w1翻譯軟件適用于化工學科專業(yè)詞匯,w2適用于電子學科專業(yè)詞匯,而 w3兩者皆可.對于 “下載打印”活動,共有 2個服務可完成其功能,分別為 w4,w5.其中 w4對于研究生打印具有價格優(yōu)惠.實驗按照活動對服務使用者進行分組,圖 3為此工作流組織模型.
圖 3 工作流的組織模型
實驗只考慮“在線翻譯”活動的 3個 Web服務,“下載打印”活動同其類似.對于服務 w1,w2和 w3,假設電子系的服務使用者對其評價值分別為[0.1~0.5]、[0.3~0.7]和[0.5~0.9],而化工系用戶對其評價值分別為[0.5~0.9]、[0.3~0.7]和[0.1~0.5],采用滿足正態(tài)分布的函數(shù)來模擬評價值,如圖 4、圖 5所示.
在實驗過程中,如果不按照圖 3中的工作流組織模型計算各服務評價值,將會得到如圖 6所示,綜合兩系用戶的評價結果.對于未使用過 3個服務的新用戶來說,圖 6的結果無法令其做出準確選擇.
反之,如果按照工作流組織模型來計算服務評價,則電子系用戶間的初始信任度為 1,而電子系用戶與化工系用戶間的初始信任度為 0.75.對于電子系用戶,當其選擇服務時,將按照圖 7中的計算結果進行.圖 7的結果與圖 4較相似,這將幫助電子系用戶做出正確選擇.
圖 4 電子系用戶的評價結果
圖 5 化工系用戶的評價結果
圖 6 未使用組織模型的評價結果
圖 7 使用組織模型后的評價結果
本文針對 Web服務的優(yōu)化選擇問題,提出了一種基于服務質量數(shù)據(jù)真實性和工作流組織模型的服務選擇方法.方法在確保服務質量屬性真實性的基礎上,通過工作流組織模型計算用戶信任度,得到有參考意義的用戶主觀評價,最后通過兩種數(shù)據(jù)的結合選擇出最優(yōu)的 Web服務.本文在此基礎上結合實驗證實了方法的有效性.后續(xù)工作將對 Qos選擇算法的性能和優(yōu)度進行更深入的分析和改進.
References)
[1]張煜,葛聲.Web服務組合處理系統(tǒng)的研究與實現(xiàn)[J].北京航空航天大學學報,2005,31(4):397-401 Zhang Yu,Ge Sheng.Research and implementation ofweb services composition runtime system[J].JournalofBeijing University of Aeronautics and Astronautics,2005,31(4):397-401(in Chinese)
[2]Ran Shuping.A model for Web sevices discovery with QoS[J].ACM SIGecom Exchanges,2003,4(1):1-10
[3]Wang Yao,Vassileva J.A review on trust and reputation for Web service selection[C]//The 27th Int'l Conf on Distributed Computing Systems Workshops 2007(ICDCSW 2007).Toronto:IEEE Computer Society,2007:25-32
[4]Zeng Liangzhao,Benatallah B,Dumas M.Quality driven Web services composition[C]//The 12thInternational Conference on World WideWeb.Budapest:ACM Press,2003:411-421
[5]Sreenath R M,Singh M P.Agent-based service selection[J].Web Semantics:Science,Services and Agents on the World Wide Web,2004,4(2):261-279
[6]李妍,周明輝.一種考慮 Qos數(shù)據(jù)可信性的服務選擇方法[J].軟件學報,2008,19(10):2620-2627 Li Yan,Zhou Minghui.Service selection approach considering the trustworthiness of Qos data[J].Journal of Software,2008,19(10):2620-2627(in Chinese)
[7]Wu Lehang,Haus wirth M,Aberer K.QoS-based service selection and ranking with trust and reputation management[C]//On the Move to Meaningful Internet Systems 2005:Coop IS,DOA,and ODBASE.Berlin:Springer-Verlag,2005:466-483
[8]Shi Yuliang,Huang Guangan.A method to select the optimum Web services[C]//The 8thAsia-Pacific Web Conference on Frontiers of WWW Research and Development(APWeb 2006).Harbin:ACM Press,2006:868-873
(編 輯:劉登敏)
W eb service selection app roach based on the authenticity of QoS data and work flow model
Yuan Yuqian
(School of Automation Science and Electrical Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)
Hu Xiaohui
(Institute of Software Chinese Academy of Sciences,Beijing 100190,China)
The existing QoS(quality of service)-based services selection approaches always assume that the QoS data coming from service providers and users are effective and trustworthy,which is actually impossible in reality.A service selection approach based on the authenticity of QoS data and work flow model was proposed to solve the problem.For the QoSdata coming from service providers,the statistics of past runtime data to revise the providers'QoS data were used.For the subjective evaluation coming from users,the confidence values of users were calculated based on the work flow-organization-model,and then the evaluation was computed by using the confidence.At last,the optimal web services could be selected by combing the two values as the judgment standard.The experimental results show that this approach can effectively weaken the in fluence of untrust worthy QoS data on Web service selection and strengthen the accuracy of service selection.
Web service;Web service selection;quality of service;work flow
TP 393
A
1001-5965(2011)04-0390-05
2010-01-19
國家自然科學基金資助項目(60875072)
袁玉倩(1981-),女,天津人,博士生,samm iyyq@163.com.