[發(fā)明專利]增量分布式索引系統(tǒng)和方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710028299.5 | 申請(qǐng)日: | 2017-01-16 |
| 公開(公告)號(hào): | CN106777343A | 公開(公告)日: | 2017-05-31 |
| 發(fā)明(設(shè)計(jì))人: | 張韶峰;陳浪仙;陳賀巍;鄒迎春 | 申請(qǐng)(專利權(quán))人: | 百融(北京)金融信息服務(wù)股份有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 北京立成智業(yè)專利代理事務(wù)所(普通合伙)11310 | 代理人: | 張江涵 |
| 地址: | 100043 北京市石景山區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 增量 分布式 索引 系統(tǒng) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種增量分布式索引系統(tǒng)和方法。
背景技術(shù)
隨著社會(huì)的發(fā)展,數(shù)據(jù)成級(jí)數(shù)式增長(zhǎng),而通過分析海量數(shù)據(jù)能夠從中獲取很多有用的信息,因此針對(duì)海量數(shù)據(jù)的數(shù)據(jù)挖掘技術(shù)成為了近期的熱點(diǎn)技術(shù)。為了在大數(shù)據(jù)條件下能更快的查詢滿足條件的數(shù)據(jù),目前比較常用的做法是對(duì)數(shù)據(jù)進(jìn)行預(yù)處理并對(duì)數(shù)據(jù)創(chuàng)建索引,查詢時(shí)根據(jù)索引來查詢。
索引是將表中一列或若干列值的集合和相應(yīng)的指向表中物理標(biāo)識(shí)這些值的數(shù)據(jù)頁的邏輯清單。當(dāng)索引某個(gè)值時(shí),可通過搜索索引以找到特定值,然后順指針找到包含該值的行。假設(shè)在如圖1所示的數(shù)據(jù)中想要查找Adradvark字符,在未建立索引時(shí)需要去掃描DataPage中所有數(shù)據(jù);而在如果圖1所示的建立索引后則只需要掃描第一個(gè)、第二個(gè)IndexPage就可以找到包含Adradvark字符的行數(shù)據(jù),這樣就能加快查詢速度。由此可以看出索引能夠能快速取數(shù)據(jù),在進(jìn)行排序、分組數(shù)據(jù)查詢時(shí)能夠有效提高查詢效率。現(xiàn)有的為了存儲(chǔ)、創(chuàng)建索引比較常用的有Lucene、HBase算法:
Lucene是Apache基金會(huì)下的一個(gè)開源項(xiàng)目,提供能夠?qū)崿F(xiàn)全文索引和檢索的Java API;現(xiàn)有的Lucene包含索引引擎和檢索引擎兩部分。對(duì)于包含多個(gè)字段(Field)的文檔(Document),可以通過Lucene的索引引擎對(duì)文檔字段中的文本內(nèi)容進(jìn)行分詞處理,構(gòu)建關(guān)鍵字索引。當(dāng)索引構(gòu)建完成后,可以通過Lucene的檢索引擎對(duì)特定字段進(jìn)行基于關(guān)鍵字的查詢。Lucene支持多種查詢方式,包括模糊檢索、分組查詢等。對(duì)于查詢結(jié)果,Lucene使用基于向量空間模型的排名算法計(jì)算得出查詢結(jié)果的排名。Lucene的優(yōu)點(diǎn)是能夠支持多種查詢、查詢數(shù)據(jù)快。缺點(diǎn)是只支持單個(gè)文檔的全部更新,不支持文檔部分更新,而且創(chuàng)建索引、合并索引比較耗時(shí)。
HBase是基于列存儲(chǔ)、構(gòu)建在HDFS上的分布式存儲(chǔ)系統(tǒng),HBase可以通過增加廉價(jià)的PC機(jī)提高系統(tǒng)運(yùn)行和存儲(chǔ)的能力。HBase中可以支持一個(gè)表可以有數(shù)十億行,上百萬列、可支持面向列(族)的存儲(chǔ)和權(quán)限控制,列(族)獨(dú)立檢索,并且每個(gè)單元中的數(shù)據(jù)可以有多個(gè)版本,默認(rèn)情況下版本號(hào)自動(dòng)分配,是單元格插入時(shí)的時(shí)間戳。比較適合存儲(chǔ)存儲(chǔ)結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)、以及高并發(fā)的key-value查詢。Hbase的缺點(diǎn)是只支持按行健、行健的的范圍查詢,無法根據(jù)列屬性以及查詢。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中Lucene、HBase方案都存在比較明顯缺陷的問題,本發(fā)明實(shí)施例的目的是提供一種有效且高效的增量分布式索引系統(tǒng)和方法。
為了解決上述問題,本發(fā)明實(shí)施例提出了一種增量分布式索引方法,包括:
步驟1、獲取HBase數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù),以及每一數(shù)據(jù)的一級(jí)索引值和屬性值;為每一數(shù)據(jù),通過以下方法生成二級(jí)索引Key;
{起始Key值}_{原始屬性值}_{原始Key值};
其中起始Key值是所有數(shù)據(jù)一級(jí)索引值的起始值;原始屬性值是數(shù)據(jù)的屬性值;原始Key值是所有數(shù)據(jù)一級(jí)索引值;
步驟2、根據(jù)每一數(shù)據(jù)的二級(jí)索引Key,生成二級(jí)索引表,以在查詢時(shí)對(duì)二級(jí)索引表進(jìn)行分區(qū)域的檢索;其中所述分區(qū)域是根據(jù)二級(jí)索引Key值進(jìn)行劃分的。
其中,所述二級(jí)索引Key以及二級(jí)索引表存儲(chǔ)在HBase數(shù)據(jù)庫中。
其中,所述方法種還包括:
步驟3、接收基于sql語言的查詢請(qǐng)求,并對(duì)所述基于sql語言的查詢請(qǐng)求生成針對(duì)HBase數(shù)據(jù)庫的二級(jí)索引表的查詢條件;根據(jù)查詢條件查詢HBase數(shù)據(jù)庫的二級(jí)索引表,返回滿足查詢條件的數(shù)據(jù),以使客戶端將HBase各區(qū)域的返回?cái)?shù)據(jù)整理合并輸出。
其中,所述步驟3具體包括:
步驟31、在接收到查詢時(shí),判斷所述查詢的類型,如果是基于匯總(Count)的導(dǎo)出查詢,則跳轉(zhuǎn)到步驟2;如果是針對(duì)單個(gè)分區(qū)域(Region)的分頁查詢,則跳轉(zhuǎn)到步驟N;
步驟32、根據(jù)基于匯總的導(dǎo)出查詢的查詢條件,生成針對(duì)每一分區(qū)域的查詢條件,以使每一分區(qū)域根據(jù)對(duì)應(yīng)的查詢條件進(jìn)行查詢;然后將每個(gè)分區(qū)域返回的數(shù)據(jù)進(jìn)行合并后返回,步驟結(jié)束;
步驟33、根據(jù)針對(duì)單個(gè)分區(qū)域的分頁查詢,確定本次請(qǐng)求的分區(qū)域;針對(duì)滿足查詢條件的分區(qū)域進(jìn)行查詢,并將查詢結(jié)果返回,步驟結(jié)束。
其中,對(duì)分區(qū)域進(jìn)行查詢的方法具體為:
步驟a、根據(jù)查詢條件以及上次記錄id,重新生成查詢條件,并構(gòu)建查詢條件語法數(shù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于百融(北京)金融信息服務(wù)股份有限公司,未經(jīng)百融(北京)金融信息服務(wù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710028299.5/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種基于可靠性的高性能文件系統(tǒng)混合節(jié)能存儲(chǔ)系統(tǒng)及方法
- 下一篇:一種數(shù)據(jù)庫集群的數(shù)據(jù)節(jié)點(diǎn)擴(kuò)展方法及裝置
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 基于FTP協(xié)議的行業(yè)數(shù)據(jù)庫數(shù)據(jù)實(shí)時(shí)同步系統(tǒng)
- 一種基于國家基礎(chǔ)地理信息數(shù)據(jù)的增量式地圖更新方法
- 一種遠(yuǎn)程復(fù)制多快照間增量去重的實(shí)現(xiàn)方法及裝置
- 一種增量數(shù)據(jù)獲取方法及裝置
- 一種增量包生成方法、版本升級(jí)方法、裝置以及系統(tǒng)
- 礦物增量劑連續(xù)研磨裝置
- 一種增量升級(jí)包生成、增量更新方法及裝置
- 一種增量索引更新方法及系統(tǒng)
- 一種高分辨率的增量碼道檢測(cè)方法
- 一種圖譜的增量更新方法、裝置及系統(tǒng)





