论文部分内容阅读
随着当前网络商业运营环境规模的不断增加,对计算资源的要求也是越来越高,云计算通过虚拟化等技术将硬件抽象成虚拟服务,降低了运营成本、改进了性能、提高了数据可靠性。云计算将数据存储在大量分布式服务器上,企业不必像之前一样单独维护服务器等硬件设备,可以更加方便地将资源切换到需要的应用上,实现按需访问。基于以上特点,云计算深受企业的欢迎。随着云环境中资源越来越复杂,如何合理利用云环境中的各种资源成为新的问题。云环境中资源众多,如何合理地进行资源调度,合理地为系统中运行的实例分配资源,在提高资源利用率的同时保证服务质量是当前的研究热点。当前大多数的资源管理机制研究主要集中在IaaS(Infrastructure as a Service,基础设施作为服务)层,对于应用层以及应用的特性考虑较少;另一方面,当前的资源管理机制大多数采用简单“阈值”报警的方式进行资源管理,当系统负载达到“阈值”时,整个系统的负载已经过高。为了解决云环境中PaaS层上的资源管理问题,实现动态满足用户需求、缓解高并发情况下服务器的负载等当前云环境中的较为迫切的需求,本文研究了云计算管理平台。通过分析和比较后,采用了当前使用比较广泛的OpenStack提供IaaS服务,重点研究了PaaS层上应用的自动化部署、资源动态管理等方面的问题。着重对Cloudify这个具有代表性的资源编排平台进行了研究,详细分析了Cloudify的基本组成、应用部署流程以及资源调度方式。随后研究了时序资源预测算法,在研究和比较后,本文采用ARIMA(Autoregressive Integrated Moving Average Model,自回归积分滑动平均模型)预测算法,对ARIMA模型的用途、数学表达式等进行了说明,重点研究了ARIMA预测模型的建模过程。在充分的分析之后,本文针对PaaS层上资源编排问题,提出了一种基于ARIMA模型的动态编排优化架构。设计并实现了基于ARIMA的云资源编排优化架构,该架构建立在OpenStack基础设施作为服务之上,结合PaaS(Platform as a Service,平台作为服务)层上的Cloudify资源编排平台。通过ARIMA算法预测应用在下一个时间周期内的资源用量,当下一时间内的资源用量有超过阈值风险时根据资源调度算法,提前调度应用。最后设计了一系列的试验,利用Google真实的云环境数据集,对ARIMA算法的预测准确率做了验证,经过试验结果表明ARIMA算法可以取得比较好的预测效果。并且对整个平台的资源调度是否有效,能否提高资源利用率等方面进行了试验,通经过实验表明,此架构可以有效缩短并发响应时间并且提高内存利用率。