基于依赖关系的Web服务动态组合方法技术

技术编号:6885674 阅读:301 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于依赖关系的Web服务组合方法,首先提出了Web服务依赖关系模型,该模型并不受限于具体的Web服务描述模型和语言,它仅用于描述Web服务的数据依赖信息,该模型支持服务接口的语义标注和接口依赖关系的申明;在依赖关系模型基础上提出了基于动态规划的Web服务组合方法,该方法在进行服务匹配过程中,利用Web服务的依赖关系把Web服务组合转化成动态规划问题,并找出最优化的服务组合方法。本发明专利技术不仅解决上面由于Web服务之间的依赖关系所涉及的问题,还有效地提高服务组合的效率,从而更好满足用户服务组合的需求,实现Web应用的自动化执行。

【技术实现步骤摘要】

本专利技术涉及Web服务组合的服务计算
,特别是涉及一种基于Web服务依赖关系的服务组合方法。
技术介绍
Web服务是一种基于网络环境的自适应、自描述、模块化的应用程序。因其具备良好的互操作能力和可重用性而在电子商务、应用集成、流程管理等领域中扮演越来越重要的角色。面向服务计算(SOC)是分布式计算很有效的方法,具体体现在服务灵活、高效的组合和自动编排执行。构造单个功能大而全的Web服务灵活性差,可重用度低;而独立的、可重用的基本Web服务一般功能有限,难以满足实际应用中的需求。因此有必要将单个Web 服务组合起来,其目的在于通过服务间的彼此协同合作来满足应用需求。Web服务组合就是要将松耦合、分散的各Web服务有机地组织成一个可用系统,以满足不同用户的复杂功能需求。近年来,随着Web服务相关标准的持续完善和支持Web服务开发软件平台的不断成熟,Web服务已经成为互联网中最为重要的一种计算资源和软件资产。而Web服务数量的不断增长,使得用户难以从大规模服务集合中自动、讯速、准确地搜索并组合服务。服务自身存在处理语法、语义、识别、抽取等方面的问题,具有跨平台和松耦合的特点,因此众多研究者提出了许多解决方案,主要从形式化逻辑描述(非功能性描述),人工智能,语义识别,逻辑推理等角度进行研究服务,以达到满意的服务组合。但大多方法只是从一定程度改进了服务组合体系,尚未实现服务组合的快速性和准确性。目前,工业界和学术界针对Web服务组合已经提出了多种方法,从整体上可分为四大类工作流、软件工程、 形式化和人工智能。这些方法在一定程度上提高了 Web服务组合的准确率和优化度,但普遍存在应用实施难度较大的问题.这是由于这些方法均是建立在全新的语义Web服务模型和描述语言的基础上,如DAML-S / OffL-S,WSMO / WSML等。这些方法在特定的服务模型和应用场景中可取得较好的效果,但基于这些新的语义Web模型和描述语言的服务数量少之又少;而另一方面,现阶段WSDL (Web Service Description Language)作为Web服务描述规范而被广泛采用,出现了大量的基于WSDL的Web服务,因此在应用前述那些方法之前,需要将WSDL转化成目标服务模型和语言,增大了方法应用的难度和复杂度。综上所述,至今国内外尚未提出实现Web服务自动组合的有效方法。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于服务依赖关系的Web服务组合方法。本专利技术解决其技术问题采用的技术方案如下一种基于Web服务依赖关系的服务组合方法,该方法包括以下步骤 (1)基于数据依赖关系定义模型定义1 (数据依赖)在一个服务定义中,如果存在输入参数a,输出参数b,则数据b依赖于数据a ;表示为a — b ;数据依赖关系具有传递性,即如果a — b,b — c则a — c ;定义2 (服务间数据依赖)如果服务A的输出数据a是服务B的输入数据,则称服务的B数据3依赖于A,表示为A (a) —B;定义3 (服务间数据依赖集)在一个服务组合中,由所有参与组合服务的服务间数据依赖组成的集合;定义4 (同类型的服务集)在服务集合中,实现功能相同,输入输出的要求相同的服务集合,在一个服务组合中取最优,并备用其他;定义5 (服务组合模型WCP)服务组合模型WCP是一个三元组WCP= (Name, WS, DS), 其中Name是组合方案名称;WS是该组合方案包含的服务的集合;DS是所有服务间的数据依赖集;(2)确保数据的完整性和一致性识别关键服务如果某一服务产生数据a,且a不是该服务输入参数的子集,则该服务为关键服务;每一个关键服务可以产生单个或多个数据;由关键服务组成的集合为关键服务集;识别只被依赖服务如果某一服务(包括同类型的服务)的输入不依赖与任何其他服务,则该服务类型为只被依赖服务;构造关键服务和只被依赖服务的数据依赖服务集对于关键服务或是只被依赖服务 A,集合KS (A)= {X| X是参与合成的服务且A (a) —X}为关键服务A基于数据a的数据依赖服务集合;(3)基于动态规划的Web服务组合方法的实现通过关键服务集合和每个关键活动的数据依赖活动集合可以求出整个模型的完整的数据依赖关系图,具体步骤如下(a)找出输入数据集合为空的关键服务A;(b)找出服务A的数据依赖服务集中的关键服务集KS(A);(c)若KS(A)中的元素有多个,则将各服务置于A的不同的后续分支上;若是KS (A) 中的元素只有一个则直接成为A的后继服务;(d)遍历每个分支,重复步骤(b),若分支上的服务具有相同数据依赖关键服务,则该相同后继服务是聚合服务。 本专利技术与
技术介绍
相比,具有的有益效果是本专利技术针对由Web服务组合以及服务之间相互依赖关系所触发的问题展开研究,首先提出了 Web服务的依赖关系模型。需要强调的是,该模型并不受限于具体的Web服务描述模型和语言,它仅使用了 Web服务的数据依赖信息,该模型支持服务接口的语义标注和接口依赖关系的申明。基于该依赖关系模型, 本专利技术提出了基于动态规划的Web服务组合,该方法在进行服务匹配过程中,利用Web服务间的依赖关系把Web服务组合转化成动态规划问题,并找出最优化的服务组合方法。不仅解决上面由于Web服务之间的依赖关系所涉及的问题,还有效地提高服务组合的效率,从而更好满足用户服务组合的需求。通过本专利技术提出的技术方案,进而可以实现各种基于服务组合的Web应用自动化任务,比如“在线文档自动转换、发送和打印”(OA领域)、“在线旅程自动预定”和“商品下单和交易”(电子商务领域)等方面的任务。附图说明图1为用户请求的服务之间的关系图; 图2为用户请求的服务处理过程图3为用户集处理过程图。具体实施例方式本专利技术,包括以下步骤 1、基于数据依赖关系定义模型定义1 (数据依赖)在一个服务定义中,如果存在输入参数a,输出参数b,则数据b依赖于数据a。表示为a — b。数据依赖关系具有传递性,即如果a — b,b — c则a — c。定义2 (服务间数据依赖)如果服务A的输出数据a是服务B的输入数据,则称服务的B数据a依赖于A,表示为A (a)-B0定义3 (服务间数据依赖集)在一个服务组合中,由所有参与组合服务的服务间数据依赖组成的集合。定义4 (同类型的服务集)在服务集合中,实现功能相同,输入输出的要求相同的服务集合,在一个服务组合中取最优,并备用其他。定义5 (服务组合模型WCP)服务组合模型WCP是一个三元组WCP= (Name, WS, DS),其中Name是组合方案名称;WS是该组合方案包含的服务的集合;DS是所有服务间的数据依赖集。2、确保数据的完整性和一致性识别关键服务如果某一服务产生数据a,且a不是该服务输入参数的子集,则该服务为关键服务。每一个关键服务可以产生单个或多个数据。由关键服务组成的集合为关键服务集。识别只被依赖服务如果某一服务(包括同类型的服务)的输入不依赖与任何其他服务,则该服务类型为只被依赖服务。构造关键服务和只被依赖服务的数据依赖服务集对于关键服务或是只被依赖服务A,集合KS (A) = {X|X是参与合成的服务且A (a)—X}为关键服务A基于数据a的数据依赖服务集合。3、本文档来自技高网
...

