首页> 中国专利> 一种基于QoS指标的动态Web服务组合方法

一种基于QoS指标的动态Web服务组合方法

摘要

本发明公开了一种基于QoS指标的动态Web服务组合方法,在为第一个任务选择最合适Web服务的阶段,计算第一个任务候选Web服务的QoS指标有效值,通过排序选择QoS有效值最大的候选服务作为最佳服务,当选出最合适的Web服务后立即执行此Web服务,在执行过程中进行为后继任务选择的阶段。在为后继任务选择最合适Web服务的阶段,按照任务规划的顺序依次为每一个任务选择并执行最佳Web服务。对于每一个后继任务,将正在执行的Web服务和直接后继任务的各候选服务分别组成服务对,根据各服务对的QoS指标有效值为直接后继任务选出最佳Web服务,选出Web服务后即可执行,形成一种执行与选择并发进行的动态实施效果。

著录项

  • 公开/公告号CN102868757A

    专利类型发明专利

  • 公开/公告日2013-01-09

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201210369802.0

  • 发明设计人 窦万春;杨君;

    申请日2012-09-28

  • 分类号H04L29/08;

  • 代理机构江苏圣典律师事务所;

  • 代理人胡建华

  • 地址 210093 江苏省南京市栖霞区仙林大道163号南京大学

  • 入库时间 2024-02-19 16:54:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-20

    未缴年费专利权终止 IPC(主分类):H04L29/08 专利号:ZL2012103698020 申请日:20120928 授权公告日:20160323

    专利权的终止

  • 2016-03-23

    授权

    授权

  • 2013-02-20

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20120928

    实质审查的生效

  • 2013-01-09

    公开

    公开

说明书

技术领域

本发明涉及计算机网络技术领域,特别是一种基于QoS(Quality of Service,简称 QoS)指标的动态Web服务组合方法,可以实现服务组合的选择和执行并发进行的动 态组合概念,用于对实时性要求比较高的服务组合。

背景技术

在服务计算环境中,被建模成服务的计算资源被直接调用或和其它服务进行组合。 Web服务作为一种自主而开放的应用实体,通过标准的Web协议为用户提供服务,目 的是保证分布式异构平台的应用服务可以互操作。为了提高服务的复用性,Web服务 的粒度通常不会太大。当单个服务无法满足用户提出的需求时,须将现有的一些Web 服务有效地整合在一起,向最终用户提供增值服务,即Web服务组合。在进行Web服 务组合之前,需要将用户需求分解成各子功能,将各子功能规划成其对应的任务并确 定各任务的执行顺序。当给定一组规划好的任务后,用某种Web服务组合机制为每一 个任务选择一个服务,最终得到一组可以满足用户功能需求的Web服务。随着服务提 供商提供的可用Web服务数量的递增,每个任务都有大量非功能属性不同的候选服务 可以满足其功能,所以现在服务组合方向的一个研究重点是如何为用户选取非功能属 性最优的一组服务。

如何有效的进行服务组合依然是一个挑战,吸引了工业和学术的注意。由于大量 服务可以满足功能性需求,近些年的研究主要依据不同的服务质量(QoS)标准进行 Web服务选择。其中,最经典的是L.Zeng等在QoS-Aware Middleware for Web Services  Composition(IEEE Trans.Software Engineering,Vol.30,No.5,pp.311-327,2004)基于QoS 的Web服务组合中间件技术定义了QoS模型,提出了全局优化方法用于解决基于QoS 服务组合问题。全局优化方法是在组合服务层面解决问题,其计算所有服务组合的总 QoS指标,最终选择满足全局约束并且总QoS指标最高的服务组合。全局优化问题是 典型的NP难问题,很难在合理的时间内得到最优解决方案,所以全局优化方法通常在 候选服务个数有限时可用。M.Alrifai等在“Combining Global Optimization with Local  Selection for Efficient QoS-aware Service Composition(WWW’09,pp.881-890,2009)”中 提出混合型服务组合方法,通过结合全局优化和本地服务选择,解决全局优化效率低 的问题,但其方法涉及全局约束分解的难题。M.Alrifai等又在“Selecting skyline services  for QoS-based Web Service Composition(WWW’10,pp.11-20,2010)”中提出基于skyline 的服务选择方法,其通过缩小候选服务范围的策略,改善全局优化方法的时间复杂度。

