论文部分内容阅读
SaaS(Soft as a Service),是一种基于互联网的面向服务的新型软件交付模式。租户可通过网络访问租用的SaaS服务而不用购买完整的软件服务并配置相应的硬件系统。为了将众多SaaS服务进行统一管理,SaaS服务提供商将SaaS服务部署在SaaS平台上,负责软件的升级和硬件的维护。如何合理地将SaaS服务部署在相应的虚拟机上使得SaaS服务高性能、低成本运营,是SaaS平台需要考虑的重要问题。在SaaS平台上存在着大量的SaaS服务,SaaS服务和虚拟机之间有着复杂的组合关系,SaaS服务动态的资源需求使得SaaS服务的高效部署面临更大的挑战。目前关于SaaS服务初始部署的研究是将该问题转换成组合优化问题,但是存在求解质量不高,难以搜索到最优解的问题;在动态部署过程中大多数研究采用被动响应的部署调整策略并且没有考虑到SaaS服务动态资源需求的相关性。本文研究面向动态资源需求的SaaS服务部署优化问题。针对SaaS服务初始部署优化问题,本文建立了求解该问题的数学模型,提出基于离散天牛群搜索的SaaS服务部署优化算法,根据SaaS服务部署问题的特点研究如何搜索更优的解,通过实验验证了该算法对于SaaS服务部署问题具有更好的寻优能力。针对SaaS服务动态部署优化问题,本文采用Prophet时间序列模型对资源需求进行预测,在此基础上提出基于资源需求预测的迁移时机判断方法,通过历史资源需求情况预测资源需求趋势进行主动的部署调整,更好的保障了服务的质量。对于动态部署优化问题中SaaS服务迁移时迁出SaaS服务筛选问题和迁入目的虚拟机的筛选问题,本文通过对SaaS服务和虚拟机资源需求动态相关性进行定量分析,设计了最大资源相关性的迁出SaaS服务筛选策略和最小资源相关性的迁入虚拟机筛选策略,通过实验验证本文提出的资源相关性的SaaS服务迁移策略能够有效保障服务质量、减少虚拟机的租用成本并减少SaaS服务的迁移次数。基于初始部署和动态部署算法,本文设计并实现了SaaS服务部署管理原型系统,原型系统的验证效果表明,本文提出的优化算法能够实现对SaaS服务的有效部署,提高了SaaS平台对SaaS服务部署管理的能力,为SaaS服务高性能、低成本运营提供了有效的解决方案。