基于QoS的Web服务选择算法综述.docx

上传人:b****8 文档编号:11409106 上传时间:2023-02-28 格式:DOCX 页数:22 大小:37.70KB
下载 相关 举报
基于QoS的Web服务选择算法综述.docx_第1页
第1页 / 共22页
基于QoS的Web服务选择算法综述.docx_第2页
第2页 / 共22页
基于QoS的Web服务选择算法综述.docx_第3页
第3页 / 共22页
基于QoS的Web服务选择算法综述.docx_第4页
第4页 / 共22页
基于QoS的Web服务选择算法综述.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于QoS的Web服务选择算法综述.docx

《基于QoS的Web服务选择算法综述.docx》由会员分享,可在线阅读,更多相关《基于QoS的Web服务选择算法综述.docx(22页珍藏版)》请在冰豆网上搜索。

基于QoS的Web服务选择算法综述.docx

基于QoS的Web服务选择算法综述

收稿日期:

2010-04-13;修回日期:

2010-06-04

基金项目:

江西省自然科学基金资助项目(2009GQS0062

作者简介:

李金忠(1977-,男,江西吉安人,讲师,硕士,主要研究方向为服务计算、智能算法、网格计算等;夏洁武(1969-,女(通信作者,江西泰和人,教授,硕士,主要研究方向为计算机应用技术(xiajiewu@jgsu.edu.cn;唐卫东(1974-,男,江西吉安人,副教授,博士,主要研究方向为虚拟现实、智能控制;曾劲涛(1978-,男,江西南丰人,讲师,硕士,主要研究方向为服务计算、网格工作流、软件测试;王翔(1979-,男,江西吉安人,讲师,硕士,主要研究方向为计算机应用;吴兰英(1980-,女,江西永丰人,讲师,硕士,主要研究方向为智能优化.

基于QoS的Web服务选择算法综述

*

李金忠a,夏洁武a—

|,唐卫东a,曾劲涛a

翔b,吴兰英

a(井冈山大学a.电子与信息工程学院;b.工学院,江西吉安343009

要:

服务选择算法是影响组合服务的QoS和服务组合性能高低的关键因素。

针对近几年来基于QoS的

Web服务选择算法的发展状况进行了综述,介绍和总结了当前基于QoS的Web服务选择问题模型,对服务选择策略进行了分类,并对当前的一些典型的基于QoS的Web服务选择算法进行了系统的分析和评论。

最后指出了现有算法中的不足之处,展望了该领域的进一步研究方向。

关键词:

Web服务;服务选择算法;服务质量中图分类号:

TP393

文献标志码:

A

文章编号:

1001-3695(201010-3622-06

doi:

10.3969/j.issn.1001-3695.2010.10.005

SurveyonWebservicesselectionalgorithmsbasedonQoS

LIJin-zhonga,XIAJie-wua-

|,TANGWei-donga,ZENGJin-taoa,WANGXiangb,WULan-yinga

(a.SchoolofElectronic&InformationEngineering,b.SchoolofEngineering,JinggangshanUniversity,Ji’anJiangxi343009,China

Abstract:

ThealgorithmofservicesselectionisakeyfactorwhichcanaffecttheQoSofcompositeserviceandtheperform-anceofservicescomposition.ThispaperreviewedWebservicesselectionalgorithmsbasedonQoSinthisfieldintherecent

years.Firstly,

introducedandsummarizedtheproblemandmodelofWebservicesselection,andassortedthestrategiesofser-vicesselection.ThensystematicallyanalyzedanddiscussedanumberofclassicandpopularalgorithmsofWebservicesselec-tionbasedonQoS.Lastly,pointedoutseveraldrawbacksofexistingalgorithmsandproposedsomeresearchdirectionsofthisfieldforthefuture.

Keywords:

Webservices;servicesselectionalgorithm;qualityofservice(QoS

随着Web服务技术的迅猛发展和广泛应用,网络上出现了大量具有不同QoS参数(如执行时间、服务费用、可用性、可靠性、安全性、声誉等的候选服务,这些候选服务具有相同功能属性和不同非功能属性。

如何高效动态地把现存的各种Web服务聚合起来以形成新的满足不同用户需求的增值的复杂服务,

已成为新的应用需求和研究热点[1,2]

基于QoS的

Web服务选择问题是服务组合中的一个关键问题。

服务选择的结果不仅直接关系到服务能否成功组合,而且对组合服务的质量有着至关重要的影响

[1]

1基于QoS的Web服务选择问题模型

基于QoS的Web服务选择问题是指如何从服务组合各抽

象服务的候选服务集中分别选出一个具体服务,使得选中的这组服务能在满足用户对组合服务的所有约束的前提下,使组合服务的整体QoS最高。

目前,国内外很多学者已经从不同的角度将该问题转换为某种已知的数学问题,在此基础上构造模型以设计相应的选择算法。

所转换的问题归纳如下:

a整数、线性规划问题

[35]

整数规划问题的可行解区域

为离散点,

传统方法通常采用分支定界法或分解算法等进行求解,但这些求解算法是一种确定性算法,只能获得一个惟一最

优解,

对小规模服务组合求解效果较佳,而当服务组合的规模较大时,其计算量相当可观,计算时间将极大地增加,甚至无法求解问题,必须寻找更为有效的求解方法。

线性规划法要求目标函数和约束条件是线性的,必须将非线性的QoS属性和约束条件的计算公式进行转换,这在一定程度上限制了算法的实用性。

将Web服务选择问题转换为整数规划或线性规划问题只是为解决该问题找到了一个可计算的数学模型,但其计算复杂度依然很高,

不能满足实时的性能要求。

b多选择背包问题[69]。

其求解的本质就是在满足一些QoS约束的前提下,从候选服务集中发现一个能够使总的适应函数值最大的组合服务。

多选择背包涉及的约束条件种类较多,在各种变形中最为复杂。

由于求解复杂度与问题涉及变量数量呈指数关系,人们已发现传统确定性寻优算法(如分支定界法难以求解规模较大的背包问题,必须找寻一些智能优化算法求解。

c多属性决策问题[1012]。

由于组合服务中服务QoS的复杂性和不确定性以及用户对QoS属性的模糊性,一方面用户难以确切地给出QoS属性的权重信息,

也难以用确切的数值来表达;另一方面由于各不同QoS属性之间的差异,其值难以规范到统一的度量空间而准确地评估出服务的综合QoS值。

而服务选择的主要依据是服务的多维QoS参数的质量,

第27卷第10期2010年10月计算机应用研究

ApplicationResearchofComputersVol.27No.10Oct.2010

为此需采用多属性决策方法,探索新的可行的量化尺度来规范不同QoS属性值以对服务质量进行客观、准确的评估。

d带QoS约束的单目标组合优化问题[1,5,10,1317]。

是假设多个QoS属性的权值已知的情况下实现的。

然而在很多现实问题中很难通过简单的线性加权求和将多个QoS目标聚合转换为单目标,难以真正做到同时优化多个QoS参数目标,且产生的优化结果为满足约束条件的目标最优单解,用户没有选择的余地。

e带QoS约束的多目标组合优化问题[2,1822]。

无须设置各QoS参数的权值,不需要用户拥有过多的领域知识,对每个QoS参数分别设置相应的目标函数。

多个目标函数被同时优化并产生一组约束条件的Pareto优化解,用户可依其偏好选择最满意的解。

具有一定的“柔性”,能更好地满足用户的偏好和个性化需求,能更贴切地适应实际的Web服务选择场景。

基于QoS的Web服务选择所构造的模型主要有有向无环图(DAG[3,2325]和包含顺序、选择、循环、并行等控制结构的工作流[3,1417,26,27]等。

对于DAG模型所表达组合服务的结构清晰但较单调,如不能表达含有循环、选择等结构,适应于结构简单的应用场景;而工作流模型含有丰富的结构集,能表达具有选择、循环等复杂结构的组合服务实例。

2基于QoS的Web服务选择策略

Web服务选取的目标是根据用户对服务质量的要求选取出一组服务,使得最终的组合服务具有良好的用户满意度和服务质量[28]。

依据服务组合中所采取的服务选择策略的不同,可将现有的Web服务选择策略分为三种,即局部最优策略、全局最优策略及混合策略。

2.1局部最优策略

局部最优策略的基本思想是:

分别考查各个抽象服务的候选服务集,对候选服务的各个QoS参数信息进行加权和排序,并以此为依据分别从每组功能等价的候选服务中为服务组合中的每一个抽象服务选择一个满足局部约束条件限制且加权和最大的服务来构建组合服务。

其核心是针对组合服务中的每个抽象服务,对能够完成该服务的所有候选Web服务进行选取,找到能够实现单个抽象服务的质量最优的服务。

文献[10]提出了一个基于多维服务质量的局部最优服务选择模型,有效地缩小全局最优服务选择的求解空间。

文献[26]提出面向分布式环境的迭代选择算法聚合局部最优服务以适应网络环境变化。

由于该算法按照组合服务逻辑执行顺序迭代的选择服务,该算法可在组合服务执行之前或者组合服务运行时执行,无须作任何更改。

文献[29]提出基于动态偏好的服务选择算法,针对每次服务配置的最大请求效用来确定权重,并结合声明式逻辑匹配来克服随机选择服务的不足。

局部最优策略由于没有考虑全局QoS约束,也没有考虑组合服务中各个抽象服务之间的关系,各个抽象服务选择具体服务是相互独立的,虽所选的单个服务能满足用户需求,但依此策略生成的组合服务并不一定是全局最优的,也不一定满足用户对服务组合的全局QoS约束。

它保证了在单个抽象服务上的最优,但不一定能保证全局最优。

局部最优策略的优点是通用、灵活;缺点是最终解是局部最优解,没有考虑全局约束,其质量很大程度上依赖于初始解的选择。

2.2全局最优策略

全局最优策略的选取方法将着眼点从单个抽象服务转移到了整个组合服务,从而使得选取出的服务更接近用户对组合服务质量的要求[28]。

它旨在使得组合服务整体的QoS满足给定的约束或达到预定的优化目标,因此具体服务的选择需要综合考虑各个具体服务的聚合效果。

文献[2]给出了一种解决服务聚合中服务动态选择QoS全局最优化问题的实现算法。

将服务动态选择全局最优化问题转换为带QoS约束的多目标服务组合优化问题,利用多目标遗传算法的智能优化原理,通过同时优化多个目标函数,最终产生一组满足约束条件的优化服务聚合流程集。

文献[5,27]定义五维的服务质量模型,基于整数规划论提出满足全局最优的服务选择算法。

文献[8]在综合考虑系统负载和代价的基础上定义效用函数,并采用动态规划和Pisinger算法来选择服务使得服务聚合的端对端响应时间的效用最大化。

文献[11]提出了一种基于不确定多属性决策理论的全局优化决策算法以解决混合QoS模型感知的语义Web服务组合问题。

文献[12]提出了一种基于模糊多属性决策理论的语义Web服务组合的全局优化选择算法来综合评估候选执行计划的异构QoS,以供客户选择出全局最优的组合方案。

全局最优策略考虑了全局QoS约束,所获得的解是满足QoS约束的全局最优解,但计算复杂,尤其在动态Web环境和实时需求场景下,需寻求高效率、高性能的Web服务选择算法支持。

2.3混合策略

局部优化策略计算量通常少于全局优化策略,但是无法考虑全局QoS约束,往往不能得到满足用户QoS需求的选择结果;而全局优化策略可以考虑全局QoS约束,但是计算量较大,组合规模增大时,全局优化策略的计算量也随之增大。

因此这两种策略都存在一定的优势和局限性,很多服务选择算法不能很好地兼顾局部与全局两方面的QoS要求。

混合策略融合局部与全局策略的优点,如先采用局部最优策略对每个抽象服务过滤其候选服务,再由全局最优策略从未筛选掉的候选服务集中进行服务选择。

文献[10]先采用局部优先选择算法对候选服务效用排序,然后采用全局优先服务选择算法快速构造服务聚合链,提高了构造服务聚合链的效率以适应网络环境的不确定性。

文献[30]提出了一种基于QoS的两阶段Web服务选择方法,先对功能相同的Web服务进行QoS排序和单个Web的选择,筛选掉大量Web服务以降低全局算法的计算量;再采用Dijkstra算法进行最短路径的Web服务选择以选择出最优的Web服务,克服了局部优化无法考虑全局QoS约束的缺陷。

文献[31]提出了一种融合全局优化和局部选择技术的混合方法以充分利用两者的优势。

该方法首先使用混合整数规划(MIP找出将全局约束融入局部约束的最优分解方式,然后使用分布式局部选择找出满足局部约束的最佳Web服务。

文献[32]提出了一种启发式算法来优化组合服务选择,以满足用户的QoS期望。

该优化是在全局和局部两层约束下进行的,每一层提出一个数学模型及其相应的使用“凸包前沿”方法和多属性决策

·

3263

·

第10期李金忠,等:

基于QoS的Web服务选择算法综述

技术的启发式算法来解决Web服务选择问题。

局部搜索技术可以确保满足基于组件服务层的QoS需求,

但处理全局QoS约束时失效。

另一方面,全局优化技术可以处理全局QoS约束,但性能不佳难以适用于具有动态和实时需求的应用

[33]

采用混合策略,通常利用局部最优策略来

缩小服务聚合的求解空间,利用全局最优策略来把握整体QoS,它所产生的解是满足局部约束和全局约束的全局QoS最优的解,但采用该策略所设计的服务选择算法思路复杂,设计时较有难度。

3基于QoS的Web服务选择算法

基于QoS的Web服务选择问题是一个组合优化问题,属

于NP难问题,传统典型的基于QoS的Web服务选择算法主要采用穷举算法和贪婪算法。

由于求最优解的穷举算法复杂度太高和求局部最优解的贪婪算法所获得的解不一定是全局最优解,必须寻求有效的近似解法以求近优解。

当前较流行的基于QoS的Web服务选择算法主要是采用启发式算法设计的选择算法,如遗传算法(geneticalgorithm,GA、粒子群优化(par-ticleswarmoptimization,PSO算法、蚁群优化(antcolonyoptimi-zation,ACO算法及一些融合算法等。

3.1

穷举算法

穷举算法的思想是将所有的服务组合方案一一列举,比较它们的QoS等非功能属性值并从中找出一个满足用户需求的最优组合服务。

采用穷举算法的组合优化方法的优点是简单、直观易懂,具有准确性和全面性,能够得出所有的解,但其缺点是计算量较大,可扩展性差等。

假设一个服务组合方案包含n个抽象服务,而每个抽象服

务有m个候选服务,

则总的候选执行方案有mn

个,即该算法的时间复杂度为O(mn

因此可以看出,随着服务组合长度

以及单个抽象服务的候选服务数的增加,候选执行路径的个数呈指数级爆炸性增长。

该算法以时间和内存为代价来换取所有解,所以只适应对组合服务QoS要求较高的小规模服务选择场景,当应用于对QoS要求不高的大规模的服务组合时却无能为力,不能够很好地满足服务选择中的复杂要求。

3.2

贪婪算法

贪婪算法的思想是逐步给出解的各个部分,对每一抽象服务贪婪地选择其所对应的候选服务集中QoS最好的Web服务,但不顾及这样选择对组合服务整体QoS的影响。

其前提是:

以逐步的局部最优达到最终的全局最优。

但对于服务组合问题,

局部最优却不一定能产生全局最优,一般得到的并不是最好的解,所以该算法的适应场景有限。

贪婪算法直观、算法的时间复杂度为O(mn,远低于穷举算法。

文献[34]指出贪心算法仅仅作局部搜索,在执行时间上是高效的,但该算法的一个主要缺点是它不能将服务执行计划作为一个整体来优化,且仅能确保单个服务能满足用户的约束条件,而不能保证整个执行计划都满足这些约束条件。

文献[

35]提出贪婪选择算法,选择具有最佳密度值的服务,该密度值代表了该服务的所有QoS参数的总体质量,但该算法仍然难以满足组合服务的全局约束。

3.3

遗传算法

GA将问题的求解过程表示为染色体的优胜劣汰的过程,通过种群的迭代进化,包括选择、交叉、变异等操作对种群进行组合产生下一代个体,

逐步向优化的种群进化,最终求得最适应环境的染色体,也就是问题的最优解或者近似最优解。

GA本质上是一个通过群体的迭代来不断优化的过程。

采用该算法解决基于QoS的Web服务选择问题,主要是要依据服务组合的具体情况确定染色体的表示方式、适应度函数的计算以及交叉和变异操作等。

每个染色体表示为一个可能来自不同抽象服务所选的具体服务的组合方案,由若干基因位组成。

每个基因位对应服务组合中的一个抽象服务,第i个基因位的值是第i个抽象服务所选具体服务在其对应的候选服务集中的编号。

适应度函数的确定根据各个具体服务的QoS进行计算。

交叉操作是对两个染色体(即两种不同的组合方案采用某种交叉方法交换这两个染色体中某些基因位的值,从而产生两个新的染色体。

而变异操作是对染色体中基因的某一位以一定概率随机变化,即用另一个可利用的具体服务替代对应的具体服务。

文献[2]给出了一种解决服务聚合中服务动态选择QoS全局最优化问题的实现算法。

将服务动态选择全局最优化问题转换为一个带QoS约束的多目标服务组合优化问题,利用多目标遗传算法的智能优化原理,通过同时优化多个目标函数,最终产生一组满足约束条件的优化服务聚合流程集。

文献[4]提出了一种快速稳定的基于遗传算法的多QoS约束服务选择算法,该算法具有运算速度较快、可满足实时性要求且在问题规模扩大时具有良好的可扩展性等特点。

文献[19]提出了一种面向Pareto最优遗传算法的服务组合方法,

采用伪二叉树法则构造满足约束条件的Pareto最优解集合,并通过对最优解集排序以及个体相似度的计算来获得遗传算法的适应度函数,最终产生一组满足约束条件的Pareto最优解服务集合。

文献[

22]使用带精英策略的快速非支配排序遗传算法NSGA-Ⅱ设计Web服务选择方法,可找出一个Pareto优化解集,以供用户选择其最感兴趣的均衡解。

文献[14]提出了基于遗传算法的动态的QoS感知Web服务选择方法。

文献[36]提出了一种基于二叉树编码的遗传算法,用来解决SOA服务组合中服务选择问题。

文献[37]采用关系矩阵编码方式,设计了一种用于QoS感知的Web服务选择的遗传算法。

文献[38]提出了一种基于位置矩阵QoS感知的Web服务组合方法。

该方法使用遗传算法用位置矩阵对基因进行编码,

使得该编码方式可以表示服务组合的所有组合路径和重计划信息,

算法的一次执行就能完成所有路径QoS最优的全局搜索和动态重计划功能。

文献[

39]提出了一种在Web服务组合中基于QoS的改进型遗传算法。

该算法通过计算个体间服务质量的海明距离来实现多样性保持,通过指定服务组合的总时间限制和优良解保留策略来处理算法本身的执行时间对服务组合质量的影响。

文献[40]研究了一种基于树型二重结构编码的遗传算法用于Web服务选择。

该方法分别采用树型结构携带语法业务流程信息和二重结构编码的方式处理用户QoS约束条件,不仅能够有效地选择出较好满足用户各种约束条件的组合服务,而且把Web服务语法业务流程与Web服务功能业务流程相结合,扩

·

4263·计算机应用研究

第27卷

大组合服务运行时再规划空间,为组合服务QoS异常处理提供了保障。

文献[16]首先提出了一种树型结构的组合服务QoS计算模型,然后提出了一种基于量子遗传算法的服务选择方法,采用二维多量子比特编码染色体,并附加标志位表示多路径信息,用量子旋转门实现个体的进化。

相对于传统遗传算法,基于量子遗传算法的服务选择方法能在更短的时间内搜索到更好的解。

运用基本的GA来设计Web服务选择算法,其优点是使用简单、通用性强、易于实现,并具有并行性和全局搜索能力;缺点是易出现早熟收敛、运行结果不稳定和收敛性差的现象。

这些缺点严重影响了算法在服务组合问题上的应用,需采用一定的改进策略提高算法的收敛速度与稳定性。

3.4粒子群优化算法

PSO是模仿鸟类的觅食行为受到生物群体模型启发而设计的一种新的智能优化算法。

该算法采用群体探索问题的解空间,首先初始化一群随机粒子,然后通过迭代方式使每个粒子向自身找到的最好位置和群体中的最佳粒子靠近,从而搜寻最优解。

在每次迭代中计算每个粒子新位置的适应值,根据粒子适应值更新个体极值和全局极值,通过粒子的运动方程来更新自己的速度和位置。

采用PSO算法解决基于QoS的Web服务选择问题,关键是要建立粒子位置矢量与组合方案间的映射关系,解决粒子位置的表示、速度算式的确定以及适应值函数的评估等问题。

每个粒子代表一个候选解,即一种组合方案,由若干个(假设有n个具体服务以一定顺序组成。

用n维来表示每个粒子的位置Xi={xi1,xi2,…,xin}。

其中xij表示第i个抽象服务选择了它所对应的候选服务集中第j个具体服务的编号。

每个粒子代表的组合服务的QoS属性值就是该粒子的适应度,其适应值函数依组合服务的具体实例而定。

速度和位置的更新公式取决于服务选择所采用的编码方式,即粒子位置的表示方式。

文献[1]设计了一种基于离散微粒群算法的动态Web服务选择算法,将微粒的速度定义为服务的替换操作,并提出了max、rank和seq这三种速度运算算子,定义了微粒无希望/重希望准则,将约束条件转换为算法中的ω参数,从而增强了算法的全局搜索能力,同时也加快了收敛速度。

所提算法不依赖于候选服务的数量,保证了算法的鲁棒性。

但该文通过加权法将多个QoS参数聚合在一个适应值函数中进行优化,难以体现用户对QoS的偏好和个性化需求,从某种实际意义上并没有真正解决多QoS参数的Web服务选择问题。

文献[18]基于多目标粒子群优化算法设计了求解QoS全局最优服务选择问题的算法;通过同时优化组合路径的多个QoS参数,最终产生一组满足约束条件的Pareto最优解,用户可以根据特定需要从中选择最满意解;未被选中的非劣解可以作为备选方案,在所选非劣解发生意外时启用。

文献[21]提出了一种基于PSO的多目标优化策略,用于解决Web服务组合中基于QoS的服务选择全局最优化问题。

文献[41]将粒子的位置、速度和加运算进行了重新定义,提出了一种基于粒子群算法的解决QoS动态服务组合算法,该算法能快速地得到一组满足约束条件的Pareto优化的服务组合。

文献[17]提出了一种基于离散二进制粒子群算法的Web服务推荐策略以解决Web服务的优化选择。

运用PSO来设计Web服务选择算法,具有并行计算、群体寻优的特点,其优点是算法简单易实现、控制参数少,并且具有记忆功能和强大的全局寻优能力,但进化后期收敛慢、局部搜索能力差、搜索精度不够高,容易陷入局部极值和参数依赖性强等缺陷。

3.5蚁群优化算法

ACO是一种新兴的模拟进化算法,它通过模拟蚁群在觅食过程中个体之间的信息交流与相互协作机制所体现出的寻优能力来解决现实中一些困难的优化问题。

ACO通过一种正反馈方式最终找到一条最优路径:

蚂蚁在觅食期间会在所经过的路径上留下不同浓度的信息素,信息素会随着时间的流逝而挥发。

某一条路径走过的蚂蚁越多,留下的信息素浓度越高,使得在一定的时间内,越短的路径会被越多的蚂蚁访问,后来的蚂蚁就会以较大的几率选择信息素较浓的路径以指导自己的运动方向。

采用ACO解决基于QoS的Web服务选择问题,关键是要解决如何根据组合服务中各QoS参数来确定状态转移规则、信息素的更新方式和解的适应函数评估等问题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1