中国专利《基于QoS指标和Web服务输出参数的Web服务组合方法和装置》,申 请号:CN200910187232.1,授权公告号101645935也公开了一种基于QoS指标的Web 服务组合方法,该方法基于QoS指标和Web服务输出参数来设定Web服务组合规则, 通过判断所选择出的一组Web服务组合是否满足所设定的规则,最终确定所选择的一 组Web服务组合是否为所需Web服务组合。该方法的目的是通过预先设定的规则来选 择满足需求的一组Web服务组合,而现实可能存在多组都满足需求但服务质量不同的 Web服务组合,耗费时间多。另外,该专利中服务组合的选择过程和执行过程还是传 统的串行关系。

由于Internet本身具有开放性、缺乏安全和可靠机制,另外服务提供商具有自主性、 缺乏统一管理和有效监管,Web服务的真实执行环境是易变的、不稳定的。在这种环 境下,Web服务可能由于网络变化或服务自身突然出现故障变得不可用。即使已为用 户选择出非功能属性最优的一组服务,某服务在执行完成前可能会出现QoS波动或不 可用的情况。因为服务组合具有紧耦合性,当某服务在执行结束之前出错时,已经执 行过的服务不能回卷。所以现有的全局优化策略只能采用重规划策略,从出错点开始 重新组合出错和未执行的Web服务。而在易错、不稳定的环境下,有可能多次出错, 多次重规划将导致执行周期长、实时性差、浪费资源。所以即使已为用户选择出非功 能属性最优的一组Web服务,这组最优服务的执行效果不一定最优。

服务选择方法不仅要保证服务质量,而且需要具有更强的实时性和及时响应变化 的能力。由于Web服务执行环境的易变性,Web服务的QoS很可能因为内部本身或外 部环境的变化而频繁改变,传统技术往往无法达到要求。

发明内容

本发明旨在提供一种基于QoS指标的动态Web服务组合方法,该方法可以适应已 选服务实时改变的不稳定环境。

本发明提出一种动态Web服务组合方法,该方法实时的基于QoS边选择边执行服 务。其为用户提供当前环境下具有最优执行效果的服务组合,尤其适合不稳定或对实 时性要求较高的环境。

具体而言,本发明基于QoS指标的动态Web服务组合方法包括7个步骤:

步骤1:现给定一组请求Web服务组合的任务,通过服务提供商的Web服务发现 引擎获取各个任务的候选Web服务及各个候选Web服务的QoS指标。

步骤2:计算第一个任务各候选Web服务的QoS指标有效值。

步骤3:调用并执行具有最高QoS指标有效值的Web服务作为第一个任务的最优 服务。

步骤4:将现在正在执行的Web服务与直接后继任务的满足条件的候选Web服务 依次逐个进行组合,得到Web服务对集合。

步骤5:计算Web服务对集合中每个Web服务对的QoS指标有效值。

步骤6:根据各Web服务对的QoS指标有效值为直接后继任务选择最佳Web服务。

步骤7:执行已选Web服务的同时,判断是否还有后继任务,如果有跳转至步骤4, 如果没有输出已选服务作为最佳Web服务组合。

当给定一组请求Web服务组合的任务时,发现引擎利用现有设施根据任务和Web 服务的描述,为每个任务定位功能一致、可用的候选服务集。设用户需求R,为了满 足需求R,从功能层次分解功能并规划执行顺序,分解后的子功能实体称为任务,这 一组请求Web服务组合的任务描述为<T1,…,Tn>,Ti表示任意一个任务,1≤i≤n,n表 示任务的总数,其中每个任务Ti表示需要完成的子功能实体,各任务之间存在严格的 执行顺序关系。本发明只关注顺序结构的组合模型,其他结构可以转换成顺序模型。 每个任务将得到一组候选服务集。动态服务组合方法不是在设计阶段进行的,而是当 给定一个组合任务请求时实时进行的。该发明的目的是用较少的时间消耗,从各任务 的候选Web服务中选择接近最优QoS的服务组合以满足用户的需求。

