超大规模RDF图数据的划分与并行分布处理方法技术

技术编号:11793785 阅读:133 留言:0更新日期:2015-07-29 20:14
本发明专利技术公开了一种超大规模RDF图数据的划分与并行分布处理方法,包括:对原始的RDF图数据进行预处理,生成对应的哈希字典文件和整形三列表数据,并将整形三列表数据转换成关联矩阵M;建立关联矩阵M的超图模型,在该超图模型中,M的主语、谓词和宾语即为超边,与超边相关的数据即为超边数据;判断该RDF图数据是连通图还是非连通图,如果是非连通图,则将该非连通图划分为多个连通图;基于超图模型,并发的广度遍历并等分放置路径上的超边数据,将超边数据进行分类排序并等分成K份放入K个从节点上,同时建立超边数据与从节点的映射关系。本发明专利技术的划分速度快,划分质量高,数据和任务负载均衡,查询处理的并行度高、速度快。

【技术实现步骤摘要】

本专利技术属于大数据处理领域,更具体地,涉及一种超大规模RDF图数据的划分与 并行分布处理方法。
技术介绍
资源描述框架(Resource Description Framework,简称RDF)是整个语义网系统 结构中的核心,它被广泛用来描述互联网上存在的各种信息资源。随着RDF数据的不断增 长,在单机上处理已经显得力不从心了,所以必须将RDF数据划分到多机上进行处理。 对超大规模RDF图数据的划分,常用的方法有启发式划分和并行层次划分。对 于启发式方法,一般是提供一个目标函数,然后划分围绕着这个函数的最优化方向展开, 但是目标函数的选取比较困难。对于并行层次划分,则包含三个划分阶段:粗化阶段 (Coarsen)、初始化阶段(Initial)和细化提纯阶段(Uncoarsen refinement),粗化阶段则 把大图收缩为小图,初始化阶段则对小图进行划分,细化提纯阶段则将小图还原回大图,最 终完成划分。这两种方法普遍存在划分时间过长、划分质量不高和任务负载不均衡的问题, 最终导致数据的查询处理性能低效。另外,还有采用Metis划分工具将RDF数据的顶点划 分成两两不相交的部分,然后以每个顶点为中心向外延伸n跳,最后使用Hadoop处理节点 之间的数据传输和结果收集,它的缺点主要是数据冗余度太大,数据处理速度比较慢。 目前,对超大规模图数据的划分和并行分布处理还处于发展阶段,现有的解决方 案存在一些技术问题:图数据的划分速度慢,划分质量差;此外,其无法有效地保证数据间 关系的完整性、节点数据分布的均匀性和任务负载的均衡性。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种超大规模图数据的划分 与并行分布处理方法和系统,其目的在于,通过采用基于超图的生成树划分方法,并发的广 度遍历并等分放置路径上的超边数据,从而兼顾数据分布的均匀性和任务负载的均衡性, 并通过采用位块传输和流水线式的处理方式,解决现有划分方法的划分时间过长、划分质 量不高和任务负载不均衡的问题。 为实现上述目的,按照本专利技术的一个方面,提供了一种超大规模RDF图数据的划 分与并行分布处理方法,包括以下步骤: (1)对原始的RDF图数据进行预处理,生成对应的哈希字典文件和整形三列表数 据,并将整形三列表数据转换成关联矩阵M ; (2)建立关联矩阵M的超图模型,在该超图模型中,M的主语、谓词和宾语即为超 边,与超边相关的数据即为超边数据; (3)判断该RDF图数据是连通图还是非连通图,如果是连通图则转入步骤(4),如 果是非连通图,则将该非连通图划分为多个连通图,并对每一个连通图执行步骤(4); (4)基于超图模型,并发的广度遍历并等分放置路径上的超边数据,并将超边数据 进行分类排序并等分成K份放入K个从节点上,其中K为正整数,同时建立超边数据与从节 点的映射关系; (5)对划分到每个从节点上的数据进行后续处理,去除冗余数据,生成相应的关联 矩阵、统计信息和索引文件; (6)各个从节点加载相应的关联矩阵、统计信息和索引文件到内存中,并等待主节 点发送来的查询任务; (7)主节点接收用户提交的查询任务,并将其分解为子查询任务,将子查询任务分 发到对应的从节点上进行处理,最终生成投影变量数据; (8)各从节点采用位块的方式对投影变量数据进行封装和压缩,并以流水线方式 将封装和压缩后的数据进行传输和后续的连接处理; (9)将各个从节点上的中间处理结果进行差值压缩,并将压缩后的结果发送回主 节点; (10)主节点接收来自各个从节点的压缩结果,对结果进行解压操作和最终的汇总 处理,并把汇总结果返回给用户。 优选地,步骤⑷包括以下子步骤: (4-1)获取超图模型中所有的谓词,选取度数最大的谓词作为遍历的起始点,并获 得该谓词的超边数据; (4-2)将该谓词的超边数据进行分类,并按照每一类别的超边数量进行降序排 序; (4-3)将分类排序所获得的每一类别下的数据进行K等分切,然后放入K个从节点 上; (4-4)将该谓词标记为已访问,同时建立该谓词的超边数据与从节点的映射关 系; (4-5)从分类排序所获得的类别中得到一批新的超边,剔除已访问的超边,并获取 每个主语对应的超边数据,将每一个主语的超边数据进行分类,并按照每一类别的超边数 量进行降序排序; (4-6)并发的将分类排序所获得的每一类别下的数据进行K等分切,然后放入K个 从节点上; (4-7)标记已访问的超边并建立超边数据与从节点的映射关系; (4-8)从分类排序所获得的类别中又得到一批新的超边,剔除已访问的超边,并获 取每个宾语对应的超边数据,将每一个宾语的超边数据进行分类,并按照每一类别的超边 数量进行降序排序; (4-9)并发的将分类排序所获得的每一类别下的数据进行K等分切,然后放入K个 从节点上; (4-10)标记已访问的超边并建立超边数据与从节点的映射关系;(4-11)跳转到步骤(4-5),直至所有的超边都遍历完一遍为止。优选地,步骤(4-3)、(4-6)和(4-9)中K等分切的具体执行标准如下,其中Deg表 示某超边的某一分类的度: 当Deg〈K/2时,通过哈希生成一个节点号,然后将该分类的全部数据放入该节点 上; 当K/2 < Deg〈K时,将该分类数据进行冗余补全,使其冗余之后的Deg恰好为K,此 时就可以等分成K份;当Deg彡K时,直接将该分类数据等分成K份放入K个从节点上。 优选地,步骤(7)具体包括以下步骤: (7-1)接收用户提交的查询任务Q; (7-2)对查询任务Q进行初步的解析,生成原始的查询图G ; (7-3)根据建立的超边数据与从节点的映射关系,对查询图G进行分析,初步确定 G中的每一个超边数据的节点分布,并生成超边数据的节点分布情况; (7-4)根据节点分布情况来确定查询任务的每一分句的节点归属,由此生成每个 从节点对应的子查询任务; (7-5)对于每一个子查询任务,判断其是连通图还是非连通图,若为连通图则转到 步骤(7-6),若不连通,则补全所有与该子查询任务的连接变量相关的语句,使之成为一个 连通图,然后转入步骤(7-6); (7-6)将各个子查询任务进行压缩,并将它们分发到相应的从节点上进行处理; (7-7)各从节点接收相应的数据,对其进行解压,获取对应的子查询; (7-8)各从节点利用本地的统计信息和索引文件生成该查询任务对应的查询计 划,接着执行相应的查询任务,以生成投影变量数据。 优选地,步骤(8)具体包括以下步骤: (8-1)确定需要进行交互的数据,即不同节点所拥有的公共变量所包含的ID段; (8-2)比较不同节点待传输数据量的大小,选取数据量较小的节点作为发送方; (8-3)将发送方的数据ID段按照连接变量进行分块,分块的标准是保证同一个块 内的ID范围比较相近,不同块之间的ID范围则相隔渐远,这里假定分成了 N块; (8-4)设置计数器 count = 1 ; (8-5)将第count个数据块转换成相应的位块,通过待传输的数据总量确定前后 两个ID的差值阈值D0,这里的D0用来判别当前ID是归入当前位块还是下一个位块; (8-6)获取一个新ID,计算新ID与上一个ID的差值,记为Di ;若Di彡D0本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104809168.html" title="超大规模RDF图数据的划分与并行分布处理方法原文来自X技术">超大规模RDF图数据的划分与并行分布处理方法</a>

【技术保护点】
一种超大规模RDF图数据的划分与并行分布处理方法,其特征在于,包括以下步骤:(1)对原始的RDF图数据进行预处理,生成对应的哈希字典文件和整形三列表数据,并将整形三列表数据转换成关联矩阵M;(2)建立关联矩阵M的超图模型,在该超图模型中,M的主语、谓词和宾语即为超边,与超边相关的数据即为超边数据;(3)判断该RDF图数据是连通图还是非连通图,如果是连通图则转入步骤(4),如果是非连通图,则将该非连通图划分为多个连通图,并对每一个连通图执行步骤(4);(4)基于超图模型,并发的广度遍历并等分放置路径上的超边数据,并将超边数据进行分类排序并等分成K份放入K个从节点上,其中K为正整数,同时建立超边数据与从节点的映射关系;(5)对划分到每个从节点上的数据进行后续处理,去除冗余数据,生成相应的关联矩阵、统计信息和索引文件;(6)各个从节点加载相应的关联矩阵、统计信息和索引文件到内存中,并等待主节点发送来的查询任务;(7)主节点接收用户提交的查询任务,并将其分解为子查询任务,将子查询任务分发到对应的从节点上进行处理,最终生成投影变量数据;(8)各从节点采用位块的方式对投影变量数据进行封装和压缩,并以流水线方式将封装和压缩后的数据进行传输和后续的连接处理;(9)将各个从节点上的中间处理结果进行差值压缩,并将压缩后的结果发送回主节点;(10)主节点接收来自各个从节点的压缩结果,对结果进行解压操作和最终的汇总处理,并把汇总结果返回给用户。...

【技术特征摘要】

【专利技术属性】
技术研发人员:袁平鹏金海谢昌凤罗毅
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1