论文部分内容阅读
云计算的快速发展推动了各个行业资源的协调整合,越来越多的个人与组织机构将本地的应用资源以Web服务的形式迁移到云计算资源池中,以便用户选择调用。这种服务部署模式加快了 Web服务资源数量与质量的更新速度,云资源池中的Web服务呈爆炸式增长。个人或企业不断创造新的Web服务,在满足用户需求的同时,为了追求Web服务利用率的最大化和良好的用户体验,将单一功能的Web服务进行组合,形成了更有价值的Web服务组合。云计算环境下的Web服务组合因生态系统复杂性给服务计算提出新难题。本文探讨了云计算环境下的Web服务组合,结合可并行化计算的粒子群算法,针对不同的问题求解规模,分别采用串行与并行的计算技术,解决Web服务组合问题。以下为本文主要研究工作:(1)将Web服务组合问题当作一个离散化、解决方案多样化的NP问题,在分析标准粒子群算法的基础上,围绕缺陷进行改进。本文的改进主要分三个部分进行,首先,采用活跃度检测机制,增加求解方案的多样性。其次,在粒子迁移时,学习烟花爆炸机制的原理,加强种群粒子的搜索能力。然后,通过部分粒子的反向学习过程,改变牵引对象,调整种群粒子的飞行方向,跳出局部最优困境,提高种群全局寻优能力。实验结果表明,所提出的服务组合优化算法可以有效改善粒子的寻优能力,与已有的方法相比,有较好的性能。(2)针对云计算环境中Web服务的数量多、异构化等特点,本文提出一种基于Spark分布式环境的并行化改进粒子群服务组合方法。首先,使用并行覆盖算法对Web服务进行聚类,将得到的多个聚类中心作为粒子的起始点,提高初始种群粒子分布地域的离散度;然后,根据RDD的并行数据编码规则,利用粒子的分种群并行迁移,进行大规模组合服务的生成;最后,采用粒子精英选择策略,剔除惰性粒子,优化组合服务选择的性能。本文使用真实的WS-Dream数据集进行测试,通过大量实验结果证明提出的方法可以有效解决海量Web服务组合的求解问题。