论文部分内容阅读
互联网的发展和应用软件的成熟促进了新的服务交付和运营模式的诞生:软件即服务(Software as a Service, SaaS),其最大的特点就是“单实例多租赁”。在这种服务模式下,一个应用实例为多个租户提供服务,以规模效应降低服务成本,具有较好的灵活性及可扩展性。不同的SaaS租户对于应用服务有着不同的需求,包括服务的内容、平均响应时间、可用性及支持吞吐量等,对此SaaS提供商要与租户协商签订服务等级协议(Service-Level Agreement, SLA)。基于签署的SLA, SaaS服务提供商需要进行相应的服务资源配置,以满足租户个性化需求,同时在SaaS应用的运行过程中进行服务质量监测及性能优化,保证服务的提供时刻满足SLA中的质量参数。目前,SaaS模式的特性使得传统的SLA管理机制在应用时仍存在一些问题:首先,SLA固有的静态描述特性使得在实际应用中,某些租户操作可能会违背已签署的SLA;其次,SaaS模式共享软硬件的特点使得少数租户的SLA控制失效可能导致系统性能的不稳定,并最终影响其他租户的服务质量;最后,已有的性能管理机制缺乏根据租户不同的SLA等级进行优化的性能调整算法,无法对SLA未满足的状况进行调整,进一步提高租户的满意度。总之,在SaaS模式单实例多租赁的特点下,原有的用于传统web服务的SLA管理机制不再适用,迫切需要搭建新的管理框架体系解决基于SLA的性能管理问题。针对存在的主要问题,本文进行的创新工作包括:一、提出了SaaS应用下基于SLA的性能管理机制。通过构建适用于SaaS的SLA管理体系,详细讲解了该机制的实现流程,并提出完善的设计方案,论证了其实现的可行性及可靠性。二、提出了SaaS应用的性能监视及违例检测方案。首先定义系统违例状态和恶意租户,并使用监视器对系统进行周期性检测。根据恶意租户的定义设计违例检测算法,及时发现系统的违例状态并利用监视器获取的性能数据推算出恶意租户的候选。三、以SaaS应用部署的层次结构为基础提出了多种基于SLA的动态调度算法,包括租户安置方法、请求调度算法等,对租户所获取的服务性能提供多方位的保障及优化,保证系统的正常运行及租户服务资源的稳定提供。本文通过对传统web服务下SLA的管理机制进行改进,提出了面向SaaS应用的SLA性能管理模型。该模型以量化SLA的相关参数为基础进行实时的性能监测和多层次的性能优化,通过监视租户的服务质量,发现异常状态并使用调度算法对租户的资源使用情况进行动态调整,有效保障SLA中各项性能指标的实现。另外,本文还通过实验验证了该模型在功能执行、多租户支持及合理化调整方面表现良好,具有一定的可行性和可靠性。