[發明專利]一種基于NVM的LSM樹的存儲結構及其數據存儲方法在審
| 申請號: | 202111179858.5 | 申請日: | 2021-10-11 |
| 公開(公告)號: | CN113821177A | 公開(公告)日: | 2021-12-21 |
| 發明(設計)人: | 莊鑄滔;陳志廣 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 深圳市創富知識產權代理有限公司 44367 | 代理人: | 高冰 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 nvm lsm 存儲 結構 及其 數據 方法 | ||
本發明公開了一種基于NVM的LSM樹的存儲結構及其數據存儲方法,包括:DRAM層,用于將數據插入到數據結構WriteBatch并構建寫入對象隊列,根據寫入對象隊列將數據結構WriteBatch的數據寫入MemTable;DISK層,用于將MemTable轉換為SSTable并基于NVM對SSTable進行合并,完成寫操作。本發明將NVM作為SSTabl的存儲載體,以提升系統的吞吐速率。本發明作為一種基于NVM的LSM樹的存儲結構及其數據存儲方法,可廣泛應用于存儲設備領域。
技術領域
本發明涉及存儲設備領域,尤其涉及一種基于NVM的LSM樹的存儲結構及其數據存儲方法。
背景技術
在數據存儲領域中,基于LSM樹存儲結構實現對數據的存儲是較為常見的,目前的LSM樹存儲結構是以傳統的塊存儲設備作為SSTable的存儲載體,其存在的問題是靈活度不足,需要將硬盤上的數據先讀入DRAM再進行操作,從而使得整個系統的讀寫性能一般,吞吐速率較低。
發明內容
為了解決上述技術問題,本發明的目的是提供一種基于NVM的LSM樹的存儲結構及其數據存儲方法,將NVM作為SSTabl的存儲載體,以提升系統的吞吐速率。
本發明所采用的第一技術方案是:一種基于NVM的LSM樹的存儲結構,包括以下步驟:
DRAM層,用于將數據插入到數據結構WriteBatch并構建寫入對象隊列,根據寫入對象隊列將數據結構WriteBatch的數據寫入MemTable;
DISK層,用于將MemTable轉換為SSTable并基于NVM對SSTable進行合并,完成寫操作。
本發明所采用的第二技術方案是:一種基于NVM的LSM樹存儲結構的數據存儲方法,包括寫操作:
將數據插入到數據結構WriteBatch并構建寫入對象隊列;
根據寫入對象隊列將數據結構WriteBatch的數據寫入MemTable;
將MemTable轉換為SSTable;
基于NVM對SSTable進行合并,完成寫操作。
進一步,所述將數據結構WriteBatch的數據寫入MemTable具體還包括:
判斷當前MemTable是否填滿;
判斷到MemTable填滿,將MemTable轉為Immutable MemTable并新創建一個MenTable。
進一步,所述將MemTable轉換為SSTable這一步驟,其具體包括:
將MemTable轉換為SSTable;
遍歷一遍Immutable MemTable,得到Immutable MemTable的數據項數量;
新建一個數據項數量與Immutable MemTable相同的SSTable,將ImmutableMemTable的數據項在SSTable的最尾部插入。
進一步,所述基于NVM對SSTable進行合并,完成寫操作這一步驟,其具體包括:
創建Compaction對象和SSTable數組,所述Compaction對象包括SSTable合并的記錄信息,所述SSTable數組設有可容納鍵值對的數目閾值;
對將要合并的SSTable構建一個迭代器,所述迭代器將將要合并的SSTable的鍵值對從按鍵的大小從小到大依次返回;
遍歷該迭代器,對于每個返回的鍵值對,根據預設規則判斷該鍵值對是否可丟棄;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111179858.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于圣誕樹制備的噴絨裝置
- 下一篇:儲氣庫節流裝置





