CN115858213A - 任务排程检查方法、装置、计算机设备和存储介质 - Google Patents
任务排程检查方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115858213A CN115858213A CN202211499199.8A CN202211499199A CN115858213A CN 115858213 A CN115858213 A CN 115858213A CN 202211499199 A CN202211499199 A CN 202211499199A CN 115858213 A CN115858213 A CN 115858213A
- Authority
- CN
- China
- Prior art keywords
- task
- conflict
- execution
- graph
- execution time
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种任务排程检查方法、装置、计算机设备、存储介质和计算机程序产品,涉及任务调度领域。可用于金融科技领域或其他相关领域。方法包括:确定作业流程中的多个任务,并确定每个任务的任务定义信息;根据每个任务的任务定义信息中的任务依赖关系生成任务图;任务图中包括多个任务流;基于任务图对各个任务流分别进行有向无环图校验;为通过校验的任务流的目标节点添加任务执行信息;任务执行信息包括执行任务所需的作业文件、以及任务执行时间;根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。采用本方法能够有效防止执行任务时争抢资源,提高任务执行的效率。
Description
技术领域
本申请涉及任务调度领域,特别是涉及一种任务排程检查方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了分布式任务调度系统,分布式任务调度系统产生每日要执行的任务,安排任务的执行计划并触发任务运行。为保证以上内容正确执行,需要对任务排程进行检查。
传统技术中,一般只检查任务之间的依赖关系,从而导致任务之间相互等待的情况经常出现,甚至由于长时间等待引起任务中断,降低了任务执行的效率。
因此,如何对任务排程进行检查提高任务执行的效率是目前亟需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高任务执行的效率的任务排程检查方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种任务排程检查方法。所述方法包括:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
基于所述任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
在其中一个实施例中,所述任务图包括邻接矩阵,所述根据每个任务的任务定义信息中的任务依赖关系生成任务图,包括:
基于所述多个任务的数量构建初始矩阵,所述初始矩阵的每一行对应一个任务,所述初始矩阵的每一列对应一个任务;
对于所述初始矩阵中的当前元素,根据所述当前元素所在行对应的任务、以及所述当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值;所述当前元素为所述初始矩阵中的任一个元素;
根据各个元素的值,得到邻接矩阵。
在其中一个实施例中,所述任务图包括邻接链表,所述根据每个任务的任务定义信息中的任务依赖关系生成任务图,包括:
生成与各个任务分别对应的链接点;
遍历各链接点,并根据所述任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。
在其中一个实施例中,所述基于所述任务图对各个任务流分别进行有向无环图校验,包括:
遍历所述任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;
对所述任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。
在其中一个实施例中,所述根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,包括:
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验;
确定所述目标节点中执行时间存在冲突的节点,并判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。
在其中一个实施例中,执行时间存在冲突包括执行时间重合,所述基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验,包括:
对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;
对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
在其中一个实施例中,所述执行时间存在冲突包括执行时间间隔小于预设间隔,所述基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验,包括:
对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;
对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
第二方面,本申请还提供了一种任务排程检查装置。所述装置包括:
确定模块,用于确定作业流程中的多个任务,并确定每个任务的任务定义信息;
生成模块,用于根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
第一校验模块,用于基于所述任务图对各个任务流分别进行有向无环图校验;
添加模块,用于为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
第二校验模块,用于根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
基于所述任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
基于所述任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
基于所述任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
上述任务排程检查方法、装置、计算机设备、存储介质和计算机程序产品,首先通过确定作业流程中的多个任务以及每个任务的任务定义信息,并根据每个任务的任务定义信息中的任务依赖关系生成任务图,其次,基于任务图对各个任务流分别进行有向无环图校验,若任务流通过有向无环图校验,则为通过有向无环图校验的任务流的目标节点添加任务执行信息,任务执行信息包括执行任务所需的作业文件、以及任务执行时间,进而根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,最后根据冲突校验结果得到任务排程检查结果。这样,通过对各任务流的目标节点进行冲突校验能够有效防止执行任务时争抢资源,避免由此引起的任务相互等待、任务中断等情况,从而提高任务执行的效率。
附图说明
图1为一个实施例中任务排程检查方法的应用环境图;
图2为一个实施例中任务排程检查方法的流程示意图;
图3为一个实施例中作业流程图;
图4为一个实施例中的邻接矩阵的示意图;
图5为一个实施例中的邻接链表的示意图;
图6为一个实施例中冲突校验的流程示意图;
图7为另一个实施例中任务排程检查方法的流程示意图;
图8为一个实施例中任务排程检查装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请所使用的术语“包括”、“包含”、“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或装置的过程、方法、产品或设备不必限于已清楚地列出的步骤,而是还可以包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或装置。本申请所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,本申请所使用的术语“第一”、“第二”等是用于对类似的对象作出命名上的区分,但这些对象本身不受这些术语限制。应当理解,在不脱离本申请的范围的情况下,这些术语在适当的情况下可以互换。例如,可将“第一校验模块”描述为“第二校验模块”,且类似地,将“第二校验模块”描述为“第一校验模块”。
本申请实施例提供的任务排程检查方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。本申请可通过终端或服务器单独执行实施,也可通过终端和服务器协同执行实施。比如,工作人员通过终端102制定作业流程,并根据作业流程填写任务定义信息,终端102将工作流程和任务定义信息发送至服务器104,服务器104确定作业流程中的多个任务以及每个任务的任务定义信息,并根据每个任务的任务定义信息中的任务依赖关系生成任务图,进而基于任务图对各个任务流分别进行有向无环图校验,若任务流通过有向无环图校验,则通过终端102为通过有向无环图校验的任务流的目标节点添加任务执行信息,任务执行信息包括执行任务所需的作业文件、以及任务执行时间,进而根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,最后根据冲突校验结果得到任务排程检查结果。这样,通过对各任务流的目标节点进行冲突校验能够有效防止执行任务时争抢资源,避免由此引起的任务相互等待、任务中断等情况,从而提高任务执行的效率。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种任务排程检查方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,确定作业流程中的多个任务,并确定每个任务的任务定义信息。
其中,作业流程描述服务器执行任务的过程,作业流程由若干个任务以及各个任务之间的执行顺序构成。任务定义信息是用来描述任务定义以及任务依赖关系的信息,一般包括任务名称、任务的提交方式以及任务的前项。任务的提交方式包括自动和依赖。对于提交方式为依赖的任务,所依赖的对象任务就是该任务的前项。通过任务的提交方式和任务的前项可以确定任务依赖关系。
具体地,工作人员通过终端制定作业流程,并根据作业流程填写每个任务的任务定义信息,进而控制将制定完毕的作业流程发送至服务器。服务器接收到制作完毕的作业流程,确定作业流程中的多个任务以及每个任务的任务定义信息。例如图3所示的作业流程中包括4个任务:任务1、任务2、任务3和任务4,任务1完成后执行任务2和任务3,任务2和任务3完成后执行任务4。对应的,任务1、任务2、任务3和任务4的任务定义信息如表1所示:
表1任务定义信息
任务名称 | 提交方式 | 前项 |
1 | 1-自动 | 无 |
2 | 3-依赖 | 1 |
3 | 3-依赖 | 1 |
4 | 3-依赖 | 2、3 |
其中,任务1是任务2和任务3的前项,任务2和任务3依赖于任务1,任务2和任务3是任务4的前项,任务4依赖于任务2和任务3,任务2和任务3是并发的。
步骤204,根据每个任务的任务定义信息中的任务依赖关系生成任务图;任务图中包括多个任务流。
其中,任务图是用节点表示任务的数据结构,任务图中包括多个节点,每个节点表示一个任务,多个具有依赖关系的任务构成一个任务流。
具体地,服务器确定作业流程中的多个任务以及每个任务的任务定义信息之后,根据每个任务的任务定义信息中的任务依赖关系生成任务图。由于多个任务的前项可以相同,则任务图中可以包括多个任务流。需要说明的是,前项相同的任务是并发的。
步骤206,基于任务图对各个任务流分别进行有向无环图校验。
其中,有向无环图校验是校验任务图中的任务流是否成环。
具体地,服务器根据每个任务的任务定义信息中的任务依赖关系生成任务图之后,基于任务图对各个任务流分别进行有向无环图校验,以确定每个任务流是否成环。如果任务流不成环,则该任务流通过有向无环图校验。
在其中一个实施例中,基于任务图对各个任务流分别进行有向无环图校验,包括:遍历任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;对任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。
具体地,服务器生成任务图之后,遍历任务图中的各节点,并根据各节点对应的任务之间的依赖关系进行拓扑排序。需要说明的是,服务器可以采用广度优先的方式遍历任务图的各节点,也可以采用深度优先的方式遍历任务图的各节点,本申请实施例对此不作限定。进而服务器根据拓扑排序结果得到与各个任务流对应的任务执行链表,并对得到的任务执行链表进行是否成环校验,以确定各个任务流是否成环。若不成环则确定相应的任务流通过有向无环图校验。若成环,则向终端输出任务排程检查结果。
本实施例中,遍历任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;对任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。这样,可以对任务排程进行有向无环图的校验,避免各个任务之间根据依赖关系出现成环而无法生成执行计划的现象,从而提高了任务执行的效率。
步骤208,为通过有向无环图校验的任务流的目标节点添加任务执行信息;任务执行信息包括执行任务所需的作业文件、以及任务执行时间。
其中,目标节点是通过有向无环图校验的任务流中的任一个节点。
具体地,服务器通过对任务图进行校验,确定了通过有向无环图校验的任务流之后,通过终端可以为通过有向无环图校验的任务流的目标节点添加任务执行信息,所添加的任务执行信息包括执行目标节点对应的任务所需的作业文件以及该任务的执行时间。需要说明的是,执行任务所需的文件可以是文件、也可以是表;任务执行时间包括该任务的开始执行时间与执行结束时间。
例如,如表2所示,对表1中的任务1、任务2、任务3以及任务4添加开始执行时间、执行结束时间、执行任务所需的作业文件,以及对所需的作业文件进行的操作(读操作或写操作):
表2任务执行信息
步骤210,根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
其中,冲突规则是校验各个任务之间是否存在执行冲突的规则,通常预先配置在服务器中。
具体地,通过有向无环图检验的任务流的各个节点的任务执行信息添加完毕之后,服务器根据预先配置的冲突规则和任务执行信息,对各任务流中的目标节点进行校验,以确定各任务流中的每个节点在执行对应的任务时是否会存在冲突。校验的对象包括各任务流的目标节点的执行时间以及执行任务所需的作业文件。进而根据冲突校验的结果得到任务排程检查结果,任务排程检查结果中包括存在冲突的任务名称以及冲突规则集合。
在其中一个实施例中,根据如表3所示的预先配置的冲突规则对表2中所示的任务1、任务2、任务3、任务4进行冲突校验。可以发现,任务2和任务3均在0点20分01秒对文件2进行读操作,对文件3进行写操作,对表3进行写操作。根据该校验结果,可以向终端输出表4所示的任务排程检查结果,即,对任务2而言,由于任务3与任务2存在执行时间重合,根据冲突规则2和冲突规则3,可以确定任务3与任务2冲突;对任务3而言,由于任务2与任务3存在执行时间重合,根据冲突规则2和冲突规则3,可以确定任务2与任务3冲突。
表3冲突规则
表4任务排程检查结果
任务名称 | 2 | 冲突任务名称 | 3 | 冲突规则集合 | 规则2、规则3 |
任务名称 | 3 | 冲突任务名称 | 2 | 冲突规则集合 | 规则2、规则3 |
上述任务排程方法中,首先通过确定作业流程中的多个任务以及每个任务的任务定义信息,并根据每个任务的任务定义信息中的任务依赖关系生成任务图,其次,基于任务图对各个任务流分别进行有向无环图校验,若任务流通过有向无环图校验,则为通过有向无环图校验的任务流的目标节点添加任务执行信息,任务执行信息包括执行任务所需的作业文件、以及任务执行时间,进而根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,最后根据冲突校验结果得到任务排程检查结果。这样,通过对各任务流的目标节点进行冲突校验能够有效防止执行任务时争抢资源,避免由此引起的任务相互等待、任务中断等情况,从而提高任务执行的效率。
在其中一个实施例中,任务图包括邻接矩阵,根据每个任务的任务定义信息中的任务依赖关系生成任务图,包括:基于多个任务的数量构建初始矩阵,初始矩阵的每一行对应一个任务,初始矩阵的每一列对应一个任务;对于初始矩阵中的当前元素,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值;当前元素为初始矩阵中的任一个元素;根据各个元素的值,得到邻接矩阵。
其中,邻接矩阵是一种通过矩阵表示任务之间依赖关系的数据结构,邻接矩阵底层为二维数据。
具体地,服务器确定作业流程中的多个任务以及每个任务的任务定义信息之后,基于多个任务的数量构建一个初始矩阵,初始矩阵的每一行对应一个任务,初始矩阵的每一列对应一个任务。例如,对于图3中所述的作业流程,可以基于4个任务构建一个4×4的初始矩阵,4行分别对应任务1、任务2、任务3和任务4,4列分别对应任务1、任务2、任务3和任务4。对于初始矩阵中的当前元素,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值。例如对于第1行第2列的元素,所在行对应的任务为任务1,所在列对应的任务为任务2,根据任务1和任务2的任务定义信息中的任务依赖关系,若任务2依赖于任务1,则第1行第2列的元素可以确定为1,若任务2和任务1之间没有依赖关系,则第1行第2列的元素可以确定为0。需要说明的是,当前元素可以是初始矩阵中的任一个元素,这样,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,就可以确定初始矩阵中各个元素的值,进而得到如图4所示的邻接矩阵的示意图。
本实施例中,基于多个任务的数量构建初始矩阵,初始矩阵的每一行对应一个任务,初始矩阵的每一列对应一个任务,对于初始矩阵中的当前元素,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值,当前元素为初始矩阵中的任一个元素,进而根据各个元素的值,得到邻接矩阵。这样,以邻接矩阵的方式表示任务图,可以方便地对任务图进行有向无环图的校验,提高任务排程检查的效率,从而提高任务执行的效率。
在其中一个实施例中,任务图还包括邻接链表,根据每个任务的任务定义信息中的任务依赖关系生成任务图,包括:生成与各个任务分别对应的链接点;遍历各链接点,并根据任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。
其中,邻接链表是一种通过链表的方式表示任务依赖关系的数据结构。
具体地,服务器确定作业流程中的多个任务以及每个任务的任务定义信息之后,生成与各个任务分别对应的链接点。遍历各链接点,根据各链接点对应的任务的任务定义信息中的任务依赖关系,确定当前链接点的前项任务对应的链接点,进而在对应前项的链接点上增加链接关系,当前链接点可以是任一个与各个任务分别对应的链接点。通过对具有依赖关系的任务所对应的链接点之间增加链接关系,就能得到邻接链表。例如,对于图3中所述的作业流程,服务器可以生成与任务1、任务2、任务4以及任务4分别对应的链接点1、链接点2、链接点3以及链接点4。遍历链接点1、链接点2、链接点3以及链接点4,若链接点2依赖于链接点1,则在链接点1上增加与链接2的链接关系;若链接点3也依赖于链接点1,则在链接点1上增加与链接3的链接关系,直至链接点1、链接点2、链接点3以及链接点4遍历完毕,得到如图5所示的邻接链表的示意图。
本实施例中,生成与各个任务分别对应的链接点;遍历各链接点,并根据任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。这样,以邻接链表的方式表示任务图,可以方便地对任务图进行有向无环图的校验,提高任务排程检查的效率,从而提高任务执行的效率。
在其中一个实施例中,如图6所示,根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,包括:
步骤602,根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验。
具体地,服务器根据预先配置的冲突规则和任务执行信息,对各任务流中的目标节点进行校验时,首先确定各任务流的目标节点的执行时间,对各任务流的目标节点的执行时间进行校验,以判断在各任务流中,是否存在执行时间相冲突的节点。
步骤604,确定目标节点中执行时间存在冲突的节点,并判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。
具体地,当服务器对各任务流的目标节点的执行时间进行时间冲突校验,并确定存在执行时间冲突的节点之后,对于执行时间存在冲突的节点,需要进一步确定存在执行时间冲突的节点执行任务时所需的作业文件是否相同,若存在执行时间冲突的节点执行任务时所需的作业文件相同,则对每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。需要说明的是,存在执行时间冲突的节点,可能是各任务流中的任两个目标节点,也可能是大于两个的目标节点。
本实施例中,根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间先进行时间冲突校验,确定目标节点中执行时间存在冲突的节点之后,判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。这样,只需对于存在执行时间冲突且执行任务所需的作业文件相同的节点进行资源冲突校验,而对于不存在执行时间冲突的节点,以及即使存在执行时间冲突但执行任务所需的作业文件不同的节点,则无需进行资源冲突校验,可以进一步地提高任务排程检查的效率,从而提高任务执行的效率。
在其中一个实施例中,执行时间存在冲突包括执行时间重合,基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验,包括:对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
其中,执行时间重合是一个目标节点的开始执行时间与另一目标节点的执行结束时间存在重合。
具体地,服务器根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验时,若发现一个目标节点的开始执行时间与另一目标节点的执行结束时间存在重合,则可以确定这两个目标节点的执行时间重合,存在执行时间冲突。需要说明的是,两个目标节点的执行时间重合只是用于解释执行时间重合所用的泛指,实际上,也可能存在多个目标节点的执行时间重合。
进而,服务器对执行时间重合并且执行任务所需的作业文件相同的目标节点进行资源冲突校验。若将执行时间重合的目标节点执行任务所需的相同的作业文件称为目标作业文件,则服务器所进行的资源冲突校验,包括对执行时间重合的目标节点执行任务时对目标作业文件的操作情况进行校验。每个目标节点在执行对应的任务时,可以对目标作业文件进行读操作,也可以对目标作业文件进行写操作。若存在同时对目标作业文件进行写操作,则确定目标节点存在资源冲突;若一个目标节点在执行对应的任务时对目标作业文件进行写操作,同时另一个目标节点在执行对应的任务时对目标作业文件进行读操作,也确定相应的目标节点存在资源冲突。
本实施例中,执行时间存在冲突包括执行时间重合,对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。这样,可以检查出存在执行时间重合的目标节点的资源冲突情况,进而提前发现多个任务流之间可能存在冲突,避免了可能由此引起的任务相互等待、任务中断等情况,从而提高任务执行的效率。
在其中一个实施例中,执行时间存在冲突包括执行时间间隔小于预设间隔,基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验,包括:对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
其中,执行时间间隔指一个目标节点的开始执行时间,与另一目标节点的执行结束时间之间的时间间隔。
具体地,服务器根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验时,若发现一个目标节点的开始执行时间,与另一目标节点的执行结束时间之间的时间间隔小于预设间隔,则可以确定这两个目标节点的执行时间间隔小于预设间隔,存在执行时间冲突。需要说明的是,两个目标节点的执行时间间隔小于预设间隔只是用于解释执行时间间隔小于预设间隔所用的泛指,实际上,也可能存在多个目标节点的执行时间间隔小于预设间隔。
进而,服务器对执行时间间隔小于预设间隔并且执行任务所需的作业文件相同的目标节点进行资源冲突校验。若将执行时间间隔小于预设间隔的目标节点执行任务所需的相同的作业文件称为目标作业文件,则服务器所进行的资源冲突校验,包括对执行时间间隔小于预设间隔的目标节点执行任务时对目标作业文件的操作情况进行校验。若执行结束时间在前的目标节点执行任务时对目标作业文件进行写操作,执行时间间隔小于预设间隔的后开始执行的目标节点,执行任务时对目标作业文件也进行写操作,则确定目标节点存在资源冲突;若执行结束时间在前的目标节点执行任务时对目标作业文件进行写操作,执行时间间隔小于预设间隔的后开始执行的目标节点,执行任务时对目标作业文件进行读操作,也确定相应的目标节点存在资源冲突。
本实施例中,执行时间存在冲突包括执行时间间隔小于预设间隔,对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。这样,可以检查出执行时间间隔小于预设间隔的目标节点的资源冲突情况,进而提前发现多个任务流之间可能存在冲突,避免了可能由此引起的任务相互等待、任务中断等情况,从而提高任务执行的效率。
下面参考图7,再以一个具体的实施例来详细说明本申请的任务排程检查方法:
工作人员通过终端制定作业流程,并根据作业流程填写每个任务的任务定义信息。任务定义信息中一般包括任务名称、任务的提交方式以及任务的前项。进而终端将制定完毕的作业流程发送至服务器。
服务器接收到制作完毕的作业流程,确定作业流程中的多个任务以及每个任务的任务定义信息之后,根据每个任务的任务定义信息中的任务依赖关系生成任务图,任务图中包括多个任务流。
生成的任务图可以用邻接矩阵表示,例如,对于包括4个任务的作业流程,其中,任务2和任务3依赖于任务1,任务4依赖于任务2和任务3,则服务器会先构建一个4×4的初始矩阵,4行分别对应任务1、任务2、任务3和任务4,4列分别对应任务1、任务2、任务3和任务4。对于第1行第2列的元素,由于任务2依赖于任务1,则第1行第2列的元素可以确定为1。对初始矩阵中的每个元素,都根据所在行对应的任务、以及所在列对应的任务之间的任务依赖关系确定对应的值,有依赖关系确定为1,没有依赖关系确定为0,这样就得到了这4个任务之间的邻接矩阵。
当任务数量较少时,生成的邻接矩阵将存储大量的0,浪费存储空间,这时候可以选择使用邻接链表表示任务图。使用邻接链表可以更好地查询连通性,其原理是用空间换时间。同样以上述包括4个任务的作业流程为例,对于每个任务,服务器生成对应的链接点,任务1对应链接点1、任务2对应链接点2、任务3对应链接点3、任务4对应链接点4,由于任务2和任务3依赖于任务1,则在链接点1后增加与链接点2和链接点3的链接关系,由于任务4依赖于任务2和任务3,则在链接点2和链接点3后增加与链接点4的链接关系,所有的链接点遍历一次后,生成完整邻接链表。
任务图生成之后,采用广度优先或者深度优先的方式遍历任务图,并根据任务之间的依赖关系进行拓扑排序,得到任务执行链表,对任务执行链表进行有向无环图的校验。如果存在成环的情况,访问的节点要做记录,同时可用辅助队列存放待访问的邻接节点。如果不成环,则为通过有向无环图校验的任务流的目标节点添加任务执行信息,任务执行信息包括执行任务所需的作业文件、以及任务执行时间。
进而服务器逐个目标节点按照配置的冲突规则进行遍历校验。配置的冲突规则有:
规则1:开始执行时间与执行结束时间区间重合的目标节点,不能存在读文件与写文件重复;
规则2:开始执行时间与执行结束时间区间重合的目标节点,不能存在写文件与写文件重复;
规则3:开始执行时间与执行结束时间区间重合的目标节点,不能存在写表与写表重复;
规则4:开始执行时间与执行结束时间区间间隔5分钟内的目标节点,不能存在读文件与写文件重复;
规则5:开始执行时间与执行结束时间区间间隔5分钟内的目标节点,不能存在写文件与写文件重复;
规则6:开始执行时间与执行结束时间区间间隔5分钟内的目标节点,不能存在写表与写表重复。
按照上述冲突规则,服务器首先对各任务流的目标节点的执行时间进行时间冲突校验,校验各任务流的目标节点的开始执行时间与执行结束时间区间是否重合,或者开始执行时间与执行结束时间区间间隔是否在5分钟内,若是,则校验存在执行时间冲突的目标节点执行任务时是否需要相同的作业文件,作业文件可以是文件也可以是表,若是,则校验存在执行时间冲突的目标节点执行任务时对所需的作业文件执行的是写操作还是读操作,若均是写操作,则存在资源冲突,若一个目标节点为写操作、另一目标节点为读操作,也存在资源冲突。最后,服务器根据上述冲突校验结果得到任务排程检查结果,任务排程检查结果中包含存在冲突的作业名称、以及冲突规则集合。
上述任务排程检查方法中,首先通过确定作业流程中的多个任务以及每个任务的任务定义信息,并根据每个任务的任务定义信息中的任务依赖关系生成任务图,其次,基于任务图对各个任务流分别进行有向无环图校验,若任务流通过有向无环图校验,则为通过有向无环图校验的任务流的目标节点添加任务执行信息,任务执行信息包括执行任务所需的作业文件、以及任务执行时间,进而根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,最后根据冲突校验结果得到任务排程检查结果。这样,当需要新增或修改任务时,通过有向无环图校验,以及校验多个任务流在时间序列的冲突,能够实现分布式任务准入检查和冲突预防。如果多个任务流在生产上已经运行,通过修改冲突规则的预设间隔时间,可以提前发现随着生产任务执行时间变化,多个任务流之间可能存在的冲突。从而能够有效防止执行任务时争抢资源,避免由此引起的任务相互等待、任务中断等情况,提高任务执行的效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,在一个实施例中,如图8所示,本申请实施例还提供了一种任务排程检查装置800,包括:确定模块801、生成模块802、第一校验模块803、添加模块804以及第二校验模块805,其中:
确定模块,用于确定作业流程中的多个任务,并确定每个任务的任务定义信息;
生成模块,用于根据每个任务的任务定义信息中的任务依赖关系生成任务图;任务图中包括多个任务流;
第一校验模块,用于基于任务图对各个任务流分别进行有向无环图校验;
添加模块,用于为通过有向无环图校验的任务流的目标节点添加任务执行信息;任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
第二校验模块,用于根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
在其中一个实施例中,任务图包括邻接矩阵,生成模块还用于基于多个任务的数量构建初始矩阵,初始矩阵的每一行对应一个任务,初始矩阵的每一列对应一个任务;对于初始矩阵中的当前元素,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值;当前元素为初始矩阵中的任一个元素;根据各个元素的值,得到邻接矩阵。
在其中一个实施例中,任务图包括邻接链表,生成模块还用于生成与各个任务分别对应的链接点;遍历各链接点,并根据任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。
在其中一个实施例中,第一校验模块还用于遍历任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;对任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。
在其中一个实施例中,第二校验模块还用于根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验;确定目标节点中执行时间存在冲突的节点,并判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。
在其中一个实施例中,执行时间存在冲突包括执行时间重合,第二校验模块还用于对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
在其中一个实施例中,执行时间存在冲突包括执行时间间隔小于预设间隔,第二校验模块还用于对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
上述任务排程检查装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种任务排程检查方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;任务图中包括多个任务流;
基于任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
在一个实施例中,任务图包括邻接矩阵,处理器执行计算机程序时还实现以下步骤:基于多个任务的数量构建初始矩阵,初始矩阵的每一行对应一个任务,初始矩阵的每一列对应一个任务;对于初始矩阵中的当前元素,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值;当前元素为初始矩阵中的任一个元素;根据各个元素的值,得到邻接矩阵。
在一个实施例中,任务图包括邻接链表,处理器执行计算机程序时还实现以下步骤:生成与各个任务分别对应的链接点;遍历各链接点,并根据任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:遍历任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;对任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验;确定目标节点中执行时间存在冲突的节点,并判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。
在一个实施例中,执行时间存在冲突包括执行时间重合,处理器执行计算机程序时还实现以下步骤:对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
在一个实施例中,执行时间存在冲突包括执行时间间隔小于预设间隔,处理器执行计算机程序时还实现以下步骤:对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;任务图中包括多个任务流;
基于任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
在一个实施例中,任务图包括邻接矩阵,计算机程序被处理器执行时还实现以下步骤:基于多个任务的数量构建初始矩阵,初始矩阵的每一行对应一个任务,初始矩阵的每一列对应一个任务;对于初始矩阵中的当前元素,根据当前元素所在行对应的任务、以及当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值;当前元素为初始矩阵中的任一个元素;根据各个元素的值,得到邻接矩阵。
在一个实施例中,任务图包括邻接链表,计算机程序被处理器执行时还实现以下步骤:生成与各个任务分别对应的链接点;遍历各链接点,并根据任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:遍历任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;对任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据预先配置的冲突规则和任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验;确定目标节点中执行时间存在冲突的节点,并判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。
在一个实施例中,执行时间存在冲突包括执行时间重合,计算机程序被处理器执行时还实现以下步骤:对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
在一个实施例中,执行时间存在冲突包括执行时间间隔小于预设间隔,计算机程序被处理器执行时还实现以下步骤:对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种任务排程检查方法,其特征在于,所述方法包括:
确定作业流程中的多个任务,并确定每个任务的任务定义信息;
根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
基于所述任务图对各个任务流分别进行有向无环图校验;
为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
2.根据权利要求1所述的方法,其特征在于,所述任务图包括邻接矩阵,所述根据每个任务的任务定义信息中的任务依赖关系生成任务图,包括:
基于所述多个任务的数量构建初始矩阵,所述初始矩阵的每一行对应一个任务,所述初始矩阵的每一列对应一个任务;
对于所述初始矩阵中的当前元素,根据所述当前元素所在行对应的任务、以及所述当前元素所在列对应的任务之间的任务依赖关系,确定当前元素的值;所述当前元素为所述初始矩阵中的任一个元素;
根据各个元素的值,得到邻接矩阵。
3.根据权利要求1所述的方法,其特征在于,所述任务图包括邻接链表,所述根据每个任务的任务定义信息中的任务依赖关系生成任务图,包括:
生成与各个任务分别对应的链接点;
遍历各链接点,并根据所述任务定义信息中的任务依赖关系,对具有依赖关系的任务所对应的链接点之间增加链接关系,得到邻接链表。
4.根据权利要求1所述的方法,其特征在于,所述基于所述任务图对各个任务流分别进行有向无环图校验,包括:
遍历所述任务图中的各节点并进行拓扑排序,得到与各个任务流对应的任务执行链表;
对所述任务执行链表进行是否成环校验,若不成环则确定相应的任务流通过有向无环图校验。
5.根据权利要求1所述的方法,其特征在于,所述根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,包括:
根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点的执行时间进行时间冲突校验;
确定所述目标节点中执行时间存在冲突的节点,并判断每个执行时间存在冲突的节点所需的作业文件是否相同,若相同则基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验。
6.根据权利要求5所述的方法,其特征在于,执行时间存在冲突包括执行时间重合,所述基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验,包括:
对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;
对于执行时间重合的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
7.根据权利要求5所述的方法,其特征在于,所述执行时间存在冲突包括执行时间间隔小于预设间隔,所述基于每个执行时间存在冲突的节点所需的作用文件进行资源冲突校验,包括:
对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作,则确定存在资源冲突;
对于执行时间间隔小于预设间隔的节点所需的相同的作业文件,若同时存在写操作和读操作,则确定存在资源冲突。
8.一种任务排程检查装置,其特征在于,所述装置包括:
确定模块,用于确定作业流程中的多个任务,并确定每个任务的任务定义信息;
生成模块,用于根据每个任务的任务定义信息中的任务依赖关系生成任务图;所述任务图中包括多个任务流;
第一校验模块,用于基于所述任务图对各个任务流分别进行有向无环图校验;
添加模块,用于为通过有向无环图校验的任务流的目标节点添加任务执行信息;所述任务执行信息包括执行任务所需的作业文件、以及任务执行时间;
第二校验模块,用于根据预先配置的冲突规则和所述任务执行信息,对各任务流的目标节点进行冲突校验,并根据冲突校验结果得到任务排程检查结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211499199.8A CN115858213A (zh) | 2022-11-28 | 2022-11-28 | 任务排程检查方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211499199.8A CN115858213A (zh) | 2022-11-28 | 2022-11-28 | 任务排程检查方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858213A true CN115858213A (zh) | 2023-03-28 |
Family
ID=85667047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211499199.8A Pending CN115858213A (zh) | 2022-11-28 | 2022-11-28 | 任务排程检查方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858213A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542413A (zh) * | 2023-04-28 | 2023-08-04 | 北京大数据先进技术研究院 | 基于时间坐标的任务处理方法、装置、设备及存储介质 |
CN116627958A (zh) * | 2023-07-21 | 2023-08-22 | 中邮消费金融有限公司 | 大数据质量校验方法、装置、设备及存储介质 |
-
2022
- 2022-11-28 CN CN202211499199.8A patent/CN115858213A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542413A (zh) * | 2023-04-28 | 2023-08-04 | 北京大数据先进技术研究院 | 基于时间坐标的任务处理方法、装置、设备及存储介质 |
CN116542413B (zh) * | 2023-04-28 | 2024-04-16 | 北京大数据先进技术研究院 | 基于时间坐标的任务处理方法、装置、设备及存储介质 |
CN116627958A (zh) * | 2023-07-21 | 2023-08-22 | 中邮消费金融有限公司 | 大数据质量校验方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115858213A (zh) | 任务排程检查方法、装置、计算机设备和存储介质 | |
CN104834599B (zh) | Web安全检测方法和装置 | |
US10599652B2 (en) | Database query time estimator | |
CN117573911A (zh) | 物理架构视图的自动布局方法、装置、设备和存储介质 | |
CN116882161A (zh) | 基于状态的系统可靠性评估模型构建方法及仿真评估方法 | |
CN116401238A (zh) | 偏离度监测方法、装置、设备、存储介质和程序产品 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
KR20220115859A (ko) | 프로세스의 에지 테이블 표현 | |
CN113094052A (zh) | 应用构建方法、装置、计算机设备和存储介质 | |
US20230057746A1 (en) | User constrained process mining | |
US20230054774A1 (en) | User constrained process mining | |
CN117290741B (zh) | 车辆聚类方法、装置、计算机设备和存储介质 | |
CN117312405A (zh) | 用户异常等级确定方法、装置、计算机设备、介质和产品 | |
CN117522296A (zh) | 审核流程生成方法、装置、计算机设备和存储介质 | |
CN117873547A (zh) | 数据研发的管理方法、装置、计算机设备和存储介质 | |
CN118642875A (zh) | 异常定位方法、装置、计算机设备、存储介质及产品 | |
CN117376114A (zh) | 参数配置方法、装置、计算机设备和存储介质 | |
CN116226145A (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
CN114676675A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN116910038A (zh) | 信息分析方法、装置、计算机设备和计算机程序产品 | |
CN115268717A (zh) | 点巡检管理系统中新增测量点方法、装置和计算机设备 | |
CN115061791A (zh) | 任务函数处理方法、装置、设备、存储介质和程序产品 | |
CN116881116A (zh) | 接口测试方法、装置、计算机设备、存储介质和程序产品 | |
CN116149750A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN117519543A (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 |