国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于分布式數(shù)據(jù)庫HBase的結(jié)構(gòu)化數(shù)據(jù)的快速檢索系統(tǒng)及方法

      文檔序號(hào):8412589閱讀:868來源:國知局
      基于分布式數(shù)據(jù)庫HBase的結(jié)構(gòu)化數(shù)據(jù)的快速檢索系統(tǒng)及方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種結(jié)構(gòu)化數(shù)據(jù)的快速檢索系統(tǒng)及方法,尤其是一種基于分布式數(shù)據(jù)庫HBase的結(jié)構(gòu)化數(shù)據(jù)的快速檢索系統(tǒng)及方法,屬于結(jié)構(gòu)化數(shù)據(jù)處理的技術(shù)領(lǐng)域。
      【背景技術(shù)】
      [0002]隨著物聯(lián)網(wǎng)技術(shù)的進(jìn)步,社會(huì)正朝著一個(gè)“物與物連接”模式發(fā)展,當(dāng)前全球智慧化項(xiàng)目的推廣也在不斷推動(dòng)著物聯(lián)網(wǎng)技術(shù)的發(fā)展。物聯(lián)網(wǎng)指的是使物理對(duì)象和設(shè)備增加傳感、計(jì)算和通信能力,將它們互相連接形成一個(gè)網(wǎng)絡(luò),并利用這個(gè)網(wǎng)絡(luò)化對(duì)象產(chǎn)生集體效益。傳感設(shè)備產(chǎn)生的數(shù)據(jù)具有海量、實(shí)時(shí)采樣、高并發(fā)的特點(diǎn),針對(duì)這些數(shù)據(jù)的存儲(chǔ)問題,傳統(tǒng)數(shù)據(jù)庫解決方案出現(xiàn)瓶頸,無法滿足數(shù)據(jù)的存儲(chǔ)要求。
      [0003]分布式NoSQL (not only SQL非關(guān)系型)數(shù)據(jù)庫HBase解決方案的出現(xiàn)很好的解決數(shù)據(jù)的存儲(chǔ)問題,采用key-value (鍵-值)數(shù)據(jù)對(duì)的列式存儲(chǔ)也很好的解決了數(shù)據(jù)的字段伸縮性。雖然分布式數(shù)據(jù)庫HBase有許多的優(yōu)點(diǎn),很好的解決了數(shù)據(jù)的存儲(chǔ)問題,但是分布式數(shù)據(jù)庫HBase在檢索方面存在一定的局限性。首先,分布式數(shù)據(jù)庫HBase只支持針對(duì)Rowkey (HBase中每行的主鍵也就是key-value對(duì)中的key)的數(shù)據(jù)檢索,不支持對(duì)value (值)的數(shù)據(jù)檢索,而結(jié)構(gòu)化的數(shù)據(jù)中的value才是數(shù)據(jù)的價(jià)值所在,分布式數(shù)據(jù)庫HBase只提供對(duì)RowKey的一級(jí)索引檢索,還有范圍(BeginRowkey,EndRowkey)的scan (掃描,HBase API的一種,可以對(duì)響應(yīng)的Rowkey數(shù)據(jù)做出快速響應(yīng))查詢。對(duì)Value檢索會(huì)導(dǎo)致MapReduce任務(wù)形式的全表的暴力檢索,非常的耗時(shí);再者,分布式數(shù)據(jù)庫HBase不能很好的支持SQL語言,由于已經(jīng)積累了多年針對(duì)關(guān)系型數(shù)據(jù)庫的應(yīng)用經(jīng)驗(yàn),有豐富的面向SQL的應(yīng)用接口需求,把分布式數(shù)據(jù)庫HBase的優(yōu)點(diǎn)和SQL的易用性結(jié)合起來也是有待解決的冋題。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于分布式數(shù)據(jù)庫HBase的結(jié)構(gòu)化數(shù)據(jù)的快速檢索系統(tǒng)及方法,其能快速得到目標(biāo)數(shù)據(jù),加快檢索效率,實(shí)現(xiàn)對(duì)SQL語句的支持,達(dá)到對(duì)數(shù)據(jù)檢索操作的方便易用。
      [0005]按照本發(fā)明提供的技術(shù)方案,所述基于分布式數(shù)據(jù)庫HBase的結(jié)構(gòu)化數(shù)據(jù)的快速檢索系統(tǒng),包括分布式數(shù)據(jù)庫HBase系統(tǒng);在所述分布式數(shù)據(jù)庫HBase系統(tǒng)與客戶端間設(shè)有二級(jí)索引系統(tǒng),所述二級(jí)索引系統(tǒng)包括用于與客戶端連接的SQL解析層以及用于與分布式數(shù)據(jù)庫HBase系統(tǒng)連接的DML數(shù)據(jù)操作接口 ;
      所述SQL解析層能接收客戶端傳遞的SQL語句解析并轉(zhuǎn)換為對(duì)應(yīng)DML操作,DML數(shù)據(jù)操作接口根據(jù)SQL解析層轉(zhuǎn)換的DML操作對(duì)分布式數(shù)據(jù)庫HBase系統(tǒng)進(jìn)行所需的讀寫操作。
      [0006]通過DML數(shù)據(jù)操作接口向分布式數(shù)據(jù)庫HBase系統(tǒng)寫入結(jié)構(gòu)化數(shù)據(jù)時(shí),將結(jié)構(gòu)化數(shù)據(jù)的ID前添加Hash前綴,并存儲(chǔ)在數(shù)據(jù)表格的數(shù)據(jù)主鍵內(nèi);同時(shí),將結(jié)構(gòu)化數(shù)據(jù)的ID、需要索引的字段前添加Hash前綴,并存儲(chǔ)在索引表格的索引主鍵內(nèi)。
      [0007]在將結(jié)構(gòu)化數(shù)據(jù)寫入數(shù)據(jù)表格內(nèi)時(shí),每個(gè)結(jié)構(gòu)化數(shù)據(jù)的ID后面的字段轉(zhuǎn)化成列簇的字段,索引表格內(nèi)列簇的字段為空。
      [0008]對(duì)分布式數(shù)據(jù)庫HBase系統(tǒng)數(shù)據(jù)的寫入包括實(shí)時(shí)數(shù)據(jù)的采集存儲(chǔ)以及連線數(shù)據(jù)的批量導(dǎo)入。
      [0009]一種基于分布式數(shù)據(jù)庫HBase的結(jié)構(gòu)化數(shù)據(jù)的快速檢索方法,在所述分布式數(shù)據(jù)庫HBase系統(tǒng)與客戶端間設(shè)有二級(jí)索引系統(tǒng),所述二級(jí)索引系統(tǒng)包括用于與客戶端連接的SQL解析層以及用于與分布式數(shù)據(jù)庫HBase系統(tǒng)連接的DML數(shù)據(jù)操作接口 ;
      所述SQL解析層能接收客戶端傳遞的SQL語句解析并轉(zhuǎn)換為對(duì)應(yīng)DML操作,DML數(shù)據(jù)操作接口根據(jù)SQL解析層轉(zhuǎn)換的DML操作對(duì)分布式數(shù)據(jù)庫HBase系統(tǒng)進(jìn)行所需的讀寫操作;通過DML數(shù)據(jù)操作接口向分布式數(shù)據(jù)庫HBase系統(tǒng)寫入結(jié)構(gòu)化數(shù)據(jù)時(shí),將結(jié)構(gòu)化數(shù)據(jù)的ID前添加Hash前綴,并存儲(chǔ)在數(shù)據(jù)表格的數(shù)據(jù)主鍵內(nèi);同時(shí),將結(jié)構(gòu)化數(shù)據(jù)的ID、需要索引的字段前添加Hash前綴,并存儲(chǔ)在索引表格的索引主鍵內(nèi),以便快速檢索。
      [0010]在將結(jié)構(gòu)化數(shù)據(jù)寫入數(shù)據(jù)表格內(nèi)時(shí),每個(gè)結(jié)構(gòu)化數(shù)據(jù)的ID后面的字段轉(zhuǎn)化成列簇的字段,索引表格內(nèi)列簇的字段為空。
      [0011]本發(fā)明的優(yōu)點(diǎn):基于分布式數(shù)據(jù)庫HBase系統(tǒng)的非植入式開發(fā),不會(huì)增加分布式數(shù)據(jù)庫HBase系統(tǒng)的邏輯復(fù)雜性,擁有很好的擴(kuò)展性和兼容性;大幅提升了分布式數(shù)據(jù)庫HBase系統(tǒng)中對(duì)value數(shù)據(jù)的檢索效率,能將SQL的易用性與分布式數(shù)據(jù)庫HBase系統(tǒng)完美結(jié)合,大大提升了分布式數(shù)據(jù)庫HBase系統(tǒng)的便捷性,同時(shí)也拓寬了分布式數(shù)據(jù)庫HBase系統(tǒng)的應(yīng)用領(lǐng)域。
      【附圖說明】
      [0012]圖1為本發(fā)明的結(jié)構(gòu)框圖。
      [0013]圖2為本發(fā)明的流程圖。
      [0014]圖3為本發(fā)明原始結(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲(chǔ)后的示意圖。
      [0015]圖4為本發(fā)明數(shù)據(jù)檢索的過程示意圖。
      [0016]附圖標(biāo)記說明:1-客戶端、2-二級(jí)索引系統(tǒng)、3-分布式數(shù)據(jù)庫HBase系統(tǒng)、4-SQL解析層以及5-DML數(shù)據(jù)操作接口。
      【具體實(shí)施方式】
      [0017]下面結(jié)合具體附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
      [0018]如圖1所示:能快速得到目標(biāo)數(shù)據(jù),加快檢索效率,實(shí)現(xiàn)對(duì)SQL語句的支持,達(dá)到對(duì)數(shù)據(jù)檢索操作的方便易用,本發(fā)明包括分布式數(shù)據(jù)庫HBase系統(tǒng)3 ;在所述分布式數(shù)據(jù)庫HBase系統(tǒng)3與客戶端I間設(shè)有二級(jí)索引系統(tǒng)2,所述二級(jí)索引系統(tǒng)2包括用于與客戶端I連接的SQL解析層4以及用于與分布式數(shù)據(jù)庫HBase系統(tǒng)3連接的DML數(shù)據(jù)操作接口 5 ;
      所述SQL解析層4能接收客戶端I傳遞的SQL語句解析并轉(zhuǎn)換為對(duì)應(yīng)DML操作,DML數(shù)據(jù)操作接口 5根據(jù)SQL解析層4轉(zhuǎn)換的DML操作對(duì)分布式數(shù)據(jù)庫HBase系統(tǒng)3進(jìn)行所需的讀寫操作。
      [0019]具體地,二級(jí)索引系統(tǒng)2承接客戶端I與分布式數(shù)據(jù)庫HBase系統(tǒng)3之間的橋梁,封裝分布式數(shù)據(jù)庫HBase系統(tǒng)3的API,為客戶端I提供通用的使用接口。SQL解析層4針對(duì)SQL語句的解析層,負(fù)責(zé)將客戶端I通過RPC遠(yuǎn)程調(diào)用傳遞過來的SQL語句進(jìn)行語義解析,轉(zhuǎn)換成為一系列的DML (Data Manipulat1n Language,是數(shù)據(jù)操縱語言:它們是SELECT、UPDATE、INSERT、DELETE,這四條命令是用來對(duì)分布式數(shù)據(jù)庫HBase系統(tǒng)里的數(shù)據(jù)進(jìn)行操作的語言)操作。DML數(shù)據(jù)操作接口 5主要是完成對(duì)HBase API的封裝,內(nèi)部分兩種接口,一種是數(shù)據(jù)的寫入接口,提供數(shù)據(jù)向分布式數(shù)據(jù)庫HBase系統(tǒng)3的數(shù)據(jù)輸入;還有一種是數(shù)據(jù)的檢索接口,提供通過檢索從分布式數(shù)據(jù)庫HBase系統(tǒng)3中輸出目標(biāo)數(shù)據(jù)。數(shù)據(jù)的寫入分為兩種形式,一種是通過實(shí)時(shí)的數(shù)據(jù)采集存儲(chǔ),一種是離線的數(shù)據(jù)批量導(dǎo)入。
      [0020]如圖2所示,為客戶端I的應(yīng)用層調(diào)用到分布式數(shù)據(jù)庫HBase系統(tǒng)3之間的整體的數(shù)據(jù)流程圖,其中包括兩種數(shù)據(jù)流程,一個(gè)是數(shù)據(jù)的寫入流程,另外一個(gè)是數(shù)據(jù)的檢索流程。首先,客戶端I通過RPC遠(yuǎn)程調(diào)用,傳遞過來應(yīng)用層的SQL語句,SQL語句在SQL解析層4執(zhí)行語義分析,通過對(duì)SQL語義分析獲得的結(jié)果來判斷數(shù)據(jù)是寫入操作還是檢索操作,比如insert (插入)、update (更新)等都屬于寫入操作,而select (選擇)操作就屬于檢索操作。對(duì)于數(shù)據(jù)的寫入操作,由于不一定都是實(shí)時(shí)在線的數(shù)據(jù)寫入,又開辟了離線批量數(shù)據(jù)導(dǎo)入,其中,離線批量數(shù)據(jù)導(dǎo)入是通過將采集來的數(shù)據(jù)寫入到臨時(shí)文件,在集群任務(wù)比較空閑的時(shí)候,通過對(duì)文件的處理,進(jìn)行數(shù)據(jù)的批量導(dǎo)入,是一個(gè)非實(shí)時(shí)的過程。
      [002
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1