论文部分内容阅读
随着云计算及“软件作为服务理念”的扩散,互联网环境下软件系统的主要形态、运行方式、生产方式和使用方式正发生着巨大的变化。通过服务重用及动态聚合以构建随需应变的松耦合的分布式应用系统成为未来网络软件开发的重要趋势。服务聚合过程实现由服务本体到具体服务的绑定,其中,服务选择直接关系到服务聚合的全局质量以及绑定关系是否需要动态调整,因此对该问题的研究一直倍受关注。近来随着服务数量的爆炸性增长,网络上分布着大量功能相同、非功能特性各异的服务。如何在规模较大的功能相当的服务集合中选择质量较优且能够可靠运行的满足用户需求服务成为一个亟待解决的问题。在很多服务系统中存在多个服务等级,而已有的研究大都针对单个服务等级的情况,对同时考虑多个服务等级的情况研究还很少,因此如何选择出满足多个SLA等级约束条件同时使系统的整体效用最佳的服务实例也需要进一步研究。针对上述问题,本文分别从面向业务、面向功能、面向非资源共享的多SLA及面向资源共享的多SLA等角度对服务选取问题展开研究。此外已有研究表明专注于单独使用一种算法解决问题具有非常大的局限性,将元启发式算法与其它优化算法或元启发式算法之间有效结合,即混合元启发式算法,能够更加有效、更加灵活地处理实际问题。而作为一种高效的元启发式算法,粒子群算法已被成功应用于解决多个领域中的问题。因此,针对上述不同情况的服务选择问题所建立的优化模型,本文都研究采用粒子群算法与其它技术相结合的方式对其进行求解,并且通过实验对所提算法效果进行验证,具体包括:(1)研究了面向业务的服务选取问题,建立了该问题的单目标优化模型,并采用启发式局部搜索策略与粒子群算法相结合的方式提出了求解该问题的HEU-PSO算法。在该算法中,将粒子群算法的全局搜索能力与启发式算法的局部优化能力相结合,通过粒子群算法找到的有希望的局部区域,然后利用启发式局部搜索策略对局部区域进行深入搜索;从而实现对解空间全面深入地搜索。实验表明算法HEU-PSO在求解速率和求解质量方面优于其它对比算法。(2)研究了面向功能的大规模服务选取问题,在对该问题进行优化建模的基础上,根据该问题的特点通过将蚁群算法与粒子群算法相结合的方式提出了求解该问题的ACO-PSO算法。该算法先利用α-支配服务skyline搜索策略缩减问题规模,利用k-聚类设计蚁群构造图,在此基础上,将蚁群算法灵活搜索的特点与粒子群搜索策略(HEU-PSO)的深入搜索特点相结合,以实现对解空间快速有效地搜索。实验表明算法ACO-PSO求解效果显著。(3)从非资源共享的角度研究了SLA等级感知服务组合问题,建立了该问题的多目标离散优化模型,通过将变异操作结合到粒子群算法中提出了求解该问题的混合多目标离散粒子群算法(HMDPSO)。该算法中,根据该问题的特征,重新设计粒子更新策略,并且利用群体多样性指标提出了粒子变异策略以增加群体的多样性。另外,通过将一种基于候选服务约束支配关系的局部搜索策略结合到与算法HMDPSO,形成算法HMDPSO+,以进一步提高求解的性能。实验表明算法HMDPSO+能对解空间进行深入全面的搜索,并且求解性能突出。(4)从资源共享的角度研究了SLA等级感知服务组合问题,将该问题建模为多目标优化问题,并提出了基于资源共享的多目标粒子群算法(SMOPSO)。根据问题的特点,在算法中定义了粒子位置的形式和粒子部署策略,以体现相同具体服务实例的共享关系;沿用了传统粒子更新策略以实现对全局的搜索;设计了局部搜索策略以此来提高搜索的精度;提出了粒子变异策略来抑制算法的早熟收敛。实验表明算法(SMOPSO)能很好地对问题进行求解,并且具有强大的搜索能力和稳定的收敛特征。