WO2021253819A1 - 一种基于 PaaS 的微服务编排引擎管理方法 - Google Patents

一种基于 PaaS 的微服务编排引擎管理方法 Download PDF

Info

Publication number
WO2021253819A1
WO2021253819A1 PCT/CN2021/071638 CN2021071638W WO2021253819A1 WO 2021253819 A1 WO2021253819 A1 WO 2021253819A1 CN 2021071638 W CN2021071638 W CN 2021071638W WO 2021253819 A1 WO2021253819 A1 WO 2021253819A1
Authority
WO
WIPO (PCT)
Prior art keywords
microservice
composition
service
workflow
orchestration engine
Prior art date
Application number
PCT/CN2021/071638
Other languages
English (en)
French (fr)
Inventor
孙紫阳
Original Assignee
南京龙猫商业智能科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南京龙猫商业智能科技股份有限公司 filed Critical 南京龙猫商业智能科技股份有限公司
Publication of WO2021253819A1 publication Critical patent/WO2021253819A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Definitions

  • the invention belongs to the technical field of microservices, and specifically relates to a PaaS-based microservice orchestration engine management method.
  • SOA Service-Oriented Architecture
  • Web services provide convenience for cross-platform enterprise development, but in the development model, it adopts a monolithic architecture model.
  • the monolithic architecture is designed, developed, packaged, and deployed and operated as a whole for all the logic modules and operating data required by the business.
  • the monolithic architecture is very important for online software systems that need to deal with complex business logic, huge amounts of data, and high real-time, high reliability, and high scalability requirements. In other words, it has the disadvantages of being difficult to be designed and implemented, low deployment efficiency, and not conducive to maintenance.
  • With the rapid development of Internet technology more and more companies have higher and higher requirements for system reliability, availability, flexibility, and high concurrent processing capabilities.
  • microservices As an emerging technology, Microservices has achieved better solutions in heterogeneous distributed computing, data and code reuse, etc., and has a high degree of platform interoperability, dynamic scalability, and strong fault tolerance. Etc., has received great attention from the engineering and academic circles. However, the functions provided by a single microservice are limited. In most cases, it is necessary to flexibly assemble the existing microservices in the system to achieve a richer service composition scheme to meet the needs of diverse users. Therefore, microservice composition is the key research content in the microservice architecture.
  • microservices lie in the functional decomposition of traditional large-scale application systems based on service-oriented thinking, promoting the use of fine-grained services, and splitting the original monolithic application into a series of independent design, development, deployment, operation and maintenance.
  • the software service unit of the company the services cooperate with each other and have an independent database.
  • microservices are similar to the ideas advocated by SOA, but microservices are more detailed, flexible and simpler than SOA in terms of service granularity or integration methods and service deployment, so they are more suitable for the needs of today's enterprise development. .
  • the traditional single application is decomposed into multiple microservices.
  • the functions provided by a single microservice are limited, and most of the time, it is necessary to flexibly combine the existing microservices in the system to meet the diverse business needs of users. Therefore, the microservice composition can use smaller, simpler, and easy-to-execute lightweight microservices to create complex services with richer functions and more satisfying user requirements, thereby dispersing loosely coupled and independent functions in the process
  • the multiple microservices of the company are integrated to achieve more powerful functions to support the diverse application needs of the enterprise internal and external.
  • microservice composition requires multiple independent microservices with well-defined functions to be aggregated into an overall application that meets application requirements and has more complete functions to provide services through a certain mechanism.
  • an intuitive approach is to learn from the ideas and strategies of Web service composition.
  • two service aggregation strategies Choreography (orchestration) or Orchestration (orchestration) are usually used, and CDL language (Cho-reography Description Language), BPEL language (Busi-ness Process Execution Language) to describe the interaction, collaboration or communication process between services.
  • CDL language Cho-reography Description Language
  • BPEL language Bussi-ness Process Execution Language
  • the above two languages belong to the underlying syntax-based description language.
  • the complexity of the composite service code will increase.
  • they require unit services to have well-defined interfaces and strong type constraints to exchange information.
  • the rapidly changing microservices make it difficult to define their interfaces quickly and to be deployed quickly.
  • the aforementioned two languages need to have a central execution engine such as ESB (Enterprise Service Bus), etc., which are difficult to be used in the microservice architecture.
  • the purpose of the present invention is to provide a PaaS-based microservice orchestration engine management method to solve the above background technology.
  • the CDL language and BPEL language in the prior art belong to the underlying syntax-based description language.
  • they require unit services to have well-defined interfaces and strong type constraints to exchange information.
  • the rapidly changing microservices make it difficult to define their interfaces quickly and to be deployed quickly.
  • the aforementioned two languages need to have a central execution engine such as ESB (Enterprise Service Bus), etc., which are difficult to be used for problems in the microservice architecture.
  • ESB Enterprise Service Bus
  • the present invention adopts the following technical solutions.
  • a PaaS-based microservice orchestration engine management method the specific steps are as follows.
  • S1 Define workflow, use a specific modeling language to define workflow tasks.
  • Workflow can be used as a modeling tool for defining service composition or a coordinated control engine for distributed activities.
  • S2 Execute the workflow, use the orchestration engine tool to manage and control the execution of the predefined workflow.
  • the microservice composition method takes shape.
  • the orchestration engine can check the workload capacity of a single worker through the API interface, and realize the automatic scaling and expansion of the worker instance.
  • the task queue is used to schedule tasks for the workers, and the orchestration engine can check the performance of a single worker through the API interface. Work load capacity, and realize automatic scaling and expansion of Worker instances.
  • workflow tasks described in S1 are mainly implemented by Workers, and communicate with each other through an API layer (disclosed via HTTP).
  • the polling model allows users to handle back pressure on Workers and, when possible, provides automatic scalability based on the queue depth.
  • the establishment of the API layer refers to the naming of the API Layer transaction strategy, based on the fact that all transaction logic is contained in the API layer of the logical application architecture.
  • This layer is a logical layer, sometimes also called The domain layer or facade layer of the application, which exposes functions to the client (or presentation layer) in the form of public methods or interfaces. It is said to be a logical layer because the domain layer can be accessed locally (through direct Instantiation and invocation), or use RMI over Internet via HTTP, remote method invocation (RMI), or EJB Inter-Orb Protocol (RMI-IOP), and even remote access through Java Message Service (JMS).
  • JMS Java Message Service
  • the microservice composition method in S4 further includes a microservice composition method based on state calculus and a microservice composition method based on formal language.
  • the state calculus-based microservice composition method is mainly based on the specific description of the microservice composition and the mapping relationship of the service state graph model, establishes a formal model for the microservice composition, and analyzes it through formal modeling tools Microservice composition system, Petri net model has good formal semantics and intuitive graphical description, so it is often used in the field of Web services as a formal modeling tool for service composition.
  • microservices based on state calculus The composition method is actually a microservice composition method in the form of a workflow, but it mainly completes the feasibility verification of the microservice composition scheme, and focuses more on the formal modeling of the microservice composition.
  • the formal language-based microservice composition method is mainly proposed for semi-automated microservice composition, and its basic idea is to define a specific description language for microservice composition, which contains complex structures and domain-specific semantics. It enables users to describe the required microservice composition and implement service scheduling from a more abstract level.
  • the realization of microservices composition mainly includes two phases: language design and service operation. In the design stage, the semantic specification of the entire service composition process and the syntax and semantic representation of a single service must be given. At this stage, users can declare and configure the services to be used and combined, so that users can express how to complete the abstract description and definition of microservice composition based on the events that may occur on their respective output streams. In the operating phase, a specific language-based microservice composition description must be implemented, which can be combined with a specific microservice architecture platform to achieve dynamic binding and call execution of specific microservices.
  • the PaaS-based microservice orchestration engine management method proposed by the present invention has the following advantages.
  • the invention realizes the definition of a specific domain language in the Json format, solves the problem of unified modeling language in the field of building safety, solves the problem of rapid progress in the combination of tube and microservices and the existence of multiple combined modeling languages, reaches a unified standard, and realizes different constructions. Integration and interaction of model languages.
  • the platform can provide AT, TCC, SAGA and XA transaction modes to create a one-stop distributed transaction solution for users.
  • the SaaS cloud of the construction supply chain industry is built to satisfy the service operation process, service resource integration, and service performance decision-making of the supply chain industry.
  • the virtualization of IT-related technical resources such as SOA and IoT has been widely introduced, and various physical, human, software, information and other service-related resources have been integrated into the supply chain.
  • personalized semantics and dynamic change semantics are expanded on the basis of traditional service/resource semantics, through multi-level resource organization and virtual service resource full life cycle scheduling, so as to support the subsequent personalized supply chain Service plan construction and optimization decision-making under dynamic variability scenarios.
  • the present invention provides a PaaS-based microservice orchestration engine management method as shown in FIG. 1, and the specific steps are as follows.
  • S1 Define workflow, use a specific modeling language to define workflow tasks.
  • Workflow can be used as a modeling tool for defining service composition or a coordinated control engine for distributed activities.
  • S2 Execute the workflow, use the orchestration engine tool to manage and control the execution of the predefined workflow.
  • the microservice composition method takes shape.
  • the orchestration engine can check the workload capacity of a single worker through the API interface, and realize the automatic scaling and expansion of the worker instance.
  • the task queue is used to schedule tasks for the workers, and the orchestration engine can check the performance of a single worker through the API interface. Work load capacity, and realize automatic scaling and expansion of Worker instances.
  • workflow tasks described in S1 are mainly implemented by Workers, and they communicate with each other through the API layer (disclosed via HTTP).
  • the process of interaction between the service workflow and the orchestration engine described in S2 in which the Worker task is implemented by an application program, supports multiple languages, and runs in a different environment with the orchestration engine, and the Worker is mainly based on HTTP endpoints Or any supported RPC mechanism to communicate with the orchestration engine, and use a polling model to manage the work queue.
  • the polling model allows users to handle back pressure on Workers and, when possible, provides automatic scalability based on the queue depth.
  • the establishment of the API layer refers to the naming of the API Layer transaction strategy, based on the fact that all transaction logic is contained in the API layer of the logical application architecture.
  • This layer is a logical layer, sometimes also called The domain layer or facade layer of the application, which exposes functions to the client (or presentation layer) in the form of public methods or interfaces. It is said to be a logical layer because the domain layer can be accessed locally (through direct Instantiation and invocation), or use RMI over Internet via HTTP, remote method invocation (RMI), or EJB Inter-Orb Protocol (RMI-IOP), and even remote access through Java Message Service (JMS).
  • JMS Java Message Service
  • the microservice composition method in S4 also includes a microservice composition method based on state calculus and a microservice composition method based on formal language.
  • the state calculus-based microservice composition method is mainly based on the specific description of the microservice composition and the mapping relationship of the service state graph model, establishes a formal model for the microservice composition, and analyzes it through formal modeling tools Microservice composition system, Petri net model has good formal semantics and intuitive graphical description, so it is often used in the field of Web services as a formal modeling tool for service composition.
  • microservices based on state calculus The composition method is actually a microservice composition method in the form of a workflow, but it mainly completes the feasibility verification of the microservice composition scheme, and focuses more on the formal modeling of the microservice composition.
  • microservice composition method based on formal language is mainly proposed for semi-automated microservice composition. Its basic idea is to define a specific description language for microservice composition, which contains complex structures and domain-specific semantics. It enables users to describe the required microservice composition and implement service scheduling from a more abstract level.
  • the realization of microservices composition mainly includes two phases: language design and service operation. In the design stage, the semantic specification of the entire service composition process and the syntax and semantic representation of a single service must be given. At this stage, users can declare and configure the services to be used and combined, so that users can express how to complete the abstract description and definition of microservice composition based on the events that may occur on their respective output streams. In the operating phase, a specific language-based microservice composition description must be implemented, which can be combined with a specific microservice architecture platform to achieve dynamic binding and call execution of specific microservices.
  • the present invention realizes the definition of a specific domain language of the Json format, solves the problem of a unified modeling language in the field of building safety, and solves the problem of rapid progress in the combination of tube and microservices and the existence of multiple combined modeling languages to achieve a unified Standards to realize the integration and communication of different modeling languages.
  • the platform can provide AT, TCC, SAGA and XA transaction modes to create a one-stop distributed transaction solution for users.
  • the SaaS cloud of the construction supply chain industry is built to satisfy the service operation process, service resource integration, and service performance decision-making of the supply chain industry.
  • the virtualization of IT-related technical resources such as SOA and IoT has been widely introduced, and various physical, human, software, information and other service-related resources have been integrated into the supply chain.
  • personalized semantics and dynamic change semantics are expanded on the basis of traditional service/resource semantics, through multi-level resource organization and virtual service resource full life cycle scheduling, so as to support the subsequent personalized supply chain Service plan construction and optimization decision-making under dynamic variability scenarios.

