System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书实施例涉及图计算,特别涉及一种子图匹配方法及装置。
技术介绍
1、随着计算机技术和互联网技术的不断发展,以及人们需要处理的数据越来越复杂,图数据的应用越来越广泛。图数据能够用来表示现实世界的事物之间的关系,比如社交网络、交通网络以及生物网络等等,利用图数据能够实现对图中不同节点之间的关系进行深入研究,比如在社交网络中,可以借助图数据根据已知社交网络图寻找社交网络图存在重叠的、其他可能的节点;在生物学中,可以借助图数据寻找不同节点的关系等等。
2、子图匹配是指从目标图中找到与查询图相匹配的子图。随着图数据的规模越来越大,子图匹配效率亟待提高。因而,亟需一种高效的子图匹配方法。
技术实现思路
1、有鉴于此,本说明书实施例提供了一种子图匹配方法。本说明书一个或者多个实施例同时涉及一种子图匹配装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序产品,以解决现有技术中存在的技术缺陷。
2、根据本说明书实施例的第一方面,提供了一种子图匹配方法,包括:
3、接收目标匹配任务,其中,所述目标匹配任务包括至少一个待匹配的子图结构;
4、基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,其中,所述目标子图结构为任一待匹配的子图结构,所述第一数量个计算进程位于不同的机器上;
5、通过目标计算进程将被分配的目标标签子集拆分至第二数量个计算线程上,通过所述计算线程获得线程匹配结果;
6、根据所述
7、根据本说明书实施例的第二方面,提供了一种子图匹配装置,包括:
8、接收模块,被配置为接收目标匹配任务,其中,所述目标匹配任务包括至少一个待匹配的子图结构;
9、第一拆分模块,被配置为基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,其中,所述目标子图结构为任一待匹配的子图结构,所述第一数量个计算进程位于不同的机器上;
10、第二拆分模块,被配置为通过目标计算进程将被分配的目标标签子集拆分至第二数量个计算线程上,通过所述计算线程获得线程匹配结果;
11、确定模块,被配置为根据所述线程匹配结果,确定所述目标子图结构在所述目标图中的匹配结果。
12、根据本说明书实施例的第三方面,提供了一种计算设备,包括:
13、存储器和处理器;
14、所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述子图匹配方法的步骤。
15、根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述子图匹配方法的步骤。
16、根据本说明书实施例的第五方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述子图匹配方法的步骤。
17、本说明书一个实施例实现了,接收目标匹配任务,其中,所述目标匹配任务包括至少一个待匹配的子图结构;基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,其中,所述目标子图结构为任一待匹配的子图结构,所述第一数量个计算进程位于不同的机器上;通过目标计算进程将被分配的目标标签子集拆分至第二数量个计算线程上,通过所述计算线程获得线程匹配结果;根据所述线程匹配结果,确定所述目标子图结构在所述目标图中的匹配结果。如此,目标匹配任务包括的至少一个待匹配的子图结构中的任一个子图结构,均可以作为目标子图结构,进行子图匹配处理,多个子图结构可以并行匹配,且针对目标子图结构可以充分利用多机器、多进程、多线程,利用多阶段并行计算,提高计算效率和性能,充分利用多机器、多核心资源,加速计算流程,实现超大数据规模图下子图匹配,适用于大规模数据和复杂的子图匹配任务,具备良好可扩展性,为图挖掘和图匹配提供高效解决方案。
本文档来自技高网...【技术保护点】
1.一种子图匹配方法,包括:
2.根据权利要求1所述的子图匹配方法,所述基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,包括:
3.根据权利要求2所述的子图匹配方法,所述将所述第一数量个点标签子集分别分配至所述第一数量个计算进程上,包括:
4.根据权利要求1所述的子图匹配方法,所述通过目标计算进程将被分配的目标标签子集拆分至第二数量个计算线程上,包括:
5.根据权利要求1所述的子图匹配方法,所述至少一个待匹配的子图结构存储在子图匹配队列中;所述基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,包括:
6.根据权利要求5所述的子图匹配方法,所述通过所述目标机器获取所述目标图的点标签集合,包括:
7.根据权利要求5所述的子图匹配方法,所述通过所述目标机器获取所述目标图的点标签集合之后,还包括:
8.根据权利要求1所述的子图匹配方法,所述通过所述计算线程获得线程匹配结果,包括:
9.根据权利要求1所述的子图匹配方法,所述根据所述线程匹配结
10.根据权利要求1所述的子图匹配方法,所述目标匹配任务中携带存储参数;所述根据所述线程匹配结果,确定所述目标子图结构在所述目标图中的匹配结果之后,还包括:
11.一种子图匹配装置,包括:
12.根据权利要求11所述的子图匹配装置,所述第一拆分模块,进一步被配置为:
13.根据权利要求12所述的子图匹配装置,所述第一拆分模块,进一步被配置为:
14.根据权利要求11所述的子图匹配装置,所述第二拆分模块,进一步被配置为:
15.根据权利要求11所述的子图匹配装置,所述至少一个待匹配的子图结构存储在子图匹配队列中;所述第一拆分模块,进一步被配置为:
16.根据权利要求15所述的子图匹配装置,所述第一拆分模块,进一步被配置为:
17.根据权利要求15所述的子图匹配装置,所述装置还包括:
18.根据权利要求11所述的子图匹配装置,所述第二拆分模块,进一步被配置为:
19.根据权利要求11所述的子图匹配装置,所述确定模块,进一步被配置为:
20.根据权利要求11所述的子图匹配装置,所述目标匹配任务中携带存储参数;所述装置还包括第二存储模块,被配置为:
21.一种计算设备,包括:
22.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述子图匹配方法的步骤。
23.一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现权利要求1至10任意一项所述子图匹配方法的步骤。
...【技术特征摘要】
1.一种子图匹配方法,包括:
2.根据权利要求1所述的子图匹配方法,所述基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,包括:
3.根据权利要求2所述的子图匹配方法,所述将所述第一数量个点标签子集分别分配至所述第一数量个计算进程上,包括:
4.根据权利要求1所述的子图匹配方法,所述通过目标计算进程将被分配的目标标签子集拆分至第二数量个计算线程上,包括:
5.根据权利要求1所述的子图匹配方法,所述至少一个待匹配的子图结构存储在子图匹配队列中;所述基于目标子图结构中的根节点,将目标图的点标签集合拆分至第一数量个计算进程上,包括:
6.根据权利要求5所述的子图匹配方法,所述通过所述目标机器获取所述目标图的点标签集合,包括:
7.根据权利要求5所述的子图匹配方法,所述通过所述目标机器获取所述目标图的点标签集合之后,还包括:
8.根据权利要求1所述的子图匹配方法,所述通过所述计算线程获得线程匹配结果,包括:
9.根据权利要求1所述的子图匹配方法,所述根据所述线程匹配结果,确定所述目标子图结构在所述目标图中的匹配结果,包括:
10.根据权利要求1所述的子图匹配方法,所述目标匹配任务中携带存储参数;所述根据所述线程匹配结果,确定所述目标子图结构在所述目标图中的匹配结果之后,还包括:
11....
【专利技术属性】
技术研发人员:周以鹏,张华敏,陈曦,张开,陈启乾,师天麾,杨恺,翟季冬,
申请(专利权)人:蚂蚁智信杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。