第34卷 第5期 计算机工程 2008年3月 Vo1.34 No.5 Computer Engineering March 2008 ・网络与通信・ 文章缩号t 10011--3428(2008)05--0104--03— __ ■——— i 丽 基于粒子群算法的Web服务组合研究 刘莉平1,2 9陈志刚1,2 9刘爱心 (1.中南大学软件学院,长沙410083;2.中南大学信息科学与工程学院,长沙410083) 摘要:针对现有服务组合中QoS优化的不足,该文提出一种基于粒子群算法的解决QoS动态服务组合算法。通过对服务组合的业务逻 辑与服务实例进行合理编码,重新定义粒子的位置、速度与“加”运算,利用粒子群算法的智能优化原理以及局部与全局优化信息加快粒 子群的搜索速度,使其能够快速地得到一组满足约束条件的pareto优化的服务组合。实验结果证明了算法的可行性和有效性。 关蝴:Web服务组合;服务选取;粒子群算法;Pareto优化 Research 0n Web Services Composition Based 0n Particle Swarm Optimization LIU Li.ping ,CHEN Zhi・gang ,一,LIU Ai.xin2 (1.School of Software,Central South University,Changsha 410083; 2.School of Information Science and Engineering,Centrla South University,Changsha 410083) [Abstra ̄]This paper presents na improved lagorihtm based on particle swarm,which is tO resolve dynamic Web Services selection wiht QoS optimal in web Services composition.The essence of the algorithm is that the problem of dynamic web Service selection wiht QoS optimal is rtnasformed into a mulit—objective services composition optimization wiht QoS constraints.The hteory of intelligent optiimzation of particle swarm optiimzation lagorithm is utilized to produce a set of optimal Pareto services composition process with constraint principle by accelerating global and detail searc ̄ng speed based on deciding PSO state.Experimental results indicate hte feasibility nad efifciency of this algorithm. [Key wordsl web Sevrices composiiton;sevrices seleciton;paritcle swarm optiimzaiton;Pareto optimal 1概述 题。目前,服务动态组合的基本目标是针对不同的应用,从 近年来Web Services作为一种新技术广受关注。Web 候选服务集合中选择一组服务,使得其QoS达到Pareto最优。 Services中的接口定义语言WSDLo]和内容传输格式SOAP J 2服务组合基本模型 已经成为W3C的草案和建议标准。然而,在实际应用中,单 本文所采用的服务组合模型为通用的服务覆盖网 J,其 个Web服务通常无法满足复杂应用的需求。因此,如何集成 对应互联网的实际场景如图2所示。在互联网中每一个服务 单一服务形成功能更强大的服务组合从而满足不同用户的复 提供节点提供一个或多个服务,如图2的节点 提供 5和 杂应用已成为一个新的研究热点。服务组合广义上可以分为 7两个服务,这样形成服务覆盖网。 手工组合、半自动组合和自动组合 J。在Web环境中,服务 是经常变化的,手工组合的方式并不能满足实际的应用需求, 而完全智能化的自动组合方式是一个非常复杂的过程,因此, 很多关于服务组合的应用和研究工作都侧重于半自动方 式 】。半自动服务组合方式首先由业务人员根据特定的行业 背景,建立适合具体应用需求的通用服务组合业务模型,服 务组合业务模型由多个服务节点组成,各服务节点包含功能 需求描述,但不指定具体的服务调用实例,如图1所示。 圈2服务曩董阿络 服务覆盖网中的每个提供服务的节点具有不同的资源能 力,可作如下定义: %:Select s:Start E:End三:parallel 定义1系统中每个提供服务的节点 拥有的有效多维 圈1服务组合业务鳍构 资源为 =(, ,, “,rm ),VE{1"-提供服务的节点数),表 在Web环境中,满足相同功能需求而具有不同QoS参数 基金项目:国家自然科学基金资助项目(60573127) (如执行时间、费用、可靠性等)的Web服务实例存在多个, 作者倚介:刘莉平(1971--),女,博士研究生,主研方向:网格计算, 如何从中选择满足各服务节点功能需求的具体服务,形成一 面向服务计算;陈志刚,教授、博士;刘爱心,高级工程师 个可执行的服务链来完成用户的需求称为服务动态组合问 收稿日期:2007—03-10 E-mail:csuliu@163.com 一1O4一 维普资讯 http://www.cqvip.com
示节点 提供的资源维数为m维,第f维的资源为r ,如 CPU大小、内存、I/O等节点处理能力的资源量。 定义2一个Web服务可以用下面的表达式(1)来描述: WSi=( Oi,Resl,OoSi) (1) 子迄今为止搜索的最好位置记为Pf= P … d),整个粒子 迄今为止搜索到的最好位置记为Pg=f P P …,Pgd)。对于每 个粒子,其第d维(1≤d≤D)根据如下等式变化: 一其中,WSi是Web服务的名字; 是该服务的输入集合,0f r =wxV ̄d+c1.rlX( ̄x )+c2. ×(%一 ) J = I =一 是该服务的输出集合。QoSi是表示服务WSl在服务质量参数 上的约束,对于服务WSi的共有服务质量维数af= . , qi,2,…,qi,k J,对于服务WSI存在最小可接受的服务质量级别 qi““=( ““, 2mln,…,吼Kmil1),Res 是表征服务执行需要系统 资源的情况,对于服务H 言,假定要使其具有服务质量Q , 有映射函数,是服务H 得到服务质量Qf时所需系统资源大 小, aj)= (qf1,qf2,…,qjk))=r/={r f,r2 “, f J,其中,r, 表示服务H 得到服务质量Qf所需的资源向量,一 表示服务 if if > <一 (2) L X_d=Xld+vid 其中,rl,r2是介于【0,1】之间的随机数;C1,C2是加速度系数; w是惯量因子;Vm 是常数,限制了速度的最大值,由用户 设定。 3.2粒子群思想和模型 基于粒子群思想的服务组合算法从多目标优化的角度出 WSi在得到服务质量为Qf在第1维资源上所需的资源量。 定义3服务组合业务图(Services Composition Business Graph,SCBG):依据服务组合的业务逻辑关系确定的各服务 类型间相互关系的组合图,如图2所示。在服务组合业务逻 辑图中的服务是指一种服务的类型,而不是具体的服务实例。 用二元组可以描述为WCL=(H,m ,cc),其中: odel={ , ,…, }为服务类型的集合, , ,…, 表 示服务组合的Ⅳ个参与的服务类型; cc Wm0del xgxH,m l为组合控制的集合,控制结构运算 符矿定义为从H,m l到H,m涮的控制转换关系,WflVIC定义 的4种基本模型L5 为:顺序,选择,并行,循环。 定义4服务组合实例图:将服务覆盖网中的实际服务 实例依据定义3的服务组合业务逻辑图组成如图3所示的服 务组合实例图。 / / 、、 囊 p /,_、 . \ | 。\1- / C 圈3 It务姐合实倒 定义s服务组合的多约束条件下多目标最优:对于服 务组合业务逻辑图,存在多个从源到终点的组合路径,依次 从服务组合实例图中选取合适的服务形成所有可能的服务组 合,存在k(k≥2)个约束条件c (f=1,2,…,k),如执行时间、执 行代价不高于(低于)某个值,同时,每一条从源点 到目的 点 的服务组合P具有m(m≥2)个非负的性能度量准则 , ,1,…,,州,P为多约束条件下多目标最优非劣路径,当且仅当 VP (尸 CP),在P和P 均满足约束c 的条件下,对于所有的 度量准则均使得 (p) = (p ),且至少存在一个目标f满足 . (p) . (p )。其中, 和>-分别表示度量准则之间的不劣于 和优于关系。 3基于粒子群算法的web服务组合 3.1基本PSO 粒子群算法由Kennedy J等在1995年提出,是一种基于 迭代的进化计算方法 J。基本PSO公式如式(2)所示。设搜索 空间是D维的,粒子群中第i个粒子的位置用XF( 1 f2’…, ) 表示,第f个粒子的速度表示为Vi=(Yil,Yf2’…,Vi1a)。第i个粒 发,搜索服务集合中 和E之间满足所有约束条件的一组多 目标Pareto非劣解。基本思想是:首先产生一定数目的粒子 群,每一个服务组合流程编码为一个粒子,每一个粒子利用 本身信息、局部较优信息和全局较优信息3个信息,产生具 有更高目标准则值的新粒子。这一过程不断进行,实现在解 空间的并行全局搜索;算法停止时,得到一组粒子集合,对 应了多条收敛于Pareto优化或近似优化路径的组合集。算法 流程见算法1。 算法1 (1)Initialize particle—swarm PS//初始化粒子群 (2)DO (3) for i=l to particle_swarm_Size (4) calculate the fitness value f(x1)of the ith particle (5) if f(x1)>f(pi)then pi=xi (6)pg=max(P1) (7) for d=l to DimensionSize (8) Vld=w×Vid+cl×rl×(pid-Vid)+c2×r2×(pgd-Vid) (9)Xid--Xid'['Vid (10) Vid=Vmax if Vid>Vma^ (11) Vld---Vmax if Vid<-Vmax (12) Next d (13)Nexti (14)While termination criterion is met 3.3服务组合算法的设计与分析 3.3.1 编码策略 首先对图2中的各个服务节点按顺序编号;其次,增加 虚拟服务 和E作为服务组合的起点和终点,SCBG中节点 的个数为粒子的D维,因为每一个给定的服务组合所包含的 服务节点数目相同,所以采用整数定长编码的方式,将组合 路径映射为粒子空间中的个体;粒子体中第1个和最后一个 粒子位置总是SCBG图中的顶点 和E,取值为-1,粒子位 置的每一维的值是SCBG图中相应位置对应的某一服务实例 的编号,如果对应位置的服务不在组合路径中,则取0。 假设粒子Xi= mXf2’-.., )表示服务组合路径的一个解, 其中,D为SCBG图中顶点的个数,其编号是从上到下,从 左到右编号;Xf 和X/D的取值是-1,其他墨,的取值为0或者 服务实例的编号(正的整数)。 例如,对于图2中的服务业务逻辑图对应的粒子编码如 下所示:x(一1,0,2,0,0,5,0,0,9,一1)表示一条经过第2号、第5号、 第9号服务实例的组合路径。 3.3.2初始组合粒子群集的生成 本文利用随机方法产生一组满足约束条件的从 到 的 维普资讯 http://www.cqvip.com
初始组合路径集。具体过程见算法2,设初始粒子群规模为Ⅳ, Constr(PS)表示从集合Ps中选取满足约束的组合路径; RandS(S, 表示利用随机方法选择s到 的一条路径。 算法2 particle—swarm PS Begin (1)PS 0 (2)while(IPSI<N) (3)PS,-PS U Constr(RandS(S,T)) (4)Goto(2) (5)Output PS End 3.3.3粒子适应值计算 . 本文中采用加权综合的方法来求适应值。 对于每一条组合路径用f ̄Cx),LCx),.・、 ∽分别代表对QoS 因素QoS(a ̄),OoS(o ),QoS( ),QoS( )等进行QoS计算的 函数。希望在QoS上得到满足以下目标的优化目标: ,( )=F(maxfl(x),minf2(x),minf3(x),maxf4(x),maxfs(x)) (3) 由于式(3)中的max函数可以通过转换化为min函数,因 此用加权法求得每一条组合路径的综合服务质量函数为 ,( )=nfin∑ ( )≥a , ∈X (4) 3.3.4粒子的运算规则 至此,算法1中只有第8行和第9行还没有定义。第8 行、第9行的作用分别是计算粒子的飞行速度和更新粒子的 位置,更新粒子位置采用“加”运算。本文的策略是将粒子 的飞行速度 定义为服务质量的值。粒子位置的更新就是将 服务替换为与此服务质量最接近的服务实例,因此“加法” (+)的定义为将粒子墨的第D维位置更换为与 服务质量最 接近的服务实例。下面通过一个实例来说明。 在图1中,假设在计算前 的值为0.35,并取 W, 1,rl,pm,6'2,r2分别是0.2,0.4,0.5,0.23,0.12,0.25,则计算 出新的 的值为0.36,则说明粒子在对第D类服务的选取 QoS高的服务实例。粕=xid+ 的计算用式(5)完成: xid=f((,( )+vid)) (5) 式(5)中的,函数是计算出 d所对应的服务实例的QoS,计 算出值为5136,7函数是求得与QoS值最接近的服务实例, 为s8,与,是反函数。 4实验分析 4.1实验场II设置 实验环境为100 Mb/s局域网,微机配置为Pentium 4, 2.52 GHz/512 MB,Windows 2003 Server/XP,用Java实现。 实验所用服务组合业务模型如图1所示,模型中每一类服务 节点对应实际中的一组服务实例集合,共有9种服务(ws , WS2,…,WS9)。每一个服务实例由一个线程来模拟。各个服 务群中服务的QoS参数采用随机方法在一定范围内生成,参 数取值范围设定为0 s<Time 60 S,O<Cost≤100,O<Repute<. 10,O<Reliable<1,最小信誉等级为2,最小可靠性为0.1。 412算法j-|数设置 根据3.3.1节算法编码,得到如下所示的服务组合模型的 粒子编码实例的形式: I= I ! l l l鲍I 2 I型 2 I ! !I 2 l::!I 其中,Sc(1i)表示服务节点1对应的服务集合SCi(i∈UI1≤ J≤8))中所选具体服务的编号为i。 对于图1所示的组合业务模型,共有2条组合路径。 一106_一 第1条是选择(s—ws2一Ⅵ 5一Ⅵ 8一E),其QoS指标的计算 公式如式(6)所示,第2条是(s—ws1一((Ⅵ 一Ⅵ 6一E), (Ⅵ皤4一Ⅵ 7一E))),其计算公式如式(7)所示。 ) tz+ts+ts 五( G G (6) l ㈨=ReP2xRep5xPeps L-工㈨=Rel2xge/ ̄×忍 r. ( =‘+max((t3+ ),(t4+ )) j ㈨ q+c3+c,+co+c7 (7) f3(x)=Rep ̄xrfln((Rep3xRep6),(Rep4xRep7)) l ( =蹦Xrlifn((Rel3xRel6),(Rel4xReL,)) 迭代次数 圈4算法的执行时问 实验还对线性规划法、采用服务个数为粒子维数的编码 算法以及本的算法的效率进行了比较。分别给定有100,150, 200,250,300个服务实例情况。它们达到最优解QoS指标相 差在2%以内所需要的时间如图5所示。 服务规模 圈5不同算法执行时间的比较 5结束语 本文提出的基于粒子群算法的服务组合算法,对于构建 基于互联网的复杂组合服务的应用具有一定意义。进一步的 工作是根据服务组合的具体实际,进行基于PSO算法的优化 与改进。 (下转第112页) 维普资讯 http://www.cqvip.com
4实例 前面的分析已表明,采用时间距离并不能有效地减少网 (4)计算距离 根据式(5)和式(8)可计算得到各网页间的距离,见表1。 从表1中可看到,A,B和D两两之间的距离都小于它们与c 页组簇后HTTP/1.1持续连接所带来的额外开销。为了与之比 较,这里仍使用该例子中的数据,并使用本文提出的方法来 衡量网页间的距离。 根据前文的叙述,计算网页间距离的步骤如下: (1)构建超链关系图和计算一步转移概率矩阵 根据条件可得到各网页间(包括END)的超链关系图和各 网页间的(一步)状态转移图,如图2所示。 A 10 A 1 之间的距离。故一般的聚类算法都会将A,B和D归为一簇, 将C归为另一簇。这与前面分析得出的结论一致。 表1基于马尔可夫链灼罔页问灼甩离 5结束语 — ~ ~ 本文提出了一种基于马尔可夫链的衡量网页间距离的方 法,该方法不仅考虑了用户访问的时间相关性还考虑了用户 / 的访问路径。实例表明,与基于时间相关性的衡量网页间距 图2 罔页问灼超链关系和状态转移 离的方法相比,采用该方法能更有效地减少网页组簇后 HTTP/1.1持续连接所带来的额外开销。 用状态0表示END,用状态1,2,3和4分别表示网页 A,B,C和D,那么一步状态转移矩阵为 参考文献 1 O O O O [1]Yang Chusing,Luo Monyan.A Content Placement and Management O O 1 O O System for Distributed Web—server Systems[C]//Proceedings of the P=1 O O O O.25 0.75 20th International Conference on Distributed Computing Systems. 1 O O O O (6) Taipei,Taiwan,China:Is.n.],2000:691-698. 1 O O O O [2]Chen Yan,Qiu Lili,Chen Weiyu,et a1.Clustering Web Content for (2)设置转移概率最大步数及加权系数 Efifcient Replication[C]//Proceedings of the 10th Intemational 根据条件,平均会话长度为(3x10+2x30)/40=2.25,因 Conference on Network Protocols.IS.1.】:IEEE Press,2002: 此,l=r2.251—1=2, =2/3, 以=1/3。 165—174. (3)计算关联转移概率矩阵和关联程度矩阵 [3]Ng C P,Wang Cho—li.Document Distribution Algorithm for Load 根据定义1, Balancing on an Extensible Web Server Architecture[C]// rPoceedings of the 1st 1EEE/ACM Intemational Symposium on transfer= P。 + P牡 =2 xP+{×PxP= Cluster Computing and hte Grid.IS.1.]:IEEE Press,2001:140—147. 1 O O O O [4]Su Zhong,Yang Qiang,Zhang Hongjiang,et a1.Correlation—based O O 0.6667 0.0833 0.25 (7) Web—document Clustering for Adaptive Web—interface Design[J]. 0.3333 O O O.1667 0.5 1 O O O O Knowledge nad Information Systems,2002,4(2):151—167. 1 O O 0 0 [5]Shou—Hsuan Stephen Huang,Rodriguez C H M,Torrero J U Q,et a1. Exploring Similarity Among Web Pages Using the Hyperlink 根据定义2, relate:=—rtansfer+ transferT Structure[C]//Proceedings of International Conference on 2 Information Technology:Coding and Computing.IS.1.]:IEEE Press 1 +O O.1667 0.5 0.5一 2004:344—348. O O 0.3333 0.0417 0.125 [6]Jeh G Widom J.SimRank:a Measure of Structural—context 0.167 0.3333 0 0.0833 0.25 (8) O.5 0.0417 0.0833 0 0 Similarity[C]//Proceedings of the 8th ACM SIGKDD Intemational O.5 0.125 0.25.0 0 Conference on Knowledge Discovery and Data Mining.IS.1.]: ACM Press.2002:538—543. (上接第106页) ’ 参考文献 of hte 18th Int’l Conf.on Data Engineering.San Jose:IEEE Press, [1]WSDL.Web Services Description Language 1.1.W3C Note[Z]. 2002:297—308. f2001—09—09).http:#www.w3.0rg/TR/wsd1. [5]Zeng Liangzhao,Benatallah B,Dumas M.Quality Driven Web [2]SOAR Simple Object Access Protocol 1.2.W3C Recommen— Service Composition[C]//Proc.of theⅥ,ⅥrW’03.Budapest:ACM dation[Z].f2003—03—03).http:#www.w3.org/TR/soap. Press,2003:41 1-421. [3]Shalil M,Walker D W Gray W A.A Framework for Automated [6]金海,陈汉华,吕志鹏,等.CGSP作业管理器合成服务的QoS Service Composiiton in Service—oriented Architectures[C]//Proc.of 优化模型及求解[J】.计算机学报,2005,28(4):578—588. the ESWS’04.Heraklion,Berlin:Springer—Verlag,2004:269—283. [7]Kennedy J,Eberhart R C.Particle Swarm Optimization[C]//Proc.of [4]Benamllah B,Dumas M,Sheng Q z,et a1.Declarative Composiiton hte IEEE Conf.on Neural Networks.Perth:IEEE Press,1995: nad Peer-to—peer Provisioning of Dynamic Web Services[C]//Proc. 】942一】948.
因篇幅问题不能全部显示,请点此查看更多更全内容