CN113342500B - 任务执行方法、装置、设备及存储介质 - Google Patents

任务执行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113342500B
CN113342500B CN202110726755.XA CN202110726755A CN113342500B CN 113342500 B CN113342500 B CN 113342500B CN 202110726755 A CN202110726755 A CN 202110726755A CN 113342500 B CN113342500 B CN 113342500B
Authority
CN
China
Prior art keywords
operator
operators
execution
directed acyclic
acyclic graph
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.)
Active
Application number
CN202110726755.XA
Other languages
English (en)
Other versions
CN113342500A (zh
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 Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202110726755.XA priority Critical patent/CN113342500B/zh
Publication of CN113342500A publication Critical patent/CN113342500A/zh
Application granted granted Critical
Publication of CN113342500B publication Critical patent/CN113342500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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

  • 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

本申请公开了一种任务执行方法、装置、设备及存储介质,属于计算机与互联网技术领域。所述方法包括:获取目标任务包含的n个算子以及n个算子的参数信息;根据n个算子的参数信息,构建目标任务对应的有向无环图;基于有向无环图,执行n个算子得到目标任务的执行结果。本申请中,提供了一种自动确定算子的执行顺序的方式,避免人力消耗,节约时间,提高目标任务的执行效率,而且,在算子执行过程中,并行执行无依赖关系的算子,即使在算子数量多的情况下,也能够有效减少目标任务的执行时长,快速得到目标任务的执行结果,提高目标任务的执行效率的同时,有效地提高计算机设备的计算性能。

Description

任务执行方法、装置、设备及存储介质
技术领域
本申请涉及计算机与互联网技术领域,特别涉及一种任务执行方法、装置、设备及存储介质。
背景技术
在执行目标任务时,需要构建算法模型或策略规则来获取该目标任务的执行结果。其中,算法模型或策略规则通过执行各个算子来获取目标任务的执行结果。
在相关技术中,用户根据目标任务所需获取的执行结果,确定所需要的算子,并人为对算子进行排序,以算子嵌套的形式来表示算子之间的执行顺序。之后,依据算子嵌套结果按照顺序串行执行各个算子,以此来获取上述目标任务的执行结果。
然而,在上述相关技术中,串行执行各个算子,即在当前算子执行完成之后才可执行下一个算子,在算子数量多的情况下,目标任务的执行耗时长、执行效率低。
发明内容
本申请实施例提供了一种任务执行方法、装置、设备及存储介质,能够避免人力消耗,提高目标任务的执行效率,提高目标任务的执行结果的准确性。
所述技术方案如下:
根据本申请实施例的一个方面,提供了一种任务执行方法,所述方法包括:
获取目标任务包含的n个算子以及所述n个算子的参数信息,所述参数信息包括所述算子的输入参数和输出参数,所述n为正整数;
根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图,所述有向无环图用于定义所述n个算子的执行顺序;
基于所述有向无环图,执行所述n个算子得到所述目标任务的执行结果;其中,并行执行所述有向无环图中无依赖关系的算子。
根据本申请实施例的一个方面,提供了一种任务执行装置,所述装置包括:
信息获取模块,用于获取目标任务包含的n个算子以及所述n个算子的参数信息,所述参数信息包括所述算子的输入参数和输出参数,所述n为正整数;
顺序确定模块,用于根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图,所述有向无环图用于定义所述n个算子的执行顺序;
算子执行模块,用于基于所述有向无环图,执行所述n个算子得到所述目标任务的执行结果;其中,并行执行所述有向无环图中无依赖关系的算子。
根据本申请实施例的一个方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述任务执行方法。
根据本申请实施例的一个方面,本申请实施例提供了一种非临时性计算机可读存储介质,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述任务执行方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得计算机设备执行上述任务执行方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过算子的参数信息构建有向无环图,且有向无环图用于定义各个算子的执行顺序,进而根据有向无环图,执行各个算子以获取目标任务的执行结果,提供了一种自动确定算子的执行顺序的方式,避免人力消耗,节约时间,提高目标任务的执行效率,而且,在算子执行过程中,并行执行无依赖关系的算子,即使在算子数量多的情况下,也能够有效减少目标任务的执行时长,快速得到目标任务的执行结果,提高目标任务的执行效率的同时,有效地提高计算机设备的计算性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的任务执行系统的示意图;
图2示例性示出了一种任务执行方式的示意图;
图3是本申请一个实施例提供的任务执行方法的流程图;
图4示例性示出了一种有向无环图的示意图;
图5示例性示出了一种有向无环图获取方式的示意图;
图6是本申请另一个实施例提供的任务执行方法的流程图;
图7示例性示出了一种任务执行方式的流程的示意图;
图8是本申请一个实施例提供的任务执行装置的框图;
图9是本申请另一个实施例提供的任务执行装置的框图;
图10是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的任务执行系统的示意图。该任务执行系统可以包括:终端10和计算机设备20。
终端10用于向计算机设备提供配置信息。其中,该配置信息用于指示获取目标任务的执行结果时所需的信息。可选地,终端10可以是平板电脑、PC(Personal Computer,个人计算机)等电子设备。其中,该终端10中可以安装应用程序的客户端,该应用程序可以是任意能够生成配置信息的应用程序。可选地,该应用程序可以是需要下载安装的应用程序,也可以是即点即用的应用程序,本申请实施例对此不作限定。
计算机设备20用于获取上述目标任务的执行结果。其中,该服务器可以是上述应用程序的后台服务器。服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。可选地,服务器在获取上述配置信息之后,根据该配置信息配置获取目标任务的执行结果时所需的信息,进而基于该所需的信息,获取目标任务的执行结果。
终端10与计算机设备20之间通过网络进行通信。
可选地,在本申请实施例中,上述配置信息中包括获取目标任务的执行结果时所需的参数信息。其中,该参数信息包括n个算子的输入参数和输出参数。示例性地,如图2所示,根据目标任务确定目标任务对应的算法模型或策略规则。进一步地,确定算法模型(或策略规则)对应的参数信息,该参数信息是指算法模型在使用过程中所需的参数,即算法模型(或策略规则)所依赖的参数,该参数包括算法模型的输入参数、输出参数和中间参数,其中,该参数可以理解为算法模型(或策略规则)所需的算子的输入参数和输出参数。之后,根据上述参数信息生成上述配置信息,并根据配置信息确定所需调用的算子,进而构建目标任务对应的有向无环图,并依据该有向无环图所定义的算子的执行顺序,结合并行执行框架来执行各个算子,以此获取目标任务的执行结果。
为了便于说明,在下述方法实施例中,仅以各步骤的执行主体为计算机设备为例进行介绍说明。需要说明的一点是,在本申请实施例中,各步骤的执行主体可以是同一计算机设备,也可以由多个不同的计算机设备交互配合执行,此处不作限定。例如,由一个计算机设备获取目标任务的有向无环图,再由另一个计算机设备根据有向无环图所定义的算子的执行顺序,执行各个算子,以获取目标任务的执行结果。
下面,将结合几个实施例对本申请技术方案进行详细的介绍说明。
请参考图3,其示出了本申请一个实施例提供的任务执行方法的流程图。该方法可以应用于图1所示任务执行系统的计算机设备20中,如各步骤的执行主体可以是计算机设备20。该方法可以包括以下几个步骤(301~303):
步骤301,获取目标任务包含的n个算子以及n个算子的参数信息。
算子是指用于获取目标任务的执行结果的某种操作。目标任务是指任意能够通过一个或多个算子来执行的任务。可选地,计算机设备通过按照顺序执行多个算子,即按照顺序执行各种操作,以此来获取目标任务的执行结果。
在本申请实施例中,计算机设备在获取目标任务的执行结果之前,获取目标任务包含的n个算子以及n个算子的参数信息。其中,参数信息包括算子的输入参数和输出参数,且n为正整数。可选地,不同算子对应的参数信息不同,这里的不同可以理解为任意一个输入参数的不同或者任意一个输出参数的不同。需要说明的一点是,由于算子是在执行目标任务的过程中所执行的任务,因此,上述参数信息所包含的参数可以理解为目标任务执行过程中生成的中间参数、目标任务执行之前的输入参数,以及目标任务执行之后获取的输出参数。
在一种可能的实施方式中,上述参数信息为用户根据目标任务生成的配置信息。可选地,在确定目标任务之后,由用户基于目标任务配置对应的参数,生成上述参数信息,并通过用户终端向计算机设备提供参数信息,进一步,计算机设备在获取该参数信息之后,基于该参数信息所包含的参数,确定各个算子的输出参数和输入参数,进而结合算子所对应的操作,将与参数之间具有向关关系的算子确定为目标任务包含的算子,使得计算机设备获取目标任务包含的n个算子以及n个算子的参数信息。其中,上述相关关系包括依赖关系和关联关系,依赖关系是指算子与输入参数之间的关系,关联关系是指算子与输出参数之间的关系。
在另一种可的实施方式中,上述算子以及算子的参数信息为根据目标任务生成的配置信息。可选地,在确定目标任务之后,由用户基于目标任务确定所需的算子,以及算子的参数信息;或者,在确定目标任务之后,由用户基于目标任务确定对应的参数,进而用户根据参数和算子对应的操作,确定目标任务包含的算子。之后,用户可以通过用户终端向计算机设备提供目标任务包含的n个算子以及n个算子的参数信息。
其中,上述用户终端可以为图1实施例中的终端10。
当然,在示例性实施例中,在确定目标任务对应的参数信息时,也可以由计算机设备根据目标任务确定所需的参数,进而生成参数信息。示例性地,若目标任务为绘制用户画像,则参数可以为用户的各种特征参数。
可选地,在本申请实施例中,计算机设备在获取上述配置信息(算子以及算子的参数信息)之后,可以实时使用该配置信息;也可以先存在该配置信息,在满足条件时使用已存储的配置信息。其中,上述条件可以是接收到针对目标任务的执行请求,或者,上述条件也可以是计算机设备处于正常负载状态。
步骤302,根据n个算子的参数信息,构建目标任务对应的有向无环图。
有向无环图是指有方向且不存在闭环的图。在本申请实施例中,计算机设备在获取上述n个算子以及n个算子的参数信息之后,根据n个算子的参数信息,构建目标任务对应的有向无环图。其中,该有向无环图用于定义n个算子的执行顺序。
可选地,在本申请实施例中,有向无环图中包括多个节点,一个节点对应一个算子。计算机设备在获取算子的参数信息之后,基于参数信息确定算子之间的依赖关系,进而构建上述有向无环图。示例性地,若算子A的输入参数为算子B的输出参数,则确定算子A在执行时依赖于算子B的执行结果,即算子A与算子B之间具有依赖关系,且算子A依赖于算子B。此时,在有向无环图中,如图4所示,算子A为第一节点41,算子B为第二节点42,通过算子A指向算子B的连接方式来表示算子A依赖于算子B。
可选地,在本申请实施例中,计算机在获取上述有向无环图之后,对该有向无环图中进行检测,确定有向无环图中是否存在闭环。
在一种可能的实施方式中,在对有向无环图进行检测时,按照第一顺序对有向无环图中的算子进行遍历,得到遍历结果;进一步地,若遍历结果指示有向无环图中不存在闭环,则确定有向无环图通过验证,之后,在有向无环图通过验证的情况下,计算机设备基于该有向无环图,执行n个算子得到目标任务的执行结果。其中,上述第一顺序与有向无环图所定义的执行顺序相反;针对有向无环图的遍历方式可以为广度优先遍历或深度优先遍历等。
在另一种可能的实施方式中,在对有向无环图进行检测时,按照第二顺序对有向无环图中的算子进行执行检测,得到各个算子的执行状态;进一步地,若各个算子均可处于执行完成状态,则确定有向无环图通过验证,之后,在有向无环图通过验证的情况下,计算机设备基于该有向无环图,执行n个算子得到目标任务的执行结果。其中,第二顺序是指有向无环图所定义的执行顺序。
当然,在其它可能的实施方式中,在对有向无环图进行检测时,可以先依据第一顺序进行检测,再依据第二顺序进行检测,以保证检测结果正确。
步骤303,基于有向无环图,执行n个算子得到目标任务的执行结果。
在本申请实施例中,计算机设备在获取上述有向无环图之后,基于该有向无环图,执行n个算子得到目标任务的执行结果。其中,在算子执行时,并行执行有向无环图中无依赖关系的算子。
综上所述,本申请实施例提供的技术方案中,通过算子的参数信息构建有向无环图,且有向无环图用于定义各个算子的执行顺序,进而根据有向无环图,执行各个算子以获取目标任务的执行结果,提供了一种自动确定算子的执行顺序的方式,避免人力消耗,节约时间,提高目标任务的执行效率,而且,在算子执行过程中,并行执行无依赖关系的算子,即使在算子数量多的情况下,也能够有效减少目标任务的执行时长,快速得到目标任务的执行结果,提高目标任务的执行效率的同时,有效地提高计算机设备的计算性能。
下面,对算子的执行方式进行介绍。
在示例性实施例中,上述步骤303包括以下几个步骤:
1、从有向无环图中确定k批算子,每一批算子包括至少一个算子组,属于同一批算子的任意两个算子组之间不存在具有依赖关系的算子,第i+1批算子依赖于第i批算子的执行结果,k为正整数,i为正整数;
2、以1为i的初始值,执行第i批算子;其中,在第i批算子包括多个算子组的情况下,并行执行多个算子组;
3、在i小于k的情况下,令i=i+1,并再次从上述执行第i批算子的步骤执行;
4、在i等于k的情况下,将第i批算子的执行结果确定为目标任务的执行结果。
可选地,在本申请实施例中,计算机设备在获取上述有向无环图之后,从有向无环图中确定k批算子,且每一批算子包括至少一个算子组。其中,每个算子组包括至少一个算子,且属于同一批算子的任意两个算子组之间不存在具有依赖关系的算子。可选地,在算子并行执行的过程中,为了避免算子执行过程中的等待时长,在对算子进行分组时,可以依据算子的执行时长对算子进行分组。示例性地,在获取某一批算子时,依据执行时长确定该批算子所包含的算子组,其中,每个算子组中算子执行总时长之间的时间差值小于目标值。
可选地,在本申请实施例中,第i+1批算子依赖于第i批算子的执行结果,在初始时,以1为i的初始值,执行第i批算子,且在第i批算子包括多个算子组的情况下,并行执行该多个算子组中的至少两组。之后,按照上述方式依次执行各批算子。可选地,在i小于k的情况下,令i=i+1,并再次从上述执行第i批算子的步骤执行;在i等于k的情况下,将第i批算子的执行结果确定为目标任务的执行结果。
需要说明的一点是,在本申请实施例中,在第i批算子执行的过程中,可以并向执行第i批算子中的所有算子组,也可以并行执行第i批算子中的部分算子组。可选地,计算机设备依据自身的当前负载情况确定并行执行的算子组的数量;或者,计算机设备依据自身的当前负载确定并行执行的算子的数量。
在一种可能的实施方式中,计算机设备依据自身的当前负载情况确定并行执行的算子组的数量。若该数量大于或等于第i批算子中的算子组的总数,则并行执行第i批算子中的所有算子组;若该数量小于第i批算子中的算子组的总数,则并行执行第i批算子中的部分算子组。其中,该部分算子组的数量小于或等于上述计算机设备当前所能承载执行的算子组的数量。可选地,该部分算子组为随机挑选获取的算子组,或者,该部分算子组为依据第一预设条件所获取的算子组。其中,该第一预设条件包括但不限于以下至少一项:算子组中包含的算子数量最多、算子组中包含重要算子、算子组中包含执行顺序靠前的算子等,算子的重要程度可以由用户根据实际情况进行配置。
在另一种可能的实施方式中,计算机设备依据自身的当前负载情况确定并行执行的算子的数量。若该数量大于或等于第i批算子中算子的总数,则并行执行第i批算子中的所有算子,即并行执行第i批算子中的所有算子组;若该数量小于第i批算子中算子的总数,则并行执行第i批算子中的部分算子,即并行执行第i批算子中的部分算子组。其中,该部分算子组中包含的算子的数量小于或等于上述计算机设备当前所能承载执行的算子的数量。可选地,该部分算子组为随机挑选获取的算子组,或者,该部分算子组为依据第二预设条件所获取的算子组。其中,该第二预设条件包括但不限于以下至少一项:算子组中包含重要算子、算子组中包含执行顺序靠前的算子、各个算子组中算子的总数与计算机设备当前所能承载执行的算子的数量之间的差值小于门限值,算子的重要程度可以由用户根据实际情况进行配置。
可选地,在本申请实施例中,通过对各个算子的状态进行标记的方式来确定算子是否执行完成。其中,算子的状态包括:未执行状态、正在执行状态和执行完成状态。
可选地,在初始化的有向无环图中各个算子的状态均为未执行状态;之后,随着算子的执行,对于有向无环图中的第一算子,若第一算子所依赖的各个算子的状态为执行完成状态,则确定第一算子的状态由未执行状态转换为正在执行状态;对于有向无环图中的第二算子,若第二算子的状态为正在执行状态,且第二子所依赖的各个算子的状态为执行完成状态,则在第二算子执行完成的情况下,确定第二算子的状态由正在执行状态转换为执行完成状态。示例性地,如图4所示,在算子C和算子D处于已执行完成状态时,算子B进入正在执行状态,且算子A处于未执行状态。
可选地,在本申请实施例中,在各个算子执行的过程中,初始化有向无环图中的各个算子的状态为未执行状态;进一步地,在第i批算子执行完成的情况下,确定第i+1批算子中的各个算子的状态由未执行状态转换为正在执行状态;在第i+1批算子执行完成,且第i批算子中的各个算子的状态为执行完成状态的情况下,确定第i+1批算子中的各个算子的状态由正在执行状态转换为执行完成状态。
下面,对上述有向无环图的获取方式进行介绍。
在示例性实施例中,上述步骤302包括以下几个步骤:
1、根据n个算子的输入参数和输出参数,构建m个原始依赖关系图。
在本申请实施例中,计算机设备在获取上述n个算子的参数信息之后,根据该n个算子的输入参数和输出参数,构建m个原始依赖关系图,m为正整数。其中,原始依赖关系图用于指示算子之间的依赖关系,该原始依赖关系图中包括一个后执行算子和至少一个前执行算子,后执行算子的输入参数为前执行算子的输出参数,且后执行算子依赖于前执行算子。需要说明的一点是,在本申请实施例中,不同的原始依赖关系图对应的后执行算子不同。
示例性地,如图5所示,对于目标任务,算子A的输入参数为参数1、参数2和参数3,且参数1为算子B的输出参数,参数2为算子C的输出参数,参数3为算子D的输出参数。因此,在原始依赖关系图51中,算子A依赖于算子B、算子C和算子D。另外,由于算子B的输入参数为参数2和参数3,因此,在原始依赖关系图52中,算子B依赖于算子C和算子D。而且,由于算子E的输入参数为参数4和参数5,且参数4为算子F的输出参数,参数5为算子G的输出参数。因此,在原始依赖关系图53中,算子E依赖于算子F和算子G。
2、对m个原始依赖关系图中相同的算子进行合并,得到初始有向无环图。
在本申请实施例中,计算机设备在获取上述m个原始依赖关系图中,对该m个原始依赖关系图中相同的算子进行合并,得到初始的有向无环图。
可选地,在对m个原始依赖关系中相同的算子进行合并时,从m个原始依赖关系图中选择目标原始依赖关系图,确定为候选有向无环图。在一种可能的实施方式中,目标原始依赖关系图可以是任一原始依赖关系图。在另一种可能的实施方式中,目标原始依赖关系图为满足第一要求的原始依赖关系图。其中,上述第一要求包括但不限于以下至少一项:所包含的算子数量最多、所包含的重要算子数量最多、重要算子为前执行算子等。可选地,上述重要算子是指用于获取重要参数的算子,参数的重要程度可以由用户进行配置。
可选地,在本申请实施例中,计算机设备在获取上述候选有向无环图之后,获取与该候选有向无环图包含相同算子的待合并依赖关系图。在一种可能的实施方式中,该待合并依赖关系图可以是任一与候选有向无环图包含相同算子的原始依赖关系图。在另一种可能的实施方式中,该待合并依赖关系图为与候选有向无环图包含相同算子,且满足第二要求的原始依赖关系图。其中,上述第二算子包括但不限于以下至少一项:所包含的算子数量最多、所包含的重要算子数量最多、重要算子为前执行算子等。
可选地,在本申请实施例中,计算机设备在获取上述待合并依赖关系图之后,以相同算子为基准,将待合并依赖关系图合并至候选有向无环图中,并从上述获取与候选有向无环图包含相同算子的待合并依赖关系图的步骤开始执行,直至剩余原始依赖关系图与候选有向无环图之间不存在相同算子。其中,剩余原始依赖关系图中是指上述m个原始依赖关系图中未融合至上述候选有向无环图中的原始依赖关系图。之后,计算机设备根据剩余原始依赖关系图与候选有向无环图,构建初始有向无环图。其中,初始有向无环图中包括剩余原始依赖关系图与候选有向无环图。
可选地,若待合并依赖关系图中前执行算子与后执行算子同时与候选有向无环图中的前执行算子重复,则基于待合并依赖关系图中的前执行算子,与候选有向无环图进行合并。示例性地,如图5所示,将原始依赖关系图51作为目标依赖关系图,即候选有向无环图54,进一步地,由于候选有向无环图54与原始依赖关系图52中存在相同的算子B、算子C和算子D,将原始依赖关系图52合并至候选有向无环图53中,得到候选有向无环图55。
3、对初始有向无环图进行算子简化,去除重复的算子,得到目标任务对应的有向无环图。
在本申请实施例中,计算机设备在获取上述初始有向无环图之后,对该初始有向无环图进行算子简化,去除重复的算子,得到目标任务对应的有向无环图。
可选地,在进行算子简化时,从初始有向无环图中获取重复的算子,得到重复算子集合,重复算子集合中包括至少一个在初始有向无环图中出现次数大于1的算子。进一步地,根据初始有向无环图获取各个重复算子的执行顺序,进而对于相同的重复算子,保留前执行算子,删除后执行算子。可选地,对于重复算子集合中的目标重复算子,根据目标重复算子的执行顺序,在初始有向无环图中,保留最先执行的目标重复算子,去除其它目标重复算子,得到目标任务对应的有向无环图。其中,其它目标重复算子是指初始有向无环图中的,除最先执行的目标重复算子之外的目标重复算子。
示例性地,如图5所示,候选有向无环图55中包括重复出现的算子C和算子D,在进行算子简化时,保留先执行的算子C和算子D,去除后执行的算子C和算子D,得到有向无环图56。
请参考图6,其示出了本申请另一个实施例提供的任务执行方法的流程图。该方法可以应用于图1所示任务执行系统的计算机设备20中,如各步骤的执行主体可以是计算机设备20。该方法可以包括以下几个步骤(601~606):
步骤601,获取目标任务包含的n个算子以及n个算子的参数信息。
步骤602,根据n个算子的参数信息,构建目标任务对应的有向无环图。
步骤603,基于有向无环图,执行n个算子得到目标任务的执行结果。
上述步骤601-603与图3实施例中的步骤301-303相同,具体参见图3实施例,在此不作赘述。
步骤604,响应于n个算子的执行总时长大于阈值,获取各个算子的执行结果。
在本申请实施例中,计算机设备在执行上述n个算子之后,对n个算子的执行总时长进行监控。在n个算子的执行总时长大于或等于阈值的情况下,获取各个算子的执行结果;在n个算子的执行总时长小于阈值的情况下,继续执行该n个算子。其中,该阈值是指预先设置的,n个算子的执行总时长的最大值。
可选地,上述有向无环图中包括至少一条算子链路,计算机设备根据算子链路的执行时长来获取上述阈值。可选地,计算机设备在获取上述阈值时,获取各个算子分别对应的执行时长;进一步地,对于至少一条算子链路中的目标算子链路,对目标算子链路所包含的各个算子分别对应的执行时长进行求和处理,得到目标算子链路对应的链路执行时长;进而从至少一条算子链路分别对应的链路执行时长中,选择数值最大的链路执行时长作为上述阈值。需要说明的一点是,在本申请实施例中,为了提高目标任务的执行结果的获取效率,计算机设备或者用户可以设置有向无环图中算子链路所包含的算子的最大值,该最大值可以是任意数值,本申请实施例对此不作限定。
可选地,上述各个算子分别对应的执行时长,可以是用户根据实际情况设置的,也可以是通过上述针对有向无环图的执行检测获取的,本申请实施例对此不作限定。
步骤605,响应于各个算子的执行结果中包括目标任务的执行结果,确定目标任务执行成功,得到目标任务的执行结果。
在本申请实施例中,计算机设备在获取各个算子的执行结果之后,从各个算子的执行结果中获取目标任务的执行结果。若各个算子的执行结果中包括目标任务的执行结果,则确定目标任务执行成功,并获取目标任务的执行结果。
步骤606,响应于各个算子的执行结果中不包括目标任务的执行结果,确定目标任务执行失败,得到各个算子的执行结果。
在本申请实施例中,计算机设备在获取各个算子的执行结果之后,从各个算子的执行结果中获取目标任务的执行结果。若各个算子的执行结果中不包括目标任务的执行结果,则确定目标任务执行失败,得到各个算子的执行结果。可选地,在获取各个算子的执行结果之后,基于各个算子的执行结果,对算子的执行顺序进行灵活调整,使得调整后的算子按照顺序执行时能够获取目标任务的执行结果。
综上所述,本申请实施例提供的技术方案中,以阈值为基准,确定获取算子的执行结果的时刻,减少算子执行失误的情况下,无法获取目标任务的执行结果而一直执行算子造成的设备能耗。
另外,结合参考图7,对本申请中任务执行方法进行完整介绍。具体如下:
步骤701,获取目标任务包含的n个算子以及n个算子的参数信息。
步骤702,根据n个算子的参数信息,构建目标任务对应的有向无环图。
步骤703,按照第一顺序对有向无环图中的算子进行遍历来判断有向无环图中是否存在闭环。其中,第一顺序与有向无环图所定义的执行顺序相反。若相无环图中存在闭环,则执行步骤704;若相无环图中不存在闭环,则执行步骤705。
步骤704,向用户终端发送有向无环图构建失败信息。
步骤705,按照第二顺序对有向无环图中的算子进行执行检测来判断有向无环图中是否存在闭环。其中,第二顺序是指有向无环图所定义的执行顺序。若相无环图中存在闭环,则执行步骤706;若相无环图中不存在闭环,则执行步骤707。
步骤706,向用户终端发送有向无环图构建失败信息,以及无法转换为执行完成状态的算子的标识信息。
步骤707,根据各个算子的执行时长,确定n个算子的执行总时长的最大值,将最大值作为阈值。
步骤708,基于有向无环图,执行n个算子。
步骤709,判断n个算子的执行时长是否大于阈值。若n个算子的执行时长大于或等于阈值,则执行步骤710;若n个算子的执行时长小于阈值,则继续执行该n个算子。
步骤710,获取各个算子的执行结果。
步骤711,判断各个算子的执行结果中是否包括目标任务的执行结果。若各个算子的执行结果中包括目标任务的执行结果,则执行步骤712;若各个算子的执行结果中不包括目标任务的执行结果,则执行步骤713。
步骤712,确定目标任务执行成功,得到目标任务的执行结果。
步骤713,确定目标任务执行失败,得到各个算子的执行结果。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图8,其示出了本申请一个实施例提供的任务执行装置的框图。该装置具有实现上述任务执行方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置计算机设备中。该装置800可以包括:信息获取模块810、顺序确定模块820和算子执行模块830。
信息获取模块810,用于获取目标任务包含的n个算子以及所述n个算子的参数信息,所述参数信息包括所述算子的输入参数和输出参数,所述n为正整数。
顺序确定模块820,用于根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图,所述有向无环图用于定义所述n个算子的执行顺序。
算子执行模块830,用于基于所述有向无环图,执行所述n个算子得到所述目标任务的执行结果;其中,并行执行所述有向无环图中无依赖关系的算子。
在示例性实施例中,所述算子执行模块830,用于从所述有向无环图中确定k批算子,每一批算子包括至少一个算子组,属于同一批算子的任意两个算子组之间不存在具有依赖关系的算子,第i+1批算子依赖于第i批算子的执行结果,k为正整数,i为正整数;以1为i的初始值,执行所述第i批算子;其中,在所述第i批算子包括多个算子组的情况下,并行执行所述多个算子组;在i小于k的情况下,令i=i+1,并再次从所述执行所述第i批算子的步骤执行;在i等于k的情况下,将所述第i批算子的执行结果确定为所述目标任务的执行结果。
在示例性实施例中,所述算子的状态包括:未执行状态、正在执行状态和执行完成状态;如图9所示,所述装置800还包括:状态转换模块840。
状态转换模块840,用于初始化所述有向无环图中的各个算子的状态为所述未执行状态;在所述第i批算子执行完成的情况下,确定所述第i+1批算子中的各个算子的状态由所述未执行状态转换为所述正在执行状态;在所述第i+1批算子执行完成,且所述第i批算子中的各个算子的状态为所述执行完成状态的情况下,确定所述第i+1批算子中的各个算子的状态由所述正在执行状态转换为所述执行完成状态。
在示例性实施例中,所述顺序确定模块820,包括:关系图获取单元、初始图获取单元和初始图简化单元。
关系图获取单元,用于根据所述n个算子的输入参数和输出参数,构建m个原始依赖关系图;其中,所述原始依赖关系图用于指示算子之间的依赖关系,所述原始依赖关系图中包括一个后执行算子和至少一个前执行算子,所述后执行算子的输入参数为所述前执行算子的输出参数,且所述后执行算子依赖于所述前执行算子,m为正整数。
初始图获取单元,用于对所述m个原始依赖关系图中相同的算子进行合并,得到初始有向无环图。
初始图简化单元,用于对所述初始有向无环图进行算子简化,去除重复的算子,得到所述目标任务对应的有向无环图。
在示例性实施例中,所述初始图简化单元,用于从所述初始有向无环图中获取重复的算子,得到重复算子集合,所述重复算子集合中包括至少一个在所述初始有向无环图中出现次数大于1的算子;根据所述初始有向无环图获取各个所述重复算子的执行顺序;对于所述重复算子集合中的目标重复算子,根据所述目标重复算子的执行顺序,在所述初始有向无环图中,保留最先执行的目标重复算子,去除其它目标重复算子,得到所述目标任务对应的有向无环图;其中,所述其它目标重复算子是指所述初始有向无环图中的,除所述最先执行的目标重复算子之外的目标重复算子。
在示例性实施例中,所述初始图获取单元,用于从所述m个原始依赖关系图中选择目标原始依赖关系图,确定为候选有向无环图;获取与所述候选有向无环图包含相同算子的待合并依赖关系图;以所述相同算子为基准,将所述待合并依赖关系图合并至所述候选有向无环图中,并从所述获取与所述候选有向无环图包含相同算子的待合并依赖关系图的步骤开始执行,直至剩余原始依赖关系图与所述候选有向无环图之间不存在相同算子;根据所述剩余原始依赖关系图与所述候选有向无环图,构建所述初始有向无环图;其中,所述初始有向无环图中包括所述剩余原始依赖关系图与所述候选有向无环图。
在示例性实施例中,如图9所示,所述装置800还包括:顺序检测模块850。
顺序检测模块850,用于按照第一顺序对所述有向无环图中的算子进行遍历,得到遍历结果;其中,所述第一顺序与所述有向无环图所定义的执行顺序相反;响应于所述遍历结果指示所述有向无环图中不存在闭环,确定所述有向无环图通过验证;在所述有向无环图通过验证的情况下,执行所述基于所述有向无环图,执行所述n个算子得到所述目标任务的执行结果的步骤。
在示例性实施例中,如图9所示,所述装置800还包括:结果获取模块860。
结果获取模块860,用于响应于所述n个算子的执行总时长大于阈值,获取各个所述算子的执行结果;响应于各个所述算子的执行结果中包括所述目标任务的执行结果,确定所述目标任务执行成功,得到所述目标任务的执行结果;响应于各个所述算子的执行结果中不包括所述目标任务的执行结果,确定所述目标任务执行失败,得到各个所述算子的执行结果。
在示例性实施例中,所述有向无环图中包括至少一条算子链路;如图9所示,所述装置800还包括:阈值获取模块870。
阈值获取模块870,用于获取各个算子分别对应的执行时长;对于所述至少一条算子链路中的目标算子链路,对所述目标算子链路所包含的各个算子分别对应的执行时长进行求和处理,得到所述目标算子链路对应的链路执行时长;从所述至少一条算子链路分别对应的链路执行时长中,选择数值最大的链路执行时长作为所述阈值。
综上所述,本申请实施例提供的技术方案中,通过算子的参数信息构建有向无环图,且有向无环图用于定义各个算子的执行顺序,进而根据有向无环图,执行各个算子以获取目标任务的执行结果,提供了一种自动确定算子的执行顺序的方式,避免人力消耗,节约时间,提高目标任务的执行效率,而且,在算子执行过程中,并行执行无依赖关系的算子,即使在算子数量多的情况下,也能够有效减少目标任务的执行时长,快速得到目标任务的执行结果,提高目标任务的执行效率的同时,有效地提高计算机设备的计算性能。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可用于实现上述任务执行方法的功能。具体来讲:
计算机设备1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器(Random Access Memory,RAM)1002和只读存储器(Read Only Memory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本申请的各种实施例,计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述任务执行方法。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述任务执行方法。
可选地,该非临时性计算机可读存储介质可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取记忆体)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random AccessMemory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得计算机设备执行上述任务执行方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种任务执行方法,其特征在于,所述方法包括:
获取目标任务包含的n个算子以及所述n个算子的参数信息,所述算子是指用于获取所述目标任务的执行结果的某种操作,所述参数信息包括所述算子的输入参数和输出参数,所述n为正整数,采用算子对所述算子的输入参数进行处理能够得到所述算子的输出参数;
根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图,所述有向无环图用于定义所述n个算子的执行顺序;
从所述有向无环图中依据所述算子的执行时长对所述算子进行分组,确定k批算子,每一批算子包括至少一个算子组,属于同一批算子的任意两个算子组之间不存在具有依赖关系的算子,第i+1批算子依赖于第i批算子的执行结果,k为正整数,i为正整数;其中,属于同一批算子的每个算子组中算子执行总时长之间的时间差小于目标值;
以1为i的初始值,执行所述第i批算子;其中,在所述第i批算子包括多个算子组的情况下,并行执行所述多个算子组;
在i小于k的情况下,令i=i+1,并再次从所述执行所述第i批算子的步骤执行;
在i等于k的情况下,将所述第i批算子的执行结果确定为所述目标任务的执行结果;
其中,所述算子的状态包括:未执行状态、正在执行状态和执行完成状态;对于所述有向无环图中的第一算子,若所述第一算子所依赖的各个算子的状态为所述执行完成状态,则确定所述第一算子的状态由所述未执行状态转换为所述正在执行状态;对于所述有向无环图中的第二算子,若所述第二算子的状态为所述正在执行状态,且第二子所依赖的各个算子的状态为所述执行完成状态,则在所述第二算子执行完成的情况下,确定所述第二算子的状态由所述正在执行状态转换为所述执行完成状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
初始化所述有向无环图中的各个算子的状态为所述未执行状态;
在所述第i批算子执行完成的情况下,确定所述第i+1批算子中的各个算子的状态由所述未执行状态转换为所述正在执行状态;
在所述第i+1批算子执行完成,且所述第i批算子中的各个算子的状态为所述执行完成状态的情况下,确定所述第i+1批算子中的各个算子的状态由所述正在执行状态转换为所述执行完成状态。
3.根据权利要求1所述的方法,其特征在于,所述根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图,包括:
根据所述n个算子的输入参数和输出参数,构建m个原始依赖关系图;其中,所述原始依赖关系图用于指示算子之间的依赖关系,所述原始依赖关系图中包括一个后执行算子和至少一个前执行算子,所述后执行算子的输入参数为所述前执行算子的输出参数,且所述后执行算子依赖于所述前执行算子,m为正整数;
对所述m个原始依赖关系图中相同的算子进行合并,得到初始有向无环图;
对所述初始有向无环图进行算子简化,去除重复的算子,得到所述目标任务对应的有向无环图。
4.根据权利要求3所述的方法,其特征在于,所述对所述初始有向无环图进行算子简化,去除重复的算子,得到所述目标任务对应的有向无环图,包括:
从所述初始有向无环图中获取重复的算子,得到重复算子集合,所述重复算子集合中包括至少一个在所述初始有向无环图中出现次数大于1的算子;
根据所述初始有向无环图获取各个所述重复算子的执行顺序;
对于所述重复算子集合中的目标重复算子,根据所述目标重复算子的执行顺序,在所述初始有向无环图中,保留最先执行的目标重复算子,去除其它目标重复算子,得到所述目标任务对应的有向无环图;其中,所述其它目标重复算子是指所述初始有向无环图中的,除所述最先执行的目标重复算子之外的目标重复算子。
5.根据权利要求3所述的方法,其特征在于,所述对所述m个原始依赖关系图中相同的算子进行合并,得到初始有向无环图,包括:
从所述m个原始依赖关系图中选择目标原始依赖关系图,确定为候选有向无环图;
获取与所述候选有向无环图包含相同算子的待合并依赖关系图;
以所述相同算子为基准,将所述待合并依赖关系图合并至所述候选有向无环图中,并从所述获取与所述候选有向无环图包含相同算子的待合并依赖关系图的步骤开始执行,直至剩余原始依赖关系图与所述候选有向无环图之间不存在相同算子;
根据所述剩余原始依赖关系图与所述候选有向无环图,构建所述初始有向无环图;其中,所述初始有向无环图中包括所述剩余原始依赖关系图与所述候选有向无环图。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图之后,还包括:
按照第一顺序对所述有向无环图中的算子进行遍历,得到遍历结果;其中,所述第一顺序与所述有向无环图所定义的执行顺序相反;
响应于所述遍历结果指示所述有向无环图中不存在闭环,确定所述有向无环图通过验证;
在所述有向无环图通过验证的情况下,执行所述从所述有向无环图中依据所述算子的执行时长对所述算子进行分组,确定k批算子的步骤。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述第i批算子的执行结果确定为所述目标任务的执行结果之后,还包括:
响应于所述n个算子的执行总时长大于阈值,获取各个所述算子的执行结果;
响应于各个所述算子的执行结果中包括所述目标任务的执行结果,确定所述目标任务执行成功,得到所述目标任务的执行结果;
响应于各个所述算子的执行结果中不包括所述目标任务的执行结果,确定所述目标任务执行失败,得到各个所述算子的执行结果。
8.根据权利要求7所述的方法,其特征在于,所述有向无环图中包括至少一条算子链路;
所述方法还包括:
获取各个算子分别对应的执行时长;
对于所述至少一条算子链路中的目标算子链路,对所述目标算子链路所包含的各个算子分别对应的执行时长进行求和处理,得到所述目标算子链路对应的链路执行时长;
从所述至少一条算子链路分别对应的链路执行时长中,选择数值最大的链路执行时长作为所述阈值。
9.一种任务执行装置,其特征在于,所述装置包括:
信息获取模块,用于获取目标任务包含的n个算子以及所述n个算子的参数信息,所述算子是指用于获取所述目标任务的执行结果的某种操作,所述参数信息包括所述算子的输入参数和输出参数,所述n为正整数,采用算子对所述算子的输入参数进行处理能够得到所述算子的输出参数;
顺序确定模块,用于根据所述n个算子的参数信息,构建所述目标任务对应的有向无环图,所述有向无环图用于定义所述n个算子的执行顺序;
算子执行模块,用于从所述有向无环图中依据所述算子的执行时长对所述算子进行分组,确定k批算子,每一批算子包括至少一个算子组,属于同一批算子的任意两个算子组之间不存在具有依赖关系的算子,第i+1批算子依赖于第i批算子的执行结果,k为正整数,i为正整数;其中,属于同一批算子的每个算子组中算子执行总时长之间的时间差小于目标值;以1为i的初始值,执行所述第i批算子;其中,在所述第i批算子包括多个算子组的情况下,并行执行所述多个算子组;在i小于k的情况下,令i=i+1,并再次从所述执行所述第i批算子的步骤执行;在i等于k的情况下,将所述第i批算子的执行结果确定为所述目标任务的执行结果;
其中,所述算子的状态包括:未执行状态、正在执行状态和执行完成状态;对于所述有向无环图中的第一算子,若所述第一算子所依赖的各个算子的状态为所述执行完成状态,则确定所述第一算子的状态由所述未执行状态转换为所述正在执行状态;对于所述有向无环图中的第二算子,若所述第二算子的状态为所述正在执行状态,且第二子所依赖的各个算子的状态为所述执行完成状态,则在所述第二算子执行完成的情况下,确定所述第二算子的状态由所述正在执行状态转换为所述执行完成状态。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的任务执行方法。
11.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的任务执行方法。
CN202110726755.XA 2021-06-29 2021-06-29 任务执行方法、装置、设备及存储介质 Active CN113342500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110726755.XA CN113342500B (zh) 2021-06-29 2021-06-29 任务执行方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110726755.XA CN113342500B (zh) 2021-06-29 2021-06-29 任务执行方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113342500A CN113342500A (zh) 2021-09-03
CN113342500B true CN113342500B (zh) 2022-09-16

Family

ID=77481515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110726755.XA Active CN113342500B (zh) 2021-06-29 2021-06-29 任务执行方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113342500B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886085A (zh) * 2021-09-30 2022-01-04 支付宝(杭州)信息技术有限公司 多方安全计算中的任务执行方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015120603A1 (en) * 2014-02-13 2015-08-20 Sap Ag Database calculation using parallel-computation in directed acyclic graph
US10331495B2 (en) * 2016-02-05 2019-06-25 Sas Institute Inc. Generation of directed acyclic graphs from task routines
US10346211B2 (en) * 2016-02-05 2019-07-09 Sas Institute Inc. Automated transition from non-neuromorphic to neuromorphic processing
CN112256444B (zh) * 2019-07-22 2023-08-01 腾讯科技(深圳)有限公司 基于dag的业务处理方法、装置、服务器及存储介质
CN110554909A (zh) * 2019-09-06 2019-12-10 腾讯科技(深圳)有限公司 任务的调度处理方法、装置及计算机设备
CN110888720A (zh) * 2019-10-08 2020-03-17 北京百度网讯科技有限公司 任务处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113342500A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN108153670B (zh) 一种接口测试方法、装置及电子设备
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
US10909018B2 (en) System and method for end-to-end application root cause recommendation
CN109284220B (zh) 集群故障恢复时长估算方法、装置、设备及存储介质
EP2629205A1 (en) Multi-entity test case execution workflow
US8683027B2 (en) Utilization of uncertainty dependency relationships between items in a data stream
CN113342500B (zh) 任务执行方法、装置、设备及存储介质
CN111555987B (zh) 限流配置方法、装置、设备及计算机存储介质
CN111935005A (zh) 数据传输方法、装置、处理设备及介质
CN112181599A (zh) 模型训练方法、装置及存储介质
CN116361153A (zh) 固件代码的测试方法、装置、电子设备、存储介质
CN112947907A (zh) 一种创建代码分支的方法
CN109800775B (zh) 文件聚类方法、装置、设备及可读介质
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN112631577B (zh) 一种模型的调度方法、模型调度器以及模型安全测试平台
CN111736848B (zh) 包冲突定位方法、装置、电子设备及可读存储介质
CN110928672B (zh) 一种任务编排方法、装置、设备及存储介质
CN114187300A (zh) 图像处理方法、系统以及存储介质
CN109491892B (zh) 一种项目环境的配置方法和装置
CN113609168A (zh) 数据导出方法、装置、终端以及可读存储介质
CN112328487A (zh) 故障注入用例的并行联合仿真调度方法、装置和设备
EP3671467A1 (en) Gui application testing using bots
CN109995617A (zh) 主机管理特性的自动化测试方法、装置、设备及存储介质
CN110096555B (zh) 一种分布式系统的表匹配处理方法及装置
CN111476663B (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