Abstract

一种基于PaaS的微服务编排引擎管理方法,具体步骤如下:S1:定义工作流;S2:执行工作流;S3:识别工作流;S4:微服务组合方法成形;使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,实现不同建模语言的集成及交互,为用户打造一站式的分布式事务解决方案,从而支持后续的个性化供应链服务方案构建和动态变化性场景下的优化决策。

Description

一种基于PaaS的微服务编排引擎管理方法 技术领域
本发明属于微服务技术领域,具体涉及一种基于PaaS的微服务编排引擎管理方法。
背景技术
随着互联网技术的发展,大型 IT 系统一般采用分布式计算模式,以优化资源配置并提高系统可靠性、可用性、灵活性等。为了便于分布式信息系统的设计、开发与集成,以及提高系统架构的灵活性、复用性、可增长性,面向服务的体系结构 SOA( Service-Oriented Architecture) 随即产生。SOA 体系结构将定义良好的、具有开放接口并独立于硬件、软件平台以及实现技术的单个服务组件关联起来,以构造整体应用并采用松耦合的方式保护既有 IT 基础设施。而 Web 服务及其相关标准和 SOAP、WSDL、UDDI 等协议的出现,为 SOA 的实现提供了技术支撑和处理方案,成为近十多年以来服务计算领域的重点研究内容之一。
尽管基于 SOA 体系结构下,Web 服务为跨平台的企业开发提供了方便,但是在开发模式上,采用的是单体架构模式 。单体架构将所有业务所需的逻辑模块、运行数据等作为整体被设计、开发、打包并部署运行。然而,随着企业业务复杂度的增大以及业务需求的增加,单体架构对于需要应对业务逻辑复杂、数据量庞大,具有高实时性、高可靠性、高伸缩性运行要求的在线软件系统来说,具有难以被设计实现、部署效率低、不利于维护等缺点。随着互联网技术的快速发展,越来越多企业对系统的可靠性、可用性、灵活性及高并发处理能力等方面要求越来越高,而传统的 SOA 体系结构并不能完全满足这样的需求,因此,一种最佳的实践方式就是微服务化。微服务(Microservices)作为一种新兴的技术,在异构分布式计算、数据与代码重用等方面实现了更好的解决方案,并具备高度的平台互操作性、动态扩展能力、强大的容错能力等,受到了工程界、学术界的极大关注。然而,单个微服务提供的功能有限,多数情况下需对系统已有的微服务进行灵活组装,实现更为丰富的服务组合方案,用于满足多样性的用户需求。因此,微服务组合作为微服务体系结构中的重点研究内容。
微服务其核心要义在于基于面向服务的思想,对传统大型应用系统进行功能分解,推动细粒度服务的使用,将原先的单块应用拆分为一系列可被独立设计、开发、部署、运维的软件服务单元,服务间相互协作并拥有独立的数据库。实际上,微服务与 SOA 所推崇的思想相似,但是微服务无论是在服务粒度的划分或者集成方式以及服务部署方面都要比 SOA 更为细致、灵活、简单,因此更适合如今企业发展的需求。
在微服务体系结构中,基于单一职责原则,将传统的单体应用分解为多个微服务。通常,单个微服务提供的功能有限,多数时候需对系统已有的微服务进行灵活组合从而满足用户多样的业务需求。因此,微服务组合可以利用较小、较简单、且易于执行的轻量级微服务来创建功能更为丰富、更满足用户要求的复杂服务,从而将松散耦合的、具备独立功能分散在进程内的多个微服务集成在一起实现更为强大的功能,以支持企业内外部多样性的应用需求。
实际上,与组合 Web 服务的思路类似,微服务组合需将多个独立、功能明确的微服务通过某种机制,聚合成满足应用需求、功能更为完整的整体应用以提供服务。在微服务组合方面,一种直观的做法就是借鉴 Web 服务组合的思路和策略。在 Web 服务组合中,通常采用 Choreography(编排)或 Orchestration(编制)两种服务聚合策略,并分别采用CDL语言(Cho-reography Description Language)、BPEL 语言(Busi-ness Process Execution Language)来描述服务之间的交互、协作或通信过程。尽管服务编排、编制语言在 Web 服务组合中获得成功,但难以直接被应用至微服务组合中。事实上,上述两种语言属于底层基于句法的描述语言,随着交互服务数量的增加将导致组合服务代码复杂性的增大。另一方面,它们要求单元服务有定义良好的接口以及交互信息的强类型约束。但是,快速变化的微服务使得难以快速定义其接口并且难以被快速部署。同时,前述两种语言需要有中心执行引擎如 ESB(Enterprise Service Bus)等,难以被用于微服务体系结构中。
技术问题
本发明的目的在于提供一种基于PaaS的微服务编排引擎管理方法,以解决上述背景技术中提出现有技术中CDL语言和BPEL语言属于底层基于句法的描述语言,随着交互服务数量的增加将导致组合服务代码复杂性的增大。另一方面,它们要求单元服务有定义良好的接口以及交互信息的强类型约束。但是,快速变化的微服务使得难以快速定义其接口并且难以被快速部署。同时,前述两种语言需要有中心执行引擎如ESB(Enterprise Service Bus)等,难以被用于微服务体系结构中的问题。
技术解决方案
为实现上述目的,本发明采用了如下技术方案。
一种基于PaaS的微服务编排引擎管理方法,具体步骤如下。
S1:定义工作流,使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎。
S2:执行工作流,使用编排引擎工具管理和控制预先定义的工作流的执行。
S3:识别工作流,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行。
S4:微服务组合方法成形,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,任务队列用于为worker安排任务,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展。
优选的,所述S1中所述的工作流任务主要由Worker实现,相互之间通过API层(通过HTTP公开)实现通信。
优选的,所述S2中所述的服务工作流与编排引擎交互的过程,其中 Worker 任务由应用程序实现可支持多种语言,并与编排引擎在不同的环境中运行,Worker主要基于HTTP的端点或任何支持的RPC机制与编排引擎进行通信,并使用轮询模型管理工作队列,轮询模型允许用户在Workers上处理背压,并在可能时,基于队列深度提供自动可伸缩性。
优选的,所述API层的建立方式使指API Layer事务策略的命名的,基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的API层,这个层是一个逻辑层,有时也被称为应用程序的域层(domain layer)或facade层,它以公共方法或接口的形式向客户机(或表示层)公开功能,之所以说是逻辑层,是因为可以从本地访问域层(通过直接实例化和调用),或通过HTTP、远程方法调用(RMI)、通过EJB使用RMI over Internet Inter-Orb Protocol (RMI-IIOP),甚至通过Java Message Service(JMS)进行远程访问。
优选的,所述S4中的微服务组合方法还包括基于状态演算的微服务组合方法和基于形式化语言的微服务组合方法。
优选的,所述基于状态演算的微服务组合方法,主要基于微服务组合的具体描述及服务状态图模型的映射关系,为微服务组合建立形式化模型,并通过形式化的建模工具来分析微服务组合系统,Petri网模型具备良好的形式化语义以及直观的图形化描述,因此常被用于Web服务领域中作为服务组合的形式化建模工具,本质上讲,基于状态演算的微服务组合方法实际上也是一种工作流形式的微服务组合方法,但其主要完成微服务组合方案的可行性验证,更偏重于对微服务组合的形式化建模。
优选的,所述基于形式化语言的微服务组合方法主要是针对半自动化的微服务组合提出,其基本思想是为微服务组合定义一种特定描述语言,该语言包含复杂结构及特定领域语义,可使用户从更抽象层次描述所需的微服务组合并实现服务调度。在微服务组合实现时主要包括语言设计及服务运行两个阶段。在设计阶段,须给出整个服务组合流程的语义规范及单个服务的语法、语义表示。此阶段可使用户声明和配置要使用和组合的服务,使用户能够表达如何根据各自输出流上可能发生的事件完成对微服务组合的抽象描述及定义。在运行阶段,须具体实现基于特定语言的微服务组合描述,可将其与具体的微服务架构平台相结合,从而实现具体微服务的动态绑定及调用执行。
有益效果
本发明的技术效果和优点:本发明提出的一种基于PaaS的微服务编排引擎管理方法,与现有技术相比,具有以下优点。
本发明实现了定义一种 Json 格式的特定领域语言,解决在建筑安全领域的统一建模语言问题,解决管微服务组合进展迅速并且存在多种组合建模语言,达到统一的标准,实现不同建模语言的集成及交互。
解决微服务编排的一致性问题,基于saga分布式数据库原理,实现一种在分布式环境下事务管理的方法。平台可以提供 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式事务解决方案。
通过基于PaaS的微服务编排引擎管理平台,构建建筑供应链行业的SaaS 云,满足于供应链行业服务运作流程、服务资源整合、服务性能决策。通过将支持这些服务和运作模式的信息化与数字化基础设施已经广泛由 SOA、IoT 等 IT 相关技术资源的虚拟化引入进来,将各类物理、人、软件、信息等服务相关资源统一纳入供应链服务云的空间当中,在传统服务/资源语义的基础上扩展个性化语义和动态变化性语义,通过多层次的资源组织方式和虚拟服务资源全生命周期的调度,从而支持后续的个性化供应链服务方案构建和动态变化性场景下的优化决策。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1所示的一种基于PaaS的微服务编排引擎管理方法,具体步骤如下。
S1:定义工作流,使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎。
S2:执行工作流,使用编排引擎工具管理和控制预先定义的工作流的执行。
S3:识别工作流,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行。
S4:微服务组合方法成形,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,任务队列用于为worker安排任务,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展。
具体的,所述S1中所述的工作流任务主要由Worker实现,相互之间通过API层(通过HTTP公开)实现通信。
具体的,所述S2中所述的服务工作流与编排引擎交互的过程,其中 Worker 任务由应用程序实现可支持多种语言,并与编排引擎在不同的环境中运行,Worker主要基于HTTP的端点或任何支持的RPC机制与编排引擎进行通信,并使用轮询模型管理工作队列,轮询模型允许用户在Workers上处理背压,并在可能时,基于队列深度提供自动可伸缩性。
具体的,所述API层的建立方式使指API Layer事务策略的命名的,基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的API层,这个层是一个逻辑层,有时也被称为应用程序的域层(domain layer)或facade层,它以公共方法或接口的形式向客户机(或表示层)公开功能,之所以说是逻辑层,是因为可以从本地访问域层(通过直接实例化和调用),或通过HTTP、远程方法调用(RMI)、通过EJB使用RMI over Internet Inter-Orb Protocol (RMI-IIOP),甚至通过Java Message Service(JMS)进行远程访问。
具体的,所述S4中的微服务组合方法还包括基于状态演算的微服务组合方法和基于形式化语言的微服务组合方法。
具体的,所述基于状态演算的微服务组合方法,主要基于微服务组合的具体描述及服务状态图模型的映射关系,为微服务组合建立形式化模型,并通过形式化的建模工具来分析微服务组合系统,Petri网模型具备良好的形式化语义以及直观的图形化描述,因此常被用于Web服务领域中作为服务组合的形式化建模工具,本质上讲,基于状态演算的微服务组合方法实际上也是一种工作流形式的微服务组合方法,但其主要完成微服务组合方案的可行性验证,更偏重于对微服务组合的形式化建模。
具体的,所述基于形式化语言的微服务组合方法主要是针对半自动化的微服务组合提出,其基本思想是为微服务组合定义一种特定描述语言,该语言包含复杂结构及特定领域语义,可使用户从更抽象层次描述所需的微服务组合并实现服务调度。在微服务组合实现时主要包括语言设计及服务运行两个阶段。在设计阶段,须给出整个服务组合流程的语义规范及单个服务的语法、语义表示。此阶段可使用户声明和配置要使用和组合的服务,使用户能够表达如何根据各自输出流上可能发生的事件完成对微服务组合的抽象描述及定义。在运行阶段,须具体实现基于特定语言的微服务组合描述,可将其与具体的微服务架构平台相结合,从而实现具体微服务的动态绑定及调用执行。
综上所述:本发明实现了定义一种 Json 格式的特定领域语言,解决在建筑安全领域的统一建模语言问题,解决管微服务组合进展迅速并且存在多种组合建模语言,达到统一的标准,实现不同建模语言的集成及交。
解决微服务编排的一致性问题,基于saga分布式数据库原理,实现一种在分布式环境下事务管理的方法。平台可以提供 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式事务解决方案。
通过基于PaaS的微服务编排引擎管理平台,构建建筑供应链行业的SaaS 云,满足于供应链行业服务运作流程、服务资源整合、服务性能决策。通过将支持这些服务和运作模式的信息化与数字化基础设施已经广泛由 SOA、IoT 等 IT 相关技术资源的虚拟化引入进来,将各类物理、人、软件、信息等服务相关资源统一纳入供应链服务云的空间当中,在传统服务/资源语义的基础上扩展个性化语义和动态变化性语义,通过多层次的资源组织方式和虚拟服务资源全生命周期的调度,从而支持后续的个性化供应链服务方案构建和动态变化性场景下的优化决策。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

  1. 一种基于PaaS的微服务编排引擎管理方法,其特征在于:该编排引擎管理方法具体步骤如下:
    S1:定义工作流,使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎;
    S2:执行工作流,使用编排引擎工具管理和控制预先定义的工作流的执行;
    S3:识别工作流,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行;
    S4:微服务组合方法成形,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,任务队列用于为worker安排任务,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展。
  2. 根据权利要求1所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述S1中所述的工作流任务主要由Worker实现,相互之间通过API层(通过HTTP公开)实现通信。
  3. 根据权利要求1所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述S2中所述的服务工作流与编排引擎交互的过程,其中 Worker 任务由应用程序实现可支持多种语言,并与编排引擎在不同的环境中运行,Worker主要基于HTTP的端点或任何支持的RPC机制与编排引擎进行通信,并使用轮询模型管理工作队列,轮询模型允许用户在Workers上处理背压,并在可能时,基于队列深度提供自动可伸缩性。
  4. 根据权利要求2所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述API层的建立方式使指API Layer事务策略的命名的,基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的API层,这个层是一个逻辑层,有时也被称为应用程序的域层(domain layer)或facade层,它以公共方法或接口的形式向客户机(或表示层)公开功能,之所以说是逻辑层,是因为可以从本地访问域层(通过直接实例化和调用),或通过HTTP、远程方法调用(RMI)、通过EJB使用RMI over Internet Inter-Orb Protocol (RMI-IIOP),甚至通过Java Message Service(JMS)进行远程访问。
      5. 根据权利要求1所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述S4中的微服务组合方法还包括基于状态演算的微服务组合方法和基于形式化语言的微服务组合方法。
  5. 根据权利要求5所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述基于状态演算的微服务组合方法,主要基于微服务组合的具体描述及服务状态图模型的映射关系,为微服务组合建立形式化模型,并通过形式化的建模工具来分析微服务组合系统,Petri网模型具备良好的形式化语义以及直观的图形化描述,因此常被用于Web服务领域中作为服务组合的形式化建模工具,本质上讲,基于状态演算的微服务组合方法实际上也是一种工作流形式的微服务组合方法,但其主要完成微服务组合方案的可行性验证,更偏重于对微服务组合的形式化建模。
  6. 根据权利要求1所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述基于形式化语言的微服务组合方法主要是针对半自动化的微服务组合提出,其基本思想是为微服务组合定义一种特定描述语言,该语言包含复杂结构及特定领域语义,可使用户从更抽象层次描述所需的微服务组合并实现服务调度。
  7. 在微服务组合实现时主要包括语言设计及服务运行两个阶段。
  8. 在设计阶段,须给出整个服务组合流程的语义规范及单个服务的语法、语义表示。
  9. 此阶段可使用户声明和配置要使用和组合的服务,使用户能够表达如何根据各自输出流上可能发生的事件完成对微服务组合的抽象描述及定义。
  10. 在运行阶段,须具体实现基于特定语言的微服务组合描述,可将其与具体的微服务架构平台相结合,从而实现具体微服务的动态绑定及调用执行。
PCT/CN2021/071638 2020-06-18 2021-01-14 一种基于 PaaS 的微服务编排引擎管理方法 WO2021253819A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010558945.0A CN111722929A (zh) 2020-06-18 2020-06-18 一种基于PaaS的微服务编排引擎管理方法
CN202010558945.0 2020-06-18

Publications (1)

Publication Number Publication Date
WO2021253819A1 true WO2021253819A1 (zh) 2021-12-23

Family

ID=72567465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/071638 WO2021253819A1 (zh) 2020-06-18 2021-01-14 一种基于 PaaS 的微服务编排引擎管理方法

Country Status (2)

Country Link
CN (1) CN111722929A (zh)
WO (1) WO2021253819A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385243A (zh) * 2022-01-11 2022-04-22 北京新桥信通科技股份有限公司 一种控制编排引擎用指令自动化下发方法及装置
CN115412606A (zh) * 2022-08-31 2022-11-29 上海得帆信息技术有限公司 一种基于开源mule集成平台的iPaaS服务编排方法和系统
CN115834669A (zh) * 2023-02-14 2023-03-21 北京邮电大学 一种分布式ai服务引擎系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722929A (zh) * 2020-06-18 2020-09-29 南京龙猫商业智能科技股份有限公司 一种基于PaaS的微服务编排引擎管理方法
CN112418784B (zh) * 2020-11-11 2021-11-30 北京京航计算通讯研究所 一种服务的编排执行系统及方法
CN113238844A (zh) * 2021-05-17 2021-08-10 上海中通吉网络技术有限公司 服务编排执行路径回显方法
CN113791758B (zh) * 2021-09-01 2022-05-17 湖南大学 一种服务编排本地化执行系统及其方法
CN114579261B (zh) * 2022-04-29 2022-09-20 支付宝(杭州)信息技术有限公司 多语言混合流的处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766166A (zh) * 2018-12-29 2019-05-17 优刻得科技股份有限公司 业务流程处理方法、装置、存储介质和设备
CN109918151A (zh) * 2019-03-14 2019-06-21 佳都新太科技股份有限公司 工作流实现方法、装置、设备及存储介质
US20200004668A1 (en) * 2018-07-02 2020-01-02 Capital One Services, Llc Systems and methods for failure detection with orchestration layer
CN111722929A (zh) * 2020-06-18 2020-09-29 南京龙猫商业智能科技股份有限公司 一种基于PaaS的微服务编排引擎管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11056107B2 (en) * 2018-03-30 2021-07-06 International Business Machines Corporation Conversational framework
CN110517165A (zh) * 2019-06-03 2019-11-29 武汉市自来水有限公司 一种水务微服务支撑平台
CN111142867B (zh) * 2019-12-31 2024-04-02 谷云科技(广州)有限责任公司 微服务架构下的服务可视化编排系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200004668A1 (en) * 2018-07-02 2020-01-02 Capital One Services, Llc Systems and methods for failure detection with orchestration layer
CN109766166A (zh) * 2018-12-29 2019-05-17 优刻得科技股份有限公司 业务流程处理方法、装置、存储介质和设备
CN109918151A (zh) * 2019-03-14 2019-06-21 佳都新太科技股份有限公司 工作流实现方法、装置、设备及存储介质
CN111722929A (zh) * 2020-06-18 2020-09-29 南京龙猫商业智能科技股份有限公司 一种基于PaaS的微服务编排引擎管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Netflix Conductor: a Microservices Orchestration", NETFLIX, 5 January 2017 (2017-01-05), XP055881554, Retrieved from the Internet <URL:https://www.infoq.cn/article/netflix-conductor-a-micro-service-orchestration> *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385243A (zh) * 2022-01-11 2022-04-22 北京新桥信通科技股份有限公司 一种控制编排引擎用指令自动化下发方法及装置
CN114385243B (zh) * 2022-01-11 2022-08-16 北京新桥信通科技股份有限公司 一种控制编排引擎用指令自动化下发方法及装置
CN115412606A (zh) * 2022-08-31 2022-11-29 上海得帆信息技术有限公司 一种基于开源mule集成平台的iPaaS服务编排方法和系统
CN115412606B (zh) * 2022-08-31 2024-01-23 上海得帆信息技术有限公司 一种基于开源mule集成平台的iPaaS服务编排方法和系统
CN115834669A (zh) * 2023-02-14 2023-03-21 北京邮电大学 一种分布式ai服务引擎系统
CN115834669B (zh) * 2023-02-14 2023-05-09 北京邮电大学 一种分布式ai服务引擎系统

