一种图计算预处理的装置、方法及系统制造方法及图纸

技术编号:12134100 阅读:70 留言:0更新日期:2015-09-30 14:33
本发明专利技术实施例提供了一种图计算预处理的装置、方法及系统,涉及分布式数据处理领域,用以降低网络消耗。所述图转换器,包括:接收单元,用于接收原始图文件地址;获取单元,用于获取大顶点统计阈值;获取单元,还用于根据原始图文件地址读取原始图文件;确定单元,用于根据大顶点统计阈值,在原始图文件中确定出大顶点;处理单元,用于将大顶点与大顶点的边数记录到大顶点表中;发送单元,用于将大顶点表发送至图均衡器;接收单元,还用于接收图均衡器发送的大顶点分配表;处理单元,还用于按照预设规则并根据所述大顶点分配表,将各顶点分配至对应的存储空间。本发明专利技术实施例适用于图计算预处理的场景。

【技术实现步骤摘要】

本专利技术涉及分布式数据处理领域,尤其涉及一种图计算预处理的装置、方法及系统
技术介绍
图是表示对象与对象之间的关系的一种抽向的方法,是图论的基本研究对象。在图计算中,图是由顶点和顶点之间的边构成。随着信息的快速增长,图的规模随之也越来越大,随之出现的分布式图处理可以高效的对大规模图进行处理。其中,在分布式图处理对大规模图进行处理时,一般需要对大规模图进行图计算预处理,然后,对大规模图进行相应的计算。在现有同步并行模式的分布式图处理系统中,图计算预处理方法包括三个步骤:首先,主控节点将图数据分割为若干个文件分片,并把个文件分片分配至多个计算节点;其次,各计算节点读取主控节点发送的文件分片;最后,各个计算节点进行图顶点重分配,即为各个计算节点通过在其他计算节点之间发送网络消息,将图顶点分配至对应的计算节点,以获得图中顶点在存储时的一次粗略优化。在实现上述图计算预处理的过程中,专利技术人发现现有技术存在以下问题:计算节点通过图顶点重分配能够将各个顶点均匀的分配至各个计算节点中,但并没有考虑图顶点间边的影响。在图计算开始运行后,若一个顶点与其邻接顶点不在一个计算节点中,则在计算节点计算该顶点时,需要通过此计算节点与该顶点的邻接顶点所在的计算节点之间的网络进行信息交互。这样,在图计算开始运行后,各个计算节点均需获取各自邻接顶点的信息,若存在大量的顶点与其邻接顶点不在相同的计算节点中,则需要通过网络传输大量的信息,从而增加了网络消耗。
技术实现思路
本专利技术的实施例提供一种图计算预处理的装置、方法及系统,用以降低网络消耗。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供了一种图转换器,包括:接收单元,用于接收主控节点发送的原始图文件地址;获取单元,用于获取大顶点统计阈值;所述获取单元,还用于根据所述接收单元接收的所述原始图文件地址读取原始图文件;确定单元,用于根据所述获取单元读取的所述大顶点统计阈值,在所述原始图文件中确定出大顶点;处理单元,用于将所述确定单元确定的所述大顶点与所述大顶点的边数记录到大顶点表中;发送单元,用于将所述大顶点表发送至图均衡器;所述接收单元,还用于接收所述图均衡器发送的大顶点分配表;所述大顶点分配表用于记录大顶点与存储空间之间映射关系;所述处理单元,还用于按照预设规则并根据所述大顶点分配表,将各顶点分配至对应的存储空间,以使得所述存储空间所在的计算节点对所述原始图文件进行计算;其中,所述预设规则包括将第一顶点分配至与其相邻的大顶点对应的存储空间;所述第一顶点是所述原始图文件中不是大顶点,且与大顶点相邻的顶点。在第一方面的第一种可能的实现方式中,所述获取单元,具体用于从本地获取预先设定的所述大顶点统计阈值;或者,所述获取单元,具体用于接收所述主控节点发送的所述大顶点统计阈值。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述处理单元,具体用于依次读取所述原始图文件中的各顶点,并确定所述顶点是否为大顶点;所述处理单元,具体用于在所述顶点是大顶点的情况下,根据大顶点分配表,将所述顶点分配至与其对应的存储空间;所述处理单元,具体用于在所述顶点不是大顶点的情况下,确定所述顶点是否为第一顶点;所述处理单元,具体用于在所述顶点是第一顶点的情况下,将所述顶点分配至所述大顶点分配表中与所述顶点相邻的大顶点对应的存储空间;所述处理单元,具体用于在所述顶点不是第一顶点的情况下,将所述顶点分配至任一可选的存储空间。结合第一方面或第一方面的第一或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述获取单元,具体用于根据所述原始图文件地址,依次读取所述原始图文件中每一顶点;所述确定单元,具体用于将边数大于或者等于所述大顶点统计阈值的顶点确定为大顶点。结合第一方面或第一方面的第一至第三任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取单元,具体根据所述原始图文件地址,依次读取所述原始图文件中每一顶点,并为每一顶点分配顶点用户身份标识ID;所述确定单元,具体用于将边数大于或者等于所述大顶点统计阈值的顶点确定为大顶点;所述顶点ID用于唯一标识一个顶点;所述确定单元,具体用于将所述原始图文件中的每一顶点和与其对应的顶点ID,生成图名字字典;所述图名字字典用于记录所述原始图文件中各顶点与顶点ID间的映射关系;所述处理单元,具体用于根据所述图名字字典及确定出的大顶点,将所述大顶点的顶点ID与所述大顶点的边数记录到大顶点表中。结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述接收单元,还用于接收所述主控节点发送的图转换标志位;所述确定单元,还用于根据所述接收单元接收的所述图转换标志位确定是否对所述原始图文件进行转换;所述获取单元,具体用于在所述图转换器确定对所述原始图文件进行转换的情况下,根据所述原始图文件地址,依次读取所述原始图文件中每一顶点,为每一顶点分配顶点ID。第二方面,本专利技术实施例提供了一种图均衡器,包括:接收单元,用于接收图转换器发送的大顶点表;所述大顶点表记录有原始图文件中的大顶点与其对应的边数;发送单元,用于向主控节点发送资源请求消息;所述接收单元,还用于接收所述主控节点发送的资源响应消息;所述资源响应消息携带对所述原始图文件进行计算的所有计算节点的信息;所述发送单元,还用于向元数据服务器发送存储空间请求消息;所述存储空间请求消息携带所述计算节点的信息;所述接收单元,还用于接收所述元数据服务器发送的所述存储空间响应消息;所述存储空间响应消息携带存储空间信息;处理单元,用于根据所述大顶点表中各大顶点的边数以及所述存储空间信息,生成大顶点分配表;所述大顶点分配表记录有大顶点与存储空间之间的映射关系;所述发送单元,还用于将所述处理单元生成的所述大顶点分配表发送至所述图转换器。在第二方面的第一种可能的实现方式中,所述资源响应消息包括:执行节点列表;所述执行节点列表用于记录对原始图文件进行计算的所有计算节点的信息。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理单元,具体用于确定第一存储空间;所述第一存储空间是未分配大顶点的存储空间中存储空间最大的存储空间;所述处理单元,具体用于确定是否本文档来自技高网
...
一种图计算预处理的装置、方法及系统

