一种服务的编排执行系统及方法技术方案

技术编号:27502896 阅读:15 留言:0更新日期:2021-03-02 18:28
本发明专利技术涉及一种服务的编排执行系统及方法,属于网络技术领域,解决了现有的微服务编排执行方式操作复杂、成本高、灵活性差的问题。该系统包括,注册模块,用于将多个服务应用在服务资源池中进行注册;服务任务定义模块,用于对服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;服务编排模块,用于根据用户需求设置服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;服务器根据用户需求执行所述服务流;worker模块,用于为编排、执行所述服务流提供接口和服务。提高了微服务编排的可拓展性和灵活度,并且提高了代码的复用率,降低了技术人力成本。降低了技术人力成本。降低了技术人力成本。

【技术实现步骤摘要】
一种服务的编排执行系统及方法


[0001]本专利技术涉及网络
,尤其涉及一种服务的编排执行系统及方法。

技术介绍

[0002]微服务是目前流行的一种新兴的软件架构风格,在微服务体系结构中,可以将应用分解为多个更小颗粒度的服务,各个服务可以由不同的团队并行独立开发、部署。当一个系统采用了微服务架构后,原有的业务可能并没有发生变化,但系统已被拆分成了很多新的微服务,与传统架构相比,微服务架构下会更依赖通过各微服务之间的协作来实现一个完整的业务流程,这种协作就是服务编排。编排涉及到RPC、分布式事务等,需要有完善的编排框架来支撑。
[0003]现有的微服务编排方法,在微服务编排过程中,需要根据编排引擎的开发规范或者接口API,对已有微服务进行改造,或者根据开发规范对微服务进行重新开发。然后才能对改造的微服务进行具体的服务编排,编排完成后再进行具体程序的执行。
[0004]现有技术至少存在以下缺陷:一是,现有的微服务编排方法中,均是已经编排好的微服务流,普适性差,且微服务流中的各微服务耦合度高、灵活性差、维护困难,进行重新编排时,需要对微服务进行大量的修改,技术和人力成本高;二是对于封闭的微服务或单体架构,无法通过修改其源码对其进行重新编排,代码复用率低,且导致降低了对微服务的使用率。

技术实现思路

[0005]鉴于上述的分析,本专利技术旨在提供一种服务的编排执行系统及方法,用以解决现有微服务编排执行方法灵活性差、代码复用率低且技术人力成本高的问题。
[0006]一方面,本专利技术提供了一种服务的编排执行系统,包括服务器和worker模块,所述服务器包括注册模块、服务资源池、服务任务定义模块、服务编排模块:
[0007]注册模块,用于将多个服务应用在服务资源池中进行注册;多个所述服务应用存储于不同的业务系统;所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;
[0008]服务任务定义模块,用于对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;
[0009]服务编排模块,用于根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;
[0010]所述服务器根据用户需求执行所述服务流;
[0011]worker模块,用于为编排、执行所述服务流提供接口和服务。
[0012]进一步的,所述worker模块进一步用于,提供远程调用接口、服务任务定义接口和服务任务执行接口;
[0013]所述服务任务定义接口通信连接所述服务任务定义模块和服务器;
[0014]所述远程调用接口通信连接所述worker模块和所述业务系统;
[0015]所述服务任务执行接口通信连接所述worker模块和服务器。
[0016]进一步的,还包括数据库,所述注册模块,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将所述注册信息存储于所述数据库。
[0017]进一步的,所述服务编排模块,通过服务器提供的流程编排接口生成服务流,并为所述服务流配置对应的服务标识。
[0018]进一步的,所述worker模块进一步用于,为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息。
[0019]进一步的,所述服务器通过下述方式执行所述服务流:
[0020]所述服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;
[0021]所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述输入数据传送至所述服务应用,得到输出结果,并根据其中注册的所述输出信息将对应的输出结果发送至所述服务器;
[0022]所述服务器,根据接收到的所述输出结果控制对应的下一任务的执行,直至得到所述服务流的输出结果。
[0023]另一方面,本专利技术提供了一种服务的编排执行方法,包括以下步骤:
[0024]将多个服务应用在服务资源池中进行注册;多个所述服务应用存储于不同的业务系统所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;
[0025]对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;
[0026]根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;
[0027]所述服务器根据用户需求执行所述服务流;
[0028]以及为编排、执行所述服务流提供对应的接口和服务。
[0029]进一步的,所述为编排、执行所述服务流提供对应的接口和服务,包括:
[0030]为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息;
[0031]以及提供远程调用接口、服务任务定义接口和服务任务执行接口;
[0032]所述服务任务定义接口通信连接所述服务任务定义模块和服务器;
[0033]所述远程调用接口通信连接所述worker模块和业务系统;
[0034]所述服务任务执行接口通信连接所述worker模块和服务器。
[0035]进一步的,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将所述注册信息存储于所述数据库。
[0036]进一步的,所述服务器通过下述方式执行所述服务流:
[0037]所述服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;
[0038]所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述输入数据传送至所述服务应用,得到输出结果,并根据其中注册的所述输出信息将对应的输出结果发送至所述服务器;
[0039]所述服务器,根据接收到的所述输出结果控制对应的下一任务的执行,直至得到所述服务流的输出结果。
[0040]与现有技术相比,本专利技术至少能够实现有益效果之一:
[0041]1、本专利技术提出的服务的编排执行系统及方法,根据用户需求确定每一服务应用所需执行的任务以及执行任务的顺序,以生成服务流,服务器根据该服务流,可以通过worker模块向执行相应任务的服务应用发送指令和输入信息,从而得到相应的结果,无需对微服务或单体架构应用的源代码进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务的编排执行系统,其特征在于,包括服务器和worker模块,所述服务器包括注册模块、服务资源池、服务任务定义模块、服务编排模块;所述注册模块,用于将多个服务应用在所述服务资源池中进行注册;多个所述服务应用存储于不同的业务系统;所述服务应用的类型包括微服务应用和单体架构应用;所述服务应用至少可执行一种任务;所述服务任务定义模块,用于对所述服务应用可执行的每一种任务对应的输入信息、输出信息以及失败重试策略进行设置,并注册至服务器中;所示服务编排模块,用于根据用户需求设置所述服务器所需执行的任务以及执行任务的顺序,生成服务流,并注册至服务器中;所述服务器根据用户需求执行所述服务流;所述worker模块,用于为编排、执行所述服务流提供接口和服务。2.根据权利要求1所述的一种服务的编排执行系统,其特征在于,所述worker模块进一步用于,提供远程调用接口、服务任务定义接口和服务任务执行接口;所述服务任务定义接口通信连接所述服务任务定义模块和服务器;所述远程调用接口通信连接所述worker模块和所述业务系统;所述服务任务执行接口通信连接所述worker模块和服务器。3.根据权利要求2所述的一种服务的编排执行系统,其特征在于,还包括数据库,所述注册模块,注册所述服务应用生成的注册信息,包括所述服务应用的名称、可执行的任务名称以及对应的远程调用接口,并将所述注册信息存储于所述数据库。4.根据权利要求2或3所述的一种服务的编排执行系统,其特征在于,所述服务编排模块,通过服务器提供的流程编排接口生成服务流,并为所述服务流配置对应的服务标识。5.根据权利要求4所述的一种服务的编排执行系统,其特征在于,所述worker模块进一步用于,为每一所述服务应用可执行的每一种任务配置对应的worker服务,所述worker服务中注册有对应所述任务的输入信息和输出信息。6.根据权利要求5所述的一种服务的编排执行系统,其特征在于,所述服务器通过下述方式执行所述服务流:所述服务器根据用户需求以及服务流的服务标识启动对应的服务流,并对所述服务流中每一任务的执行状态进行监控;所述worker服务,以轮询的方式通过服务任务执行接口实时从服务器中获取对应的任务的执行状态;所述执行状态为处理中时,所述worker服务,根据其中注册的输入信息从服务器中提取执行所述任务的服务应用的输入数据,并通过远程调用接口将所述...

【专利技术属性】
技术研发人员:高一鸣李宁宁冲刘万祯王坤张文武范闯贾凯鹏
申请(专利权)人:北京京航计算通讯研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1