本发明是以单个任务为选择粒度、按照任务规划顺序边选择边执行的动态服务组 合方法。该方法把组合服务的选择过程和执行过程从传统的串行关系变成并发关系, 依次为每个任务选择最合适服务的方法。但是,因为在任务组合中,任务与任务之间 并不是相互独立的,有严格的时序逻辑关系,所以动态Web服务组合方法不是独立的 为每个任务选择最合适的服务。

在组合过程中,依据当前正在执行的Ti对应的服务为直接后继任务Ti+1选择服务 质量最高的Web服务,以保证状态顺利转移。根据马尔可夫所述,对于一个系统,由 一个状态转至另一个状态的转换过程中,存在着转移概率,并且这种转移概率可以依 据其相邻的前一种状态推算出来,与该系统的原始状态和此次转移前的马尔可夫过程 无关。因此,本发明基于QoS指标的动态Web服务组合方法既不是独立的为每个任务 选择最佳服务,也不是以所有任务为一个整体选择最佳服务组合,而是按照各任务的 时序顺序实时地依次进行选择。

Web服务选择的依据是QoS指标。QoS指标是指服务非功能属性方面的特性,例 如价格、执行时间、信誉度、可用性等等。服务s的QoS指标可表示为向量 Qs={q1(s),...,qr(s)},qk(s)表示服务s的第k个指标属性值,1≤k≤r,r表示QoS指 标向量中属性的总个数。这些QoS指标值一般由服务提供商发布,可以通过Web服务 发现引擎得到。

为第一个任务选择服务时,分别计算第一个任务所有候选Web服务的QoS有效值, 基于单个服务的QoS有效值选择最优的服务。为后继任务选择服务时,将当前服务和 直接后继任务的候选服务分别组合成各服务对,分别计算各服务对的QoS有效值,基 于服务对的QoS有效值为下一个任务选择最优的服务。服务对的本质是两个服务的组 合,一个服务对的QoS向量描述为Qsp={q′1(sp),...,q′r(sp)},q′k(sp)表示服务对sp的 第k个QoS指标属性值,1≤k≤r;r为QoS指标向量中属性值的个数。服务对的各 QoS指标属性值分别由单个服务的属性值聚合而成。设QoS共有四个属性,第1个属 性为价格,第2个属性为时间,第3个属性为可用性,第4个属性为信誉度。服务对 的各属性值聚合函数分别为:q1(sp)=j=1j=2q1(sj),q2(sp)=j=1j=2q2(sj),q3(sp)=Πj=1j=2q3(sj),q4(sp)=1/2j=1j=2q4(sj).

比较QoS时需要将多属性的QoS指标进行归一化过程,即计算QoS指标有效值。 QoS指标各属性的功能不相同,在进行服务选择时,既不能将多个QoS指标属性直接 综合比较,也不能将不同的指标属性分别进行比较。为了对候选服务的QoS指标进行 排序比较,需要将多个QoS指标属性值映射成一个数值,即归一化过程。本发明采用 多属性决策方法进行归一化过程,例如简单加权技术(Simple Additive Weighting,SAW) 技术。在SAW技术中,首先把不同QoS指标属性化成相同粒度,其次给QoS指标中 的每一个属性赋不同的权值。假设给定组合任务中的一个任务Ti和其对应的候选Web 服务集合Si。设服务的四个属性均为负比值,值越大表示质量越差,那么候选服务s的 QoS有效值计算公式为:

U(s)=Σk=1rQmax(i,k)-qk(s)Qmax(i,k)-Qmin(i,k)·wk,

其中,Qmin(i,k)是指候选集合Si中各候选Web服务QoS指标k属性的最小值, Qmax(i,k)是指候选集合Si中各候选Web服务QoS指标k属性的最大值,wk表示QoS 指标k属性的权值,wk∈[0,1]且QoS指标k属性的权值wk可在最初Web 服务组合请求阶段,根据用户对不同QoS指标属性的偏重程度给定。用户对某一个QoS 指标属性越偏重,则该QoS指标属性的权值越大。权值大的QoS指标属性对服务选择 的影响就大。如果用户对各QoS指标属性没有偏重,则每个QoS指标属性的权值一样, 取值为1/r,r表示QoS指标向量中属性的总个数。Web服务的QoS有效值为正值,有 效值越大表示该服务质量越好。