Also Published As

Publication number Publication date
CN111722929A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
WO2021253819A1 (zh) 一种基于 PaaS 的微服务编排引擎管理方法
Sheng et al. Configurable composition and adaptive provisioning of web services
Bucchiarone et al. A survey on services composition languages and models
Yan et al. Researching and Designing the Architecture of E-government Based on SOA
Vasyutynskyy et al. Layered architecture for production and logistics cockpits
Barrett et al. Model driven distribution pattern design for dynamic web service compositions
WO2016095373A1 (zh) 业务处理方法及装置
Fayaza Service oriented architecture in enterprise application
CN112506496B (zh) 晶上系统开发环境搭建方法及系统
CN100464303C (zh) 构件化软件系统中实现分布式业务逻辑计算的方法
Liu et al. Architecture of information system combining SOA and BPM
Xing et al. Remote collaborative experiments based on service-oriented architecture (soa)
He Integration and orchestration of heterogeneous services
Wei Research on an information application integration platform based on SOA and web service
Li et al. Decentralized workflow modeling and execution in service-oriented computing environment
Bobroff et al. A distributed job scheduling and flow management system
Polleres et al. Modeling services for the Semantic Grid
Toma et al. Towards semanticweb services in grid environments
Balasooriya et al. A middleware architecture for enhancing web services infrastructure for distributed coordination of workflows
Jin et al. Components and workflow based Grid programming environment for integrated image‐processing applications
Li et al. Conceptual framework for collaborative business based on service oriented grid computing
Lilan et al. Research on SOA-based manufacturing grid and service modes
Ji A web-based enterprise application integration solution
Liyong et al. Leveraging legacy workflow capabilities in a Grid environment
Youxin et al. Design of workflow engine based on wcf

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21825660

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21825660

Country of ref document: EP

Kind code of ref document: A1