论文部分内容阅读
近年来,互联网和软件应用技术的普及和迅猛发展,使得软件的发展逐步趋向网络化、平台化和服务化。SaaS (Software as a Service)提供了一种新颖的软件交付和用户使用的方式,具有按需租用、无需用户维护、便于扩展等特征。SOA(Service-Oriented Architecture)架构具有随着业务需求灵活快速变化的特征,在SOA架构中,众多的计算资源(如,应用、服务器等)以服务的形式被提供,打破了传统模式定制的局限性。SOA架构与SaaS满足客户动态、异构的需求不谋而合,成为越来越多的SaaS应用开发的基础。SaaS商业模式的成功,离不开设计良好的应用构建方法的支持。但是,目前SaaS应用构建方法的相关研究中,存在如下问题亟需解决:首先,大规模多租户应用构建过程中,存在大量相同或类似的业务需求,为每个租户应用分别进行需求分析,逐个构建,时间和花费较大,资源利用率和构建效率较低。其次,SaaS模式下用户租用的应用和服务大多是由服务提供商预先提供,而用户的功能需求越来越趋向于个性化,服务提供商不能预先想到所有可能的需求,因此,这种服务提供模式存在一定的不足。第三,在多租户租用应用服务的过程中,各个租户应用需要通过共享服务来提高资源利用率,以满足服务运营商控制成本的需求;此时,若服务器过载,其上运行的服务质量会锐减,即宿主环境的负载状态直接影响服务质量,因此,如何保持服务器的负载平衡以满足租户的Qos(服务质量)成为提升应用性能与资源使用效率的一个关键问题。本文以面向服务的计算技术和方法为理论基础,从快速、柔性构建的需求入手,以服务、用户需求的关系为切入点,围绕着基于多租户的SaaS应用构建、服务优化部署等方面进行了较为深入的研究。论文的主要工作和创新点如下:1.提出了一个基于多抽象层次的SaaS应用构建方法为了提高SaaS应用构建速度,同时保证多租户环境中各个租户的业务、性能要求,基于多抽象层次的SaaS应用构建方法将SaaS应用的构建划分为三个层次:从抽象SaaS应用层构建、从组合服务层构建和从服务组件层构建。根据不同租户的业务需求和SLA (Service-Level Agreement,服务等级协议)要求,应用开发人员从其中一个层次开始逐层构建产生一个真正可执行的满足租户SLA要求的SaaS应用。2.提出了一种基于超图划分性质的服务动态部署算法该算法利用超图划分性质来解决分阶段的服务动态部署问题。算法利用超图划分将所需分层服务划分为多个划分子集,每个划分子集中的服务映射部署到-台服务器,通过对服务器负载情况的检测不断调整超图划分以保持服务器的负载平衡。同时,使用一个资源消耗模型来预估服务对资源的消耗值。3.实现了一个原型系统Mira构建系统和三个辅助工具基于多抽象层次SaaS应用构建方法,实现了一个原型系统——Mira构建系统和三个辅助工具:组件开发插件CDP,租户安置工具TPT,动态部署工具DDT。并利用一个已实现的SaaS应用构建案例,完整介绍了SaaS应用构建的过程,验证了本文提出方法和过程的可行性和有效性。4.实际构建了基于服务组件的SBM系统借助SCA架构实现了众多层次化的服务组件,扩展了SCA的composite文件,每个服务组件均可向外提供服务接口,也可引用其他的服务组件,以此建立服务之间的依赖关系,形成层次化服务模型。利用这些已开发的服务组件,实际构建了基于服务组件的SBM (Supplier Business Management)系统,在验证了本文提出的构建方法的同时,也为汽车制造业中的中小企业信息化建设提供技术支持和帮助。经过理论和相关实验分析,论文提出的基于多抽象层次的SaaS应用构建方法及基于超图划分性质的服务动态部署算法,能够完成从用户业务需求分析开始至产生真正可执行的租户SaaS应用的全过程。在上述研究工作的基础上,本文的部分研究成果已经得到初步应用。下一步还需要在构建SaaS应用时业务需求与服务组件之间的匹配、现有服务组件和构建系统的容错性能方面展开进一步的工作。