专利名称:一种基于多Web服务链组合的服务匹配方法
技术领域:
计算机应用技术。
背景技术:
Web服务发现是面向服务计算Gervice-Oriented Computing, S0C)中的关键问题之一,目前有两类主要方法基于传统语法级和基于语义推理。前者以UDDI为代表,但由于仅支持关键词匹配,服务匹配精度往往不高。而后者则是Web服务与语义网结合产生的,它能够提取和利用描述Web服务的语义信息并根据用户提供的服务请求合约进行匹配,进而发现符合要求的服务,在一定程度上提高了服务发现的查准率、查全率和自动化程度。目前,人们已提出了不少基于语义的服务发现方法[1_8],但普遍存在以下不足(1)现有方法大多遵循文献[1]中的服务匹配原则,即一个服务描述P与一个用户请求描述R成功匹配,当且仅当满足①P能够提供R的所有输出;②R能够提供P的所有输入。但是,由于这一原则过于严格,导致满足用户要求的许多服务被淘汰掉。尽管文献 [9]提出了扩展WSDL以支持接口依赖关系来解决这个问题,但在一些情况下服务匹配的精度仍不高,算法仍有较大的改进空间。(2)基于语义的Web服务匹配方法主要包括服务的功能匹配和质量匹配,而服务功能匹配算法的研究主要是通过计算描述服务的领域本体的概念之间的匹配程度来判断服务的匹配程度,从而将服务匹配问题转换为本体概念之间相似度计算问题或本体概念匹配程度的计算问题。这类方法往往给出单个原子服务与简单服务请求之间的匹配程度,对于复杂的服务请求往往无法进行准确匹配。(3)现有方法按同等地位的原则对待服务的输入参数和输出参数,没有考虑到对服务请求者而言,服务输出具有更重要的意义,服务请求者对服务输入参数具有不同权重的控制权,这在一定程度上导致服务匹配精度不高。[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服务QoS描述和发现.计算机研究与发展,2011,48 (6) :1059-1066.[7]叶蕾,张斌.基于功能语义的Web服务发现方法.计算机研究与发展,2007, 44(8) :1357-1364.[8]刘志忠,王怀民,周斌.一种双层P2P结构的语义服务发现模型.软件学报, 2007,18(8) :1922-1932.[9]邓水光,尹建伟,李莹,吴健,吴朝晖.基于二分图匹配的语义Web服务发现方法·计算机学报,2008,31 (8) :1364-1375.
发明内容
本发明创新点在于允许用户在服务请求中设置服务输出参数对输入参数的依赖以及在服务匹配度计算中设置输入接口和输出接口的匹配权重,将一个复杂的服务请求分解为简单的单输出、多输入的子服务请求序列,然后为每个子服务请求搜索能与其匹配的广告服务组合链,从而将服务匹配推广到复杂服务请求需要多个广告服务协作才能完成的情形,克服了以上不足,扩大了服务适用范围。本发明技术方案描述如下接口依赖关系是指输出接口对输入接口的依赖。给定操作的一个输出,通过接口依赖关系可得到该输出所依赖的输入集合。对于一个操作,若一个输入i被一个输出ο所依赖,则说明调用该服务时,为了得到ο这一输出,用户提供的输入集合中必须包含i。一个广告服务P为一个五元组P = {n,d,Ip, Op, Fp}。其中,η是该服务的名称;d 是该服务的文本描述信息;IP是调用该服务必须满足的输入参数集;0P是该服务的输出参数集 ’F :Op ,表示该服务的接口依赖函数,即对于7< TK)表示该输出所依赖的输入集。一个服务请求R为一个五元组
权利要求
1.在OWL-S的ftOcess.owl模块中加入D印endOn属性,使其支持接口依赖关系的申明,其特征是是在I^rocess. owl中加入D印endOn属件<owlObjectProperty rdfID = “ DependOn“ ><rdfsdomain rdfresource =〃 #0utput〃 /> <rdfs:range rdf:resource = " #Input" /> </owl:ObjectProperty>。
2.设置Ltl为空,其特征是=Ltl为链表型的中间变量,用于存储服务请求R中的每个子服务。
3.设置sumfitvalue为0,其特征是uumfitvalue为用于计算匹配度的整形中间变量。
4.调用下面的服务请求分解算法RequestRes0Iving(R),并将所有子服务加到L。,其特征是服务请求分解算法RequestRes0Iving(R)可描述为如下(1)输入服务请求R={I\Or,F\ W,灼;(2)输出分解后的子服务集;(3)set R' = null ;//初始化子服务(4)set L = null ;//初始化子服务集(5)for all ο; in Or do(6)set设置子服务的输出参数(7)set兒.广=厂(《);//设置子服务的输入参数集(8)set R' .W' = R. Wi ;//设置子服务的输出对输入依赖的权重集(9)L.add(R' ) ;//添加子服务到子服务集中(10)endfor(11)returnL0
5.对于Ltl中每个子服务R‘ i,调用下面子服务请求与服务链匹配算法 ServiceListMatching (PS, R ‘》,并将返回结果与sumfitvalue相力再赋给 sumfitvalue,其特征是子服务请求与服务链匹配算法ServiceListMatching(PS,R' ^ 可描述为如下(1)输入PS=^,...,PnLR' = {or' , Ir' ,W' }, χ and y ; Il输入广告服务集、子服务请求、输入接口权重和输出接口权重(2)输出子服务请求与服务链的匹配度;(3)SetL1, L2 = null -JI 初始化服务链(4)setP' = null ;(5)set maxfitvalue = O ;//初始化匹配度(6)forall Pi in PS do(7)if (Pi-R' ) then//判断广告服务Pi到子服务请求R'到是否存在出口语义匹配(8)set P' =Pi;//保存广告服务(9)L1. Bdd(Pi) -JI将与子服务请求出口语义匹配的广告服务添加到服务链中(10)forall Pi in PS do(11)if(R'—PP then//判断子服务请求R'到广告服务h是否存在入口语义匹配(12)L1. Bdd(Pj) -JI将与子服务请求入口语义匹配的广告服务添加到服务链中(13)break;(14)endif(15)if (Pj — Pi) then//判断Pj是否为Pi的前驱 (Ie)L1. Bdd(Pj) ;//将前驱添加广告服务到服务链中(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 ;//保存具有最大匹配度的服务链(22)end if(23)end if(24)endfor(25)returnmaxfitvalue ;//返回最大匹配度。
6.若皿》口,则广告服务链集Ltl与R是可匹配的,其特征是(f为服务请求R的输出参数集合,Iol为该集合元素的个数,ρ为R中所设置的服务匹配阈值。
全文摘要
本发明名称为“一种单Web服务匹配方法”,属于计算机应用技术领域。如何从大规模服务集合中快速而准确的发现目标服务是语义Web服务的关键之一,但在许多应用中,一个服务请求往往必须通过多个广告服务的协作才能完成(即一对多情形)。本发明方法允许用户在服务请求中设置服务输出参数对输入参数的依赖以及在服务匹配度计算中设置输入接口和输出接口的匹配权重,将一个复杂的服务请求分解为简单的单输出、多输入的子服务请求序列,然后为每个子服务请求搜索能与其匹配的广告服务组合链,从而将服务匹配推广到复杂服务请求需要多个广告服务协作才能完成的情形,克服了以上不足,扩大了服务适用范围,因而可广泛应用于语义Web服务的目标服务发现。
文档编号G06F9/44GK102360295SQ20111031919
公开日2012年2月22日 申请日期2011年10月7日 优先权日2011年10月7日
发明者彭志平 申请人:彭志平