图数据划分方法及装置制造方法及图纸

技术编号:13404247 阅读:54 留言:0更新日期:2016-07-25 01:36
本发明专利技术公开了一种图数据划分方法及装置,其中,该方法包括根据图定义的数据和计算模型UPPS对算法进行建模;通过二维数据划分方法对建模中的数据进行划分,并获取划分后冗余度最小的数据;根据估测公式估测确定最佳的第三维层数;以及根据冗余度最小的数据对第三维层数的每一层进行划分,获得数据的分布方式。该方法实现了通过增加适量的层间通讯量减少每一层内数据划分块数,减少分布式图数据处理时的通讯量,提升计算效率。

【技术实现步骤摘要】

本专利技术涉及数据处理
,尤其涉及一种图数据划分方法及装置
技术介绍
随着图数据在数据量和重要性上的不断增长,分布式的图数据处理引擎逐渐成为一种主流的解决方案。这一需求驱使着工业界和学术界的许多开发人员及研究人员研发了许多多种多样的图并行处理框架,包括Pregel、PowerGraph、GraphX等等。由于这些系统提供了一种简单有效的编程接口使得程序员们可以无缝的将他们的程序扩展到多机环境,这些原本为了图计算设计的系统目前不仅仅被用于传统的图分析,还被用于许多可以用图进行建模的机器学习和数据挖掘任务。例如CollaborativeFiltering这一类数据挖掘问题的目的在于通过已知的用户对物品的打分集合来预测未知的部分。这一问题最早是用矩阵进行描述的。如图1所示,简单地说,给定一个大小为N*M的稀疏矩阵R,求解的目的为将R分解成两个低维稠密矩阵P和Q的乘积(P和Q的大小分别为N*D以及M*D,并且R约等于P*Q^T其中D远小于N和M)。相对的,同样可以用图模型对这一问题进行描述,其中P和Q的每一行分别对应于一张二分图中的点。每一个点的属性都是一个长度为D的向量,而打分矩阵R则对应于边的分数。换句话说用户u对物品v的打分为Ruv的话,则u和v之间的边权值为Ruv。随着对机器学习和数据挖掘任务中大型图数据进行分析这一需求的增长,许多之前未曾被考虑到的问题也随之出现。根据近期的一些研究,为了能够高效地处理图数据,一个关键的研究点就是如何减少图处理时的通讯量。因此,一个分布式图处理引擎需要非常小心的选择他使用的任务划分算法。然而,根据调查,目前已有的图处理引擎基本都忽略了机器学习和数据挖掘任务的特性而认为图中每一个点的属性都是不可分的,因此将图计算的任务划分简单地等价为了一般的图划分问题。可是,正如CollaborativeFiltering这一类数据挖掘问题那样,在很多的时候每一个点的属性实际上是一个向量。虽然这一向量的长度一般并不大,需要一种新的维度对图进行划分,解决通讯量问题。
技术实现思路
本专利技术的目的旨在至少在一定程度上解决上述的技术问题之一。为此,本专利技术的第一个目的在于提出一种图数据划分方法。该方法实现了通过增加适量的层间通讯量减少每一层内数据划分块数,减少分布式图数据处理时的通讯量,提升计算效率。本专利技术的第二个目的在于提出了一种图数据划分装置。为达上述目的,本专利技术第一方面实施例的图数据划分方法,根据图定义的数据和计算模型UPPS(UpdatePushPullSink)对算法进行建模;通过二维数据划分方法对所述建模中的数据进行划分,并获取划分后冗余度最小的数据;根据估测公式估测确定最佳的第三维层数;以及根据所述冗余度最小的数据对所述第三维层数的每一层进行划分,获得数据的分布方式。本专利技术实施例的图数据划分方法,根据图定义的数据和计算模型对算法进行建模,通过二维数据划分方法对建模中的数据进行划分,并获取划分后冗余度最小的数据,再根据估测公式估测确定最佳的第三维层数,最后根据冗余度最小的数据对第三维层数的每一层进行划分,获得数据的分布方式。该方法实现了通过增加适量的层间通讯量减少每一层内数据划分块数,减少分布式图数据处理时的通讯量,提升计算效率。在本专利技术的一个实施例中,所述计算模型UPPS具体包括:在一张数据图作为基本的操作单元,区分不可以划分的数据DShare和可以划分的数据DColle,其中DColle为一个长度为SC的向量;提供4种操作类型,分别为:Update、Push、Pull和Sink,其中,所述Update的操作为获取每个图的点或边并对所述每个图的所有数据进行更新,所述Push的操作为用源点和边的数据更新汇点,所述Pull的操作为用汇点和边的数据更新源点,所述Sink的操作为用源点和汇点的数据更新边在本专利技术的一个实施例中,所述二维数据方法包括:点划分、边划分和复合划分。在本专利技术的一个实施例中,所述根据估测公式估测确定最佳的第三维层数具体包括:根据所述计算模块UPPS中的4种操作类型确定每一层通讯量的估测公式;根据所述估测公式确定每一层的最终通讯量,选择通讯量最小的作为所述第三维层数。在本专利技术的一个实施例中,根据所述冗余度最小的数据对所述第三维层数的每一层进行划分,获得数据的分布方式具体包括:所述冗余度最小的数据对应的计算节点划分为第三维层数组;所述第三维层数组中的每一组计算节点负责维护所述第三维层数中的一层。为达上述目的,本专利技术第二方面实施例的图数据划分装置,包括处理模块,用于根据图定义的数据和计算模型对算法进行建模;第一划分模块,用于通过二维数据划分方法对所述建模中的数据进行划分;获取模块,用于获取所述第一划分模块划分后冗余度最小的数据;确定模块,用于根据估测公式估测确定最佳的第三维层数;以及第二划分模块,用于根据所述冗余度最小的数据对所述第三维层数的每一层进行划分,获得数据的分布方式。本专利技术实施例的图数据划分装置,处理模块根据图定义的数据和计算模型对算法进行建模,第一划分模块通过二维数据划分方法对建模中的数据进行划分,获取模块获取划分后冗余度最小的数据,确定模块根据估测公式估测确定最佳的第三维层数,最后第二划分模块根据冗余度最小的数据对第三维层数的每一层进行划分,获得数据的分布方式。该装置实现了通过增加适量的层间通讯量减少每一层内数据划分块数,减少分布式图数据处理时的通讯量,提升计算效率。在本专利技术的一个实施例中,所述计算模型UPPS具体包括:在一张数据图作为基本的操作单元,区分不可以划分的数据DShare和可以划分的数据DColle,其中DColle为一个长度为SC的向量;提供4种操作类型,分别为:Update、Push、Pull和Sink,其中,所述Update的操作为获取每个图的点或边并对所述每个图的所有数据进行更新,所述Push的操作为用源点和边的数据更新汇点,所述Pull的操作为用汇点和边的数据更新源点,所述Sink的操作为用源点和汇点的数据更新边在本专利技术的一个实施例中,所述二维数据方法包括:点划分、边划分和复合划分。在本专利技术的一个实施例中,所述确定模块具体包括:第一确定单元,用于根据所述计算模块中的4种操作类型确定每一层通讯量的估测公式;第二确定单元,用于根据所述估测公式确定每一层的最终通讯量;选择单元,用于选择通讯量最小的作为所述第三维层数。在本专利技术的一个实施例中,所述第二划分模块具体包括:划分单元,用于所述冗余度最小的数据对应的计算节点划分为第三维层数组;维护单元本文档来自技高网
...

【技术保护点】
一种图数据划分方法,其特征在于,包括以下步骤:根据图定义的数据和计算模型UPPS对算法进行建模;通过二维数据划分方法对所述建模中的数据进行划分,并获取划分后冗余度最小的数据;根据估测公式估测确定最佳的第三维层数;以及根据所述冗余度最小的数据对所述第三维层数的每一层进行划分,获得数据的分布方式。

【技术特征摘要】
1.一种图数据划分方法,其特征在于,包括以下步骤:
根据图定义的数据和计算模型UPPS对算法进行建模;
通过二维数据划分方法对所述建模中的数据进行划分,并获取划分后冗余度最小的数据;
根据估测公式估测确定最佳的第三维层数;以及
根据所述冗余度最小的数据对所述第三维层数的每一层进行划分,获得数据的分布方式。
2.如权利要求1所述的图数据划分方法,其特征在于,所述计算模型UPPS具体包括:
在一张数据图作为基本的操作单元,区分不可以划分的数据DShare和可以划分的数据DColle,其中DColle为一个长度为SC的向量;
提供4种操作类型,分别为:Update、Push、Pull和Sink,其中,所述Update的操作为获取每个图的点或边并对所述每个图的所有数据进行更新,所述Push的操作为用源点和边的数据更新汇点,所述Pull的操作为用汇点和边的数据更新源点,所述Sink的操作为用源点和汇点的数据更新边。
3.如权利要求1所述的图数据划分方法,其特征在于,所述二维数据方法包括:点划分、边划分和复合划分。
4.如权利要求1所述的图数据划分方法,其特征在于,所述根据估测公式估测确定最佳的第三维层数具体包括:
根据所述计算模型UPPS中的4种操作类型确定每一层通讯量的估测公式;
根据所述估测公式确定每一层的最终通讯量,选择通讯量最小的作为所述第三维层数。
5.如权利要求1所述的图数据划分方法,其特征在于,根据所述冗余度最小的数据对所述第三维层数的每一层进行划分,获得数据的分布方式具体包括:
所述冗余度最小的数据对应的计算节点划分为第三维层数组;
所述第三维层数组中的每一组计算节点负责维护所述第三维层数中的一层。
6.一种图数据划分装置,其特征在于,包括:
...

【专利技术属性】
技术研发人员:武永卫章明星陈康郑纬民
申请(专利权)人:鄞州浙江清华长三角研究院创新中心
类型:发明
国别省市:浙江;33

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

1