论文部分内容阅读
随着互联网的普及、软件应用技术和模式的快速发展,软件已呈网络化、平台化和服务化的发展趋势。其中,软件即服务(SaaS)是一种新型的软件服务模式,凭借其按需租用、不需维护、便于扩展等优势改变了用户使用软件和软件厂商提供软件的模式。另外,面向服务计算(SOC)和面向服务体系结构(SOA)已被广泛接受,成为构造下一代分布式应用的计算范型和体系结构,支持低成本和快速开发,由不依赖平台、粗粒度和分布式的服务组件组合成应用软件系统。服务组合通过把这些可用的分布式服务链接在一起来实现业务功能解决租户的需求问题,促进多租户应用的快速开发、服务的重用和业务动态多变的实现。在多租户SaaS应用中,租户可以从租户共享的候选服务中根据他们的应用需求定制相应的服务,并根据企业发展变化调整正在使用的服务的内容和质量,具有很大的灵活性和扩展性。服务组件是等同对待的,也是多租户共享的,即在负载平衡的前提下服务是由多个租户同时使用的单个实例。在对服务组件的注册、管理和组合等研究中存在以下几个亟待解决的问题:首先,互联网中的服务大量涌现,必然会影响服务发现的效率,进而影响租户应用构建的效率;其次,服务并不是独立存在的,管理这些大量存在的服务并有效地挖掘服务及服务间的信息是研究的关键;第三,随着产品更新加快、市场要求提高,对应用系统的个性化要求越来越高。在服务资源共享的模式下还需要满足大规模多租户迥异、动态多变的业务需求。本文以服务计算为理论基础,以层次化服务模型中的服务组件和依赖关系为切入点,围绕着多租户SaaS应用中服务依赖和服务变更进行深入全面的研究。论文的主要内容和创新点如下:1.提出服务依赖的系统定义和相关描述层次化多租户服务模型中服务组件的依赖关系并不是单独存在的,服务依赖是隐藏在多租户SaaS应用中各个服务之间的关联信息。本文引入具有描述语义功能并能支持各种逻辑语句的知识交换格式(KIF),以此系统地描述服务依赖、服务依赖影响和服务依赖类型,并给出相关的定义和基本概念,使服务依赖更容易理解,进而展开更深入全面的研究。2.提出基于超图的服务依赖关系求解算法基于图论的理论和算法知识,借助超图和二部图给出了几个主要的服务依赖求解算法,为后续的服务模型实例化过程中的服务组合、服务变更等应用提供支持。3.提出以服务依赖为基础的服务组合算法基于服务依赖求解算法,提出服务组合步骤和流程,将现有可用的小粒度、分布式、松耦合的服务组件在服务依赖关系的指导下,根据租户的业务需求,快速组合成能够满足多租户要求的大粒度组合服务。与传统软件开发方式相比,极大降低了软件开发和维护成本,并有较好的灵活性。4.基于服务依赖对服务变更进行相关研究根据层次化服务模型中服务变更的特点和服务依赖图提出了服务变更传播图,在考虑服务时序有效性和约束的情况下研究变更传播的方向和传播影响范围。将服务变更分为功能变更和非功能变更,并采用通用的服务版本控制方法来管理服务组件演化中的变更,保证服务版本的透明性,借助服务绑定工具实现不同版本服务组件的动态引用。服务变更可以快速高效的调整服务,使其适应环境和业务的变化发展,及时满足客户的需求变化,提高组合服务的动态适应性和容错性。本文对云制造服务平台中大量存在的服务进行合理管理,有效地挖掘服务间的依赖关系,基于服务依赖对服务依赖求解、服务组合和服务变更进行了相关研究,并应用到云制造服务平台的搭建,指导多租户应用服务的快速构建和运维。下一步需要在服务组件和应用服务的性能和容错性等方面展开进一步的工作。