【技术保护点】
一种图转换器,其特征在于,包括:接收单元,用于接收主控节点发送的原始图文件地址;获取单元,用于获取大顶点统计阈值;所述获取单元,还用于根据所述接收单元接收的所述原始图文件地址读取原始图文件;确定单元,用于根据所述获取单元读取的所述大顶点统计阈值,在所述原始图文件中确定出大顶点;处理单元,用于将所述确定单元确定的所述大顶点与所述大顶点的边数记录到大顶点表中;发送单元,用于将所述大顶点表发送至图均衡器;所述接收单元,还用于接收所述图均衡器发送的大顶点分配表;所述大顶点分配表用于记录大顶点与存储空间之间映射关系;所述处理单元,还用于按照预设规则并根据所述大顶点分配表,将各顶点分配至对应的存储空间,以使得所述存储空间所在的计算节点对所述原始图文件进行计算;其中,所述预设规则包括将第一顶点分配至与其相邻的大顶点对应的存储空间;所述第一顶点是所述原始图文件中不是大顶点,且与大顶点相邻的顶点。

【技术特征摘要】
1.一种图转换器,其特征在于,包括:
接收单元,用于接收主控节点发送的原始图文件地址;
获取单元,用于获取大顶点统计阈值;
所述获取单元,还用于根据所述接收单元接收的所述原始图文件
地址读取原始图文件;
确定单元,用于根据所述获取单元读取的所述大顶点统计阈值,
在所述原始图文件中确定出大顶点;
处理单元,用于将所述确定单元确定的所述大顶点与所述大顶点
的边数记录到大顶点表中;
发送单元,用于将所述大顶点表发送至图均衡器;
所述接收单元,还用于接收所述图均衡器发送的大顶点分配表;
所述大顶点分配表用于记录大顶点与存储空间之间映射关系;
所述处理单元,还用于按照预设规则并根据所述大顶点分配表,
将各顶点分配至对应的存储空间,以使得所述存储空间所在的计算节
点对所述原始图文件进行计算;其中,所述预设规则包括将第一顶点
分配至与其相邻的大顶点对应的存储空间;所述第一顶点是所述原始
图文件中不是大顶点,且与大顶点相邻的顶点。
2.根据权利要求1所述的图转换器,其特征在于,
所述获取单元,具体用于从本地获取预先设定的所述大顶点统计
阈值;
或者,
所述获取单元,具体用于接收所述主控节点发送的所述大顶点统
计阈值。
3.根据权利要求1或2所述的图转换器,其特征在于,
所述处理单元,具体用于依次读取所述原始图文件中的各顶点,
并确定所述顶点是否为大顶点;
所述处理单元,具体用于在所述顶点是大顶点的情况下,根据大
顶点分配表,将所述顶点分配至与其对应的存储空间;
所述处理单元,具体用于在所述顶点不是大顶点的情况下,确定
所述顶点是否为第一顶点;
所述处理单元,具体用于在所述顶点是第一顶点的情况下,将所
述顶点分配至所述大顶点分配表中与所述顶点相邻的大顶点对应的存
储空间;
所述处理单元,具体用于在所述顶点不是第一顶点的情况下,将
所述顶点分配至任一可选的存储空间。
4.根据权利要求1-3任一项所述的图转换器,其特征在于,
所述获取单元,具体用于根据所述原始图文件地址,依次读取所
述原始图文件中每一顶点;
所述确定单元,具体用于将边数大于或者等于所述大顶点统计阈
值的顶点确定为大顶点。
5.根据权利要求1-4任一项所述的图转换器,其特征在于,
所述获取单元,具体根据所述原始图文件地址,依次读取所述原
始图文件中每一顶点,并为每一顶点分配顶点用户身份标识ID;
所述确定单元,具体用于将边数大于或者等于所述大顶点统计阈
值的顶点确定为大顶点;所述顶点ID用于唯一标识一个顶点;
所述确定单元,具体用于将所述原始图文件中的每一顶点和与其
对应的顶点ID,生成图名字字典;所述图名字字典用于记录所述原始
图文件中各顶点与顶点ID间的映射关系;
所述处理单元,具体用于根据所述图名字字典及确定出的大顶点,
将所述大顶点的顶点ID与所述大顶点的边数记录到大顶点表中。
6.根据权利要求5所述的图转换器,其特征在于,
所述接收单元,还用于接收所述主控节点发送的图转换标志位;
所述确定单元,还用于根据所述接收单元接收的所述图转换标志
位确定是否对所述原始图文件进行转换;
所述获取单元,具体用于在所述图转换器确定对所述原始图文件
进行转换的情况下,根据所述原始图文件地址,依次读取所述原始图
文件中每一顶点,为每一顶点分配顶点ID。
7.一种图均衡器,其特征在于,包括:
接收单元,用于接收图转换器发送的大顶点表;所述大顶点表记
录有原始图文件中的大顶点与其对应的边数;
发送单元,用于向主控节点发送资源请求消息;
所述接收单元,还用于接收所述主控节点发送的资源响应消息;
所述资源响应消息携带对所述原始图文件进行计算的所有计算节点的
信息;
所述发送单元,还用于向元数据服务器发送存储空间请求消息;
所述存储空间请求消息携带所述计算节点的信息;
所述接收单元,还用于接收所述元数据服务器发送的所述存储空
间响应消息;所述存储空间响应消息携带存储空间信息;
处理单元,用于根据所述大顶点表中各大顶点的边数以及所述存
储空间信息,生成大顶点分配表;所述大顶点分配表记录有大顶点与
存储空间之间的映射关系;
所述发送单元,还用于将所述处理单元生成的所述大顶点分配表
发送至所述图转换器。
8.根据权利要求7所述的图均衡器,其特征在于,
所述资源响应消息包括:执行节点列表;所述执行节点列表用于
记录对原始图文件进行计算的所有计算节点的信息。
9.根据权利要求7或8所述的图均衡器,其特征在于,
所述处理单元,具体用于确定第一存储空间;所述第一存储空间
是未分配大顶点的存储空间中存储空间最大的存储空间;
所述处理单元,具体用于确定是否存在未确定存储空间的大顶点;
所述处理单元,具体用于在确定存在未确定存储空间的大顶点的
情况下,确定是否存在第一大顶点;所述第一大顶点是未确定存储空
间的大顶点中边数不大于所述第一存储空间的剩余存储空间的任一大
顶点;所述第一存储空间的剩余存储空间是所述第一存储空间的大小
减去已分配至所述第一存储空间的大顶点的边数得到的值;
所述处理单元,具体用于在不存在所述第一大顶点的情况下,将

