專利名稱:一種基于多Web服務(wù)鏈組合的服務(wù)匹配方法
技術(shù)領(lǐng)域:
計(jì)算機(jī)應(yīng)用技術(shù)。
背景技術(shù):
Web服務(wù)發(fā)現(xiàn)是面向服務(wù)計(jì)算Gervice-Oriented Computing, S0C)中的關(guān)鍵問題之一,目前有兩類主要方法基于傳統(tǒng)語法級(jí)和基于語義推理。前者以UDDI為代表,但由于僅支持關(guān)鍵詞匹配,服務(wù)匹配精度往往不高。而后者則是Web服務(wù)與語義網(wǎng)結(jié)合產(chǎn)生的,它能夠提取和利用描述Web服務(wù)的語義信息并根據(jù)用戶提供的服務(wù)請求合約進(jìn)行匹配,進(jìn)而發(fā)現(xiàn)符合要求的服務(wù),在一定程度上提高了服務(wù)發(fā)現(xiàn)的查準(zhǔn)率、查全率和自動(dòng)化程度。目前,人們已提出了不少基于語義的服務(wù)發(fā)現(xiàn)方法[1_8],但普遍存在以下不足(1)現(xiàn)有方法大多遵循文獻(xiàn)[1]中的服務(wù)匹配原則,即一個(gè)服務(wù)描述P與一個(gè)用戶請求描述R成功匹配,當(dāng)且僅當(dāng)滿足①P能夠提供R的所有輸出;②R能夠提供P的所有輸入。但是,由于這一原則過于嚴(yán)格,導(dǎo)致滿足用戶要求的許多服務(wù)被淘汰掉。盡管文獻(xiàn) [9]提出了擴(kuò)展WSDL以支持接口依賴關(guān)系來解決這個(gè)問題,但在一些情況下服務(wù)匹配的精度仍不高,算法仍有較大的改進(jìn)空間。(2)基于語義的Web服務(wù)匹配方法主要包括服務(wù)的功能匹配和質(zhì)量匹配,而服務(wù)功能匹配算法的研究主要是通過計(jì)算描述服務(wù)的領(lǐng)域本體的概念之間的匹配程度來判斷服務(wù)的匹配程度,從而將服務(wù)匹配問題轉(zhuǎn)換為本體概念之間相似度計(jì)算問題或本體概念匹配程度的計(jì)算問題。這類方法往往給出單個(gè)原子服務(wù)與簡單服務(wù)請求之間的匹配程度,對(duì)于復(fù)雜的服務(wù)請求往往無法進(jìn)行準(zhǔn)確匹配。(3)現(xiàn)有方法按同等地位的原則對(duì)待服務(wù)的輸入?yún)?shù)和輸出參數(shù),沒有考慮到對(duì)服務(wù)請求者而言,服務(wù)輸出具有更重要的意義,服務(wù)請求者對(duì)服務(wù)輸入?yún)?shù)具有不同權(quán)重的控制權(quán),這在一定程度上導(dǎo)致服務(wù)匹配精度不高。[1]Pathak J,Koulr N,Garagea D,et al. A framework for semantic web service discovery[C]//Proc of the 7th Annual ACM International Workshop on Web Information and Data management. 2005. 45-50.[2]Garofalakis J,Panagis Y,Sakkopoulos, et al. Web service discovery mechanisms :looking for a needle in a Haystack. http://www. ht04. org/workshops/ WebEngineering/HT04WE-Garofalakis. pdf,2007.[3]Xu Z,Martin P,Powley W, Zulkernine F. Reputation-enhanced QoS-based web services discovery[C]//Proc. of the International Conference on Web Service. Salt Lake City,Utah,USA,2007 :249-25.[4]Wang X,Vitvar T,Kerrigan M,Toma I. A QoS-aware selection model for semantic Web services[C]//Proc. ofthe 4th International Conference on Service-Oriented Computing. Chicago, USA,2006 :12-24.[5]Paliwal A,Adam N,Bornh C. Web service discovery :adding semantics through service request expansion and latent semantic indexing[C]//Proc. of the International Conference on Services Computing. Vienna, Austria,2007 :106-113.[6]萬長林,史忠植,胡宏,張大鵬.基于本體的語義Web服務(wù)QoS描述和發(fā)現(xiàn).計(jì)算機(jī)研究與發(fā)展,2011,48 (6) :1059-1066.[7]葉蕾,張斌.基于功能語義的Web服務(wù)發(fā)現(xiàn)方法.計(jì)算機(jī)研究與發(fā)展,2007, 44(8) :1357-1364.[8]劉志忠,王懷民,周斌.一種雙層P2P結(jié)構(gòu)的語義服務(wù)發(fā)現(xiàn)模型.軟件學(xué)報(bào), 2007,18(8) :1922-1932.[9]鄧水光,尹建偉,李瑩,吳健,吳朝暉.基于二分圖匹配的語義Web服務(wù)發(fā)現(xiàn)方法·計(jì)算機(jī)學(xué)報(bào),2008,31 (8) :1364-1375.
發(fā)明內(nèi)容
本發(fā)明創(chuàng)新點(diǎn)在于允許用戶在服務(wù)請求中設(shè)置服務(wù)輸出參數(shù)對(duì)輸入?yún)?shù)的依賴以及在服務(wù)匹配度計(jì)算中設(shè)置輸入接口和輸出接口的匹配權(quán)重,將一個(gè)復(fù)雜的服務(wù)請求分解為簡單的單輸出、多輸入的子服務(wù)請求序列,然后為每個(gè)子服務(wù)請求搜索能與其匹配的廣告服務(wù)組合鏈,從而將服務(wù)匹配推廣到復(fù)雜服務(wù)請求需要多個(gè)廣告服務(wù)協(xié)作才能完成的情形,克服了以上不足,擴(kuò)大了服務(wù)適用范圍。本發(fā)明技術(shù)方案描述如下接口依賴關(guān)系是指輸出接口對(duì)輸入接口的依賴。給定操作的一個(gè)輸出,通過接口依賴關(guān)系可得到該輸出所依賴的輸入集合。對(duì)于一個(gè)操作,若一個(gè)輸入i被一個(gè)輸出ο所依賴,則說明調(diào)用該服務(wù)時(shí),為了得到ο這一輸出,用戶提供的輸入集合中必須包含i。一個(gè)廣告服務(wù)P為一個(gè)五元組P = {n,d,Ip, Op, Fp}。其中,η是該服務(wù)的名稱;d 是該服務(wù)的文本描述信息;IP是調(diào)用該服務(wù)必須滿足的輸入?yún)?shù)集;0P是該服務(wù)的輸出參數(shù)集 ’F :Op ,表示該服務(wù)的接口依賴函數(shù),即對(duì)于7< TK)表示該輸出所依賴的輸入集。一個(gè)服務(wù)請求R為一個(gè)五元組
權(quán)利要求
1.在OWL-S的ftOcess.owl模塊中加入D印endOn屬性,使其支持接口依賴關(guān)系的申明,其特征是是在I^rocess. owl中加入D印endOn屬件<owlObjectProperty rdfID = “ DependOn“ ><rdfsdomain rdfresource =〃 #0utput〃 /> <rdfs:range rdf:resource = " #Input" /> </owl:ObjectProperty>。
2.設(shè)置Ltl為空,其特征是=Ltl為鏈表型的中間變量,用于存儲(chǔ)服務(wù)請求R中的每個(gè)子服務(wù)。
3.設(shè)置sumfitvalue為0,其特征是uumfitvalue為用于計(jì)算匹配度的整形中間變量。
4.調(diào)用下面的服務(wù)請求分解算法RequestRes0Iving(R),并將所有子服務(wù)加到L。,其特征是服務(wù)請求分解算法RequestRes0Iving(R)可描述為如下(1)輸入服務(wù)請求R={I\Or,F\ W,灼;(2)輸出分解后的子服務(wù)集;(3)set R' = null ;//初始化子服務(wù)(4)set L = null ;//初始化子服務(wù)集(5)for all ο; in Or do(6)set設(shè)置子服務(wù)的輸出參數(shù)(7)set兒.廣=廠(《);//設(shè)置子服務(wù)的輸入?yún)?shù)集(8)set R' .W' = R. Wi ;//設(shè)置子服務(wù)的輸出對(duì)輸入依賴的權(quán)重集(9)L.add(R' ) ;//添加子服務(wù)到子服務(wù)集中(10)endfor(11)returnL0
5.對(duì)于Ltl中每個(gè)子服務(wù)R‘ i,調(diào)用下面子服務(wù)請求與服務(wù)鏈匹配算法 ServiceListMatching (PS, R ‘》,并將返回結(jié)果與sumfitvalue相力再賦給 sumfitvalue,其特征是子服務(wù)請求與服務(wù)鏈匹配算法ServiceListMatching(PS,R' ^ 可描述為如下(1)輸入PS=^,...,PnLR' = {or' , Ir' ,W' }, χ and y ; Il輸入廣告服務(wù)集、子服務(wù)請求、輸入接口權(quán)重和輸出接口權(quán)重(2)輸出子服務(wù)請求與服務(wù)鏈的匹配度;(3)SetL1, L2 = null -JI 初始化服務(wù)鏈(4)setP' = null ;(5)set maxfitvalue = O ;//初始化匹配度(6)forall Pi in PS do(7)if (Pi-R' ) then//判斷廣告服務(wù)Pi到子服務(wù)請求R'到是否存在出口語義匹配(8)set P' =Pi;//保存廣告服務(wù)(9)L1. Bdd(Pi) -JI將與子服務(wù)請求出口語義匹配的廣告服務(wù)添加到服務(wù)鏈中(10)forall Pi in PS do(11)if(R'—PP then//判斷子服務(wù)請求R'到廣告服務(wù)h是否存在入口語義匹配(12)L1. Bdd(Pj) -JI將與子服務(wù)請求入口語義匹配的廣告服務(wù)添加到服務(wù)鏈中(13)break;(14)endif(15)if (Pj — Pi) then//判斷Pj是否為Pi的前驅(qū) (Ie)L1. Bdd(Pj) ;//將前驅(qū)添加廣告服務(wù)到服務(wù)鏈中(17)endif(18)endfor(19)if (maxfitvalue > (y X Soutput (R ' output, L1. head. Op)+χX Sinput (L1. tail. Ip, R' . Ir' )))then(20)set maxfitvalue = yX Soutput (R ' output, L1. head. Op)+χX Sinput (L1. tail. Ip, R' . Ir/ );//保存最大匹配度(21)set L2 = L1 ;//保存具有最大匹配度的服務(wù)鏈(22)end if(23)end if(24)endfor(25)returnmaxfitvalue ;//返回最大匹配度。
6.若皿》口,則廣告服務(wù)鏈集Ltl與R是可匹配的,其特征是(f為服務(wù)請求R的輸出參數(shù)集合,Iol為該集合元素的個(gè)數(shù),ρ為R中所設(shè)置的服務(wù)匹配閾值。
全文摘要
本發(fā)明名稱為“一種單Web服務(wù)匹配方法”,屬于計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域。如何從大規(guī)模服務(wù)集合中快速而準(zhǔn)確的發(fā)現(xiàn)目標(biāo)服務(wù)是語義Web服務(wù)的關(guān)鍵之一,但在許多應(yīng)用中,一個(gè)服務(wù)請求往往必須通過多個(gè)廣告服務(wù)的協(xié)作才能完成(即一對(duì)多情形)。本發(fā)明方法允許用戶在服務(wù)請求中設(shè)置服務(wù)輸出參數(shù)對(duì)輸入?yún)?shù)的依賴以及在服務(wù)匹配度計(jì)算中設(shè)置輸入接口和輸出接口的匹配權(quán)重,將一個(gè)復(fù)雜的服務(wù)請求分解為簡單的單輸出、多輸入的子服務(wù)請求序列,然后為每個(gè)子服務(wù)請求搜索能與其匹配的廣告服務(wù)組合鏈,從而將服務(wù)匹配推廣到復(fù)雜服務(wù)請求需要多個(gè)廣告服務(wù)協(xié)作才能完成的情形,克服了以上不足,擴(kuò)大了服務(wù)適用范圍,因而可廣泛應(yīng)用于語義Web服務(wù)的目標(biāo)服務(wù)發(fā)現(xiàn)。
文檔編號(hào)G06F9/44GK102360295SQ20111031919
公開日2012年2月22日 申請日期2011年10月7日 優(yōu)先權(quán)日2011年10月7日
發(fā)明者彭志平 申請人:彭志平