[发明专利]一种存储优化的分布式图处理方法有效
申请号: | 201710301095.4 | 申请日: | 2017-05-02 |
公开(公告)号: | CN107122248B | 公开(公告)日: | 2020-01-21 |
发明(设计)人: | 施展;冯丹;单玉祥;李君浩;毛艳;张芸怡;方交凤 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/52;G06F9/54;G06F3/06 |
代理公司: | 42201 华中科技大学专利中心 | 代理人: | 张建伟;曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 优化 分布式 处理 方法 | ||
1.一种存储优化的分布式图处理方法,其特征在于,包括如下步骤:
(1)初始化;将图处理系统处理机节点划分为一个主控节点和多个工作节点,各工作节点用于完成图处理的基本过程,实现图处理的计算模型;主控节点用于控制各个工作节点;
主控节点根据用户初始的配置,生成初始的消息路由表,所有工作节点保存所述消息路由表副本并与之同步更新;所述消息路由表用于记录各工作节点间的路由信息;主控节点控制整个图处理系统的执行,工作节点完成图处理的基本过程;所述路由信息,用于工作节点之间更新消息的传递和主控节点到各工作节点之间通信;
主控节点根据所述消息路由表划分图数据,按图的结点id进行划分;划分块数与消息路由表中工作节点数相同;分块根据图结点总数平均划分;所述图的所有结点形成一个环状空间,图结点id的最小值和图结点id的最大值相邻;经过划分,各图结点分区呈现两种情况,一种分区是有连续的id,另一种分区是有两段连续id;
(2)图数据的分发;主控节点将步骤(1)划分得到的各图结点分区和该分区内的元数据根据一致性哈希算法发送到消息路由表中相应的工作节点,所述元数据包括全图的边数、全图的结点数、图的类型、各分区的边数、各分区的id、各分区的起始的图结点id、各分区结束的图结点id和图分区中点图结点id;
(3)迭代次数判别;各工作节点在主控节点控制下开始图数据迭代处理;迭代前,主控节点判别迭代次数是否达到迭代次数预设值,是则转步骤(6);否则,转步骤(4);
(4)更新消息传递,各工作节点执行MGA计算,包括:
首先,对图分区的每条边都执行一次Map操作,每一个图结点在执行MAP操作的同时产生一个更新消息,发送给对应的目的地址;
其次,各图结点执行一个Gather操作收集传递给该图结点所有的更新消息;
第三,各图结点执行一个Apply操作,用收集的更新消息来改变这个图结点的数据;所述更新消息的发送仅仅发生在工作节点之间,更新消息根据消息路由表发送给对应的工作节点;
所述MGA计算即上述Map、Gather和Apply操作的简称,在图处理一轮迭代中,每一个图结点都要经历这三个阶段;
(5)扩展处理;主控节点根据所收集的工作节点运行状态,判别各工作节点负载是否均衡:
是则,不进行分割和扩展,转步骤(3)进行下一轮迭代;
否则对负载最大工作节点的图分区数据进行分裂,即对处理的图数据进行分割,然后横向扩展,用以消除热点,即处理数据耗时最长的那个节点,采用一致性哈希算法为工作节点分配图分区数据,达到负载调控的目的;然后更新消息路由表,转步骤(3)进行下一轮迭代;
(6)图数据处理结束,同时输出计算结果。
2.如权利要求1所述的方法,其特征在于,所述步骤(4)中MGA计算过程使用图数据的流式读取保证了对存储器的顺序访问,从而保证了对外存IO的最大利用。
3.如权利要求1所述的方法,其特征在于,所述步骤(5)中收集的工作节点运行状态包括磁盘IO、网络IO以及计算消耗代价。
4.如权利要求1所述的方法,其特征在于,步骤(5)中所述热点指一轮迭代中运行最慢的工作节点;
COST=α|V|+|E|
其中,对于图数据处理来说,α取图的平均入度,α|V|代表一个图分区所要接收的更新消息,|V|代表的是一个图分区顶点的数目,|E|代表一个图分区所要发送的更新消息,公式中COST衡量一个图的负载;分裂的目的是在需要分裂的图分区上找到一个图结点,使该图分区分裂成的两段子分区的负载代价相当。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710301095.4/1.html,转载请声明来源钻瓜专利网。