论文部分内容阅读
服务计算使软件体系结构发生了重大变革,以SOA、SaaS为典型代表,软件系统的存在形态、发布方式、运行与维护方式都有了本质性的改变,促进了软件体系结构及其理论技术的发展。越来越多的企业开始使用多家厂商提供的多样化SaaS应用,SaaS的部署规模也逐渐增大,涉及数千甚至数万用户的大型企业交易越来越多。在这种新的模式下,在线服务应用对可靠性和运营效率的要求更高。一方面,SaaS应用系统普遍采用多租户(multi-tenant)模式,在满足各租户性能指标,如持续服务、服务吞吐量、适应服务能力的涨落等要求的同时,作为服务提供一方,还需要通过服务系统的优化部署,提高其整体资源利用率,降低成本;这就要求服务系统能够动态变化,在满足用户需求的前提下兼顾效率,更高效地利用应用资源,并能够最大化不同用户间的资源共享;另一方面,由于服务用户众多,在线服务系统的实时可靠性要求也更高。目前主流的SaaS应用中,最终用户所使用的是一个只为所用不为所有的虚拟系统,这个“系统”由若干服务组件组合而成,因此,SaaS应用所对应组件集合的优化部署能力成为提升SaaS应用服务性能与资源使用效率的一个关键。与传统的应用优化和可靠性保障不同,通过服务组件的动态迁移,可以实现更为高效的部署,以支持实时、在线服务系统的运营需求。本文提出通过web服务的自动迁移解决上述问题,基于业务预测和负载均衡做出服务迁移决策,根据服务器负载的变化对计算资源进行统一的分配和调度,解决负载不均的问题,降低服务响应时间,提高服务质量和可用性。主要工作包括:1.提出了一个实时监控分布式宿主环境的架构,根据监控参数,计算服务器的实时负载,并将其作为是否迁移的决策参数,同时支持在web页面中展示服务的实时运行状况;2.提出了一种基于业务预测与实时负载检测相结合的在线SaaS (?)(?)务迁移方法:根据SaaS租户应用的实际业务的变化,使用马尔科夫链方法预测未来业务的涨落状态变化并基于实时的服务负载情况检测,综合做出迁移判断和迁移路线的决策。3.提出一种基于负载均衡的自动服务迁移方法,从负载计算,迁移策略和服务迁移三个方面,研究了在资源有限的约束下,如何通过服务的迁移来优化资源的配置。采用了权重向量法进行负载的计算,为源服务实例、迁移时间和目的主机的选择制定了完善的迁移策略;在服务迁移方面,提出了一个迁移框架,实现了基于负载均衡的服务迁移。4.提出一种服务状态一致性保护方法,保证了迁移前后服务实例状态的-致性,同时在线的服务迁移保证了迁移过程中服务的可用性。本文结合具体应用中的需求,对文中提到的负载计算、基于马尔科夫链的业务预测方法、基于负载均衡的服务迁移策略进行了实现,实验证明本文提出的方法可以实时的感知宿主环境的负载变化,准确的预测服务业务量的变化,在服务迁移过程中保证服务的可用性,大大提高了资源的利用率,保证了服务的高质量