当前位置: 首页 > 专利查询>武汉大学专利>正文

一种语义Web服务组合方法技术

技术编号:8366820 阅读:188 留言:0更新日期:2013-02-28 05:32
本发明专利技术涉及一种语义Web服务组合方法,是一种针对大规模Web服务,实现按需自动服务组合的技术。该技术能够同时考虑多种服务质量(QoS),如服务的响应时间、吞吐量、价格等,根据用户的输入输出需求,自动构建语义上满足需求的若干服务流程,并返回多种服务质量综合最优的TopK个组合方案。此外,该技术能够在百万Web服务规模下,实现秒级的组合效率,从而在大幅减小程序开发者实际编程量的同时,还能够实时适应网络状况和Web服务的运行状况,始终保证用户使用到最优组合方案。

【技术实现步骤摘要】

本专利技术涉及一种Web服务组合方法,尤其是涉及。
技术介绍
随着云计算技术的不断发展,互联网上各类Web服务的数量飞速增长。然而,单个Web服务提供的功能极其有限,大多数应用都难以通过单一 Web服务予以实现,往往需要把若干个Web服务组合起来,共同满足应用需求。其次,面向服务的软件开发方法逐渐被全球的开发者所接受,而服务质量动态变化、用户需求个性化、多样化,如何实时抽取服务质量最好的若干服务,并能按照用户需求自动组合出可执行的服务流程方案,也将成为未来软件业发展的巨大机遇和挑战。另外,Web服务的分布式特性与传统的组件系统不同,服务本身处于分布式的环境中,面对不断涌现出来的服务,以专家静态规定服务组合的方式是远远不够的,如何高效、正确、智能的将现有的服务组合成新的服务成为现在国内外的研究热点。目前,Web服务组合方法主要包括以下几种(I)基于工作流的方法。工作流可被用作分布活动的协调执行引擎或服务组合方案的描述方式,其中以BPEL,WSFL等工作流建模语言最为常见。但是,该方法主要以人工编辑为主,不能实现自动服务组合。(2)基于人工智能(Al)规划的方法。该方法借鉴了 Al中的形式化方法和逻辑推理,但它时间复杂度高,无法适应问题规模较大情况下的服务组合。(3)基于图搜索的方法。该方法将服务按照概念输入集合和概念输出集合构建成服务依赖图(SDG)。将服务组合算法转换成从有向图中查找最优路径的问题。该方法效率较高,但仅考虑了概念语义,而未考虑QoS。(4)基于信息检索的方法。该方法以SQL查询来实现服务组合,避免了传统服务组合算法极占内存的缺点,适用于更大规模服务集合的组合计算。但由于其对服务抽象度要求过高,限制了实际应用价值;另外,对于多QoS、语义关系复杂的情况下,该方法效率会大幅下降。(5)单一 QoS的图搜索方法。此类方法中服务的选择策略存在多种形式,包括局部最优、全局最优、混合最优等,算法的实现多基于贪心算法、动态规划算法、遗传算法等智能算法。通过服务接口方式及根据QoS启发式规则对子图进行裁剪来生成最优组合方案。但存在以下不足以单一 QoS属性概括服务的所有非功能性特性;只返回一个符合自定义规则的最佳搜索结果;只能选择某一个服务进行配置;动态QoS适应性较差。
技术实现思路
本专利技术的上述技术问题主要是通过下述技术方案得以解决的,其特征在于,包括以下步骤步骤I. Top K服务中正向概念扩展阶段根据用户需求,在服务的功能性要求满足的情况下,依次从服务的非功能目标形成的Skyline中选择备选服务进行概念扩展;概念扩展过程将测试比较当前状态至目标概念的距离及相似度,对扩展的各个状态进行取舍,从而构建多条从Cl到CO的概念扩展链,即多套服务调用备选方案;其中,概念扩展链中每条链由概念与提供此概念的服务组成;步骤2. Top K服务中反向方案择优阶段由于步骤I中生成的概念扩展链一般包含一簇服务组合方案,为把其中的单个组合方案分离出来,并选取其中最优的几套方案返回,则需要将概念扩展链转换成基于与或树的服务组合方案描述模型,将组合方案生成过程转换为二叉树的遍历问题,其中,左节点表示服务前置条件,而右节点表示某前置条件可满足的服务;同时,对所有服务组合方案进行择优,生成全局QoS最优的K个组合方案;步骤3.采用基于纸带模型的Skyline算法优化基于多维QoS的Top K服务组合方法按照设定的规则对步骤2中产生的服务组合方案进行智能裁剪,生成最简服务组合 方案树,在服务择取过程中,采用基于纸带模型的Skyline算法克服传统Skyline空间中存在的数据点频繁更新造成的性能瓶颈,同时大幅提高获得TopK方案的计算效率。在上述的,所述步骤I的具体实现方法包括以下子步骤第一步,采用六种非功能服务特征组成六维向量来构造服务QoS模型;分别为服务响应时间Qrt,服务吞吐量Qtp,服务可靠性Qr,服务信誉度Qcd,服务价格Qc,服务安全性Qs,对QoS各个属性进行规范化处理,将各属性值归一化至统一区间;第二步,定义扩展状态如下某时刻扩展得到的所有概念及到它们所消耗QoS信息组成的中间状态,其中结束状态为包含CO的扩展状态;第三步,对用户需求UR进行判断,计算从Cl到CO是否有可用概念扩展路线可达,若没有,则直接返回给用户;第四步,对概念关系图进行遍历,在满足功能要求的前提下,根据服务的非功能特征形成每个概念关系图的最优备选服务集合Skyline ;Skyline定义为,对于数据集合中某一点P,若在同样数据集合中不存在任何点能够支配P,即不存在一个点在所有维度上的值都小于或等于P在同维度上的值,则称P点为此数据集合的Skyline点;第五步,遍历Skyline,克隆概念图,并选取每个Skyline点作为扩展方向,沿扩展方向进行概念扩展,每个克隆的概念继承父状态的Skyline,各种概念之间可以通过服务组合算法生成一条概念之间转换的链表,链表中的每一项即为某一服务的调用,算法据此当前状态到用户需求CO之间的最小QoS花费判断各个状态至目标的距离,概念关系图得到概念直接距离矩阵,矩阵中每一数据项表示概念直接调用某一服务进行转换所需的QoS值,利用Floyd加权图求定点最短路径算法对概念直接距离矩阵进行处理,最终得到概念之间通过服务组合进行转换所需的最小QoS值,概念扩展过程中实时比较当前状态至终点的概念距离及相似度;第六步,具体的概念扩展和备选服务的加入,首先求出备选服务的前置条件消耗的QoS与此备选服务自身消耗的QoS之和,并将其保存于服务对象中,然后得到加入此备选服务后新增的概念,即此服务的输出概念集合,亦即概念的扩展;进而将概念及提供此概念的服务保存于概念服务链中,并更新skyline ;第七步,对扩展后的状态进行实时去重操作,去除重复多余的状态;第八步,当生成的状态数目大于K时抛弃离目标过远的状态,概念扩展过程比较当前状态至终点的概念距离及相似度,比较各状态距离,依据所需概念扩展链个数K并依据保留距离小的,舍弃距离大的的原则进行扩展。在上述的,所述步骤2的具体实现方法包括以下子步骤第一步,方案树左节点的生成,由于服务调用时所需的概念集合在服务概念扩展链中一般有多种提供方式,因此所提供方式采用笛卡尔积进行,并当可提供方式过多时对所有可提供的方式进行排序取Top-K个,然后依次作为生成的左节点;第二步,方案树右节点的生成,从扩展链中提取提供服务的集合及集合中每个服务所提供概念,以此构建右节点;第三步,递归调用构建方案树,调用上两步算法产生某一节点的左右节点,将其按照方案树的特性进行组织,按照基于“与或树”的方案树的特点,某一服务的所有条件以父 子链表的关系进行组织,后一提供方式为前一提供方式的左孩子,算法称此为左孩子链,某一条件的提供者也以父子的关系进行组织,称为右孩子链,算法产生某个右节点所有的左节点,遍历生成的左节点,生成每个左节点所需服务,即所有右节点然后遍历生成的这些右节点,然后将正向概念扩展阶段的所有概念扩展链全部转换成方案树;第四步,遍历服务组合方案树生成各个服务组合方案子树,其规则如下服务组合方案树根节点为服务组合方案子树的根节点;当服务组合方案树中一个左节点在服务组合方案子树中时,该左节点的本文档来自技高网
...

