CN116643861A - 任务调度方法及装置 - Google Patents
任务调度方法及装置 Download PDFInfo
- Publication number
- CN116643861A CN116643861A CN202310475279.8A CN202310475279A CN116643861A CN 116643861 A CN116643861 A CN 116643861A CN 202310475279 A CN202310475279 A CN 202310475279A CN 116643861 A CN116643861 A CN 116643861A
- Authority
- CN
- China
- Prior art keywords
- task
- execution
- execution result
- current
- main
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 132
- 238000013507 mapping Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种任务调度方法及装置,其中方法包括:基于主任务与多个子任务之间的执行顺序,将主任务以及多个子任务分配至分布式系统中对应的任务处理节点执行;在主任务与多个子任务基于执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于执行结果状态和所述执行结果数据,调整执行顺序。本发明提供的任务调度方法及装置,通过实时获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于实时获取的执行结果状态和执行结果数据,调整执行顺序,从而实现对后续任务的执行进行实时调整,提升了任务执行的灵活性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务调度方法及装置。
背景技术
分布式任务调度,是一种应用在分布式系统中的任务调度模式,它能够帮助系统实现任务的分布式管理和调度。具体来说,分布式任务调度涉及到将整个任务流程分割成若干任务单元,并将这些任务单元分配到不同的计算节点上执行。
现有的对于分布式任务调度中,尤其对于金融业务中的分布式调度,任务关系复杂,基于预先设定的执行顺序执行任务中的主任务以及子任务,无法实现灵活的分布式任务的调度过程。
发明内容
本发明提供一种任务调度方法及装置,用以解决现有技术中基于预先设定的执行顺序执行任务中的主任务以及子任务,无法实现灵活的分布式任务的调度过程的技术问题。
本发明提供一种任务调度方法,包括:
基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
根据本发明提供的一种任务调度方法,基于所述执行结果状态和所述执行结果数据,调整所述执行顺序,包括:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务与后续处理任务之间的映射执行关系;
基于所述映射执行关系,调整所述执行顺序。
根据本发明提供的一种任务调度方法,基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务与后续处理任务之间的映射执行关系,包括:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务映射至后续处理任务的状态码;
基于所述状态码,确定所述当前任务处理节点与后续处理任务之间的映射执行关系。
根据本发明提供的一种任务调度方法,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据之前,还包括:
将所述当前任务处理节点对应任务的执行参数以及所述当前任务处理节点对应任务的执行条件发送至所述当前任务处理节点,以使所述当前任务处理节点基于所述执行参数以及所述执行条件,确定所述当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据。
根据本发明提供的一种任务调度方法,基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行,包括:
基于所述目标任务的任务执行逻辑,确定所述主任务以及所述多个子任务的优先级;
基于所述优先级,确定所述主任务与所述多个子任务之间的执行顺序,并基于所述执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行。
根据本发明提供的一种任务调度方法,基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分之前,还包括:
接收所述分布式系统中前端界面的配置参数,基于所述配置参数,确定所述分布式系统中的所述目标任务的任务执行逻辑。
本发明还提供一种任务调度装置,包括:
拆分模块,用于基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
分配模块,用于基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
调度模块,用于在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种任务调度方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种任务调度方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种任务调度方法。
本发明提供的任务调度方法及装置,通过确定目标任务的主任务以及目标任务的多个子任务。基于执行顺序,将获取主任务以及多个子任务分配至分布式系统中对应的任务处理节点依次执行时,实时获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于实时获取的执行结果状态和执行结果数据,调整执行顺序,从而实现对后续任务的执行进行实时调整,提升了任务执行的灵活性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简要地说明,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的任务调度方法的流程示意图;
图2是应用本发明提供的任务调度方法的装置结构示意图;
图3是本发明提供的任务调度装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
分布式任务调度,是一种应用在分布式系统中的任务调度模式,它能够帮助系统实现任务的分布式管理和调度。具体来说,分布式任务调度涉及到将整个任务流程分割成若干任务单元,并将这些任务单元分配到不同的计算节点上执行。这样做可以充分利用集群资源,增加系统的处理能力和灵活性,提高任务执行的效率和质量。
在金融类业务中精算计量模型中会存在被计量物的盈亏状态的不同而选择不同的计量方式的场景,而计量及记账会在每个评估月的固定日期开始,有一定的时间限制及任务依赖要求,这就要求分布式的任务调度机制需要具备非常灵活的选择性执行的方式,即根据任务执行的结果能够灵活选择执行子任务。
相关方法中主要采用三种方式实现金融业务的分布式调度过程。第一种是采用开源的调度组件,比如xxl-job组件,能够设置任务依赖,基于任务是否成功而决定是否执行子任务。第一种方式只能基于任务是否执行成功去执行子任务,不能根据任务是否成功而去选择性的执行子任务,也没有其他的任务状态选择。
第二种方式是采用Java的Spring Task框架或者Quartz框架实现的定时任务调度,需要手工书写各种任务进行任务的定时调度。第二种方式的缺点在于不支持配置,每个任务的任务依赖都需要通过编码来实现,编码需要花费较长的时间,且没有硬规范来保证每个任务的执行状态映射,不具备通用性。
第三种方式是基于Linux服务器的Crontab任务进行任务的定时调度,然后配合shell脚本编排进行任务依赖和子任务的执行。第三种方式的缺点在于,不支持配置,任务依赖需要编写shell脚本实现,不具备通用性。
针对相关方法中的缺陷,本发明提出一种任务调度方法,图1为本发明提供的任务调度方法的流程示意图。参照图1,本发明提供的任务调方法可以包括:
步骤110,基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
步骤120,基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
步骤130,在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
本发明提供的任务调度方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network AttachedStorage,NAS)或个人计算机(personal computer,PC)等,本发明不作具体限定。
下面以计算机执行本发明提供的任务调度方法为例,详细说明本发明的技术方案。
在步骤110中,获取分布式系统中待执行的目标任务,基于目标任务的任务执行逻辑,对目标任务进行拆分,得到目标任务的主任务以及目标任务的多个子任务。
分布式系统中采用分布式任务调度方式,分布式任务调度是一种应用在分布式系统中的任务调度模式,它能够帮助系统实现任务的分布式管理和调度。具体来说,分布式任务调度涉及到将整个任务流程分割成若干任务单元,并将这些任务单元分配到不同的计算节点上执行。
在获取分布式系统中的目标任务时,基于分布式系统中目标任务的任务执行逻辑,对目标任务进行拆分。在获取目标任务后,基于目标任务的任务执行逻辑,对目标任务进行拆分。其中,任务执行逻辑中还包含了主任务以及多个子任务执行的先后顺序。
例如,基于目标任务中包含的主任务以及子任务,对目标任务进行拆分,得到目标任务的主任务以及目标任务的多个子任务。
可以理解的是,对于分布式系统中的任务,一般是基于多个不同的节点执行的。所以,在分布式系统获取待执行的任务时,将任务进行拆分,分配至分布式系统中对应节点执行。
在步骤120中,基于目标任务中主任务以及多个子任务之间的执行顺序,将获取的各个任务分配至分布式系统中对应的任务处理节点执行。
其中,任务执行顺序中包含了目标任务中的主任务以及各子任务之间的执行关系。例如,在子任务1执行完成后,依次执行子任务2和子任务3,在子任务3执行完成后,依次执行子任务5和子任务6。
可以理解的是,目标任务各个任务之间有先后执行关系,各任务的执行也可能存在依赖关系。所以在确定各个任务的执行后,基于获取的各个任务之间的执行顺序,将获取的各个任务分配至分布式系统中对应的各个任务处理节点执行。
例如,主任务执行完成后,后续需要根据主任务的执行结果判断执行子任务1或者子任务2。在确定主任务执行反馈的结果是执行成功时,执行子任务1;在确定主任务执行反馈的结构是执行失败时,执行子任务2。根据不同的任务执行结果,确定后续执行不同的任务选项。
在步骤130中,在目标任务的主任务以及多个子任务基于执行顺序依次执行的过程中,确定当前任务处理节点的执行结果状态以及执行结果数据。并基于执行结果状态以及执行结果数据,调整执行顺序。
任务执行结果状态为任务执行产生的执行结果,例如可以包括执行通过、执行不通过等。执行结果数据为任务执行后产生的结果数据,例如可以包括任务执行完成的请求数量,后续任务执行时,会依赖此任务执行完成的请求数量执行不同的任务。各任间的映射执行关系是实时根据执行结果状态以及执行结果数据确定的任务执行关系。
可以理解的是,在目标任务的主任务以及多个子任务实时执行的过程中,任务在对应节点执行后的执行结果状态以及执行结果数据,会影响后续任务的执行过程。若仅基于固定的执行顺序依次执行主任务以及多个子任务,可能会导致任务执行过程中的执行不准确,也无法实现在繁杂的海量子任务中,实现任务的灵活执行。
例如,对于任务的执行结果状态,目标任务中的子任务执行时,可能会根据子任务的执行状态,例如执行通过或者执行不通过,采取不同的后续执行流程,在确定主任务执行反馈的结果是执行成功时,执行子任务1;在确定主任务执行反馈的结构是执行失败时,执行子任务2;对于任务的执行结果数据,可能会根据执行结果数据中执行完成的请求数量大于100时,执行子任务3,执行完成的请求数量小于等于100时,执行子任务4。
对于一个包含主任务以及多个子任务的目标任务,在实现目标任务的执行时,基于获取任务执行的执行结果状态以及执行结果数据,实时调整执行顺序。从而使得当前任务处理节点的后续任务的执行时,能基于调整后的执行顺序进行实现更新,提升了任务执行的灵活性。
本发明实施例提供的任务调度方法,通过确定目标任务的主任务以及目标任务的多个子任务。基于执行顺序,将获取主任务以及多个子任务分配至分布式系统中对应的任务处理节点依次执行时,实时获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于实时获取的执行结果状态和执行结果数据,调整执行顺序,从而实现对后续任务的执行进行实时调整,提升了任务执行的灵活性。
在一个实施例中,基于所述执行结果状态和所述执行结果数据,调整所述执行顺序,包括:基于所述执行结果状态和所述执行结果数据,确定所述当前任务执行节点对应的任务与后续处理任务之间的映射执行关系;基于所述映射执行关系,调整所述执行顺序。
在当前任务处理节点执行完成任务后,可以获取当前任务处理节点的执行结果状态和当前任务处理节点的执行结果数据。任务执行结果状态为任务执行产生的执行结果,例如可以包括执行通过、执行不通过等。执行结果数据为任务执行后产生的结果数据,例如可以包括任务执行完成的请求数量,后续任务执行时,会依赖此任务执行完成的请求数量执行不同的任务。
基于获取的执行结果状态以及执行结果数据,确定当前任务执行节点对应的任务与后续处理任务之间的映射执行关系。其中映射执行关系为基于当前任务处理节点的任务执行完成后,基于获取的执行结果状态以及执行结果数据,确定映射至后续哪些任务进行下一步的处理过程。所以可以基于确定的映射执行关系,对执行顺序进行实时调整。
例如,对于任务的执行结果状态,目标任务中的子任务执行时,可能会根据子任务的执行状态,例如执行通过或者执行不通过,采取不同的后续执行流程,在确定主任务执行反馈的结果是执行成功时,执行子任务1;在确定主任务执行反馈的结构是执行失败时,执行子任务2;对于任务的执行结果数据,可能会根据执行结果数据中执行完成的请求数量大于100时,执行子任务3,执行完成的请求数量小于等于100时,执行子任务4。
本发明实施例提供的任务调度方法,通过实时获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于实时获取的执行结果状态和执行结果数据,确定当前任务执行节点对应的任务与后续处理任务之间的映射执行关系,并基于确定的映射执行关系,调整执行顺序,从而实现对后续任务的执行进行实时调整。
在一个实施例中,基于所述执行结果状态和所述执行结果数据,确定所述当前任务执行节点对应的任务与后续处理任务之间的映射执行关系,包括:基于所述执行结果状态和所述执行结果数据,确定所述当前任务执行节点对应的任务映射至后续处理任务的状态码;基于所述状态码,确定所述当前任务执行节点与后续处理任务之间的映射执行关系。
在确定当前任务执行节点的执行结果状态和执行结果数据之后,确定当前任务执行节点对于的任务映射至后续处理任务的状态码。其中,状态码是任务的标识,用于计算机能基于状态码识别到对应的任务。
在确定当前任务执行节点对应的任务映射至后续处理任务的状态码后,可以识别状态码,确定当前任务执行节点与后处理任务之间的映射执行关系。基于确定的映射执行关系,对执行顺序进行实时调整。
本发明实施例提供的任务调度方法,通过在确定当前任务执行节点的执行结果状态和执行结果数据之后,确定当前任务执行节点对于的任务映射至后续处理任务的状态码。识别状态码,确定当前任务执行节点与后处理任务之间的映射执行关系,为后续实现对执行顺序的实时调整提供了基础。
在一个实施例中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据之前,还包括:将所述当前任务处理节点对应任务的执行参数以及所述当前任务处理节点对应任务的执行条件发送至所述当前任务执行节点,以使所述当前任务执行节点基于所述执行参数以及所述执行条件,确定所述当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据。
在目标任务的主任务以及多个子任务进行执行的过程中,需要依赖执行条件以及执行参数才能执行。执行条件为任务执行时依赖的条件;执行参数为任务执行时依赖的参数。
在当前任务处理节点将要执行任务时,将当前任务处理节点对应任务的执行参数以及当前任务处理节点对应任务的执行条件发送至当前任务执行节点。当前任务执行节点接收执行参数以及执行条件后,基于执行参数以及执行条件,完成任务执行操作,得到当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据。
本发明实施例提供的任务调度方法,通过当前任务执行节点接收执行参数以及执行条件后,基于执行参数以及执行条件,完成任务执行操作,得到当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,实现了执行结果状态与执行结果数据的确定过程。
在一个实施例中,基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行,包括:基于所述目标任务的任务执行逻辑,确定所述主任务以及所述多个子任务的优先级;基于所述优先级,确定所述主任务与所述多个子任务之间的执行顺序,并基于所述执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行。
在主任务以及多个子任务执行之前,需要确定主任务与多个子任务之间的执行顺序。可以理解的是,目标任务的执行逻辑中包含目标任务的主任务与多个子任务的执行优先级。
基于目标任务的主任务与多个子任务的执行优先级,确定主任务与多个子任务之间的执行顺序。基于确定的执行顺序,将主任务以及多个子任务分配至所述分布式系统中对应的任务处理节点依次执行。
本发明实施例提供的任务调度方法,通过基于目标任务的主任务与多个子任务的执行优先级,确定主任务与多个子任务之间的执行顺序。基于确定的执行顺序,将主任务以及多个子任务分配至所述分布式系统中对应的任务处理节点依次执行,为后续各任务的分布式执行提供了基础。
在一个实施例中,基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分之前,还包括:接收所述分布式系统中前端界面的配置参数,基于所述配置参数,确定所述分布式系统中的所述目标任务的任务执行逻辑。
分布式系统中的前端界面,包含配置参数设定部分。其中,配置参数为用于确定分布式系统中目标任务的任务执行逻辑的参数。
在获取目标任务后,可以基于运维人员在前端界面中配置目标任务的配置参数。在获取配置参数后,确定分布式系统中目标任务的任务执行逻辑。
可以理解的是,基于目标任务的任务执行逻辑的界面可配置的方式,可以实现对目标任务执行过程的灵活配置。与后续实时获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于实时获取的执行结果状态和执行结果数据,调整执行顺序,能共同提升任务执行的灵活性。
本发明实施例提供的任务调度方法,通过接收分布式系统中前端界面的配置参数,基于配置参数,确定分布式系统中的所述目标任务的任务执行逻辑。基于目标任务的任务执行逻辑的界面可配置的方式,可以实现对目标任务执行过程的灵活配置。
下面以一应用本发明提供的任务调度方法的装置结构示意图为例,说明本发明提供的技术方案,如图2所示,该装置包括:
任务执行模块210,任务执行模块210用于在分布式系统的对应节点执行具体的任务,并返回执行结果。在执行任务前,任务执行模块210需要接收已经定义好的任务参数以及任务条件,执行包含主任务和子任务的任务计划。任务执行模块210需要根据主任务执行的结果来确定是否需要执行子任务;
任务计划模块220,任务计划模块220包含主任务和子任务,并定义在什么条件下需要执行主任务和子任务;
任务管理模块230,任务管理模块230负责存储和管理所有任务计划,包括主任务和子任务,并具有执行任务的能力。任务管理模块230可以通过调用任务执行模块210执行任务,并根据任务计划的执行顺序来判断是否需要执行子任务;
执行结果确定模块240,执行结果确定模块240包含执行结果状态和执行结果数据。任务结果状态用于确定任务执行是否成功,并根据执行结果数据映射到设定的任务状态码来决定是否需要执行子任务;
执行顺序调整模块250,执行顺序调整模块250用于在主任务与多个子任务基于执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于执行结果状态和执行结果数据,调整执行顺序;
子任务执行模块260,子任务执行模块260负责执行既定的子任务。在执行前,子任务执行模块260需要接收子任务的执行参数以及执行条件,并调用子任务的执行程序来完成执行;
任务执行判断模块270,任务执行判断模块270用于在任务管理器中执行主任务时,任务管理器会根据任务计划和任务执行结果来判断是否要执行子任务。如果需要执行子任务,则根据子任务计划和子任务执行参数初始化子任务执行器,执行子任务。最终将所有的任务执行结果归纳在任务执行结果中,并根据任务执行结果进行任务的管理和处理。
图3为本发明提供的任务调度装置的结构示意图,如图3所示,该装置包括:
拆分模块310,用于基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
分配模块320,用于基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
调度模块330,用于在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
本发明实施例提供的任务调度装置,通过确定目标任务的主任务以及目标任务的多个子任务。基于执行顺序,将获取主任务以及多个子任务分配至分布式系统中对应的任务处理节点依次执行时,实时获取当前任务处理节点的执行结果状态与当前任务处理节点的执行结果数据,并基于实时获取的执行结果状态和执行结果数据,调整执行顺序,从而实现对后续任务的执行进行实时调整,提升了任务执行的灵活性。
在一个实施例中,调度模块330具体用于:
基于所述执行结果状态和所述执行结果数据,调整所述执行顺序,包括:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务与后续处理任务之间的映射执行关系;
基于所述映射执行关系,调整所述执行顺序。
在一个实施例中,调度模块330还具体用于:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务与后续处理任务之间的映射执行关系,包括:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务映射至后续处理任务的状态码;
基于所述状态码,确定所述当前任务处理节点与后续处理任务之间的映射执行关系。
在一个实施例中,调度模块330还具体用于:
获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据之前,还包括:
将所述当前任务处理节点对应任务的执行参数以及所述当前任务处理节点对应任务的执行条件发送至所述当前任务处理节点,以使所述当前任务处理节点基于所述执行参数以及所述执行条件,确定所述当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据。
在一个实施例中,分配模块320具体用于:
基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行,包括:
基于所述目标任务的任务执行逻辑,确定所述主任务以及所述多个子任务的优先级;
基于所述优先级,确定所述主任务与所述多个子任务之间的执行顺序,并基于所述执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行。
在一个实施例中,拆分模块310具体用于:
基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分之前,还包括:
接收所述分布式系统中前端界面的配置参数,基于所述配置参数,确定所述分布式系统中的所述目标任务的任务执行逻辑。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行任务调度方法,该方法包括:
基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的任务调度方法,该方法包括:
基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的任务调度方法,该方法包括:
基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
2.根据权利要求1所述的任务调度方法,其特征在于,所述基于所述执行结果状态和所述执行结果数据,调整所述执行顺序,包括:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务与后续处理任务之间的映射执行关系;
基于所述映射执行关系,调整所述执行顺序。
3.根据权利要求2所述的任务调度方法,其特征在于,所述基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务与后续处理任务之间的映射执行关系,包括:
基于所述执行结果状态和所述执行结果数据,确定所述当前任务处理节点对应的任务映射至后续处理任务的状态码;
基于所述状态码,确定所述当前任务处理节点与后续处理任务之间的映射执行关系。
4.根据权利要求1所述的任务调度方法,其特征在于,所述获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据之前,还包括:
将所述当前任务处理节点对应任务的执行参数以及所述当前任务处理节点对应任务的执行条件发送至所述当前任务处理节点,以使所述当前任务处理节点基于所述执行参数以及所述执行条件,确定所述当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据。
5.根据权利要求1所述的任务调度方法,其特征在于,所述基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行,包括:
基于所述目标任务的任务执行逻辑,确定所述主任务以及所述多个子任务的优先级;
基于所述优先级,确定所述主任务与所述多个子任务之间的执行顺序,并基于所述执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行。
6.根据权利要求1所述的任务调度方法,其特征在于,所述基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分之前,还包括:
接收所述分布式系统中前端界面的配置参数,基于所述配置参数,确定所述分布式系统中的所述目标任务的任务执行逻辑。
7.一种任务调度装置,其特征在于,包括:
拆分模块,用于基于分布式系统中的目标任务的任务执行逻辑,对所述目标任务进行拆分,得到所述目标任务的主任务以及所述目标任务的多个子任务;
分配模块,用于基于所述主任务与所述多个子任务之间的执行顺序,将所述主任务以及所述多个子任务分配至所述分布式系统中对应的任务处理节点执行;
调度模块,用于在所述主任务与所述多个子任务基于所述执行顺序依次执行的过程中,获取当前任务处理节点的执行结果状态与所述当前任务处理节点的执行结果数据,并基于所述执行结果状态和所述执行结果数据,调整所述执行顺序。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述任务调度方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述任务调度方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310475279.8A CN116643861A (zh) | 2023-04-27 | 2023-04-27 | 任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310475279.8A CN116643861A (zh) | 2023-04-27 | 2023-04-27 | 任务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116643861A true CN116643861A (zh) | 2023-08-25 |
Family
ID=87642559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310475279.8A Pending CN116643861A (zh) | 2023-04-27 | 2023-04-27 | 任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116643861A (zh) |
-
2023
- 2023-04-27 CN CN202310475279.8A patent/CN116643861A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200019435A1 (en) | Dynamic optimizing task scheduling | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
US10713040B2 (en) | Hybrid development systems and methods | |
US8606905B1 (en) | Automated determination of system scalability and scalability constraint factors | |
JP2015011716A (ja) | グリッドコンピューティングシステムの遊休リソースによるタスク実行 | |
US10514949B1 (en) | Efficient data processing in a serverless environment | |
US8051427B2 (en) | Method of establishing a logical state of an instance using non-deterministic operation results stored in a result log | |
CN108319538B (zh) | 大数据平台运行状态的监控方法和系统 | |
CN108491254A (zh) | 一种数据仓库的调度方法及装置 | |
CN109634730A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN107430526B (zh) | 用于调度数据处理的方法和节点 | |
CN112286664B (zh) | 任务调度方法、装置、计算机设备及可读存储介质 | |
US11755379B2 (en) | Liaison system and method for cloud computing environment | |
CN110764911A (zh) | 基于订单的资源调度方法、装置和控制系统 | |
CN116643861A (zh) | 任务调度方法及装置 | |
CN113127289B (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN114064262A (zh) | 管理存储系统中的计算资源的方法、设备和程序产品 | |
CN112130979B (zh) | 调度任务及训练神经网络模型的方法、装置、终端和介质 | |
US11907364B2 (en) | Managing incompliances identified at instances of cloud applications | |
US20230401087A1 (en) | Method and system for automated migration of high performance computing application to serverless platform | |
CN116107747A (zh) | 一种任务处理方法、装置、设备及介质 | |
CN112766768B (zh) | 合同流程管理方法、装置、电子设备以及可读存储介质 | |
US10802878B2 (en) | Phased start and stop of resources in a mainframe environment | |
CN117193973A (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 |