\t所述第一存储空间确定为已分配大顶点的存储空间,并继续执行所述
图均衡器确定第一存储空间;
所述处理单元,具体用于在存在所述第一大顶点的情况下,将所
述第一大顶点与所述第一空间的映射关系存储至所述大顶点分配表,
将所述第一大顶点确定为已确定存储空间的大顶点,并继续执行确定
是否存在未确定存储空间的大顶点,直至确定不存在未确定存储空间
的大顶点为止。
10.一种元数据服务器,其特征在于,包括:
接收单元,用于接收图均衡器发送的存储空间请求消息;所述存
储空间请求消息携带计算节点的信息;
处理单元,用于根据所述存储空间请求消息,在各计算节点上分
配存储空间;
发送单元,用于将存储空间响应消息发送至所述图均衡器;所述
存储空间响应消息携带存储空间信息。
11.一种主控节点,其特征在于,包括:
获取单元,用于获取图处理请求消息;所述图处理请求消息携带
原始图文件地址;
处理单元,用于根据所述获取单元获取的所述图处理请求消息,
分配计算节点;
发送单元,用于将所述原始图文件地址发送至图转换器;
接收单元,用于接收图均衡器发送的资源请求消息;
所述发送单元,还用于向所述图均衡器发送资源响应消息;所述
资源响应消息携带对所述原始图文件进行计算的所有计算节点的信
息。
12.根据权利要求11所述的主控节点,其特征在于,
所述图处理请求消息还可以携带大顶点统计阈值;
所述发送单元,具体用于将所述原始图文件地址以及所述大顶点
统计阈值发送至所述图转换器。
13.根据权利要求11或12所述的主控节点,其特征在于,
所述发送单元,还用于向所述图转换器发送图转换标志位;所述
图转换标志位用于确定是否对所述原始图文件进行转换。
14.根据权利要求11-13任一项所述的主控节点,其特征在于,
所述资源响应消息包括:执行节点列表;所述执行节点列表用于
记录对所述原始图文件进行计算的所有计算节点的信息。
15.一种图计算预处理的方法,其特征在于,包括:
图转换器接收主控节点发送的原始图文件地址,并获取大顶点统
计阈值;
所述图转换器根据所述原始图文件地址读取原始图文件,并根据
所述大顶点统计阈值,在所述原始图文件中确定出大顶点,并将所述
大顶点与所述大顶点的边数记录到大顶点表中;
所述图转换器将所述大顶点表发送至图均衡器;
所述图转换器接收所述图均衡器发送的大顶点分配表;所述大顶
点分配表用于记录大顶点与存储空间之间映射关系;
所述图转换器按照预设规则并根据所述大顶点分配表,将各顶点
分配至对应的存储空间,以使得所述存储空间所在的计算节点对所述
原始图文件进行计算;其中,所述预设规则包括将第一顶点分配至与
其相邻的大顶点对应的存储空间;所述第一顶点是所述原始图文件中
不是大顶点,且与大顶点相邻的顶点。
16.根据权利要求15所述的方法,其特征在于,
所述图转换器获取大顶点统计阈值包括:
所述图转换器从本地获取预先设定的所述大顶点统计阈值;
或者,
所述图转换器接收所述主控节点发送的所述大顶点统计阈值。
17.根据权利要求15或16所述的方法,其特征在于,
所述图转换器按照预设规则并根据所述大顶点分配表,将各顶点
分配至对应的存储空间包括:
所述图转换器依次读取所述原始图文件中的各顶点,并确定所述