【技术保护点】
一种语义Web服务组合方法,其特征在于,包括以下步骤:步骤1.?Top?K?服务中正向概念扩展阶段:根据用户需求,在服务的功能性要求满足的情况下,依次从服务的非功能目标形成的Skyline中选择备选服务进行概念扩展;概念扩展过程将测试比较当前状态至目标概念的距离及相似度,对扩展的各个状态进行取舍,从而构建多条从CI到CO的概念扩展链,即多套服务调用备选方案;其中,概念扩展链中每条链由概念与提供此概念的服务组成;步骤2.?Top?K?服务中反向方案择优阶段:由于步骤1中生成的概念扩展链一般包含一簇服务组合方案,为把其中的单个组合方案分离出来,并选取其中最优的几套方案返回,?则需要将概念扩展链转换成基于与或树的服务组合方案描述模型,将组合方案生成过程转换为二叉树的遍历问题,其中,左节点表示服务前置条件,而右节点表示某前置条件可满足的服务;同时,对所有服务组合方案进行择优,生成全局QoS最优的K个组合方案;步骤3.采用基于纸带模型的Skyline算法优化基于多维QoS的Top?K服务组合方法:按照设定的规则对步骤2中产生的服务组合方案进行智能裁剪,生成最简服务组合方案树,在服务择取过程中,采用基于纸带模型的Skyline算法克服传统Skyline空间中存在的数据点频繁更新造成的性能瓶颈,同时大幅提高获得TopK方案的计算效率。...

【技术特征摘要】

【专利技术属性】
技术研发人员:曾承丁伟胡扬曹德强
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1