标题 | 云环境下Web服务组合算法研究 |
范文 | 张洋 摘 要:云计算环境促进了面向服务的分布式应用的发展和Web服务组合的高效实现。文章分析了云计算环境下Web服务组合模型以及工作过程,研究了Web服务组合优化的相关智能优化算法和基于Web服务顺序知识的人工蜂群算法。 关键词:云计算;Web服务组合;算法 1 云计算与Web服务组合 随着信息时代大数据的崛起,企业信息化水平不断提高,大型企业的计算能力出现过剩情况,在此基础上产生了云计算。云计算所提供服务的本质是企业过剩的计算能力,其与各种服务软件、存储等构成的了云计算系统,云计算系统提供的大量服务对用户而言具有隐私和抽象的特性。一般情况下使用云计算平台将分散在网络各处的计算节点连接起来进行管理,并根据用户需求进行调度。从云计算平台来看,分散的服务提供商提供的有限计算资源均放在云计算资源池中,放入资源池中的所有資源具有共享性,由平台根据用户的需求将各种有限的计算资源进行组合。 互联网中拥有海量具有单一功能的Web服务,且很多Web服务具有相似性,Web服务组合是研究如何将具有单一功能的小粒度Web服务进行组合,从而满足复杂的功能需求,达到服务增值的目的,减少基础服务的重复开发,避免资源浪费。Web服务系统由服务提供、服务请求和服务代理3个角色构成,另外对于系统中的每一个具体服务又有注册服务、绑定服务、调用服务3种行为。Web服务组合分为静态和动态两种组合方式,静态服务组合由开发者根据需求确定组合服务的结构及执行顺序,制定确定的Web服务组合方案;动态服务组合主要由准备阶段、定义阶段、执行阶段3部分构成,准备阶段将类似Web服务汇总成为备选服务集,定义阶段对备选集中的服务进行各种语义化操作,执行阶段根据用户需求确定最符合的组合方案。 2 Web服务组合模型 2.1 Web服务组合模型 Web服务组合模型由4部分构成:服务请求者、服务供应者、服务组合管理器、服务注册中心[1]。服务的提供者也就是服务的拥有者,提供者在提供一组Web服务的时候还应包含输入输出、前置条件、后置条件、服务描述等信息,其需要在服务注册中心进行注册,以便能够更好地在服务资源池中找到该服务;服务请求者也就是Web服务的使用者,其将自己的需求进行一定的描述发送给服务组合管理器;服务组合管理器对用户的请求进行处理之后将语义描述发送给服务注册中心;服务注册中心根据收到的描述在服务资源池中找到对应的Web服务,以服务集合的形式返回给服务组合管理器;服务组合管理器对收到的服务集合进行处理,确定最终的组合方案,向注册中心发出请求绑定服务,执行以后将结果返回给用户。服务注册中心主要起到登记Web服务并为服务使用者提供服务调用的功能(见图1)。 2.2 服务描述 服务使用者的服务请求在发送给服务组合管理器的时候会进行翻译,使用专门的基于语义的Web服务描述语言(Web Services Description Language,WSDL)对服务请求描述进行翻译,以便服务组合管理器生成服务组合方案。WSDL在进行服务描述时也有自己的局限性,服务的元数据和对服务的语义正规描述无法通过WSDL进行描述,于是产生了Web服务本体语言(Web Service Ontology Language,OWLS)、Web服务建模语义和WSDL语义标注精确地进行Web服务的语义描述[2]。为了获得更加简便的描述,经常将Web服务以元组的形式进行表示,使用元组的形式忽略了复杂的实现细节,使其更加容易实现。 2.3 服务匹配和合成 在进行Web服务组合之前首先需要进行候选服务的匹配工作,服务匹配主要是对服务元组进行兼容性检查以及服务之间接口是否匹配。进行服务匹配操作的首要任务是要保证Web服务能够满足用户的任务需求,在整个过程中,服务的检索也是十分关键的。服务接口匹配工作主要是通过检测输入输出、前置条件、后置条件等参数,从而判断服务是否能够进行连接组合。 3 智能优化算法 在解决服务组合问题的时候智能优化算法具有很大的优势,在进行服务组合优选的时候被广泛应用。 3.1 粒子群算法 根据大型鸟群觅食过程中能够在改变飞行队形、方向和速度的同时保持整个鸟群同步性的特性,Kennedy和Eberhart提出了粒子群优化算法(Particle Swarm Optimization,PSO)。该算法把空间中的每一个独立的解当成一个粒子,每个粒子在空间范围内进行探索的时候,会借鉴自己和其他粒子曾经发现的最优位置信息。在该算法中存在个体最优解和全体最优解,分别对应单个粒子发现的最优位置和整个群体发现的最优位置,每个粒子不断根据个体最优解和群体最优解的情况进行当前解集的更新[3],以此产生其下一代群体。 3.2 差分进化算法 差分进化算法(Differential Evolution,DE)和粒子群算法都属于随机优化算法,也是通过模仿生物群体中的个体间的竞争与合作实现搜索的优化。但是该算法相比其他算法而言其具有记忆能力,能够在进行实时跟踪的同时动态调整搜索的策略,具有一定的自适应性和鲁棒性。DE算法的种群是由很多个体构成的,每一个个体都是一个优化问题的可能解,算法利用群体内个体之间的距离信息和方向信息产生新的个体,从而实现种群的进化。该算法使用选择、变异和交叉这3种进化算子对种群进行进化更新,DE算法的算子具有与其他算法不同的变异机制,其通过随机选择若干个体生成若干比例差分矢量,利用这些矢量扰动种群个体来实现变异。 3.3 人工蜂群算法 人工蜂群算法也是一种智能优化算法,其是根据工蜂寻找采集食物的“8”字形摇摆舞提升蜂群整体效率抽象而来的,与前两种算法相比,该算法所需参数少,实现方便,在处理服务组合优化问题时具有很大的优势。该算法的主要流程是:(1)使用随机函数进行解的初始化从而实现种群的初始化。(2)工蜂中的引领蜂按照邻域搜索公式对解的相邻区域进行搜索,并计算机出适应度。(3)根据“贪婪法则”选择出质量较好的蜜源。(4)计算该蜜源被跟随蜂选中的概率。(5)跟随蜂同样按照邻域搜索公式对相邻区域进行搜索,并计算其适应度。(6)根据“贪婪法则”选择出质量较好的蜜源。(7)侦查蜂判断蜜源是否达到了舍弃条件,若达到则侦查蜂使用新的蜜源替换舍弃掉的蜜源。(8)记录当前状态下质量最好的蜜源(最优解)。(9)判断当前最优解是否能够满足问题的要求,是则输出最优解并结束迭代过程,否则跳转到第二步继续执行。 4 基于服务顺序知识的人工蜂群算法 在解决Web服务组合优化问题时,需要研究相邻Web服务之间的关联信息,进而得出Web服务顺序知识模型。根据满足需求问题的Web服务组合的子任务数及子任务下候选Web服务的数量来得到服务顺序知识矩阵的行列规模。假设服务组合有n个子任务,每个子任务具有m个候选Web服务,在仅考虑相邻子任务间服务顺序知识的情况下,每个解(维度n)均具有n-1个服务顺序,而记录每一个服务顺序则需要一个m×m的矩阵。在进行Web服务组合优化之前,首先对优化过程中的解进行挖掘得到有用的服务顺序知识,使用挖掘出的知识指导求最优解迭代过程中的后续步骤。 基于服务顺序的人工蜂群算法是将人工蜂群算法和服务顺序知识模型进行有效结合的混合型智能优化算法。服务顺序知识模型的引入会极大地提高人工蜂群算法的性能,其简化过程为:(1)设置引领蜂和跟随蜂的个数、最大迭代次数以及控制参数limit等关键参数。(2)随机初始化蜂群,针对Web服务请求的问题对解的维度进行矩阵化。(3)应用已经存储的由较优解构成的知识模型指导引领蜂和跟随蜂的邻域搜索,实现最优解的更新。(4)派出侦查蜂,对超出limit次,适应度仍未得到改善的解进行重新初始化。(5)将获取的较优解的有用知识更新到服务顺序知识矩阵中。(6)如果满足服务需求的要求且达到最大迭代次数,则输出最优解作为服务组合优选结果,否则回到(3)继续进行迭代。 5 总结 随着计算机技术的不断发展,互联网上Web服务数量呈爆炸性增长,云计算技术的成熟为Web服务组合效率的提高提供了有利的平台,更加快速高效地从资源池中优选优质Web服务并加以组合,给用户更高的服务质量体验一直以来都是Web服务组合的研究热点。 [参考文献] [1]唐崇.Web服务组合QoS優化问题综述[J].信息技术与信息化,2015(4):223-225. [2]王龙,张亮.基于扩展WSDL行为描述的Web服务组合[J].计算机工程,2014(1):88-92. [3]李金忠,曾小荟,夏洁武,等.基于QoS的Web服务选择方法研究新进展[J].计算机应用研究,2015(8):2245-2253. Abstract:The cloud computing environment facilitates the development of service-oriented distributed applications and the efficient implementation of Web services. This paper analyzes the Web service composition model and the working process in the cloud computing environment, and studies the related intelligent optimization algorithm of Web service composition optimization and the artificial bee colony algorithm based on the Web service order knowledge. Key words:cloud computing; Web service composition; algorithm |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。