本发明涉及图算法,尤其涉及一种时序路径处理方法及装置、存储介质。
背景技术:
1、时序图(sequence diagram),又名序列图、循序图,是一种uml交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。现实生活中的很多场景都可以建模成时序图,例如在特定的时间点或者时间段一个顶点与另一个顶点通信。
2、但是现有技术中,关于对时序图中不同类型路径的研究,通常仅考虑时间因素,导致时序图的应用范围具有一定的局限性。
技术实现思路
1、为解决上述技术问题,本发明实施例期望提供一种时序路径处理方法及装置、存储介质,能够基于出发时间和损耗两个因素计算时序路径的代价,扩大时序图的应用范围,并实现了时序图代价路径计算的目的。
2、本发明的技术方案是这样实现的:
3、本发明实施例提供一种时序路径处理方法,包括:
4、获取时序信息;所述时序信息包括节点对应的时间信息和损耗信息;
5、根据所述节点对应的时间信息和损耗信息,构建时序边和时序路径;其中,所述时序路径表征至少两个节点之间的路径,所述至少两个节点表征所述时序路径的始发点或起始点;所述时序边连接于所述至少两个节点中的每两个相邻节点之间;
6、基于所述时序路径两端的两个节点对应的所述时间信息和所述损耗信息,以及预设的代价公式,处理得到所述时序路径对应的代价。
7、上述方案中,所述时间信息包括:到达时间信息和出发时间信息。
8、上述方案中,所述基于所述时序路径两端的两个节点对应的所述时间信息和所述损耗信息,以及预设的代价公式,处理得到所述时序路径对应的代价,包括:
9、根据所述时序路径两端的两个节点对应的所述出发时间信息和所述损耗信息,以及所述预设的代价公式,处理得到所述时序路径对应的所述代价。
10、上述方案中,所述方法还包括:
11、基于所述时间信息,对所述时序边进行剪枝处理,得到剪枝时序边;
12、根据所述剪枝时序边,构建待剪枝时序路径;
13、根据所述代价,对所述待剪枝时序路径进行剪枝处理,得到剪枝时序路径。
14、上述方案中,所述基于所述时序信息,对所述时序边进行剪枝处理,得到剪枝时序边,包括:
15、根据所述出发时间,对所述时序边进行排序,得到排序后的时序边;
16、根据所述出发时间,对所述排序后的时序边进行剪枝处理,得到所述剪枝时序边。
17、上述方案中,所述根据所述出发时间,对所述排序后的时序边进行剪枝处理,得到所述剪枝时序边,包括:
18、对连接于同一节点的所述排序后的时序边进行遍历,当所述排序后的时序边中存在第一时序边不满足预设时间要求时,将所述第一时序边及排序在所述第一时序边之后的所有所述排序后的时序边剪枝;
19、直至所述排序后的时序边均遍历完成,得到所述剪枝时序边;其中,所述第一时序边为所述排序后的时序边中任意一个所述排序后的时序边。
20、上述方案中,所述根据所述代价,对所述待剪枝时序路径进行剪枝处理,得到剪枝时序路径,包括:
21、对经过同一节点的所述待剪枝时序路径进行遍历,当所述第一时序图中存在第一时序路径不满足预设代价要求时,将所述第一时序路径剪枝;
22、直至所述时序路径均遍历完成,得到所述剪枝时序路径;其中,所述第一时序路径为所述待剪枝时序路径中任意一条所述待剪枝时序路径。
23、上述方案中,所述根据所述代价,对所述待剪枝时序路径进行剪枝处理,得到剪枝时序路径之后,所述方法还包括:
24、根据所述剪枝时序路径,构建时序图;
25、对所述时序图进行划分,得到双连通分量和割点;其中,所述剪枝时序路径中任意两个节点之间的路径为子时序路径,所述双连通分量由所述子时序路径和所述任意两个节点组成;所述割点为连接于所述双连通分量的所述节点;
26、基于所述子时序路径两端的两个节点对应的所述出发时间信息和所述损耗信息,以及所述预设的代价公式,处理得到所述双连通分量中所述子时序路径对应的子代价,并保存于所述割点中。
27、上述方案中,所述对所述时序图进行划分,得到双连通分量和割点,包括:
28、根据预设转化方式,将所述时序图中转化为无向图;
29、根据所述无向图以及预设算法,得到所述双连通分量和所述割点。
30、上述方案中,所述基于所述子时序路径两端的两个节点对应的所述出发时间信息和所述损耗信息,以及所述预设的代价公式,处理得到所述双连通分量中所述子时序路径对应的子代价,并保存于所述割点中之后,所述方法还包括:
31、获取两个待查询节点;
32、根据所述两个待查询节点,确定对应的所述剪枝时序路径;
33、根据所述剪枝时序路径,确定对应的所述子时序路径;
34、累加所述子时序路径对应的所述子代价,从而得到所述剪枝时序路径对应的所述代价;
35、根据所述剪枝时序路径对应的所述代价,得到最小组合代价路径;其中,所述最小组合代价路径表征所述代价最小的所述剪枝时序路径。
36、本发明实施例提供一种时序路径处理装置,包括获取单元、构建单元和计算单元;其中:
37、所述获取单元,用于获取时序信息;
38、所述构建单元,用于根据所述时序信息,构建时序边和时序路径;
39、所述处理单元,用于基于所述时序路径两端的两个节点对应的时间信息和损耗信息,以及预设的代价公式,处理得到所述时序路径对应的代价。
40、上述方案中,所述处理单元,还用于根据所述时序路径两端的两个节点对应的所述出发时间信息和所述损耗信息,以及所述预设的代价公式,处理得到所述时序路径对应的所述代价。
41、上述方案中,所述装置还包括得到单元;其中,
42、所述得到单元,用于基于所述时间信息,对所述时序边进行剪枝处理,得到剪枝时序边;根据所述代价,对所述待剪枝时序路径进行剪枝处理,得到剪枝时序路径;
43、所述构建单元,还用于根据所述剪枝时序边,构建待剪枝时序路径;
44、上述方案中,所述得到单元,还用于根据所述出发时间,对所述时序边进行排序,得到排序后的时序边;根据所述出发时间,对所述排序后的时序边进行剪枝处理,得到所述剪枝时序边。
45、上述方案中,所述得到单元,还用于对连接于同一节点的所述排序后的时序边进行遍历,当所述排序后的时序边中存在第一时序边不满足预设时间要求时,将所述第一时序边及排序在所述第一时序边之后的所有所述排序后的时序边剪枝;直至所述排序后的时序边均遍历完成,得到所述剪枝时序边;其中,所述第一时序边为所述排序后的时序边中任意一个所述排序后的时序边。
46、上述方案中,所述得到单元,还用于对经过同一节点的所述待剪枝时序路径进行遍历,当所述待剪枝时序路径中存在第一时序路径不满足预设代价要求时,将所述第一时序路径剪枝;直至所述时序路径均遍历完成,得到所述剪枝时序路径;其中,所述第一时序路径为所述待剪枝时序路径中任意一条所述待剪枝时序路径。
47、上述方案中,所述构建单元,还用于根据所述剪枝时序路径,构建时序图;
48、所述得到单元,还用于对所述时序图进行划分,得到双连通分量和割点;
49、所述处理单元,还用于基于所述子时序路径两端的两个节点对应的所述出发时间信息和所述损耗信息,以及所述预设的代价公式,处理得到所述双连通分量中所述子时序路径对应的子代价,并保存于所述割点中。
50、上述方案中,所述得到单元,还用于根据预设转化方式,将所述时序图中转化为无向图;根据所述无向图以及预设算法,得到所述双连通分量和所述割点。
51、上述方案中,所述装置还包括确定单元;其中,
52、所述确定单元,用于根据所述两个待查询节点,确定对应的所述剪枝时序路径;根据所述剪枝时序路径,确定对应的所述子时序路径;
53、所述获取单元,还用于获取两个待查询节点;
54、所述得到单元,还用于累加所述子时序路径对应的所述子代价,从而得到所述剪枝时序路径对应的所述代价;根据所述剪枝时序路径对应的所述代价,得到最小组合代价路径。
55、本发明实施例提供一种时序路径处理装置,包括:
56、存储器,用于存储可执行数据指令;
57、处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例中所述的一种时序路径处理方法。
58、本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例中所述的一种时序路径处理方法。
59、本发明实施例提供一种时序路径处理方法及装置、存储介质,所述方法包括先获取时序信息,时序信息包括与节点对应的时间信息和损耗信息。基于所述时序信息,构建时序边和时序路径,根据时间信息和损耗信息,以及预设的代价公式,将时间信息和损耗信息代入至预设的代价公式中,以处理得到时序路径对应的代价。
60、本发明实施例能够基于时间信息和损耗信息大于时序路径进行处理,并处理得到时序路径对应的代价,扩大时序路径可以展示的信息范围,还扩大了时序图的应用范围,并实现了得到时序路径代价目的。