1.一種基于HBase數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢(xún)方法,其特征在于,所述方法包括:
接收來(lái)自客戶(hù)端的數(shù)據(jù)查詢(xún)請(qǐng)求,所述數(shù)據(jù)查詢(xún)請(qǐng)求中包括行鍵查詢(xún)字段、預(yù)設(shè)返回條數(shù)和領(lǐng)域?qū)ο竺Q(chēng);
根據(jù)所述領(lǐng)域?qū)ο竺Q(chēng)確定對(duì)應(yīng)的領(lǐng)域?qū)ο笈渲梦募?,所述領(lǐng)域?qū)ο笈渲梦募邪ū砻托薪∩梢?guī)則;
根據(jù)所述行鍵查詢(xún)字段以及HBase數(shù)據(jù)庫(kù)的行鍵生成規(guī)則生成行鍵查詢(xún)范圍,所述行鍵查詢(xún)范圍包括起始行鍵和結(jié)束行鍵;
調(diào)用HBase的數(shù)據(jù)接口,以從與所述表名對(duì)應(yīng)的表內(nèi)查找所述行鍵查詢(xún)范圍,并從所述行鍵查詢(xún)范圍中獲得預(yù)設(shè)返回條數(shù)的行鍵對(duì)應(yīng)的數(shù)據(jù);
將所述預(yù)設(shè)返回條數(shù)的行鍵對(duì)應(yīng)的數(shù)據(jù)映射為預(yù)設(shè)格式,并將映射后的數(shù)據(jù)發(fā)送至所述客戶(hù)端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述行鍵查詢(xún)字段以及HBase數(shù)據(jù)庫(kù)的行鍵生成規(guī)則生成行鍵查詢(xún)范圍包括:
將所述行鍵查詢(xún)字段進(jìn)行處理,以使所述行鍵查詢(xún)字段符合所述行鍵生成規(guī)則;
根據(jù)處理后的行鍵查詢(xún)字段以及HBase數(shù)據(jù)庫(kù)的行鍵生成規(guī)則生成行鍵查詢(xún)范圍。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述數(shù)據(jù)查詢(xún)請(qǐng)求中還包括過(guò)濾查詢(xún)字段,所述領(lǐng)域?qū)ο笈渲梦募羞€包括過(guò)濾器生成規(guī)則,所述方法還包括:
根據(jù)所述過(guò)濾查詢(xún)字段以及所述過(guò)濾器生成規(guī)則生成對(duì)應(yīng)的過(guò)濾器;
所述從所述行鍵查詢(xún)范圍中獲得預(yù)設(shè)返回條數(shù)的行鍵對(duì)應(yīng)的數(shù)據(jù)包括:
利用所述過(guò)濾器對(duì)所述行鍵查詢(xún)范圍內(nèi)的數(shù)據(jù)進(jìn)行過(guò)濾,得到過(guò)濾數(shù)據(jù);
從所述過(guò)濾數(shù)據(jù)中提取預(yù)設(shè)返回條數(shù)的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述過(guò)濾查詢(xún)字段包括行鍵過(guò)濾字段;
所述利用所述過(guò)濾器對(duì)所述行鍵查詢(xún)范圍內(nèi)的數(shù)據(jù)進(jìn)行過(guò)濾包括:
利用所述過(guò)濾器從所述行鍵查詢(xún)范圍內(nèi)的行鍵中過(guò)濾出與所述行鍵過(guò)濾字段匹配的行鍵。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述過(guò)濾查詢(xún)字段包括列相關(guān)過(guò)濾字段;
所述利用所述過(guò)濾器對(duì)所述行鍵查詢(xún)范圍內(nèi)的數(shù)據(jù)進(jìn)行過(guò)濾包括:
利用所述過(guò)濾器從所述行鍵查詢(xún)范圍內(nèi)過(guò)濾出與所述列相關(guān)過(guò)濾字段匹配的數(shù)據(jù)。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,在根據(jù)所述過(guò)濾查詢(xún)字段以及所述過(guò)濾器生成規(guī)則生成對(duì)應(yīng)的過(guò)濾器之前,所述方法還包括:
對(duì)所述過(guò)濾查詢(xún)字段進(jìn)行處理,以使所述過(guò)濾查詢(xún)字段滿(mǎn)足所述過(guò)濾器的生成要求。
7.一種基于HBase數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢(xún)裝置,其特征在于,所述裝置包括:請(qǐng)求接收單元、配置文件確定單元、范圍生成單元、數(shù)據(jù)獲取單元和映射單元;
其中,所述請(qǐng)求接收單元,用于接收來(lái)自客戶(hù)端的數(shù)據(jù)查詢(xún)請(qǐng)求,所述數(shù)據(jù)查詢(xún)請(qǐng)求中包括行鍵查詢(xún)字段、預(yù)設(shè)返回條數(shù)和領(lǐng)域?qū)ο竺Q(chēng);
所述配置文件確定單元,用于根據(jù)所述領(lǐng)域?qū)ο竺Q(chēng)確定對(duì)應(yīng)的領(lǐng)域?qū)ο笈渲梦募?,所述領(lǐng)域?qū)ο笈渲梦募邪ū砻托薪∩梢?guī)則;
所述范圍生成單元,用于根據(jù)所述行鍵查詢(xún)字段以及HBase數(shù)據(jù)庫(kù)的行鍵生成規(guī)則生成行鍵查詢(xún)范圍,所述行鍵查詢(xún)范圍包括起始行鍵和結(jié)束行鍵;
所述數(shù)據(jù)獲取單元,用于調(diào)用HBase的數(shù)據(jù)接口,以從與所述表名對(duì)應(yīng)的表內(nèi)查找所述行鍵查詢(xún)范圍,并從所述行鍵查詢(xún)范圍中獲得預(yù)設(shè)返回條數(shù)的行鍵對(duì)應(yīng)的數(shù)據(jù);
所述映射單元,用于將所述預(yù)設(shè)返回條數(shù)的行鍵對(duì)應(yīng)的數(shù)據(jù)映射為預(yù)設(shè)格式,并將映射后的數(shù)據(jù)發(fā)送至所述客戶(hù)端。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)查詢(xún)請(qǐng)求中還包括過(guò)濾查詢(xún)字段;所述領(lǐng)域?qū)ο笈渲梦募羞€包括過(guò)濾器生成規(guī)則;
所述裝置還包括:過(guò)濾器生成單元,用于根據(jù)所述過(guò)濾查詢(xún)字段以及所述過(guò)濾器生成規(guī)則生成對(duì)應(yīng)的過(guò)濾器;
所述數(shù)據(jù)獲取單元,具體用于:
調(diào)用HBase的數(shù)據(jù)接口,以從與所述表名對(duì)應(yīng)的表內(nèi)查找所述行鍵查詢(xún)范圍,并利用所述過(guò)濾器對(duì)所述行鍵查詢(xún)范圍內(nèi)的數(shù)據(jù)進(jìn)行過(guò)濾,得到過(guò)濾數(shù)據(jù),以及從所述過(guò)濾數(shù)據(jù)中提取預(yù)設(shè)返回條數(shù)的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述過(guò)濾查詢(xún)字段包括行鍵過(guò)濾字段;
所述數(shù)據(jù)獲取單元,具體用于:
調(diào)用HBase的數(shù)據(jù)接口,以從與所述表名對(duì)應(yīng)的表內(nèi)查找所述行鍵查詢(xún)范圍,并利用所述過(guò)濾器從所述行鍵查詢(xún)范圍內(nèi)的行鍵中過(guò)濾出與所述行鍵過(guò)濾字段匹配的行鍵,以及從所述過(guò)濾出的行鍵中提取預(yù)設(shè)返回條數(shù)的行鍵對(duì)應(yīng)的數(shù)據(jù)。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述過(guò)濾查詢(xún)字段包括列相關(guān)過(guò)濾字段;
所述數(shù)據(jù)獲取單元,具體用于:
調(diào)用HBase的數(shù)據(jù)接口,以從與所述表名對(duì)應(yīng)的表內(nèi)查找所述行鍵查詢(xún)范圍,利用所述過(guò)濾器從所述行鍵查詢(xún)范圍內(nèi)過(guò)濾出與所述列相關(guān)過(guò)濾字段匹配的數(shù)據(jù),得到過(guò)濾數(shù)據(jù),以及從所述過(guò)濾數(shù)據(jù)中提取預(yù)設(shè)返回條數(shù)的數(shù)據(jù)。