用于实现负载均衡的图数据划分方法技术

技术编号:36540663 阅读:18 留言:0更新日期:2023-02-01 16:38
本申请属于图数据处理技术领域,涉及一种用于实现负载均衡的图数据划分方法。该方法包括:获取目标图数据和子图划分目标数量;对目标图数据中的节点按照层级进行排序,确定每个节点的顺序;确定目标图数据中每个节点的度数,基于各个节点度数确定目标图数据中节点的平均度数;基于平均度数和节点的顺序,得到大于平均度数的第一节点子序列和小于等于平均度数的第二节点子序列;基于子图划分目标数量,分别对第一节点子序列和第二节点子序列进行划分,得到目标数量的第一分区和第二分区;将第一分区和第二分区合并作为一个子图分区。通过该方法进行图数据划分,可优化图数据划分的负载特性;并且适用于所有的图数据划分,适用性强。用性强。用性强。

【技术实现步骤摘要】
用于实现负载均衡的图数据划分方法


[0001]本申请属于图数据处理
,具体涉及一种用于实现负载均衡的图数据划分方法。

技术介绍

[0002]图因其宜于表征不同实体间复杂的依赖关系而受到广泛应用,现实生活中许多应用场景需要用图数据结构表示,如最短时间路径、科技文献引用关系、社交网络分析等。然而,图计算要处理的图数据规模往往十分庞大,达到TB级的压缩数据,一台机器难以完成对这些数据集的计算。因此,需要在多台机器上划分输入图,并使用并行算法进行图计算,才能降低网络延迟和运行时间,提高图计算效率。
[0003]图分区在整个系统性能中起着至关重要的作用,因为它对负载平衡和机器间通信都有重大影响,但图中的不规则结构和固有的相互依赖性使得很难获得同样负载平衡的高质量分区。因此,如何实现负载均衡的图数据划分,成为亟待解决的技术问题。

技术实现思路

[0004](一)要解决的技术问题
[0005]本专利技术的目的是提供一种用于实现负载均衡的图数据划分方法,来解决图划分过程中出现的负载不均衡的问题。
[0006](二)技术方案
[0007]为达到上述目的,本申请采用如下技术方案:
[0008]第一方面,本申请提供一种用于实现负载均衡的图数据划分方法,该方法包括:
[0009]获取目标图数据和所述目标图数据的子图划分目标数量;
[0010]对所述目标图数据中的节点按照层级进行排序,确定每个节点的顺序;
[0011]确定所述目标图数据中每个节点的度数,基于各个节点度数确定所述目标图数据中节点的平均度数;
[0012]基于所述平均度数和每个节点的顺序,得到所述目标图数据中大于所述平均度数的第一节点子序列和小于等于所述平均度数的第二节点子序列;
[0013]基于所述子图划分目标数量,分别对所述第一节点子序列和所述第二节点子序列进行划分,得到目标数量的第一分区和第二分区;
[0014]将所述第一分区和所述第二分区合并作为一个子图分区。
[0015]可选地,确定所述目标图数据中每个节点的度数包括:
[0016]使用广度优先算法从所述目标图数据的任意节点开始,逐层进行节点遍历,后一层的节点依次插入前层节点的后面;
[0017]在遍历的过程中,计算出每个节点的度数,对节点和度数对应存储。
[0018]可选地,基于所述平均度数和每个节点的顺序,得到所述目标图数据中大于所述平均度数的第一节点子序列和小于等于所述平均度数的第二节点子序列,包括:
[0019]S41、基于每个节点的顺序得到所述目标图数据的第一图节点序列;
[0020]S42、比较每个节点的度数和平均度数,将度数大于平均度数的节点作为热点,将度数小于等于平均度数的节点作为冷点;
[0021]S43、针对所述第一图节点序列中的每个冷点,当冷点右侧有热点时对该冷点进行位置调整,直至右侧没有热点,得到第二图节点序列;
[0022]S44、将所述第二图节点序列中大于等于所述平均度数的节点组成第一节点子序列,将小于所述平均度数的节点组成第二节点子序列。
[0023]可选地,所述平均度数为小数时向下取整。
[0024]可选地,当冷点右侧有热点时对该冷点进行位置调整,包括:
[0025]将该冷点与右侧邻近的热点交换位置;
[0026]判断该冷点右侧是否有热点,若有,重复执行位置交换,直到该冷点的右侧没有热点,结束位置调整;若没有,结束位置调整。
[0027]可选地,将第一分区和第二分区合并作为一个子图分区,包括:
[0028]顺次从所述第一节点子序列和所述第二节点子序列中取出第一分区和第二分区的节点;
[0029]将取出的所有节点作为一个子图分区。
[0030]可选地,当所述第一节点子序列或所述第二节点子序列中的节点数量是所述子图划分目标数量的整数倍时,每个第一分区或每个第二分区的节点数量相同;
[0031]当所述第一节点子序列或所述第二节点子序列中的节点数量不是所述子图划分目标数量的整数倍时,每个第一分区或每个第二分区的节点度数之和相差最小。
[0032](三)有益效果
[0033]本申请的有益效果是:本申请提出了一种用于实现负载均衡的图数据划分方法。该方法包括:获取目标图数据和子图划分目标数量;对目标图数据中的节点按照层级进行排序,确定每个节点的顺序;确定目标图数据中每个节点的度数,基于各个节点度数确定目标图数据中节点的平均度数;基于平均度数和节点的顺序,得到大于平均度数的第一节点子序列和小于等于平均度数的第二节点子序列;基于子图划分目标数量,分别对第一节点子序列和第二节点子序列进行划分,得到目标数量的第一分区和第二分区;将第一分区和第二分区合并作为一个子图分区。通过该方法进行图数据划分,可优化图数据划分的负载特性;并且该方法可适用于所有的图数据划分,适用性强。
附图说明
[0034]本申请借助于以下附图进行描述:
[0035]图1为本申请实施例提供的一种用于实现负载均衡的图数据划分方法的流程示意图;
[0036]图2为本申请另一实施例提供的待划分图的结构图;
[0037]图3为本申请另一实施例提供的节点排序示例图;
[0038]图4为本申请另一实施例提供的节点重排序示例图;
[0039]图5为本申请另一实施例提供的分区为2的子图划分示例图;
[0040]图6为本申请另一实施例提供的分区为4的子图划分示例图;
[0041]图7为本申请另一实施例提供的2个子图的节点分布示例图;
[0042]图8为本申请另一实施例提供的4个子图的节点分布示例图。
具体实施方式
[0043]为了更好的解释本专利技术,以便于理解,下面结合附图,通过具体实施方式,对本专利技术作详细描述。可以理解的是,以下所描述的具体的实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合;为了便于描述,附图中仅示出了与专利技术相关的部分。
[0044]为了能够对更清楚地理解本申请实施例提供的技术方案,下面对本申请实施例涉及的技术术语进行介绍:
[0045]图结构:是研究数据元素之间的多对多的关系。在这种结构中,任意两个元素之间可能存在关系。即节点之间的关系可以是任意的,图中任意元素之间都可能相关。图的应用极为广泛,已渗入到诸如语言学、逻辑学、物理、化学、电讯、计算机科学以及数学的其它分支。
[0046]图分为有向图和无向图。
[0047]对于无向图G=(V,E),图G中依附于vi的边的数目称为顶点vi的度,记为TD(vi)。
[0048]对有向图G=(V,E),图G中以vi作为起点的有向边的数目称为顶点vi的出度,记为OD(vi);以vi作为终点的有向边的数目称为顶点vi的入度,记为ID(vi)。顶点vi的出度与入度之和称为vi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于实现负载均衡的图数据划分方法,其特征在于,该方法包括:获取目标图数据和所述目标图数据的子图划分目标数量;对所述目标图数据中的节点按照层级进行排序,确定每个节点的顺序;确定所述目标图数据中每个节点的度数,基于各个节点度数确定所述目标图数据中节点的平均度数;基于所述平均度数和每个节点的顺序,得到所述目标图数据中大于所述平均度数的第一节点子序列和小于等于所述平均度数的第二节点子序列;基于所述子图划分目标数量,分别对所述第一节点子序列和所述第二节点子序列进行划分,得到目标数量的第一分区和第二分区;将所述第一分区和所述第二分区合并作为一个子图分区。2.根据权利要求1所述的方法,其特征在于,确定所述目标图数据中每个节点的度数包括:使用广度优先算法从所述目标图数据的任意节点开始,逐层进行节点遍历,后一层的节点依次插入前层节点的后面;在遍历的过程中,计算出每个节点的度数,对节点和度数对应存储。3.根据权利要求1所述的方法,其特征在于,基于所述平均度数和每个节点的顺序,得到所述目标图数据中大于所述平均度数的第一节点子序列和小于等于所述平均度数的第二节点子序列,包括:S41、基于每个节点的顺序得到所述目标图数据的第一图节点序列;S42、比较每个节点的度数和平均度数,将度数大于平均度数的节点作为热点,将度数...

【专利技术属性】
技术研发人员:邓军勇符晓亮谢晓燕叶泽昆张宝祥
申请(专利权)人:西安邮电大学
类型:发明
国别省市:

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

1