CN112418784B - 一种服务的编排执行系统及方法 - Google Patents
一种服务的编排执行系统及方法 Download PDFInfo
- Publication number
- CN112418784B CN112418784B CN202011253212.2A CN202011253212A CN112418784B CN 112418784 B CN112418784 B CN 112418784B CN 202011253212 A CN202011253212 A CN 202011253212A CN 112418784 B CN112418784 B CN 112418784B
- Authority
- CN
- China
- Prior art keywords
- service
- task
- server
- module
- interface
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本发明涉及一种服务的编排执行系统及方法,属于网络技术领域,解决了现有的微服务编排执行方式操作复杂、成本高、灵活性差的问题。该系统包括,注册模块,用于将多个服务应用在服务资源池中进行注册;服务任务定义模块,用于对服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;服务编排模块,用于根据用户需求设置服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;服务器根据用户需求执行所述服务流;worker模块,用于为编排、执行所述服务流提供接口和服务。提高了微服务编排的可拓展性和灵活度,并且提高了代码的复用率,降低了技术人力成本。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种服务的编排执行系统及方法。
背景技术
微服务是目前流行的一种新兴的软件架构风格,在微服务体系结构中,可以将应用分解为多个更小颗粒度的服务,各个服务可以由不同的团队并行独立开发、部署。当一个系统采用了微服务架构后,原有的业务可能并没有发生变化,但系统已被拆分成了很多新的微服务,与传统架构相比,微服务架构下会更依赖通过各微服务之间的协作来实现一个完整的业务流程,这种协作就是服务编排。编排涉及到RPC、分布式事务等,需要有完善的编排框架来支撑。
现有的微服务编排方法,在微服务编排过程中,需要根据编排引擎的开发规范或者接口API,对已有微服务进行改造,或者根据开发规范对微服务进行重新开发。然后才能对改造的微服务进行具体的服务编排,编排完成后再进行具体程序的执行。
现有技术至少存在以下缺陷:一是,现有的微服务编排方法中,均是已经编排好的微服务流,普适性差,且微服务流中的各微服务耦合度高、灵活性差、维护困难,进行重新编排时,需要对微服务进行大量的修改,技术和人力成本高;二是对于封闭的微服务或单体架构,无法通过修改其源码对其进行重新编排,代码复用率低,且导致降低了对微服务的使用率。
发明内容
鉴于上述的分析,本发明旨在提供一种服务的编排执行系统及方法,用以解决现有微服务编排执行方法灵活性差、代码复用率低且技术人力成本高的问题。
一方面,本发明提供了一种服务的编排执行系统,包括服务器和worker模块,所述服务器包括注册模块、服务资源池、服务任务定义模块、服务编排模块:
注册模块,用于将多个服务应用在服务资源池中进行注册;多个所述服务应用存储于不同的业务系统;所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;
服务任务定义模块,用于对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;
服务编排模块,用于根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;
所述服务器根据用户需求执行所述服务流;
worker模块,用于为编排、执行所述服务流提供接口和服务。
进一步的,所述worker模块进一步用于,提供远程调用接口、服务任务定义接口和服务任务执行接口;
所述服务任务定义接口通信连接所述服务任务定义模块和服务器;
所述远程调用接口通信连接所述worker模块和所述业务系统;
所述服务任务执行接口通信连接所述worker模块和服务器。
进一步的,还包括数据库,所述注册模块,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将所述注册信息存储于所述数据库。
进一步的,所述服务编排模块,通过服务器提供的流程编排接口生成服务流,并为所述服务流配置对应的服务标识。
进一步的,所述worker模块进一步用于,为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息。
进一步的,所述服务器通过下述方式执行所述服务流:
所述服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;
所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述输入数据传送至所述服务应用,得到输出结果,并根据其中注册的所述输出信息将对应的输出结果发送至所述服务器;
所述服务器,根据接收到的所述输出结果控制对应的下一任务的执行,直至得到所述服务流的输出结果。
另一方面,本发明提供了一种服务的编排执行方法,包括以下步骤:
将多个服务应用在服务资源池中进行注册;多个所述服务应用存储于不同的业务系统所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;
对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;
根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;
所述服务器根据用户需求执行所述服务流;
以及为编排、执行所述服务流提供对应的接口和服务。
进一步的,所述为编排、执行所述服务流提供对应的接口和服务,包括:
为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息;
以及提供远程调用接口、服务任务定义接口和服务任务执行接口;
所述服务任务定义接口通信连接所述服务任务定义模块和服务器;
所述远程调用接口通信连接所述worker模块和业务系统;
所述服务任务执行接口通信连接所述worker模块和服务器。
进一步的,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将所述注册信息存储于所述数据库。
进一步的,所述服务器通过下述方式执行所述服务流:
所述服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;
所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述输入数据传送至所述服务应用,得到输出结果,并根据其中注册的所述输出信息将对应的输出结果发送至所述服务器;
所述服务器,根据接收到的所述输出结果控制对应的下一任务的执行,直至得到所述服务流的输出结果。
与现有技术相比,本发明至少能够实现有益效果之一:
1、本发明提出的服务的编排执行系统及方法,根据用户需求确定每一服务应用所需执行的任务以及执行任务的顺序,以生成服务流,服务器根据该服务流,可以通过worker模块向执行相应任务的服务应用发送指令和输入信息,从而得到相应的结果,无需对微服务或单体架构应用的源代码进行修改,便可实现异构系统间微服务或单体架构应用的协作,提高了代码的重复使用率,节省了大量的技术和人力成本;此外,该系统能够根据用户的不同需求生成不同的服务流,并执行该服务流,提高了服务编排的灵活度,且拓展性强、适用性强,规避了现有服务编排形式固定,可提供的服务数量有限的问题。
2、本发明提出的服务的编排执行系统及方法,可以对单体架构应用直接进行服务编排,无需将单体架构应用重构成微服务架构,节省了人力成本,且提高了对单体架构应用的使用效率,同时也解决了一些封闭的微服务或单体架构应用无法修改源码的问题。
3、本发明提出的服务的编排执行系统及方法,将微服务和单体架构应用注册至服务资源池中,进行统一管理和维护,当需要对微服务或单体架构应用进行修改或升级时,只需在资源服务池中单独进行修改,规避了现有的服务编排中各服务的耦合度高、维护困难且拓展性差的问题。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例服务编排执行系统的示意图;
图2为本发明实施例服务编排执行方法的流程图;
图3为本发明实施例服务资源池的示意图;
图4为本发明实施例生成的“下单业务”服务流的示意图;
图5为本发明实施例执行“下单业务”服务流的流程图;
图6为本发明实施例生成的“商品退货”服务流的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
现有技术中,对服务应用(微服务或单体架构应用)的编排方式多为固定的。示例性的,现有第一服务应用、第二服务应用、第三服务应用和第四服务应用,根据编排引擎的开发规范或者API接口对上述服务应用进行适当的修改源码以生成对应的服务流,示例性的,生成的第一服务流包括顺序连接的第一服务应用、第二服务应用和第四服务应用,该三种服务应用间的耦合度高,维护困难。且用户在使用时,只能使用现有的生成的服务流,当现有的服务流无法满足用户需求时,只能根据需求对服务应用进行重新开发,然后进行编排。此外,对单体架构应用进行编排时,需要进行大量的改造,且对技术人员的要求高。因此现有的服务编排方式能够提供的服务受限,对微服务或单体架构应用的使用灵活度差,拓展性差,且复用率低,技术和人力成本高,对服务应用维护困难。
为解决上述问题,本发明的一个具体实施例,公开了一种服务的编排执行系统。如图1所示,该系统包括服务器和worker模块,其中,服务器包括注册模块、服务资源池、服务任务定义模块、服务编排模块:
注册模块,用于将多个服务应用在服务资源池中进行注册。其中,多个服务应用可以属于同一业务系统也可以属于不同的业务系统,因而能够实现异构系统间的服务协作。示例性的,水果查询服务应用和蔬菜查询服务位于果蔬业务系统中,发票查询服务应用位于发票业务系统中。服务应用的类型包括微服务应用和单体架构应用。每一服务应用至少可执行一种任务。示例性的,一个服务应用可以查询水果的价格、产地和库存,即其可执行三种任务。
考虑到每一服务应用执行不同的任务时,其输入信息和需要的输出信息是不同的,因此,服务任务定义模块,用于通过json格式对服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中。具体的,服务应用执行查询水果价格的任务时,输入信息为某一种类的水果价格(例如橘子价格),用户可能只输入了对应的水果种类,此时,服务应用的输出结果可能包括水果价格为10元/千克、水果产地为浙江和水果库存为200千克,因此需要设置与水果价格对应的输出信息,使服务器只获取水果价格为10元/千克这一输出结果。此外,失败重试策略,即当服务应用没有输出结果,或者服务处理过程中出现异常,设置服务应用重新计算以及重新结算的次数,或者结束服务,或者进行服务回滚。
服务编排模块,用于根据用户需求设置服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中。具体的,通过服务器提供的流程编排接口生成服务流,并为服务流配置对应的服务标识(ID)。
服务器根据用户需求以及服务流的服务标识执行对应的服务流。
worker模块,用于为编排、执行服务流提供接口和服务。
优选的,worker模块进一步用于,提供远程调用接口、服务任务定义接口和服务任务执行接口。
其中,服务任务定义接口通信连接服务任务定义模块和服务器,服务任务定义模块定义好每一服务应用可执行的每一任务的输入信息、输出信息和失败重试策略后,通过服务任务定义接口注册至服务器中。
远程调用接口通信连接worker模块和存储服务应用的其他业务系统。远程调用接口为worker模块从其他业务系统中调用对应服务应用的通用接口。
服务任务执行接口通信连接worker模块和服务器,其具体作用过程在后续具体说明。
优选的,该系统还包括数据库,用于存储注册信息。具体的注册模块注册服务应用生成的注册信息,包括服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将注册信息存储于数据库中。示例性的,服务应用的名称可以是水果服务、蔬菜服务等,水果服务对应的任务名称可以是查询水果价格、查询水果产地、查询水果库存等。
优选的,worker模块进一步用于,为每一服务应用可执行的每一种任务配置对应的worker服务,该worker服务中注册有对应任务的输入信息和输出信息,还包括对应的服务应用所执行的任务名称以及服务器地址。
优选的,服务器通过下述方式执行服务流:
服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对服务流中每一任务的执行状态进行监控,以及根据监控结果实现服务应用的调度。具体的,输入第一个任务节点的输入参数,启动成功后,服务器根据该服务流的服务标识(ID)监控整个服务流中每一任务节点的执行状态,执行状态包括完成状态(COMPLETED)、失败状态(FAILED)以及请求超时的状态(TIMED_OUT)。当服务器监测到某一任务节点的状态为失败(FAILED)时,则整个服务流执行结束,并将具体错误信息通知给相关人员或者录入日志;当服务器监测到某一任务节点的状态为完成(COMPLETED)时,则调用下一服务应用执行对应的任务,此时该任务显示的状态为处理中;当服务器监测到某一任务节点的状态为请求超时(TIMED_OUT)时,服务器则根据设置的当前任务的失败重试策略进行调度。
worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;当执行状态为处理中时,worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将提取的输入数据传送至服务应用,得到输出结果,并根据其中注册的输出信息将对应的输出结果发送至服务器。具体的,远程调用接口是worker模块与业务系统的通用接口,基于该远程调用接口,worker服务能够提供服务器与服务应用间的通信接口,并通过该通信接口将提取的输入数据传送至服务应用。示例性的,查询水果价格时,服务应用得到的输出结果可能是水果价格、水果产地和水果库存,则worker服务能够根据其中注册的输出信息将服务应用得到的仅水果价格这一输出结果发送至服务器。
服务器,根据接收到的输出结果控制对应的下一任务的执行,直至进入该服务流的结束节点,得到该服务流最终的输出结果。
优选的,已生成的服务流及对应的服务标识已注册至服务器,因此后续接收到相应的服务请求时,可以根据服务流的服务标识直接进行调用执行服务流获得结果。
本发明的另一个实施例,公开了一种服务的编排执行方法。
由于本实施例公开的服务编排执行方法与上述公开的服务编排执行系统的原理相同,因此重复之处可以参考上述系统实施例,在此不再赘述。
如图2所示,该方法包括以下步骤:
将多个服务应用在服务资源池中进行注册;其中,多个服务应用可以属于同一业务系统也可以属于不同的业务系统,因而能够实现异构系统间的服务协作。服务应用的类型包括微服务应用和单体架构应用;服务应用至少可执行一种任务。
对服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中。
根据用户需求设置服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中。
服务器根据用户需求执行服务流。
以及为编排、执行服务流提供对应的接口和服务。
优选的,为编排、执行所述服务流提供对应的接口和服务,包括:
为每一服务应用可执行的每一种任务配置对应的worker服务,该worker服务中注册有对应任务的输入信息和输出信息。
以及提供远程调用接口、服务任务定义接口和服务任务执行接口。
其中,服务任务定义接口通信连接服务任务定义模块和服务器。远程调用接口通信连接worker和业务系统。服务任务执行接口通信连接所述worker模块和服务器。
优选的,注册服务应用生成的注册信息,包括服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将注册信息存储于数据库。
优选的,服务器通过下述方式执行服务流:
服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对服务流中每一任务的执行状态进行监控,以及根据监控结果实现服务应用的调度。具体的,输入第一个任务节点的输入参数,启动成功后,服务器根据该服务流的服务标识(ID)监控整个服务流中每一任务节点的执行状态,执行状态包括完成状态(COMPLETED)、失败状态(FAILED)以及请求超时的状态(TIMED_OUT)。当服务器监测到某一任务节点的状态为失败(FAILED)时,则整个服务流执行结束,并将具体错误信息通知给相关人员或者录入日志;当服务器监测到某一任务节点的状态为完成(COMPLETED)时,则调用下一服务应用执行对应的任务,此时该任务显示的状态为处理中;当服务器监测到某一任务节点的状态为请求超时(TIMED_OUT)时,服务器则根据设置的当前任务的失败重试策略进行调度。
worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;当执行状态为处理中时,worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将提取的输入数据传送至服务应用,得到输出结果,并根据其中注册的输出信息将对应的输出结果发送至服务器。具体的,远程调用接口是worker模块与业务系统的通用接口,基于该远程调用接口,worker服务能够提供服务器与服务应用间的通信接口,并通过该通信接口将提取的输入数据传送至服务应用。示例性的,查询水果价格时,服务应用得到的输出结果可能是水果价格、水果产地和水果库存,则worker服务能够根据其中注册的输出信息将服务应用得到的仅水果价格这一输出结果发送至服务器。
服务器,根据接收到的输出结果控制对应的下一任务的执行,直至进入该服务流的结束节点,得到该服务流最终的输出结果。
为了更好的证明本发明的有益效果,现提供下述具体实施例。
如图3所示,服务资源池中注册的服务应用包括订单管理、物流管理、财务管理、库存管理、用户管理、会员管理和售后管理。服务器中的所有服务流将通过调用该资源池中的部分服务应用形成。
以用户购买商品为例,用户选择一个商品并下单,则对应的触发商品“下单业务”服务流,该服务流包括创建订单、更新库存、通知商家发货、生成物流信息、通知买家收货等任务,对应的微服务架构下,这些任务分别由服务应用订单管理、库存管理、用户管理、物流管理执行,其中订单管理服务负责以订单为主的业务,库存管理服务负责仓储管理业务,用户管理负责人员方面业务,物流管理为第三方物流公司提供的服务。
具体的,分别为订单管理中执行“创建订单”的任务、库存管理中执行“更新库存”的任务、用户管理中执行“通知商家发货”的任务、物流管理中执行“生成物流信息”以及用户管理中执行“通知买家收货”的任务配置对应的worker服务。
然后,利用服务编排模块生成对应的服务流并注册至服务器中,服务器根据该服务流的服务标识“下单业务”执行相应的服务流。在实际操作中,用户只需要在用户界面按照业务流程顺序将多个任务拖拽至对应的位置,即可获得对应的服务流,如图4所示。
服务器执行“下单业务”服务流,具体执行流程如图5所示。在用户界面,当用户选择商品并下单付款后将自动触发“下单业务”服务流,其中所有对应的worker服务通过监排服务器中已注册的自身关注的任务状态,并将执行结果推入下一个任务,直到整个服务执行结束。
同样的,用户退货时,则相应的触发“商品退货”服务流。如图6所示,该服务流涉及的服务应用包括售后管理、物流管理、库存管理和财务管理,并采用与上述相同的方法生成服务流并执行服务流。
由此可见,基于同一个服务资源池中注册的服务应用,根据用户业务需求可以提供不同的业务服务。
与现有技术相比,本发明提出的服务的编排执行系统及方法,首先,根据用户需求确定每一服务应用所需执行的任务以及执行任务的顺序,以生成服务流,服务器根据该服务流,可以通过worker模块向执行相应任务的服务应用发送指令和输入信息,从而得到相应的结果,无需对微服务或单体架构应用的源代码进行修改,便可实现异构系统间微服务或单体架构应用的协作,提高了代码的重复使用率,节省了大量的技术和人力成本;此外,该系统能够根据用户的不同需求生成不同的服务流,并执行该服务流,提高了服务编排的灵活度,且拓展性强、适用性强,规避了现有服务编排形式固定,可提供的服务数量有限的问题。此外,本发明提出的服务的编排执行系统及方法,可以对单体架构应用直接进行服务编排,无需将单体架构应用重构成微服务架构,节省了人力成本,且提高了对单体架构应用的使用效率,同时也解决了一些封闭的微服务或单体架构应用无法修改源码的问题。最后,本发明提出的服务的编排执行系统及方法,将微服务和单体架构应用注册至服务资源池中,进行统一管理和维护,当需要对微服务或单体架构应用进行修改或升级时,只需在资源服务池中单独进行修改,规避了现有的服务编排中各服务的耦合度高、维护困难且拓展性差的问题。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种服务的编排执行系统,其特征在于,包括服务器和worker模块,所述服务器包括注册模块、服务资源池、服务任务定义模块、服务编排模块;
所述注册模块,用于将多个服务应用在所述服务资源池中进行注册,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,多个所述服务应用存储于不同的业务系统;所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;
所述服务任务定义模块,用于对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;
所示服务编排模块,用于根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;所示服务编排模块具体通过服务器提供的流程编排接口生成服务流,并为所述服务流配置对应的服务标识;
所述worker模块,用于为编排、执行所述服务流提供接口和服务,所述接口包括远程调用接口、服务任务定义接口和服务任务执行接口;
所述服务任务定义接口通信连接所述服务任务定义模块和服务器;
所述远程调用接口通信连接所述worker模块和所述业务系统;
所述服务任务执行接口通信连接所述worker模块和服务器;
所述worker模块,还用于为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息;
所述服务器根据用户需求执行所述服务流,具体包括:
根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;
所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述输入数据传送至所述服务应用,得到输出结果,并根据其中注册的所述输出信息将对应的输出结果发送至所述服务器;
所述服务器,根据接收到的所述输出结果控制对应的下一任务的执行,直至得到所述服务流的输出结果。
2.根据权利要求1所述的一种服务的编排执行系统,其特征在于,还包括数据库,用于存储所述注册信息。
3.一种服务的编排执行方法,其特征在于,包括以下步骤:
将多个服务应用在服务资源池中进行注册,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口;多个所述服务应用存储于不同的业务系统;所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;
对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;
根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中,具体通过服务器提供的流程编排接口生成服务流,并为所述服务流配置对应的服务标识;
为编排、执行所述服务流提供对应的接口和服务,所述接口包括远程调用接口、服务任务定义接口和服务任务执行接口;
所述服务任务定义接口通信连接服务任务定义模块和服务器;
所述远程调用接口通信连接worker模块和所述业务系统;
所述服务任务执行接口通信连接worker模块和服务器;
以及为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息;
所述服务器根据用户需求执行所述服务流,具体包括:
根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;
所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述输入数据传送至所述服务应用,得到输出结果,并根据其中注册的所述输出信息将对应的输出结果发送至所述服务器;
所述服务器,根据接收到的所述输出结果控制对应的下一任务的执行,直至得到所述服务流的输出结果。
4.根据权利要求3所述的一种服务的编排执行方法,其特征在于,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将所述注册信息存储于数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011253212.2A CN112418784B (zh) | 2020-11-11 | 2020-11-11 | 一种服务的编排执行系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011253212.2A CN112418784B (zh) | 2020-11-11 | 2020-11-11 | 一种服务的编排执行系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112418784A CN112418784A (zh) | 2021-02-26 |
CN112418784B true CN112418784B (zh) | 2021-11-30 |
Family
ID=74781574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011253212.2A Active CN112418784B (zh) | 2020-11-11 | 2020-11-11 | 一种服务的编排执行系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418784B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113298343B (zh) * | 2021-03-31 | 2023-11-14 | 阿里巴巴新加坡控股有限公司 | 任务生成方法、任务执行方法及装置 |
CN113326026B (zh) * | 2021-05-11 | 2023-09-08 | 福建天泉教育科技有限公司 | 一种微服务业务流程接口的生成方法与终端 |
CN116954761A (zh) * | 2022-04-18 | 2023-10-27 | 鼎捷软件股份有限公司 | 自动服务编排和执行系统及其方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092933A (zh) * | 2019-11-20 | 2020-05-01 | 泰康保险集团股份有限公司 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
CN111142867A (zh) * | 2019-12-31 | 2020-05-12 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
CN111200651A (zh) * | 2019-12-31 | 2020-05-26 | 优刻得科技股份有限公司 | 定时调用微服务的方法、系统、设备和介质 |
CN111722929A (zh) * | 2020-06-18 | 2020-09-29 | 南京龙猫商业智能科技股份有限公司 | 一种基于PaaS的微服务编排引擎管理方法 |
-
2020
- 2020-11-11 CN CN202011253212.2A patent/CN112418784B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092933A (zh) * | 2019-11-20 | 2020-05-01 | 泰康保险集团股份有限公司 | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 |
CN111142867A (zh) * | 2019-12-31 | 2020-05-12 | 谷云科技(广州)有限责任公司 | 微服务架构下的服务可视化编排系统及方法 |
CN111200651A (zh) * | 2019-12-31 | 2020-05-26 | 优刻得科技股份有限公司 | 定时调用微服务的方法、系统、设备和介质 |
CN111722929A (zh) * | 2020-06-18 | 2020-09-29 | 南京龙猫商业智能科技股份有限公司 | 一种基于PaaS的微服务编排引擎管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112418784A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112418784B (zh) | 一种服务的编排执行系统及方法 | |
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
CN100545851C (zh) | 使用命令行环境的远程系统管理 | |
Wohed et al. | Pattern based analysis of BPEL4WS | |
CN101317153B (zh) | 用于对象化工作流和管理行为的意图的系统和方法 | |
CN108874567B (zh) | 一种服务处理方法及系统 | |
US20170236188A1 (en) | System and method for automating business processes throughout the life cycle of an order by using a publish-subscriber pattern | |
CN101853437A (zh) | 端对端业务流程管理、业务事件管理和/或业务活动监控的系统和/或方法 | |
US20070136278A1 (en) | Computer network | |
CN112149981A (zh) | 一体化平台的供应链物流管理方法及系统 | |
CN112463211A (zh) | 一种兼容多种开发架构的系统架构改造方法及系统架构 | |
AU2008203816B2 (en) | Message sequence management of enterprise based correlated events | |
CN100410875C (zh) | 一种基于实体的软件框架系统及运行方法 | |
CN115774573B (zh) | 应用集成方法、装置、电子设备和存储介质 | |
US8863132B2 (en) | Using abstraction layers to facilitate communication between systems | |
CN103327062A (zh) | 提供企业信息技术生命周期工具同步平台的系统和方法 | |
CN114371874A (zh) | 一种物联网设备的配置方法、系统、装置及介质 | |
CN114298788A (zh) | Oms订单管理系统 | |
CN115048158A (zh) | 流程编排及调用方法及其系统、计算机设备 | |
CN116643854A (zh) | 一种服务编排方法、装置、流程控制器及任务处理器 | |
WO2021238516A1 (zh) | 资源调拨数据的生成方法和装置 | |
WO2021057351A1 (zh) | 在glibc环境下控制安卓蓝牙的装置、方法及终端设备 | |
CN113253983A (zh) | 一种基于驱动设计的离散行业网络协同制造平台建模方法及系统 | |
CN113672371B (zh) | 任务引擎执行方法及其装置、设备与介质 | |
CN112836479A (zh) | 数据报表生成方法、系统以及存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |