CN112559161A - 一种任务调度方法及系统 - Google Patents

一种任务调度方法及系统 Download PDF

Info

Publication number
CN112559161A
CN112559161A CN202110188831.6A CN202110188831A CN112559161A CN 112559161 A CN112559161 A CN 112559161A CN 202110188831 A CN202110188831 A CN 202110188831A CN 112559161 A CN112559161 A CN 112559161A
Authority
CN
China
Prior art keywords
task
batch
target
upstream
execution
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
Application number
CN202110188831.6A
Other languages
English (en)
Inventor
鲁成祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN202110188831.6A priority Critical patent/CN112559161A/zh
Publication of CN112559161A publication Critical patent/CN112559161A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种任务调度方法及系统,该方法为:周期性获取目标任务的第一任务批次;根据预设的目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与第一任务批次关联的上游任务的第二任务批次;若确定第二任务批次执行完成,执行第一任务批次。本方案中,周期性获取目标任务的第一任务批次,并确定目标任务的上游任务中,与第一任务批次关联的第二任务批次,当确定第二任务批次执行完成后,执行第一任务批次。以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。

Description

一种任务调度方法及系统
技术领域
本发明涉及数据处理技术领域,具体涉及一种任务调度方法及系统。
背景技术
目前通常以粗粒度的调度方案进行任务调度,即以工作流(具有依赖关系的若干任务集合)为粒度进行任务调度。
但是在实际应用中,执行周期不同的任务之间往往具有依赖关系,而随着互联网的发展,任务的数量急剧增长,这也就使各个任务之间的依赖关系越来越复杂,无法将每个任务划分为孤立的工作流,进而无法保证任务的有序执行,因此粗粒度的调度方案的调度效率较低和调度可靠性较差。
发明内容
有鉴于此,本发明实施例提供一种任务调度方法及系统,以解决目前粗粒度的调度方案存在的调度效率低和调度可靠性差等问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开一种任务调度方法,所述方法包括:
周期性获取目标任务的第一任务批次,所述第一任务批次在所述目标任务的执行周期的起始时间生成;
根据预设的所述目标任务所依赖的上游任务的依赖关系三元组,结合所述第一任务批次对应的起始时间和所述上游任务的执行周期类型,确定与所述第一任务批次关联的所述上游任务的第二任务批次,所述第二任务批次在所述上游任务的执行周期的起始时间生成,所述依赖关系三元组由任务信息、周期类型和周期差值构成;
若确定所述第二任务批次执行完成,执行所述第一任务批次。
优选的,所述根据预设的所述目标任务所依赖的上游任务的依赖关系三元组,结合所述第一任务批次对应的起始时间和所述上游任务的执行周期类型,确定与所述第一任务批次关联的所述上游任务的第二任务批次,包括:
将所述第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间,K为所述目标任务所依赖的上游任务的依赖关系三元组中的周期差值的绝对值,所述指定周期类型为所述依赖关系三元组中的周期类型;
若所述上游任务的执行周期类型的时长等于所述依赖关系三元组中的周期类型的时长,确定与所述第一任务批次关联的,执行周期的起始时间为所述目标起始时间的所述上游任务的第二任务批次;
若所述上游任务的执行周期类型的时长小于所述依赖关系三元组中的周期类型的时长,利用所述目标起始时间和所述依赖关系三元组中的周期类型与周期差值,确定目标时间段;
确定与所述第一任务批次关联的,执行周期的起始时间处于所述目标时间段内的所述上游任务的第二任务批次。
优选的,所述若确定所述第二任务批次执行完成,执行所述第一任务批次,包括:
若确定所述第二任务批次执行完成,确定满足预设条件的执行器,所述预设条件根据所述目标任务的配置信息确定;
将所述第一任务批次发送至所述执行器,使所述执行器执行所述第一任务批次。
优选的,执行所述第一任务批次之后,还包括:
接收所述第一任务批次的执行状况信息。
优选的,所述周期性获取目标任务的第一任务批次之前,还包括:
接收用于触发目标任务的运行指令。
本发明实施例第二方面公开一种任务调度系统,所述系统包括:
获取单元,用于周期性获取目标任务的第一任务批次,所述第一任务批次在所述目标任务的执行周期的起始时间生成;
处理单元,用于根据预设的所述目标任务所依赖的上游任务的依赖关系三元组,结合所述第一任务批次对应的起始时间和所述上游任务的执行周期类型,确定与所述第一任务批次关联的所述上游任务的第二任务批次,所述第二任务批次在所述上游任务的执行周期的起始时间生成,所述依赖关系三元组由任务信息、周期类型和周期差值构成;
执行单元,用于若确定所述第二任务批次执行完成,执行所述第一任务批次。
优选的,所述处理单元包括:
处理模块,用于将所述第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间,K为所述目标任务所依赖的上游任务的依赖关系三元组中的周期差值的绝对值,所述指定周期类型为所述依赖关系三元组中的周期类型;
第一确定模块,用于若所述上游任务的执行周期类型的时长等于所述依赖关系三元组中的周期类型的时长,确定与所述第一任务批次关联的,执行周期的起始时间为所述目标起始时间的所述上游任务的第二任务批次;
第二确定模块,用于若所述上游任务的执行周期类型的时长小于所述依赖关系三元组中的周期类型的时长,利用所述目标起始时间和所述依赖关系三元组中的周期类型与周期差值,确定目标时间段;
第三确定模块,用于确定与所述第一任务批次关联的,执行周期的起始时间处于所述目标时间段内的所述上游任务的第二任务批次。
优选的,所述执行单元具体用于:若确定所述第二任务批次执行完成,确定满足预设条件的执行器,将所述第一任务批次发送至所述执行器,使所述执行器执行所述第一任务批次,所述预设条件根据所述目标任务的配置信息确定。
优选的,所述系统还包括:
第一接收单元,用于接收所述第一任务批次的执行状况信息。
优选的,所述系统还包括:
第二接收单元,用于接收用于触发目标任务的运行指令。
基于上述本发明实施例提供的一种任务调度方法及系统,该方法为:周期性获取目标任务的第一任务批次;根据预设的目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与第一任务批次关联的上游任务的第二任务批次;若确定第二任务批次执行完成,执行第一任务批次。本方案中,周期性获取目标任务的第一任务批次,并确定目标任务的上游任务中,与第一任务批次关联的第二任务批次,当确定第二任务批次执行完成后,执行第一任务批次。以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种任务调度方法的流程图;
图2为本发明实施例提供的浏览器、服务器和执行器之间的交互示意图;
图3为本发明实施例提供的确定第二任务批次的流程图;
图4为本发明实施例提供的一种任务调度系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,目前用于调度任务的方案通常为粗粒度的调度方案,由于执行周期不同的任务之间往往具有依赖关系,而随着任务的数量的增长,各个任务之间的依赖关系越来越复杂,粗粒度的调度方案无法保证任务的有序执行,调度效率较低和调度可靠性较差。
因此,本发明实施例提供一种任务调度方法及系统,周期性获取目标任务的第一任务批次,并确定目标任务的上游任务中,与第一任务批次关联的第二任务批次,当确定第二任务批次执行完成后,执行第一任务批次。以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,以提高任务调度的效率和可靠性。
可以理解的是,本发明实施例中所涉及的任务调度方法,可在服务器或其它具有与服务器功能类似的设备中运行。
参见图1,示出了本发明实施例提供的一种任务调度方法的流程图,该任务调度方法包括:
步骤S101:周期性获取目标任务的第一任务批次。
需要说明的是,对于任意一个任务,在该任务的每个执行周期执行该任务视为一个任务批次,服务器在任务的执行周期的起始时间生成该任务对应的任务批次(任务批次与执行周期的起始时间对应),将所生成的任务批次的状态设置为“等待状态”,并将所生成的任务批次的批次详情存储至数据库中,其中,批次详情包含了任务批次对应的标识,该标识由任务批次对应的任务名和执行周期的起始时间构成。
也就是说,第一任务批次在目标任务的执行周期的起始时间生成。
在具体实现步骤S101的过程中,周期性的获取目标任务的第一任务批次,该第一任务批次的状态为“等待状态”。
优选的,在执行步骤S101之前,接收用于触发目标任务的运行指令,接收到该指令后执行步骤S101。
可以理解的是,用户可通过浏览器向服务器下发触发目标任务的运行指令,同理用户也可通过浏览器下发终止任务调度或重新触发任务调度的指令,即用户可通过浏览器与服务器进行交互。
步骤S102:根据预设的目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与第一任务批次关联的上游任务的第二任务批次。
可以理解的是,每个任务可能依赖一个或多个上游任务,即对于任意一个任务,需等待该任务所依赖的上游任务执行完成之后,才能开始执行该任务。
由步骤S101中关于任务批次的内容可知,第二任务批次在上游任务(目标任务的上游任务)的执行周期的起始时间生成。
需要说明的是,需要预先配置每个任务(包括目标任务及其对应的上游任务)的配置信息并将其存储至数据库中,例如:可通过浏览器和服务器的交互实现每个任务的配置信息的配置,任务的配置信息包括但不仅限于:任务的唯一标识、任务名称、执行程序、执行周期类型和对执行器(用于执行任务)的需求。
在配置每个任务的配置信息的过程中,按照实际需求,将每个任务的执行周期分类为年/月/周/天/时(仅举例)等执行周期类型。
对于每个任务的上游任务,需配置该上游任务对应的依赖关系三元组,该依赖关系三元组由任务信息、周期类型和周期差值构成,也就是说,每个上游任务均配置(在任务创建时配置或后期编辑)相应的依赖关系三元组。
依赖关系三元组的结构即为:(上游任务P,周期类型C,周期差值S),依赖关系三元组即为任务和其上游任务之间的依赖关系的具体描述。
比如:假设目标任务(p0)的执行周期类型为小时,目标任务的上游任务(p1)的执行周期类型为天,目标任务的上游任务依赖关系三元组中的周期类型C为“天”且周期差值S为-1,此时任务p1对应的依赖关系三元组中的内容指示:小时级任务p0(即目标任务)依赖于前一天(即-1天)的天级任务p1。
可以理解的是,依赖关系三元组中的内容需满足预设条件,比如:以目标任务的上游任务的依赖关系三元组为例,假设目标任务和其上游任务的执行周期类型分别为C0和C1,该依赖关系三元组中的周期类型C大于等于目标任务的执行周期类型C0,并且依赖关系三元组中的周期类型C大于等于上游任务的执行周期类型C1(即该上游任务实际的执行周期类型),依赖关系三元组中的周期差值为小于等于0的整数。
需要说明的是,比较执行周期类型之间的大小的过程中,遵循以下原则:年>月>周>天>时,即按照执行周期类型的时长进行比较。
在具体实现步骤S102的过程中,利用目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与该第一任务批次关联的该上游任务的第二任务批次,即需要先执行完成第二任务批次之后,才能开始执行第一任务批次。
步骤S103:检查第二任务批次的执行状态。
在具体实现步骤S103的过程中,确定与第一任务批次相关联的第二任务批次之后,检查该第二任务批次的执行状态。
步骤S104:根据第二任务批次的执行状态,确定第二任务批次是否执行完成。若确定第二任务批次执行完成,执行步骤S105,若确定第二任务批次未执行完成,返回执行步骤S103。
在具体实现步骤S104的过程中,根据第二任务批次的执行状态,确定第二任务批次是否执行完成,若第二任务批次执行完成,将第一任务批次的状态设置为“就绪状态”。
也就是说,当与目标任务的第一任务批次相关联的,该目标任务的上游任务对应的第二任务批次全部执行完成,将第一任务批次的状态设置为“就绪状态”。
步骤S105:若确定第二任务批次执行完成,执行第一任务批次。
可以理解的是,由上述步骤S102中的内容可知,在配置任务的配置信息时,需配置该任务对于执行器的需求,比如:某个任务需在特定的运行环境下执行,故只能在指定的执行器上执行该任务。
在具体实现步骤S105的过程中,确定满足预设条件的执行器,该预设条件根据目标任务的配置信息确定,将第一任务批次发送至所确定的执行器,使该执行器执行第一任务批次。
可以理解的是,执行器在执行第一任务批次时,会周期性的反馈执行状况信息,故优选的,在执行步骤S105之后,接收第一任务批次的执行状况信息。
上述步骤S101至步骤S105中涉及到浏览器、服务器和执行器之间的交互过程,为更好解释说明该交互过程,通过图2示出的浏览器、服务器和执行器之间的交互示意图进行解释说明,需要说明的是,图2仅用于举例。
图2中,浏览器向服务器发送用于进行任务管控的指令,比如:配置任务的配置信息的指令和触发目标任务的运行指令等。
服务器在接收到触发目标任务的运行指令时,执行上述步骤S101至步骤S105的内容,进行任务调度。
执行器在接收到服务器发送的第一任务批次,执行该第一任务批次,并将执行状况信息反馈给服务器。
在本发明实施例中,周期性获取目标任务的第一任务批次,并确定目标任务的上游任务中,与第一任务批次关联的第二任务批次,当确定第二任务批次执行完成后,执行第一任务批次。以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。
上述本发明实施例图1步骤S102涉及的确定第二任务批次的过程,参见图3,示出了本发明实施例提供的确定第二任务批次的流程图,包括以下步骤:
步骤S301:将第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间。
需要说明的是,K为目标任务所依赖的上游任务的依赖关系三元组中的周期差值的绝对值(即步骤S102中周期差值S的绝对值),指定周期类型为依赖关系三元组中的周期类型(即步骤S102中的周期类型C)。
在具体实现步骤S301的过程中,将第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间。
比如:假设目标任务的上游任务的依赖关系三元组中的周期差值S为-1,周期类型C为天,则将第一任务批次对应的起始时间后退1天,得到目标起始时间t’。
步骤S302:若上游任务的执行周期类型的时长等于依赖关系三元组中的周期类型的时长,确定与第一任务批次关联的,执行周期的起始时间为目标起始时间的上游任务的第二任务批次。
可以理解的是,由上述本发明实施例图1步骤S102的内容可知,目标任务的上游任务的依赖关系三元组中的内容为预先配置,在具体实现步骤S302的过程中,若目标任务依赖的上游任务的执行周期类型的时长等于依赖关系三元组中的周期类型的时长,确定与第一任务批次关联的,执行周期的起始时间为目标起始时间的上游任务的第二任务批次。
也就是说,若该上游任务的执行周期类型(实际的执行周期类型)与该上游任务的依赖关系三元组中的周期类型相等,则确定起始时间为目标起始时间的上游任务的第二任务批次,该第二任务批次即为上游任务中与第一任务批次相关联的任务批次。
步骤S303:若上游任务的执行周期类型的时长小于依赖关系三元组中的周期类型的时长,利用目标起始时间和依赖关系三元组中的周期类型与周期差值,确定目标时间段,执行步骤S304。
在具体实现步骤S303的过程中,若目标任务依赖的上游任务的执行周期类型的时长小于依赖关系三元组中的周期类型的时长,利用目标起始时间和依赖关系三元组中的周期类型与周期差值,确定目标时间段,该目标时间段为[t’,t’+C*K对应的时长),其中,t’为目标起始时间,C为该上游任务的依赖关系三元组中的周期类型,S为依赖关系三元组中的周期差值,K为S的绝对值。
步骤S304:确定与第一任务批次关联的,执行周期的起始时间处于目标时间段内的上游任务的第二任务批次。
在具体实现步骤S304的过程中,确定与第一任务批次关联的,执行周期的起始时间处于目标时间段内的上游任务的第二任务批次。
也就是说,确定目标任务依赖的上游任务对应的,执行周期的起始时间处于目标时间段[t’,t’+C*K对应的时长) 内的第二任务批次,该第二任务批次即为上游任务中与第一任务批次相关联的任务批次。
在本发明实施例中,根据目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与第一任务批次关联的上游任务的第二任务批次。确定第二任务批次执行完成后,再执行第一任务批次,以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。
与上述本发明实施例提供的一种任务调度方法相对应,参见图4,本发明实施例还提供了一种任务调度系统的结构框图,该任务调度系统包括:获取单元401、处理单元402和执行单元403;
获取单元401,用于周期性获取目标任务的第一任务批次,第一任务批次在目标任务的执行周期的起始时间生成。
处理单元402,用于根据预设的目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与第一任务批次关联的上游任务的第二任务批次,第二任务批次在上游任务的执行周期的起始时间生成,依赖关系三元组由任务信息、周期类型和周期差值构成。
执行单元403,用于若确定第二任务批次执行完成,执行第一任务批次。
在具体实现中,执行单元403具体用于:若确定第二任务批次执行完成,确定满足预设条件的执行器,将第一任务批次发送至执行器,使执行器执行第一任务批次,预设条件根据目标任务的配置信息确定。
在本发明实施例中,周期性获取目标任务的第一任务批次,并确定目标任务的上游任务中,与第一任务批次关联的第二任务批次,当确定第二任务批次执行完成后,执行第一任务批次。以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。
优选的,结合图4示出的内容,处理单元402包括:处理模块、第一确定模块、第二确定模块和第三确定模块,各个模块的执行原理如下:
处理模块,用于将第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间,K为目标任务所依赖的上游任务的依赖关系三元组中的周期差值的绝对值,指定周期类型为依赖关系三元组中的周期类型。
第一确定模块,用于若上游任务的执行周期类型的时长等于依赖关系三元组中的周期类型的时长,确定与第一任务批次关联的,执行周期的起始时间为目标起始时间的上游任务的第二任务批次。
第二确定模块,用于若上游任务的执行周期类型的时长小于依赖关系三元组中的周期类型的时长,利用目标起始时间和依赖关系三元组中的周期类型与周期差值,确定目标时间段。
第三确定模块,用于确定与第一任务批次关联的,执行周期的起始时间处于目标时间段内的上游任务的第二任务批次。
在本发明实施例中,根据目标任务所依赖的上游任务的依赖关系三元组,结合第一任务批次对应的起始时间和上游任务的执行周期类型,确定与第一任务批次关联的上游任务的第二任务批次。确定第二任务批次执行完成后,再执行第一任务批次,以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。
优选的,结合图4示出的内容,该任务调度系统还包括:
第一接收单元,用于接收第一任务批次的执行状况信息。
优选的,结合图4示出的内容,该任务调度系统还包括:
第二接收单元,用于接收用于触发目标任务的运行指令。
综上所述,本发明实施例提供一种任务调度方法及系统,周期性获取目标任务的第一任务批次,并确定目标任务的上游任务中,与第一任务批次关联的第二任务批次,当确定第二任务批次执行完成后,执行第一任务批次。以任务为粒度,对执行周期不同的任务之间进行调度,从而实现细粒度的任务调度,提高任务调度的效率和可靠性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种任务调度方法,其特征在于,所述方法包括:
周期性获取目标任务的第一任务批次,所述第一任务批次在所述目标任务的执行周期的起始时间生成;
根据预设的所述目标任务所依赖的上游任务的依赖关系三元组,结合所述第一任务批次对应的起始时间和所述上游任务的执行周期类型,确定与所述第一任务批次关联的所述上游任务的第二任务批次,所述第二任务批次在所述上游任务的执行周期的起始时间生成,所述依赖关系三元组由任务信息、周期类型和周期差值构成;
若确定所述第二任务批次执行完成,执行所述第一任务批次。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的所述目标任务所依赖的上游任务的依赖关系三元组,结合所述第一任务批次对应的起始时间和所述上游任务的执行周期类型,确定与所述第一任务批次关联的所述上游任务的第二任务批次,包括:
将所述第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间,K为所述目标任务所依赖的上游任务的依赖关系三元组中的周期差值的绝对值,所述指定周期类型为所述依赖关系三元组中的周期类型;
若所述上游任务的执行周期类型的时长等于所述依赖关系三元组中的周期类型的时长,确定与所述第一任务批次关联的,执行周期的起始时间为所述目标起始时间的所述上游任务的第二任务批次;
若所述上游任务的执行周期类型的时长小于所述依赖关系三元组中的周期类型的时长,利用所述目标起始时间和所述依赖关系三元组中的周期类型与周期差值,确定目标时间段;
确定与所述第一任务批次关联的,执行周期的起始时间处于所述目标时间段内的所述上游任务的第二任务批次。
3.根据权利要求1所述的方法,其特征在于,所述若确定所述第二任务批次执行完成,执行所述第一任务批次,包括:
若确定所述第二任务批次执行完成,确定满足预设条件的执行器,所述预设条件根据所述目标任务的配置信息确定;
将所述第一任务批次发送至所述执行器,使所述执行器执行所述第一任务批次。
4.根据权利要求1所述的方法,其特征在于,执行所述第一任务批次之后,还包括:
接收所述第一任务批次的执行状况信息。
5.根据权利要求1所述的方法,其特征在于,所述周期性获取目标任务的第一任务批次之前,还包括:
接收用于触发目标任务的运行指令。
6.一种任务调度系统,其特征在于,所述系统包括:
获取单元,用于周期性获取目标任务的第一任务批次,所述第一任务批次在所述目标任务的执行周期的起始时间生成;
处理单元,用于根据预设的所述目标任务所依赖的上游任务的依赖关系三元组,结合所述第一任务批次对应的起始时间和所述上游任务的执行周期类型,确定与所述第一任务批次关联的所述上游任务的第二任务批次,所述第二任务批次在所述上游任务的执行周期的起始时间生成,所述依赖关系三元组由任务信息、周期类型和周期差值构成;
执行单元,用于若确定所述第二任务批次执行完成,执行所述第一任务批次。
7.根据权利要求6所述的系统,其特征在于,所述处理单元包括:
处理模块,用于将所述第一任务批次对应的起始时间后退K个指定周期类型的周期,得到目标起始时间,K为所述目标任务所依赖的上游任务的依赖关系三元组中的周期差值的绝对值,所述指定周期类型为所述依赖关系三元组中的周期类型;
第一确定模块,用于若所述上游任务的执行周期类型的时长等于所述依赖关系三元组中的周期类型的时长,确定与所述第一任务批次关联的,执行周期的起始时间为所述目标起始时间的所述上游任务的第二任务批次;
第二确定模块,用于若所述上游任务的执行周期类型的时长小于所述依赖关系三元组中的周期类型的时长,利用所述目标起始时间和所述依赖关系三元组中的周期类型与周期差值,确定目标时间段;
第三确定模块,用于确定与所述第一任务批次关联的,执行周期的起始时间处于所述目标时间段内的所述上游任务的第二任务批次。
8.根据权利要求6所述的系统,其特征在于,所述执行单元具体用于:若确定所述第二任务批次执行完成,确定满足预设条件的执行器,将所述第一任务批次发送至所述执行器,使所述执行器执行所述第一任务批次,所述预设条件根据所述目标任务的配置信息确定。
9.根据权利要求6所述的系统,其特征在于,所述系统还包括:
第一接收单元,用于接收所述第一任务批次的执行状况信息。
10.根据权利要求6所述的系统,其特征在于,所述系统还包括:
第二接收单元,用于接收用于触发目标任务的运行指令。
CN202110188831.6A 2021-02-19 2021-02-19 一种任务调度方法及系统 Pending CN112559161A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110188831.6A CN112559161A (zh) 2021-02-19 2021-02-19 一种任务调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110188831.6A CN112559161A (zh) 2021-02-19 2021-02-19 一种任务调度方法及系统

