一种云计算环境中分布式计算模式下的增量式图计算方法技术

技术编号:13864199 阅读:85 留言:0更新日期:2016-10-19 17:02
本发明专利技术公开了一种云计算环境中分布式计算模式下的增量式图计算方法,包括:201、归并服务器生成增量图;202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。本发明专利技术对于图文件中链接结构的不变部分顶点对应的计算消息进行复用,从而减少原系统中重复计算对资源的浪费并提高性能。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及集群环境下一种云计算环境中分布式计算模式下的增量式图计算方法
技术介绍
近年来,图计算被越来越多的应用于社会关系计算、网络搜索、自然语言处理、机器学习以及推荐系统等领域。随着图数据集的规模和复杂性不断增长,如何设计高效的面向分布式环境的图计算模型越来越受到人们的关注。针对该问题,Google提出了Pregel模型,其借鉴了BSP(Bulk Synchronous Parallel,BSP)模型中的大同步计算和通信思想,提出“以顶点为中心”,通过将顶点计算表达为一系列的超步(super-step),在每次超步计算中,各顶点收到前次超步发送的消息,使用基于用户自定义的顶点更新函数更新顶点值,并向其邻居顶点发送消息。超步间通过全局路障以进行任务同步。Hama是Apache组织开发的一个基于Pregel模型的开源分布式并行图计算平台,其利用Hadoop RPC进行节点间通信,借助于ZooKeeper进行同步,通过对消息进行收集和合并发送来降低网络开销和竞争。然而,在目前图计算中,负载的一个重要特征表现为数据随时间增长而缓慢更新,如搜索引擎会周期性的抓取网页并计算Pagerank等指标或进行日常链接分析以监控用户行为。而现有图计算框架通常基于批处理模型,没有考虑数据增量变化的特点,处理效率有待提高。
技术实现思路
本专利技术的目的在于提供一种云计算环境中分布式计算模式下的增量式图计算方法,使得在图数据增量变化的场景下,作业计算时能够复用不变部分顶点的历史计算数据,从而提高作业的执行时间和集群的资源利用率。为达到上述目的,本专利技术采用的技术方案如下:一种云计算环境中分布式计算模式下的增量式图计算方法,包括以下步骤:201、归并服务器生成增量图;202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。进一步的,步骤201中用户由分布式客户端上传新增图文件后,各数据子节点将内存中的图数据发送至归并服务器,归并服务器对乱序到达的各部分图数据进行排序并合并成增量图。进一步的,步骤202中归并服务器使用宽度优先搜索将增量图同历史图进行链接结构对比,找出历史图中链接结构的不变部分的顶点集合,并将其分发至各计算子节点的数据交换器;对比完成后,将增量图和历史图合并作为历史图进行保存。进一步的,历史图为最近一次存储的图结构。进一步的,步骤203中各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换,主要包括以下两步:1)主节点的任务调度器在完成任务分配后,将任务与对应子节点的分配信息分发给各计算子节点的数据交换器;2)数据交换器根据步骤202中收到的不变部分的顶点集合和任务分配信息,将不变部分的顶点的历史计算数据封装为可复用消息后进行同步交换。进一步的,步骤204中各计算任务根据本地数据交换器中获取的不变部分顶点集合,对其输入数据进行过滤,然后加载不变部分顶点的历史计算数据;步骤205中各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完
成时保存本次作业计算数据。进一步的,复用历史计算数据时,对其值进行函数转换以获取正确结果。进一步的,步骤201中图文件包括图的顶点集合和边集合;归并服务器包括一组用于监听远程请求的服务线程和一个归并线程;用户上传新增图文件时,分布式客户端首先向归并服务器发送归并请求,归并服务器启动一个归并线程进行等待直至所有分布式文件系统中涉及到该图文件的数据子节点均将其数据送达;归并线程首先将乱序到达的各部分数据进行排序并合并组成新增图,然后执行宽度优先搜索找出历史图受新增图影响的链接部分,包括在历史图中和新增图中存在边关联的顶点集合及其链接后继;归并服务器中的新增图和历史图均采用邻接链表形式保存。进一步的,数据交换器,包括一组用于监听远程请求的服务线程和一个用于和其他数据交换器进行数据交换的线程;当数据交换器执行交换时,所有的数据交换器需要进行同步以保障交换结果的正确性。进一步的,步骤204中的历史计算数据,包括各顶点的ID、出度边集合,以及该顶点在每轮超步中所发送的中间消息值和最终的计算结果值。现对于现有技术,本专利技术具有以下有益效果:本专利技术一种云计算环境中分布式计算模式下的增量式图计算方法,在图数据增量变化的场景下,避免了传统图计算方法造成的冗余计算和通信问题。通过复用内存中不变部分顶点的历史计算数据,能够减少冗余的顶点计算及其带来的繁重的消息通信过程;同时减轻了集群节点的计算负载和带宽利用率;此外,传统的图计算系统在在执行固定数量的超步后,会保存部分超步的消息以便于容错。本专利技术能够减轻消息的传输量,进而减轻检查点进程保存超步消息的开销。附图说明图1是本专利技术的云计算环境中分布式计算模式下集群计算节点和存储节点组成示意图;图2是云计算环境中分布式计算模式下的增量式图计算方法流程示意图;图3是新增图与历史图对比过程示意图;图4是数据交换器交换历史计算数据的示意图;图5是增量式图计算方法的复用计算流程图;图6是历史计算数据封装后的可复用消息结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案。下面结合附图对本专利技术作详细描述。显然,下述的实施例仅是本申请一部分实施例阐述,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。环境条件:本专利技术所需满足的设备环境条件见图1,云环境中分布式集群的组成结构主要包括:一个主节点和多个子节点,子节点既可以是物理机,也可以是虚拟机,对主节点透明,节点间通过网络互联。云环境下,考虑到数据本地性的需求,子节点通常既可以作为计算节点,也可以作为分布式文件系统存储的数据节点。主节点与子节点通过远程过程调用(RPC)方式交互。主节点中设置归并服务器,子节点中设置数据交换器。本专利技术在软件条件方面,要求各节点采用Linux操作系统,安装有Java开发工具包1.6及以上版本,同时各节点能够通过ssh无密码登录。请参阅图2所示,本专利技术一种云计算环境中分布式计算模式下的增量式图计算方法,主要包括以下步骤:201、归并服务器生成增量图;202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点
集合并将其分发至各子节点数据交换器;203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。下面以一具体实例对本申请所述方法进行说明:步骤201、202中所述的具体流程如图3所示,步骤301:用户由分布式客户端上传新增图文件后,各数据子节点将内存中的图数据发送至归并服务器,归并服务器对乱序到达的各部分图数据进行排序并合本文档来自技高网
...

