论文部分内容阅读
软件逐渐朝着动态、开放和分布式的方向发展,SaaS软件通过分布于互联网中的云服务组合提供软件复杂功能的模式随之流行。然而在SaaS软件运行过程中常常由于自身业务逻辑结构或者外部访问过于频繁等原因出现性能降级的问题,如何提升软件的性能面临着极大的挑战。面向SaaS软件部署方案的性能优化是改善软件性能状况的一种重要的途径,通过调整软件中服务与云环境下虚拟机之间的部署映射关系而提升软件性能。本文结合SaaS软件的特点以及SaaS软件性能优化的具体需求,提出了一种基于部署方案的软件性能建模与优化方法,主要贡献如下:(1)提出了一种支持性能优化的软件部署描述语言SSDL,构建了 SaaS软件性能模型。SSDL语言基于SaaS软件部署的情况,针对SaaS软件性能优化所需的信息,综合考虑了软件部署配置信息、性能需求与资源可用性需求,从部署环境、部署对象、部署计划和部署约束四个方面构建SSDL概念模型,描述了 SaaS软件部署方案。本文的工作建立在现有模型和方法的基础上,可达到如下设计要求:(a)能形象描述软件基本部署过程,定义了充分的语言成分;(b)为SaaS软件部署方案的性能优化提供必需的信息,并且支撑优化后的重部署工作;(c)适用于动态易变的部署运行环境,便于扩展。(2)提出了一种基于部署方案的软件性能优化方法。SaaS软件部署方案的性能优化是一个组合NP-Hard问题,在寻求最优的服务和虚拟机映射关系的过程中,常常面临着搜索空间庞大、海量QoS历史数据等问题。首先根据SSDL语言中部署对象和部署环境的信息构造性能优化输入函数,部署约束的信息构造性能优化约束函数,采用线性回归方法构造性能优化目标函数,最后通过线性规划的方法计算得到优化后的部署计划。(3)结合一个SaaS软件系统进行案例研究,从而证实该方法的有效性。本文结合了一个应急任务运行管理软件对性能进行建模和优化,首先采用了SSDL语言描述了系统的部署方案,然后构建性能优化所需的输入函数、目标函数和约束函数,采用Lingo软件仿真得出一个能改善系统性能的部署方案。实验结果证明,本文提出的方法能有效地基于部署方案进行性能建模和性能优化,从而辅助系统部署人员维护软件的正常运行。