CN115827187A - 任务执行方法、装置、计算机可读存储介质及电子设备 - Google Patents

任务执行方法、装置、计算机可读存储介质及电子设备 Download PDF

Info

Publication number
CN115827187A
CN115827187A CN202211392742.4A CN202211392742A CN115827187A CN 115827187 A CN115827187 A CN 115827187A CN 202211392742 A CN202211392742 A CN 202211392742A CN 115827187 A CN115827187 A CN 115827187A
Authority
CN
China
Prior art keywords
executed
task
tasks
execution
determining
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
CN202211392742.4A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202211392742.4A priority Critical patent/CN115827187A/zh
Publication of CN115827187A publication Critical patent/CN115827187A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种任务执行方法、装置、计算机可读存储介质及电子设备。涉及金融科技领域或其他领域,该方法包括:获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,多个待执行任务之间具有依赖关系;基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,其中,第二待执行任务的执行依赖于数据更新信息中所包含的数据;执行至少一个第二待执行任务。本发明解决了现有技术中由于定时执行任务造成的任务执行效率低的技术问题。

Description

任务执行方法、装置、计算机可读存储介质及电子设备
技术领域
本发明涉及金融科技领域或其他领域,具体而言,涉及一种任务执行方法、装置、计算机可读存储介质及电子设备。
背景技术
目前,在业务办理或其它场景中,通常按照一定的时间周期或指定时刻来执行与业务相关的任务。然而,现有任务的执行方法通常存在以下问题,例如,通常通过估算任务执行完成的时间,来决定依赖它的任务执行顺序和时间,导致任务执行期间出现时间空挡或时间冲突;无法感知任务之间是否可并行,从而无法最大化并行任务,由此,导致相关技术中存在任务执行效率低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种任务执行方法、装置、计算机可读存储介质及电子设备,以至少解决现有技术中由于定时执行任务造成的任务执行效率低的技术问题。
根据本发明实施例的一个方面,提供了一种任务执行方法,包括:获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,多个待执行任务之间具有依赖关系;基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,其中,第二待执行任务的执行依赖于数据更新信息中所包含的数据;执行至少一个第二待执行任务。
进一步地,任务执行方法还包括:在获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息之后,获取第一待执行任务执行完成后所触发的目标任务标记位;从多个待执行任务中确定与目标任务标记位对应的至少一个待执行任务;确定与目标任务标记位对应的至少一个待执行任务为第三待执行任务,并执行第三待执行任务。
进一步地,任务执行方法还包括:在执行至少一个第二待执行任务之后,若多个待执行任务均被执行完成,则获取目标有向无环图,其中,目标有向无环图为基于多个待执行任务之间的依赖关系所构建的;基于多个待执行任务的第一执行信息确定目标有向无环图中的关键路径,其中,第一执行信息至少包括每个待执行任务的开始执行时间和结束执行时间;基于关键路径确定多个待执行任务中的关键待执行任务,以在下一次执行多个待执行任务时,为关键待执行任务分配目标计算资源。
进一步地,任务执行方法还包括:确定每个待执行任务执行时的资源占用信息;基于每个待执行任务执行时的资源占用信息以及结束执行时间,计算得到每个待执行任务的目标结束执行时间;根据关键路径法,基于目标有向无环图以及每个待执行任务的开始执行时间和目标结束执行时间,确定目标有向无环图中的关键路径。
进一步地,任务执行方法还包括:基于每个待执行任务的开始执行时间和目标结束执行时间,确定每个待执行任务的执行时长;基于每个待执行任务的执行时长以及关键路径,从多个待执行任务中确定关键待执行任务。
进一步地,任务执行方法还包括:资源占用信息至少包括内存占用信息以及CPU使用信息。
进一步地,任务执行方法还包括:在获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息之前,基于多个待执行任务之间的依赖关系确定多个待执行任务中用于第一个被执行的待执行任务。
根据本发明实施例的另一方面,还提供了一种任务执行装置,包括:获取模块,用于获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,多个待执行任务之间具有依赖关系;确定模块,用于基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,其中,第二待执行任务的执行依赖于数据更新信息中所包含的数据;执行模块,用于执行至少一个第二待执行任务。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的任务执行方法。
根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的任务执行方法。
基于上述步骤S101至步骤S103所限定的方案,可以获知,在本发明实施例中,采用在当前任务执行过程中执行与当前任务具有依赖关系的任务的方式,通过获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,然后基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,从而执行至少一个第二待执行任务。其中,多个待执行任务之间具有依赖关系,第二待执行任务的执行依赖于数据更新信息中所包含的数据。
容易注意到的是,在上述过程中,由于数据更新信息为第一待执行任务在执行过程中所触发的,因此,通过基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,实现了在上一任务还未完成执行时,对能够执行的待执行任务的快速确定。进一步地,通过在上一任务还未完成执行时,直接执行下一待执行任务,避免了相关技术中通过按照一定的时间周期或指定时刻来执行任务所造成的任务执行期间出现时间空挡或时间冲突的问题,提高了任务执行效率。此外,通过将依赖于数据更新信息中所包含的数据而执行的待执行任务确定为第二待执行任务,保证了第二待执行任务的成功执行,也即实现了第二待执行任务的准确确定。
由此可见,本申请所提供的方案达到了在当前任务执行过程中执行与当前任务具有依赖关系的任务的目的,从而实现了提高任务执行效率的技术效果,进而解决了现有技术中由于定时执行任务造成的任务执行效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的任务执行方法的示意图;
图2是根据本发明实施例的一种可选的任务执行方法的示意图;
图3是根据本发明实施例的一种可选的任务执行方法的示意图;
图4是根据本发明实施例的一种可选的任务执行装置的示意图;
图5是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所提供的任务执行方法、装置、计算机可读存储介质及电子设备可用于金融科技领域,也可用于除金融科技领域之外的任意领域,本公开所提供的任务执行方法、装置、计算机可读存储介质及电子设备的应用领域不做限定。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
实施例1
根据本发明实施例,提供了一种任务执行方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的任务执行方法的示意图,如图1所示,该方法包括如下步骤:
步骤S101,获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,多个待执行任务之间具有依赖关系。
在步骤S101中,可以通过电子设备、服务器、应用系统等装置获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,在本实施例中,通过任务执行系统获取多个待执行任务中的第一待执行任务在执行过程中触发数据库生成的数据更新信息。
可选的,第一待执行任务可以为多个待执行任务中的任意一个处于执行状态的待执行任务。多个待执行任务中的每个待执行任务均用于实现与该待执行任务相对应的业务,且在每个待执行任务执行的过程中,均有可能改变数据库中的资源向量表中的字段状态值,其中,资源向量表用于记录至少一个业务的业务信息,业务信息可以包括业务的执行状态、业务办理所需的信息等,数据库中至少包括有多个待执行任务中每个待执行任务所对应的业务的资源向量表。在第一待执行任务的执行过程中,若第一待执行任务使得数据库中与第一待执行任务对应的资源向量表发生了更新,则数据库可以基于发生更新的资源向量表生成数据更新信息,并主动传递给任务执行系统,以便任务执行系统获取。其中,数据更新信息至少包括发生更新的资源向量表对应的更新内容。
步骤S102,基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,其中,第二待执行任务的执行依赖于数据更新信息中所包含的数据。
可选的,在执行多个待执行任务之前,需要先创建这多个待执行任务。在多个待执行任务的创建过程中,至少需要根据第一属性以及第二属性进行任务创建,其中,第一属性为任务名称,第二属性为任务所对应的资源依赖关系。其中,任务对应的资源依赖关系至少包括任务与资源向量表之间的资源依赖关系,通俗而言,例如,若任务的执行需要依赖于命中资源向量表A中的B字段状态值和C字段状态值,则任务与资源向量表A具有资源依赖关系,更具体地,任务与资源向量表A中的B字段状态值和C字段状态值有资源依赖关系。其中,前述的B字段状态值和C字段状态值可以是“XXX字段=X”的形式,例如,“第一行字段=1”,或者“转账成功字段=1”等。
在步骤S102中,任务执行系统可以预先将每个任务所对应的资源依赖关系记录在资源依赖关系表中。当任务执行系统获取到数据更新信息后,其可以扫描资源依赖关系表,从而确定是否有某一待执行任务命中了其在数据库中所依赖的所有字段状态值,如果有,则确定该待执行任务为第二待执行任务。其中,待执行任务的执行可以不仅依赖于数据更新信息中所包含的数据,例如,待执行任务的执行依赖于资源向量表A中的B字段状态值和C字段状态值,若在生成数据更新信息之前,待执行任务已命中资源向量表A中的B字段状态值,则数据更新信息中更新后的内容若只包含C字段状态值,便可以认为该待执行任务命中了其在数据库中所依赖的所有字段状态值。其中,由于两具有依赖关系的任务之间,可能后项任务仅依赖于前项任务的一部分内容,因此,其实质上无需等到前项任务执行完成后才开始执行,故而,通过在资源向量表中确定后项任务所依赖的前项任务的相关内容所对应的字段状态值,并基于任务与资源向量表之间的资源依赖关系确定后项任务的具体开始时间,可以实现对后项任务的开始执行时间的准确确定。
需要说明的是,由于数据更新信息为第一待执行任务在执行过程中所触发的,因此,通过基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,实现了在上一任务还未完成执行时,对能够执行的待执行任务的快速确定。此外,通过将依赖于数据更新信息中所包含的数据而执行的待执行任务确定为第二待执行任务,保证了第二待执行任务的成功执行,同时,也实现了对可以并行的任务的有效确定。
步骤S103,执行至少一个第二待执行任务。
在步骤S103中,当确定了至少一个第二待执行任务之后,任务执行系统可以并行执行至少一个第二待执行任务。
需要说明的是,通过在上一任务还未完成执行时,直接执行下一待执行任务,避免了相关技术中通过按照一定的时间周期或指定时刻来执行任务所造成的任务执行期间出现时间空挡或时间冲突的问题,提高了任务执行效率。
基于上述步骤S101至步骤S103所限定的方案,可以获知,在本发明实施例中,采用在当前任务执行过程中执行与当前任务具有依赖关系的任务的方式,通过获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,然后基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,从而执行至少一个第二待执行任务。其中,多个待执行任务之间具有依赖关系,第二待执行任务的执行依赖于数据更新信息中所包含的数据。
容易注意到的是,在上述过程中,由于数据更新信息为第一待执行任务在执行过程中所触发的,因此,通过基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,实现了在上一任务还未完成执行时,对能够执行的待执行任务的快速确定。进一步地,通过在上一任务还未完成执行时,直接执行下一待执行任务,避免了相关技术中通过按照一定的时间周期或指定时刻来执行任务所造成的任务执行期间出现时间空挡或时间冲突的问题,提高了任务执行效率。此外,通过将依赖于数据更新信息中所包含的数据而执行的待执行任务确定为第二待执行任务,保证了第二待执行任务的成功执行,也即实现了第二待执行任务的准确确定。
由此可见,本申请所提供的方案达到了在当前任务执行过程中执行与当前任务具有依赖关系的任务的目的,从而实现了提高任务执行效率的技术效果,进而解决了现有技术中由于定时执行任务造成的任务执行效率低的技术问题。
在一种可选的实施例中,在获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息之后,如图2所示,任务执行系统可以执行以下步骤:
步骤S201,获取第一待执行任务执行完成后所触发的目标任务标记位。
可选的,前述的任务对应的资源依赖关系还可以包括任务与任务标记位之间的资源依赖关系,通俗而言,例如,若任务的执行需要依赖于触发任务标记位A,则该任务与任务标记位A具有资源依赖关系。不同的任务可能依赖于触发不同的任务标记位。任务执行系统可以预先将任务与各任务标记位的对应关系记录在资源依赖关系表中。
可选的,工作人员可以在定义第二属性时,在某一任务(任务A)所依赖的任务(任务B)中插入任务标记位,并记录前一任务(任务A)与任务标记位之间的依赖关系,以此来间接标记两任务(任务A与任务B)之间的资源依赖关系。具体地,当第一待执行任务执行完成后,会自动使得任务标记位的值发生改变,也即触发任务标记位,此时,任务执行系统可以获取第一待执行任务执行完成后所触发的目标任务标记位。
步骤S202,从多个待执行任务中确定与目标任务标记位对应的至少一个待执行任务。
可选的,任务执行系统可以基于资源依赖关系确定与该目标任务标记位具有依赖关系的至少一个待执行任务。
步骤S203,确定与目标任务标记位对应的至少一个待执行任务为第三待执行任务,并执行第三待执行任务。
需要说明的是,当无法通过资源向量表体现两任务之间的依赖关系时,可以通过预先设定的任务标记位实现,从而避免对满足执行条件的待执行任务的遗漏。
在一种可选的实施例中,在执行至少一个第二待执行任务之后,如图3所示,任务执行系统可以执行以下步骤:
步骤S301,若多个待执行任务均被执行完成,则任务执行系统可以获取目标有向无环图。其中,目标有向无环图为基于多个待执行任务之间的依赖关系所构建的。
可选的,在多个待执行任务的创建过程中,还可以结合第三属性进行任务创建,其中,第三属性包括任务开始执行时间,第三属性的属性值可以为空,也可以为某一时间点。在多个待执行任务的执行过程中,任务执行系统在任务开始执行时,记录其开始执行时间,在任务结束执行时,记录其结束执行时间。
进一步地,在多个待执行任务均被执行完成后,任务执行系统还可以获取目标有向无环图。其中,任务执行系统可以预先根据多个待执行任务之间的依赖关系,也即待执行任务所对应的资源依赖关系,建立有向无环图。
步骤S302,基于多个待执行任务的第一执行信息确定目标有向无环图中的关键路径。其中,第一执行信息至少包括每个待执行任务的开始执行时间和结束执行时间。
可选的,任务执行系统可以基于有向无环图组中每个待执行任务的开始执行时间和结束执行时间,根据关键路径法,计算出每个待执行任务的最早开始执行时间和最晚开始执行时间,并将最早开始执行时间和最晚开始执行时间相同的待执行任务确定为初始关键任务,初始关键任务相连即形成关键路径,关键路径的长度即为多个待执行任务的总执行时间。
步骤S303,基于关键路径确定多个待执行任务中的关键待执行任务,以在下一次执行多个待执行任务时,为关键待执行任务分配目标计算资源。
可选的,任务执行系统可以基于预设的筛选规则,将关键路径中的至少一个初始关键任务确定为关键待执行任务,从而在下一次执行多个待执行任务时,为关键待执行任务分配目标计算资源。
可选的,在多个待执行任务的创建过程中,还可以结合以下属性进行任务创建。
(1)、任务分配线程数:调度给任务的线程数,线程数越多,分配给该任务的资源的计算资源越大。
(2)、任务分配内存资源大小:调度给任务的内存资源,内存资源越大,分配给任务的计算空间越大。
(3)、任务计算模式(单机或集群):任务计算模式为单机时,分配调度给任务单个服务机器,任务计算模式为集群时,任务需配置应用分片参数,根据分片哈希算法,将作业任务分发到各个机器上工作。
(4)、任务计算数据规模(单台机器),按十万,百万,千万。数据规模会作为计算调度资源的一个参数因子。
(5)、任务熔断策略:任务计算资源异常时候,采取的保护计算机资源的策略。该策略可以是任务计算资源异常时,直接强制杀死任务,也可以是在任务分配到一定量的资源之后无法缓解资源危机,才杀死该任务。
具体地,在为关键待执行任务分配目标计算资源的过程中,任务执行系统可以根据关键待执行任务的CPU和内存的使用情况,为关键待执行任务分配对应的目标计算资源,例如,当CPU使用率比较高,任务执行系统可以为关键待执行任务分配目标线程数(即目标计算资源),当内存过小,任务执行系统可以为关键待执行任务分配目标内存资源(即目标计算资源)。其中,在各待执行任务的执行过程中,若监控到一些资源异常情况,比如CPU飙升到100%,分配一定资源以后,还是达到100%,这时候可能出现死锁情况,此时,可以根据用户预设的任务熔断策略,对任务进行处理。另一方面,根据Amdahl定律,当资源分配到一定的程度的时候,无法加快任务执行速度,所以当分配的线程数,内存数到一定数目时候,任务执行效率会逐渐趋于常量,此时可以停止对关键待执行任务分配目标计算资源。
需要说明的是,通过在待执行任务执行完成后,确定关键待执行任务,以便于在下一次执行待执行任务时,可以缩短关键路径的执行时间,从而减少整个无环图任务组的整体时间,进而提高全局任务执行效率。
在一种可选的实施例中,在基于多个待执行任务的第一执行信息确定目标有向无环图中的关键路径的过程中,任务执行系统可以确定每个待执行任务执行时的资源占用信息,然后基于每个待执行任务执行时的资源占用信息以及结束执行时间,计算得到每个待执行任务的目标结束执行时间,从而根据关键路径法,基于目标有向无环图以及每个待执行任务的开始执行时间和目标结束执行时间,确定目标有向无环图中的关键路径。
可选的,任务执行系统在每一个待执行任务执行时,定时采集各待执行任务的资源占用信息,还可以定时采集各待执行任务的流量大小,其中,资源占用信息至少包括内存占用信息以及CPU使用信息,然后可以基于以下公式计算得到每个待执行任务的目标结束执行时间:
t1=t2+log1000*m*l*c
其中,t1表示目标结束执行时间,t2表示结束执行时间,m表示内存占用信息,l表示流量大小,c表示CPU使用信息。
进一步地,任务执行系统可以根据关键路径法,基于目标有向无环图以及每个待执行任务的开始执行时间和目标结束执行时间,确定目标有向无环图中的关键路径。
需要说明的是,通过基于每个待执行任务执行时的资源占用信息以及结束执行时间,计算得到每个待执行任务的目标结束执行时间,实现了对计算机资源对当前任务的执行效率的影响程度的体现,从而便于后续对关键待执行任务的确定。
在一种可选的实施例中,在基于关键路径确定多个待执行任务中的关键待执行任务的过程中,任务执行系统可以基于每个待执行任务的开始执行时间和目标结束执行时间,确定每个待执行任务的执行时长,从而基于每个待执行任务的执行时长以及关键路径,从多个待执行任务中确定关键待执行任务。
可选的,任务执行系统可以根据每个待执行任务的执行时长,从组成关键路径的初始关键任务中筛选出关键待执行任务。具体地,任务执行系统可以将执行时间最长的初始关键任务确定为关键待执行任务,也可以将执行时间排在前预设数量的初始关键任务确定为关键待执行任务。
需要说明的是,通过根据每个待执行任务的执行时长确定关键待执行任务,可以实现对关键待执行任务更准确的确定。
在一种可选的实施例中,在获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息之前,任务执行系统可以基于多个待执行任务之间的依赖关系确定多个待执行任务中用于第一个被执行的待执行任务。
可选的,任务执行系统可以将多个待执行任务中无资源依赖条件的待执行任务确定为用于第一个被执行的待执行任务,可选的,任务执行系统也可以将目标有向无环图中起始节点所对应的任务确定为用于第一个被执行的待执行任务。其中,目标有向无环图中的节点与待执行任务一一对应。
需要说明的是,通过基于多个待执行任务之间的依赖关系确定初始执行的待执行任务,保证了各待执行任务的正常执行。
在一种可选的实施例中,在开发阶段,相关工作人员可以执行与多个待执行任务具有对应关系的测试任务,并在任务执行过程中,若任务执行的数据结果不及预期,可以根据各测试任务之间的执行依赖关系来重刷任务。例如,当某一任务冲刷时,该任务所依赖的任务均需要被重刷处理。
由此可见,本申请所提供的方案达到了在当前任务执行过程中执行与当前任务具有依赖关系的任务的目的,从而实现了提高任务执行效率的技术效果,进而解决了现有技术中由于定时执行任务造成的任务执行效率低的技术问题。
实施例2
根据本发明实施例,提供了一种任务执行装置的实施例,其中,图4是根据本发明实施例的一种可选的任务执行装置的示意图,如图4所示,该装置包括:
第一获取模块401,用于获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,多个待执行任务之间具有依赖关系;
第一确定模块402,用于基于数据更新信息从多个待执行任务中确定至少一个第二待执行任务,其中,第二待执行任务的执行依赖于数据更新信息中所包含的数据;
执行模块403,用于执行至少一个第二待执行任务。
需要说明的是,上述第一获取模块401、第一确定模块402以及执行模块403对应于上述实施例中的步骤S101至步骤S103,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,任务执行装置还包括:第二获取模块,用于获取第一待执行任务执行完成后所触发的目标任务标记位;第二确定模块,用于从多个待执行任务中确定与目标任务标记位对应的至少一个待执行任务;第三确定模块,用于确定与目标任务标记位对应的至少一个待执行任务为第三待执行任务,并执行第三待执行任务。
可选的,任务执行装置还包括:第三获取模块,用于若多个待执行任务均被执行完成,则获取目标有向无环图,其中,目标有向无环图为基于多个待执行任务之间的依赖关系所构建的;第四确定模块,用于基于多个待执行任务的第一执行信息确定目标有向无环图中的关键路径,其中,第一执行信息至少包括每个待执行任务的开始执行时间和结束执行时间;第五确定模块,用于基于关键路径确定多个待执行任务中的关键待执行任务,以在下一次执行多个待执行任务时,为关键待执行任务分配目标计算资源。
可选的,第四确定模块还包括:第一确定子模块,用于确定每个待执行任务执行时的资源占用信息;计算模块,用于基于每个待执行任务执行时的资源占用信息以及结束执行时间,计算得到每个待执行任务的目标结束执行时间;第二确定子模块,用于根据关键路径法,基于目标有向无环图以及每个待执行任务的开始执行时间和目标结束执行时间,确定目标有向无环图中的关键路径。
可选的,第五确定模块还包括:第三确定子模块,用于基于每个待执行任务的开始执行时间和目标结束执行时间,确定每个待执行任务的执行时长;第四确定子模块,用于基于每个待执行任务的执行时长以及关键路径,从多个待执行任务中确定关键待执行任务。
可选的,资源占用信息至少包括内存占用信息以及CPU使用信息。
可选的,任务执行装置还包括:第六确定模块,用于基于多个待执行任务之间的依赖关系确定多个待执行任务中用于第一个被执行的待执行任务。
实施例3
根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的任务执行方法。
实施例4
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图5是根据本发明实施例的一种可选的电子设备的示意图,如图5所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的任务执行方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种任务执行方法,其特征在于,包括:
获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,所述多个待执行任务之间具有依赖关系;
基于所述数据更新信息从所述多个待执行任务中确定至少一个第二待执行任务,其中,所述第二待执行任务的执行依赖于所述数据更新信息中所包含的数据;
执行所述至少一个第二待执行任务。
2.根据权利要求1所述的方法,其特征在于,在获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息之后,所述方法包括:
获取所述第一待执行任务执行完成后所触发的目标任务标记位;
从所述多个待执行任务中确定与所述目标任务标记位对应的至少一个待执行任务;
确定与所述目标任务标记位对应的至少一个待执行任务为第三待执行任务,并执行所述第三待执行任务。
3.根据权利要求1或2所述的方法,其特征在于,在执行所述至少一个第二待执行任务之后,所述方法还包括:
若所述多个待执行任务均被执行完成,则获取目标有向无环图,其中,所述目标有向无环图为基于所述多个待执行任务之间的依赖关系所构建的;
基于所述多个待执行任务的第一执行信息确定所述目标有向无环图中的关键路径,其中,所述第一执行信息至少包括每个待执行任务的开始执行时间和结束执行时间;
基于所述关键路径确定所述多个待执行任务中的关键待执行任务,以在下一次执行所述多个待执行任务时,为所述关键待执行任务分配目标计算资源。
4.根据权利要求3所述的方法,其特征在于,基于所述多个待执行任务的第一执行信息确定所述目标有向无环图中的关键路径,包括:
确定所述每个待执行任务执行时的资源占用信息;
基于所述每个待执行任务执行时的资源占用信息以及结束执行时间,计算得到所述每个待执行任务的目标结束执行时间;
根据关键路径法,基于所述目标有向无环图以及所述每个待执行任务的开始执行时间和目标结束执行时间,确定所述目标有向无环图中的关键路径。
5.根据权利要求4所述的方法,其特征在于,基于所述关键路径确定所述多个待执行任务中的关键待执行任务,包括:
基于所述每个待执行任务的开始执行时间和目标结束执行时间,确定所述每个待执行任务的执行时长;
基于所述每个待执行任务的执行时长以及所述关键路径,从所述多个待执行任务中确定所述关键待执行任务。
6.根据权利要求4所述的方法,其特征在于,所述资源占用信息至少包括内存占用信息以及CPU使用信息。
7.根据权利要求1所述的方法,其特征在于,在获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息之前,所述方法还包括:
基于所述多个待执行任务之间的依赖关系确定所述多个待执行任务中用于第一个被执行的待执行任务。
8.一种任务执行装置,其特征在于,包括:
第一获取模块,用于获取多个待执行任务中的第一待执行任务在执行过程中所触发的数据更新信息,其中,所述多个待执行任务之间具有依赖关系;
第一确定模块,用于基于所述数据更新信息从所述多个待执行任务中确定至少一个第二待执行任务,其中,所述第二待执行任务的执行依赖于所述数据更新信息中所包含的数据;
执行模块,用于执行所述至少一个第二待执行任务。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的任务执行方法。
10.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的任务执行方法。
CN202211392742.4A 2022-11-08 2022-11-08 任务执行方法、装置、计算机可读存储介质及电子设备 Pending CN115827187A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211392742.4A CN115827187A (zh) 2022-11-08 2022-11-08 任务执行方法、装置、计算机可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211392742.4A CN115827187A (zh) 2022-11-08 2022-11-08 任务执行方法、装置、计算机可读存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN115827187A true CN115827187A (zh) 2023-03-21

