[发明专利]一种大规模图结构数据处理方法、装置和系统有效
申请号: | 201310557066.6 | 申请日: | 2013-11-08 |
公开(公告)号: | CN103631878B | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 刘明君;赵中英;冯铮;何一峰;冯圣中 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/02 |
代理公司: | 深圳中一专利商标事务所44237 | 代理人: | 张全文 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大规模 结构 数据处理 方法 装置 系统 | ||
技术领域
本发明涉及分布式计算领域,具体涉及一种大规模图结构数据处理方法、装置和系统。
背景技术
图(Graph)是一种由顶点的集合和顶点之间的关联关系即边的集合共同形成的数据结构。图也可以称之为网络,实际应用中很多结构都可以转化为图的方式表达出来,例如,矩阵,其每一行每一列对应一个顶点,行与列的交叉处其值不为零时认为有边存在,而边的权重为该值的大小;再如,城市地图,每一个城市(或居民地址)为一个顶点,不同城市(或居民地址)之间相连的路线称之为边。图结构是一种抽象数据结构,是对象(顶点、节点)及其关系(边)的模型。现实世界中,图结构数据的分布十分普遍,例如,社交网络中用户之间的关系,蛋白质结构关联关系,科技文献体反映出的科学家之间的协作关系,以及因特网(Internet)中以超链接体现出的网页之间的关系等等,这些都可以直接或间接地转化图结构这一类数据结构。以顶点和边共同构成的集合组成的图结构一般可以真实贴近的表达现实世界中的真实关联关系。对图结构数据的挖掘一般在识别对象关系模式、结构、检测异常等等,并且,对图结构数据的分析与挖掘是当前的一个热点,高效率地处理大规模数据有着十分迫切的需求。当前的有效方法一般建立在大规模处理平台之上,构建一个适应图结构数据特性易扩展的平台框架是一个可取的技术方向。
与图结构数据相关的计算具有特别的性质,一般对图的计算算法需要对顶点与边直接执行读写操作,这使得单个点的计算对全局数据的依赖。若采用传统的方法直接计算,伴随图中顶点与边的规模的增长,则运算耗时会达到不能忍耐的程度。虽然分布式系统的普及为大规模数据处理带来了可能性,然而,若直接采用分布式计算方法设计算法,往往开发复杂度极高,使得调试、优化非常困难。如何在分布式系统中高效率地处理大规模图结构数据仍是业界的一个挑战。
现有的一种针对图结构数据处理的计算框架包括Giraph这一迭代的图计算系统。Giraph基于Google于2010年发表的关于Pregel的论文的开源实现,从计算模型而言,是基于批量同步并行(Bulk Synchronization Parallel,BSP)模型。BSP计算模型,是一种大规模同步并行化模型,它将计算抽象为节点与通信的交换网络。BSP计算模型中的每一个任务分由多次迭代完成,每一次迭代为一个超级步(Superstep),其包括计算步与通信步。计算步完成算法计算任务,可由开发者自定义运算类型,而通信步完成不同进程之间的通信过程,发送方定义接收方、消息内容,并封装消息发送给系统,由系统送达消息。超级步内多个进程同时执行,除第一个超级步外,其余超级步均先接受上一个超级步发送来的消息,然后执行计算。
Giraph依赖于图结构数据的有效划分以降低通信(主要是收发消息)量并保持负载均衡,然而,图结构数据的划分是基于哈希函数的随机划分,因此会破坏计算的局部性。例如,Giraph需要频繁交换其邻接顶点的信息,而此时邻接顶点划分到不同机器上,因此导致通信量剧烈增加,严重降低计算效率。
发明内容
本发明实施例提供一种大规模图结构数据处理方法、装置和系统,以提高数据计算效率并增强系统运行的可靠性。
本发明实施例提供一种大规模图结构数据处理方法,所述方法包括:
从节点将图结构数据读取至内存;
对所述内存中的图结构数据进行预处理,得到所述图结构数据中相邻顶点处于同一数据片的至少一个数据片;
将所述预处理所得至少一个数据片映射至从节点;
所述从节点采用迭代算法对所述映射至所述从节点的数据片进行计算。
本发明另一实施例提供一种大规模图结构数据处理装置,所述装置包括:
数据读取单元,用于将图结构数据读取至内存;
数据预处理单元,用于对所述内存中的图结构数据进行预处理,得到所述图结构数据中相邻顶点处于同一数据片的至少一个数据片;
映射单元,用于将所述预处理所得至少一个数据片映射至从节点;
算法执行单元,用于采用迭代算法对所述映射至所述从节点的数据片进行计算。
本发明另一实施例提供一种大规模图结构数据处理系统,所述系统包括至少两个从节点和至少两个主节点,所述至少两个主节点管控各自控制域内的至少两个从节点;
所述至少两个从节点中的任意一个从节点用于将图结构数据读取至内存,对所述内存中的图结构数据进行预处理,得到所述图结构数据中相邻顶点处于同一数据片的至少一个数据片;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310557066.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:插座
- 下一篇:用于提供协同复苏灌注支持的系统和方法