【技术保护点】
一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,包括以下步骤:201、归并服务器生成增量图;202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。

【技术特征摘要】
1.一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,包括以下步骤:201、归并服务器生成增量图;202、归并服务器将增量图与历史图进行对比,找出历史图中链接结构的不变部分的顶点集合并将其分发至各子节点数据交换器;203、作业开始前,各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换;204、各计算任务过滤不变部分的顶点并加载相应的历史计算数据;205、各计算任务在每轮超步计算时,复用不变部分顶点的历史计算数据并在计算完成时保存本次作业的计算数据。2.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,步骤201中用户由分布式客户端上传新增图文件后,各数据子节点将内存中的图数据发送至归并服务器,归并服务器对乱序到达的各部分图数据进行排序并合并成增量图。3.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,步骤202中归并服务器使用宽度优先搜索将增量图同历史图进行链接结构对比,找出历史图中链接结构的不变部分的顶点集合,并将其分发至各计算子节点的数据交换器;对比完成后,将增量图和历史图合并作为历史图进行保存。4.根据权利要求3所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,历史图为最近一次存储的图结构。5.根据权利要求1所述的一种云计算环境中分布式计算模式下的增量式图计算方法,其特征在于,步骤203中各子节点的数据交换器对不变部分顶点的历史计算数据进行同步交换,主要包括以下两步:1)主节点的任务调度器在完成任务分配后,将任务与对应子节点的分配信息分发给各计算子节点的数据交换器;2)数据交换器根据步骤202中收到的不变部分的顶点集
\t合和任务分配信息,将不变部分的顶点的历史计算数据封装为可复用消...

【专利技术属性】
技术研发人员:董小社刘强朱正东陈衡吴树森袁守刚
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

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

1