步骤4~步骤7中,根据当前正在执行的任务Ti对应的Web服务,为任务Ti的直 接后继任务Ti+1选择QoS指标有效值最高的Web服务执行,直到Web服务组合完成。

为直接后继任务选择服务时,将当前Web服务和下一个任务的各候选Web服务分 别组合成各Web服务对;

一个Web服务对的QoS向量描述为Qsp={q′1(sp),...,q′r(sp)},q′k(sp)表示Web 服务对sp的第k个QoS指标属性值,1≤k≤r;r为QoS指标向量中属性值的个数; Web服务对的各QoS指标属性值分别由单个Web服务的QoS指标属性值聚合而成。

分别计算各Web服务对的QoS有效值,基于Web服务对的QoS有效值为下一个 任务选择最优的Web服务;Web服务对QoS有效值的计算方法和以上单个服务的有效 值计算方法类似。假设给定组合任务中的一个任务Ti和其对应的候选服务对集合SPi, 其中候选Web服务对sp的QoS有效值计算公式为:

U(sp)=Σk=1rQmax(i,k)-qk(sp)Qmax(i,k)-Qmin(i,k)·wk,

其中,Q′max(i,k)和Q′min(i,k)分别指候选集合SPi中各候选服务对QoS指标k 属性的最小值和最大值,wk表示k属性的权值,wk是根据用户对不同QoS指标属性的 偏重程度给定的,wk∈[0,1]且

本发明把服务组合的选择过程和执行过程改成并发关系,形成按照任务规划顺序 边选择边执行的动态服务组合方法。本发明既不是独立的为每个任务选择最佳服务, 也不是以所有任务为一个整体选择最佳服务组合,而是按照特有选择方法依次为各任 务选择最佳服务。因此,本发明提出的基于QoS指标的动态服务组合方法不仅保证服 务质量,而且具有更强的实时性和及时响应变化的能力。本发明可以广泛应用于为任 务组合选择最合适的Web服务,支持候选Web服务的动态组合。

附图说明

图1本发明的流程图。

图2为本发明应用的实施例图。

具体实施方式:

如图1所示,本发明公开了一种基于QoS的动态服务组合方法,用于应对Internet 不稳定环境下的实时服务组合。

本发明一种基于QoS指标的动态Web服务组合方法,包括以下步骤:

步骤1:现给定一组请求Web服务组合的任务,通过服务提供商的Web服务发现 引擎获取各个任务的候选Web服务及候选Web服务的QoS指标;

步骤2:计算第一个任务各候选Web服务的QoS指标有效值;

步骤3:调用并执行具有最高QoS指标有效值的Web服务作为第一个任务的最优 服务;

步骤4:将现在正在执行的Web服务与直接后继任务的满足条件的候选Web服务 依次逐个进行组合,得到Web服务对集合;

步骤5:计算Web服务对集合中每个Web服务对的QoS指标有效值;

步骤6:根据各Web服务对的QoS指标有效值为直接后继任务选择最佳Web服务;

步骤7:执行已选Web服务的同时,判断是否还有后继任务,如果有跳转至步骤4, 如果没有输出已选服务作为最佳Web服务组合。

步骤1中,当给定一组请求Web服务组合的任务时,Web服务发现引擎根据任务 和服务的描述,为每个任务定位功能一致、可用的候选Web服务集;

一组请求Web服务组合的任务通过将复杂的用户需求R分解后得到,描述为任务 集<T1,…,Tn>,Ti表示任意一个任务,1≤i≤n,n表示任务的总数,Web服务发现引擎 搜索每个任务对应的一组候选Web服务,从而得到n个候选Web服务集。

Web服务选择的依据是QoS指标;Web服务s的QoS指标表示为向量 Qs={q1(s),...,qr(s)},qk(s)表示Web服务s的第k个QoS指标属性值,1≤k≤r,r表 示QoS指标向量中属性的总个数。

以单个任务为选择粒度、按照任务集<T1,…,Tn>中的任务顺序,针对每个任务所对 应的候选Web服务集,选择并执行具有最佳QoS指标的Web服务。

