CN111581449A - 一种任务节点的执行方法、装置、计算机设备和介质 - Google Patents
一种任务节点的执行方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN111581449A CN111581449A CN202010420706.9A CN202010420706A CN111581449A CN 111581449 A CN111581449 A CN 111581449A CN 202010420706 A CN202010420706 A CN 202010420706A CN 111581449 A CN111581449 A CN 111581449A
- Authority
- CN
- China
- Prior art keywords
- node
- execution
- target node
- target
- executed
- 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
Images
Classifications
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种任务节点的执行方法、装置、计算机设备和介质,所述方法包括:对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,第一目标节点的所有父节点执行情况是根据所述第一目标节点的已执行次数和所述第一目标节点所对应的每个父节点的已执行次数确定的;若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点。本申请中,在第一目标节点所对应的所有父节点的执行情况均符合预设执行次数要求的情况下,才会执行第一目标节点,减少了第一目标节点的生成的脏数据的可能性。
Description
技术领域
本申请涉及大数据领域,具体而言,涉及一种任务节点的执行方法、装置、计算机设备和介质。
背景技术
随着科学技术的飞速发展,信息流通也越来越快,越来越多,每天各行各业都会生成大量的数据,这些数据可以是用户的消费数据、用户的登记数据、用户的行驶轨迹数据等,技术人员通过不同的角度对上述的数据进行挖掘,又可以获得更多的有价值的信息。
目前,一般是通过有向无环图(如DAG图)建立节点群组,以完成对数据进行处理,有向无环图是通过多个节点组成的,每个节点有固定的执行时间,因此,一般来说,在执行有向无环图的过程中,只要到达节点的执行时间,该节点就会自动被执行。
发明内容
有鉴于此,本申请的目的在于提供一种任务节点的执行方法、装置、计算机设备和介质,用于解决现有技术中如何减少任务节点生成脏数据的问题。
第一方面,本申请实施例提供了一种任务节点的执行方法,包括:
对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;
判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,目标节点的所有父节点执行情况是根据所述目标节点的已执行次数和所述目标节点所对应的每个父节点的已执行次数确定的;
若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点。
可选的,步骤若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点,包括:
若所述第一目标节点的执行次数与所述第一目标节点所对应的每个父节点的已执行次数的差值符合所述预设要求,则执行所述第一目标节点。
可选的,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点,包括:
若所述第一目标节点的目标执行次数与所述第一目标节点所对应的每个父节点的已执行次数的比值符合预设要求,则执行所述第一目标节点;所述目标执行次数是该第一目标节点的已执行次数与该第一目标节点的本次执行次数之和。
可选的,判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,包括:
判断所述第一目标节点的执行标识是否为可执行状态;所述执行标识的执行状态是根据所述第一目标节点的已执行次数和所述第一目标节点所对应的每个父节点的已执行次数确定的;
所述方法还包括:
在第二目标节点执行完毕后,判断第一目标节点的所有父节点是否均已执行完毕,若是,则将第一目标节点的执行状态调整为可执行状态;所述第二目标节点是第一目标节点的一个父节点。
可选的,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点,包括:
若当前第一目标节点的父节点执行情况符合预设执行次数要求,则执行所述当前第一目标节点,并保存当前第一目标节点的执行结果,以及调取下一个待执行的第一目标节点作为当前第一目标节点进行执行,直至所有的第一目标节点均被执行完毕。节点执行完成后会执行下一个节点,保存执行完成的节点所生成的数据。
可选的,对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点,包括:
对所述数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间与当前时间的差值在预设数值区间内的节点作为所述第一目标节点。
可选的,所述方法还包括:
若所述第一目标节点的所有父节点执行情况不符合预设执行次数要求,则暂停执行所述第一目标节点,直至所述第一目标节点的所有父节点执行情况均符合预设执行次数要求。
可选的,所述数据任务是根据以下步骤生成的:
获取目标数据任务的处理请求;其中,所述处理请求中携带有所述目标数据任务的任务信息;
根据所述任务信息,分别为每个子节点确定对应的父节点;
根据每个子节点所对应的父节点,生成所述数据任务。
第二方面,本申请实施例提供了一种任务节点的执行装置,包括:
遍历模块,用于对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;
判断模块,用于判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,所述第一目标节点的所有父节点执行情况是根据所述第一目标节点的已执行次数和所述第一目标节点所对应的每个父节点的已执行次数确定的;
确定模块,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则用于执行所述第一目标节点。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
本申请实施例提出的一种任务节点的执行方法,首先,对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;然后,判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,目标节点的所有父节点执行情况是根据所述目标节点的已执行次数和所述目标节点所对应的每个父节点的已执行次数确定的;最后,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点。
在某种实施方式下,本申请所提供的方法,在执行第一目标节点之前,需要对第一目标节点所对应的父节点的执行情况进行判断,只有在第一目标节点所对应的所有父节点的执行情况均符合预设执行次数要求的情况下,才会执行第一目标节点,减少了第一目标节点在执行时使用父节点的无效数据,进而减少了第一目标节点的生成的脏数据的可能性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的第一种有向无环图的结构示意图;
图2为本申请实施例提供的一种任务节点的执行方法的流程示意图;
图3为本申请实施例提供的第二种有向无环图的结构示意图;
图4为本申请实施例提供的第三种有向无环图的结构示意图;
图5为本申请实施例提供的第四种有向无环图的结构示意图;
图6为本申请实施例提供的一种任务节点的执行装置的结构示意图;
图7为本申请实施例提供的一种计算机设备的结构示意图;
图8为本申请实施例提供的第五种有向无环图的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,当利用有向无环图处理大数据的时候,在有向无环图中的任意一个节点在执行的时候,需要利用与该节点存在父子关系的父节点所输出的数据进行计算,但是,有时候父节点与子节点的执行时间不是顺次的,这样会导致在子节点执行时,该父节点还没有执行完成,该子节点所用到的数据是父节点之前所生成的数据,并不是最新数据,进而,子节点根据上述数据进行计算后得到的是一个脏数据(脏数据指的是非正确的数据),降低了数据生成的准确性。
一般,在通过有向无环图处理数据的过程中,任务节点的执行过程包括以下几个步骤:
步骤1,对数据任务中的节点进行遍历,在全部节点中查找出执行时间符合预设要求的目标节点(一般将执行时间与系统当前时间相同的节点作为目标节点);
步骤2,执行找到的目标节点。
在上述任务节点的执行方法中,数据任务是根据用户所设置的作业内容生成的,数据任务可以是由多个节点组成的有向无环图,节点可以是一个独立的计算单元,在执行数据任务的过程中,只要当前时间到达目标节点的执行时间,该目标节点就会立即执行。但是通过上述任务节点的执行方法,在执行数据任务中的目标节点时,父节点的执行时间与目标节点的执行时间是不同的,目标节点需要基于目标节点的父节点所生成的数据进行计算,此时,如果在到达目标节点的执行时间,而父节点的在当前时间还未执行完成,那么目标节点进行计算时所用到的数据是父节点之前所生成的数据(并不是目标节点当前所需要的数据),这样目标节点计算得到的数据也就成为了脏数据,降低了任务生成数据的准确性。
本申请提供了如下示例,进一步的阐述了脏数据的产生,如图1所示,在数据任务中包括三个节点,其中,节点a和节点b是节点c的父节点,节点a和节点b的执行时间是凌晨2点,且节点a和节点b的执行周期为5个小时,根据节点a和节点b的开始执行时间和执行周期可以确定出节点a和节点b的执行结束时间是早上7点,而节点c的开始执行时间是凌晨6点,当节点c开始执行时,节点a和节点b还未执行完成,则节点c所用到的数据就可能是节点a和节点b上一执行周期所生成的数据,这样节点c所生成的数据就是脏数据。执行周期是节点循环执行时所对应的时间段。
基于上述原因,本申请实施例提供了一种任务节点的执行方法,如图2所示,包括以下步骤:
步骤S101,对数据任务的节点进行遍历,从数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;
步骤S102,判断第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,第一目标节点的所有父节点执行情况是根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数确定的;
步骤S103,若第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行第一目标节点。
在上述步骤S101中,数据任务可以是通过有向无环图(DAG图)所表征,具体的,数据任务可以是根据用户所输入的处理请求生成的,处理请求中携带有数据任务的任务信息,其中,任务信息可以包括以下信息中的任意一种或多种:数据任务的处理时刻、数据任务的节点、每个节点之间的依赖关系等,数据任务的处理时刻可以是数据任务的开始进行计算的时刻,例如,数据任务的处理时刻是每天的凌晨1点。
数据任务的节点可以是完成数据任务计算的过程中所需要用到的参数的计算单元,一个数据任务可以包括至少一个计算单元,如图3所示,数据任务包括5个计算单元,因此,在数据任务中共有5个节点。比如,数据任务是统计一天内两个小区的登记人口,其中,两个小区分别为小区A和小区B,小区A对应计算单元A1,小区B对应计算单元B1,且计算单元A1和计算单元B1均是统计对应小区当天的登记人口总数,计算单元C1是用来计算单元计算单元A1和计算单元B1之和,计算单元C1所计算得到的数据就是小区A和小区B在一天内的登记人口总数。计算单元A1、计算单元B1和计算单元C1就是数据任务的节点。
每个节点之间的依赖关系是根据节点的执行顺序以及节点数据之间的引用关系确定的。比如,父节点和子节点之间就存在依赖关系,父节点是在子节点执行之前执行的,且子节点在执行过程中所应用的数据是从父节点中获取到的。
执行时间可以是数据任务中每个节点开始执行的开始时刻,执行时间可以是人为预先设置好的,比如,节点C被设置在中午12点开始执行,则节点C的执行时间就是中午12点。执行时间符合预设要求的节点可以是认为预先设置好的,具体的,执行时间在当前时间之后,且与当前时间存在预设时间间隔的节点(比如,1秒、2秒等),或者是执行时间与当前时间一致的节点。
在具体实现时,在一个数据任务中会有多个节点,如何在多个节点中确定当前需要具体执行哪一个节点,则需要对数据任务中的节点进行遍历,通过遍历的方式可以全面并快速的在多个节点中找到需要具体被执行的节点,在遍历过程中,可以通过每个节点的执行时间与当前时刻的差值来确定第一目标节点,只有确定出第一目标节点之后才能执行后续步骤S102和步骤S103。
在上述步骤S102中,在数据任务中两个相关联的节点之间存在依赖关系,具有依赖关系的两个节点中,处于上一级的是父节点,处于下一级的是子节点,因此,在数据任务中的节点可以有多个父节点,以及可以有多个子节点。而本申请中所提到的第一目标节点是属于数据任务中即将要被执行的节点,根据上述内容可知该第一目标节点可以存在至少一个父节点,也可以存在至少一个子节点,与第一目标节点存在关联关系且处于第一目标节点上一级的节点就是第一目标节点对应的父节点,第一目标节点也就是第一目标节点对应的父节点的子节点,具体的,第一目标节点可以从父节点中获取计算时所需要用到的数据。与第一目标节点存在关联关系且处于第一目标节点下一级的节点就是第一目标节点对应的子节点,第一目标节点也就是第一目标节点对应的子节点的父节点,具体的,第一目标节点所生成的数据可以传输给第一目标节点所对应的子节点,以便第一目标节点对应的子节点进行数据计算。不管是第一目标节点的父节点还是第一目标节点的子节点均是DAG图中的节点。第一目标节点的所有父节点执行情况是根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数确定的,其中,第一目标节点的已执行次数可以是第一目标节点在第一次被执行的时刻与当前时刻之间的时间段内被执行的总数,每个父节点的已执行次数可以是针对每一个父节点在第一次被执行的时刻与当前时刻之间的时间段内被执行的总数。预设执行次数要求可以预先设置好的。
在具体实现时,在找到第一目标节点后,第一目标节点并不是无条件的就会被执行的,如果第一目标节点只要到执行时间就立即被执行,那么第一目标节点有可能会引用到父节点的无效数据,这样,第一目标节点利用无效数据所计算得到的结果就会成为脏数据,父节点的无效数据可以是当前执行周期的上一个执行周期的计算结果。因此,在第一目标节点被执行之前,需要将与该第一目标节点相关联的所有父节点的执行次数和预设执行次数要求进行对比。父节点的执行次数会随着实际的执行情况逐渐的增加,仅通过父节点的执行次数与预设执行次数要求进行比较,可能会没有可比性,因此,可以利用目标节点的执行次数与父节点的执行次数共同与预设执行次数要求进行对比。
在上述步骤S103中,当第一目标节点的所有父节点的执行情况都符合预设执行次数要求时,该第一目标节点会被执行。由于第一目标节点在执行过程中会引用到与该第一目标节点相关联的父节点所生成的数据,因此,如果第一目标节点的所有父节点中存在至少一个父节点的执行情况不符合预设执行次数的话,该第一目标节点也不会被执行。这样可以让第一目标节点在执行过程中所引用的数据都是准确的,进而,可以提高第一目标节点在执行后得到的数据也是准确的。
当然在数据任务的所有的节点中,并不是所有的节点都是存在相对应的父节点的,当通过步骤S101找到第一目标节点后,且确认出该第一目标节点并没有父节点时,就不需要判断该第一目标节点的父节点的执行情况了,因此,在该第一目标节点到达执行时间时就会立刻被执行。
本申请的实施例中,通过上述三个步骤,为了降低第一目标节点生成脏数据的可能性,就需要提高第一目标节点所引用的父节点的数据的准确性。因此,在执行第一目标节点之前,需要对第一目标节点所对应的父节点的执行情况进行判断,只有在第一目标节点所对应的所有父节点的执行情况均符合预设执行次数要求的情况下,才会执行第一目标节点,减少了第一目标节点在执行时使用父节点的无效数据,进而减少了第一目标节点的生成的脏数据的可能性。
一个节点是否可以被执行可以根据执行时间来确定,但是仅仅靠执行时间来确定的话容易获取到父节点的无效数据,进而生成脏数据,因此,需要减少获取到父节点的无效数据,这样,就需要靠该节点的父节点的执行次数来判断该节点是否能够被执行,通过对父节点执行次数的验证,可以确定出该节点的父节点的执行结果是最新的结果,减少了该节点获取到无效数据的可能性。在判断第一目标节点的父节点的执行情况时,需要将第一目标节点的执行次数作为参考值,才能确定出父节点的执行次数是否符合预设执行次数要求,本申请中提供了以下基于第一目标节点的执行次数对父节点的执行次数进行判断的方式:
方式一:步骤S102,包括:
步骤1021,判断第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数的差值是否等于第一预设数值。
在上述步骤1021中,第一预设数值可以是人为设置的,第一预设数值可以是一个固定值,比如,固定值为1。
具体的,针对于第一目标节点对应的每个父节点,判断该父节点的已执行次数与第一目标节点的已执行次数的差值是否等于第一预设数值。如果需要将父节点的已执行次数与第一目标节点的已执行次数的差值与第一预设数值进行比较,则第一目标节点的父节点的执行次数和第一目标节点的执行次数均是按照固定的增长值增加的,这样,就可以使第一目标节点的父节点的执行次数和第一目标节点的执行次数的差值就是一个固定值。也就是说,第一目标节点的父节点执行一次,第一目标节点也执行一次,当然,并不是说第一目标节点的每个父节点执行一次,该第一目标节点就会执行一次,而是说,与第一目标节点对应的所有父节点均执行一次后,第一目标节点才会执行一次。因为与第一目标节点对应的父节点是在第一目标节点执行之前就执行完成的,因此,第一目标节点对应的父节点的已执行次数与第一目标节点的执行次数的差值为1。
在对第一目标节点对应的父节点的执行情况进行判断后,步骤S103,包括:
步骤1031,若第一目标节点的执行次数与第一目标节点所对应的每个父节点的已执行次数的差值符合预设要求,则执行第一目标节点。
在上述步骤1031中,预设要求是第一目标节点对应的执行次数与第一目标节点所对应的每个父节点的已执行次数的差值均等于第一预设数值。
具体的,针对每一个第一目标节点,在确定出与该第一目标节点相对应的父节点的已执行次数与该第一目标节点的已执行次数的差值等于第一预设数值时,就可以执行该第一目标节点。通过对父节点的已执行次数来对父节点的执行情况进行判断,可以在第一目标节点可以被执行的最短的时间内执行该第一目标节点,提高了第一目标节点执行的效率。且在确定出父节点的已执行次数满足第一目标节点的执行条件后,才执行第一目标节点,使得第一目标节点所使用的数据是第一目标节点所对应的父节点所生成的有效数据,减少了第一目标节点生成脏数据的情况。
例如,如图4所示,在数据任务中共有三个节点,其中,节点A2和节点B2是节点C2的父节点,由于在数据任务中,与当前节点相关联的父节点均执行一次,当前节点才能执行,因此,预设执行次数要求是父节点的已执行次数与当前执行节点的已执行次数的差值为1。在上述数据任务中,节点A2和节点B2是没有父节点的,因此,只要到了节点A2和节点B2的执行时间这两个节点就会被执行,节点C2是有父节点的,因此,在到了节点C2的执行时间后,还需要考虑节点A2和节点B2的执行情况。节点A2和节点B2的执行时间是每天的晚上24点,且节点C2的执行时间是每天的中午12点,在到达了节点C2的执行时间时,可以确定出节点A2和节点B2的已执行次数均是9次,节点C2的已执行次数也为9次,节点A2和节点B2的已执行次数分别与节点C2的已执行次数的差值均为0,则在中午12点时,节点C2是不能被执行的,当到达了晚上24点时,节点A2和节点B2均会被执行,且节点A2和节点B2执行完成后的已执行次数为10,在节点A2和节点B2执行完成后,节点A2和节点B2的已执行次数与节点C2的已执行次数的差值均为1,该差值符合预设执行次数要求,则节点C2在节点A2和节点B2执行完成后会被执行。
方式二:步骤S102,包括:
步骤1022,判断第一目标节点的目标执行次数与第一目标节点所对应的每个父节点的已执行次数的比值是否符合预设要求。
在上述步骤1022中,目标执行次数是该第一目标节点的已执行次数与该第一目标节点的本次执行次数之和,本次执行次数是第一目标节点在这个执行周期内即将被执行的次数,也就是1次。第二预设数值可以是人为设置的,第二预设数值可以是一个固定值,比如,固定值为1、2、3等。
具体的,当第一目标节点的父节点执行一次,第一目标节点就会执行一次时,第二预设数值就为1,当然并不是所有的数据任务中都是第一目标节点的父节点均执行一次,第一目标节点就会执行一次,有可能存在第一目标节点的父节点均执行多次,第一目标节点才会执行一次,因此,第一目标节点的父节点的已执行次数可以是第一目标节点已执行次数与本次执行次数(即1次)的和的N倍。具体而言,第一目标节点的父节点是先于第一目标节点执行的,因此,需要判断与第一目标节点所对应的每个父节点的已执行次数和第一目标节点的已执行次数与第一目标节点的本次执行次数之和的比值是否均等于N,其中,N可以为1、2、3等。
在对第一目标节点对应的父节点的执行情况进行判断后,步骤S103,包括:
步骤1032,若第一目标节点的目标执行次数与第一目标节点所对应的每个父节点的已执行次数的比值符合预设要求,则执行第一目标节点;目标执行次数是该第一目标节点的已执行次数与该第一目标节点的本次执行次数之和。
在上述步骤1032中,目标执行次数是该第一目标节点的已执行次数与该第一目标节点的本次执行次数之和,本次执行次数是第一目标节点在这个执行周期内即将被执行的次数,也就是1次。具体的,针对每一个第一目标节点,在确定出与该第一目标节点相对应的父节点的已执行次数与该第一目标节点的目标执行次数的比值等于第二预设数值时,就可以执行该第一目标节点。通过对父节点的已执行次数来对父节点的执行情况进行判断,可以在第一目标节点可以被执行的最短的时间内执行该第一目标节点,提高了第一目标节点执行的效率。且在确定出父节点的已执行次数满足第一目标节点的执行条件后,才执行第一目标节点,使得第一目标节点所使用的数据是第一目标节点所对应的父节点所生成的有效数据,减少了第一目标节点生成脏数据的情况。
例如,如图5所示,数据任务是统计一周内的到访人口数量,在数据任务中共有三个节点,其中,节点A3和节点B3是节点C3的父节点,节点A3是用于统计地区a1每天的到访人口数量,节点B3用于统计地区b1每天的到访人口数量,节点C3用于统计地区a1和地区b1一周内的到访人口数量,因此,在执行节点C3时,需要节点A3和节点B3重复执行7次,进而,预设执行次数要求可以是父节点的已执行次数为当前节点目标执行次数的7倍。在上述数据任务中,节点A3和节点B3是没有父节点的,因此,只要到了节点A3和节点B3的执行时间这两个节点就会被执行,节点C3是有父节点的,因此,在到了节点C3的执行时间后,还需要考虑节点A3和节点B3的执行情况。节点A3和节点B3的执行时间是每天的晚上24点,且节点C3的执行时间是每周的周日晚上23点,在到达了节点C3的执行时间时,可以确定出节点A3和节点B3的已执行次数均是13次,节点C3的已执行次数为1次,节点C3的目标执行次数为2,节点A3和节点B3的已执行次数分别与节点C3的目标执行次数的比值均为6.5,该比值并不满足预设执行次数要求,此时,节点C3并不能被执行,当到达了晚上24点时,节点A3和节点B3均会被执行,且节点A3和节点B3执行完成后的已执行次数为14,在节点A3和节点B3执行完成后,节点A3和节点B3的已执行次数与节点C3的目标执行次数的比值均为7,该比值符合预设执行次数要求,则节点C3在节点A3和节点B3执行完成后会被执行。
为了更方便的识别出哪一个节点是否可以被执行,为该节点设置一个执行标识,执行标识可以表征该节点的执行状态,执行状态可以分为可执行状态和不可执行状态,标记有可以执行状态的节点是可以被立即执行的,标记有不可执行状态的节点是当前不可以被执行的。因此,步骤S102,包括:
步骤1023,判断第一目标节点的执行标识是否为可执行状态;执行标识的执行状态是根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数确定的。
在上述步骤1023中,执行标识的执行状态是根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数确定的,具体得,可以根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数的差值来确定执行标识的执行状态,或者可以根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数的比值来确定执行标识的执行状态。
更具体的,针对每一个第一目标节点,与该第一目标节点的对应的父节点均执行一次,该第一目标节点才会被执行一次,或者,与该第一目标节点的对应的父节点均执行N次,该第一目标节点才会被执行一次。当与第一目标节点所对应的父节点均执行一次,第一目标节点才会被执行一次时,可以根据根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数的差值来确定执行标识的执行状态,也就是上文中所提到的判断第一目标节点的父节点的已执行次数与第一目标节点的已执行次数的差值是否等于第一预设数值。当第一目标节点所对应的父节点均执行N次,该第一目标节点才会被执行一次时,可以根据第一目标节点的已执行次数与第一目标节点所对应的每个父节点的已执行次数的比值来确定执行标识的执行状态,也就是上文中所提到的第一目标节点的目标执行次数与第一目标节点所对应的每个父节点的已执行次数的比值是否等于第二预设数值。根据第一目标节点的已执行次数与第一目标节点所对应的每个父节点的已执行次数进行判断,就可以确定出第一目标节点的执行状态。
每一个节点并不是保持一种状态一成不变的,在数据任务进行的过程中,只要有节点需要被执行,该节点的执行状态就会被调整,对第一目标节点的执行状态进行调整的方法包括:
步骤104,在第二目标节点执行完毕后,判断第一目标节点的所有父节点是否均已执行完毕,若是,则将第一目标节点的执行状态调整为可执行状态;第二目标节点是第一目标节点的一个父节点。
在上述步骤104中,第二目标节点是第一目标节点的一个父节点,第一目标节点会有多个父节点,具体的在哪一个父节点执行完成后才执行第一目标节点是很难确定的,因此,在每一个父节点执行完成后,都会对第一目标节点所有的父节点的执行情况进行判断,只有当第一目标节点的所有父节点均已执行完毕,则第一目标节点的执行状态就会调整为可执行状态。在每个第一目标节点的父节点执行完毕后,都判断一次第一目标节点是否可以调整执行状态,可以在第一目标节点能够被调整执行状态的第一时间,立刻将第一目标节点的执行状态调整为可执行状态,这样第一目标节点会在最短的时间内执行,提高了节点执行的效率。
在一个数据任务中是由多个节点组成的,但是在这些节点的执行过程中,并不是杂乱无章的执行的,为了减少执行过程中出现混乱,需要对节点的执行顺序进行规范,步骤S103,包括:
步骤1033,若当前第一目标节点的父节点执行情况符合预设执行次数要求,则执行当前第一目标节点,并保存当前第一目标节点的执行结果,以及调取下一个待执行的第一目标节点作为当前第一目标节点进行执行,直至所有的第一目标节点均被执行完毕。
在上述步骤1033中,执行结果可以是一个节点在执行完成后所生成的数据,该执行结果会有一个对应的ID信息,该ID信息可以携带有该执行结果的生成时间、该生成结果的属性等信息,生成结果的属性可以是生成结果所表征的信息(如,登记人口数量、销售金额等)。
具体的,在确定出第一目标节点的所有父节点的执行情况符合预设执行次数要求后,该第一目标节点会被执行,第一目标节点执行成功后会生成执行结果,该执行结果可以提供给第一目标节点的子节点使用,也可以将该执行结果和该执行结果对应的ID信息关联存储在服务器中,以便在其他节点需要使用该执行结果时可以通过ID信息快速的找到该执行结果。第一目标节点执行结束并不是数据任务的执行结束,因此,还需要通过遍历数据任务中的所有节点来找到下一个待执行的第一目标节点,并将待执行的第一目标节点作为当前第一目标节点进行执行。这样按照顺序执行数据任务中的各个节点,减少了数据混乱的情况。在当前第一目标节点执行完毕后,在数据任务中再也找不到下一个第一目标节点时,该数据任务就执行结束了。
当然,第一目标节点在执行时,所用到的数据是与该第一节点相对应的父节点执行完成后生成的,并不是所有的父节点执行完成后就会立即执行第一目标节点,因此,父节点在执行完成后所生成的执行结果会存储在服务器中,在第一目标节点执行时会根据该父节点所生成的执行结果的ID信息在服务器中进行查找,就可以找到该父节点的执行结果,进而,第一目标节点就会利用找到的执行结果进行计算。
在判断数据任务中的是哪一个节点即将要被执行时,主要是通过节点的执行时间来确定的,步骤S101,包括:
步骤1011,对数据任务的节点进行遍历,从数据任务的全部节点中查找出执行时间与当前时间的差值在预设数值区间内的节点作为第一目标节点。
在上述步骤1011中,预设数值区间可以是人为预先设置好的,可以是固定的时间段,如,1秒、2秒等。
具体的,数据任务中每个节点都会有执行时间,已经被执行完成的节点的执行时间是处于当前时间之前的,还未被执行的节点的执行时间是处于当前时间之后的,执行时间与当前时间越接近,且执行时间处于当前时间之后的才会有可能成为第一目标时间,因此,为了更具体的确定出第一目标节点,在对节点进行遍历的过程中,可以根据每个节点执行时间与当前时间的差值与预设数值区间的比较来确定第一目标节点,即将执行时间与当前时间的差值符合预设数值区间的节点作为第一目标节点。
在第一目标节点的所有父节点执行情况符合预设执行次数要求时,第一目标节点可以立即被执行,但是还有一种情况是第一目标节点的所有父节点执行情况不符合预设执行次数要求,因此,本申请所述提供的方法还包括:
步骤100,若第一目标节点的所有父节点执行情况不符合预设执行次数要求,则暂停执行第一目标节点,直至第一目标节点的所有父节点执行情况均符合预设执行次数要求。
在上述步骤100中,在到达第一目标节点的执行时间后,如果判断出第一目标节点的所有父节点执行情况不符合预设执行次数要求,那么第一目标节点是不可以被执行的,如果执行该第一目标节点会获取到父节点的无效数据,那么第一目标节点执行后生成的数据就是脏数据。因此在第一目标节点的所有父节点执行情况不符合预设执行次数要求的情况下,第一目标节点是暂停执行的,只有到了第一目标节点的所有父节点执行情况均符合预设执行次数要求的情况下,第一目标节点才会被执行。
例如,在数据任务中共有四个节点,分别为节点A4、节点B4、节点C4和节点D4,节点A4、节点B4和节点C4是节点D4的父节点,节点A4和节点B4的执行时间是每天的早上6点,节点C4的执行时间是每天的晚上20点,节点D4的执行时间是每天的中午12点,预设执行次数要求是父节点的执行次数与子节点的执行次数的差值为1时,子节点才会被执行,在到了中午12点时,确定出节点A4和节点B4的执行次数均为4次,节点C4和节点D4的执行次数均为3次,此时,只有节点A4和节点B4与节点D4的执行次数的差值符合预设执行次数要求,因此,此时节点D4是不可以被执行的,当到了晚上20点时,节点C4会被执行,在节点C4执行完成后,节点A4的执行次数、节点B4的执行次数和节点C4的执行次数与节点D4的执行次数的差值均为1,那么此时节点C4会被执行。
在上文中很多次提到数据任务,下面就详细的介绍数据任务的生成,数据任务是根据以下步骤生成的:
步骤105,获取目标数据任务的处理请求;其中,处理请求中携带有目标数据任务的任务信息;
步骤106,根据任务信息,分别为每个子节点确定对应的父节点;
步骤107,根据每个子节点所对应的父节点,生成数据任务。
在上述步骤105中,处理请求是用户根据自身需求在计算机设备中所输入的,计算机设备可以是电脑、手机等设备,处理请求中携带有数据任务的任务信息,其中,任务信息可以包括以下信息中的任意一种或多种:数据任务的处理时刻、数据任务的节点、每个节点之间的依赖关系等。其中,数据任务的处理时刻、数据任务的节点、每个节点之间的依赖关系分别对应的含义可以与上文步骤S101中所提到的数据任务的处理时刻、数据任务的节点、每个节点之间的依赖关系的含义相同。目标数据任务可以是即将要被执行的数据任务。
具体的,用户需要在计算机设备中输入处理请求,根据处理请求才能生成对应的目标数据任务,因此之后执行了步骤105之后,才能执行后续步骤106和步骤107。
在上述步骤106中,在任务信息中所携带的每个节点之间的依赖关系,可以确定出数据任务中每两个节点之间的对应关系,即确定出具有关联关系的两个节点之间哪一节点是父节点,哪一个节点是子节点,在数据任务中,一个节点可以没有父节点,也可以有多个父节点,同理,一个节点可以没有子节点,也可以有多个子节点,这些都是根据节点之间的依赖关系决定的。
在上述步骤107中,根据每个子节点所对应的父节点,可以将多个节点组成一个DAG图,这个DAG图就是数据任务。
在一个系统中可能会有多个数据任务,但是这些数据任务是根据用户的需求所生成的,既然是人的需求,那人的需求就会有轻重缓急,为了将用户需求比较紧急的数据任务尽快的执行,可以对数据任务设置优先级,将需求比较紧急的数据任务设置为较高的优先级,将需求不急的数据任务设置为较低的优先级,这样可以尽快的满足用户需求,提高了数据任务执行效率。
数据任务是利用执行器进行处理的,其中,执行器可以是计算机设备(如电脑),执行器的数量有限,当数据任务过多时,且每个执行器都有正在执行的数据任务,此时,未被执行的数据任务就会生成一个执行队列,该执行队列是根据数据任务的优先级来进行排序的。当执行器正在执行的数据任务执行失败后,该数据任务会重新加入执行队列中,重新执行,当然该数据任务也不会无限制的执行,在数据任务重复执行的次数达到预设数值时,该数据任务不会重新加入到执行队列中,而是发送提示信息给用户的客户端,以提示用户该数据任务出现异常。在数据任务的重试的过程中,并不会一直选用同一个执行器来执行,而是选择不同的执行器来执行,减少了因为执行器故障导致数据任务不能被执行的情况。在执行器中会有一个监控模块,通过监控模块可以监控到执行的对数据任务的执行情况,当执行器处理数据任务出现异常时(如,执行时间超时),会向用户的客户端发送提示信息,以便用户针对异常情况进行检查。
为了方便理解本申请所提供的任务节点的执行方法,本申请提供一种更详细的示例,如图8所示,在数据任务中共有5个节点,分别为节点A5、节点B5、节点C5、节点D5和节点E5,节点A5、节点B5、节点C5和节点D5是节点E5的父节点,节点A5和节点B5的执行时间是每天的早上8点,节点C5和节点D5的执行时间是每周的周一中午12点,节点E5每28天执行一次,且执行时间是28中的第一天早上10点。针对节点A5和节点B5的预设执行次数要求为节点A5和节点B5的执行次数与节点E5的目标执行次数的比值为28,针对节点D5和节点E5的预设执行次数要求为节点D5和节点E5的执行次数与节点E5的目标执行次数的比值为4。当今天的10点为节点E5的执行时间时,节点E5的执行次数为2次,节点A5和节点B5的执行次数均为56次,节点D5和节点E5的执行次数均为7次,A5和节点B5的执行次数与节点E5的目标执行次数的比值为28,节点D5和节点E5的执行次数与节点E5的目标执行次数的比值为3.5,A5和节点B5的执行次数与节点E5的目标执行次数的比值满足预设执行次数要求,但是节点D5和节点E5的执行次数与节点E5的目标执行次数的比值不满足预设执行次数要求,则当前节点E5不能被执行。在时间到达中午12点时,节点D5和节点E5被执行,执行完成后节点D5和节点E5的执行次数均为8,节点D5和节点E5的执行次数与节点E5的目标执行次数的比值为4,此时A5和节点B5的执行次数与节点E5的目标执行次数的比值满足预设执行次数要求,以及节点D5和节点E5的执行次数与节点E5的目标执行次数的比值也满足预设执行次数要求,则节点E5可以被执行。
如图6所示,本申请还提供了一种任务节点的执行装置,包括:
遍历模块601,用于对数据任务的节点进行遍历,从数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;
判断模块602,用于判断第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,第一目标节点的所有父节点执行情况是根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数确定的;
确定模块603,若第一目标节点的所有父节点执行情况符合预设执行次数要求,则用于执行第一目标节点。
可选的,确定模块603,包括:
第一确定单元,用于若第一目标节点的执行次数与第一目标节点所对应的每个父节点的已执行次数的差值符合预设要求,则执行第一目标节点。
可选的,确定模块603,包括:
第二确定单元,用于若第一目标节点的目标执行次数与第一目标节点所对应的每个父节点的已执行次数的比值符合预设要求,则执行第一目标节点;目标执行次数是该第一目标节点的已执行次数与该第一目标节点的本次执行次数之和。
可选的,判断模块602,包括:
判断单元,用于判断第一目标节点的执行标识是否为可执行状态;执行标识的执行状态是根据第一目标节点的已执行次数和第一目标节点所对应的每个父节点的已执行次数确定的;
装置还包括:
调整模块,用于在第二目标节点执行完毕后,判断第一目标节点的所有父节点是否均已执行完毕,若是,则将第一目标节点的执行状态调整为可执行状态;第二目标节点是第一目标节点的一个父节点。
可选的,确定模块603,包括:
执行单元,用于若当前第一目标节点的父节点执行情况符合预设执行次数要求,则执行当前第一目标节点,并保存当前第一目标节点的执行结果,以及调取下一个待执行的第一目标节点作为当前第一目标节点进行执行,直至所有的第一目标节点均被执行完毕。
可选的,遍历模块601,包括:
遍历单元,用于对数据任务的节点进行遍历,从数据任务的全部节点中查找出执行时间与当前时间的差值在预设数值区间内的节点作为第一目标节点。
可选的,装置还包括:
暂定模块,用于若第一目标节点的所有父节点执行情况不符合预设执行次数要求,则暂停执行第一目标节点,直至第一目标节点的所有父节点执行情况均符合预设执行次数要求。
可选的,装置还包括数据任务生成模块:
获取单元,用于获取目标数据任务的处理请求;其中,处理请求中携带有目标数据任务的任务信息;
关联单元,用于根据任务信息,分别为每个子节点确定对应的父节点;
生成单元,用于根据每个子节点所对应的父节点,生成数据任务。
对应于图1中的任务节点的执行方法,本申请实施例还提供了一种计算机设备700,如图7所示,该设备包括存储器701、处理器702及存储在该存储器701上并可在该处理器702上运行的计算机程序,其中,上述处理器702执行上述计算机程序时实现上述任务节点的执行方法。
具体地,上述存储器701和处理器702能够为通用的存储器和处理器,这里不做具体限定,当处理器702运行存储器701存储的计算机程序时,能够执行上述任务节点的执行方法,解决了现有技术中如何减少任务节点生成脏数据的问题。本申请通过在执行第一目标节点之前,需要对第一目标节点所对应的父节点的执行情况进行判断,只有在第一目标节点所对应的所有父节点的执行情况均符合预设执行次数要求的情况下,才会执行第一目标节点,减少了第一目标节点在执行时使用父节点的无效数据,进而减少了第一目标节点的生成的脏数据的可能性。
对应于图1中的任务节点的执行方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任务节点的执行方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述任务节点的执行方法,解决了现有技术中如何减少任务节点生成脏数据的问题,本申请通过在执行第一目标节点之前,需要对第一目标节点所对应的父节点的执行情况进行判断,只有在第一目标节点所对应的所有父节点的执行情况均符合预设执行次数要求的情况下,才会执行第一目标节点,减少了第一目标节点在执行时使用父节点的无效数据,进而减少了第一目标节点的生成的脏数据的可能性。
在本申请所提供的实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种任务节点的执行方法,其特征在于,包括:
对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;
判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,所述第一目标节点的所有父节点执行情况是根据所述第一目标节点的已执行次数和所述第一目标节点所对应的每个父节点的已执行次数确定的;
若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点。
2.根据权利要求1所述的方法,其特征在于,步骤若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点,包括:
若所述第一目标节点的执行次数与所述第一目标节点所对应的每个父节点的已执行次数的差值符合所述预设要求,则执行所述第一目标节点。
3.根据权利要求1所述的方法,其特征在于,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点,包括:
若所述第一目标节点的目标执行次数与所述第一目标节点所对应的每个父节点的已执行次数的比值符合预设要求,则执行所述第一目标节点;所述目标执行次数是该第一目标节点的已执行次数与该第一目标节点的本次执行次数之和。
4.根据权利要求1所述的方法,其特征在于,判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,包括:
判断所述第一目标节点的执行标识是否为可执行状态;所述执行标识的执行状态是根据所述第一目标节点的已执行次数和所述第一目标节点所对应的每个父节点的已执行次数确定的;
所述方法还包括:
在第二目标节点执行完毕后,判断第一目标节点的所有父节点是否均已执行完毕,若是,则将第一目标节点的执行状态调整为可执行状态;所述第二目标节点是第一目标节点的一个父节点。
5.根据权利要求1所述的方法,其特征在于,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则执行所述第一目标节点,包括:
若当前第一目标节点的父节点执行情况符合预设执行次数要求,则执行所述当前第一目标节点,并保存当前第一目标节点的执行结果,以及调取下一个待执行的第一目标节点作为当前第一目标节点进行执行,直至所有的第一目标节点均被执行完毕。
6.根据权利要求1所述的方法,其特征在于,对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点,包括:
对所述数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间与当前时间的差值在预设数值区间内的节点作为所述第一目标节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一目标节点的所有父节点执行情况不符合预设执行次数要求,则暂停执行所述第一目标节点,直至所述第一目标节点的所有父节点执行情况均符合预设执行次数要求。
8.根据权利要求1所述的方法,其特征在于,所述数据任务是根据以下步骤生成的:
获取目标数据任务的处理请求;其中,所述处理请求中携带有所述目标数据任务的任务信息;
根据所述任务信息,分别为每个子节点确定对应的父节点;
根据每个子节点所对应的父节点,生成所述数据任务。
9.一种任务节点的执行装置,其特征在于,包括:
遍历模块,用于对数据任务的节点进行遍历,从所述数据任务的全部节点中查找出执行时间符合预设要求的第一目标节点;
判断模块,用于判断所述第一目标节点的所有父节点执行情况是否符合预设执行次数要求,其中,所述第一目标节点的所有父节点执行情况是根据所述第一目标节点的已执行次数和所述第一目标节点所对应的每个父节点的已执行次数确定的;
确定模块,若所述第一目标节点的所有父节点执行情况符合预设执行次数要求,则用于执行所述第一目标节点。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1-8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010420706.9A CN111581449B (zh) | 2020-05-18 | 2020-05-18 | 一种任务节点的执行方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010420706.9A CN111581449B (zh) | 2020-05-18 | 2020-05-18 | 一种任务节点的执行方法、装置、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581449A true CN111581449A (zh) | 2020-08-25 |
CN111581449B CN111581449B (zh) | 2023-04-28 |
Family
ID=72115531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010420706.9A Active CN111581449B (zh) | 2020-05-18 | 2020-05-18 | 一种任务节点的执行方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581449B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120230222A1 (en) * | 2011-03-08 | 2012-09-13 | Cisco Technology Inc. | Gravitational Parent Selection in Directed Acyclic Graphs |
CN104063381A (zh) * | 2013-03-19 | 2014-09-24 | 华为技术有限公司 | 多级树形菜单的显示方法和终端 |
CN104536814A (zh) * | 2015-01-16 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 一种处理工作流的方法和系统 |
CN107861825A (zh) * | 2017-10-16 | 2018-03-30 | 北京京东尚科信息技术有限公司 | 请求处理/状态码查询方法及装置、下/上游节点、介质 |
CN108829504A (zh) * | 2018-06-28 | 2018-11-16 | 泰康保险集团股份有限公司 | 一种任务调度方法、装置、介质和电子设备 |
CN109725989A (zh) * | 2017-10-31 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种任务执行的方法及装置 |
-
2020
- 2020-05-18 CN CN202010420706.9A patent/CN111581449B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120230222A1 (en) * | 2011-03-08 | 2012-09-13 | Cisco Technology Inc. | Gravitational Parent Selection in Directed Acyclic Graphs |
CN104063381A (zh) * | 2013-03-19 | 2014-09-24 | 华为技术有限公司 | 多级树形菜单的显示方法和终端 |
CN104536814A (zh) * | 2015-01-16 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 一种处理工作流的方法和系统 |
CN107861825A (zh) * | 2017-10-16 | 2018-03-30 | 北京京东尚科信息技术有限公司 | 请求处理/状态码查询方法及装置、下/上游节点、介质 |
CN109725989A (zh) * | 2017-10-31 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种任务执行的方法及装置 |
CN108829504A (zh) * | 2018-06-28 | 2018-11-16 | 泰康保险集团股份有限公司 | 一种任务调度方法、装置、介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111581449B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416581B (zh) | 定时任务的分布式调用系统 | |
CN111176697A (zh) | 服务实例部署方法、数据处理方法及集群联邦 | |
CN107589951B (zh) | 一种集群升级方法及装置 | |
CN113760476B (zh) | 任务依赖处理方法及相关装置 | |
EP2888685A2 (en) | Transaction-level health monitoring of online services | |
CN111190732A (zh) | 定时任务处理系统及方法、存储介质和电子设备 | |
CN112667383A (zh) | 一种任务执行及调度方法、系统、装置、计算设备及介质 | |
CN115495142A (zh) | 云资源编排方法、装置、计算机设备及存储介质 | |
CN111147541B (zh) | 基于参数服务器的节点处理方法、装置、设备及存储介质 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN107633080B (zh) | 一种用户任务处理方法及装置 | |
JP6097666B2 (ja) | ジョブ管理システム | |
CN110119283B (zh) | 一种应用更新处理方法、装置及系统、应用更新系统 | |
CN112732710A (zh) | 数据处理方法、装置以及电子设备 | |
CN111106953B (zh) | 一种异常根因分析的方法及装置 | |
CN111581449A (zh) | 一种任务节点的执行方法、装置、计算机设备和介质 | |
US20200326952A1 (en) | Modification procedure generation device, modification procedure generation method and storage medium for storing modification procedure generation program | |
CN116860344A (zh) | 一种流程管理方法、系统、设备及介质 | |
CN116319758A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN112148420A (zh) | 基于容器技术的异常任务处理方法、服务器及云平台 | |
US20160004982A1 (en) | Method and system for estimating the progress and completion of a project based on a bayesian network | |
CN113448493B (zh) | 用于备份数据的方法、电子设备和计算机可读介质 | |
CN114625515A (zh) | 一种任务管理方法、装置、设备及存储介质 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN113886215A (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 |