Publications (1)

Publication Number Publication Date
CN112559161A true CN112559161A (zh) 2021-03-26

Family

ID=75035963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110188831.6A Pending CN112559161A (zh) 2021-02-19 2021-02-19 一种任务调度方法及系统

Country Status (1)

Country Link
CN (1) CN112559161A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948096A (zh) * 2021-04-07 2021-06-11 中国工商银行股份有限公司 一种批量调度方法、装置和设备
CN113806038A (zh) * 2021-08-04 2021-12-17 北京房江湖科技有限公司 任务调度方法、装置、电子设备、存储介质及程序产品
CN114064609A (zh) * 2021-11-12 2022-02-18 中交智运有限公司 一种数据仓库任务调度方法、装置、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951315A (zh) * 2017-03-17 2017-07-14 北京搜狐新媒体信息技术有限公司 一种基于etl的数据任务调度方法及系统
CN108920261A (zh) * 2018-05-23 2018-11-30 中国航天系统科学与工程研究院 一种适于大规模并行数据处理任务的两级自适应调度方法
CN109408204A (zh) * 2017-08-15 2019-03-01 阿里巴巴集团控股有限公司 一种分布式任务系统的任务调度方法及装置
CN110336859A (zh) * 2019-06-06 2019-10-15 广州市玄武无线科技股份有限公司 一种多租户环境下的任务调度系统
CN112328377A (zh) * 2020-11-04 2021-02-05 北京字节跳动网络技术有限公司 基线监控方法、装置、可读介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951315A (zh) * 2017-03-17 2017-07-14 北京搜狐新媒体信息技术有限公司 一种基于etl的数据任务调度方法及系统
CN109408204A (zh) * 2017-08-15 2019-03-01 阿里巴巴集团控股有限公司 一种分布式任务系统的任务调度方法及装置
CN108920261A (zh) * 2018-05-23 2018-11-30 中国航天系统科学与工程研究院 一种适于大规模并行数据处理任务的两级自适应调度方法
CN110336859A (zh) * 2019-06-06 2019-10-15 广州市玄武无线科技股份有限公司 一种多租户环境下的任务调度系统
CN112328377A (zh) * 2020-11-04 2021-02-05 北京字节跳动网络技术有限公司 基线监控方法、装置、可读介质及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948096A (zh) * 2021-04-07 2021-06-11 中国工商银行股份有限公司 一种批量调度方法、装置和设备
CN113806038A (zh) * 2021-08-04 2021-12-17 北京房江湖科技有限公司 任务调度方法、装置、电子设备、存储介质及程序产品
CN114064609A (zh) * 2021-11-12 2022-02-18 中交智运有限公司 一种数据仓库任务调度方法、装置、系统及存储介质

