[發(fā)明專(zhuān)利]一種基于HBase的更新增量索引的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201410025773.5 | 申請(qǐng)日: | 2014-01-20 |
| 公開(kāi)(公告)號(hào): | CN103778219A | 公開(kāi)(公告)日: | 2014-05-07 |
| 發(fā)明(設(shè)計(jì))人: | 鄭慶華;賀歡;李冰;董博;李慶喻 | 申請(qǐng)(專(zhuān)利權(quán))人: | 西安交通大學(xué);上海網(wǎng)達(dá)軟件股份有限公司 |
| 主分類(lèi)號(hào): | G06F17/30 | 分類(lèi)號(hào): | G06F17/30 |
| 代理公司: | 西安通大專(zhuān)利代理有限責(zé)任公司 61200 | 代理人: | 朱海臨 |
| 地址: | 710049 陜*** | 國(guó)省代碼: | 陜西;61 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 hbase 更新 增量 索引 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種在HBase(一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),支持百萬(wàn)列上億行數(shù)據(jù)的存儲(chǔ))基礎(chǔ)上對(duì)增量索引內(nèi)容進(jìn)行更新的方法,主要解決目前對(duì)增量索引的更新效率低的問(wèn)題。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,信息系統(tǒng)的中存儲(chǔ)的文本數(shù)量日益龐大,為了從中查找所需信息,必須構(gòu)建索引。當(dāng)需要索引的數(shù)據(jù)量極大時(shí),單個(gè)計(jì)算機(jī)提供的存儲(chǔ)容量無(wú)法滿(mǎn)足索引的存儲(chǔ)需求,所以必須使用分布式的計(jì)算與存儲(chǔ)環(huán)境滿(mǎn)足需求。一種解決方法是采用基于HBase的倒排索引技術(shù)實(shí)現(xiàn)對(duì)不斷增加的數(shù)據(jù)構(gòu)建增量索引,另外,隨著時(shí)間的積累,部分被索引的數(shù)據(jù)會(huì)發(fā)生變化,需要將增量索引系統(tǒng)中的索引數(shù)據(jù)相應(yīng)的進(jìn)行更新。因此,如何有效的對(duì)不斷變化的內(nèi)容更新其增量索引,滿(mǎn)足用戶(hù)在檢索時(shí)對(duì)索引內(nèi)容及時(shí)性的需求,成了亟待解決的難題。
針對(duì)如何有效地構(gòu)建數(shù)據(jù)索引以及存儲(chǔ)和檢索,以下專(zhuān)利和論文提供了不同的技術(shù)方案:
文獻(xiàn)1.一種全文檢索系統(tǒng)的索引在線(xiàn)更新方法(200610112800.8);
文獻(xiàn)2.Antonopoulos?P,Konstantinou?I,Tsoumakos?D,et?al.Efficient?Updates?for?Web-Scale?Indexes?over?the?Cloud[C]:IEEE,2012:135-142.;
文獻(xiàn)1將索引庫(kù)按照文檔變更的頻繁程度劃分為主索引庫(kù)與輔助索引庫(kù)兩部分,其中主索引庫(kù)由占絕大多數(shù)的很少改變的文檔組成,輔助索引庫(kù)由經(jīng)常改變的少數(shù)文檔組成。在更新索引時(shí),不直接對(duì)主索引庫(kù)進(jìn)行更新,而是將索引的新增、刪除與更新操作保存在輔助索引庫(kù)中,當(dāng)輔助索引庫(kù)的文件大小或數(shù)量超過(guò)預(yù)先設(shè)置的閾值時(shí),批量的將輔助索引庫(kù)中的所有索引操作合并到主索引庫(kù)中,或者按照系統(tǒng)的繁忙程度,在系統(tǒng)空閑時(shí)進(jìn)行合并操作。采用這種方式,可以避免索引更新操作對(duì)主索引庫(kù)大量讀寫(xiě)造成的性能下降,保證索引服務(wù)持續(xù)可用。
文獻(xiàn)2通過(guò)分析索引更新的操作的細(xì)節(jié),發(fā)現(xiàn)更新索引時(shí),其操作具有明顯的局部性,不用將一個(gè)文檔的所有術(shù)語(yǔ)都進(jìn)行更新,只需要對(duì)發(fā)生變化的術(shù)語(yǔ)進(jìn)行更新即可,避免了不必要的索引刪除與新增操作。而發(fā)現(xiàn)變化的術(shù)語(yǔ)更新的步驟可以通過(guò)對(duì)比待更新文檔的新舊前置表實(shí)現(xiàn),不需要對(duì)文檔原文進(jìn)行遍歷對(duì)比。采用這種方式,可以將索引更新的細(xì)節(jié)操作數(shù)量顯著降低,提高索引更新的效率。
以上文獻(xiàn)所述方法主要存在以下問(wèn)題:文獻(xiàn)1沒(méi)有考慮待更新文檔數(shù)據(jù)持續(xù)增加時(shí),輔助索引庫(kù)占用的存儲(chǔ)空間將會(huì)顯著提升,占用大量額外的存儲(chǔ)空間,當(dāng)索引數(shù)據(jù)的規(guī)模極大時(shí),輔助索引庫(kù)受限于單機(jī)的內(nèi)存容量,無(wú)法保存更多索引更新;當(dāng)總索引數(shù)量超過(guò)一定程度時(shí),合并索引的效率會(huì)發(fā)生顯著下降,不適應(yīng)當(dāng)前海量數(shù)據(jù)資源的索引更新;索引的更新過(guò)程的一段時(shí)期內(nèi),同時(shí)存在兩個(gè)不同的索引版本,如輔助索引庫(kù)發(fā)生異常,則會(huì)丟失索引更新。文獻(xiàn)2在實(shí)現(xiàn)索引更新時(shí),需要保存待索引文檔的前置表,而保存前置表需要占用和索引同樣大小的存儲(chǔ)空間,造成存儲(chǔ)浪費(fèi);而從索引中重新生成前置表,則需要掃描整個(gè)索引庫(kù),十分耗費(fèi)時(shí)間。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種新的可提高更新效率的索引更新方法,以解決背景技術(shù)的方法中不適合處理海量數(shù)據(jù)索引、額外占用大量存儲(chǔ)空間以及整體更新速度慢的問(wèn)題,。
為了達(dá)到以上目的,本發(fā)明是采取如下技術(shù)方案予以實(shí)現(xiàn)的:
一種基于HBase的更新增量索引的方法,其特征在于,包括下述步驟:
(1)從HBase索引庫(kù)中獲取待更新文檔D的歷史內(nèi)容C0
待更新文檔D的歷史內(nèi)容在HBase索引庫(kù)中已經(jīng)存在,包括其內(nèi)容文本與內(nèi)容文本的索引,通過(guò)待更新文檔D的標(biāo)識(shí)符,從HBase索引庫(kù)中讀取其歷史內(nèi)容;
(2)解析待更新文檔D的歷史內(nèi)容C0,獲取C0的前置表FT0;
(3)解析待更新文檔D的當(dāng)前內(nèi)容C1,獲取C1的前置表FT1;
(4)遍歷C1的前置表FT1,對(duì)FT1中每個(gè)術(shù)語(yǔ)t,結(jié)合FT0進(jìn)行判斷,修改前置表FT1和FT0的內(nèi)容,具體方法如下:
判斷FT0中是否存在術(shù)語(yǔ)t,分別進(jìn)行如下處理:
a、如果不存在,則繼續(xù)判斷FT1的下一個(gè)術(shù)語(yǔ);
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于西安交通大學(xué);上海網(wǎng)達(dá)軟件股份有限公司,未經(jīng)西安交通大學(xué);上海網(wǎng)達(dá)軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410025773.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:管孔式布料裝置
- 下一篇:一種鋁電解槽石墨陽(yáng)極鋼爪抗腐蝕高溫涂料
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
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 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種基于thrift服務(wù)的HBase安全插件
- 一種實(shí)現(xiàn)Windows下連接控制Hbase的方法及裝置
- 一種基于大數(shù)據(jù)的數(shù)據(jù)脫敏方法和Hbase脫敏處理系統(tǒng)
- 多個(gè)集群數(shù)據(jù)一致性的控制方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- HBase數(shù)據(jù)遷移方法及遷移裝置
- 基于phoenix改造hbase舊系統(tǒng)的索引同步方法、裝置及系統(tǒng)
- 一種格式化HBase數(shù)據(jù)的方法
- 一種多HBase集群訪(fǎng)問(wèn)方法、裝置及存儲(chǔ)介質(zhì)
- HBase集群平衡方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 一種基于AEP內(nèi)存的HBase集群性能優(yōu)化方法及系統(tǒng)
- 基于FTP協(xié)議的行業(yè)數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)時(shí)同步系統(tǒng)
- 一種基于國(guó)家基礎(chǔ)地理信息數(shù)據(jù)的增量式地圖更新方法
- 一種遠(yuǎn)程復(fù)制多快照間增量去重的實(shí)現(xiàn)方法及裝置
- 一種增量數(shù)據(jù)獲取方法及裝置
- 一種增量包生成方法、版本升級(jí)方法、裝置以及系統(tǒng)
- 礦物增量劑連續(xù)研磨裝置
- 一種增量升級(jí)包生成、增量更新方法及裝置
- 一種增量索引更新方法及系統(tǒng)
- 一種高分辨率的增量碼道檢測(cè)方法
- 一種圖譜的增量更新方法、裝置及系統(tǒng)





