一种分布式知识图谱分片方法及装置制造方法及图纸

技术编号:37822829 阅读:27 留言:0更新日期:2023-06-09 10:00
本说明书实施例涉及一种分布式知识图谱分片方法及装置,所述方法应用于分布式系统,所述分布式系统包含主设备和N个工作设备,方法包括:任一工作设备将边全集中分配给该设备子集中的边的节点聚类为若干个节点簇,形成聚类结果并发送给主设备;主设备将接收的N个聚类结果合并后发送给所述N个工作设备;任一工作设备根据预设的代价评估函数,将接收到的聚类结果中的多个节点簇分配给若干个分片,形成分片提案并发送给主设备;主设备接收N个分片提案,将其中代价值最小的第一分片结果确定为对所述目标知识图谱进行分片的第一目标分片结果。结果。结果。

【技术实现步骤摘要】
一种分布式知识图谱分片方法及装置


[0001]本说明书一个或多个实施例涉及知识图谱领域,尤其涉及一种分布式知识图谱分片方法及装置。

技术介绍

[0002]近年来,知识图谱在搜索推荐、金融风控等多种场景下得到了泛的应用,伴随着应用场景的扩展,图谱数据的规模也在急剧增加,早已超过单台机器内存的限制,这给下游的图计算或图深度学习等应用带来了挑战。目前,相关领域中传统的策略是采用分布式方案,通过图分片系统将大规模图谱数据切分为多片,每台机器加载其中的一片,分布式地执行计算。
[0003]然而,上述方案在实施时会面临两个问题:1.图分片会引入数据的冗余,例如点切分和边切分两大类算法,分别会引入点和边的冗余。2.由于图数据分布在多台机器上,不可避免的会引入跨机器的通信,影响整体性能。
[0004]为了解决这些问题,需要图分片方法能够尽量降低数据冗余,提升分片内数据的局部性,从而提升下游图计算或深度学习应用的效率。最简单的随机分片往往不能满足这些需求,因此需要设计更高效的图分片方法。

技术实现思路

[0005]本说明书一个或多本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式知识图谱分片方法,应用于分布式系统,所述分布式系统包含主设备和N个工作设备,所述方法包括:主设备将目标知识图谱中的边全集划分为N个第一边集合,并分别发送给所述N个工作设备;任一工作设备将其接收的第一边集合中的边的节点聚类为若干个节点簇,形成第一聚类结果并发送给主设备;主设备将接收的N个第一聚类结果合并为第二聚类结果,将所述第二聚类结果发送给所述N个工作设备;任一工作设备根据预设的代价评估函数,将所述第二聚类结果中的多个节点簇分配给若干个分片,形成分片提案并发送给主设备,其中,所述代价评估函数用于根据不同分片之间分配的节点和/或边的均匀程度评估分片结果的代价值,所述分片提案包含第一分片结果及其对应的代价值;主设备接收N个分片提案,将其中代价值最小的第一分片结果确定为对所述目标知识图谱进行分片的第一目标分片结果。2.根据权利要求1所述的方法,其中,主设备将目标知识图谱中的边全集划分为N个第一边集合,包括:主设备通过第一划分操作,将所述边全集划分为N个初始边集合,并分别发送给所述N个工作设备;任一工作设备接收初始边集合,对于所述初始边集合中的各条边,根据其节点的信息,将其映射到第一N维矩阵中,并将所述第一N维矩阵发送给主设备;主设备将接收的N个第一N维矩阵合并成为第二N维矩阵,根据各条边在所述第二N维矩阵中的分布,将所述边全集划分为N个第一边集合。3.根据权利要求2所述的方法,其中,所述第一划分操作包括以下划分之一:随机划分,平均划分,根据对N取模结果划分。4.根据权利要求2所述的方法,其中,对于所述初始边集合中的各条边,根据其节点信息,将其映射到第一N维矩阵中,包括:对于所述初始边集合中的任一条第一目标边,根据预设的映射函数,将其两个节点分别映射为第一N维矩阵中的行索引和列索引;将所述第一目标边映射至所述行索引和列索引指示的矩阵位置。5.根据权利要求4所述的方法,其中,所述映射函数为哈希函数。6.根据权利要求2所述的方法,其中,根据各条边在所述第二N维矩阵中的分布,将所述边全集划分为N个第一边集合,包括:将所述第二N维矩阵中第i行和第i列包含的边组成第i个第一边集合。7.根据权利要求1所述的方法,其中,任一工作设备将其接收的第一边集合中的边的节点聚类为若干个节点簇,形成第一聚类结果,包括:对于所述第一边集合中的任一条边的尚未聚类的目标节点,根据已有的节点簇的信息,确定所述目标节点所在的节点簇;当满足预设条件时,调整已有的节点簇,形成所述第一聚类结果。8.根据权利要求7所述的方法,根据已有的节点簇的信息,确定所述目标节点所在的节
点簇,包括:若已有的节点簇的数量小于预设的第一阈值,则将所述目标节点分配到一个新簇中,否则将所述目标节点分配到一个已有的节点簇中。9.根据权利要求7所述的方法,调整已有的节点簇,还包括:若任一节点簇中已有边的数量大于预设的第二阈值,则将其拆分为两个新簇;若连接一条边的两个节点所在的两个节点簇中已有边的数量都小于预设的第三阈值,则将所述两个节点移动到同一个簇中。10.根据权利要求1所述的方法,其中,任一工作设备根据预设的代价评估函数,将所述第二聚类结果中的多个节点簇分配给若干个分片,形成分片提案,包括:将所述第二聚类结果中的每个节点簇随机分配给一个分片,形成当前分片结果;对所述当前分片结果进行多轮迭代更新,其中,任一轮迭代更新包括:选择所述当前分片结果中的一部分节点簇,更改其所属分片,形成候选分片结果;根据所述代价评估函数,分别计算所述当前分片结果和所述候选分片结果的代价值,根据所述代价值,使用所述候选分片结果对所述当前分片结果进行更新;将迭代更新后的所述当前分片结果及其对应的代价值确定为所述分片提案。11.根据权利要求1或10所述的方法,其中,所述代价评估函数的函数值,根据对应分片结果中的每个分片中的边的数量,以及两个节点分别位于不同的分片中的边的数量所确定。12.根据权利要求1所述的方法,其中,在确定第一目标分片结果之后,所述方法还包括:主设备将所述第一目标分片结果通知所述N个工作设备;主设备将所述边全集划分为N个第二边集合,并分别发送给所述N个工作设备;任一工作设备接收第二边集合,对于所述第二边集合中的任一条第二目标边,根据所述第一目标分片结果所指示的其节点所在的分片,确定所述第二目标边所在的分片,形成第二分片结果并发送给主设备;主设备合并接收到的N个第二分片结果,得到对所述目标知识图谱进行点切分的第二目标分片结果。13.根据权利要求12所述的方法,其中,确定所述第二目标边所在的分片,包括:根据所述第二目标边的两个节点所在分片中的边数,每个节点的度,以及预设的第四阈值,确定所述第二目标边所在的分片。14.根据权利要求12所述的方法,其中,形成第二分片结果,包括:所述任一工作设备一旦分配M条所述第二边集合中的边,就与其它所有工作设备同步一次各个分片当前的信息,并更新M的值作为下次同步间隔。15.根据权利要求14所述的方法,其中,更新M的值,包括:根据预设的最小同步间隔值、预设的第四阈值、当前容纳的边数尚未超过预设的最大容量的分片数、以及N的值,更新所述M的值。16.一种分布式知识图谱分片方法,应用于分...

【专利技术属性】
技术研发人员:朱仲书
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1