CN113467913A - 任务执行方法、装置、存储介质及电子装置 - Google Patents
任务执行方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113467913A CN113467913A CN202110770581.7A CN202110770581A CN113467913A CN 113467913 A CN113467913 A CN 113467913A CN 202110770581 A CN202110770581 A CN 202110770581A CN 113467913 A CN113467913 A CN 113467913A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- preset
- node
- processing mode
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Logic Circuits (AREA)
Abstract
本发明实施例提供了一种任务执行方法、装置、存储介质及电子装置,其中,该方法包括:获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的预设任务处理方式,其中,目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;控制目标节点的目标下游节点按照预设任务处理方式进行任务处理。通过本发明,解决了相关技术中存在的任务节点的执行逻辑设置的灵活性差的问题,达到了提高任务调度系统的灵活性和易用性的效果。
Description
技术领域
本发明实施例涉及大数据技术领域,具体而言,涉及一种任务执行方法、装置、存储介质及电子装置。
背景技术
大数据技术演进至今,数据中台体系已经越来越多的应用在各种业务领域。任务调度系统,作为数据中台体系的基础,承载着整个数据中台的任务编排、分发以及执行的工作。那么,如何对现有的传统的任务调度系统进行优化,提高其对于开发人员的易用性及对于自身的任务执行效率,可谓是当务之急。
当前传统的任务调度系统一般只支持整体任务按照有向无环图(DAG)顺序执行,一个任务节点是否会被触发执行的条件是它的所有上游节点全部都被触发执行,而且执行结果均为成功。这种任务执行逻辑可以满足部分开发场景,但是却没有考虑到例如某一任务节点N的多个上游节点中有未执行或者执行失败的情况,但是节点N依然需要被执行的场景,换言之,开发人员无法自行设定节点是否被触发执行或者怎么被触发执行的逻辑,即相关技术中任务节点的执行逻辑设置不够灵活。
针对相关技术中存在的任务节点的执行逻辑设置的灵活性差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种任务执行方法、装置、存储介质及电子装置,以至少解决相关技术中存在的任务节点的执行逻辑设置的灵活性差的问题。
根据本发明的一个实施例,提供了一种任务执行方法,包括:获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,其中,所述目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;控制所述目标节点的目标下游节点按照所述预设任务处理方式进行任务处理。
在一个示例性实施例中,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:获取所述目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,其中,所述任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,所述任务输出结果包括所述目标上游节点在执行任务之后所触发输出的结果;基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述任务完成结果和/或任务输出结果对应的所述预设任务处理方式。
在一个示例性实施例中,在所述目标上游节点的数量为多个的情况下,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:分别获取每个所述目标上游节点的所述任务执行结果;基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式。
在一个示例性实施例中,在所述目标下游节点的数量为多个的情况下,基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的每个所述目标下游节点的所述预设任务处理方式;控制所述目标下游节点按照所述预设任务处理方式进行任务处理包括:控制每个所述目标下游节点按照每个所述目标下游节点的所述预设任务处理方式进行任务处理。
在一个示例性实施例中,在基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式之前,所述方法还包括:获取由目标设备配置的所述目标逻辑关系;在确定预先未存储其他逻辑关系的情况下,存储所述目标逻辑关系;在确定预先已存储其他逻辑关系的情况下,将已存储的其他逻辑关系更新为所述目标逻辑关系。
根据本发明的另一个实施例,还提供了一种任务执行装置,包括:第一获取模块,用于获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;确定模块,用于基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,其中,所述目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;控制模块,用于控制所述目标节点的目标下游节点按照所述预设任务处理方式进行任务处理。
在一个示例性实施例中,所述第一获取模块包括:第一获取单元,用于获取所述目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,其中,所述任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,所述任务输出结果包括所述目标上游节点在执行任务之后所触发输出的结果;所述确定模块包括:第一确定单元,用于基于预先配置的目标逻辑关系确定与所述任务完成结果和/或任务输出结果对应的所述预设任务处理方式。
在一个示例性实施例中,所述第一获取模块包括:第二获取单元,用于在所述目标上游节点的数量为多个的情况下,分别获取每个所述目标上游节点的所述任务执行结果;所述确定模块包括:第二确定单元,用于基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果,再基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的预设任务处理方式,其中,目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系,然后,控制目标节点的目标下游节点按照预设任务处理方式进行任务处理,即由目标节点基于预先配置的目标逻辑关系确定出预设任务处理方式,以控制目标节点的目标下游节点按照预设任务处理方式进行任务处理,从而实现了按照预先配置的目标逻辑关系对目标下游节点的任务执行进行控制的目的,因此,避免了相关技术中因无法自行设定节点是否被触发执行或者怎么被触发执行的逻辑而导致灵活性差的问题,解决了相关技术中存在的任务节点的执行逻辑设置的灵活性差的问题,达到了提高任务调度系统的灵活性和易用性的效果。
附图说明
图1是本发明实施例的任务执行方法的移动终端硬件结构框图;
图2是根据本发明实施例的任务执行方法的流程图;
图3是相关技术中的任务流程示例图;
图4是根据本发明实施例的任务执行流程示例图一;
图5是根据本发明实施例的任务执行流程示例图二;
图6是根据本发明实施例的任务执行装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的任务执行方法的移动终端硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的任务执行方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Control ler,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种任务执行方法,图2是根据本发明实施例的任务执行方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;
步骤S204,基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,其中,所述目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;
步骤S206,控制所述目标节点的目标下游节点按照所述预设任务处理方式进行任务处理。
通过上述步骤,通过获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果,再基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的预设任务处理方式,其中,目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系,然后,控制目标节点的目标下游节点按照预设任务处理方式进行任务处理,即由目标节点基于预先配置的目标逻辑关系确定出预设任务处理方式,以控制目标节点的目标下游节点按照预设任务处理方式进行任务处理,从而实现了按照预先配置的目标逻辑关系对目标下游节点的任务执行进行控制的目的,因此,避免了相关技术中因无法自行设定节点是否被触发执行或者怎么被触发执行的逻辑而导致灵活性差的问题,解决了相关技术中存在的任务节点的执行逻辑设置的灵活性差的问题,达到了提高任务调度系统的灵活性和易用性的效果。
其中,上述步骤的执行主体可以为包括上述目标节点的终端系统,如大数据系统,任务调度系统等,或者为配置在存储设备上的具备人机交互能力的处理器,或者为具备类似处理能力的处理设备或处理单元等,但不限于此。下面以由包括上述目标节点的任务调度系统执行上述操作为例(仅是一种示例性说明,在实际操作中还可以是其他的设备或模块来执行上述操作)进行说明:
在上述实施例中,任务调度系统通过获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果,例如,目标上游节点的任务执行结果可能为以下其中之一:任务执行完成、任务执行失败、任务未执行,此外,在实际应用中,任务执行结果还可能为任务输出的结果,例如,任务输出结果为目标上游节点在执行任务之后输出的内容;在获取目标上游节点的任务执行结果之后,再基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的预设任务处理方式,其中,目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系,然后,控制目标节点的目标下游节点按照预设任务处理方式进行任务处理,即由目标节点基于预先配置的目标逻辑关系确定出预设任务处理方式,以控制目标节点的目标下游节点按照预设任务处理方式进行任务处理,从而实现了按照预先配置的目标逻辑关系对目标下游节点的任务执行进行控制的目的,因此,避免了相关技术中因无法自行设定节点是否被触发执行或者怎么被触发执行的逻辑而导致灵活性差的问题,解决了相关技术中存在的任务节点的执行逻辑设置的灵活性差的问题,达到了提高任务调度系统的灵活性和易用性的效果。
在一个可选的实施例中,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:获取所述目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,其中,所述任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,所述任务输出结果包括所述目标上游节点在执行任务之后所触发输出的结果;基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述任务完成结果和/或任务输出结果对应的所述预设任务处理方式。在本实施例中,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:获取目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,即目标上游节点的任务执行结果可以是任务完成结果和/或任务输出结果,其中,任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,任务输出结果包括目标上游节点在执行任务之后所触发输出的结果,在实际应用中,任务输出结果为目标上游节点在执行任务之后输出的内容,例如一个数值;基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与任务完成结果和/或任务输出结果对应的预设任务处理方式,即预先配置的目标逻辑关系中记录了目标上游节点的不同的任务完成结果和/或任务输出结果与相对应的预设任务处理方式之间的关系,因此,基于预先配置的目标逻辑关系即可确定与上述任务完成结果和/或任务输出结果对应的预设任务处理方式,通过本实施例,实现了自行设定节点是否被触发执行或怎么被处罚执行的逻辑的目的,达到了提高任务节点的逻辑设置的灵活性的效果。
在一个可选的实施例中,在所述目标上游节点的数量为多个的情况下,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:分别获取每个所述目标上游节点的所述任务执行结果;基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式。在本实施例中,在所述目标上游节点的数量为多个的情况下,例如,目标上游节点的数量为3个(当然也可为其他数量),分别为J1、J2、J3,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:分别获取每个所述目标上游节点的所述任务执行结果,即分别获取上述J1、J2、J3三个目标上游节点的任务执行结果,任务执行结果可包括每个节点的任务完成结果和/或任务输出结果;基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式,例如,基于预先配置的逻辑关系确定与上述J1、J2、J3三个目标上游节点的任务执行结果各自相对应的预设任务处理方式。通过本实施例,可实现基于多个上游节点的执行结果以确定目标节点的目标下游节点的预设任务处理方式,实现对下游节点的任务执行进行控制的目的。
在一个可选的实施例中,在所述目标下游节点的数量为多个的情况下,基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的每个所述目标下游节点的所述预设任务处理方式;控制所述目标下游节点按照所述预设任务处理方式进行任务处理包括:控制每个所述目标下游节点按照每个所述目标下游节点的所述预设任务处理方式进行任务处理。在本实施例中,在目标下游节点的数量为多个的情况下,例如,目标下游节点的数量为2个(当然也可为其他数量),分别为K1、K2,基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的每个所述目标节点的所述预设任务处理方式,即基于预先配置的目标逻辑关系确定与目标上游节点的任务执行结果对应的每个上述目标下游节点K1、K2各自的预设任务处理方式;控制目标下游节点按照预设任务处理方式进行任务处理包括:控制每个所述目标下游节点(即上述K1、K2节点)按照每个所述目标下游节点的所述预设任务处理方式进行任务处理,例如,控制目标下游节点K1、K2按照各自的预设任务处理方式进行任务处理,在实际应用中,可实现按照预设任务处理方式控制下游节点的任务执行的目的。
在一个可选的实施例中,在基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式之前,所述方法还包括:获取由目标设备配置的所述目标逻辑关系;在确定预先未存储其他逻辑关系的情况下,存储所述目标逻辑关系;在确定预先已存储其他逻辑关系的情况下,将已存储的其他逻辑关系更新为所述目标逻辑关系。在本实施例中,在基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式之前,所述方法还包括:先获取由目标设备配置的目标逻辑关系,例如,在实际应用中,上述目标逻辑关系可由开发人员在目标设备上预先自行设定;在确定预先未存储其他逻辑关系的情况下,存储所述目标逻辑关系,在确定预先已存储其他逻辑关系的情况下,将已存储的其他逻辑关系更新为所述目标逻辑关系,可选地,在实际应用中,任务调度系统可对目标逻辑关系进行存储和/或更新。通过本实施例,实现了在预先设定目标逻辑关系的情况下,对目标逻辑关系进行获取、存储、更新的目的,达到了提高任务调度系统的灵活性和易用性的效果。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
下面结合实施例对本发明进行具体说明:
图3是相关技术中的任务流程示例图,如图3所示,一共4个任务节点,分别为:n1、n2、n3、n4。在相关技术中,整个业务流程被调度的情况下,节点执行的基本原则是其上游节点均执行完成且执行结果均为成功状态。以图3为例,其正常的执行流程为:节点n1先执行,执行完成且成功后,节点n2和n3会同时开始执行,然后n2和n3均执行完成且成功后,节点n4执行。在相关技术的任务调度系统中,会存在一些问题,例如,当碰到如下的一些场景时,上述的流程可能就无法满足了。场景1:需要根据节点n1的执行结果或者执行输出来判断节点n2和n3是否会被执行;场景2:需要根据节点n2和n3的执行结果或者执行输出来判断节点n4是否会被执行。节点的执行结果(对应于前述任务完成结果)具体指节点执行成功或者失败或者未执行,节点的执行输出(对应于前述任务输出结果)具体指节点执行成功后指定的输出内容,例如一个值,此处输出内容的具体逻辑由于不是本发明关注的重点故不过多赘述。
本发明实施例可以满足以上两个实际应用场景,当然还可以满足其他应用场景,在此仅以上述两个场景为例进行说明。在任务调度中引入流程控制的概念,提出流程控制工具节点:branch节点(对应于前述目标节点)。工具节点本身是无法独立存在的,需要配合数据处理节点的执行结果或者执行输出来使用。branch节点支持上游多个输入,下游多个输出,用于控制任务走向一个或多个下游分支,控制的具体逻辑需要由开发人员自行设置,可以根据上游节点的执行结果进行与或非逻辑组合后与设定的条件做判断,也可以利用上游节点的执行输出先与设定值进行对比后再进行与或非逻辑组合,最后与设定的条件做判断。
图4是根据本发明实施例的任务执行流程示例图一,如图4所示,该流程包括如下步骤:
S402,获取上游节点(如图4中节点n1)的任务执行结果;
S404,确定branch1节点(对应于前述目标节点)的任务处理方式,即基于预先配置的逻辑关系确定与上游节点n1的任务执行结果相对应的预设任务处理方式;
S406,控制branch1节点按照预设任务处理方式进行任务处理,进而控制下游节点的任务执行,即控制图4中下游节点n2、n3是否会被执行。
针对前述场景1,即图4中节点n2和n3是否会被执行,可根据branch1节点的设置(对应于前述预先配置的目标逻辑关系),可以灵活运用如下策略:一、利用n1的执行结果(对应于前述任务完成结果),例如,n1执行成功则只执行n2,n1执行失败则只执行n3,即根据n1执行结果确定下游节点的对应的任务处理方式,相当于前述确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,该策略一可实现简单的是非(if/else)需求;二、利用n1的执行输出(对应于前述任务输出结果),例如,当n1输出值大于20时只执行n2,当输出值大于等于0且小于10时只执行n3,当输出值在10至20范围内时n2和n3均执行,当输出值小于0时n2和n3均不执行,该策略二可实现类似于swi tch的需求。
图5是根据本发明实施例的任务执行流程示例图二,如图5所示,该流程包括如下步骤:
S502,获取上游节点(如图5中节点n2、n3)的任务执行结果;
S504,确定branch2节点的任务处理方式,即基于预先配置的逻辑关系确定与上游节点n2、n3的任务执行结果相对应的预设任务处理方式;
S506,控制branch2节点按照预设任务处理方式进行任务处理,进而控制下游节点的任务执行,即控制图5中下游节点n4是否会被执行。
针对前述场景2,即图5中节点n4是否会被执行,根据branch2节点的设置(同样对应于前述预先配置的目标逻辑关系),可以灵活运用如下策略:一、利用n2和n3的执行结果,例如,当n2和n3均执行成功时n4执行,其他情况n4不执行,可实现与门(and)需求,当n2或n3其中之一执行成功时n4执行,两者均执行失败则n4不执行,可实现或门(or)需求,即可根据上游节点的执行结果进行不同的逻辑组合后与设定条件做判断,以控制下游节点的任务执行;二、利用n2和n3的执行输出,例如,当n2的输出值为“abc”且同时n3的输出值为“xyz”时,执行n4,可实现多种条件组合逻辑判断的需求。
通过上述实施例,可由开发人员对某个节点N的所有上游节点的执行结果或者执行输出进行逻辑组合判断,然后对节点N的执行做出决策,灵活性更高,更满足实际复杂的任务调度场景,避免了相关技术中因任务节点执行逻辑较为固定而导致灵活性差的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种任务执行装置,图6是根据本发明实施例的任务执行装置的结构框图,如图6所示,该设备包括:
第一获取模块602,用于获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;
确定模块604,用于基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,其中,所述目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;
控制模块606,用于控制所述目标节点的目标下游节点按照所述预设任务处理方式进行任务处理。
在一个可选的实施例中,上述第一获取模块602包括:第一获取单元,用于获取所述目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,其中,所述任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,所述任务输出结果包括所述目标上游节点在执行任务之后所触发输出的结果;上述确定模块604包括:第一确定单元,用于基于预先配置的目标逻辑关系确定与所述任务完成结果和/或任务输出结果对应的所述预设任务处理方式。
在一个可选的实施例中,上述第一获取模块602包括:第二获取单元,用于在所述目标上游节点的数量为多个的情况下,分别获取每个所述目标上游节点的所述任务执行结果;上述确定模块604包括:第二确定单元,用于基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式。
在一个可选的实施例中,上述确定模块604包括:第三确定单元,用于在所述目标下游节点的数量为多个的情况下,基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的每个所述目标下游节点的所述预设任务处理方式;上述控制模块606包括:第一控制单元,用于控制每个所述目标下游节点按照每个所述目标下游节点的所述预设任务处理方式进行任务处理。
在一个可选的实施例中,上述装置还包括:第二获取模块,用于在基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式之前,获取由目标设备配置的所述目标逻辑关系;存储模块,用于在确定预先未存储其他逻辑关系的情况下,存储所述目标逻辑关系;更新模块,用于在确定预先已存储其他逻辑关系的情况下,将已存储的其他逻辑关系更新为所述目标逻辑关系。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务执行方法,其特征在于,包括:
获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;
基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,其中,所述目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;
控制所述目标节点的目标下游节点按照所述预设任务处理方式进行任务处理。
2.根据权利要求1所述的方法,其特征在于,
获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:获取所述目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,其中,所述任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,所述任务输出结果包括所述目标上游节点在执行任务之后所触发输出的结果;
基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述任务完成结果和/或任务输出结果对应的所述预设任务处理方式。
3.根据权利要求1所述的方法,其特征在于,
在所述目标上游节点的数量为多个的情况下,获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果包括:分别获取每个所述目标上游节点的所述任务执行结果;
基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式。
4.根据权利要求1所述的方法,其特征在于,
在所述目标下游节点的数量为多个的情况下,基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式包括:基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的每个所述目标下游节点的所述预设任务处理方式;
控制所述目标下游节点按照所述预设任务处理方式进行任务处理包括:控制每个所述目标下游节点按照每个所述目标下游节点的所述预设任务处理方式进行任务处理。
5.根据权利要求1所述的方法,其特征在于,在基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式之前,所述方法还包括:
获取由目标设备配置的所述目标逻辑关系;
在确定预先未存储其他逻辑关系的情况下,存储所述目标逻辑关系;
在确定预先已存储其他逻辑关系的情况下,将已存储的其他逻辑关系更新为所述目标逻辑关系。
6.一种任务执行装置,其特征在于,包括:
第一获取模块,用于获取有向无环图DAG中包括的目标节点的目标上游节点的任务执行结果;
确定模块,用于基于预先配置的目标逻辑关系确定与所述目标上游节点的任务执行结果对应的预设任务处理方式,其中,所述目标逻辑关系用于指示上游节点的任务执行结果与下游节点的任务处理方式的对应关系;
控制模块,用于控制所述目标节点的目标下游节点按照所述预设任务处理方式进行任务处理。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块包括:第一获取单元,用于获取所述目标上游节点的任务执行结果中包括的任务完成结果和/或任务输出结果,其中,所述任务完成结果包括以下之一:任务已完成、任务未完成、任务未执行,所述任务输出结果包括所述目标上游节点在执行任务之后所触发输出的结果;
所述确定模块包括:第一确定单元,用于基于预先配置的目标逻辑关系确定与所述任务完成结果和/或任务输出结果对应的所述预设任务处理方式。
8.根据权利要求6所述的装置,其特征在于,所述第一获取模块包括:第二获取单元,用于在所述目标上游节点的数量为多个的情况下,分别获取每个所述目标上游节点的所述任务执行结果;
所述确定模块包括:第二确定单元,用于基于预先配置的逻辑关系确定与多个所述目标上游节点的所述任务执行结果对应的所述预设任务处理方式。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至5任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至5任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110770581.7A CN113467913A (zh) | 2021-07-07 | 2021-07-07 | 任务执行方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110770581.7A CN113467913A (zh) | 2021-07-07 | 2021-07-07 | 任务执行方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467913A true CN113467913A (zh) | 2021-10-01 |
Family
ID=77879063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110770581.7A Pending CN113467913A (zh) | 2021-07-07 | 2021-07-07 | 任务执行方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467913A (zh) |
-
2021
- 2021-07-07 CN CN202110770581.7A patent/CN113467913A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20130116039A (ko) | 소프트웨어 정의 라디오 어플리케이션의 동작 방법 | |
CN110471746B (zh) | 一种分布式事务回调方法、装置及系统 | |
CN112470119B (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
CN109508912B (zh) | 一种业务调度方法、装置、设备和存储介质 | |
CN108809683A (zh) | 部署云应用系统的方法及装置 | |
CN109067562A (zh) | 基于智能指针的动态配置更新方法及系统、服务器及介质 | |
CN113885971A (zh) | 一种基于自适应平台系统的状态管理方法及装置 | |
CN110569129A (zh) | 资源分配方法及装置、存储介质、电子装置 | |
CN110912726B (zh) | 服务的提供方法、装置、系统、存储介质及电子装置 | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
US20100235827A1 (en) | Creation of multiple radio instances | |
CN111831452A (zh) | 任务执行方法、装置、存储介质及电子装置 | |
CN111049855B (zh) | 一种基于标签的策略配置方法及装置 | |
CN110569038B (zh) | 随机验证参数设计方法、装置、计算机设备及存储介质 | |
CN112069190B (zh) | 一种分批数据获取方法、装置、设备及介质 | |
CN113467913A (zh) | 任务执行方法、装置、存储介质及电子装置 | |
CN111131324A (zh) | 业务系统的登陆方法及装置、存储介质、电子装置 | |
CN113110982B (zh) | 数据访问层验证方法及装置、存储介质及电子装置 | |
CN110659125A (zh) | 一种分析任务执行方法、装置、系统及电子设备 | |
CN111385110B (zh) | 网络的管理方法及装置 | |
CN110580172B (zh) | 配置规则的验证方法及装置、存储介质、电子装置 | |
CN111427603A (zh) | 应用程序的升级方法及装置 | |
CN113504981A (zh) | 任务调度方法和装置、存储介质及电子设备 | |
CN112737896A (zh) | 带宽数据核对方法、装置、介质及电子设备 | |
CN110580248A (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 |