节点文献

支持服务协同的PaaS平台中服务动态演化方法研究

Research on Dynamic Services Evolution Based on Services Collaboration Supported PaaS Platform

【作者】 王蜜

【导师】 崔立真;

【作者基本信息】 山东大学 , 计算机软件与理论, 2011, 硕士

【摘要】 随着软件技术和网络技术的不断成熟,软件的交付模式、应用模式、产品形态和商业模式都产生了巨大的变化,软件已经成为一种服务(Software as a service,SaaS)。用户本地不再需要安装任何软件,按需定制,无须维护,在线更新,并且采用免费或者按需付费的租赁商业模式。采用软件即服务(SaaS)的交付、部署、运营和使用模式正在得到越来越广泛的关注和认可。与此同时,以分布式计算、虚拟化为代表的云计算技术促进了新型软件架构及相关技术的快速发展,为SaaS服务提供了更广阔的应用前景,使得根据用户需求的不同以SaaS模式定制个性化的面向云计算的应用服务成为可能。然而,云计算环境下的SaaS服务在应用推广的过程中面临一个巨大挑战,即缺乏统一的支撑平台。如现有的SaaS应用还不能很好的支持租户规模的动态扩展和伸缩,而设计和实现支持这种多租户特性的技术却是十分复杂的,这严重阻碍了SaaS服务的大规模应用推广。为此,出现了一些面向云计算的平台化服务,为SaaS应用生成商提供了一个集开发、部署、集成、设计、存储、操作于一体的平台及环境,我们称之为PaaS平台。该平台为SaaS应用提供了一种新型的面向云计算的交付、部署和使用支撑环境和工具。但是,目前对于PaaS平台的研究大多集中在单一应用的定制、交付、使用和部署等方面,缺乏对协同应用的支持,这不符合大型网络应用网络化、协同化、跨域化的发展趋势。同样,开发、管理、支撑这样一个大型协同应用非常复杂,具备这种能力的软件生产企业并不多。为此,本文提出一个支持服务协同的PaaS平台,该平台提供一种新型面向云计算的协同应用开发,交付、部署,定制和使用模式,基于支持服务协同的PaaS平台,专业化服务提供商只需关注自己服务的具体实现,而无需考虑协同应用底层技术实现,如一些分布式服务调用、应用跨域协同、协同应用适配等关键技术实现。通过支持服务协同的PaaS平台提供的各种工具和技术支撑,服务集成商和行业用户可以快速、正确的构建协同应用。基于上述应用模式,支持服务协同的PaaS平台将汇聚众多专业化的软件服务资源,这些服务资源是构建及定制大型协同应用的基础,行业服务解决方案提供商和集成商可以对服务资源进行组合编排形成跨域协同服务,而最终行业用户可以在此基础上对协同服务进行个性化定制,从而满足自身业务需求。由于交付部署在支持服务协同的PaaS平台上的软件服务可能来源于不同的软件服务提供商,一旦服务提供商对某个软件服务的业务逻辑或是内部服务流程进行调整,就可能对整个协同应用的协同关系及其协作运行造成影响,我们称这样的变化为支持服务协同的PaaS平台中服务动态演化问题。该服务演化问题不同于传统的服务及服务流程演化问题,主要表现在:1)PaaS平台中软件服务协同演化影响问题。由于部署在PaaS平台中的服务来自不同的提供商,因此对服务流程进行调整不仅会影响该服务本身,而且会对整个协同应用也带来一定的影响,如何计算和衡量影响的大小以及如何将演化影响控制在一定的范围内成为演化影响分析的关键问题。2)PaaS平台中软件服务协同演化传播问题。一旦某个服务提供商对服务流程进行调整,协同应用的其他服务是否需要进行相应调整是我们进行演化传播的前提,如果协同应用中的其他服务流程需要进行相应的调整,如何自动高效的进行变化传播是我们关注的重点。3)PaaS平台中协同服务运行实例迁移问题。PaaS协同应用中服务的演化往往发生在协同应用的执行过程中,因此,一旦服务流程由旧模式演化到新模式后,那些仍运行在旧模式下的流程实例将无法正确的执行下去,所以我们需要考虑如何将运行实例尽量多的正确的迁移到新模式下继续运行。本文针对支持服务协同的PaaS平台中服务动态演化问题开展深入研究。首先提出了支持服务协同的PaaS平台的体系结构并对每个功能模块以及平台提供的工具和技术进行阐述。然后针对上述支持服务协同PaaS平台中服务流程演化存在的问题给出了整体的解决方案,主要分为以下几个部分:1、针对PaaS平台下分布式协同应用间流程的演化影响问题进行量化分析。在服务协同环境下,一个应用的流程结构发生变化会对依赖该应用的其他应用造成一定的影响,这个影响如何量化表示就成了关键问题,我们提出了一种可以量化表示演化影响的方法,使演化影响可以控制在成本较低的范围之内。2、针对PaaS平台下分布式协同应用间流程演化问题提出演化自动传播技术。当分布式协同模式中一个应用中的流程发生变化,是否会影响到其他应用,受影响的其他应用如何进行演化适配,并尽可能使该适配过程自动完成,这就是变化传播所要解决的问题,在这一技术中,我们提出了一系列有限自动机的操作集来完成变化传播的自动适配。3、针对PaaS平台下运行实例动态迁移问题提出实例动态迁移技术。当一个流程从旧模式演化为新模式时,在旧模式下运行的大量实例将面临无法继续正确执行的问题,我们提出了一系列实例动态迁移标准来最大限度的区分可迁移实例与不可迁移实例,并分别对其进行迁移处理。本文研究成果是支持服务协同的PaaS交付平台中流程演化分析的核心技术,对于流程动态演化的各个阶段都有重要的指导意义,具有较广阔的应用前景。

