[發明專利]一種基于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.szxzyx.cn/pat/books/201310037662.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種門禁系統
- 下一篇:基于USB總線的虛擬儀器





