[發(fā)明專(zhuān)利]一種無(wú)垃圾回收的鍵值分離存儲(chǔ)方法和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201910540348.2 | 申請(qǐng)日: | 2019-06-21 |
| 公開(kāi)(公告)號(hào): | CN110389942B | 公開(kāi)(公告)日: | 2021-07-30 |
| 發(fā)明(設(shè)計(jì))人: | 周可;王樺;劉莉;林立亞 | 申請(qǐng)(專(zhuān)利權(quán))人: | 華中科技大學(xué) |
| 主分類(lèi)號(hào): | G06F16/21 | 分類(lèi)號(hào): | G06F16/21;G06F16/215;G06F16/22 |
| 代理公司: | 武漢臻誠(chéng)專(zhuān)利代理事務(wù)所(普通合伙) 42233 | 代理人: | 宋業(yè)斌 |
| 地址: | 430074 湖北省武漢*** | 國(guó)省代碼: | 湖北;42 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 垃圾 回收 鍵值 分離 存儲(chǔ) 方法 系統(tǒng) | ||
1.一種無(wú)垃圾回收的鍵值分離存儲(chǔ)方法,其特征在于,包括以下步驟:
(1)獲取鍵值對(duì)數(shù)據(jù),并判斷預(yù)先建立的失效數(shù)據(jù)隊(duì)列中是否存在失效數(shù)據(jù),如果是則進(jìn)入步驟(6),否則進(jìn)入步驟(2);
(2)將該鍵值對(duì)數(shù)據(jù)存儲(chǔ)在磁盤(pán)的日志文件中;
(3)獲取該鍵值對(duì)數(shù)據(jù)在日志文件中的偏移地址,將該偏移地址和該鍵值對(duì)數(shù)據(jù)中的鍵一起存儲(chǔ)在LSM樹(shù)中;
(4)判斷LSM樹(shù)中的相鄰層之間是否發(fā)生了文件合并操作,如果是則進(jìn)入步驟(5),否則返回步驟(1);
(5)獲取文件合并操作過(guò)程中產(chǎn)生的失效數(shù)據(jù),并將該失效數(shù)據(jù)存儲(chǔ)在預(yù)先建立的失效數(shù)據(jù)隊(duì)列中,其中該失效數(shù)據(jù)包括該失效數(shù)據(jù)的偏移地址、及其對(duì)應(yīng)的鍵,過(guò)程結(jié)束;
(6)從失效數(shù)據(jù)隊(duì)列中取出位于最頭部的失效數(shù)據(jù),將待寫(xiě)入鍵值對(duì)數(shù)據(jù)寫(xiě)入磁盤(pán)中該失效數(shù)據(jù)的偏移地址處,并將該偏移地址和該待寫(xiě)入鍵值對(duì)數(shù)據(jù)中的鍵一起存儲(chǔ)在LSM樹(shù)中,過(guò)程結(jié)束。
2.根據(jù)權(quán)利要求1所述的鍵值分離存儲(chǔ)方法,其特征在于,預(yù)先建立的失效數(shù)據(jù)隊(duì)列用于存儲(chǔ)LSM樹(shù)的文件合并操作過(guò)程中產(chǎn)生的失效數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的鍵值分離存儲(chǔ)方法,其特征在于,日志文件是值日志。
4.一種無(wú)垃圾回收的鍵值分離存儲(chǔ)系統(tǒng),其特征在于,包括:
第一模塊,用于獲取鍵值對(duì)數(shù)據(jù),并判斷預(yù)先建立的失效數(shù)據(jù)隊(duì)列中是否存在失效數(shù)據(jù),如果是則進(jìn)入第六模塊,否則進(jìn)入第二模塊;
第二模塊,用于將該鍵值對(duì)數(shù)據(jù)存儲(chǔ)在磁盤(pán)的日志文件中;
第三模塊,用于獲取該鍵值對(duì)數(shù)據(jù)在日志文件中的偏移地址,將該偏移地址和該鍵值對(duì)數(shù)據(jù)中的鍵一起存儲(chǔ)在LSM樹(shù)中;
第四模塊,用于判斷LSM樹(shù)中的相鄰層之間是否發(fā)生了文件合并操作,如果是則進(jìn)入第五模塊,否則返回第一模塊;
第五模塊,用于獲取文件合并操作過(guò)程中產(chǎn)生的失效數(shù)據(jù),并將該失效數(shù)據(jù)存儲(chǔ)在預(yù)先建立的失效數(shù)據(jù)隊(duì)列中,其中該失效數(shù)據(jù)包括該失效數(shù)據(jù)的偏移地址、及其對(duì)應(yīng)的鍵,過(guò)程結(jié)束;
第六模塊,用于從失效數(shù)據(jù)隊(duì)列中取出位于最頭部的失效數(shù)據(jù),將待寫(xiě)入鍵值對(duì)數(shù)據(jù)寫(xiě)入磁盤(pán)中該失效數(shù)據(jù)的偏移地址處,并將該偏移地址和該待寫(xiě)入鍵值對(duì)數(shù)據(jù)中的鍵一起存儲(chǔ)在LSM樹(shù)中,過(guò)程結(jié)束。
5.根據(jù)權(quán)利要求4所述的鍵值分離存儲(chǔ)系統(tǒng),其特征在于,預(yù)先建立的失效數(shù)據(jù)隊(duì)列用于存儲(chǔ)LSM樹(shù)的文件合并操作過(guò)程中產(chǎn)生的失效數(shù)據(jù)。
6.根據(jù)權(quán)利要求4所述的鍵值分離存儲(chǔ)系統(tǒng),其特征在于,日志文件是值日志。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于華中科技大學(xué),未經(jīng)華中科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910540348.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種鍵盤(pán)糾錯(cuò)方法及裝置
- 鍵值搜索方法、鍵值搜索裝置及芯片
- 一種注冊(cè)表鍵值的獲取方法及裝置
- 一種基于1553B總線(xiàn)電路燒寫(xiě)鍵值的方法及裝置
- 一種報(bào)文查找鍵值的生成方法及裝置
- 一種用于虛擬現(xiàn)實(shí)的自適應(yīng)鍵值顯示輸入系統(tǒng)
- 一種數(shù)據(jù)關(guān)聯(lián)方法及系統(tǒng)
- 數(shù)據(jù)前綴添加的方法、裝置、電子設(shè)備及介質(zhì)
- 空調(diào)控制方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種組合鍵識(shí)別方法,裝置,設(shè)備和可讀存取介質(zhì)