【Abstract】 With the software and network technology develops to mature, the model of software delivery, application, product form and business model has made dramatic changes, the software has become a service (Software as a service, SaaS). Users no longer need to install any of the local software, they custom the software on-demand, update it online, need no maintenance, and use it with the rental business model which is for free or for subscription. SaaS as a delivery, deployment, operation and use patterns are astracting more and more attention and recognition. At the same time, the conception of Cloud Computing with the features of distribution and virtualization has promoted the rapid development of new type of software pattern architecture and related technology, it also provide a wider prospects for SaaS application, which makes the users customize the personalized SaaS services as possible. However, the promotion of SaaS services application process in Cloud Computing environment is facing a great challenge, namely the lack of unified support platform.For example, some existing SaaS applications can not well support the dynamic expansion and scale of tenants. But the design and implementation of the technology to support the multi-tenant properties is very comples, which seriously hindered the large-scale application and popularization of SaaS services.Therefore, a number of PaaS platform has realized to support SaaS application delivery and deployment. PaaS platform provides such a development, deployment, integration, design, storage, operating in one of the platform and environment. However, the current study for PaaS platforms are mostly concentrated in supporting the custom, delivery, use and deployment of a single application, they alll lack the support for collaborative applications, which do not meet the large-scale network applications’ development trend of networking, collaboration and the cross-domain. Similarly, the technology of development, management and support such a large-scale collaborative applications are very complex, Therefore, in our paper, we promote a PaaS platform which support the services collaboration. This platform provide a new type of software pattern to support the development, delivery, deployment, customization and use of the collaboration of SaaS services. The services provider do not need to pay attention to the complex underlying implementation technology, they just need to focus their own services. With the variety of tools and technical support provided by the platform, we can build the collaborative applications in a quick and correct way.Based on the application mode above, the platform will bring together many professional software services resources which are the basis for building the collaborative applications.Industry service providers and integrators can arranged and combined these services to form form multiple cross-domain collaboration service, and the ultimately industry users can customize the services to meet their individual needs. However, the services deployed on the platform may come from different software providers, once a provider need to change the business process of one service, it would make some impacts on the collaboration and running of the collaborative application. We call this situation as the services dynamic evolution problem on PaaS platform which support the services collaboration.The services evolution problem needs to focus on such respects: 1. Impact of service evolution. The changes on one service not only impacts the application but also impact some other applications. How to compute this impact and how to assure the impact under the control become the key issue.2. Change propagation. When we change the process structure, we need to consider whether other collaborative applications may suffer the change impact. We also need to provide a automatic propagation technology.3. Running instances immigration. The services evolution occur in the execution of collaborative applications. Once the process schema migrates from the old pattern to the new one, the running instances under the old schema need to migrate to the new one, how to assure the correctness of immigration is the key issue.Therefore, we provide a PaaS architecture and description of the models of the platform. Then we solve the problem brought by the evolution of the applications in PaaS delivery platform such as the change impact analysis and automatically resolve application process change propagation depends on the impact of other issues, and the migration of running process instances. The main work of this paper are:1. The quantitative analysis of the distributed processes evolution of collaborative applications in PaaS platform. The processes evolution can be divided into many category such as the evolution of the process structure, protocol-driven business evolution, policy-driven and behaviour-driven evolution and the evolution of operational, the major concern of our paper is the structure evolution which is the most complex and most critical question. Under the collaborative environment, an change in one process structure of an application will impact other applications who depend on the application, how to describe the impact into a quantitatively number become the key issue, we provide an evolutionary effects analysis method which make the impact expressed in quantitatively and can limit and control the evolution in lower-cost range.2. We provide the change propagation method for the evolution of inter-process of distributed collaborative applications in PaaS platform. When the process of an application in distributed collaborative model need to change, it will affect other applications, how will other affected applications make the relative adjustment to realize the adaption as much automatically as possible become the key problem. We provide a range of operations of finite automata to complete the change propagation in an automatic way.3. We provide a on-line migration method for running instance of processes. When a process is changed from the old schema to the new one, running instances under the old model will face the problem that they may not continue to run correctly in the new schema, how to make a smooth migration of the old instance to the new model become the major problem. we use state of the path to find a way to determine the instance of the point and the migration path of the migration, so that dynamic migration of running instances.This research focus on the key techniques in the evolution of distributed collaborative processes of applications in PaaS delivery platform which provide the guide for the entire life cycle of service processes and has a wide application prospects.

  • 【网络出版投稿人】 山东大学
  • 【网络出版年期】2012年 04期
节点文献中: