任务执行方法、装置、电子设备及介质制造方法及图纸

技术编号:37963885 阅读:7 留言:0更新日期:2023-06-30 09:39
本申请提出了一种任务执行方法、装置、电子设备及介质,其中,方法包括:根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务;确定执行目标流水线任务的目标服务引擎;获取目标流水线任务在目标服务引擎中创建的任务容器组,并基于任务容器组中各任务容器输出的阶段任务结果,得到目标流水线任务的目标任务结果。本申请中,不依赖相关的流水线任务的调度组件和执行组件,在云原生场景下实现了多个流水线任务组成的流水线任务缓存队列中的独立的目标流水线任务的调度和执行,且目标流水线任务的调度部分和执行部分无需耦合,降低了云原生场景下的独立的目标流水线任务的调度和执行的复杂程度。务的调度和执行的复杂程度。务的调度和执行的复杂程度。

【技术实现步骤摘要】
任务执行方法、装置、电子设备及介质


[0001]本申请涉及数据处理领域,尤其涉及一种任务执行方法、装置、电子设备及介质。

技术介绍

[0002]随着技术的发展,可以通过云原生场景下的流水线任务的执行,为用户端提供服务,在云原生场景下进行流水线任务的执行的过程中,流水线任务存在调度的需求。
[0003]相关技术中,可以为该场景下的流水线任务的调度搭建一套job进行流水线任务的调度,增加了云原生场景下的流水线任务的调度和执行的复杂程度。

技术实现思路

[0004]本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本申请第一方面提出一种任务执行方法。
[0006]本申请第二方面提出一种任务执行装置。
[0007]本申请第三方面提出一种电子设备。
[0008]本申请第四方面提出一种计算机可读存储介质。
[0009]本申请第五方面提出一种计算机程序产品。
[0010]本申请第一方面提出一种任务执行方法,所述方法包括:根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务;确定执行所述目标流水线任务的目标服务引擎;获取所述目标流水线任务在所述目标服务引擎中创建的任务容器组,并基于所述任务容器组中各任务容器输出的阶段任务结果,得到所述目标流水线任务的目标任务结果。
[0011]另外,本申请第一方面提出的任务执行方法,还可以具有如下附加的技术特征:
[0012]根据本申请的一个实施例,所述根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务,包括:从所述流水线任务缓存队列中,获取所述目标流水线任务的任务标识;根据所述任务标识,从数据库中获取所述目标流水线任务的任务信息;将所述任务标识和所述任务信息进行打包以得到所述目标流水线任务。
[0013]根据本申请的一个实施例,所述确定执行所述目标流水线任务的目标服务引擎,包括:获取分布式注册中心存储的各服务引擎的引擎信息;根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎。
[0014]根据本申请的一个实施例,所述根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎,包括:根据所述引擎信息,确定各服务引擎的负载信息;根据各服务引擎的负载信息,获取与负载均衡策略匹配的目标负载信息,并根据所述目标负载信息确定所述目标服务引擎。
[0015]根据本申请的一个实施例,所述根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎之后,包括:获取所述分布式注册服务中心存储的各服务引擎的地址端口;从所述地址端口中,获取所述目标服务引擎的目标地址端口;根据所述目标地址端口
将所述目标流水线任务发送至所述目标服务引擎。
[0016]根据本申请的一个实施例,所述获取所述目标流水线任务在所述目标服务引擎中的任务容器组,并基于所述任务容器组各自输出的阶段任务结果,得到所述目标流水线任务的目标任务结果,包括:对所述目标流水线任务进行任务分解,获取分解后的多个阶段任务;获取所述目标服务引擎根据所述多个阶段任务构建的所述任务容器组,其中,所述任务容器组中的每个任务容器对应所述多个阶段任务中的至少一个阶段任务;获取所述任务容器组各自输出的所述多个阶段任务各自的阶段任务结果,并根据全部的阶段任务结果,获取所述目标流水线任务的所述目标任务结果。
[0017]根据本申请的一个实施例,所述根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务,包括:获取所述流水线任务缓存队列中各流水线任务的执行优先级;根据所述执行优先级,从所述流水线任务缓存队列中获取所述目标流水线任务的任务标识。
[0018]根据本申请的一个实施例,所述方法还包括:获取调度服务器序列中的主调度服务器;基于所述主调度服务器从所述流水线任务缓存队列中获取所述目标流水线任务,并确定所述目标流水线任务的所述目标服务引擎。
[0019]根据本申请的一个实施例,所述获取调度服务器序列中的主调度服务器,包括:获取分布式注册中心存储的调度服务器序列的调度服务器注册时间序列;根据所述调度服务器注册时间序列,从所述调度服务器序列中确定主调度服务器。
[0020]根据本申请的一个实施例,所述方法还包括:响应于所述主调度服务器满足预设的主调度服务器变更条件,从所述调度服务器序列中的非主调度服务器的从调度服务器中确定新的主调度服务器。
[0021]根据本申请的一个实施例,所述调度服务器变更条件,包括:所述主调度服务器的执行时长大于或者等于预设的时长阈值,以及所述主调度服务器运行状态异常中的至少一种。
[0022]根据本申请的一个实施例,所述方法还包括:响应于所述主调度服务器变更条件为所述主调度服务器运行状态异常,确定新的主调度服务器后,将所述主调度服务器从所述调度服务器序列中删除。
[0023]根据本申请的一个实施例,所述根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务之前,包括:获取用户端的服务需求,并根据所述服务需求确定对应的至少一个待执行任务;对所述至少一个待执行任务进行封装,以得到所述服务需求对应的流水线任务,并将所述流水线任务缓存至所述流水线任务缓存序列中。
[0024]根据本申请的一个实施例,所述方法还包括:监听所述目标流水线任务在所述目标服务引擎上的执行状态以及执行时长;响应于所述执行状态异常和/或所述执行时长大于或者等于预设的执行时长阈值,从服务引擎列表中非目标服务引擎的剩余服务引擎中,确定新的目标服务引擎,并将所述目标流水线任务发送至新的目标服务引擎。
[0025]根据本申请的一个实施例,所述方法还包括:响应于所述执行状态正常、所述执行时长小于预设的执行时长阈值且所述目标流水线任务在所述目标服务引擎上执行结束,将所述目标流水线任务的执行信息从所属的执行状态信息列表中删除。
[0026]本申请第二方面提出一种任务执行装置,所述装置包括:获取模块,用于根据待执
行的流水线任务缓存队列,获取当前需要执行的目标流水线任务;确定模块,用于确定执行所述目标流水线任务的目标服务引擎;执行模块,用于获取所述目标流水线任务在所述目标服务引擎中创建的任务容器组,并基于所述任务容器组中各任务容器输出的阶段任务结果,得到所述目标流水线任务的目标任务结果。
[0027]另外,本申请第二方面提出的任务执行装置,还可以具有如下附加的技术特征:
[0028]根据本申请的一个实施例,所述获取模块,还用于:从所述流水线任务缓存队列中,获取所述目标流水线任务的任务标识;根据所述任务标识,从数据库中获取所述目标流水线任务的任务信息;将所述任务标识和所述任务信息进行打包以得到所述目标流水线任务。
[0029]根据本申请的一个实施例,所述确定模块,还用于:获取分布式注册中心存储的各服务引擎的引擎信息;根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎。
[0030]根据本申请的一个实施例,所述确定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,其特征在于,所述方法包括:根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务;确定执行所述目标流水线任务的目标服务引擎;获取所述目标流水线任务在所述目标服务引擎中创建的任务容器组,并基于所述任务容器组中各任务容器输出的阶段任务结果,得到所述目标流水线任务的目标任务结果。2.根据权利要求1所述的方法,其特征在于,所述根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务,包括:从所述流水线任务缓存队列中,获取所述目标流水线任务的任务标识;根据所述任务标识,从数据库中获取所述目标流水线任务的任务信息;将所述任务标识和所述任务信息进行打包以得到所述目标流水线任务。3.根据权利要求1所述的方法,其特征在于,所述确定执行所述目标流水线任务的目标服务引擎,包括:获取分布式注册中心存储的各服务引擎的引擎信息;根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎。4.根据权利要求3所述的方法,其特征在于,所述根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎,包括:根据所述引擎信息,确定各服务引擎的负载信息;根据各服务引擎的负载信息,获取与负载均衡策略匹配的目标负载信息,并根据所述目标负载信息确定所述目标服务引擎。5.根据权利要求3所述的方法,其特征在于,所述根据所述引擎信息确定所述目标流水线任务对应的所述目标服务引擎之后,包括:获取所述分布式注册服务中心存储的各服务引擎的地址端口;从所述地址端口中,获取所述目标服务引擎的目标地址端口;根据所述目标地址端口将所述目标流水线任务发送至所述目标服务引擎。6.根据权利要求1所述的方法,其特征在于,所述获取所述目标流水线任务在所述目标服务引擎中的任务容器组,并基于所述任务容器组各自输出的阶段任务结果,得到所述目标流水线任务的目标任务结果,包括:对所述目标流水线任务进行任务分解,获取分解后的多个阶段任务;获取所述目标服务引擎根据所述多个阶段任务构建的所述任务容器组,其中,所述任务容器组中的每个任务容器对应所述多个阶段任务中的至少一个阶段任务;获取所述任务容器组各自输出的所述多个阶段任务各自的阶段任务结果,并根据全部的阶段任务结果,获取所述目标流水线任务的所述目标任务结果。7.根据权利要求2所述的方法,其特征在于,所述根据待执行的流水线任务缓存队列,获取当前需要执行的目标流水线任务,包括:获取所述流水线任务缓存队列中各流水线任务的执行优先级;根据所述执行优先级,从所述流水线任务缓存队列中获取所述目标流水线任务的任务标识。8.根据权利要求1

7中任一项所述的方法,其特征在于,所述方法还包括:获取调度服务器序列中的主调度服务器;
基于所述主调度服务器从所述流水线任务缓存队列中获取所述目标流水线任务,并确定所述目标流水线任务的所述目标服务引擎。9.根据权利要求8所述的方法,其特征在于,所述获取调度服务器序列中的主调度服务器,包括:获取分布式注册中心存储的调度服务器序列的调度服务...

【专利技术属性】
技术研发人员:王雷顾铮郭建业
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1