图数据处理方法和图数据的计算任务发布方法技术

技术编号:19219839 阅读:34 留言:0更新日期:2018-10-20 08:16
本申请涉及一种图数据处理方法和图数据的计算任务发布方法,所述图数据处理方法包括:获取从待处理图数据中划分出的子图数据;执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据;将所述全局数据写入区块链网络中;所述区块链网络中的全局数据,由所述分布式计算节点集群更新;从所述区块链网络中获取最新的全局数据;根据获取的最新的全局数据和所述局部数据,迭代执行对于所述子图数据的计算任务,直到满足迭代停止条件时获得计算结果。本申请提供的方案可以提高图数据处理效率。

【技术实现步骤摘要】
图数据处理方法和图数据的计算任务发布方法
本申请涉及图计算
,特别是涉及一种图数据处理方法和装置、图数据的计算任务发布方法和装置。
技术介绍
随着计算机技术的发展,出现了以“图论”为基础的对现实世界的一种图结构的抽象表达,以及在这种数据结构上的计算模式,也就是图计算。在具体应用中,可以用图数据表示社交网络、商品购买关系、道路交通网络、通信网络等等信息,而基于图数据的计算需求也越来越多,越来越复杂。传统的图计算方法通常是基于中心化思想的图计算方法,在图计算过程中常常使用参数服务器对需要进行共享的数据进行存储和更新。虽然参数服务器可以将需要共享的数据分布式地存储在各个服务器节点上,以在一定程度上避开单点故障,但在数据更新时却需要依赖一个中心化的驱动程序来协调处理。这在图计算过程中往往会导致巨大的网络吞吐量,从而使得网络通信成为图计算系统的瓶颈。特别是当处理超大规模数据量时,数据更新延迟,使得传统的基于中心化的图计算方法存在计算效率低的问题。
技术实现思路
基于此,有必要针对图数据计算效率低的技术问题,提供一种图数据处理方法、图数据的计算任务发布方法、装置、计算机可读存储介质和计算机设备。一种图数据处理方法,应用于分布式计算节点集群中的计算节点,包括:获取从待处理图数据中划分出的子图数据;执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据;将所述全局数据写入区块链网络中;所述区块链网络中的全局数据,由所述分布式计算节点集群更新;从所述区块链网络中获取最新的全局数据;根据获取的最新的全局数据和所述局部数据,迭代执行对于所述子图数据的计算任务,直到满足迭代停止条件时获得计算结果。一种图数据处理装置,包括:计算管理模块,用于获取从待处理图数据中划分出的子图数据;所述计算管理模块还用于执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据;通信模块,用于将所述全局数据写入区块链网络中;所述区块链网络中的全局数据,由所述分布式计算节点集群更新;所述通信模块还用于从所述区块链网络中获取最新的全局数据;所述计算管理模块还用于根据获取的最新的全局数据和所述局部数据,迭代执行对于所述子图数据的计算任务,直到满足迭代停止条件时获得计算结果。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述图数据处理方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述图数据处理方法的步骤。上述图数据处理方法、装置、计算机可读存储介质和计算机设备,通过将待处理图数据分割成子图数据进行分布式处理,可大大提高图数据的处理效率。再将各计算节点在进行图数据的分布式计算过程中获得的需要进行全局共享的全局数据写入区块链网络中,通过区块链网络进行全局共享。大大减少了数据共享所耗费的通信量。并且,在对待处理图数据进行迭代计算的过程中,可迅速直接地从区块链网络中获取最新的全局数据和缓存至本地的局部数据,无需一个中心化的驱动程序来协调更新数据,大大提高了对图数据进行处理的效率。一种图数据的计算任务发布方法,应用于控制节点,所述方法包括:获取与待处理图数据相对应的任务信息;创建新区块;将所述任务信息写入所述新区块;当所述新区块通过区块链网络验证后,将所述新区块加入所述区块链网络;在所述区块链网络中广播所述任务信息;广播的任务信息,用于指示计算节点获取从待处理图数据中划分出的子图数据,并基于所述区块链网络迭代执行对于所述子图数据的计算任务,获得计算结果。一种图数据的计算任务发布装置,所述装置包括:任务管理模块,用于获取与待处理图数据相对应的任务信息;通信模块,用于创建新区块;所述通信模块还用于将所述任务信息写入所述新区块;所述通信模块还用于当所述新区块通过区块链网络验证后,将所述新区块加入所述区块链网络;所述通信模块还用于在所述区块链网络中广播所述任务信息;广播的任务信息,用于指示计算节点获取从待处理图数据中划分出的子图数据,并基于所述区块链网络迭代执行对于所述子图数据的计算任务,获得计算结果。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述图数据的计算任务发布方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述图数据的计算任务发布方法的步骤。上述图数据的计算任务发布方法、装置、计算机可读存储介质和计算机设备,通过将获取的任务信息写入区块链网络中的新区块,以在区块链网络中广播发布该任务信息,这样在区块链网络中的其他节点就可拉取相应的任务信息,并获取从待处理图数据中划分出的子图数据,基于区块链网络迭代执行对于子图数据的计算任务,获得计算结果。这样可以在耗费极低的网络通信量的情况下,使得处于区块链网络中的就算节点可以迅速有效地接收到发布的任务信息,大大提高了图数据的计算任务的发布效率,进而提高了对图数据进行计算的处理效率。附图说明图1为一个实施例中图数据处理方法的应用环境图;图2为一个实施例中图数据处理方法的流程示意图;图3为一个实施例中获取区块链网络中广播的与待处理图数据相对应的任务信息的步骤的流程示意图;图4为一个实施例中重建丢失数据步骤的流程示意图;图5为一个实施例中图节点交换步骤的流程示意图;图6为另一个实施例中图数据处理方法的流程示意图;图7为一个实施例中图数据的计算任务发布方法的流程示意图;图8为一个实施例中任务编辑界面的界面示意图;图9为一个实施例中任务执行状态显示界面的结构示意图;图10为一个实施例中计算节点状态显示界面的结构示意图;图11为另一个实施例中图数据的计算任务发布方法的流程示意图;图12为一个实施例中图数据处理装置的结构框图;图13为另一个实施例中图数据处理装置的结构框图;图14为一个实施例中图数据处理装置的模块示意图;图15为一个实施例中计算机设备的结构框图;图16为一个实施例中图数据的计算任务发布装置的结构框图;图17为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中图数据处理方法的应用环境图。参照图1,该图数据处理方法应用于分布式的图计算系统。该分布式的图计算系统包括控制节点110、计算节点120和数据仓库130。控制节点110和计算节点120通过区块链网络连接,控制节点110和计算节点120分别通过网络与数据仓库130连接。控制节点110可以通过终端来实现,具体可以是台式终端或移动终端,移动终端比如手机、平板电脑或笔记本电脑等。计算节点120可以通过部署在一个或多个服务器上的程序来实现,比如图1所示的计算节点a、b、c等分别分布在高性能计算机1至高性能计算机N上。数据仓库130可以是集中式的存储设备,也可以是分布式的存储集群或设备。在一个实施例中,该分布式的图计算系统包括分布式计算节点集群,该图数据处理方法可应用于分布式计算节点集群中的计算节点。如图2所示,在一个实施例中,提供了本文档来自技高网...