Similar Documents

Publication Publication Date Title
CN112559161A (zh) 一种任务调度方法及系统
CN109558234B (zh) 一种定时任务调度方法和装置
WO2020140683A1 (zh) 任务调度方法、装置、计算机设备和存储介质
CN107733708B (zh) 设备参数配置方法、装置、计算机设备和存储介质
CN103679392B (zh) 一种任务调度处理方法及系统
CN110611707B (zh) 一种任务调度的方法及装置
US8984527B2 (en) System and method for execution time donation in a time-partitioning scheduler
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
CN112231073A (zh) 一种分布式任务调度方法及其装置
CN110968371A (zh) 一种数据仓库中工作流的配置方法及系统
CN111582629B (zh) 资源调度方法、装置、设备和存储介质
CN111784318A (zh) 数据处理方法、装置、电子设备及存储介质
CN110110306A (zh) 数据展示方法、装置、终端及计算机可读存储介质
CN111831424A (zh) 一种任务处理方法、系统及装置
CN112286664A (zh) 任务调度方法、装置、计算机设备及可读存储介质
CN115860451A (zh) 一种流程运行方法、装置、电子设备及存储介质
CN110019144A (zh) 一种大数据平台数据运维的方法和系统
CN110716943A (zh) 缺失数据补录方法、装置、计算机设备及存储介质
CN113485814A (zh) 批量任务调度方法及装置
CN108509264A (zh) 超时任务调度系统及方法
WO2023160418A1 (zh) 资源处理方法及资源调度方法
CN115951986A (zh) 任务调度方法、节点设备及远程服务器
CN107832461B (zh) 一种数据迁移方法及系统
CN114035928B (zh) 分布式任务分配处理方法
JP5387083B2 (ja) ジョブ管理システムおよび方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210326

RJ01 Rejection of invention patent application after publication