[发明专利]一种基于Hadoop的海量RDF数据分布式查询处理方法无效
| 申请号: | 201310037662.1 | 申请日: | 2013-01-31 |
| 公开(公告)号: | CN103116625A | 公开(公告)日: | 2013-05-22 |
| 发明(设计)人: | 张小洪;杨丹;李珩;谢娟;成正斌;洪明坚;葛永新;杨梦宁;徐玲;胡海波 | 申请(专利权)人: | 重庆大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 400044 *** | 国省代码: | 重庆;85 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 hadoop 海量 rdf 数据 分布式 查询 处理 方法 | ||
技术领域
本发明属于计算机技术领域,具体涉及一种基于Hadoop的海量RDF数据集的分布式查询处理方法。
背景技术
目前语义网(Semantic Web)发展迅速以及资源描述框架(Resource Description Framework,RDF)运用广泛,运用RDF描述的数据呈指数级增长,如何高性能、易扩展地存储和查询海量RDF成为亟需解决的问题。传统语义网工具如Jena、Sesame、RDF3X等采用单机环境集中式处理方式,利用关系数据库作为存储系统,面对海量的RDF数据其存储能力及查询效率受到严重限制。
云计算利用分布式技术,提供了一套高性能、易扩展的分布式存储和计算系统,已成为工业界和学术界公认的海量数据存储与计算的最优解决方案。其中Hadoop因其成本低廉、扩容性强、效率高、可扩展性强、可靠性高等优点,迅速成为各行各业进行海量数据存储和分析的首选平台,其提供的HBase数据库以其独特的面向列、分布式、高容错性等特点已成为Hadoop平台下进行海量数据处理的主要存储系统。因此将Hadoop平台及HBase数据库运用到海量RDF数据的存储和查询中具有重要意义。
发明内容
本发明的目的在于利用Hadoop平台来解决海量RDF数据查询效率低的问题,提出一种基于MapReduce的海量RDF数据分布式查询处理方法,用于今后支持海量RDF数据的查询,并且可扩展地应对SPARQL语句的修订。其特征在于,具体包括如下步骤:
步骤a:将RDF数据上传至HDFS中,通过Hadoop平台的MapReduce框架读取数据将其并行存储在HBase当中;
步骤b:对用户提交的SPARQL查询语句段进行预处理,对语句进行解析并提取出其中的前缀声明、结果变量、图模式子句;
步骤c:还原图模式子句中的前缀字符,将还原后的图模式子句转化为树模型,以树的结构来表示查询语句的完整图模式。其树中的叶子节点代表SPARQL语句中的三元组模式,其值为三元组模式的编号;非叶子节点表示对三元组模式执行的操作,其值为UNION、OPTIONAL和AND,分别代表SPARQL语句中的union、optional以及连接操作;
步骤d:分解树模型,以自底向上、自左向右的方式遍历树节点并生成匹配各节点的执行计划,将执行计划发送到Hadoop平台;
步骤e:通过MapReduce框架从HBase中读取数据,按执行计划执行分布式查询,最后按结果变量返回查询结果。
相对于现有技术,本发明具有如下有益效果:
1、本发明将RDF数据存储在分布式数据库HBase中,提出了一种RDF基于HBase的三表存储模式,该模式不需要额外建立索引便可尽可能地提高查询效率,为海量RDF数据的存储提供了一个可行方案,缓解了传统集中式存储RDF数据面临的压力。
2、本发明提出了一种利用Hadoop平台来对RDF数据进行分布式查询的方法,利用MapReduce在查询过程中对数据进行BGP连接操作,大大提高了查询效率。
附图说明
图1:方法整体流程的说明图
图2:本发明提出的一种RDF数据基于HBase的三表存储结构图。
图3:MapReduce执行BGP连接流程图。
具体实施方式
下面结合附图和实施例对本发明的技术做进一步的说明。应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读本发明之后,本领域技术人员对发明的各种等价形式的修改均落于本申请所得权利要求所限定的范围。按照如下步骤对RDF数据进行分布式查询处理:
步骤a:将RDF数据上传至HDFS中,通过Hadoop平台的MapReduce框架读取数据将其并行存储在HBase当中,具体步骤如下:
a1:将RDF数据上传至HDFS中,并均衡地分布到集群中的各个数据节点中;
a2:利用MapReduce框架从HDFS中读取数据并将其并行存储入HBase中,在HBase中用三张表A_SP_O,A_PO_S,A_OS_P来存储;其中表A_SP_O中,将RDF三元组的主体、谓词组合作为row key存储,客体作为column name存储;表A_PO_S中,将RDF三元组的谓词、客体组合作为row key存储,主体作为column name存储;表A_OS_P中,将RDF三元组的客体、主体组合作为rowkey存储,谓词作为column name存储;其存储表结构依次为如图2所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310037662.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种门禁系统
- 下一篇:基于USB总线的虚拟仪器





