分布式图数据处理方法和装置制造方法及图纸

技术编号:15616129 阅读:123 留言:0更新日期:2017-06-14 03:23
本发明专利技术提供一种分布式图数据处理方法和装置。本发明专利技术提供的分布式图数据处理方法,包括:在第一从计算节点执行完本轮迭代处理,并且判断消息队列中不存在待处理的第二计算消息、以及判断当前处理的分块中不存在活跃顶点时,在等待接收目标从计算节点发送的回复响应的过程中,判断是否接收到第二从计算节点发送的第二计算消息;若是,则执行下一轮迭代处理;其中,所述目标从计算节点为接收所述第一从计算节点发送的第一计算消息的从计算节点。本发明专利技术提供的分布式图数据处理方法和装置,可充分利用从计算节点的计算能力,减少同步等待的时间,优化执行效率,减少总执行时间。

【技术实现步骤摘要】
分布式图数据处理方法和装置
本专利技术涉及数据处理技术,尤其涉及一种分布式图数据处理方法和装置。
技术介绍
图数据是由被称为顶点的数据对象的集合和被称为边的数据对象的集合组成的数据结构。由于图数据能够直观地表现现实世界中的许多应用场景,因此,图数据已经被广泛的应用于诸多领域,例如,路径规划、推荐系统等。随着大数据时代的到来,图数据的数据条数(即边的条数)越来越多,数据与数据之间的联系更加复杂。单机已无法满足对图数据的处理。目前,常通过分布式图数据处理方法对图数据进行处理。具体地,将图数据分为多个分块,使得图数据的分块分布在各个从计算节点上进行处理,当其中一个从计算节点执行完本轮迭代计算后(在从计算节点执行本轮迭代计算的过程中,当得到当前分块的任一个顶点的计算结果后,均会向目标从计算节点发送计算消息,以通过上述计算消息将该计算结果发送给目标从计算节点),该从计算节点首先判断消息队列中是否存在待处理的计算消息,若存在待处理的计算消息,则直接进入下一轮迭代计算;若判断消息队列中不存在待处理的计算消息,则再判断正在处理的分块中是否还存在活跃顶点,若判断正在处理的分块中不存在活跃顶点,则在接收到目标从计算节点的回复响应(该回复响应用于告知该从计算节点当前的目标计算节点已经收到其发送的计算消息)后,向主计算节点上报本轮迭代处理过程中发送的计算消息的个数,并等待接收主计算节点发送的控制命令(控制命令可以是计算终止的控制命令或者是进入下一轮计算的控制命令)。利用现有的分布式图处理方法对图数据进行处理时,当其中任一个从计算节点在判断消息队列中不存在计算消息,且判断正在处理的分块中也不存在活跃顶点时,该从计算节点向主计算节点上报处理信息,并等待主计算节点的控制命令。由于主计算节点需要根据所有从计算节点上报的处理信息来做出控制命令。因此,当该从计算节点在等待接收主计算节点的控制命令的过程中,由于其他从计算节点可能还在执行本轮计算,所以等待时间可能会非常长,并且等待后的控制命令可能是进入下一轮计算。这样,不能充分利用该从计算节点的计算能力,造成资源的浪费,并使得图数据处理的时间较长。
技术实现思路
本专利技术提供一种分布式图数据处理方法和装置,可充分利用从计算节点的计算能力,减少同步等待的时间,优化执行效率,减少总执行时间。本专利技术第一方面提供一种分布式图数据处理方法,包括:在第一从计算节点执行完本轮迭代处理,并且判断消息队列中不存在待处理的第二计算消息、以及判断当前处理的分块中不存在活跃顶点时,在等待接收目标从计算节点发送的回复响应的过程中,判断是否接收到第二从计算节点发送的第二计算消息,其中,所述目标从计算节点为接收所述第一从计算节点发送的第一计算消息的从计算节点;若是,则执行下一轮迭代处理。进一步地,所述方法还包括:若判断没有接收到所述第二计算消息,则在接收到所述目标从计算节点发送的回复响应后,将迭代处理过程中的处理信息发送给服务器;其中,所述处理信息包括所述第一从计算节点在迭代处理过程中发送的第一计算消息的个数以及接收的第二计算消息的个数。进一步地,所述将迭代处理过程中的处理信息发送给服务器之后,所述方法还包括:在等待接收主计算节点发送的控制命令的过程中,判断是否接收到所述第二从计算节点发送的第二计算消息;若是,则执行下一轮迭代处理。进一步地,在执行下一轮迭代处理之前,所述方法还包括:向服务器发送删除命令,所述删除命令用于指示所述服务器删除所述处理信息;向所述第二从计算节点发送回复响应。进一步地,所述方法还包括:按照预设的分块的优先级对分块进行迭代处理;其中,优先级高的分块的活跃顶点的数目大于优先级低的分块的活跃顶点的数目。进一步地,所述方法还包括:在第一从计算节点向目标从计算节点发送所述第一计算消息时,判断所述第一从计算节点的发送缓冲区的消息缓存量是否大于预设阈值;若是,则停止发送所述第一计算消息。本专利技术第二方面提供一种分布式图数据处理方法,包括:从服务器中获取每个从计算节点发送的处理信息;其中,所述处理信息包括每个从计算节点在迭代处理的过程中发送的第一计算消息的个数和接收的第二计算消息的个数;判断所述每个从计算节点在迭代处理的过程中发送的第一计算消息的个数之和与所述每个从计算节点在迭代处理的过程中接收的第二计算消息的个数之和是否相等;若是,则向每个所述从计算节点发送算法终止的控制命令。本专利技术第三方面提供一种分布式图数据处理装置,包括:第一判断模块和第一处理模块,其中,所述第一判断模块,用于在第一从计算节点执行完本轮迭代处理,并且判断消息队列中不存在待处理的第二计算消息、以及判断当前处理的分块中不存在活跃顶点时,在等待接收目标从计算节点发送的回复响应的过程中,判断是否接收到第二从计算节点发送的第二计算消息,其中,所述目标从计算节点为接收所述第一从计算节点发送的第一计算消息的从计算节点;所述第一处理模块,用于在所述第一判断模块判断在等待接收目标从计算节点发送的回复响应的过程中,接收到第二从计算节点发送的第二计算消息时,执行下一轮迭代处理。进一步地,所述第一处理模块,还用于在所述第一判断模块判断没有接收到所述第二计算消息时,则在接收到所述目标从计算节点发送的回复响应后,将迭代处理过程中的处理信息发送给服务器;其中,所述处理信息包括所述第一从计算节点在迭代处理过程中发送的第一计算消息的个数以及接收的第二计算消息的个数。进一步地,所述第一判断模块,还用于在所述第一处理模块将迭代处理过程中的处理信息发送给服务器之后,在等待接收主计算节点发送的控制命令的过程中,判断是否接收到所述第二从计算节点发送的第二计算消息;所述第一处理模块,还用于在所述第一判断模块判断在等待接收主计算节点发送的控制命令的过程中,接收到所述第二从计算节点发送的第二计算消息时,执行下一轮迭代处理。进一步地,所述第一处理模块,还用于在执行下一轮迭代处理之前,向服务器发送删除命令,并向所述第二从计算节点发送回复响应,其中,所述删除命令用于指示所述服务器删除所述处理信息。进一步地,所述第一处理模块,还具体用于按照预设的分块的优先级对分块进行迭代处理;其中,优先级高的分块的活跃顶点的数目大于优先级低的分块的活跃顶点的数目。进一步地,所述第一判断模块,还用于在第一从计算节点向目标从计算节点发送所述第一计算消息时,判断所述第一从计算节点的发送缓冲区的消息缓存量是否大于预设阈值;所述第一处理模块,还用于在所述第一判断模块判断第一从计算节点的发送缓冲区的消息缓存量大于预设阈值时,停止发送所述第一计算消息。本专利技术第四方面提供一种分布式图数据处理装置,包括:获取模块、第二判断模块和第二处理模块,其中,所述获取模块,用于从服务器中获取每个从计算节点发送的处理信息;其中,所述处理信息包括每个从计算节点在迭代处理的过程中发送的第一计算消息的个数和接收的第二计算消息的个数;所述第二判断模块,用于判断所述每个从计算节点在迭代处理的过程中发送的第一计算消息的个数之和与所述每个从计算节点在迭代处理的过程中接收的第二计算消息的个数之和是否相等;所述第二处理模块,用于在所述第二判断模块判断所述每个从计算节点在迭代处理的过程中发送的第一计算消息的个数之和与所述每个从计算节点在迭代处理的过程中接收的本文档来自技高网
...
分布式图数据处理方法和装置

【技术保护点】
一种分布式图数据处理方法,其特征在于,包括:在第一从计算节点执行完本轮迭代处理,并且判断消息队列中不存在待处理的第二计算消息、以及判断当前处理的分块中不存在活跃顶点时,在等待接收目标从计算节点发送的回复响应的过程中,判断是否接收到第二从计算节点发送的第二计算消息,其中,所述目标从计算节点为接收所述第一从计算节点发送的第一计算消息的从计算节点;若是,则执行下一轮迭代处理。

【技术特征摘要】
1.一种分布式图数据处理方法,其特征在于,包括:在第一从计算节点执行完本轮迭代处理,并且判断消息队列中不存在待处理的第二计算消息、以及判断当前处理的分块中不存在活跃顶点时,在等待接收目标从计算节点发送的回复响应的过程中,判断是否接收到第二从计算节点发送的第二计算消息,其中,所述目标从计算节点为接收所述第一从计算节点发送的第一计算消息的从计算节点;若是,则执行下一轮迭代处理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若判断没有接收到所述第二计算消息,则在接收到所述目标从计算节点发送的回复响应后,将迭代处理过程中的处理信息发送给服务器;其中,所述处理信息包括所述第一从计算节点在迭代处理过程中发送的第一计算消息的个数以及接收的第二计算消息的个数。3.根据权利要求2所述的方法,其特征在于,所述将迭代处理过程中的处理信息发送给服务器之后,所述方法还包括:在等待接收主计算节点发送的控制命令的过程中,判断是否接收到所述第二从计算节点发送的第二计算消息;若是,则执行下一轮迭代处理。4.根据权利要求3所述的方法,其特征在于,在执行下一轮迭代处理之前,所述方法还包括:向服务器发送删除命令,所述删除命令用于指示所述服务器删除所述处理信息;向所述第二从计算节点发送回复响应。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照预设的分块的优先级对分块进行迭代处理;其中,优先级高的分块的活跃顶点的数目大于优先级低的分块的活跃顶点的数目。6.根据权利要求2-5任一项所述的方法,其特征在于,所述方法还包括:在第一从计算节点向目标从计算节点发送所述第一计算消息时,判断所述第一从计算节点的发送缓冲区的消息缓存量是否大于预设阈值;若是,则停止发送所述第一计算消息。7.一种分布式图数据处理方法,其特征在于,包括:从服务器中获取每个从计算节点发送的处理信...

【专利技术属性】
技术研发人员:李建欣曹英杰李博张扬扬
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1