[發明專利]一種使用非易失性內存介質的鍵值對持久存儲方法及系統有效
| 申請號: | 201710834389.3 | 申請日: | 2017-09-15 |
| 公開(公告)號: | CN107728937B | 公開(公告)日: | 2020-09-04 |
| 發明(設計)人: | 黃林鵬;朱燕民;沈艷艷;劉昊 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F11/10 |
| 代理公司: | 上海漢聲知識產權代理有限公司 31236 | 代理人: | 郭國中 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 使用 非易失性 內存 介質 鍵值 持久 存儲 方法 系統 | ||
1.一種使用非易失性內存介質的鍵值對持久存儲方法,其特征在于,同時使用易失性內存介質和非易失性內存介質構建持久鍵值存儲系統,并包括步驟:
易失性內存介質構建步驟:在易失性內存介質中構建靜態散列表接收來自客戶端的讀寫訪問請求;
非易失性內存介質構建步驟:在非易失性內存介質中構建動態散列表存儲鍵值對的元數據和鍵值對在數據區的內存偏移地址,在非易失性內存中的動態散列表之后構建數據存儲區,存放鍵值對大小、鍵值對數據和鍵值對校驗和;
數據一致性保障步驟:使用結合鍵值對校驗和的檢查點的機制,維護持久鍵值存儲系統的數據一致性;
所述靜態散列表大小固定,每一個散列表中含有2^16個桶,每個桶中含有四個存儲單元,每個存儲單元中含有64位的鍵的散列值、鍵值對在非易失性內存存儲區中64位的內存偏移地址和32位的鍵值對校驗和;
所述靜態散列表中的散列算法采用兩個散列函數的布谷鳥散列算法,當靜態散列表的基本填滿時,對該靜態散列表進行固定操作,固定后的靜態散列表將通過合并線程和位于非易失性內存中動態散列表進行合并,完成動態擴展;
所述動態散列表的初始大小和一個靜態散列表相同,含有2^16個桶,每個桶中含有四個存儲單元,每個存儲單元中含有一個1位的標志位,該標志位標識該存儲單元是否已被占用,一個64位的鍵的散列值,一個64位的鍵值對在非易失性內存存儲區中的內存偏移地址和一個32位的鍵值對校驗和;
所述結合鍵值對校驗和的檢查點的機制包括:
在完成每次靜態散列表合并時,向動態散列表中原本存放內存偏移地址和校驗和的部位,存放一個固定內容的值和一個遞升版本號用來記錄本次合并操作的完成,并在系統恢復或重啟時,根據最新的檢查點回溯比對鍵值對校驗和,找出校驗和不一致的鍵值對并且丟棄,從而維護系統的數據一致性。
2.一種使用非易失性內存介質的鍵值對持久存儲系統,其特征在于,包括
易失性內存介質:包括靜態散列表,接收來自客戶端的讀寫訪問請求;
非易失性內存介質:包括動態散列表,存儲鍵值對的元數據和鍵值對在數據區的內存偏移地址,在所述動態散列表之后還包括數據存儲區,存放鍵值對大小、鍵值對數據和鍵值對校驗和;
數據一致性保障模塊:使用結合鍵值對校驗和的檢查點的機制,維護持久鍵值存儲系統的數據一致性;
所述靜態散列表大小固定,每一個散列表中含有2^16個桶,每個桶中含有四個存儲單元,每個存儲單元中含有64位的鍵的散列值、鍵值對在非易失性內存存儲區中64位的內存偏移地址和32位的鍵值對校驗和;
所述靜態散列表中的散列算法采用兩個散列函數的布谷鳥散列算法,當靜態散列表的基本填滿時,對該靜態散列表進行固定操作,固定后的靜態散列表將通過合并線程和位于非易失性內存中動態散列表進行合并,完成動態擴展;
所述動態散列表的初始大小和一個靜態散列表相同,含有2^16個桶,每個桶中含有四個存儲單元,每個存儲單元中含有一個1位的標志位,該標志位標識該存儲單元是否已被占用,一個64位的鍵的散列值,一個64位的鍵值對在非易失性內存存儲區中的內存偏移地址和一個32位的鍵值對校驗和;
所述結合鍵值對校驗和的檢查點的機制包括:
在完成每次靜態散列表合并時,向動態散列表中原本存放內存偏移地址和校驗和的部位,存放一個固定內容的值和一個遞升版本號用來記錄本次合并操作的完成,并在系統恢復或重啟時,根據最新的檢查點回溯比對鍵值對校驗和,找出校驗和不一致的鍵值對并且丟棄,從而維護系統的數據一致性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710834389.3/1.html,轉載請聲明來源鉆瓜專利網。





