CN115391004A - 一种任务编排调度系统、方法、装置及电子设备 - Google Patents
一种任务编排调度系统、方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115391004A CN115391004A CN202210923752.XA CN202210923752A CN115391004A CN 115391004 A CN115391004 A CN 115391004A CN 202210923752 A CN202210923752 A CN 202210923752A CN 115391004 A CN115391004 A CN 115391004A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- data content
- specified
- platform
- 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.)
- Pending
Links
Images
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种任务编排调度系统、方法、装置及电子设备,涉及计算机技术领域,该系统包括:airflow平台和容器云平台;airflow平台,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对指定镜像文件进行解析处理,得到各个待执行任务的数据内容;确定各个待执行任务对应的指定编排调度顺序,并按照指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台;容器云平台,用于每当接收到airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容执行该待执行任务对应的代码内容。通过本方案可以实现对各种调度关系的任务进行编排调度。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种任务编排调度系统、方法、装置及电子设备。
背景技术
随着信息社会的发展,无论是互联网应用还是企业级应用,后台每天都有大量的任务需要执行,而这些任务之间存在各种复杂的依赖关系,例如:基金评估服务中,整个流程涉及上百个任务,各个任务之间存在复杂的调用关系。因此,需要对各个任务进行编排调度,从而保证各个任务按照编排调度的顺序顺利执行。所谓编排调度即编排存在调用关系的各个任务的执行顺序以及按照执行顺序进行任务执行。
相关技术中使用任务调度平台对各个任务进行编排调度,例如xxl-job轻量级分布式任务编排调度平台;其中,每个任务独立配置,在任一任务配置的内容中,需要写明后续执行的任务名称,在该任务执行完成后,触发执行后续的任务。
相关技术仅仅可以胜任串行方式的任务编排调度场景,例如:串行的方式依次执行各个任务;但无法实现除串行以外的其他任务编排调度场景,例如:需要先执行任务A、B、C,再执行任务D,然后在任务D、E、F都执行后再执行任务G,相关技术的任务编排调度方式显得力不从心。可见,急需一种新型的任务编排调度系统,以实现对各种调度关系的任务进行编排调度。
发明内容
本发明实施例的目的在于提供一种任务编排调度系统、方法、装置及电子设备,以实现对各种调度关系的任务进行编排调度。具体技术方案如下:
第一方面,本发明实施例提供了一种任务编排调度系统,所述任务编排调度系统包括:airflow平台和容器云平台;
所述airflow平台,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
所述airflow平台,还用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序;
所述容器云平台,用于每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容。
可选地,所述指定镜像文件中还记录有各个待执行任务的调用关系;
所述airflow平台,还用于从所述指定镜像文件中解析得到各个待执行任务的调用关系;
所述系统还包括:编排调度平台;
所述编排调度平台,用于从所述所述airflow平台中获取各个待执行任务的调用关系,并利用所述调用关系,生成所述指定编排调度顺序,并发送给所述airflow平台。
可选地,所述airflow平台,还用于基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成所述指定编排调度顺序。
可选地,所述系统还包括:devops平台和代码管理平台;
所述代码管理平台,用于接收包含有各个待执行任务的数据内容的代码文件;
所述devops平台,用于从所述代码管理平台拉取所述代码文件,将所述代码文件打包为所述指定镜像文件,并将所述指定镜像文件移动至指定存储路径中;
所述airflow平台,还用于扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取所述指定镜像文件。
可选地,所述airflow平台,还用于在将每一待执行任务的数据内容发送给容器云平台之后,展示该待执行任务的执行痕迹;其中,每一待执行任务的执行痕迹包括该待执行任务的执行状态信息。
第二方面,本发明实施例提供了一种任务编排调度方法,应用于airflow平台,所述方法包括:
加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台,以使所述容器云平台每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
第三方面,本发明实施例提供了一种任务编排调度方法,应用于容器云平台,所述方法包括:
每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
第四方面,本发明实施例提供了一种任务编排调度装置,应用于airflow平台,所述装置包括:
解析模块,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
发送模块,用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台,以使所述容器云平台每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
第五方面,本发明实施例提供了一种任务编排调度装置,应用于容器云平台,所述装置包括:
启动模块,用于每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
分配模块,用于按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
执行模块,用于基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
第六方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一所述的任务编排调度方法。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的任务编排调度方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的任务编排调度方法。
本发明实施例有益效果:
本发明实施例提供的任务编排调度系统,airflow平台可以加载并解析指定镜像文件,得到各个待执行任务的数据内容,并且确定各个待执行任务对应的指定编排调度顺序,按照指定编排调度顺序依次将各个待执行任务的数据内容发送至容器云平台。容器云平台每当接收到至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,可以利用容器启动命令,启动用于处理该待执行任务的目标容器,按照pod模板文件所记录的资源参数,为目标容器进行资源分配,并基于环境变量,利用目标容器执行该待执行任务对应的代码内容。可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度系统,可以实现对各种调度关系的任务进行编排调度。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种任务编排调度系统的示意图;
图2为本发明实施例提供的一种任务编排调度系统的交互示意图;
图3为本发明实施例提供的一种任务编排调度系统实施例的示意图;
图4为本发明实施例提供的一种dag文件的示意图;
图5为本发明实施例提供的一种任务调用关系的示意图;
图6为本发明实施例提供的一种任务执行痕迹示意图;
图7为本发明实施例提供的一种任务编排调度方法的流程示意图;
图8为本发明实施例提供的一种任务编排调度方法的另一流程示意图;
图9为本发明实施例提供的一种任务编排调度装置的结构示意图;
图10为发明实施例提供的另一种任务编排调度装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
相关技术仅仅可以胜任简单的串行依次执行单个任务的编排调度场景,针对串行以外的其他任务编排调度场景却无法实现。并且,针对任务编排调度的可视化、部署编排调度流程的自动化、业务系统执行的任务留痕等方面,相关技术的编排调度方式都无法满足业务系统的需求。因此,急需一种新型的任务编排调度系统,以实现对各种调度关系的任务进行编排调度。
基于此,本发明实施例提供了一种任务编排调度系统、方法、装置及电子设备,以实现对各种调度关系的任务进行编排调度。
下面首先对本发明实施例提供的一种任务编排调度系统进行说明。
其中,该任务编排调度系统适用于存在对各个待执行任务的执行顺序进行编排调度,并按照编排调度的顺序执行各个待执行任务的需求的场景。另外,该编排调度的顺序可以是任一需求的各个待执行任务的编排调度顺序,例如:串行的方式依次执行各个待执行任务的编排调度顺序,或者,至少包含一并行执行多个待执行任务的编排调度顺序,如:先执行任务A、B、C,再执行任务D,然后在任务D、E、F都执行后再执行任务G的编排调度顺序。本发明并不对该系统的具体应用场景以及编排调度顺序进行限定。
本发明实施例提供的一种任务编排调度系统包括:airflow平台和容器云平台。
其中,上述airflow平台可以是包含有多个组件的、按照任务的依赖关系编排调度任务的执行顺序的平台,airflow平台所包含的多个组件可以包括:用于存储任务状态的元数据库组件、用于编排调度任务的执行顺序的调度器组件以及用于确定执行每个任务的计划的工作进程的执行器组件等等。
上述的容器云平台可以包含有多个用于执行各个待执行任务的容器;容器云平台可以快速搭建、配置数据中心集群,并且监控容器的资源使用情况,配置容器使用资源的阈值,可以根据所执行的任务实际资源使用情况,自动扩容执行该任务的容器所使用的资源。
其中,本发明实施例提供的一种任务编排调度系统中,
所述airflow平台,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
所述airflow平台,还用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序;
所述容器云平台,用于每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容。
本发明实施例提供的任务编排调度系统,airflow平台可以加载并解析指定镜像文件,得到各个待执行任务的数据内容,并且确定各个待执行任务对应的指定编排调度顺序,按照指定编排调度顺序依次将各个待执行任务的数据内容发送至容器云平台。容器云平台每当接收到至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,可以利用容器启动命令,启动用于处理该待执行任务的目标容器,按照pod模板文件所记录的资源参数,为目标容器进行资源分配,并基于环境变量,利用目标容器执行该待执行任务对应的代码内容。可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度系统,可以实现对各种调度关系的任务进行编排调度。
下面,结合附图,对本发明实施例提供的一种任务编排调度系统进行具体说明。
图1为本发明实施例提供的一种任务编排调度系统的示意图,如图1所示,该系统可以包括airflow平台100和容器云平台200。
所述airflow平台100,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
所述airflow平台100,还用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台200;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序;
所述容器云平台200,用于每当接收到所述airflow平台100发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容。
下面,结合上述任务编排调度系统中的airflow平台100和容器云平台200的交互过程,对图1所示的本发明实施例提供的任务编排调度系统进行具体说明。
图2为本发明实施例提供的一种任务编排调度系统的一种交互关系示意图,如图2所示,上述任务编排调度系统中的airflow平台100和容器云平台200的交互过程可以包括如下步骤:
S201:airflow平台100加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
通常,待执行的任务为多个存在复杂调用关系的任务,在执行各个待执行任务之前,airflow平台100可以先加载包含有各个待执行任务的数据内容的指定镜像文件,并解析该指定镜像文件,得到各个待执行任务的数据内容。也就是,各个待执行任务的数据内容可以包含于一指定镜像文件中,airflow平台100可以将该指定镜像文件解析为各个待执行任务的数据内容,从而通过后续的步骤,将各个待执行任务的数据内容,发送至用于执行各个待执行任务的容器云平台200,实现各个待执行任务的执行。
需要说明的是,指定镜像文件可以是任一包含有各个待执行任务的数据内容的镜像文件,指定镜像文件的获取方式,将在后续进行详细介绍,在此不做赘述。
S202:airflow平台100确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台200;
其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序;
需要说明的是,上述的指定镜像文件中还记录有各个待执行任务的调用关系,所述airflow平台100,还用于从所述指定镜像文件中解析得到各个待执行任务的调用关系。所谓各个待执行任务的调用关系,即各个待执行任务之间的依赖关系,例如:需要先执行任务A、B,然后才能执行任务C。
当得到各个待执行任务的调用关系之后,可以依据该调用关系,生成表征各个待执行任务的执行顺序的指定编排调度顺序。airflow平台100可以利用该调用关系,生成上述的指定编排调度顺序,或者,通过将各个任务的调用关系发送至任务编排调度系统中用于生成指定编排调度顺序的其他平台,从而得到指定编排调度顺序。
示例性的,在一种实现方式中,所述任务编排调度系统还包括:编排调度平台;
所述编排调度平台,用于从所述所述airflow平台100中获取各个待执行任务的调用关系,并利用所述调用关系,生成所述指定编排调度顺序,并发送给所述airflow平台100。
airflow平台100可以接收编排调度平台发送的指定编排调度顺序,此时airflow平台100不必利用airflow平台100的能力生成指定编排调度顺序,可以专注于上述的解析指定镜像文件的步骤和/或按照指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台200的步骤,从而提升任务编排调度系统对各个待执行任务的执行效率。
示例性的,在另一种实现方式中,airflow平台100存在对各个待执行任务的执行顺序进行编排调度的组件,所述airflow平台100,还用于基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成所述指定编排调度顺序。
airflow平台100还可以利用其包含的组件,生成指定编排调度顺序。此时,airflow平台100不必与编排调度平台进行交互,减少了任务编排调度系统的复杂度。
另外,airflow平台100中并不提供各个待执行任务的代码内容的执行环境,即airflow平台100无法直接执行解析得到的各个待执行任务的代码内容,因此,airflow平台100可以按照所确定的各个待执行任务的指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台200,从而执行各个待执行任务。并且,该指定编排调度顺序也可称为消息队列,消息队列中依次包含有各个待执行任务的执行顺序,例如:消息队列中所表征的各个待执行任务的执行顺序可以为A、B、C,即需要先执行任务A,待任务A执行完毕后,执行任务B,待任务B执行完毕后,执行任务C。
另外,所述airflow平台100,还用于在将每一待执行任务的数据内容发送给容器云平台200之后,展示该待执行任务的执行痕迹;其中,每一待执行任务的执行痕迹包括该待执行任务的执行状态信息。
在将每一待执行任务的数据内容发送给容器云平台200之后,airflow平台100还可以展示发送给容器云平台200的各个待执行任务的执行痕迹,如:执行中、执行成功、执行失败等执行状态,可以利用tree view树视图控件查看各个待执行任务的执行痕迹。并且,airflow平台100确定的指定编排调度顺序也可以进行展示;即本发明实施例提供的任务编排调度系统,可以实现任务编排调度的可视化、部署编排调度流程的自动化、业务系统执行的任务留痕。
S203:容器云平台200每当接收到所述airflow平台100发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
容器云平台200可以接收airflow平台100发送的至少一待执行任务的数据内容,每当接收到至少以待执行任务的数据内容时,由于容器云平台200利用容器执行各个任务,并且待执行任务的数据内容中包含有用于进行容器启动的容器启动命令,因此针对当前接收到的每一待执行任务,可以利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,并通过后续的步骤,从而执行该待执行任务。
需要说明的是,容器云平台200可以接收airflow平台100按照指定编排顺序发送的任意数量的待执行任务,例如:待执行任务A的数据内容,或者,需要同时执行的待执行任务A的数据内容、待执行任务B的数据内容和待执行任务C的数据内容,这都是合理的。
另外,为了实现按照指定编排调度顺序执行各个待执行任务的代码内容,容器云平台200还可以在当前执行的待执行任务执行完毕后,接收指定编排顺序中该待执行任务后续的待执行任务的数据内容,例如:指定编排调度顺序中各个待执行任务的执行顺序为先执行任务A,再执行任务B和任务C,最后执行任务D,容器云平台200可以先接收任务A的数据内容,在任务A执行完毕后,再接收任务B的数据内容和任务C的数据内容,任务B和任务C执行完毕后,再接收任务D的数据内容,从而使得任务A、B、C和D,按照指定编排调度顺序执行完毕。
S204:容器云平台200按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
可以理解的是,每一任务执行时,需要占用容器云平台200的部分资源,这些资源可以是计算资源、CPU资源、内存资源等等。因此,在启动用于对该待执行任务进行处理的目标容器之后,可以按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,从而使得该待执行任务顺利执行。
另外,在一些场景下,目标容器所分配到的资源会发生变化,例如:利用pod模板文件所记录的资源参数,目标容器分配到的资源为20G的内存资源,但是在实际任务运行中,该任务所占用的内存资源可能会大于20G,例如:25G、30G等,此时,容器云平台200还可以监控任务的实际运行情况,并根据实际使用的资源,调整分配给目标容器的资源参数,使得各个任务正常运行。
S205:容器云平台200基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
指定任务内容中还存在用于表征该待执行任务的执行环境的环境变量,待执行任务的执行环境可以为:测试环境、生产环境等等。另外,待执行任务的环境变量还可以表征在执行该待执行任务时,需要连接的数据库或接口等等,例如:一待执行任务的环境变量表征该待执行任务为生产环境,则在执行该待执行任务时,可以连接该待执行任务对应的生成环境的数据库或生产环境的接口等等。待执行任务的环境变量还可以表征在执行该待执行任务时,该待执行任务的执行入口,所谓执行入口即执行该待执行任务的执行路径,例如:该待执行任务的执行入口可以为不同的磁盘,如磁盘1和磁盘2均存储有该待执行任务。
因此,容器云平台200还可以基于该待执行任务的指定数据内容中的环境变量,利用目标容器执行该待执行任务对应的代码内容,针对接收的各个待执行任务的代码内容,可以按照airflow平台100的指定编排调度顺序的发送顺序,依次执行各个待执行任务的代码内容,从而使得各个待执行任务,按照指定编排调度顺序完成执行。
本发明实施例提供的任务编排调度系统,airflow平台可以加载并解析指定镜像文件,得到各个待执行任务的数据内容,并且确定各个待执行任务对应的指定编排调度顺序,按照指定编排调度顺序依次将各个待执行任务的数据内容发送至容器云平台。容器云平台每当接收到至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,可以利用容器启动命令,启动用于处理该待执行任务的目标容器,按照pod模板文件所记录的资源参数,为目标容器进行资源分配,并基于环境变量,利用目标容器执行该待执行任务对应的代码内容。可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度系统,可以实现对各种调度关系的任务进行编排调度。
可选地,在本发明的另一实施例中,所述系统还包括:devops平台和代码管理平台;
所述代码管理平台,用于接收包含有各个待执行任务的数据内容的代码文件;
所述devops平台,用于从所述代码管理平台拉取所述代码文件,将所述代码文件打包为所述指定镜像文件,并将所述指定镜像文件移动至指定存储路径中;
所述airflow平台,还用于扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取所述指定镜像文件。
需要说明的是,包含有各个待执行任务的数据内容的代码文件可以是根据任务执行需求所生成的一代码文件,该代码文件可以为dag(Directed Acyclic Graph,有向无环图)文件,代码管理平台可以为gitlab平台,用于暂存该代码文件,以便在有需要时,其他平台可以从该代码管理平台拉取该代码文件。其中,devops(Development和Operations的组合)是一组过程、方法与系统的统称。它用于促进开发(应用程序或软件工程)、技术运营和质量保障等部门之间的沟通、协作与整合,能够实现开发和运营工作必须紧密合作,从而按时交付软件产品和服务。
devops平台可以从代码管理平台拉取所述代码文件,并将所述代码文件打包为上述的指定镜像文件,该指定镜像文件可以是所述代码文件的docker镜像,并经指定镜像文件移动至指定存储路径中。
airflow平台100可以扫描所述指定存储路径,可以是定时扫描,也可以是按照任一扫描条件进行扫描,若指定存储路径中存在指定镜像文件,可以从指定存储路径中获取该指定镜像文件。
需要说明的是,指定存储路径,可以是devops平台和airflow平台100实现约定好的一数据库或存储路径,这都是合理的,本发明并不对指定存储路径进行限定。
通过上述的devops平台和代码管理平台获取指定镜像文件的方式,可以实现多种任务的代码文件的编排,或在该代码文件中增加新任务的代码内容,从而将该包含各个待执行任务的数据内容的代码文件的指定镜像文件,交付给需要执行各个待执行任务的用户或企业等等,实现了复杂任务编排的持续交付。
下面结合一具体实施例,对本发明实施例提供的任务编排调度系统进行详细介绍。
如图3所示,该任务编排调度系统包括:自动化部署平台以及任务编排平台,自动化部署平台包括:gitlab平台以及devops平台,任务编排平台包括:airflow平台以及tke平台,还包括交互过程中存在的dags文件。其中,dags文件对应上述的指定镜像文件。
所述自动化部署平台用于通过gitlab平台以及devops平台的交互,自动化部署包含有各个待执行任务的数据内容的dags文件,所述任务编排平台用于利用dags文件,对dags文件中的各个待执行任务进行编排调度,并按照编排调度的顺序执行各个待执行任务。
首先,可以根据任务的需要,生成dag文件,对应于上述的包含有各个待执行任务的数据内容的代码文件,并将dag文件提交至gitlab平台,对应上述的代码管理平台,也可称为代码托管平台这都是合理的。如图4所示,dag文件包含有两部分内容,一部分是各个任务的参数定义,包括镜像版本(各个任务的代码内容的镜像版本)、pod模板文件、容器启动命令、环境变量等等,pod模板文件、容器启动命令、环境变量对应上述指定数据内容所包含的参数,当然各个任务也可以对应有任务名称:任务fund_etf_lof_pool_reducer,和任务fund_etf_lof_nav_reducer,方便记录和利用该任务名称下的数据内容;另一部分是任务的编排调度关系:fund_etf_lof_pool_reducer>>fund_etf_lof_nav_reducer,对应上述各个待执行任务的调用关系,例如:如果在任务A执行完毕后,执行任务B,则任务A和B的编排调度关系可以描述为A>>B,若需要在任务A和任务C都执行完毕后,再执行任务B,则任务A、B和C的编排调度关系可以描述为独立的两行A>>B,C>>B。
devops平台可以拉取gitlab平台所保存的dag文件,并将dag文件打包为镜像的dags文件,对应上述的指定镜像文件,并将dags文件移动到约定好的共享云存储路径,对应上述的指定存储路径。
所述任务编排平台通过airflow平台和tke平台的交互,对包含各个待执行任务进行执行顺序的编排调度,并按照执行顺序,执行各个待执行任务。
airflow平台可以定时扫描约定好的共享云存储路径,当该共享云存储路径存在dags文件时,可以加载并解析dags文件,得到各个待执行任务的数据内容。并且可以通过任务的编排调度关系,生成调用关系图,如图5所示,该调用关系图表征任务的执行顺序为:先执行任务fund_etf_lof_pool_reducer,再执行任务fund_etf_lof_nav_reducer。并确定各个待执行任务的执行顺序,对应上述的指定编排调度顺序。airflow平台可以按照所确定的各个任务的执行顺序,通过消息队列的方式依次向tke平台发送任务消息,对应上述并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台;tke平台是一种容器云平台,对应上述容器云平台,tke平台每当接收到至少一任务的数据内容后,针对当前接收到的每一任务,可以利用该任务的数据内容中的容器启动命令,启动用于执行该任务的tke容器,对应上述目标容器,并按照该任务的数据内容中的pod模板文件,确定tke容器的资源参数,并给予该任务的数据内容中的环境变量,利用tke容器执行该任务的代码内容。
通过airflow平台执行的任务,都包含有执行痕迹,airflow平台可以展示各个任务的执行痕迹,对应上述的展示该待执行任务的执行痕迹,可以通过tree view树视图控件查看各个任务的执行痕迹。如图6所示,针对dag文件中包含的任务fund_etf_lof_pool_reducer,和任务fund_etf_lof_nav_reducer,其执行痕迹如图,其中横轴表征任务执行的时间,例如:第n、n+1、n+2……n+5天,纵轴表征任务的调度关系,dag文件可以看做一个整体任务,包含有任务fund_etf_lof_pool_reducer,和任务fund_etf_lof_nav_reducer,纵轴表征的调度关系可以为先执行任务fund_etf_lof_pool_reducer,再执行任务fund_etf_lof_nav_reducer。其中,图中符号的含义为:①表示未接收到该任务,②表示该任务处于执行中的状态,③表示该任务处于执行成功的状态,④表示该任务处于执行失败的状态,⑤表示该任务的的执行条件存在错误,例如:针对任务B,其执行条件为任务A执行完毕,当任务A执行出现错误时,任务B的执行状态会表征为⑤的执行状态;空白表示dag文件不包含该任务。
本发明提供的任务编排调度系统,使用airflow平台的任务编排功能对各个任务进行编排调度,并且airflow平台不提供任务的执行环境,可以通过包含有各个任务的执行顺序的消息队列的方式,依次将各个任务发送至容器云平台,容器云平台可以启动对应的容器,通过各个任务的数据内容确定容器分配的资源和任务执行的环境变量,执行任务对应的代码内容。通过airflow平台的能力,实现了针对各种调度关系的任务进行编排调度,以及任务编排调度的可视化以及业务系统执行的任务留痕。为了解决部署编排调度流程的自动化,本发明该采用了devops平台和gitlab平台结合的方式,实现了对各种调度关系的任务的持续交付。
基于上述任务编排调度系统,本发明还提供了一种任务编排调度方法,应用于airflow平台,如图7所示,所述方法包括如下步骤S701-S702:
S701:加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量。
S702:确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台,以使所述容器云平台每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度方法,可以实现对各种调度关系的任务进行编排调度。
可选地,所述指定镜像文件中还记录有各个待执行任务的调用关系,所述方法还包括:
从所述指定镜像文件中解析得到各个待执行任务的调用关系;
将所述各个待执行任务的调用关系发送至编排调度平台,以使得所述编排调度平台利用所述调用关系,生成所述指定编排调度顺序,并发送给airflow平台。
可选地,所述方法还包括:
基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成所述指定编排调度顺序。
可选地,所述指定镜像文件为devops平台从代码管理平台拉取的、包含有各个待执行任务的数据内容的代码文件打包后的、保存于指定存储路径中的文件,所述方法还包括:
扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取所述指定镜像文件。
可选地,所述按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台后,所述方法还包括:
展示该待执行任务的执行痕迹;其中,每一待执行任务的执行痕迹包括该待执行任务的执行状态信息。
基于上述任务编排调度系统,本发明还提供了一种任务编排调度方法,应用于容器云平台,如图8所示,所述方法包括如下步骤S801-S803:
S801:每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
S802:按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
S803:基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度方法,可以实现对各种调度关系的任务进行编排调度。
其中,所述指定镜像文件中还记录有各个待执行任务的调用关系,所述指定编排调度顺序为airflow平台从所述指定镜像文件中解析得到各个待执行任务的调用关系,并将所述各个待执行任务的调用关系发送至编排调度平台后,所述编排调度平台利用所述调用关系,生成并发送给airflow平台的指定编排调度顺序;或者,airflow平台基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成的指定编排调度顺序;所述指定镜像文件为airflow平台扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取的文件。
基于上述的任务编排调度方法,本发明还提供了一种编排调度装置,应用于airflow平台,如图9所示,所述装置包括:
解析模块910,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
发送模块920,用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台,以使所述容器云平台每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度方法,可以实现对各种调度关系的任务进行编排调度。
可选的,所述所述指定镜像文件中还记录有各个待执行任务的调用关系,所述装置还包括:
第一确定模块,用于从所述指定镜像文件中解析得到各个待执行任务的调用关系;将所述各个待执行任务的调用关系发送至编排调度平台,以使得所述编排调度平台利用所述调用关系,生成所述指定编排调度顺序,并发送给airflow平台。
可选地,所述装置还包括:
第二确定模块,用于基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成所述指定编排调度顺序。
可选地,所述指定镜像文件为devops平台从代码管理平台拉取的、包含有各个待执行任务的数据内容的代码文件打包后的、保存于指定存储路径中的文件,所述装置还包括:
获取模块,用于扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取所述指定镜像文件。
可选地,所述装置还包括:
展示模块,用于展示该待执行任务的执行痕迹;其中,每一待执行任务的执行痕迹包括该待执行任务的执行状态信息。
基于上述任务编排调度方法,本发明还提供了一种任务编排调度装置,应用于容器云平台,如图10所示,所述装置包括:
启动模块1010,用于每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
分配模块1020,用于按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
执行模块1030,用于基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
可见,本发明提供的方案,airflow平台可以按照任一指定编排调度顺序将待执行任务的数据内容发送至容器云平台,容器云平台每当接收到至少一待执行任务的数据内容时,可以利用该待执行任务的数据内容,执行至少一待执行任务的代码内容。因此,本方案提供了一种新型的任务编排调度方法,可以实现对各种调度关系的任务进行编排调度。
其中,所述指定镜像文件中还记录有各个待执行任务的调用关系,所述指定编排调度顺序为airflow平台从所述指定镜像文件中解析得到各个待执行任务的调用关系,并将所述各个待执行任务的调用关系发送至编排调度平台后,所述编排调度平台利用所述调用关系,生成并发送给airflow平台的指定编排调度顺序;或者,airflow平台基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成的指定编排调度顺序;所述指定镜像文件为airflow平台扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取的文件。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现任一任务编排调度方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一任务编排调度方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一任务编排调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种任务编排调度系统,其特征在于,所述任务编排调度系统包括:airflow平台和容器云平台;
所述airflow平台,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
所述airflow平台,还用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序;
所述容器云平台,用于每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容。
2.根据权利要求1所述的系统,其特征在于,所述指定镜像文件中还记录有各个待执行任务的调用关系;
所述airflow平台,还用于从所述指定镜像文件中解析得到各个待执行任务的调用关系;
所述系统还包括:编排调度平台;
所述编排调度平台,用于从所述所述airflow平台中获取各个待执行任务的调用关系,并利用所述调用关系,生成所述指定编排调度顺序,并发送给所述airflow平台。
3.根据权利要求1所述的系统,其特征在于,所述airflow平台,还用于基于解析得到的各个待执行任务的调用关系,利用指定调度组件,生成所述指定编排调度顺序。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述系统还包括:devops平台和代码管理平台;
所述代码管理平台,用于接收包含有各个待执行任务的数据内容的代码文件;
所述devops平台,用于从所述代码管理平台拉取所述代码文件,将所述代码文件打包为所述指定镜像文件,并将所述指定镜像文件移动至指定存储路径中;
所述airflow平台,还用于扫描所述指定存储路径,若所述指定存储路径中存在指定镜像文件,则从所述指定存储路径中获取所述指定镜像文件。
5.根据权利要求1-3任一项所述的系统,其特征在于,所述airflow平台,还用于在将每一待执行任务的数据内容发送给容器云平台之后,展示该待执行任务的执行痕迹;其中,每一待执行任务的执行痕迹包括该待执行任务的执行状态信息。
6.一种任务编排调度方法,其特征在于,应用于airflow平台,所述方法包括:
加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台,以使所述容器云平台每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
7.一种任务编排调度方法,其特征在于,应用于容器云平台,所述方法包括:
每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
8.一种任务编排调度装置,其特征在于,应用于airflow平台,所述装置包括:
解析模块,用于加载包含有各个待执行任务的数据内容的指定镜像文件,对所述指定镜像文件进行解析处理,得到各个待执行任务的数据内容;其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;
发送模块,用于确定各个待执行任务对应的指定编排调度顺序,并按照所述指定编排调度顺序,依次将各个待执行任务的数据内容发送至容器云平台,以使所述容器云平台每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器,按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配,并基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;其中,所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
9.一种任务编排调度装置,其特征在于,应用于容器云平台,所述装置包括:
启动模块,用于每当接收到所述airflow平台发送的至少一待执行任务的数据内容时,针对当前接收到的每一待执行任务,利用该待执行任务的指定数据内容中的容器启动命令,启动用于对该待执行任务进行处理的目标容器;
分配模块,用于按照该待执行任务的指定数据内容中的pod模板文件所记录的资源参数,为所述目标容器进行资源分配;
执行模块,用于基于该待执行任务的指定数据内容中的环境变量,利用所述目标容器执行该待执行任务对应的代码内容;
其中,每一待执行任务的数据内容包括该待执行任务的代码内容,以及指定数据内容,所述指定数据内容包括用于记录在任务执行时所需被分配计算资源的资源参数的pod模板文件、用于进行容器启动的容器启动命令以及在任务执行时所需的环境变量;所述指定编排调度顺序用于表征所述各个待执行任务的执行顺序。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6或7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923752.XA CN115391004A (zh) | 2022-08-02 | 2022-08-02 | 一种任务编排调度系统、方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923752.XA CN115391004A (zh) | 2022-08-02 | 2022-08-02 | 一种任务编排调度系统、方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115391004A true CN115391004A (zh) | 2022-11-25 |
Family
ID=84118849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210923752.XA Pending CN115391004A (zh) | 2022-08-02 | 2022-08-02 | 一种任务编排调度系统、方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391004A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472552A (zh) * | 2023-12-28 | 2024-01-30 | 中电数据产业有限公司 | 服务场景智能编排及动态调度方法、装置、设备及介质 |
CN118672645A (zh) * | 2024-08-22 | 2024-09-20 | 南京赛宁信息技术有限公司 | 一种镜像工具的自动化命令编排方法与系统 |
-
2022
- 2022-08-02 CN CN202210923752.XA patent/CN115391004A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472552A (zh) * | 2023-12-28 | 2024-01-30 | 中电数据产业有限公司 | 服务场景智能编排及动态调度方法、装置、设备及介质 |
CN117472552B (zh) * | 2023-12-28 | 2024-05-28 | 中电数据产业有限公司 | 服务场景智能编排及动态调度方法、装置、设备及介质 |
CN118672645A (zh) * | 2024-08-22 | 2024-09-20 | 南京赛宁信息技术有限公司 | 一种镜像工具的自动化命令编排方法与系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115391004A (zh) | 一种任务编排调度系统、方法、装置及电子设备 | |
US11327749B2 (en) | System and method for generating documentation for microservice based applications | |
US20190294536A1 (en) | Automated software deployment and testing based on code coverage correlation | |
US8893118B2 (en) | Migratable unit based application migration | |
US8185903B2 (en) | Managing system resources | |
US7840944B2 (en) | Analytical regression testing on a software build | |
US9626283B1 (en) | System and method for automatically assigning a defect to a responsible party | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
Kazman et al. | The essential components of software architecture design and analysis | |
CN113791765B (zh) | 云服务的资源编排方法、装置、设备及存储介质 | |
KR20210129584A (ko) | 동적으로 할당된 클라우드 작업자 관리 시스템 및 그의 방법 | |
CN110275768A (zh) | 数据处理方法、装置及电子设备 | |
US11954011B2 (en) | Apparatus and method for executing customized artificial intelligence production line | |
CN111353609A (zh) | 一种机器学习系统 | |
Dessalk et al. | Scalable execution of big data workflows using software containers | |
EP2913757A1 (en) | Method, system, and computer software product for test automation | |
CN111475137A (zh) | 一种软件开发需求预测的方法、系统及设备 | |
CN113326117A (zh) | 一种任务调度方法、装置及设备 | |
CN110717992B (zh) | 调度模型的方法、装置、计算机系统和可读存储介质 | |
US11720476B2 (en) | Automated end-to-end testing platform with dynamic container configuration | |
US20200348926A1 (en) | System and method for automating environment management of one or more software applications | |
CN116756016A (zh) | 多浏览器测试方法、装置、设备、介质及程序产品 | |
CN112685158B (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN114298313A (zh) | 一种人工智能计算机视觉推理方法 | |
CN113419835A (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 |