本申请涉及流水线任务,尤其涉及一种关键路径获取方法、装置及电子设备。
背景技术:
1、aoe(activity on edge)是一个带权的有向无环图,aoe中的节点表示事件(event),弧表示活动,弧的权值表示活动持续的时间。入度为零的节点为源点,出度为零的节点为汇点。aov(activity on vertex network)也是有向无环图,aov中的节点表示活动,用弧表示活动之间的优先关系。
2、由于aoe中仅记录有活动持续时间而没有事件持续时间,因此,在特定场景下,无法来计算出源点和汇点之间的关键路径。而aov中仅近路活动之间的优先关系,也无法计算关键路径。
技术实现思路
1、有鉴于此,本申请提供一种关键路径获取方法、装置及电子设备,用以解决基于aoe无法计算关键路径的技术问题。如下:
2、一种关键路径获取方法,所述方法包括:
3、构建节点流程图,所述节点流程图为有向无环图,且所述节点流程图中包含源点、汇点和多个节点,所述源点与至少一个所述节点具有指向关系,所述多个节点中任意节点与至少一个其他节点之间具有指向关系,所述汇点与至少一个所述节点之间具有指向关系,且,所述节点对应有节点持续时长,所述节点持续时长表征执行所述节点对应的事件所需要的时长;
4、根据所述指向关系和所述节点持续时长,获得所述节点流程图中所述源点与所述汇点之间的关键路径,所述关键路径中包含有多个关键节点,且所述关键路径在所述源点与所述汇点之间的所有路径中对应的路径用时最长。
5、上述方法,优选的,所述构建节点流程图,包括:
6、初始化节点流程图,所述节点流程图包含初始化的源点、初始化的汇点和多个初始化的节点;
7、根据所述多个节点对应的aov图,设置所述源点、所述汇点和所述节点之间的指向关系,以使得所述源点指向至少一个所述节点,且至少一个所述节点指向所述汇点,且每个所述节点指向其他一个或多个所述节点;
8、根据所述多个节点对应的aoe图,设置所述节点对应的节点持续时长。
9、上述方法,优选的,所述节点至少包含时长变量,所述时长变量用于记录所述节点对应的节点持续时长;
10、其中,所述根据所述多个节点对应的aoe图,设置所述节点对应的节点持续时长,包括:
11、识别所述节点的节点类型,所述节点类型对应于时长获取算法;
12、采用所述节点类型对应的时长获取算法,对所述aoe图中所述节点对应的至少一项时长信息进行处理,以得到所述节点对应的节点持续时长。
13、上述方法,优选的,所述节点至少包含入度变量,所述入度变量用于记录所述节点的入度,所述入度的值为指向所述节点的其他节点的数量值,所述入度根据所述aov图中所述节点之间的指向关系确定;
14、其中,所述源点的入度为0。
15、上述方法,优选的,根据所述指向关系和所述节点持续时长,获得所述节点流程图中所述源点与所述汇点之间的关键路径,包括:
16、根据所述指向关系和所述节点持续时长,获得每个所述节点的最早开始时间;
17、根据所述最早开始时间、所述指向关系和所述节点持续时长,获得每个所述节点的最晚开始时间;
18、获得所述最早开始时间和所述最晚开始时间相一致的节点作为关键节点,所述关键节点、所述源点和所述汇点组成所述源点与所述汇点之间的关键路径。
19、上述方法,优选的,根据所述指向关系和所述节点持续时长,获得每个所述节点的最早开始时间,包括:
20、设置所述源点的最早开始时间为第一数值;
21、根据所述第一数值,以每个所述节点分别作为当前节点,将指向所述当前节点的第一节点的最早开始时间加上所述第一节点对应的节点持续时长,以得到所述当前节点对应的至少一个第一候选时间,将最大的所述第一候选时间作为所述当前节点的最早开始时间。
22、上述方法,优选的,还包括:
23、将指向所述汇点的第二节点的最早开始时间加上所述第二节点对应的节点持续时长,以得到所述汇点对应的至少一个第二候选时间,将最大的所述第二候选时间作为所述汇点对应的最早开始时间。
24、上述方法,优选的,根据所述最早开始时间、所述指向关系和所述节点持续时长,获得所述源点、所述汇点和每个所述节点的最晚开始时间,包括:
25、将所述汇点的最早开始时间设置为所述汇点的最晚开始时间;
26、根据所述汇点的最晚开始时间,以每个所述节点分别为当前节点,将所述当前节点指向的第三节点的最晚开始时间中的最小时间减去所述当前节点对应的节点持续时长,以得到所述当前节点的最晚开始时间。
27、一种关键路径获取装置,包括:
28、图构建单元,用于构建节点流程图,所述节点流程图为有向无环图,且所述节点流程图中包含源点、汇点和多个节点,所述源点与至少一个所述节点具有指向关系,所述多个节点中任意节点与至少一个其他节点之间具有指向关系,所述汇点与至少一个所述节点之间具有指向关系,且,所述节点对应有节点持续时长,所述节点持续时长表征执行所述节点对应的事件所需要的时长;
29、路径获取单元,用于根据所述指向关系和所述节点持续时长,获得所述节点流程图中所述源点与所述汇点之间的关键路径,所述关键路径中包含有多个关键节点,且所述关键路径在所述源点与所述汇点之间的所有路径中对应的路径用时最长。
30、一种电子设备,包括:
31、存储器,用于存储计算机程序以及所述计算机程序运行所产生的数据;
32、处理器,用于运行所述计算机程序,以实现:构建节点流程图,所述节点流程图为有向无环图,且所述节点流程图中包含源点、汇点和多个节点,所述源点与至少一个所述节点具有指向关系,所述多个节点中任意节点与至少一个其他节点之间具有指向关系,所述汇点与至少一个所述节点之间具有指向关系,且,所述节点对应有节点持续时长,所述节点持续时长表征执行所述节点对应的事件所需要的时长;根据所述指向关系和所述节点持续时长,获得所述节点流程图中所述源点与所述汇点之间的关键路径,所述关键路径中包含有多个关键节点,且所述关键路径在所述源点与所述汇点之间的所有路径中对应的路径用时最长。
33、从上述技术方案可以看出,本申请公开的一种关键路径获取方法、装置及电子设备中,能够构建所包含的节点具有节点持续时长的有向无环图,进而基于有向无环图中每个节点所对应的节点持续时长结合节点之间以及节点与源点和汇点之间的指向关系,可以获得有向无环图中源点到汇点之间的关键节点,这些关键节点和源点以及汇点组成关键路径,该关键路径在源点和汇点之间的所有路径中对应的路径用时最长。可见,本申请中通过构建所包含的节点具有节点持续时长的有向无环图能够实现源点和汇点之间关键路径的计算。
1.一种关键路径获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述构建节点流程图,包括:
3.根据权利要求2所述的方法,其特征在于,所述节点至少包含时长变量,所述时长变量用于记录所述节点对应的节点持续时长;
4.根据权利要求2所述的方法,其特征在于,所述节点至少包含入度变量,所述入度变量用于记录所述节点的入度,所述入度的值为指向所述节点的其他节点的数量值,所述入度根据所述aov图中所述节点之间的指向关系确定;
5.根据权利要求1或2所述的方法,其特征在于,根据所述指向关系和所述节点持续时长,获得所述节点流程图中所述源点与所述汇点之间的关键路径,包括:
6.根据权利要求5所述的方法,其特征在于,根据所述指向关系和所述节点持续时长,获得每个所述节点的最早开始时间,包括:
7.根据权利要求6所述的方法,其特征在于,还包括:
8.根据权利要求5或7所述的方法,其特征在于,根据所述最早开始时间、所述指向关系和所述节点持续时长,获得所述源点、所述汇点和每个所述节点的最晚开始时间,包括:
9.一种关键路径获取装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括: