[發(fā)明專利]一種分布式存儲(chǔ)器哈希索引方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201410077069.4 | 申請(qǐng)日: | 2014-03-04 |
| 公開(kāi)(公告)號(hào): | CN104156380B | 公開(kāi)(公告)日: | 2019-03-26 |
| 發(fā)明(設(shè)計(jì))人: | 許志良;王寅峰;賴紅;張運(yùn)生 | 申請(qǐng)(專利權(quán))人: | 深圳信息職業(yè)技術(shù)學(xué)院 |
| 主分類號(hào): | G06F3/06 | 分類號(hào): | G06F3/06 |
| 代理公司: | 深圳中一專利商標(biāo)事務(wù)所 44237 | 代理人: | 張全文 |
| 地址: | 518172 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 存儲(chǔ)器 索引 方法 系統(tǒng) | ||
1.一種分布式存儲(chǔ)器哈希索引方法,其特征在于,包括:
將哈希表的地址范圍映射到多個(gè)存儲(chǔ)器節(jié)點(diǎn)中;
主節(jié)點(diǎn)計(jì)算鍵key的哈希值,將計(jì)算得到的key的哈希值的前m位作為節(jié)點(diǎn)編號(hào),所述m為存儲(chǔ)器節(jié)點(diǎn)的個(gè)數(shù);
根據(jù)存儲(chǔ)器節(jié)點(diǎn)編號(hào)與存儲(chǔ)器節(jié)點(diǎn)IP的映射關(guān)系查找到對(duì)應(yīng)的存儲(chǔ)器節(jié)點(diǎn)地址,所述存儲(chǔ)器節(jié)點(diǎn)編號(hào)與存儲(chǔ)器節(jié)點(diǎn)IP的映射關(guān)系存儲(chǔ)在路由表中,所述路由表存儲(chǔ)在主節(jié)點(diǎn)中;
對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行寫入、讀取、或刪除操作;
磁盤節(jié)點(diǎn)通過(guò)基于磁盤的哈希表保存存儲(chǔ)器節(jié)點(diǎn)中的哈希表的鏡像,對(duì)磁盤節(jié)點(diǎn)進(jìn)行寫入或刪除操作;
所述對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行寫入操作,具體以下步驟:
步驟A1、在主節(jié)點(diǎn)的bloom filter中查找所述的key是否存在,如果是,則執(zhí)行步驟A2,如果否,則同時(shí)執(zhí)行步驟A3與A4;
步驟A2、查找key是否在當(dāng)前的存儲(chǔ)器節(jié)點(diǎn)中,如果是,則執(zhí)行步驟A5,如果否則執(zhí)行步驟A3;
步驟A3、根據(jù)存儲(chǔ)器節(jié)點(diǎn)IP,將key及對(duì)應(yīng)的值value寫入到存儲(chǔ)器節(jié)點(diǎn)中,之后結(jié)束操作;
步驟A5、將key及對(duì)應(yīng)的value發(fā)送到磁盤節(jié)點(diǎn),然后執(zhí)行步驟A6;
步驟A6、判斷磁盤節(jié)點(diǎn)日志緩存區(qū)log cache是否已滿,若是,則執(zhí)行步驟A7后執(zhí)行步驟A8,若否,則直接執(zhí)行步驟A8;
步驟A7、將當(dāng)前l(fā)og cache的內(nèi)容寫入到磁盤中,清空l(shuí)og cache;
步驟A8、將key及對(duì)應(yīng)的value寫入log cache中,之后結(jié)束操作;
所述對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行讀取操作,具體以下步驟:
步驟B1、在主節(jié)點(diǎn)的bloom filter中查找所述的key是否存在,如果是,則執(zhí)行步驟B2,如果否,則執(zhí)行步驟B4;
步驟B2、根據(jù)存儲(chǔ)器節(jié)點(diǎn)IP查找key是否在當(dāng)前的存儲(chǔ)器節(jié)點(diǎn)中,如果是,則執(zhí)行步驟B3,如果否,則執(zhí)行步驟B4;
步驟B3、返回key及對(duì)應(yīng)的值value;
步驟B4、返回key不存在;
所述對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行刪除操作,具體以下步驟:
步驟C1、在主節(jié)點(diǎn)的bloom filter中查找所述的key是否存在,如果是,則執(zhí)行步驟C2,如果否,則執(zhí)行步驟C5;
步驟C2、根據(jù)存儲(chǔ)器節(jié)點(diǎn)IP查找key是否在當(dāng)前的存儲(chǔ)器節(jié)點(diǎn)中,如果是,則同時(shí)執(zhí)行步驟C3以及步驟C4,如果否,則執(zhí)行步驟C5;
步驟C3、刪除存儲(chǔ)器節(jié)點(diǎn)中的key及對(duì)應(yīng)的值value;
步驟C4、刪除磁盤節(jié)點(diǎn)中的key及對(duì)應(yīng)的值value;
步驟C5、返回key不存在。
2.一種分布式存儲(chǔ)器哈希索引系統(tǒng),其特征在于,包括:映射模塊、計(jì)算模塊、第一查找模塊、寫入模塊、讀取模塊、刪除模塊、存儲(chǔ)模塊;
所述映射模塊,用于將哈希表的地址范圍映射到多個(gè)存儲(chǔ)器節(jié)點(diǎn)中;
所述計(jì)算模塊,用于主節(jié)點(diǎn)計(jì)算鍵key的哈希值,將計(jì)算得到的key的哈希值的前m位作為節(jié)點(diǎn)編號(hào),所述m為存儲(chǔ)器節(jié)點(diǎn)的個(gè)數(shù);
所述第一查找模塊,用于根據(jù)存儲(chǔ)器節(jié)點(diǎn)編號(hào)與存儲(chǔ)器節(jié)點(diǎn)IP的映射關(guān)系查找到對(duì)應(yīng)的存儲(chǔ)器節(jié)點(diǎn)地址,所述存儲(chǔ)器節(jié)點(diǎn)編號(hào)與存儲(chǔ)器節(jié)點(diǎn)IP的映射關(guān)系存儲(chǔ)在路由表中,所述路由表存儲(chǔ)在主節(jié)點(diǎn)中;
所述寫入模塊,用于對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行寫入操作;
所述讀取模塊,用于對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行讀取操作;
所述刪除模塊,用于對(duì)所述存儲(chǔ)器節(jié)點(diǎn)地址對(duì)應(yīng)存儲(chǔ)器節(jié)點(diǎn)進(jìn)行刪除操作;
所述存儲(chǔ)模塊,用于磁盤節(jié)點(diǎn)通過(guò)基于磁盤的哈希表保存存儲(chǔ)器節(jié)點(diǎn)中的哈希表的鏡像;
所述寫入模塊還用于對(duì)磁盤節(jié)點(diǎn)進(jìn)行寫入操作;所述刪除模塊還用于對(duì)磁盤節(jié)點(diǎn)進(jìn)行刪除操作;
所述寫入模塊具體用于執(zhí)行以下步驟:
步驟A1、在主節(jié)點(diǎn)的bloom filter中查找所述的key是否存在,如果是,則執(zhí)行步驟A2,如果否,則同時(shí)執(zhí)行步驟A3與A4;
步驟A2、查找key是否在當(dāng)前的存儲(chǔ)器節(jié)點(diǎn)中,如果是,則執(zhí)行步驟A5,如果否則執(zhí)行步驟A3;
步驟A3、根據(jù)存儲(chǔ)器節(jié)點(diǎn)IP,將key及對(duì)應(yīng)的值value寫入到存儲(chǔ)器節(jié)點(diǎn)中,之后結(jié)束操作;
步驟A5、將key及對(duì)應(yīng)的value發(fā)送到磁盤節(jié)點(diǎn),然后執(zhí)行步驟A6;
步驟A6、判斷磁盤節(jié)點(diǎn)日志緩存區(qū)log cache是否已滿,若是,則執(zhí)行步驟A7后執(zhí)行步驟A8,若否,則直接執(zhí)行步驟A8;
步驟A7、將當(dāng)前l(fā)og cache的內(nèi)容寫入到磁盤中,清空l(shuí)og cache;
步驟A8、將key及對(duì)應(yīng)的value寫入log cache中,之后結(jié)束操作;
所述讀取模塊具體用于執(zhí)行以下步驟:
步驟B1、在主節(jié)點(diǎn)的bloom filter中查找所述的key是否存在,如果是,則執(zhí)行步驟B2,如果否,則執(zhí)行步驟B4;
步驟B2、根據(jù)存儲(chǔ)器節(jié)點(diǎn)IP查找key是否在當(dāng)前的存儲(chǔ)器節(jié)點(diǎn)中,如果是,則執(zhí)行步驟B3,如果否,則執(zhí)行步驟B4;
步驟B3、返回key及對(duì)應(yīng)的值value;
步驟B4、返回key不存在;
所述刪除模塊具體用于執(zhí)行以下步驟:
步驟C1、在主節(jié)點(diǎn)的bloom filter中查找所述的key是否存在,如果是,則執(zhí)行步驟C2,如果否,則執(zhí)行步驟C5;
步驟C2、根據(jù)存儲(chǔ)器節(jié)點(diǎn)IP查找key是否在當(dāng)前的存儲(chǔ)器節(jié)點(diǎn)中,如果是,則同時(shí)執(zhí)行步驟C3以及步驟C4,如果否,則執(zhí)行步驟C5;
步驟C3、刪除存儲(chǔ)器節(jié)點(diǎn)中的key及對(duì)應(yīng)的值value;
步驟C4、刪除磁盤節(jié)點(diǎn)中的key及對(duì)應(yīng)的值value;
步驟C5、返回key不存在。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳信息職業(yè)技術(shù)學(xué)院,未經(jīng)深圳信息職業(yè)技術(shù)學(xué)院許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410077069.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計(jì)算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計(jì)算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時(shí)間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來(lái)自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 用于控制非易失性存儲(chǔ)器的控制器
- 處理器、存儲(chǔ)器、計(jì)算機(jī)系統(tǒng)、系統(tǒng)LSI及其驗(yàn)證方法
- 存儲(chǔ)和檢索處理系統(tǒng)的數(shù)據(jù)的存儲(chǔ)器系統(tǒng)和性能監(jiān)視方法
- 用于控制半導(dǎo)體裝置的方法
- 存儲(chǔ)器存儲(chǔ)裝置及其測(cè)試方法
- 存儲(chǔ)器裝置及可促進(jìn)張量存儲(chǔ)器存取的方法
- 使用雙通道存儲(chǔ)器作為具有間隔的單通道存儲(chǔ)器
- 用于管理存儲(chǔ)器訪問(wèn)操作的方法和系統(tǒng)
- 存儲(chǔ)器控制器、存儲(chǔ)裝置和存儲(chǔ)裝置的操作方法
- 具有部分組刷新的存儲(chǔ)器
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





