论文部分内容阅读
随着互联网的普及、软件应用技术和模式的快速发展,软件已呈网络化、平台化和服务化的发展趋势。其中,SaaS (Software as a Service)是一种新型的软件服务模式,凭借其按需租用、不需维护、便于扩展等优势改变了用户使用软件和软件厂商提供软件的模式。另外,分布式计算、并行计算、网格计算、云计算等计算机技术的快速发展,虚拟化技术和效用技术的普及应用,促进了新型软件架构及相关技术的快速发展,为SaaS带来新的发展机遇和挑战。从现代经济学的供需理论分析,任何一种商业模式的建立,都需要一种供需关系的体系来支撑。在传统软件产业的各种商业模式中,大都是将软件作为一种商品。而SaaS明确的将软件定义为服务,将供需双方对软件商品的需求定义为对软件服务的需求,从而将软件商品模式从商品供需模式转换为服务供需模式。因此,SaaS商业模式成为现代服务业中的一种特有的、重要的商业模式。另一方面,SaaS商业模式的成功,离不开设计良好的技术架构的支持。多租户(Multi-tenancy)技术是实现SaaS商业模式的最核心技术之一,该技术能够使大量的租户共享同一堆栈的软件、硬件资源,每个租户能够按需使用资源,并对软件服务进行相隔离的客户化配置,不影响其它租户的使用。多租户架构通过降低分摊在每个租户上的成本,实现了规模经济,能够大大降低服务交付、运维的成本,获取最大化的收益。因此,多租户技术得到了产业界和学术界的广泛关注和研究。目前,多租户技术的相关研究中,有如下问题亟待解决:面向服务的多租户应用的模型表示、多租户应用的个性化定制技术、租户的安置策略以及多租户应用的性能保障机制等。针对目前多租户应用构建过程中的技术难点,结合国家863计划课题《支持装备制造产业集群业务协同的服务支持平台》和国家自然科学基金《应用虚拟化若干关键问题研究》等科研项目工作,本文以汽车制造领域的中小企业信息化建设为背景,以服务计算相关技术和方法为理论基础,以服务间的依赖关系为切入点,深入研究了面向服务的依赖感知的多租户应用构建方法及其中的关键技术问题。论文主要工作和创新点如下:1、提出了依赖感知的层次化服务模型(DAHSM)以服务之间的依赖关系为基础,通过对服务关系的注册和标注,扩展了传统的服务注册和管理方法。从快速构建和柔性构建的需求入手,对多租户应用进行层次和粒度两个维度的结构划分,结合服务之间的依赖关系,提出了依赖感知的层次化服务模型,以扩展的有向无环超图作为形式化工具,对多租户应用进行建模和表示,并将多租户应用的构建过程,映射为模型的建立和实例化过程。同时,给出了模型的验证算法和依赖求解方法,为后续的动态服务选择、租户安置等工作提供支持。2、提出了基于动态服务选择的多租户应用性能定制策略为了解决多租户应用的性能定制问题,提出了基于动态服务选择的性能定制策略。在每个逻辑服务对应多个具有不同非功能属性服务实例的场景下,将租户应用的性能定制问题转化为动态服务选择问题。通过对租户的SLA进行聚类分析,将租户划分为不同的簇。针对每个簇中服务等级要求最高的租户,以其性能要求为标准,基于遗传算法实现了SLA驱动的动态服务选择,并将选择结果动态绑定到相应的服务实例。3、提出了基于资源消耗评估的租户安置策略与算法为了最大程度的实现服务复用和资源共享,研究了租户安置策略与算法。定义了相似度函数,从功能属性和非功能属性两个方面与目标服务进行匹配计算,来衡量新租户需求与目标服务的相似程度。同时,定义了一种资源消耗评估模型,用于估算新租户安置之后对宿主环境资源的消耗情况,判断能否满足新租户的服务等级协议要求。当有多个目标服务同时满足条件时,从资源利用率的角度出发,设计了一种启发式的租户安置策略,实现资源利用率最大化。4、提出了基于实时负载的优化部署策略与算法从整体的服务部署和局部的服务迁移两个方面,研究了资源有限的约束条件下,基于负载感知的多租户应用性能保障机制。提出了基于平衡划分的服务部署算法,分为初始部署和重部署两个阶段,实现了部署后宿主环境的负载平衡。提出了负载感知的服务迁移机制,以应对租户的峰值访问或突发异常情况,从基于马尔科夫链的业务负载预测和基于DAHSM模型的热点服务检测两个方面联合确定具有潜在迁移需求的目标服务列表。在上述研究工作的基础上,本文以供应商关系管理服务(SRM)为背景,实现了原型系统,对依赖感知的多租户应用构建方法和研究内容进行验证,并展望了在模型表示、租户安置和性能保障等方面的未来工作。