论文部分内容阅读
软件技术的快速发展,促使其应用模式呈现出网络化、平台化和服务化的特点。分布式计算、并行计算、网格计算等计算机技术的不断成熟,推动了新型软件架构的不断革新。在这种背景下,作为一种新型的软件服务模式,SaaS (Software as a Service)服务凭借其按需租用、不需维护、便于扩展等优势,逐渐受到用户和软件厂商的青睐。面向服务架构(SOA)作为一种开发模式,它指导商业解决方案用以创建、组织并重用组件。SOA以服务作为基本构造单元,采用“使用而不拥有”的资源使用模式,支持分布式应用的快速低成本的组合式开发,能够快速适应不断变化的商业环境。多租户技术是实现SaaS模式的核心技术之一。在基于SOA和云计算的多租户SaaS应用中,租户之间共享软、硬件资源,单个租户按需进行客户化配置,多租户技术用以实现性能隔离,保证租户之间的操作互不影响。多租户技术通过规模经济有效降低了使用成本,实现了收益的最大化。服务选择是当今的研究热点。一个组合服务包含若干个任务而每一个任务都有一组功能相同而服务质量(quality of service, QoS)不同的服务实例作为候选服务,服务选择就是为组合服务的每一个任务选择一个合适的服务实例,其中遗传算法是目前应用最为广泛的服务选择算法。多租户SaaS应用的一个重要目标就是通过共享软、硬件资源实现租户规模最大化。在我们的多租户应用中,服务器资源是有限的,因此部署在服务器上的Web服务实例也是有限的。为了降低成本,一个亟待解决的问题是给定有限的服务器,怎样才能在不违反与租户签订的服务等级协议(Service Level Agreement, SLA)的前提下最大化安置的租户数。为了解决上述问题,本文提出了一种租户安置策略(Tenant Placement Strategy, TPS),它综合使用了遗传算法,案例推理(Case-based Reasoning, CBR),启发式算法和资源消耗评估模型。TPS的主要思路是:根据租户的SLA和服务资产库的资源现状,将租户划分为具有相似服务等级的集合,根据不同等级租户的数量及SLA要求,利用遗传算法生成合适数目的执行计划,然后利用CBR为租户匹配已经存在的合适的执行计划,利用启发式算法为租户选择一个最佳的执行计划,将租户安置到该执行计划上之后,利用资源消耗评估模型重新计算该执行计划所在服务器上的资源消耗情况。最后,本文以制造业信息化服务平台为背景,结合供应商关系管理服务(SRM)的服务组件架构,对文中提出的模型和方法进行了实验验证和分析,并实现了原型系统。在文章的最后,对本文的研究工作进行了总结并做出展望。