【技术保护点】
1.一种图数据处理方法,应用于分布式计算节点集群中的计算节点,包括:获取从待处理图数据中划分出的子图数据;执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据;将所述全局数据写入区块链网络中;所述区块链网络中的全局数据,由所述分布式计算节点集群更新;从所述区块链网络中获取最新的全局数据;根据获取的最新的全局数据和所述局部数据,迭代执行对于所述子图数据的计算任务,直到满足迭代停止条件时获得计算结果。

【技术特征摘要】
1.一种图数据处理方法,应用于分布式计算节点集群中的计算节点,包括:获取从待处理图数据中划分出的子图数据;执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据;将所述全局数据写入区块链网络中;所述区块链网络中的全局数据,由所述分布式计算节点集群更新;从所述区块链网络中获取最新的全局数据;根据获取的最新的全局数据和所述局部数据,迭代执行对于所述子图数据的计算任务,直到满足迭代停止条件时获得计算结果。2.根据权利要求1所述的方法,其特征在于,所述获取从待处理图数据中划分出的子图数据,包括:获取区块链网络中广播的与待处理图数据相对应的任务信息;根据所述任务信息,读取相应的任务可执行文件和从待处理图数据中划分出的子图数据;所述执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据包括:执行所述任务可执行文件,以执行对于所述子图数据的计算任务,得到相应的全局数据和局部数据。3.根据权利要求2所述的方法,其特征在于,所述获取区块链网络中广播的与待处理图数据相对应的任务信息包括:定时检测区块链网络中广播的与待处理图数据相对应的任务信息;当检测到所述任务信息时,确定当前计算节点的负载状态;当所述负载状态满足预设负载条件时,拉取所述任务信息。4.根据权利要求1所述的方法,其特征在于,所述将所述全局数据写入区块链网络中包括:创建新区块;将所述全局数据写入创建的新区块;当所述新区块通过区块链网络验证后,将所述新区块加入所述区块链网络。5.根据权利要求4所述的方法,其特征在于,所述将所述全局数据写入创建的新区块包括:将所述全局数据和相应的计算任务执行日志写入新区块;所述方法还包括:根据所述区块链网络中的计算任务执行日志,确定故障计算节点和相应的丢失数据;确定参与重建所述丢失数据的计算节点;从确定的计算节点中获取与所述故障计算节点相关的局部数据;根据获取的局部数据重建所述丢失数据。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:查找本地与所述故障计算节点相关的局部数据;将查找到的局部数据共享至参与重建所述丢失数据的计算节点;共享的局部数据用于重建所述丢失数据。7.根据权利要求1所述的方法,其特征在于,所述从所述区块链网络中获取最新的全局数据包括:定时检测所述区块链网络中的区块数量;当所述区块数量增加时,获取新区块中记录的全局数据;根据获取的全局数据更新本地的全局数据。8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:获取已形成相应区块链数据且已完成的计算任务所对应的第一量化值;获取未形成相应区块链数据且已完成的计算任务所对应的第二量化值;确定所述子图数据中未完成的计算任务所对应的第三量化值;当所述第二量化值和所述第三量化值不符合均衡条件时,在计算节点之间进行图节点和第一量化值的交换。9.一种图数据的计算任务发布方法,应用于控制节点,所述方法包括:获取与待处理图数据相对应的任务信息;创建新区块...

【专利技术属性】
技术研发人员:郑博刘日佳刘志斌陈谦
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1