CN114510329B - 一种确定任务节点预计产出时间的方法、装置及设备 - Google Patents
一种确定任务节点预计产出时间的方法、装置及设备 Download PDFInfo
- Publication number
- CN114510329B CN114510329B CN202210074254.2A CN202210074254A CN114510329B CN 114510329 B CN114510329 B CN 114510329B CN 202210074254 A CN202210074254 A CN 202210074254A CN 114510329 B CN114510329 B CN 114510329B
- Authority
- CN
- China
- Prior art keywords
- link
- task node
- time
- task
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种确定任务节点预计产出时间的方法、装置及设备,将原始链路转换为至少一条理想状态链路,理想状态链路包括的任务节点之间没有时间间隔,理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔。将目标任务节点的运行时间与理想状态链路包括的各个任务节点的总运行时间的比值,乘以第一时间间隔,确定目标任务节点的缓冲时间。目标任务节点分别为理想状态链路包括的每一任务节点。根据理想状态链路中每一任务节点的运行时间与缓冲时间,确定每一任务节点对应的预计产出时间。如此,不仅节约了人工成本还能使确定的各任务节点的预计产出时间更具合理性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种确定任务节点预计产出时间的方法、装置及设备。
背景技术
全链路中各个任务节点需要完成各自对应的任务。根据链路中任务的流向可以将任务节点划分为上游任务节点和下游任务节点,上游任务节点任务完成后,会触发下游任务节点执行任务。
在全链路治理工作中,用户需要确定全链路中各任务节点的预计产出时间点,即对外承诺的完成任务的时间点。进而,链路各任务节点需要在预计产出时间点或预计产出时间点之前完成各自的任务,以此来保证上下游任务均按时顺利完成。
目前,由于各链路较长且各任务节点之间的依赖关系复杂,用户需要与上下游任务节点的合作方进行大量沟通,并凭借经验来确认各任务节点预计产出时间点。该方法人工成本高且获取的结果可能缺乏合理性。
发明内容
有鉴于此,本申请实施例提供一种确定任务节点预计产出时间的方法、装置及设备,不仅能够节约人工成本还能使确定的各任务节点的预计产出时间更具合理性。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请实施例提供一种确定任务节点预计产出时间的方法,所述方法包括:
将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
第二方面,本申请实施例提供一种确定任务节点预计产出时间的装置,所述装置包括:
转换单元,用于将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
第一确定单元,用于将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
第二确定单元,用于根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
第三方面,本申请实施例提供一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的确定任务节点预计产出时间的方法。
第四方面,本申请实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述的确定任务节点预计产出时间的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供了一种确定任务节点预计产出时间的方法、装置及设备,将原始链路转换为至少一条理想状态链路,理想状态链路包括的任务节点之间没有时间间隔,理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔。第一时间间隔可以理解为历史情况中理想状态链路中各个任务节点实际均完成任务时的时间点和所有任务节点均完成各自任务的预计完成时间点之间的剩余时间,即整条理想状态链路的缓冲时间。将目标任务节点的运行时间与理想状态链路包括的各个任务节点的总运行时间的比值,乘以第一时间间隔,确定目标任务节点的缓冲时间。即给每个目标任务节点分配一个缓冲时间。目标任务节点分别为理想状态链路包括的每一任务节点。根据理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定理想状态链路包括的每一任务节点对应的预计产出时间,即每个目标任务节点的最晚产出时间。如此,能够在考虑上下游任务节点各自运行时间和缓冲时间的基础上,确定每个任务节点的预计产出时间,不仅节约了人工成本还能使确定的各任务节点的预计产出时间更具合理性。
附图说明
图1为本申请实施例提供的示例性应用场景的框架示意图;
图2为本申请实施例提供的一种确定任务节点预计产出时间的方法的流程图;
图3为本申请实施例提供的一种确定任务节点预计产出时间的示意图;
图4a为本申请实施例提供的另一种确定任务节点预计产出时间的示意图;
图4b为本申请实施例提供的一种链路分析示意图;
图4c为本申请实施例提供的另一种确定任务节点预计产出时间的示意图;
图4d为本申请实施例提供的另一种链路分析示意图;
图5为本申请实施例提供的原始链路的示意图;
图6a为本申请实施例提供的另一种链路分析示意图;
图6b为本申请实施例提供的另一种链路分析示意图;
图6c为本申请实施例提供的另一种链路分析示意图;
图7a为本申请实施例提供的一种考虑依赖偏移量的理想状态链路示意图;
图7b为本申请实施例提供的一种时间对比示意图;
图8为本申请实施例提供的一种确定任务节点预计产出时间的装置的结构示意图;
图9为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
在全链路的治理工作中,需要用户确定全链路各个任务节点的预计产出时间。基于此,全链路中各个任务节点需要在对应的预计产出时间或者对应的预计产出时间之前完成自身的任务。目前,用户确定全链路各个任务节点的预计产出时间的主要方式是与上下游任务节点的合作方进行沟通后,再凭借经验来确定各任务节点预计产出时间点。由于需要用户进行沟通,会耗费大量的人工成本。且由于是用户凭借经验确定的各任务节点预计产出时间点,该结果可能缺乏合理性。
基于此,本申请实施例提供了一种确定任务节点预计产出时间的方法、装置及设备,将原始链路转换为至少一条理想状态链路,理想状态链路包括的任务节点之间没有时间间隔,理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔。第一时间间隔可以理解为历史情况中理想状态链路中各个任务节点实际均完成任务时的时间点和所有任务节点均完成各自任务的预计完成时间点之间的剩余时间,即整条理想状态链路的缓冲时间。将目标任务节点的运行时间与理想状态链路包括的各个任务节点的总运行时间的比值,乘以第一时间间隔,确定目标任务节点的缓冲时间。即给每个目标任务节点分配一个缓冲时间。目标任务节点分别为理想状态链路包括的每一任务节点。根据理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定理想状态链路包括的每一任务节点对应的预计产出时间,即每个目标任务节点的最晚产出时间。如此,能够在考虑上下游任务节点各自运行时间和缓冲时间的基础上,确定每个任务节点的预计产出时间,不仅节约了人工成本还能使确定的各任务节点的预计产出时间更具合理性。
为了便于理解本申请实施例提供的确定任务节点预计产出时间的方法,下面结合图1所示的场景示例进行说明。参见图1所示,该图为本申请实施例提供的示例性应用场景的框架示意图。
在实际应用中,原始链路中的任务节点之间可能存在时间间隔。由此,先将原始链路转换成至少一条各个任务节点之间没有时间间隔的理想状态链路。如图1所示,假设原始链路为A-B-C,转换成一条理想状态链路为A-B-C。转换成的理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔,如图1中的C节点的结束时间与预计产出时间之间具有第一时间间隔d。第一时间间隔可以理解为历史情况中理想状态链路中各个任务节点实际均完成任务时的时间点和所有任务节点均完成各自任务的预计完成时间点之间的剩余时间,即整条理想状态链路的缓冲时间。
基于此,将第一时间间隔分配给每个任务节点,由此,计算出每个任务节点最晚完成对应任务的时间,即任务节点的预计产出时间。具体地,将目标任务节点的运行时间与理想状态链路包括的各个任务节点的总运行时间的比值,乘以第一时间间隔,确定目标任务节点的缓冲时间。其中,目标任务节点分别为理想状态链路包括的每一任务节点。例如,A节点的运行时间为a1,B节点的运行时间为b1,C节点的运行时间为c1,总运行时间为a1+b1+c1。由此,计算出来的A的缓冲时间为d1,计算出来的B的缓冲时间为d2,计算出来的C的缓冲时间为d3。
进而,在确定每个任务节点完成对应任务的运行时间与完成任务后的缓冲时间后,便可确定理想状态链路包括的每一任务节点对应的预计产出时间。如图1,可确定A的预计产出时间为a1+d1,B的预计产出时间为b1+d2,C的预计产出时间为c1+d3。可以理解的是,任务节点对应的预计产出时间可以看作是该任务节点最晚完成对应任务的时间点。
由于各个任务节点均需要按照服务等级协议(Service-Level Agreement,SLA)中规定的时间完成对应的任务。则在本申请实施例中,各个节点的预计产出时间可用SLA表示。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
为了便于理解本申请,下面结合附图对本申请实施例提供的一种确定任务节点预计产出时间的方法进行说明。
参见图2所示,该图为本申请实施例提供的一种确定任务节点预计产出时间的方法的流程图,如图2所示,该方法可以包括S201-S203:
S201:将原始链路转换为至少一条理想状态链路,理想状态链路包括的任务节点之间没有时间间隔,理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔。
在原始链路中,各个任务节点之间可能有时间间隔,例如当上游任务完成后,相隔3个小时,下游任务才能运行。相应地,在原始链路中,各个任务节点之间可能没有时间间隔。即,上游任务运行完,下游任务可开始运行,不用等待。而在本申请实施例中,转换后的理想状态链路包括的任务节点之间没有时间间隔。
本申请实施例中的预计产出时间可以理解为任务节点对外承诺的最晚运行完任务的时间点,即任务节点运行任务的时间不能超过预计产出时间。通常,理想状态链路的最后一个任务节点的结束时间早于该任务节点的预计产出时间,则可以得到理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔。第一时间间隔可以理解为理想状态链路的缓冲时间,即链路buffer。在一个或多个实施例中,理想状态链路的最下游节点为申报任务节点。申报任务节点(即最下游节点)的预计产出时间为理想状态链路的期望SLA。
原始链路的表现形式有多种,一种是原始链路中的各个任务节点均只有一个上游节点,即没有并行执行的链路。一种是原始链路中任一任务节点有多个上游任务节点,或者,原始链路中的多个任务节点有同一上游任务节点,即有并行执行的链路。
当原始链路中的各个任务节点均只有一个上游任务节点,且原始链路中的任务节点之间不存在时间间隔时,原始链路即为理想状态链路。例如,参见图3,图3为本申请实施例提供的一种确定任务节点预计产出时间的示意图。如图3所示,原始链路A-B-C中的任务节点为A、B和C。任务节点A、B和C均只有一个上游任务节点,B的上游任务节点为A,C的上游任务节点为B。任务节点A的运行时间为0.5H,运行开始时间为6:00,运行结束时间为6:30。任务节点B的运行时间为1H,运行开始时间为6:30,运行结束时间为7:30。任务节点C的运行时间为2H,运行开始时间为7:30,运行结束时间为9:30。其中,H代表小时。
在一个或多个实施例中,本申请实施例中的各个任务节点的运行时间、起始时间和结束时间根据历史数据获得,且均为平均时间。即,在一个或多个实施例中,任务节点的开始时间为平均开始时间,任务节点的结束时间为平均结束时间,任务节点的运行时间为基于历史的运行时间获取的平均运行时间。
由此,可知原始链路中各个任务节点之间没有时间间隔。如此,图1所示的原始链路A-B-C所转换为的理想状态链路仍然为A-B-C。而且,理想状态链路A-B-C的最后一个任务节点C的结束时间为9:30。若任务节点C对应的预计产出时间SLA(即期望SLA)为12:30,则第一时间间隔为9:30-12:30。
在一些可能的实现方式中,本申请实施例还提供了将原始链路转换为至少一条理想状态链路的具体实施方式,具体请参见下文A1-A2以及C1-C4。
S202:将目标任务节点的运行时间与理想状态链路包括的各个任务节点的总运行时间的比值,乘以第一时间间隔,确定目标任务节点的缓冲时间;目标任务节点分别为理想状态链路包括的每一任务节点。
目标任务节点的缓冲时间是由理想状态链路的缓冲时间按照比例划分得到的。该比例即为目标任务节点的运行时间和总运行时间的比值。
如图3所示,RunTime A=30min,RunTime B=60min,RunTime C=120min。即任务节点A的运行时间为0.5H,任务节点B的运行时间为1H,任务节点C的运行时间为2H。各个任务节点的总运行时间为3.5H。
第一时间间隔buffer为9:30-12:30,即3H。则当目标任务节点为A时,A的缓冲时间为0.5/3.5*3,即0.43H,相当于25.8min。当目标任务节点为B时,B的缓冲时间为1/3.5*3,即0.86H,相当于51.4min。当目标任务节点为C时,C的缓冲时间为2/3.5*3,即1.72H,相当于102.8min。在图3中表示为:Buffer A=25.8min,Buffer B=25.8min,Buffer C=25.8min。
S203:根据理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定理想状态链路包括的每一任务节点对应的预计产出时间。
每一任务节点对应的预计产出时间通过以下公式确定:
SLA上=SLA下-buffer下-avgRunningTime下
其中,SLA上为上一任务节点的预计产出时间,SLA下为下一任务节点的预计产出时间,buffer下为下一任务节点的缓冲时间,avgRunningTime下为下一任务节点的运行时间。
例如,由S201可知,已经确定最后一个任务节点的预计产出时间,则最后一个任务节点的上游任务节点的预计产出时间为最后一个任务节点的预计产出时间减去最后一个任务节点的缓冲时间,再减去最后一个任务节点的运行时间。
以图3为例,最后一个任务节点为C,其预计产出时间即为理想状态链路A-B-C的期望SLA,即12:30。C的缓冲时间为102.8min,C的运行时间为120min。则任务节点C的上游任务节点B的预计产出时间为12:30-102.8min-120min,即8:47。由此,也可得到任务节点A的预计产出时间为6:55。
可以理解的是,上下游任务节点的预计产出时间间隔大于或等于下游任务运行完成时间。
基于S201-S203的内容可知,本申请实施例提供了一种确定任务节点预计产出时间的方法,将原始链路转换为至少一条理想状态链路,理想状态链路包括的任务节点之间没有时间间隔,理想状态链路的最后一个任务节点的结束时间与理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔。第一时间间隔可以理解为历史情况中理想状态链路中各个任务节点实际均完成任务时的时间点和所有任务节点均完成各自任务的预计完成时间点之间的剩余时间,即整条理想状态链路的缓冲时间。将目标任务节点的运行时间与理想状态链路包括的各个任务节点的总运行时间的比值,乘以第一时间间隔,确定目标任务节点的缓冲时间。即给每个目标任务节点分配一个缓冲时间。目标任务节点分别为理想状态链路包括的每一任务节点。根据理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定理想状态链路包括的每一任务节点对应的预计产出时间,即每个目标任务节点的最晚产出时间。如此,能够在考虑上下游任务节点各自运行时间和缓冲时间的基础上,确定每个任务节点的预计产出时间,不仅节约了人工成本还能使确定的各任务节点的预计产出时间更具合理性。
在一种可能的实现方式中,原始链路中的各个任务节点可能均只有一个上游节点且原始链路中的任务节点之间存在时间间隔。基于此,本申请实施例提供了一种将原始链路转换为至少一条理想状态链路的具体实施方式,包括:
A1:如果原始链路中的各个任务节点均只有一个上游任务节点,且原始链路中的任务节点之间存在时间间隔,将原始链路确定为待处理路径。
如果原始链路中的各个任务节点均只有一个上游任务节点,表示原始链路中没有并行执行的链路。此时,若原始链路中的任务节点之间存在时间间隔,将原始链路确定为待处理路径。
例如,参见图4a,图4a为本申请实施例提供的另一种确定任务节点预计产出时间的示意图。如图4a所示,原始链路为A-B-C,根据原始链路的历史运行情况可知,任务节点A的运行时间为0.5H,运行开始时间为5:50,运行结束时间为6:20。任务节点B的运行时间为1H,运行开始时间为6:30,运行结束时间为7:30。任务节点C的运行时间为2H,运行开始时间为7:30,运行结束时间为9:30。
又例,参见图4c,图4c为本申请实施例提供的另一种确定任务节点预计产出时间的示意图。如图4c所示,原始链路为D-A-B-C,根据原始链路的历史运行情况可知,任务节点D的运行时间为1H,运行开始时间为2:00,运行结束时间为3:00。任务节点A的运行时间为0.5H,运行开始时间为3:00,运行结束时间为3:30。任务节点B的运行时间为1H,运行开始时间为6:30,运行结束时间为7:30。任务节点C的运行时间为2H,运行开始时间为7:30,运行结束时间为9:30。
可知,图4a和图4c所示的原始链路中各个任务节点均只有一个上游任务节点,且原始链路中的任务节点A和任务节点B之间存在时间间隔。将图4a中的原始链路A-B-C确定为待处理路径,将图4c中的原始链路D-A-B-C也确定为待处理路径。
A2:将待处理路径转换为至少一条理想状态链路。
进一步,对待处理路径进行转换,获得至少一条各个任务节点之间没有时间间隔的理想状态链路。
在一种可能的实现方式中,本申请实施例提供了一种A2中将待处理路径转换为至少一条理想状态链路的具体实施方式,包括A21-A24:
A21:从待处理链路中确定第一链路以及第二链路;第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,第一任务节点的结束时间与第一任务节点对应的预计产出时间之间具有第二时间间隔,在首次确定第一链路时,第一任务节点为待处理链路中的最后一个任务节点;第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,第二任务节点与第一链路的首个任务节点之间具有第三时间间隔,第二任务节点为第一链路的首个任务节点的相邻上游节点。
由于待处理链路中的任务节点之间存在时间间隔,则基于存在时间间隔的任务节点,从待处理链路中确定第一链路以及第二链路。并通过以下内容限定具体的第一链路和第二链路:
第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,第一任务节点的结束时间与第一任务节点对应的预计产出时间之间具有第二时间间隔,在首次确定第一链路时,第一任务节点为待处理链路中的最后一个任务节点;第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,第二任务节点与第一链路的首个任务节点之间具有第三时间间隔,第二任务节点为第一链路的首个任务节点的相邻上游节点。
例如,如图4a所示,原始链路为A-B-C,任务节点A和任务节点B之间存在时间间隔为mid_buffer=10min。在首次确定第一链路时,第一任务节点为待处理链路中的最后一个任务节点,则第一链路中包括的第一任务节点为C。由于第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,则确定第一链路为B-C。可知,第一任务节点C的结束时间为9:30,第一任务节点对应的预计产出时间(即期望SLA)为12.30,则第二时间间隔为9:30-12.30,即buffer=180min。
由于第二任务节点为第一链路的首个任务节点的相邻上游节点,则第二任务节点为A。第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,则第二链路为A节点。第二任务节点A与第一链路的首个任务节点B之间具有第三时间间隔,为mid_buffer=10min。
又例,如图4c所示,原始链路为D-A-B-C,任务节点A和任务节点B之间存在时间间隔为mid_buffer=180min。在首次确定第一链路时,第一任务节点为待处理链路中的最后一个任务节点,则第一链路中包括的第一任务节点为C。由于第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,则确定第一链路为B-C。可知,第一任务节点C的结束时间为9:30,第一任务节点对应的预计产出时间(即期望SLA)为12.30,则第二时间间隔为9:30-12.30,即buffer=180min。
由于第二任务节点为第一链路的首个任务节点的相邻上游节点,则第二任务节点为A。由于第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,则第二链路为D-A。第二任务节点A与第一链路的首个任务节点B之间具有第三时间间隔,为mid_buffer=180min。
A22:判断第一链路与第二链路是否能够合并。
确定第一链路和第二链路之后,判断第一链路与第二链路是否能够合并。如能,则将第一链路与第二链路进行合并,具体请见A23。若不能,则将原始链路分为两段再确定每段中每个任务节点的预计产出时间,具体请见A24。
在一种可能的实现方式中,本申请实施例提供了一种判断第一链路与第二链路是否能够合并的具体实施方式,包括:
B1:计算第二时间间隔与第一链路包括的各个任务节点的总运行时间的比值,得到第一比值。
参见图4b和图4d,图4b为本申请实施例提供的一种链路分析示意图,图4d为本申请实施例提供的另一种链路分析示意图。
例如,如图4b所示,第二时间间隔buffer=180min。第一链路包括的各个任务节点的总运行时间为B的运行时间和C的运行时间之和,即180min。则第一比值为1。
又例,如图4d所示,第二时间间隔buffer=180min。第一链路包括的各个任务节点的总运行时间为B的运行时间和C的运行时间之和,即180min。则第一比值为1。
B2:计算第三时间间隔与第二链路包括的各个任务节点的总运行时间的比值,得到第二比值。
例如,如图4b所示,第三时间间隔mid_buffer=10min。第二链路包括的各个任务节点的总运行时间为A的运行时间,即30min。则第二比值为1/3。
又例,如图4d所示,第三时间间隔mid_buffer=180min。第二链路包括的各个任务节点的总运行时间为D的运行时间和A的运行时间之和,即90min。则第二比值为2。
B3:如果第二比值小于或等于第一比值,判断第一链路与第二链路能够合并。
例如,如图4b所示,第二比值1/3小于或等于第一比值1,则判断图4b(或图4a)中的第一链路与第二链路能够合并。
B4:如果第二比值大于第一比值,判断第一链路与第二链路不能合并。
例如,如图4d所示,第二比值2大于第一比值1,则判断图4d(或图4c)中的第一链路与第二链路不能合并。
A23:如果能够合并,将第三时间间隔转移到第二时间间隔中以将第一链路与第二链路进行合并,将合并后的链路确定为第一链路,重新从待处理链路中确定第一链路以及第二链路,直到无法重新从待处理链路中确定第一链路以及第二链路,如果无法重新从待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路。
一种情况是原始链路只有一个时间间隔,即原始链路只能划分为两段。此时,若第一链路与第二链路能够合并,将第三时间间隔转移到第二时间间隔以令第一链路和第二链路合并,使得第一链路和第二链路之间没有时间间隔。基于此,将重新合并后的第一链路和第二链路重新确定为第一链路。重新从待处理链路中确定第一链路以及第二链路时,由于各个任务节点之间不存在时间间隔,则无法重新从待处理链路中确定第一链路以及第二链路。此时,将重新确定的第一链路确定为理想状态链路。在此情况下,将第二时间间隔与第三时间间隔之和作为S202中的第一时间间隔。由此,在确定理想状态链路之后,执行S201-S203,便可确定理想状态链路包括的每一任务节点对应的预计产出时间。
在另一种情况中,若待处理链路中存在多个时间间隔,即待处理链路能划分为大于两段的多段链路。在确定第一链路和第二链路能合并后,将合并后的链路重新确定为第一链路。重新从待处理链路中确定第一链路以及第二链路时,由于此时链路中仍然还有任务节点之间存在时间间隔,则可再重新确定第二链路,并判断重新确定的第一链路和第二链路是否能够合并,直至无法重新从待处理链路中确定第一链路以及第二链路。
例如,如图4a所示,图4a中首次确定的第一链路B-C和第二链路A能够合并。则将第三间隔时间mid_buffer=10min转移到第二时间间隔buffer=180min以构成第一时间间隔190min。转移后,A和B之间没有时间间隔。由此,将A-B-C重新确定为第一链路。在重新从待处理链路中确定第一链路(即A-B-C)以及第二链路时,由于没有任务节点之间存在时间间隔,使得无法重新从待处理链路中确定第一链路以及第二链路。则第一链路A-B-C为理想状态链路。
如图4a所示,RunTime A=30min,RunTime B=60min,RunTime C=120min。即任务节点A的运行时间为0.5H,任务节点B的运行时间为1H,任务节点C的运行时间为2H,各个任务节点的总运行时间为3.5H。第一时间间隔为190min,即3.2H。在一种可能的实现方式中,各个目标任务节点的缓冲时间为第一时间间隔按照运行时间占比分配得到。当目标任务节点为A时,A的缓冲时间为0.5/3.5*3.2,即0.46H,相当于27.2min。当目标任务节点为B时,B的缓冲时间为1/3.5*3.2,即0.92H,相当于54.3min。当目标任务节点为C时,C的缓冲时间为2/3.5*3.2,即1.84H,相当于108.5min。由此,确定A-B-C的最后一个任务节点C的预计产出时间为12.30时,由C的预计产出时间减去C的运行时间以及C的缓冲时间,得到C的上一节点B的预计产出时间为8:41。进而,以同样的方法得到A的预计产出时间为6:46。
在另一种可能的实现方式中,由于第一时间间隔由第二时间间隔(即180min=2h)和第三时间间隔(即10min=0.167H)组成,则可以分别计算第二时间间隔按照比例分配给各个任务节点的缓冲时间,以及第三时间间隔按照比例分配给各个任务节点的缓冲时间,则同一任务节点的缓冲时间由第二时间间隔和第三时间间隔分别按照运行时间占比分配得到。如图4a所示,A的缓冲时间由MidBufA和Buffer A之和组成。其中,MidBufA由第三时间间隔分配得到,即Buffer A=0.5/3.5*0.167=1.4min。Buffer A由第二时间间隔分配得到,即Buffer A=0.5/3.5*2=25.8min。其余任务节点的缓冲时间的计算方法类似,这里不再赘述。如图4a所示,MidBufA=1.4min,Buffer A=25.8min;MidBufB=2.9min,Buffer B=51.4min;MidBufC=5.7min,Buffer C=102.8min。
A24:如果不能合并,将第一链路确定为理想状态链路,并将第二链路确定为第一链路,重新从待处理链路中确定第一链路以及第二链路,直到无法重新从待处理链路中确定第一链路以及第二链路,如果无法重新从待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路。
若第一链路与第二链路不能合并,由于首次确定的第一链路中的各个任务节点之间没有时间间隔,则将第一链路先确定为待处理链路中的一个理想状态链路。进而,再将第二链路确定为第一链路,以及在重新确定的第一链路的基础上,重新从待处理链路中确定第二链路即可。若无法重新从待处理链路中确定第二链路,则表征无法再重新从待处理链路中确定第一链路以及第二链路。此时,将重新确定的第一链路确定为理想状态链路。由此,可从待处理链路中确定两条理想状态链路,即首次确定的第一链路以及首次确定的第二链路(也即重新确定的第一链路)。若可从待处理链路中确定第二链路,则再判断重新确定的第一链路和第二链路能够合并。
在一个或多个实施例中,在确定首次确定的第一链路以及首次确定的第二链路为理想状态链路后,首次确定的第二链路的最后一个任务节点的预计产出时间为首次确定的第一链路的首个任务节点的开始时间。
例如,如图4c所示,图4c中首次确定的第一链路B-C和第二链路D-A不能够合并。此时,先将第一链路B-C确定为理想状态链路。由于第二链路D-A确定为第一链路后,无法再重新从待处理链路中确定第二链路,则D-A也为理想状态链路。此时,理想状态链路B-C下的第一时间间隔为C的结束时间和预计产出时间之间的时间,也即第二时间间隔,为buffer=180min,即3H。D-A下的第一时间间隔为A的结束时间和预计产出时间之间的时间,也即第三时间间隔,为mid_buffer=180min,即3H。
由此,如图4c所示,RunTime D=60min,RunTime A=30min,RunTime B=60min,RunTime C=120min。即任务节点D的运行时间为1H,任务节点A的运行时间为0.5H,D-A中各个任务节点的总运行时间为1.5H。在一种可能的实现方式中,各个目标任务节点的缓冲时间为第一时间间隔按照运行时间占比分配得到。当目标任务节点为D时,D的缓冲时间为1/1.5*3,即2H,如图4c中的MidBuf D=120min。当目标任务节点为A时,A的缓冲时间为0.5/1.5*3,即1H,如图4c中的MidBuf A=60min。作为一种可选示例,确定D-A的最后一个任务节点A的预计产出时间为B-C首个任务节点B的开始时间,即6:30。基于此,由A的预计产出时间减去A的运行时间以及A的缓冲时间,得到A的上一节点D的预计产出时间为5:00。
任务节点B的运行时间为1H,任务节点C的运行时间为2H,B-C中各个任务节点的总运行时间为3H。在一种可能的实现方式中,各个目标任务节点的缓冲时间为第一时间间隔按照运行时间占比分配得到。当目标任务节点为B时,B的缓冲时间为1/3*3,即1H,如图4c中的Buffer B=60min。当目标任务节点为C时,C的缓冲时间为2/3*3,即2H,如图4c中的Buffer C=120min。确定B-C的最后一个任务节点C的预计产出时间为12.30时,由C的预计产出时间减去C的运行时间以及C的缓冲时间,得到C的上一节点B的预计产出时间为8:30。
由A1-A2以及A21-A24,可确定各个任务节点均只有一个上游任务节点且任务节点之间存在时间间隔的原始链路中各个任务节点的预计产出时间。
在一种可能的实现方式中,原始链路中的任一任务节点有多个上游任务节点,或者,原始链路中的多个任务节点有同一上游任务节点。基于此,本申请实施例提供了一种S201中将原始链路转换为至少一条理想状态链路的具体实施方式,包括:
C1:如果原始链路中的任一任务节点有多个上游任务节点,或者,原始链路中的多个任务节点有同一上游任务节点,将原始链路中有多个上游任务节点或者有多个下游任务节点的任务节点确定为关键任务节点。
当原始链路中的任一任务节点有多个上游任务节点,或者,原始链路中的多个任务节点有同一上游任务节点时,说明原始链路中有并行执行的链路。此时,需要从中确定关键路径和非关键路径,再分别确定关键路径和非关键路径中各个任务节点的预计产出时间。
在一种可能的实现方式中,通过关键任务节点确定关键路径。具体地,先将原始链路中有多个上游任务节点或者有多个下游任务节点的任务节点确定为关键任务节点。参见图5,图5为本申请实施例提供的原始链路的示意图。如图5所示的原始链路中,有多个上游任务节点或者有多个下游任务节点的任务节点为A和D。则先将任务节点A和D确定为关键任务节点。
C2:在并行执行的链路中,将结束时间最晚的任务节点所在链路中的各任务节点确定为关键任务节点,将其他链路中的各任务节点确定为非关键任务节点。
另外,如图5所示的原始链路中,G-F和E为并行执行的链路,B和H-C为并行执行的链路。以G-F和E为例,F的结束时间为8:00,E的结束时间为6:00,则F的结束时间最晚,将F所在的G-F中的任务节点G和F确定为关键任务节点。将E确定为非关键任务节点。类似地,将结束时间为10:30的任务节点B确定为关键任务节点,将结束时间为10:10的C所在链路H-C的任务节点H和C确定为非关键任务节点。
C3:按照各个关键任务节点的开始时间以及结束时间,将各个关键任务节点组成关键路径,将关键路径确定为待处理路径。
由此,根据C1-C2确定关键任务节点之后,便可按照各个关键任务节点的开始时间以及结束时间,将各个关键任务节点组成关键路径。例如,图5中灰色所示关键任务节点所组成的关键路径为G-F-A-B-D。
进而,再将关键路径确定为待处理路径。
C4:将待处理路径转换为至少一条理想状态链路。
在一个或多个实施例中,若待处理路径中的任务节点之间存在时间间隔,按照A21-A24确定至少一条理想状态链路。若待处理路径中的任务节点之间不存在时间间隔,则待处理路径为理想状态链路,直接执行S201-S203即可。
如图5所示的待处理路径G-F-A-B-D中的G和F之间存在时间间隔,则需要按照A21-A24的方式确定至少一条理想状态链路。再确定理想状态链路中各个关键任务节点的预计产出时间。
参见图6a,图6a为本申请实施例提供的另一种链路分析示意图。如图6a所示,待处理路径为G-F-A-B-D。由A21-A24可得,第一链路为F-A-B-D,第一链路包括的各个任务节点的总运行时间为4.5H。第二链路为G,第二链路包括的各个任务节点的总运行时间为15min。第一任务节点为D,D的结束时间和预计产出时间分别为11:30和16:00,则第二时间间隔为4.5H。第二任务节点为G,G和F之间的时间间隔为30min,即第三时间间隔为30min。由此,得到的第一比值为4.5H/4.5H=1,第二比值为30min/15min=2。则第二比值大于第一比值,确定第一链路和第二链路不能合并。则第一链路F-A-B-D为理想状态链路。进而确定另一理想状态链路为G。链路F-A-B-D的第一时间间隔为D的结束时间和预计产出时间之间的时间,也即第二时间间隔,为4.5H。理想状态链路G的第一时间间隔为G的结束时间和预计产出时间之间的时间,也即第三时间间隔,为30min,即0.5H。
如图6a所示,运行时间GR=0.25H,FR=1H,AR=1.5H,BR=1H,DR=1H。其中,GR表示G的运行时间,FR表示F的运行时间,其余以此类推。在一种可能的实现方式中,各个目标任务节点的缓冲时间为第一时间间隔按照运行时间占比分配得到。当目标任务节点为G时,G的缓冲时间GB=0.25/0.25*0.5=0.5。作为一种可选示例,确定G的预计产出时间为F-A-B-D中首个任务节点F的开始时间,即7:00。
如图6a所示,F-A-B-D中各个目标任务节点的总运行时间为4.5H。在一种可能的实现方式中,各个目标任务节点的缓冲时间为第一时间间隔按照运行时间占比分配得到。由此得到,F的缓冲时间FB=1/4.5*4.5=1H,A的缓冲时间为AB=1.5/4.5*4.5=1.5H,B的缓冲时间BB=1/4.5*4.5=1H,D的缓冲时间为DB=1/4.5*4.5=1H。确定D的预计产出时间为16:00时,由D的预计产出时间减去D的运行时间以及D的缓冲时间,得到D的上一节点B的预计产出时间为14:00。进而,得到A的预计产出时间为12:00,F的预计产出时间为9:00。
由C1-C4的内容可知,当原始链路中的任一任务节点有多个上游任务节点,或者,原始链路中的多个任务节点有同一上游任务节点时,能够获取原始路径中的关键路径(也即待处理路径)中的至少一个理想状态链路,并进而可确定关键路径中各个关键任务节点的预计产出时间。
进一步,可再确定各个非关键任务节点的预计产出时间。基于此,在一种可能的实现方式中,本申请实施例提供了一种确定上述包括并行执行链路的原始链路中各个非关键任务节点的预计产出时间的具体实施方式,包括:
D1:在获得关键任务节点对应的预计产出时间之后,在并行执行的链路中,将非关键任务节点所在的链路确定为第三链路,将关键任务节点所在的链路确定为第四链路。
在一个或多个实施例中,先确定各个关键任务节点的预计产出时间,再确定非关键任务节点的预计产出时间。
举例说明,图5中的G-F和E为并行执行的链路,将E确定为第三链路,G-F确定为第四链路。B和H-C为并行执行的链路,将H-C确定为第三链路,将B确定为第四链路。
D2:将第四链路中的最后一个任务节点对应的预计产出时间确定为第三链路中的最后一个任务节点对应的预计产出时间。
在一个或多个实施例中,第三链路中的最后一个任务节点对应的预计产出时间和第四链路中的最后一个任务节点对应的预计产出时间相同。
例如,参见图6b,图6b为本申请实施例提供的另一种链路分析示意图。如图6c所示,第四链路B为最后一个任务节点,其预计产出时间为14:00,则将第三链路H-C中最后一个任务节点C对应的预计产出时间也确定为14:00。
例如,参见图6c,图6c为本申请实施例提供的另一种链路分析示意图。如图6b所示,第四链路G-F中最后一个任务节点F的预计产出时间为9:00,则将第三链路E对应的预计产出时间也确定为9:00。
D3:如果第三链路包括多个任务节点,且第三链路与第四链路具有同一个上游任务节点,将该上游任务节点对应的预计产出时间确定为第三链路中的首个任务节点的开始时间,根据第三链路中各个任务节点的开始时间、运行时间、第三路径中的最后一个任务节点对应的预计产出时间,确定第三路径中其他各个任务节点对应的预计产出时间。
例如,第三链路H-C中包括多个任务节点,且第三链路H-C和第四链路B存在同一上游任务节点A,则将A对应的预计产出时间12:00确定为第三链路H-C中首个任务节点H的开始时间。则H的开始时间12:00到C的预计产出时间14:00之间的时间为2H。由于H和C的运行时间分别为HR=10min和CR=30min,而且H和C之间没有时间间隔,则第三链路的总运行时间为40min,总缓冲时间为80min。按照运行时间的比例,将总缓冲时间分配给第一链路中的各个任务节点,则H的缓冲时间HB=20min,C的缓冲时间CB=60min。则可确定H的预计产出时间为C点预计产出时间减去C的运行时间以及C的缓冲时间,即12:30。
D4:如果第三链路包括多个任务节点,且第三链路与第四链路不具有同一个上游任务节点,根据第三链路中各个任务节点的开始时间、运行时间、第三链路中的最后一个任务节点对应的预计产出时间,确定第三链路中其他各个任务节点对应的预计产出时间。
当第三链路包括多个任务节点,且第三链路与第四链路不具有同一个上游任务节点时,直接根据各个任务节点的运行时间比例确定各个任务节点的缓冲时间。此时,第三链路的第一个任务节点的开始时间和原始链路中该任务节点的开始时间相同。直接根据第三链路中的最后一个任务节点对应的预计产出时间、运行时间和缓冲时间,确定最后一个任务节点的上游任务节点的预计产出时间,以此类推。
根据D1-D4,可确定包括并行执行链路的原始链路中各个非关键任务节点的预计产出时间。
在一个或多个实施例中,根据第三任务节点的业务数据日期以及第三任务节点与第四任务节点的依赖偏移量,确定第四任务节点的业务数据日期,第三任务节点为原始链路中的任一任务节点,第四任务节点为与第三任务节点相邻的上游任务节点。
例如,参见图7a和图7b,分别为本申请实施例提供的考虑依赖偏移量的理想状态链路示意图和时间对比示意图。如图7a和图7b所示,第三任务节点为D,第四任务节点为B。若D对B的依赖偏移量为-1,则B的结束时间应为前一日的10:30,导致B的结束时间早于C,此时关键任务节点应选择如图7a中灰色标记所示。B的预计产出时间与C相同,若C的预计产出时间为14:00,则B的预计产出时间同样为14:00。另外,若假设今天是2021年8月22日,D需要产出20210821的数据,则B需要在14:00前产出20210820的数据。另外,C需要在14:00前产出20210821的数据。其中,图7a和图7b中的T为业务数据日期,B、C、D的预计产出时间可参见图7a和图7b所示。由此,能够确定跨天依赖场景下各个任务节点的预计产出时间的偏移计算问题。
基于上述方法实施例提供的一种确定任务节点预计产出时间的方法,本申请实施例还提供了一种确定任务节点预计产出时间的装置,下面将结合附图对确定任务节点预计产出时间的装置进行说明。
参见图8所示,该图为本申请实施例提供的一种确定任务节点预计产出时间的装置的结构示意图。如图8所示,该确定任务节点预计产出时间的装置包括:
转换单元801,用于将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
第一确定单元802,用于将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
第二确定单元803,用于根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
在一种可能的实施方式中,所述转换单元801,包括:
第一确定子单元,用于如果所述原始链路中的任一任务节点有多个上游任务节点,或者,所述原始链路中的多个任务节点有同一上游任务节点,将所述原始链路中有多个上游任务节点或者有多个下游任务节点的任务节点确定为关键任务节点;
第二确定子单元,用于在并行执行的链路中,将结束时间最晚的任务节点所在链路中的各任务节点确定为关键任务节点,将其他链路中的各任务节点确定为非关键任务节点;
组成子单元,用于按照各个所述关键任务节点的开始时间以及结束时间,将各个所述关键任务节点组成关键路径,将所述关键路径确定为待处理路径;
第一转换子单元,用于将所述待处理路径转换为至少一条理想状态链路。
在一种可能的实施方式中,所述转换单元801,包括:
第三确定子单元,用于如果所述原始链路中的各个任务节点均只有一个上游任务节点,且所述原始链路中的任务节点之间存在时间间隔,将所述原始链路确定为待处理路径;
第二转换子单元,用于将所述待处理路径转换为至少一条理想状态链路。
在一种可能的实施方式中,所述第一转换子单元或所述第二转换子单元,包括:
第四确定子单元,用于从所述待处理链路中确定第一链路以及第二链路;所述第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,所述第一任务节点的结束时间与所述第一任务节点对应的预计产出时间之间具有第二时间间隔,在首次确定第一链路时,所述第一任务节点为所述待处理链路中的最后一个任务节点;所述第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,所述第二任务节点与所述第一链路的首个任务节点之间具有第三时间间隔,所述第二任务节点为所述第一链路的首个任务节点的相邻上游节点;
第一判断子单元,用于判断所述第一链路与所述第二链路是否能够合并;
第五确定子单元,用于如果能够合并,将所述第三时间间隔转移到所述第二时间间隔中以将所述第一链路与所述第二链路进行合并,将合并后的链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路;
第六确定子单元,用于如果不能合并,将所述第一链路确定为理想状态链路,并将所述第二链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路。
在一种可能的实施方式中,所述第一判断子单元,包括:
第一计算子单元,用于计算所述第二时间间隔与所述第一链路包括的各个任务节点的总运行时间的比值,得到第一比值;
第二计算子单元,用于计算所述第三时间间隔与所述第二链路包括的各个任务节点的总运行时间的比值,得到第二比值;
第二判断子单元,用于如果所述第二比值小于或等于所述第一比值,判断所述第一链路与所述第二链路能够合并;
第三判断子单元,用于如果所述第二比值大于所述第一比值,判断所述第一链路与所述第二链路不能合并。
在一种可能的实施方式中,所述装置还包括:
第三确定单元,用于在获得所述关键任务节点对应的预计产出时间之后,在并行执行的链路中,将所述非关键任务节点所在的链路确定为第三链路,将所述关键任务节点所在的链路确定为第四链路;
第四确定单元,用于将所述第四链路中的最后一个任务节点对应的预计产出时间确定为所述第三链路中的最后一个任务节点对应的预计产出时间;
第五确定单元,用于如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路具有同一个上游任务节点,将该上游任务节点对应的预计产出时间确定为所述第三链路中的首个任务节点的开始时间,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三路径中的最后一个任务节点对应的预计产出时间,确定所述第三路径中其他各个任务节点对应的预计产出时间;
第六确定单元,用于如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路不具有同一个上游任务节点,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三链路中的最后一个任务节点对应的预计产出时间,确定所述第三链路中其他各个任务节点对应的预计产出时间。
在一种可能的实施方式中,所述装置还包括:
第七确定单元,用于根据第三任务节点的业务数据日期以及所述第三任务节点与第四任务节点的依赖偏移量,确定所述第四任务节点的业务数据日期,所述第三任务节点为所述原始链路中的任一任务节点,所述第四任务节点为与所述第三任务节点相邻的上游任务节点。
基于上述方法实施例提供的一种确定任务节点预计产出时间的方法,本申请还提供一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的确定任务节点预计产出时间的方法。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备900的结构示意图。本申请实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant,个人数字助理)、PAD(portable androiddevice,平板电脑)、PMP(Portable Media Player,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV(television,电视机)、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置906加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置906;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置906被安装,或者从ROM902被安装。在该计算机程序被处理装置901执行时,执行本申请实施例的方法中限定的上述功能。
本申请实施例提供的电子设备与上述实施例提供的确定任务节点预计产出时间的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
基于上述方法实施例提供的一种确定任务节点预计产出时间的方法,本申请实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一实施例所述的确定任务节点预计产出时间的方法。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述确定任务节点预计产出时间的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定,例如,语音数据采集模块还可以被描述为“数据采集模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本申请的一个或多个实施例,【示例一】提供了一种确定任务节点预计产出时间的方法,所述方法包括:
将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
根据本申请的一个或多个实施例,【示例二】提供了一种确定任务节点预计产出时间的方法,所述将原始链路转换为至少一条理想状态链路,包括:
如果所述原始链路中的任一任务节点有多个上游任务节点,或者,所述原始链路中的多个任务节点有同一上游任务节点,将所述原始链路中有多个上游任务节点或者有多个下游任务节点的任务节点确定为关键任务节点;
在并行执行的链路中,将结束时间最晚的任务节点所在链路中的各任务节点确定为关键任务节点,将其他链路中的各任务节点确定为非关键任务节点;
按照各个所述关键任务节点的开始时间以及结束时间,将各个所述关键任务节点组成关键路径,将所述关键路径确定为待处理路径;
将所述待处理路径转换为至少一条理想状态链路。
根据本申请的一个或多个实施例,【示例三】提供了一种确定任务节点预计产出时间的方法,所述将原始链路转换为至少一条理想状态链路,包括:
如果所述原始链路中的各个任务节点均只有一个上游任务节点,且所述原始链路中的任务节点之间存在时间间隔,将所述原始链路确定为待处理路径;
将所述待处理路径转换为至少一条理想状态链路。
根据本申请的一个或多个实施例,【示例四】提供了一种确定任务节点预计产出时间的方法,所述将所述待处理路径转换为至少一条理想状态链路,包括:
从所述待处理链路中确定第一链路以及第二链路;所述第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,所述第一任务节点的结束时间与所述第一任务节点对应的预计产出时间之间具有第二时间间隔,在首次确定第一链路时,所述第一任务节点为所述待处理链路中的最后一个任务节点;所述第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,所述第二任务节点与所述第一链路的首个任务节点之间具有第三时间间隔,所述第二任务节点为所述第一链路的首个任务节点的相邻上游节点;
判断所述第一链路与所述第二链路是否能够合并;
如果能够合并,将所述第三时间间隔转移到所述第二时间间隔中以将所述第一链路与所述第二链路进行合并,将合并后的链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路;
如果不能合并,将所述第一链路确定为理想状态链路,并将所述第二链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路。
根据本申请的一个或多个实施例,【示例五】提供了一种确定任务节点预计产出时间的方法,所述判断所述第一链路与所述第二链路是否能够合并,包括:
计算所述第二时间间隔与所述第一链路包括的各个任务节点的总运行时间的比值,得到第一比值;
计算所述第三时间间隔与所述第二链路包括的各个任务节点的总运行时间的比值,得到第二比值;
如果所述第二比值小于或等于所述第一比值,判断所述第一链路与所述第二链路能够合并;
如果所述第二比值大于所述第一比值,判断所述第一链路与所述第二链路不能合并。
根据本申请的一个或多个实施例,【示例六】提供了一种确定任务节点预计产出时间的方法,所述方法还包括:
在获得所述关键任务节点对应的预计产出时间之后,在并行执行的链路中,将所述非关键任务节点所在的链路确定为第三链路,将所述关键任务节点所在的链路确定为第四链路;
将所述第四链路中的最后一个任务节点对应的预计产出时间确定为所述第三链路中的最后一个任务节点对应的预计产出时间;
如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路具有同一个上游任务节点,将该上游任务节点对应的预计产出时间确定为所述第三链路中的首个任务节点的开始时间,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三路径中的最后一个任务节点对应的预计产出时间,确定所述第三路径中其他各个任务节点对应的预计产出时间;
如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路不具有同一个上游任务节点,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三链路中的最后一个任务节点对应的预计产出时间,确定所述第三链路中其他各个任务节点对应的预计产出时间。
根据本申请的一个或多个实施例,【示例七】提供了一种确定任务节点预计产出时间的方法,所述方法还包括:
根据第三任务节点的业务数据日期以及所述第三任务节点与第四任务节点的依赖偏移量,确定所述第四任务节点的业务数据日期,所述第三任务节点为所述原始链路中的任一任务节点,所述第四任务节点为与所述第三任务节点相邻的上游任务节点。
根据本申请的一个或多个实施例,【示例八】提供了一种确定任务节点预计产出时间的装置,包括:
转换单元,用于将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
第一确定单元,用于将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
第二确定单元,用于根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
根据本申请的一个或多个实施例,【示例九】提供了一种确定任务节点预计产出时间的装置,所述转换单元,包括:
第一确定子单元,用于如果所述原始链路中的任一任务节点有多个上游任务节点,或者,所述原始链路中的多个任务节点有同一上游任务节点,将所述原始链路中有多个上游任务节点或者有多个下游任务节点的任务节点确定为关键任务节点;
第二确定子单元,用于在并行执行的链路中,将结束时间最晚的任务节点所在链路中的各任务节点确定为关键任务节点,将其他链路中的各任务节点确定为非关键任务节点;
组成子单元,用于按照各个所述关键任务节点的开始时间以及结束时间,将各个所述关键任务节点组成关键路径,将所述关键路径确定为待处理路径;
第一转换子单元,用于将所述待处理路径转换为至少一条理想状态链路。
根据本申请的一个或多个实施例,【示例十】提供了一种确定任务节点预计产出时间的装置,所述转换单元,包括:
第三确定子单元,用于如果所述原始链路中的各个任务节点均只有一个上游任务节点,且所述原始链路中的任务节点之间存在时间间隔,将所述原始链路确定为待处理路径;
第二转换子单元,用于将所述待处理路径转换为至少一条理想状态链路。
根据本申请的一个或多个实施例,【示例十一】提供了一种确定任务节点预计产出时间的装置,所述第一转换子单元或所述第二转换子单元,包括:
第四确定子单元,用于从所述待处理链路中确定第一链路以及第二链路;所述第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,所述第一任务节点的结束时间与所述第一任务节点对应的预计产出时间之间具有第二时间间隔,在首次确定第一链路时,所述第一任务节点为所述待处理链路中的最后一个任务节点;所述第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,所述第二任务节点与所述第一链路的首个任务节点之间具有第三时间间隔,所述第二任务节点为所述第一链路的首个任务节点的相邻上游节点;
第一判断子单元,用于判断所述第一链路与所述第二链路是否能够合并;
第五确定子单元,用于如果能够合并,将所述第三时间间隔转移到所述第二时间间隔中以将所述第一链路与所述第二链路进行合并,将合并后的链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路;
第六确定子单元,用于如果不能合并,将所述第一链路确定为理想状态链路,并将所述第二链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路。
根据本申请的一个或多个实施例,【示例十二】提供了一种确定任务节点预计产出时间的装置,所述第一判断子单元,包括:
第一计算子单元,用于计算所述第二时间间隔与所述第一链路包括的各个任务节点的总运行时间的比值,得到第一比值;
第二计算子单元,用于计算所述第三时间间隔与所述第二链路包括的各个任务节点的总运行时间的比值,得到第二比值;
第二判断子单元,用于如果所述第二比值小于或等于所述第一比值,判断所述第一链路与所述第二链路能够合并;
第三判断子单元,用于如果所述第二比值大于所述第一比值,判断所述第一链路与所述第二链路不能合并。
根据本申请的一个或多个实施例,【示例十三】提供了一种确定任务节点预计产出时间的装置,所述装置还包括:
第三确定单元,用于在获得所述关键任务节点对应的预计产出时间之后,在并行执行的链路中,将所述非关键任务节点所在的链路确定为第三链路,将所述关键任务节点所在的链路确定为第四链路;
第四确定单元,用于将所述第四链路中的最后一个任务节点对应的预计产出时间确定为所述第三链路中的最后一个任务节点对应的预计产出时间;
第五确定单元,用于如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路具有同一个上游任务节点,将该上游任务节点对应的预计产出时间确定为所述第三链路中的首个任务节点的开始时间,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三路径中的最后一个任务节点对应的预计产出时间,确定所述第三路径中其他各个任务节点对应的预计产出时间;
第六确定单元,用于如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路不具有同一个上游任务节点,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三链路中的最后一个任务节点对应的预计产出时间,确定所述第三链路中其他各个任务节点对应的预计产出时间。
根据本申请的一个或多个实施例,【示例十四】提供了一种确定任务节点预计产出时间的装置,所述装置还包括:
第七确定单元,用于根据第三任务节点的业务数据日期以及所述第三任务节点与第四任务节点的依赖偏移量,确定所述第四任务节点的业务数据日期,所述第三任务节点为所述原始链路中的任一任务节点,所述第四任务节点为与所述第三任务节点相邻的上游任务节点。
根据本申请的一个或多个实施例,【示例十五】提供了一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一所述的确定任务节点预计产出时间的方法。
根据本申请的一个或多个实施例,【示例十六】提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一所述的确定任务节点预计产出时间的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种确定任务节点预计产出时间的方法,其特征在于,所述方法包括:
将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的实际结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
2.根据权利要求1所述的方法,其特征在于,所述将原始链路转换为至少一条理想状态链路,包括:
如果所述原始链路中的任一任务节点有多个上游任务节点,或者,所述原始链路中的多个任务节点有同一上游任务节点,将所述原始链路中有多个上游任务节点或者有多个下游任务节点的任务节点确定为关键任务节点;
在并行执行的链路中,将结束时间最晚的任务节点所在链路中的各任务节点确定为关键任务节点,将其他链路中的各任务节点确定为非关键任务节点;
按照各个所述关键任务节点的开始时间以及结束时间,将各个所述关键任务节点组成关键链路,将所述关键链路确定为待处理链路;
将所述待处理链路转换为至少一条理想状态链路。
3.根据权利要求1所述的方法,其特征在于,所述将原始链路转换为至少一条理想状态链路,包括:
如果所述原始链路中的各个任务节点均只有一个上游任务节点,且所述原始链路中的任务节点之间存在时间间隔,将所述原始链路确定为待处理链路;
将所述待处理链路转换为至少一条理想状态链路。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述待处理链路转换为至少一条理想状态链路,包括:
从所述待处理链路中确定第一链路以及第二链路;所述第一链路包括第一任务节点以及其上游不存在时间间隔的各个任务节点,所述第一任务节点的结束时间与所述第一任务节点对应的预计产出时间之间具有第二时间间隔,在首次确定第一链路时,所述第一任务节点为所述待处理链路中的最后一个任务节点;所述第二链路包括第二任务节点以及其上游不存在时间间隔的各个任务节点,所述第二任务节点与所述第一链路的首个任务节点之间具有第三时间间隔,所述第二任务节点为所述第一链路的首个任务节点的相邻上游节点;
判断所述第一链路与所述第二链路是否能够合并;
如果能够合并,将所述第三时间间隔转移到所述第二时间间隔中以将所述第一链路与所述第二链路进行合并,将合并后的链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路;
如果不能合并,将所述第一链路确定为理想状态链路,并将所述第二链路确定为所述第一链路,重新从所述待处理链路中确定第一链路以及第二链路,直到无法重新从所述待处理链路中确定第一链路以及第二链路,如果无法重新从所述待处理链路中确定第一链路以及第二链路,将重新确定的第一链路确定为理想状态链路。
5.根据权利要求4所述的方法,其特征在于,所述判断所述第一链路与所述第二链路是否能够合并,包括:
计算所述第二时间间隔与所述第一链路包括的各个任务节点的总运行时间的比值,得到第一比值;
计算所述第三时间间隔与所述第二链路包括的各个任务节点的总运行时间的比值,得到第二比值;
如果所述第二比值小于或等于所述第一比值,判断所述第一链路与所述第二链路能够合并;
如果所述第二比值大于所述第一比值,判断所述第一链路与所述第二链路不能合并。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在获得所述关键任务节点对应的预计产出时间之后,在并行执行的链路中,将所述非关键任务节点所在的链路确定为第三链路,将所述关键任务节点所在的链路确定为第四链路;
将所述第四链路中的最后一个任务节点对应的预计产出时间确定为所述第三链路中的最后一个任务节点对应的预计产出时间;
如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路具有同一个上游任务节点,将该上游任务节点对应的预计产出时间确定为所述第三链路中的首个任务节点的开始时间,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三链路中的最后一个任务节点对应的预计产出时间,确定所述第三链路中其他各个任务节点对应的预计产出时间;
如果所述第三链路包括多个任务节点,且所述第三链路与所述第四链路不具有同一个上游任务节点,根据所述第三链路中各个任务节点的开始时间、运行时间、所述第三链路中的最后一个任务节点对应的预计产出时间,确定所述第三链路中其他各个任务节点对应的预计产出时间。
7.根据权利要求1-3和6任一项所述的方法,其特征在于,所述方法还包括:
根据第三任务节点的业务数据日期以及所述第三任务节点与第四任务节点的依赖偏移量,确定所述第四任务节点的业务数据日期,所述第三任务节点为所述原始链路中的任一任务节点,所述第四任务节点为与所述第三任务节点相邻的上游任务节点。
8.一种确定任务节点预计产出时间的装置,其特征在于,所述装置包括:
转换单元,用于将原始链路转换为至少一条理想状态链路,所述理想状态链路包括的任务节点之间没有时间间隔,所述理想状态链路的最后一个任务节点的实际结束时间与所述理想状态链路的最后一个任务节点对应的预计产出时间之间具有第一时间间隔;
第一确定单元,用于将目标任务节点的运行时间与所述理想状态链路包括的各个任务节点的总运行时间的比值,乘以所述第一时间间隔,确定所述目标任务节点的缓冲时间;所述目标任务节点分别为所述理想状态链路包括的每一任务节点;
第二确定单元,用于根据所述理想状态链路包括的每一任务节点的运行时间与缓冲时间,确定所述理想状态链路包括的每一任务节点对应的预计产出时间。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的确定任务节点预计产出时间的方法。
10.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的确定任务节点预计产出时间的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210074254.2A CN114510329B (zh) | 2022-01-21 | 2022-01-21 | 一种确定任务节点预计产出时间的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210074254.2A CN114510329B (zh) | 2022-01-21 | 2022-01-21 | 一种确定任务节点预计产出时间的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114510329A CN114510329A (zh) | 2022-05-17 |
CN114510329B true CN114510329B (zh) | 2023-08-08 |
Family
ID=81549688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210074254.2A Active CN114510329B (zh) | 2022-01-21 | 2022-01-21 | 一种确定任务节点预计产出时间的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510329B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102533A (zh) * | 2014-06-17 | 2014-10-15 | 华中科技大学 | 一种基于带宽感知的Hadoop调度方法和系统 |
CN104598727A (zh) * | 2015-01-07 | 2015-05-06 | 哈尔滨工业大学 | 面向城市道路环境考虑交叉路口的VANETs中V2V的链路时延动态预测方法 |
CN106506188A (zh) * | 2015-09-08 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 一种确定关键节点的方法和设备 |
CN107276729A (zh) * | 2017-07-21 | 2017-10-20 | 中国联合网络通信集团有限公司 | 长链路业务请求超时重发方法及中间节点 |
CN107291533A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 确定上游节点瓶颈度及系统瓶颈度的方法、装置 |
CN108923983A (zh) * | 2018-07-13 | 2018-11-30 | 南昌航空大学 | 机会网络链路的预测方法、装置及可读存储介质 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
CN112286672A (zh) * | 2020-12-30 | 2021-01-29 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
WO2021174837A1 (zh) * | 2020-03-04 | 2021-09-10 | 平安科技(深圳)有限公司 | 基于整体业务链路断点监控方法、装置、终端及存储介质 |
CN113553178A (zh) * | 2021-07-15 | 2021-10-26 | 北京字跳网络技术有限公司 | 任务处理方法、装置和电子设备 |
CN113760677A (zh) * | 2021-02-02 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 异常链路分析方法、装置、设备及存储介质 |
-
2022
- 2022-01-21 CN CN202210074254.2A patent/CN114510329B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102533A (zh) * | 2014-06-17 | 2014-10-15 | 华中科技大学 | 一种基于带宽感知的Hadoop调度方法和系统 |
CN104598727A (zh) * | 2015-01-07 | 2015-05-06 | 哈尔滨工业大学 | 面向城市道路环境考虑交叉路口的VANETs中V2V的链路时延动态预测方法 |
CN106506188A (zh) * | 2015-09-08 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 一种确定关键节点的方法和设备 |
CN107291533A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 确定上游节点瓶颈度及系统瓶颈度的方法、装置 |
CN107276729A (zh) * | 2017-07-21 | 2017-10-20 | 中国联合网络通信集团有限公司 | 长链路业务请求超时重发方法及中间节点 |
CN108923983A (zh) * | 2018-07-13 | 2018-11-30 | 南昌航空大学 | 机会网络链路的预测方法、装置及可读存储介质 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
WO2021174837A1 (zh) * | 2020-03-04 | 2021-09-10 | 平安科技(深圳)有限公司 | 基于整体业务链路断点监控方法、装置、终端及存储介质 |
CN112286672A (zh) * | 2020-12-30 | 2021-01-29 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN113760677A (zh) * | 2021-02-02 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 异常链路分析方法、装置、设备及存储介质 |
CN113553178A (zh) * | 2021-07-15 | 2021-10-26 | 北京字跳网络技术有限公司 | 任务处理方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
Sounding Node Set and Sounding Interval Determination for IEEE 802.11ac MU-MIMO;Junsu Choi;《 IEEE Transactions on Vehicular Technology 》;第65卷(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114510329A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919449B (zh) | 一种计算任务的调度控制方法及电子设备 | |
CN111240834A (zh) | 任务执行方法、装置、电子设备和存储介质 | |
CN116703131B (zh) | 电力资源分配方法、装置、电子设备和计算机可读介质 | |
WO2022108527A1 (zh) | 模型处理方法、系统、装置、介质及电子设备 | |
CN117931829B (zh) | 数据库更新方法、装置、电子设备及存储介质 | |
CN114510329B (zh) | 一种确定任务节点预计产出时间的方法、装置及设备 | |
CN115907136B (zh) | 电动汽车调度方法、装置、设备和计算机可读介质 | |
CN116821187A (zh) | 基于数据库的数据处理方法、装置、介质和电子设备 | |
CN115729645A (zh) | 微服务配置方法、装置、电子设备及可读存储介质 | |
CN116360971A (zh) | 基于异构计算框架的处理方法、装置、设备及介质 | |
CN110750242B (zh) | 一种部署文件的方法、系统、介质和电子设备 | |
CN112989773A (zh) | 用于同步更新数据的方法、装置、设备和计算机可读介质 | |
CN111580890A (zh) | 用于处理特征的方法、装置、电子设备和计算机可读介质 | |
CN116755889B (zh) | 应用于服务器集群数据交互的数据加速方法、装置与设备 | |
CN111339643A (zh) | 资源消耗评估方法、装置、电子设备及存储介质 | |
CN110417596B (zh) | 用于可用区的扩容方法和装置 | |
CN111258670B (zh) | 组件数据的管理方法、装置、电子设备和存储介质 | |
CN116319322B (zh) | 电力设备节点通信连接方法、装置、设备和计算机介质 | |
CN114968936B (zh) | 一种基于数据湖的时间线获取方法、装置、执行节点 | |
CN118158082B (zh) | 智能家居设备通信资源报文更新方法、装置、设备与介质 | |
CN116700956B (zh) | 请求处理方法、装置、电子设备和计算机可读介质 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN111950601B (zh) | 一种构建资源返还表现预测模型的方法、装置和电子设备 | |
CN111221513B (zh) | 一种调整层叠样式表的方法、装置、介质和电子设备 | |
CN118433086A (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 |