本发明涉及图数据处理,具体涉及一种图数据划分方法、装置、设备、介质和程序产品。
背景技术:
1、现实世界中,图数据通常规模庞大且增长迅速,可能有数千亿个顶点和数万亿条边。对于规模庞大的图数据,通常采用图划分技术将一个图划分到多个计算节点并行处理。然而相关技术中的图划分方法可能存在由于没有考虑到顶点之间复杂的连接关系,从而导致划分存在缺陷,使得图划分质量较低的问题,或者,存在由于图数据的不断更新,使得划分给计算节点的子图中存在新增顶点,从而导致图划分质量下降的问题。
2、在实现本发明构思的过程中,发现相关技术中存在由于图划分方法的自身缺陷或图数据的不断更新,从而导致图划分质量较低的技术问题。
技术实现思路
1、鉴于上述问题,本发明提供了一种图数据划分方法、装置、设备、介质和程序产品。
2、根据本发明的一个方面,提供了一种图数据划分方法,包括:从计算节点的子图数据中确定至少一个边界顶点,其中,边界顶点具有至少一个邻居顶点,边界顶点与邻居顶点之间存在连接边,至少一个邻居顶点中的至少一个目标邻居顶点分别存在于至少一个邻接计算节点各自的子图数据中,边界顶点或邻居顶点表征数据对象,连接边表征数据对象之间的通信关系;基于边界顶点与边界顶点的至少一个邻居顶点各自的连接边的收益权重,确定将边界顶点向至少一个邻接计算节点各自进行迁移的第一预期收益,其中,收益权重是根据邻接计算节点与计算节点之间的通信开销确定的,第一预期收益表征节省的通信开销值;基于至少一个边界顶点各自向至少一个邻接计算节点各自进行迁移的第一预期收益,确定待迁移边界顶点和目标邻接计算节点;在确定待迁移边界顶点满足迁移条件的情况下,将待迁移边界顶点迁移至目标邻接计算节点中,以对计算节点的子图数据进行重划分。
3、根据本发明的实施例,图数据划分方法还包括:将待迁移边界顶点的第一顶点标识和将待迁移边界顶点向目标邻接计算节点进行迁移的目标第一预期收益打包为迁移通知报文;将迁移通知报文发送给目标邻接计算节点。
4、根据本发明的实施例,迁移条件包括第一子迁移条件,至少一个邻接计算节点包括待迁入邻接计算节点;待迁入邻接计算节点的子图数据包括待迁入邻接计算节点的待迁移边界顶点;待迁入邻接计算节点的待迁移边界顶点为从待迁入邻接计算节点的至少一个边界顶点中确定的预备迁入计算节点的边界顶点;上述方法还包括:接收待迁入邻接计算节点发送的目标迁移通知报文,其中,目标迁移通知报文包括待迁入邻接计算节点的待迁移边界顶点的第二顶点标识和将待迁入邻接计算节点的待迁移边界顶点迁入计算节点的第二预期收益;在基于第二顶点标识确定计算节点的待迁移边界顶点和待迁入邻接计算节点的待迁移边界顶点之间存在连接边的情况下,将目标第一预期收益和第二预期收益进行比较,得到比较结果;在确定比较结果表征目标第一预期收益大于第二预期收益的情况下,确定计算节点的待迁移边界顶点满足第一子迁移条件。
5、根据本发明的实施例,迁移条件还包括第二子迁移条件,上述方法还包括:响应于接收到由目标邻接计算节点发送的同意迁移报文,确定计算节点的待迁移边界顶点满足第二子迁移条件,其中,同意迁移报文是目标邻接计算节点在基于迁移通知报文确定计算节点的待迁移边界顶点与目标邻接计算节点的待迁移边界顶点存在连接边,且目标第一预期收益大于目标邻接计算节点的待迁移边界顶点的第三预期收益的情况下发送的。
6、根据本发明的实施例,基于边界顶点与边界顶点的至少一个邻居顶点各自的连接边的收益权重,确定将边界顶点向至少一个邻接计算节点各自进行迁移的第一预期收益,包括:基于边界顶点与边界顶点的至少一个邻居顶点各自的连接边的收益权重,确定边界顶点的初始通信开销值;将边界顶点分别向至少一个邻接计算节点模拟迁移,得到与至少一个邻接计算节点分别对应的模拟边界顶点;基于计算节点的第一节点标识和至少一个邻接计算节点各自的第二节点标识,确定模拟边界顶点与模拟边界顶点的至少一个模拟邻居顶点各自的连接边的模拟权重收益;对于每个模拟边界顶点,基于模拟边界顶点与模拟边界顶点的至少一个模拟邻居顶点各自的连接边的模拟权重收益,确定将边界顶点向邻接计算节点进行迁移的模拟通信开销值;基于初始通信开销和将边界顶点向至少一个邻接计算节点各自进行迁移的模拟通信开销值,确定将边界顶点向至少一个邻接计算节点各自进行迁移的第一预期收益。
7、根据本发明的实施例,计算节点和至少一个邻接计算节点之间按预设拓扑结构依次相连;收益权重是通过以下方式确定的:利用中心节点,基于预设拓扑结构,将计算节点和至少一个邻接计算节点映射至坐标系中,得到计算节点的坐标和至少一个邻接计算节点各自的坐标,其中,中心节点与计算节点和至少一个邻接计算节点通信连接;将计算节点的坐标和至少一个邻接计算节点各自的坐标发送给计算节点,以使得计算节点基于计算节点的坐标和至少一个邻接计算节点各自的坐标,确定计算节点与至少一个邻接计算节点各自之间的通信开销值,并基于计算节点与至少一个邻接计算节点各自之间的通信开销值,确定边界顶点与边界顶点的至少一个邻居顶点各自的连接边的收益权重。
8、根据本发明的实施例,在从计算节点的子图数据中确定至少一个边界顶点之前,包括:响应于计算节点接收到动态图更新报文,基于动态图更新报文包括的待更新顶点和待更新顶点的待更新连接边,对计算节点中的原始子图数据进行更新,得到子图数据。
9、根据本发明的实施例,基于至少一个边界顶点各自向至少一个邻接计算节点各自进行迁移的第一预期收益,确定待迁移边界顶点和目标邻接计算节点,包括:将边界顶点向至少一个邻接计算节点各自进行迁移的第一预期收益进行排序,得到排序结果;将排序结果表征第一预期收益最高的邻接计算节点作为边界顶点的候选邻接计算节点;基于至少一个边界顶点分别向至少一个边界顶点各自的候选邻接计算节点迁移的第一迁移收益,确定待迁移边界顶点,其中,待迁移边界顶点为第一预期收益最高的边界顶点;将待迁移边界顶点的候选邻接计算节点作为目标邻接计算节点。
10、根据本发明的实施例,将待迁移边界顶点迁移至目标邻接计算节点中,包括:将计算节点的子图数据中的待迁移边界顶点和待迁移边界顶点的连接边打包为迁移数据包;将迁移数据包发送给目标邻接计算节点;将计算节点的子图数据中的待迁移边界顶点和待迁移边界顶点的连接边进行删除。
11、本发明的另一个方面提供了一种图数据划分装置,包括:第一确定模块,用于从计算节点的子图数据中确定至少一个边界顶点,其中,边界顶点具有至少一个邻居顶点,边界顶点与邻居顶点之间存在连接边,至少一个邻居顶点中的至少一个目标邻居顶点分别存在于至少一个邻接计算节点各自的子图数据中,边界顶点或邻居顶点表征数据对象,连接边表征数据对象之间的通信关系;第二确定模块,用于基于边界顶点与边界顶点的至少一个邻居顶点各自的连接边的收益权重,确定将边界顶点向至少一个邻接计算节点各自进行迁移的第一预期收益,其中,收益权重是根据邻接计算节点与计算节点之间的通信开销确定的,第一预期收益表征节省的通信开销值;第三确定模块,用于基于至少一个边界顶点各自向至少一个邻接计算节点各自进行迁移的第一预期收益,确定待迁移边界顶点和目标邻接计算节点;迁移模块,用于在确定待迁移边界顶点满足迁移条件的情况下,将待迁移边界顶点迁移至目标邻接计算节点中,以对计算节点的子图数据进行重划分。
12、本发明的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。
13、本发明的另一个方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
14、本发明的另一个方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
15、本发明的图数据划分方法,由于边界顶点与邻居顶点之间存在连接边,子图数据中的边界顶点和邻居顶点表征数据对象,连接边表征数据对象之间的通信关系,即具有连接边的边界顶点和邻居顶点之间将存在通信。通过确定计算节点中与存在于邻接计算节点中的邻居顶点之间具有连接边的边界顶点,即可以确定计算节点中存在额外通信开销的顶点,并基于边界顶点与边界顶点的至少一个邻居顶点各自的连接边的收益权重,确定将边界顶点向至少一个邻接计算节点各自进行迁移的第一预期收益,实现在进行实际迁移之前确定将边界顶点向邻接计算节点进行迁移能够节省的通信开销值,从而基于通信开销的节省情况,确定合适的待迁移边界顶点和目标邻接计算节点,并在确定待迁移边界顶点满足迁移条件的情况下,将待迁移边界顶点迁移至目标邻接计算节点中,以实现对子图数据的重划分,从而至少部分的解决了相关技术中存在的图划分质量较低的技术问题,实现了在考虑了顶点之间复杂连接关系下的子图数据重划分,节省整体通信开销,提高图划分质量的技术效果。
1.一种图数据划分方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述迁移条件包括第一子迁移条件;至少一个所述邻接计算节点包括待迁入邻接计算节点;所述待迁入邻接计算节点的子图数据包括所述待迁入邻接计算节点的待迁移边界顶点;所述待迁入邻接计算节点的待迁移边界顶点为从所述待迁入邻接计算节点的至少一个边界顶点中确定的预备迁入所述计算节点的边界顶点;所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述迁移条件还包括第二子迁移条件,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述边界顶点与所述边界顶点的至少一个所述邻居顶点各自的连接边的收益权重,确定将所述边界顶点向至少一个所述邻接计算节点各自进行迁移的第一预期收益,包括:
6.根据权利要求1或5所述的方法,其特征在于,所述计算节点和至少一个所述邻接计算节点之间按预设拓扑结构依次相连;所述收益权重是通过以下方式确定的:
7.根据权利要求1所述的方法,其特征在于,在所述从计算节点的子图数据中确定至少一个边界顶点之前,包括:
8.根据权利要求1所述的方法,其特征在于,所述基于至少一个所述边界顶点各自向至少一个所述邻接计算节点各自进行迁移的第一预期收益,确定待迁移边界顶点和目标邻接计算节点,包括:
9.根据权利要求1所述的方法,其特征在于,所述将所述待迁移边界顶点迁移至所述目标邻接计算节点中,包括:
10.一种图数据划分装置,其特征在于,所述装置包括: