[发明专利]支持Top K查询的自动服务组合方法及系统有效
申请号: | 201110030391.8 | 申请日: | 2011-01-27 |
公开(公告)号: | CN102081675A | 公开(公告)日: | 2011-06-01 |
发明(设计)人: | 姜伟;马环宇;虎嵩林 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 top 查询 自动 服务 组合 方法 系统 | ||
技术领域
本发明涉及面向服务的计算领域,特别涉及一种自动服务组合方法及系统。
背景技术
在SOC(Service Oriented Computing,面向服务的计算)的推动下,作为网络环境下进行互操作和实现分布式系统的基本要素的Web服务的数目急剧增长。SOC的关键技术之一在于服务组合,即将多个原子Web服务组合起来以实现功能更加丰富的组合服务。组合服务的使用范围十分广泛,如当用户到外地出差、旅游时,通常需要天气预报、航班查询、航班订票、预定旅店等多种服务的信息,此时就需要将多种服务进行整合,以提供”一站式”服务给用户。
现有技术中通常采用手工方法实现服务的组合,但手工方法具有低效、易错的缺陷,因此本领域技术人员开始关注于服务组合的自动实现。此外,不同的服务提供者可能提供功能相似但质量(QoS)迥异的服务。质量低劣的服务将导致组合服务不可靠、可用性低等问题。故在实际使用中,不仅仅需要选择质量优良的原子服务,也需要选择和构造质量可保障的组合服务。综合上述两方面,在服务组合领域,需要设计高效的算法既可以有效地组合相关的服务以满足用户的功能需求,又需要保证组合服务的质量。这个问题称为质量敏感/驱动的自动服务组合。
但是,现有质量敏感的自动服务组合方法往往只能够搜索出最优的或近似最优的服务组合结果,不能够搜索出质量最好的前K个结果(K可以自由设定),这给组合服务的进一步应用带来了不便。如果能够搜索出质量最好的前K个结果,将会带来以下好处:(1)用户具有更多的选择权,可以根据自己的喜好(非QoS因素)进行选择;(2)当最优服务组合结果失效时,可以利用其它K-1个结果替代。从而提供系统的可靠性;(3)从服务提供者的角度看,提供前K个服务组合结果而不仅仅是一个最好的结果,可以避免负载不均的情况。除去那种低效的搜索所有的服务组合结果然后排序的方法外,在现有技术中尚不存在能够准确自动搜索出前K个QoS最好的服务组合结果的相关方法或系统。
发明内容
本发明的目的是克服现有方法只能够搜索出最优的或近似最优的服务组合结果,不能够搜索出质量最好的前K个结果的缺陷,从而提供一种能够提供支持Top K查询的自动服务组合方法。
为了实现上述目的,本发明提供了一种支持Top K查询的自动服务组合方法,包括:
步骤1)、用户提交一用于请求前K个质量最好的服务组合结果的查询请求,根据该查询请求以及多个原子服务的输入参数、输出参数、原子服务间的匹配关系建立服务依赖图,由所述服务依赖图找出满足所述查询请求第一最优关键路径;其中,
所述最优关键路径为总服务质量值allQoS最优的关键路径;所述关键路径为一条或多条只包括关键前驱的链状顺序路径;所述关键前驱是指对于服务组合结果中的任意一个服务节点,其所有输入参数的最优提供者中总服务质量值allQoS最差的那个提供者;所述总服务质量值allQoS为从所述查询请求的查询输入参数开始到所在原子服务被调用后的服务质量值;
步骤2)、将所述第一最优关键路径保存在一集合中;
步骤3)、从所述集合中选取总服务质量值allQoS最优的至少一条关键路径作为当前的最优关键路径,并生成对应的服务组合结果,然后对当前的最优关键路径进行松弛操作,生成新的关键路径,并放入所述集合中;其中,
所述松弛操作包括:改变关键路径中的某一个节点的关键前驱来获取一个新的allQoS更差的关键路径;
步骤4)、重复步骤3)的操作,直到已经找到的所有服务组合结果的数目达到用户所需要的K值。
上述技术方案中,在所述的步骤3)中,在对当前的最优关键路径进行松弛操作时,不对当前的最优关键路径中之前已经做过松弛操作的结点做重复的松弛操作。
上述技术方案中,在所述的步骤3)中,所述的松弛操作包括:
步骤3-1)、选择当前的最优关键路径中的某一个结点作为待做松弛操作的松弛结点;
步骤3-2)、从所述松弛结点的各个输入参数的所有提供者中寻找具有最好allQoS的提供者且该提供者的allQoS差于目前的关键前驱的allQoS,若能找到,将该提供者记为新提供者,并执行下一步,否则
步骤3-3)、将所述松弛结点的前驱结点改为所述的新提供者,保持所述松弛结点到所述终结结点的路径不变;
步骤3-4)、从所述新提供者开始,从后往前,为每个结点寻找其前驱结点,直到起始结点,从而形成一条从起始结点开始,经由所述新提供者,最终到达所述终结结点的新的关键路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110030391.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:液压锤
- 下一篇:用于高速地面运输系统的玻璃窗