CN113760476A - 任务依赖处理方法及相关装置 - Google Patents
任务依赖处理方法及相关装置 Download PDFInfo
- Publication number
- CN113760476A CN113760476A CN202010501982.8A CN202010501982A CN113760476A CN 113760476 A CN113760476 A CN 113760476A CN 202010501982 A CN202010501982 A CN 202010501982A CN 113760476 A CN113760476 A CN 113760476A
- Authority
- CN
- China
- Prior art keywords
- task
- dependency
- time interval
- relationship
- dependency relationship
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 230000001419 dependent effect Effects 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000003442 weekly effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 23
- 230000014509 gene expression Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000002354 daily effect Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000003203 everyday effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- OFPXSFXSNFPTHF-UHFFFAOYSA-N oxaprozin Chemical compound O1C(CCC(=O)O)=NC(C=2C=CC=CC=2)=C1C1=CC=CC=C1 OFPXSFXSNFPTHF-UHFFFAOYSA-N 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本发明提供一种任务依赖处理方法及相关装置,涉及数据处理的任务关联领域。任务依赖处理方法应用于电子设备,该任务依赖处理方法包括:获取第一任务的第一执行时段和第二任务的第二目标时段;第二目标时段表征第二任务所需的输入数据被产生的时段;当第一任务的输出数据为第二任务的输入数据,且第一执行时段在第二目标时段内时,确定第一任务为第二任务的依赖任务;建立第一任务与第二任务的依赖关系。在多个任务之间的数据流转过程中,完善多级任务的依赖关系,实现任务之间的立体化依赖,避免已有任务依赖关系的局限性;本发明提供的任务依赖处理方法还可以支持无限的任务依赖拓扑关系的建立,有利于建立新任务的任务依赖关系。
Description
技术领域
本发明涉及数据处理的任务关联领域,具体而言,涉及一种任务依赖处理方法及相关装置。
背景技术
随着互联网的不断发展,更多的工作或任务交给网络和机器来实现,各工作或任务之间或多或少存在依赖关系,即,当某一个或多个任务执行一次或多次之后,才会执行一个特定任务。
为了将不同任务进行关联,一般将多个任务之间的依赖关系表进行维护。但是,依赖关系表维护的是穷举场景中任务之间的关联关系,当依赖关系表中并未维护多个任务之间存在的关联关系时,即穷举场景外的关联关系,多个任务之间无法建立可靠的依赖关系;且,当任务的数量较大时,依赖关系表需要占用较大的内存空间。因此,需要一种任务依赖处理方法以解决上述问题。
发明内容
有鉴于此,本发明的目的在于提供一种任务依赖处理方法及相关装置。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种任务依赖处理方法,应用于电子设备,所述方法包括:获取第一任务的第一执行时段和第二任务的第二目标时段;所述第二目标时段表征所述第二任务所需的输入数据被产生的时段;当所述第一任务的输出数据为所述第二任务的输入数据,且所述第一执行时段在所述第二目标时段内时,确定所述第一任务为所述第二任务的依赖任务;建立所述第一任务与所述第二任务的依赖关系。
在可选的实施方式中,所述方法还包括:判断所述依赖关系是否将所述第一任务与所述第二任务关联;若是,则将所述依赖关系存储至实例任务依赖表;所述实例任务依赖表维护有所述依赖关系对应的任务标识和任务依赖类型。
在可选的实施方式中,判断所述依赖关系是否将所述第一任务与所述第二任务关联,包括:将所述第一执行时段置为预设值;按照所述依赖关系触发所述第二任务的执行进程,并记录所述执行进程的当前执行时段;判断所述当前执行时段与所述预设值是否匹配;若匹配,则确定所述依赖关系将所述第一任务与所述第二任务关联。
在可选的实施方式中,所述方法还包括:获取第三任务的第二执行时段;当所述第三任务的输出数据为所述第二任务的输入数据,且所述第二执行时段在所述第二目标时段内时,确定所述第三任务为所述第二任务的依赖任务;建立所述第三任务与所述第二任务的依赖关系。
在可选的实施方式中,建立所述第一任务与所述第二任务的依赖关系,包括:根据所述第一执行时段和所述第二目标时段,确定所述第一任务与所述第二任务的任务依赖类型;所述任务依赖类型为以下的任意一种:同级依赖、自我依赖、每时依赖、每日依赖、每周依赖、每月依赖、滑动依赖;根据所述任务依赖类型,建立所述依赖关系。
第二方面,本发明实施例提供一种任务依赖处理装置,应用于电子设备,所述装置包括:获取模块,用于获取第一任务的第一执行时段和第二任务的第二目标时段;所述第二目标时段表征所述第二任务所需的输入数据被产生的时段;依赖确定模块,用于当所述第一任务的输出数据为所述第二任务的输入数据,且所述第一执行时段在所述第二目标时段内时,确定所述第一任务为所述第二任务的依赖任务;关系建立模块,用于建立所述第一任务与所述第二任务的依赖关系。
在可选的实施方式中,所述装置还包括:判断模块,判断所述依赖关系是否将所述第一任务与所述第二任务关联;存储模块,用于若所述依赖关系将所述第一任务与所述第二任务关联,将所述依赖关系存储至实例任务依赖表;所述实例任务依赖表维护有所述依赖关系对应的任务标识和任务依赖类型。
在可选的实施方式中,所述获取模块还用于获取第三任务的第二执行时段;所述依赖确定模块还用于当所述第三任务的输出数据为所述第二任务的输入数据,且所述第二执行时段在所述第二目标时段内时,确定所述第三任务为所述第二任务的依赖任务;所述关系建立模块还用于建立所述第三任务与所述第二任务的依赖关系。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式中任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施方式中任一项所述的方法。
相较于现有技术,本发明提供一种任务依赖处理方法及相关装置,涉及数据处理的任务关联领域。所述任务依赖处理方法应用于电子设备,所述方法包括:获取第一任务的第一执行时段和第二任务的第二目标时段;所述第二目标时段表征所述第二任务所需的输入数据被产生的时段;当所述第一任务的输出数据为所述第二任务的输入数据,且所述第一执行时段在所述第二目标时段内时,确定所述第一任务为所述第二任务的依赖任务;建立所述第一任务与所述第二任务的依赖关系。在多个任务之间的数据流转过程中,完善多级任务的依赖关系,实现任务之间的立体化依赖,避免已有任务依赖关系的局限性;相较于任务依赖的人工穷举场景,本发明提供的任务依赖处理方法还可以支持无限的任务依赖拓扑关系的建立,有利于建立新任务的任务依赖关系。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种DAG工作流的示意图;
图2为本发明实施例提供的一种任务依赖场景的示意图;
图3为本发明实施例提供的一种任务依赖处理方法的流程示意图;
图4为本发明实施例提供的另一种任务依赖处理方法的流程示意图;
图5为本发明实施例提供的另一种任务依赖处理方法的流程示意图;
图6为本发明实施例提供的一种同级依赖的示意图;
图7为本发明实施例提供的一种自我依赖的示意图;
图8为本发明实施例提供的一种每时依赖的示意图;
图9为本发明实施例提供的一种滑动依赖的示意图;
图10为本发明实施例提供的另一种任务依赖处理方法的流程示意图;
图11为本发明实施例提供的另一种滑动依赖的示意图;
图12为本发明实施例提供的一种任务依赖处理装置的方框示意图;
图13为本发明实施例提供的另一种任务依赖处理装置的方框示意图;
图14为本发明实施例提供的一种电子设备的方框示意图。
图标:任务依赖处理装置-40,获取模块-41,依赖确定模块-42,关系建立模块-43,判断模块-44,存储模块-45,电子设备-60,存储器-61,处理器-62,通信接口-63。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
传统的有向无环图(Directed Acyclic Graph,DAG)依赖是一种简单的工作流模式,没有时间维度。请参见图1,图1为一种DAG工作流的示意图,其中,“任务1”运行成功后,才开始运行“任务2”和“任务3”,当“任务2”和“任务3”都运行成功后,才开始运行“任务4”。
在将数据从来源端进行抽取、清洗、转换、装载(Extract-Transform-Load,ETL)至目的端的过程中,即大数据离线ETL跑数场景中,任务1”可能需要执行多次,如每15分钟运行,“任务2”为每小时运行,“任务3”为每小时运行,“任务4”为每天运行,当“任务1”在“0”分、“15”分、“30”分、“45”分运行成功后,“任务2”和“任务3”当前小时才开始运行,当“任务2”和“任务3”在“0-23”点都运行成功后,“任务4”开始运行。
需要注意的是,上述任务的执行时间使用的是穷举法,如每15分钟、每30分钟、每天、每周、每月执行等。不支持穷举外的场景,如“任务1”需要在每小时的第6分钟和第59分钟运行,这种不规则的特殊场景。上述的任务依赖也是采用穷举法,如15分钟到小时汇总、小时到天汇总、天至周汇总、天到月汇总等;目前的技术方案不支持穷举外的场景,如“任务1”需要每小时的第6分钟和第59分钟运行,“任务4”每天运行,“任务4”需要等“任务1”这一天中,所有分钟运行成功后,才能开始运行。
为了至少解决上述问题和背景技术提出的不足,本发明实施例提供一种任务依赖场景,请参见图2,图2为本发明实施例提供的一种任务依赖场景的示意图。其中,“任务A”为采集用户访问网站的日志数据。
“任务B”用于统计每小时的访问用户数,只有当“任务A”这一小时内的数据都采集完成,“任务B”才能运行。
“任务C”用于把这一天的访问用户账号列表,记录起来,只有当“任务A”这一天的数据都采集完成,“任务C”才能运行。
“任务D”用于统计每周的访问用户数,只有当“任务A”这一周内的数据都采集完成,“任务D”才能运行。
“任务E”用于统计每月的访问用户数,只有当“任务A”这一个月内的数据都采集完成,“任务E”才能运行。
“任务F”用于统计每天的访问用户数,只有当“任务C”运行成功后,当天的“任务F”才能运行。
“任务G”用于筛选当天新用户账号列表。只有当天的C和昨天的“任务G”都运行成功后,当天的“任务G”才能运行。假如昨天的“任务G”报错了,当天的“任务C”成功后,当天的“任务G”还是不能运行的,运行的话有可能会把本是昨天的新用户,记录为当天的新用户了,造成记录错误。
“任务H”用于统计当天新用户,在后续2天持续活跃的用户数,即留存。只有当天的“任务C”和当天的“任务G”,及接下来两天的“任务C”都成功后,“任务H”才能运行。
在图2示出的任务依赖场景下,本发明实施例提供一种任务依赖处理方法,应用于电子设备,请参见图3,图3为本发明实施例提供的一种任务依赖处理方法的流程示意图,该任务依赖处理方法包括以下步骤:
S31,获取第一任务的第一执行时段和第二任务的第二目标时段。
该第二目标时段表征第二任务所需的输入数据被产生的时段。该第一执行时段为第一任务的执行时间段;应理解,该第一执行时段可以是连续的一个时间段,也可以是具有间隔的多个时间段。
S32,当第一任务的输出数据为第二任务的输入数据,且第一执行时段在第二目标时段内时,确定第一任务为第二任务的依赖任务。
应理解,若两个任务之间需要建立依赖关系,则两个任务之间的数据之间需要具有关联,以便实现任务之间的依赖关系。需要注意的是,该第二目标时段和第一执行时段可以用任务执行时间来表示,该第二目标时段和第一执行时段还可以用任务执行频次(def_task)来表示,如使用“cron”表达式来确定任务执行频次,请参见表1,表1示出一种任务执行频次(def_task)与任务标识((Identity Document,ID)的对应关系:
表1
task_id | cron | … |
任务ID | 可执行频次cron表达式 | 其他属性 |
其中,“task_id”栏示出任务的标识;“cron”栏表征任务对应的执行频次(def_task);表1示出的“…”栏,还可以用于记录任务处于较为复杂场景下的其它属性;cron表达式用于按照秒、分、时、天、周、月等多个时间点对执行频次进行标识。
S33,建立第一任务与第二任务的依赖关系。
应理解,第一任务与第二任务的依赖关系也可以用表格来表示,请参见表2,表2示出一种任务之间的依赖关系:
表2
表2示出的依赖关系中,第二任务的实现依赖与第一任务,其依赖类型(depend_type)为同级依赖、自我依赖或滑动依赖等,若依赖类型为滑动依赖,则还需要记录滑动依赖的数据时间Tdate个数以及滑动依赖Tdate偏移个数。需要注意的是,该数据时间Tdate为任务执行的起始时间,如第一任务的数据时间Tdate为:“2020-01-29 11:06:00,2020-01-29 11:59:00,2020-01-29 12:06:00,2020-01-29 11:59:00…”,其表征第一任务在每小时的第6分钟和第59分钟开始执行,即第一执行时段中包括了多个子时段,每个子时段的起始时间依次为“2020-01-29 11:06:00,2020-01-29 11:59:00,2020-01-29 12:06:00,2020-01-2911:59:00…”。
应理解,在多个任务之间的数据流转过程中,完善多级任务的依赖关系,实现任务之间的立体化依赖,避免已有任务依赖关系的局限性;相较于任务依赖的人工穷举场景,本发明提供的任务依赖处理方法还可以支持无限的任务依赖拓扑关系的建立,有利于建立新任务的任务依赖关系。
需要注意的是,虽然上述是以第一任务和第二任务为例进行说明,在任务依赖处理方法的实现过程中,第一任务和第二任务可以是图2示出的任意一个或两个任务,以便建立第一任务和第二任务之间的依赖关系,减少穷举场景造成的工作量;另外,上述S31~S33对应的任务依赖处理方法是以第一任务和第二任务为示例进行说明,表1~表2列出的内容也仅是本发明实施例提供的可能的实现方式,不应理解为对本发明保护范围的限定。
应理解,根据第一执行时段和第二目标时段,可以确定第一任务与第二任务的任务依赖类型。任务依赖类型可以为以下的任意一种:同级依赖、自我依赖、每时依赖、每日依赖、每周依赖、每月依赖或滑动依赖。根据任务依赖类型建立第一任务与第二任务之间的依赖关系,可以使得第一任务与第二任务之间的关联更为准确。此外,本发明实施例提供的任务依赖处理方法还可以适用于任务的执行时段或执行频次为不规则变化的场景,实现任务在不规则变化的执行场景下的任务依赖建立,避免人工进行穷举。
在可选的实施方式中,任务之间的依赖关系可能会存在关联失败或丢失的情况,在图3的基础上,给出一种可能的实现方式,请参见图4,图4为本发明实施例提供的另一种任务依赖处理方法的流程示意图。该任务依赖处理方法还可以包括:
S34,判断依赖关系是否将第一任务与第二任务关联。
若是,则执行S35;若否,则执行S36。
S35,将依赖关系存储至实例任务依赖表。
该实例任务依赖表维护有依赖关系对应的任务标识和任务依赖类型。请参见表2,“depend_type”栏可以记录任务依赖类型,需要注意的是,任务依赖类型不只有表2示出的几个类型,其可以为以下的任意一种:同级依赖、自我依赖、每时依赖、每日依赖、每周依赖、每月依赖、滑动依赖。
S36,确定第一任务与第二任务关联失败。
应理解,该实例任务依赖表可以用表3的形式来记录,表3为一种实例任务依赖表(instance_task_depend),用于表征任务之间的依赖关系:
表3
将依赖关系存储在实例任务依赖表(instance_task_depend),可以防止依赖关系丢失,当后续需要执行第二任务时,可以根据实例任务依赖表来确定其执行条件,完成对第二任务的执行。
应理解,还可以用实例任务表(instance_task)来记录任务的ID、数据时间以及任务状态等信息,请参见表4,表4为本发明实施例提供的一种实例任务表(instance_task):
表4
task_id | T<sub>date</sub> | status | … |
任务ID | 数据时间 | 初始化、运行中、成功或失败 | 其他属性 |
初始化状态使用“INIT”进行表示,运行中状态使用“RUNNING”进行表示,成功状态使用“SUCCESS”进行表示,失败状态使用“FAIL”进行表示。
确定任务之间是否关联成功一般由人工完成,耗时耗力,在图4的基础上,给出一种可能的实现方式,请参见图5,图5为本发明实施例提供的另一种任务依赖处理方法的流程示意图。上述的S34可以包括:
S341,将第一执行时段置为预设值。
应理解,该第一执行时段可以包括第一任务的数据时间T-c以及任务状态(status)信息;将第一执行时段置为预设值,可以将第一任务的任务状态置为初始化状态,如表4示出的初始化状态。
S342,按照依赖关系触发第二任务的执行进程,并记录执行进程的当前执行时段。
应理解,若第一任务与第二任务成功关联,当第一任务满足依赖关系后,可以触发第二任务的执行进程,以便确定第一任务与第二任务之间的依赖关系是否有误。
S343,判断当前执行时段与预设值是否匹配。
应理解,当前执行时段可以包括第二任务的数据时间T-f以及任务状态(status)信息。若匹配,则执行S344;若不匹配,则执行上述的S36。
S344,确定依赖关系将第一任务与第二任务关联。
可以理解的,通过对第一任务与第二任务的依赖关系进行验证,有利于后续依赖任务的执行,降低任务执行的误差。
为了便于理解上述实施例提出的任务依赖处理方法,以第一任务为图2示出的“任务C”、第二任务为图2示出的“任务F”为例,请参见图6,图6为本发明实施例提供的一种同级依赖的示意图。“任务C”与“任务F”之间为同级依赖的关系,当“任务C”的数据时间实例T-c运行成功后,先更新状态至示例任务表5-1(instance_task):
表5-1
task_id | Tdate | status |
C | T-c | SUCCESS |
跟着尝试触发“任务F”的数据时间实例运行,因同级依赖规定数据时间Tdate相等,所以“任务F”的数据时间实例T-f应该等于T-c。若用户配置依赖错误,导致T-c不符合“任务F”的可执行频次cron表达式,则忽略。若符合,则在“任务F”被触发后,检查所有前置依赖是否全部成功,若是,马上运行“任务F”,如,首先会把“任务F”的数据时间实例T-f和它的初始化状态,插入instance_task表5-2:
表5-2
task_id | Tdate | status |
C | T-c | SUCCESS |
F | T-f | INIT |
其中,T-c=T-f,如,T-c和T-f均为:2019-12-20 00:00:00;其次,将“任务F”的所有前置依赖边实例,插入实例任务依赖表5-3中(instance_task_depend)中,如该依赖结果如下:
表5-3
task_id | Tdate | pre_task_id | pre_Tdate |
F | T-f | C | T-c |
F | T-f | 可能存在的其它依赖任务 | … |
最后检查“任务F”的数据时间实例T-f关联的依赖,在instance_task表中是否全部成功;若全部成功,拉起“任务F”的数据时间实例T-f运行,并更新instance_task表5-2的状态为表5-4:
表5-4
task_id | Tdate | status |
C | T-c | SUCCESS |
F | T-f | RUNNING |
其中,T-c=T-f;检查instance_task表中是否全部成功可以使用以下指令:
“select count(1)-COUNT(IF(t2.status='SUCCESS',1,NULL))as no_success_num
from(
select task_id,task_date,pre_task_id,pre_task_date
from instance_task_depend
where task_id=?and task_date=?
)t0
join(select task_id from def_task where is_valid=1)t1 on t1.task_id=t0.pre_task_id
left join instance_task t2 on t2.task_id=t0.pre_task_id and t2.task_date=t0.pre_task_date”,若上述指令返回“0”,则表示前置依赖都成功了,否则表示还存在有前置依赖并未成功。
为了便于理解上述实施例提出的任务依赖处理方法,以第一任务、第二任务均为图2示出的“任务G”为例,请参见图7,图7为本发明实施例提供的一种自我依赖的示意图。“任务G”与“任务G”之间为自我依赖的关系,当“任务G”的数据时间实例T-g运行成功后,先更新状态至示例任务表6-1(instance_task):
表6-1
task_id | Tdate | status |
G | T-g0 | SUCCESS |
跟着通过“任务G”的可执行频次cron表达式可以推导出T-g0的下一个时间是T-g1。尝试触发“任务G”的数据时间实例T-g1运行。“任务G”被触发后,检查所有前置依赖是否全部成功,若是,马上运行“任务G”。如,首先会把“任务G”的数据时间实例T-g1和它的初始化状态,插入instance_task表6-2:
表6-2
task_id | Tdate | status |
G | T-g0 | SUCCESS |
G | T-g1 | INIT |
其次会把“任务G”的所有前置依赖边实例,插入instance_task_depend表6-3,如该依赖结果如下:
表6-3
最后检查“任务G”的数据时间实例T-g1关联的依赖,在instance_task表6-3中是否全部成功;若全部成功,拉起“任务G”的数据时间实例T-g1运行,并更新为instance_task表6-4状态。
表6-4
task_id | Tdate | status |
G | T-g0 | SUCCESS |
G | T-g1 | RUNNING |
对于上述任务依赖类型中的每时依赖、每日依赖、每周依赖、每月依赖,其仅有时间跨度不同,本发明实施例以第一任务为图2示出的“任务A”、第二任务为图2示出的“任务B”为例,请参见图8,图8为本发明实施例提供的一种每时依赖的示意图。“任务A”与“任务B”之间为自我依赖的关系,当“任务B”的数据时间实例T-b运行成功后,先更新状态至示例任务表7-1(instance_task):
表7-1
task_id | Tdate | status |
A | T-a0 | SUCCESS |
跟着通过数据时间T-a0和“任务B”的可执行频次cron表达式,推导出“任务B”在T-a0这一小时内的数据时间实例有哪些,如有T-b0,T-b1,…,T-bN,可以有0至多个;例如,“任务A”的第一执行时段为:2019-12-2013:00:00→2019-12-20 13:59:59。若是0个,表示用户配置依赖错误,则忽略。若有1到N个,则逐个走如下的逻辑,尝试触发拉起运行:“任务B”被触发后,检查所有前置依赖是否全部成功,若是,马上运行“任务B”:首先会把“任务B”的数据时间实例T-bN和它的初始化状态,插入instance_task表7-2:
表7-2
task_id | Tdate | status |
A | T-a0 | SUCCESS |
B | T-bN | INIT |
其次会把“任务B”的所有前置依赖边实例,插入instance_task_depend表,如该依赖结果如下:
通过数据时间T-bN和“任务A”的可执行频次cron表达式,推导出“任务A”在T-bN这一小时内的数据实例有哪些,如有T-a0,T-a1,…,T-aN中的至少一个,请参见表7-3:
表7-3
task_id | Tdate | pre_task_id | pre_Tdate |
B | T-bN | A | T-a0 |
B | T-bN | A | T-a1 |
B | T-bN | A | … |
B | T-bN | A | T-aN |
B | T-bN | 可能存在的其它依赖任务 | … |
最后检查“任务B”的数据时间实例T-bN,关联的依赖,在instance_task表7-3中是否全部成功;若成功,拉起“任务B”的数据时间实例T-bN运行,并更新为instance_task表7-4:
表7-4
task_id | Tdate | status |
A | T-a0 | SUCCESS |
B | T-bN | RUNNING |
对于每天依赖(图2示出的“任务A”→“任务C”)、每周依赖(图2示出的“任务A”→“任务D”)、每月依赖(图2示出的“任务A”→“任务E”),其仅为执行时段不同,此处不做赘述。
为了便于理解上述的任务依赖处理方法,本发明实施例以第一任务为图2示出的“任务A”、第二任务为图2示出的“任务E”为例,请参见图9,图9为本发明实施例提供的一种滑动依赖的示意图。滑动依赖用于指示第二任务具有至少一个第一任务作为依赖任务,其中,该滑动依赖关系的偏移量为不同任务执行时段间隔与第一任务的执行周期的比值,该不同任务执行时段间隔为上述至少一个第一任务中的最后一个执行时段与第二任务的执行时段的时间差值。
应理解,在一种可能的实现方式中,滑动依赖可以是基于依赖任务的数据时间Tdate的个数的任务依赖类型,例如,滑动依赖X个Y偏移,第二任务依赖于第一任务,这两个任务都具有自己的可执行频次;按照两个任务(第一任务和第二任务)的可执行频次,可以就某一次要执行的数据时间点,左右展开它们的具体的数据时间Tdate;如,以第二任务要执行的数据时间Tdate2为基点,获取多个第一任务中数据时间Tdate2小于或等于Tdate2的,滑动依赖X个,得到一个窗口大小,再把这个窗口大小按照Y进行偏移,Y为正数向右移,Y为负数向左移。
请继续参见图9,“任务A”与“任务E”之间为滑动依赖的关系,图9示出的“任务E”的执行起始时间为“2019-12-23 00:00:00”,“任务A-1”的执行起始时间为“2019-12-20 00:00:00”,“任务A-2”的执行起始时间为“2019-12-21 00:00:00”,“任务A-3”的执行起始时间为“2019-12-22 00:00:00”,“任务A-4”的执行起始时间为“2019-12-23 00:00:00”,“任务A-5”的执行起始时间为“2019-12-24 00:00:00”,需要注意的是,在此实施例中,“任务A-1”~“任务A-5”为执行时间不同、执行逻辑相同的任务;图9中的(1)表征“任务E”和“任务A”之间为滑动依赖3个0偏移的任务依赖关系、图9中的(2)表征“任务E”和“任务A”之间为滑动依赖3个-1偏移的任务依赖关系、图9中的(3)表征“任务E”和“任务A”之间为滑动依赖3个1偏移的任务依赖关系;“任务E”和“任务A”之间的任务依赖过程可以为:当“任务E”的数据时间实例T-e运行成功后,先更新状态至示例任务表8-1(instance_task):
表8-1
task_id | Tdate | status |
A | T-a0 | SUCCESS |
跟着通过数据时间T-a0、“任务E”的可执行频次cron表达式、滑动依赖的个数和偏移值,推导出“任务E”基于T-0的数据时间实例有哪些,如有T-e0,T-e1,…,T-eN,可以有1至多个。并逐个走如下的逻辑,尝试触发“任务E”运行;“任务E”被触发后,检查所有前置依赖是否全部成功,若是,马上运行“任务E”:将“任务E”的数据时间实例T-eN和它的初始化状态,插入instance_task表8-2:
表8-2
task_id | Tdate | status |
A | T-a0 | SUCCESS |
E | T-eN | INIT |
其次会把“任务E”的所有前置依赖边实例,插入instance_task_depend表,如该依赖结果如下:
通过数据时间T-eN和“任务A”的可执行频次cron表达式、滑动依赖的个数和偏移值,推导出“任务A”基于T-eN的依赖数据实例有哪些,如有T-a0,T-a1,…,T-aN中的至少一个,如表8-3:
task_id | Tdate | pre_task_id | pre_Tdate |
E | T-eN | A | T-a0 |
E | T-eN | A | T-a1 |
E | T-eN | A | … |
E | T-eN | A | T-aN |
E | T-eN | 其它可能存在依赖的任务 | … |
最后检查“任务E”的数据时间实例T-ebN,关联的依赖在instance_task表8-3中是否全部成功;若成功,拉起“任务E”的数据时间实例T-eN运行,并更新为instance_task表8-4:
表8-4
task_id | Tdate | status |
A | T-a0 | SUCCESS |
E | T-eN | RUNNING |
可以理解的,图9示出的是以“任务A”为连续的3个任务为例,在另一种可能的实施例中,“任务A”还可以不是连续的。需要注意的是,上述表1~表8对应的内容仅为可能的实现方式,不应理解为对本发明保护范围的限定。
在可选的实施方式中,第二任务可能存在有多个依赖任务,为了解决此问题,在图3的基础上,给出一种可能的实现方式,请参见图10,图10为本发明实施例提供的另一种任务依赖处理方法的流程示意图。该任务依赖处理方法还可以包括:
S37,获取第三任务的第二执行时段。
应理解,第三任务可以是和第一任务不同的任务;在另一种情况下,第三任务还可以是和第一任务相同的任务,但是执行时段有差异。
S38,当第三任务的输出数据为第二任务的输入数据,且第二执行时段在第二目标时段内时,确定第三任务为第二任务的依赖任务。
应理解,若两个任务之间需要建立依赖关系,则两个任务之间的数据之间需要具有关联,以便实现任务之间的依赖关系,此处不做赘述。
S39,建立第三任务与第二任务的依赖关系。
应理解,当第二任务具有多个依赖任务时,可以将第二任务具有的依赖关系存储在同一个实例任务依赖表中。上述的S37~S39还可以是在S31~S33之前执行,也可以是与S31~S33并列执行。
为了便于理解上述实施例提供的任务依赖处理方法,以第一任务为图2示出的“任务G”、第二任务图2示出的“任务H”、第三任务为图2示出的“任务C”为例,请参见图11,图11为本发明实施例提供的另一种滑动依赖的示意图。“任务C”的执行时段分别为2020-05-20、2020-05-21、2020-05-22,“任务G”的执行时段为2020-05-20,“任务H”的第二目标时段为2020-05-20,“任务H”与“任务C”之间为滑动依赖3个2偏移的依赖关系,“任务C”与“任务G”为同级依赖,“任务H”与“任务G”为同级依赖。
为了实现上述任一实施例提供的任务依赖处理方法,本发明实施例提供一种任务依赖处理装置,应用于电子设备,请参见图12,图12为本发明实施例提供的一种任务依赖处理装置的方框示意图。该任务依赖处理装置40包括:获取模块41、依赖确定模块42和关系建立模块43。
获取模块41用于获取第一任务的第一执行时段和第二任务的第二目标时段。第二目标时段表征第二任务所需的输入数据被产生的时段。
依赖确定模块42用于当第一任务的输出数据为第二任务的输入数据,且第一执行时段在第二目标时段内时,确定第一任务为第二任务的依赖任务。
关系建立模块43用于建立第一任务与第二任务的依赖关系。
在图12的基础上,给出一种可能的实现方式,请参见图13,图13为本发明实施例提供的另一种任务依赖处理装置的方框示意图。该任务依赖处理装置40还包括:判断模块44和存储模块45。
判断模块44判断依赖关系是否将第一任务与第二任务关联。
存储模块45用于若依赖关系将第一任务与第二任务关联,将依赖关系存储至实例任务依赖表。实例任务依赖表维护有依赖关系对应的任务标识和任务依赖类型。
在可选的实施方式中,获取模块41还用于获取第三任务的第二执行时段。
依赖确定模块42还用于当第三任务的输出数据为第二任务的输入数据,且第二执行时段在第二目标时段内时,确定第三任务为第二任务的依赖任务。
关系建立模块43还用于建立第三任务与第二任务的依赖关系。
应理解,上述的获取模块41、依赖确定模块42、关系建立模块43、判断模块44和存储模块45可以协同实现上述的S31~S39对应的步骤及其可能的子步骤。
本发明实施例提供一种电子设备,如图14,图14为本发明实施例提供的一种电子设备的方框示意图。该电子设备60包括存储器61、处理器62和通信接口63。该存储器61、处理器62和通信接口63相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器61可用于存储软件程序及模块,如本发明实施例所提供的任务依赖处理方法对应的程序指令/模块,处理器62通过执行存储在存储器61内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口63可用于与其他节点设备进行信令或数据的通信。在本发明中该电子设备60可以具有多个通信接口63。
其中,存储器61可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器62可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
该电子设备60可以是,但不限于手机、平板电脑、可穿戴设备、车载设备、增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(PersonalDigital Assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明提供一种任务依赖处理方法及相关装置,涉及数据处理的任务关联领域。任务依赖处理方法应用于电子设备,该任务依赖处理方法包括:获取第一任务的第一执行时段和第二任务的第二目标时段;第二目标时段表征第二任务所需的输入数据被产生的时段;当第一任务的输出数据为第二任务的输入数据,且第一执行时段在第二目标时段内时,确定第一任务为第二任务的依赖任务;建立第一任务与第二任务的依赖关系。在多个任务之间的数据流转过程中,完善多级任务的依赖关系,实现任务之间的立体化依赖,避免已有任务依赖关系的局限性;相较于任务依赖的人工穷举场景,本发明提供的任务依赖处理方法还可以支持无限的任务依赖拓扑关系的建立,有利于建立新任务的任务依赖关系。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务依赖处理方法,其特征在于,应用于电子设备,所述方法包括:
获取第一任务的第一执行时段和第二任务的第二目标时段;所述第二目标时段表征所述第二任务所需的输入数据被产生的时段;
当所述第一任务的输出数据为所述第二任务的输入数据,且所述第一执行时段在所述第二目标时段内时,确定所述第一任务为所述第二任务的依赖任务;
建立所述第一任务与所述第二任务的依赖关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述依赖关系是否将所述第一任务与所述第二任务关联;
若是,则将所述依赖关系存储至实例任务依赖表;所述实例任务依赖表维护有所述依赖关系对应的任务标识和任务依赖类型。
3.根据权利要求2所述的方法,其特征在于,判断所述依赖关系是否将所述第一任务与所述第二任务关联,包括:
将所述第一执行时段置为预设值;
按照所述依赖关系触发所述第二任务的执行进程,并记录所述执行进程的当前执行时段;
判断所述当前执行时段与所述预设值是否匹配;
若匹配,则确定所述依赖关系将所述第一任务与所述第二任务关联。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取第三任务的第二执行时段;
当所述第三任务的输出数据为所述第二任务的输入数据,且所述第二执行时段在所述第二目标时段内时,确定所述第三任务为所述第二任务的依赖任务;
建立所述第三任务与所述第二任务的依赖关系。
5.根据权利要求1所述的方法,其特征在于,建立所述第一任务与所述第二任务的依赖关系,包括:
根据所述第一执行时段和所述第二目标时段,确定所述第一任务与所述第二任务的任务依赖类型;所述任务依赖类型为以下的任意一种:同级依赖、自我依赖、每时依赖、每日依赖、每周依赖、每月依赖、滑动依赖;
根据所述任务依赖类型,建立所述依赖关系。
6.一种任务依赖处理装置,其特征在于,应用于电子设备,所述装置包括:
获取模块,用于获取第一任务的第一执行时段和第二任务的第二目标时段;所述第二目标时段表征所述第二任务所需的输入数据被产生的时段;
依赖确定模块,用于当所述第一任务的输出数据为所述第二任务的输入数据,且所述第一执行时段在所述第二目标时段内时,确定所述第一任务为所述第二任务的依赖任务;
关系建立模块,用于建立所述第一任务与所述第二任务的依赖关系。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,判断所述依赖关系是否将所述第一任务与所述第二任务关联;
存储模块,用于若所述依赖关系将所述第一任务与所述第二任务关联,将所述依赖关系存储至实例任务依赖表;所述实例任务依赖表维护有所述依赖关系对应的任务标识和任务依赖类型。
8.根据权利要求6或7所述的装置,其特征在于,所述获取模块还用于获取第三任务的第二执行时段;
所述依赖确定模块还用于当所述第三任务的输出数据为所述第二任务的输入数据,且所述第二执行时段在所述第二目标时段内时,确定所述第三任务为所述第二任务的依赖任务;
所述关系建立模块还用于建立所述第三任务与所述第二任务的依赖关系。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010501982.8A CN113760476B (zh) | 2020-06-04 | 2020-06-04 | 任务依赖处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010501982.8A CN113760476B (zh) | 2020-06-04 | 2020-06-04 | 任务依赖处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760476A true CN113760476A (zh) | 2021-12-07 |
CN113760476B CN113760476B (zh) | 2024-02-09 |
Family
ID=78783728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010501982.8A Active CN113760476B (zh) | 2020-06-04 | 2020-06-04 | 任务依赖处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760476B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489996A (zh) * | 2022-02-16 | 2022-05-13 | 阿波罗智能技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及自动驾驶车辆 |
CN114610473A (zh) * | 2022-05-11 | 2022-06-10 | 恒生电子股份有限公司 | 任务的处理方法及装置、非易失性存储介质 |
CN116244324A (zh) * | 2023-03-15 | 2023-06-09 | 上海擎创信息技术有限公司 | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
WO2024067492A1 (zh) * | 2022-09-26 | 2024-04-04 | 华为技术有限公司 | 任务调度方法和电子装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060079979A1 (en) * | 2004-09-28 | 2006-04-13 | Siemens Technology-To-Business Center, Llc | Dynamic-state waiting time analysis method for complex discrete manufacturing |
US8387066B1 (en) * | 2007-09-28 | 2013-02-26 | Emc Corporation | Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network |
CN105279143A (zh) * | 2015-10-17 | 2016-01-27 | 浙江宇视科技有限公司 | 一种周期性报表系统 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN106293928A (zh) * | 2015-06-05 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
CN107239458A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN109612465A (zh) * | 2018-11-15 | 2019-04-12 | 陈包容 | 一种创建个人场景多维度特征图谱的方法、装置及其应用 |
US10564946B1 (en) * | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
CN110941479A (zh) * | 2018-09-25 | 2020-03-31 | 广州虎牙信息科技有限公司 | 任务数据执行方法、服务器以及计算机存储介质 |
CN111176802A (zh) * | 2019-07-26 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 任务处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-06-04 CN CN202010501982.8A patent/CN113760476B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060079979A1 (en) * | 2004-09-28 | 2006-04-13 | Siemens Technology-To-Business Center, Llc | Dynamic-state waiting time analysis method for complex discrete manufacturing |
US8387066B1 (en) * | 2007-09-28 | 2013-02-26 | Emc Corporation | Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network |
CN106293928A (zh) * | 2015-06-05 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
CN105279143A (zh) * | 2015-10-17 | 2016-01-27 | 浙江宇视科技有限公司 | 一种周期性报表系统 |
CN107239458A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
US10564946B1 (en) * | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
CN110941479A (zh) * | 2018-09-25 | 2020-03-31 | 广州虎牙信息科技有限公司 | 任务数据执行方法、服务器以及计算机存储介质 |
CN109612465A (zh) * | 2018-11-15 | 2019-04-12 | 陈包容 | 一种创建个人场景多维度特征图谱的方法、装置及其应用 |
CN111176802A (zh) * | 2019-07-26 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 任务处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
MAREK KRÓTKIEWICZ等: "Modeling Autoreferential Relationships in Association-Oriented Database Metamodel", 《ADVANCES IN INTELLIGENT SYSTEMS AND COMPUTING 》, vol. 656, pages 49 * |
齐宣: "面向时间的网格环境下的任务调度算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 4, pages 138 - 10 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489996A (zh) * | 2022-02-16 | 2022-05-13 | 阿波罗智能技术(北京)有限公司 | 一种任务调度方法、装置、电子设备及自动驾驶车辆 |
CN114610473A (zh) * | 2022-05-11 | 2022-06-10 | 恒生电子股份有限公司 | 任务的处理方法及装置、非易失性存储介质 |
WO2024067492A1 (zh) * | 2022-09-26 | 2024-04-04 | 华为技术有限公司 | 任务调度方法和电子装置 |
CN116244324A (zh) * | 2023-03-15 | 2023-06-09 | 上海擎创信息技术有限公司 | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
CN116244324B (zh) * | 2023-03-15 | 2023-12-08 | 上海擎创信息技术有限公司 | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113760476B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113760476A (zh) | 任务依赖处理方法及相关装置 | |
CN106033436B (zh) | 一种数据库的合并方法 | |
CN111221726A (zh) | 一种测试数据生成方法、装置、存储介质和智能设备 | |
CN108647357B (zh) | 数据查询的方法及装置 | |
US20070162522A1 (en) | Evidentiary enrichment of traceability links between software specification requirements | |
CN108038665B (zh) | 业务规则管理方法、装置、设备及计算机可读存储介质 | |
CN111369350A (zh) | 冲正交易处理方法及装置 | |
CN112581018B (zh) | 一种流程任务管理方法、系统、装置以及存储介质 | |
CN110599341A (zh) | 交易调用方法及系统 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN115495142A (zh) | 云资源编排方法、装置、计算机设备及存储介质 | |
CN114020840A (zh) | 一种数据处理方法、装置、服务器、存储介质及产品 | |
CN111737148A (zh) | 自动回归测试方法、装置、计算机设备及存储介质 | |
CN114995877B (zh) | 一种变量配置方法及装置 | |
US20160004982A1 (en) | Method and system for estimating the progress and completion of a project based on a bayesian network | |
CN114625515A (zh) | 一种任务管理方法、装置、设备及存储介质 | |
CN111523921B (zh) | 漏斗分析方法、分析设备、电子设备及可读存储介质 | |
CN113704114A (zh) | 功能接口的自动化测试方法、装置、设备及介质 | |
JP2003085021A (ja) | リカバリ・リスタート機能を備えたバッチ処理システム、リカバリ・リスタート機能を備えたバッチ処理システム用プログラム、及びそのプログラムを記録した記録媒体 | |
CN113076365A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN110990475B (zh) | 批量任务插入方法、装置、计算机设备及存储介质 | |
CN110427211B (zh) | 一种演示数据调用方法与装置 | |
CN117376129A (zh) | 配置对账方法、装置、控制设备和存储介质 | |
CN115495285A (zh) | 数据备份及存储方法、装置、计算机设备和存储介质 | |
CN117668025A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |