[發(fā)明專利]一種key與value分開存儲(chǔ)的key-value存儲(chǔ)系統(tǒng)設(shè)計(jì)方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201310499659.1 | 申請(qǐng)日: | 2013-10-22 |
| 公開(公告)號(hào): | CN103559027A | 公開(公告)日: | 2014-02-05 |
| 發(fā)明(設(shè)計(jì))人: | 王雷;趙玉龍;王宇 | 申請(qǐng)(專利權(quán))人: | 北京航空航天大學(xué) |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 北京永創(chuàng)新實(shí)專利事務(wù)所 11121 | 代理人: | 祗志潔 |
| 地址: | 100191*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 key value 分開 存儲(chǔ) 存儲(chǔ)系統(tǒng) 設(shè)計(jì) 方法 | ||
1.一種鍵(key)與值(value)分開存儲(chǔ)的key-value存儲(chǔ)系統(tǒng)設(shè)計(jì)方法,基于底層結(jié)構(gòu)以bigtable為基礎(chǔ)的現(xiàn)有key-value存儲(chǔ)系統(tǒng),其特征在于,包括如下兩個(gè)步驟:
第一步,構(gòu)造value在文件的寫入和讀取函數(shù),將value在單獨(dú)的文件中存儲(chǔ);
步驟1.1,構(gòu)造value的寫入函數(shù),寫入函數(shù)的輸入?yún)?shù)包括value的內(nèi)容和長(zhǎng)度,返回值為value在文件中的偏移;每次在文件結(jié)尾處寫入value值,并設(shè)置一個(gè)變量用來(lái)保存文件結(jié)尾的偏移量;
步驟1.2,構(gòu)造value的讀取函數(shù),讀取函數(shù)的輸入?yún)?shù)包括value在文件中的偏移和長(zhǎng)度,返回值是字符串形式的value值;value的讀取使用內(nèi)存映射;
第二步,實(shí)現(xiàn)鍵值對(duì)(key-value)的寫入和讀取;
步驟2.1,鍵值對(duì)的寫入,具體是:對(duì)一個(gè)key-value,首先將value按照步驟1.1寫入文件,并獲得value在文件中的偏移,然后,將value在文件中的偏移和value的長(zhǎng)度組合成一個(gè)64位的信息字段,并對(duì)信息字段進(jìn)行base64編碼,最后,將key和經(jīng)過(guò)base64編碼的信息字段作為一個(gè)鍵值對(duì),寫入現(xiàn)有key-value存儲(chǔ)系統(tǒng);
步驟2.2鍵值對(duì)的讀取,具體是:首先,根據(jù)key值,從現(xiàn)有key-value存儲(chǔ)系統(tǒng)中讀取對(duì)應(yīng)的信息字段,然后,對(duì)讀取的信息字段進(jìn)行base64解碼,從中獲取對(duì)應(yīng)value在文件中的偏移和長(zhǎng)度;最后,將獲得的偏移和長(zhǎng)度作為參數(shù),調(diào)用步驟1.2中value的讀取函數(shù),得到value值。
2.根據(jù)權(quán)利要求1所述的key-value存儲(chǔ)系統(tǒng)設(shè)計(jì)方法,其特征在于,所述的步驟1.2中,總的映射空間最多為100M。
3.根據(jù)權(quán)利要求1或2所述的key-value存儲(chǔ)系統(tǒng)設(shè)計(jì)方法,其特征在于,步驟1.2所述的value的讀取函數(shù),所實(shí)現(xiàn)的操作為:
首先,對(duì)輸入的value在文件中的偏移addr進(jìn)行4kB的對(duì)齊操作,獲得偏移f_offset;
然后,在總的映射空間中查找f_offset,若查找到,獲取對(duì)應(yīng)的內(nèi)存映射的起始地址mmap_start,否則,將文件中讀取從偏移f_offset開始的大小為K的內(nèi)容,映射到內(nèi)存中,并獲取對(duì)應(yīng)的內(nèi)容映射的起始地址mmap_start,K為每次內(nèi)存映射的大小;
最后,判斷所需的value內(nèi)容是否全部在mmap_start開始的大小為K的內(nèi)存中,若在,直接讀取內(nèi)存mmap_start+addr-f_offset開始的長(zhǎng)度為length個(gè)字節(jié)的內(nèi)容,否則,先從內(nèi)存mmap_start+addr-f_offset開始讀取f_offset+K-addr個(gè)字節(jié)的內(nèi)容,再對(duì)f_offset+f_offset+K開始處的文件進(jìn)行映射,讀取所需value剩下的內(nèi)容;length為value的長(zhǎng)度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京航空航天大學(xué),未經(jīng)北京航空航天大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310499659.1/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種燒錄密鑰的方法、數(shù)字終端及系統(tǒng)
- 一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和檢索方法
- 一種保證KEY安全燒錄的方法、發(fā)送端、工具端及燒錄端
- HDCP KEY發(fā)送方法、燒錄方法及裝置
- redis緩存清理方法、服務(wù)器及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- key-value數(shù)據(jù)庫(kù)中的數(shù)據(jù)壓縮方法、訪問(wèn)方法和系統(tǒng)
- Key碼確定方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- key文件的合成方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 緩存集群優(yōu)化方法、設(shè)備及存儲(chǔ)介質(zhì)
- 熱Key數(shù)據(jù)并發(fā)響應(yīng)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種key與value分開存儲(chǔ)的key-value存儲(chǔ)系統(tǒng)設(shè)計(jì)方法
- 基于無(wú)向圖的用戶賬號(hào)查找方法及裝置
- 信號(hào)發(fā)生器和用于生成信號(hào)變化曲線的方法
- 一種數(shù)據(jù)處理方法以及NVMe存儲(chǔ)器
- 針對(duì)區(qū)塊鏈數(shù)據(jù)庫(kù)的數(shù)據(jù)壓縮方法、訪問(wèn)方法和系統(tǒng)
- key-value數(shù)據(jù)庫(kù)中的數(shù)據(jù)壓縮方法、存儲(chǔ)方法、訪問(wèn)方法和系統(tǒng)
- key-value數(shù)據(jù)庫(kù)中的數(shù)據(jù)壓縮方法、訪問(wèn)方法和系統(tǒng)
- 一種數(shù)據(jù)處理方法以及NVMe存儲(chǔ)器
- 一種分布式對(duì)象存儲(chǔ)元數(shù)據(jù)的存儲(chǔ)方法、設(shè)備及存儲(chǔ)介質(zhì)
- 一種handle標(biāo)識(shí)解析狀態(tài)的確定方法及裝置
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類存儲(chǔ)方法和裝置