Family

ID=85527180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211392742.4A Pending CN115827187A (zh) 2022-11-08 2022-11-08 任务执行方法、装置、计算机可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115827187A (zh)

Similar Documents

Publication Publication Date Title
JP5815512B2 (ja) リソース管理方法、計算機システムおよびプログラム
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
CN109408590B (zh) 分布式数据库的扩容方法、装置、设备及存储介质
CN109189572B (zh) 一种资源预估方法及系统、电子设备和存储介质
CN106844055B (zh) 一种任务的执行方法和装置
CN111722918A (zh) 业务标识码生成方法、装置、存储介质及电子设备
US11150999B2 (en) Method, device, and computer program product for scheduling backup jobs
US11270227B2 (en) Method for managing a machine learning model
CN111158613A (zh) 基于访问热度的数据块存储方法、装置及存储设备
WO2016178316A1 (ja) 計算機調達予測装置、計算機調達予測方法、及び、プログラム
CN111722928A (zh) 一种资源调度方法、装置、电子设备及存储介质
WO2014046885A2 (en) Concurrency identification for processing of multistage workflows
CN110609735B (zh) 任务管理方法、设备和计算机程序产品
CN115599300A (zh) 一种任务分配方法、装置、设备及介质
CN110941486A (zh) 任务管理方法及装置、电子设备和计算机可读存储介质
CN110413393B (zh) 集群资源管理方法、装置、计算机集群及可读存储介质
CN111291018A (zh) 数据管理方法、装置、设备及存储介质
CN116089477B (zh) 分布式训练方法及系统
CN111143063B (zh) 任务的资源预约方法及装置
CN112596880A (zh) 一种数据处理方法、装置、设备及存储介质
CN110389817B (zh) 多云系统的调度方法、装置和计算机可读介质
CN112001116A (zh) 一种云资源容量预测方法及装置
CN115827187A (zh) 任务执行方法、装置、计算机可读存储介质及电子设备
CN115729687A (zh) 任务调度方法、装置、计算机设备、存储介质
CN114675954A (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