步骤2中,为第一个任务选择Web服务时,分别计算第一个任务所对应的候选 Web服务的QoS指标有效值,基于候选Web服务的QoS指标有效值选择最优的服务。

采用多属性决策方法计算单个Web服务的QoS指标有效值,包括如下步骤:

首先把不同QoS指标属性值转化成相同粒度,其次给QoS指标属性值中的每一个 属性设定不同的权值;

假设一个组合任务中的一个任务Ti和其对应的候选Web服务集Si,其中候选Web 服务s的QoS指标有效值U(s)计算公式为:

U(s)=Σk=1rQmax(i,k)-qk(s)Qmax(i,k)-Qmin(i,k)·wk,

其中,Qmin(i,k)是指候选Web服务集Si中各候选服务的QoS指标属性的最小值, Qmax(i,k)是指候选Web服务集Si中各候选服务的QoS指标属性的最大值,wk表示 QoS指标属性k的权值,wk∈[0,1]且

步骤4~步骤7中,根据当前正在执行的任务Ti对应的Web服务,为任务Tx的直 接后继任务Ti+1选择QoS指标有效值最高的Web服务执行,直到Web服务组合完成。

为直接后继任务选择服务时,将当前Web服务和下一个任务的各候选Web服务分 别组合成各Web服务对;

一个Web服务对的QoS向量描述为Qsp={q′1(sp),...,q′r(sp)},q′k(sp)表示Web 服务对sp的第k个QoS指标属性值,1≤k≤r;r为QoS指标向量中属性值的个数; Web服务对的各QoS指标属性值分别由单个Web服务的QoS指标属性值聚合而成。

分别计算各Web服务对的QoS有效值,基于Web服务对的QoS有效值为下一个 任务选择最优的Web服务;Web服务对的QoS指标有效值的计算方法为:

假设任务组合中的一个任务Ti和其对应的一组候选web服务对SPi,其中候选Web 服务对sp的QoS指标有效值U(sp)计算公式为:

U(sp)=Σk=1rQmax(i,k)-qk(sp)Qmax(i,k)-Qmin(i,k)·wk,

其中,Q′max(i,k)和Q′min(i,k)分别指候选Web服务对集合SPi中各候选服务对 的QoS指标属性k的最小值和最大值,wk表示QoS指标属性k的权值,wk∈[0,1]且 k=1rwk=1.

实施例

图2为本发明应用实施例图,下面说明如何使用该方法来为图2所示的服务组合 选择最优的组合方案。

现给定一组请求Web服务组合的任务(T1,T2,T3),T1表示对一个文件进行数字签 名,T2表示对一个文件进行加密,T3表示对一个文件进行压缩。服务提供商的服务发 现引擎可以为每一个给定的任务Ti(1≤i≤3)寻找一组功能符合的候选服务集合 Si={s1i,s2i,...,sni},每个候选服务的QoS指标属性个数为r,可以设r=4, Qs={q1(s),q2(s),q3(s),q4(s)},qk(s)表示服务s的第k个属性值,1≤k≤4。其中,4个 属性依次表示执行价格、执行时间、可用性和声誉度。用动态服务组合方法为规划任 务选择最合适服务的过程如下。

首先为任务T1选择最优Web服务。计算候选服务集S1中各侯选Web服务的QoS 有效值,并根据QoS有效值进行排序,取QoS有效值最高的服务为任务T1的最佳Web 服务。候选Web服务QoS有效值的计算公式为:

U(s)=Σk=1rQmax(i,k)-qk(s)Qmax(i,k)-Qmin(i,k)·wk,

现给定候选服务集S1中有3个候选Web服务,候选Web服务的服务质量分别为: Qs11={1.8,2,0.9,0.8},Qs21={1.6,1.9,0.87,0.88},Qs31={2.1,1.8,0.93,0.9}.设得到的可用性 和声誉度都为正比值(正比值指值越大,其表示的QoS指标属性越好),先把其转换为 负比值(负比值指值越大,其表示的QoS指标属性越差),转变后候选服务质量分别为: Qs11={1.8,2,0.1,0.2},Qs21={1.6,1.9,0.13,0.12},Qs31={2.1,1.8,0.07,0.1}.现在每个服务的 四个属性均为负比值,值越大表示质量越差,利用QoS有效值的计算公式分别计算候 选服务集S1的候选服务,设w1=0.4,w2=0.4w3=0.1,w4=0.1,各候选服务的QoS有效值 为:

U(s11)=2.1-1.82.1-1.6×0.4+2-22-1.8×0.4+0.13-0.10.13-0.07×0.1+0.2-0.20.2-0.1×0.1=0.29,

U(s21)=2.1-1.62.1-1.6×0.4+2-1.92-1.8×0.4+0.13-0.130.13-0.07×0.1+0.2-0.120.2-0.1×0.1=0.68,

U(s31)=2.1-2.12.1-1.6×0.4+2-1.82-1.8×0.4+0.13-0.070.13-0.07×0.1+0.2-0.10.2-0.1×0.1=0.6,

将各候选Web服务的QoS有效值进行排序,选择具有最大QoS有效值的Web服 务s21作为任务T1的最佳服务并立即执行。执行成功后加入服务组合CS,CS={s21}。

在执行s21的过程中,依据s21为T2选择当前最合适的Web服务。首先将s21和T2的各候选服务组成服务对,然后计算各服务对的QoS有效值,最后根据有效值选取最 合适的服务。通过服务发现,得到T2候选服务集S2中有4个候选服务,候选服务的服 务质量分别为:Qs12={2.6,1.5,0.8,0.9},Qs22={2.8,1.4,0.85,0.92},Qs32={2.3,1.7,0.9,0.8},依次取S2中的候选服务和s21组成服务对,服务对的各属性值 聚合函数分别为:q1(sp)=j=1j=2q1(sj),q2(sp)=j=1j=2q2(sj),q3(sp)=Πj=1j=2q3(sj),根据各属性的聚合函数计算各服务对的QoS指标,对应的服 务对QoS指标分别为:QSP12={4.2,3.4,0.7,0.89},QSP22={4.4,3.3,0.74,0.9},QSP32={3.9,3.6,0.78,0.84},QSP42={3.6,3.8,0.65,0.87}.把声誉度和可用性转换为负值,转变后候选 服务质量分别为:QSP12={4.2,3.4,0.3,0.11},QSP22={4.4,3.3,0.26,0.1},QSP32={3.9,3.6,0.22,0.16},QSP42={3.6,3.8,0.35,0.13}.根据服务对QoS有效值公式计算各服务对的QoS。 服务对QoS有效值公式:

U(sp)=Σk=1rQmax(i,k)-qk(sp)Qmax(i,k)-Qmin(i,k)·wk

计算方法和S1的候选服务有效值计算方法类似,各服务对的有效值为: U(sp12)=0.54,U(sp22)=0.57,U(sp32)=0.51,U(sp42)=0.45。

根据QoS指标进行排序后,sp22具有最高QoS有效值,取其对应的候选Web服务 s22作为任务T2的选定服务,执行成功后加入服务组合CS,CS={s21,s22}。

在执行T2的选定服务s22的过程中,依据s22为T3选择当前最合适的服务,该过程 和为T2选择最佳Web服务类似。设T3候选服务集S3中有3个候选服务,通过计算选 择s13为最佳服务。最终当服务组合CS={s21,s22,s13}形成的同时,各服务也被调用成 功。在执行过程中,如果服务出错,则选取剩下的候选服务中QoS有效值最大的Web 服务作为选定服务,执行该服务的同时,为下一个任务选择最佳Web服务即可。所以 服务出错对于整个执行过程的影响范围有限,仅限于当前执行任务和下一个任务的选 取。以上通过一个例子描述了动态Web服务组合方法的实施过程,动态Web服务选择 方法在执行的过程中,按各任务的逻辑顺序为每一个任务进行服务选择,最终动态的 形成Web服务组合。动态Web服务组合方法提供一种服务组合和服务执行并发进行的 方式。该方法在任务执行前才依据当前环境为其选择最佳服务,所以其不仅保证了服 务质量,而且具有的实时性和及时响应变化的能力。动态Web服务组合方法为用户提 供当前环境下具有最优执行效果的Web服务组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号