\t顶点是否为大顶点;
在所述顶点是大顶点的情况下,所述图转换器根据大顶点分配表,
将所述顶点分配至与其对应的存储空间;
在所述顶点不是大顶点的情况下,所述图转换器确定所述顶点是
否为第一顶点;
在所述顶点是第一顶点的情况下,所述图转换器将所述顶点分配
至所述大顶点分配表中与所述顶点相邻的大顶点对应的存储空间;
在所述顶点不是第一顶点的情况下,所述图转换器将所述顶点分
配至任一可选的存储空间。
18.根据权利要求15-17任一项所述的方法,其特征在于,
所述图转换器根据所述原始图文件地址读取原始图文件,并根据
所述大顶点统计阈值,在所述原始图文件中确定出大顶点包括:
所述图转换器根据所述原始图文件地址,依次读取所述原始图文
件中每一顶点,并将边数大于或者等于所述大顶点统计阈值的顶点确
定为大顶点。
19.根据权利要求15-18任一项所述的方法,其特征在于,
所述图转换器根据所述原始图文件地址读取原始图文件,并根据
所述大顶点统计阈值,在所述原始图文件中确定出大顶点,并将所述
大顶点与所述大顶点的边数记录到大顶点表中包括:
所述图转换器根据所述原始图文件地址,依次读取所述原始图文
件中每一顶点,为每一顶点分配顶点用户身份标识ID,并将边数大于
或者等于所述大顶点统计阈值的顶点确定为大顶点;所述顶点ID用于
唯一标识一个顶点;
所述图转换器将所述原始图文件中的每一顶点和与其对应的顶点
ID,生成图名字字典;所述图名字字典用于记录所述原始图文件中各
顶点与顶点ID间的映射关系;
所述图转换器根据所述图名字字典及确定出的大顶点,将所述大
顶点的顶点ID与所述大顶点的边数记录到大顶点表中。
20.根据权利要求19所述的方法,其特征在于,
在所述图转换器根据所述原始图文件地址,依次读取所述原始图
文件中每一顶点,为每一顶点分配顶点ID之前,还包括:
所述图转换器接收所述主控节点发送的图转换标志位;
所述图转换器根据所述图转换标志位确定是否对所述原始图文件
进行转换;
所述图转换器根据所述原始图文件地址,依次读取所述原始图文
件中每一顶点,为每一顶点分配顶点ID包括:
在所述图转换器确定对所述原始图文件进行转换的情况下,根据
所述原始图文件地址,依次读取所述原始图文件中每一顶点,为每一
顶点分配顶点ID。
21.一种图计算预处理的方法,其特征在于,包括:
图均衡器接收图转换器发送的大顶点表;所述大顶点表记录有原
始图文件中的大顶点与其对应的边数;
所述图均衡器向主控节点发送资源请求消息;
所述图均衡器接收所述主控节点发送的资源响应消息;所述资源
响应消息携带对所述原始图文件进行计算的所有计算节点...

【专利技术属性】
技术研发人员:常光辉汤羽胡月胜
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1