- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于二分图匹配的语义Web服务发现方法(
邓水光, 尹建伟, 李莹, 吴健, 吴朝晖
(浙江大学 计算机科学与技术学院, 浙江杭州 310027)
摘 要: 如何从大规模服务集合中快速而准确的发现目标服务是应用Web服务技术的关键。现有基于语义的Web服务发现方法应用实施难度大且效果存在较大提升空间。本文首先提出了Web服务注册的信息模型,该模型不受限于具体的Web服务模型和表达语言,支持接口语义标注和接口依赖关系的申明。进而提出了基于二分图匹配的语义Web服务发现方法,通过对二分图最佳匹配进行扩展,将服务匹配问题转化成二分图的扩展最佳匹配的求解问题,支持服务接口之间的依赖关系,从而提高服务发现的效果。一系列仿真实验表明该方法不仅能较大提高服务发现的召回率和准确率,而且还能以线性时间复杂度满足用户请求。
关键词: 面向服务的计算、Web服务、服务发现、二分图匹配
中图法分类号: TP393 文献标识码: A
引言
Web服务是一种基于网络环境的自适应、自描述、模块化的应用程序,因其具备良好的互操作能力和可重用性而在电子商务、应用集成、流程管理等领域中扮演越来越重要的角色[1]。近年来,随着Web服务相关标准的持续完善和支持Web服务开发的软件平台的不断成熟,Web服务已经成为互联网中最为重要的一种计算资源和软件资产。而Web服务数量的不断增长,使得用户难以从大规模服务集合中自动、快速、准确的搜索出目标服务。目前,Web服务发现吸引了国内外众多学者的关注,成为面向服务的计算(Service Oriented Computing)领域中的关键问题[2]。
由于传统的基于UDDI(Universal Description, Discovery, and Integration)的服务注册与发现机制仅支持对服务语法层面的操作,一方面在服务注册阶段无法准确刻画服务能力,另一方面在服务发现过程中因仅提供基于关键字的服务匹配策略,因此服务发现效果无法满足用户要求。特别是在服务数量剧增的情况下,用户急需一种自动、快速和准确的服务发现机制。而语义Web服务的提出,使得Web服务发现的研究进入了一个新的阶段。由于语义Web服务采用领域本体准确刻画了服务功能及其属性,因此基于语义的Web服务发现通过语义推理能自动准确的完成服务匹配,从而提高服务发现的效果。目前,众多的基于语义的Web服务发现的方法被提出来[3-13],这些方法在一定程度上提高了Web服务发现的准确率、召回率和自动化程度,但普遍存在如下两个问题:
1) 应用实施难度较大。这是由于这些方法均是建立在全新的语义Web服务模型和描述语言的基础上,如DAML-SOWL-S、WSMO/WSML或者WSDL-S等。这些方法在特定的服务模型和应用场景中均取得较好的效果,但基于这些新的语义Web模型和语言的服务数量少之又少;而另一方面,WSDL(Web Service Description Language)作为Web服务描述规范而被广泛采用,出现了大量的基于WSDL的Web服务,因此在应用当前这些方法之前,需要将WSDL转化成目标服务模型和语言,因此增大了方法应用的难度和复杂度。
2) 方法还存在较大的提升空间。这是由于这些方法均遵循了文献[3]中的服务匹配原则,即一个服务描述s被一个用户请求描述r成功匹配,当且仅当满足:a) s能够提供r中的所有输出;b) r能够提供s中的所有输入。后继很多基于语义的服务发现方法均在该文献的基础上有所改进[4][7][13][17],但均接受了这一成功匹配的原则。,这一原则过于严谨,在很多情况下将导致很多满足用户要求的服务被过滤掉。考虑这样一个例子:服务s接收两个输入a和b产生两个输出o和p;而用户请求r包含一个输入a和一个输出o。根据上述成功匹配的原则,由于r不能提供输入b,即s和r不满足第二条原则,因此服务s不满足需求r。然而在服务s中可能输入b对输出o是可选的。在这种情况下,服务s显然满足r为例:该服务提供一个名为GetWeather的操作,该操作接收一个城市名和一个国家名,输出该城市当天的天气情况。然而我们在基于Web服务调用框架WSIF (Web Service Invocation Framework )开发的Web服务客户端程序调用该服务时发现,尽管我们只给一个城市名作为输入,该服务也能正确的执行并返回结果。一般而言,若一个服务能够接受不同个数的输入参数,往往可以通过提供多个不同操作来实现,每个操作接受一种可能的输入参数。但在实际中确实存在上述类型的服务,这是由于发布在网络上的诸多Web服务大多是由已有的面向对象的方法或者函数分装而成,而在面向对象程序设计中,因支持参数个数可变的函数设计模式,同时也存在函数的参数为空值或者参数使用默认值的
文档评论(0)