【技术保护点】
1.一种基于Web服务依赖关系的服务组合方法,其特征在于:该方法包括以下步骤:(1)基于数据依赖关系定义模型:定义1(数据依赖):在一个服务定义中,如果存在输入参数a,输出参数b,则数据b依赖于数据a;表示为a→b;数据依赖关系具有传递性,即:如果a→b,b→c则a→c;定义2(服务间数据依赖):如果服务A的输出数据a是服务B的输入数据,则称服务的B数据a依赖于A,表示为A(a)→B;定义3(服务间数据依赖集):在一个服务组合中,由所有参与组合服务的服务间数据依赖组成的集合;定义4(同类型的服务集):在服务集合中,实现功能相同,输入输出的要求相同的服务集合,在一个服务组合中取最优,并备用其他;定义5(服务组合模型WCP):服务组合模型WCP是一个三元组:WCP=(Name,WS,DS),其中:Name是组合方案名称;WS是该组合方案包含的服务的集合;DS是所有服务间的数据依赖集;(2)确保数据的完整性和一致性:识别关键服务:如果某一服务产生数据a,且a不是该服务输入参数的子集,则该服务为关键服务;每一个关键服务可以产生单个或多个数据;由关键服务组成的集合为关键服务集;识别只被依赖服务:如果某一服务(包括同类型的服务)的输入不依赖与任何其他服务,则该服务类型为只被依赖服务;构造关键服务和只被依赖服务的数据依赖服务集:对于关键服务或是只被依赖服务A,集合KS(A)={X|X是参与合成的服务且A(a)→X}为关键服务A基于数据a的数据依赖服务集合;(3)基于动态规划的Web服务组合方法的实现:通过关键服务集合和每个关键活动的数据依赖活动集合可以求出整个模型的完整的数据依赖关系图,具体步骤如下:(a)找出输入数据集合为空的关键服务A;(b)找出服务A的数据依赖服务集中的关键服务集KS(A);(c)若KS(A)中的元素有多个,则将各服务置于A的不同的后续分支上;若是KS(A)中的元素只有一个则直接成为A的后继服务;(d)遍历每个分支,重复步骤(b),若分支上的服务具有相同数据依赖关键服务,则该相同后继服务是聚合服务。...

【技术特征摘要】
1. 一种基于Web服务依赖关系的服务组合方法,其特征在于该方法包括以下步骤(1)基于数据依赖关系定义模型定义1 (数据依赖)在一个服务定义中,如果存在输入参数a,输出参数b,则数据b依赖于数据a ;表示为a — b ;数据依赖关系具有传递性,即如果a — b,b — c则a — c ;定义2 (服务间数据依赖)如果服务A的输出数据a是服务B的输入数据,则称服务的B数据3依赖于A,表示为A (a) —B;定义3 (服务间数据依赖集)在一个服务组合中,由所有参与组合服务的服务间数据依赖组成的集合;定义4 (同类型的服务集)在服务集合中,实现功能相同,输入输出的要求相同的服务集合,在一个服务组合中取最优,并备用其他;定义5 (服务组合模型WCP)服务组合模型WCP是一个三元组WCP= (Name, WS, DS), 其中Name是组合方案名称;WS是该组合方案包含的服务的集合;DS是所有服务间的数据依赖集;(2)确保数据的完整性和一致性识别关键服务如果某一服务产生数据a,且...

【专利技术属性】
技术研发人员:姜波王家乐潘云
申请(专利权)人:浙江工商大学
类型:发明
国别省市:86

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

1