[發明專利]面向容錯的NVM持久化過程冗余信息的壓縮方法和裝置有效
| 申請號: | 201811457572.7 | 申請日: | 2018-11-30 |
| 公開(公告)號: | CN109542356B | 公開(公告)日: | 2021-12-31 |
| 發明(設計)人: | 彭林;張文喆;陳俊峰;黃春;唐滔;方建濱;左克;姜浩 | 申請(專利權)人: | 中國人民解放軍國防科技大學 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 湖南兆弘專利事務所(普通合伙) 43008 | 代理人: | 譚武藝 |
| 地址: | 410073 湖南*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 容錯 nvm 持久 過程 冗余 信息 壓縮 方法 裝置 | ||
1.一種面向容錯的NVM持久化過程冗余信息的壓縮方法,其特征在于實施步驟包括:
1)在支持事務持久化的線程中分配寫集合WriteSet、地址隊列queue以及多個值隊列vqueue_X,其中值隊列vqueue_X用于記錄新舊只有低X位不同的值,在壓縮值時各記錄值的低X位寫入持久化日志中,且不同值隊列vqueue_X的X值不同;
2)在NVM中分配持久化日志保存區;
3)在事務期間將所有持久化寫操作信息寫入寫集合WriteSet;
4)掃描寫集合WriteSet,對新舊值完全相同的寫集合元素進行過濾,對新舊值不完全相同的寫集合元素,將新舊只有低X位不同的值的寫集合元素的值分別加入相應的值隊列vqueue_X,并按照值隊列vqueue_X中X的值從大到小的順序將新舊值不完全相同的寫集合元素的地址加入地址隊列queue;
5)針對地址隊列queue中的地址信息進行壓縮使得一組相鄰地址的相同部分被消除,將壓縮后的地址信息寫入地址記錄;
6)將各個值隊列vqueue_X中所有元素的N位值的低X位寫入值記錄,從而將值的冗余信息消除;
步驟5)的詳細步驟包括:
5.1)構造處理子隊列,將所述處理子隊列中初始放入地址隊列queue的前兩個地址,初始化當前的壓縮模式為不可壓縮,壓縮模式包括不可壓縮、連續地址壓縮、高32bit相同地址壓縮三種,連續地址壓縮模式是指對一組相鄰地址的差值相同的地址隊列進行壓縮,高32bit相同地址壓縮模式是指對一組具有相同的高32bit的地址隊列進行壓縮;
5.2)依次遍歷地址隊列queue中的后續地址Addr,每遍歷一個地址Addr,則將當前遍歷的地址Addr加入處理子隊列,跳轉執行步驟5.3);直至遍歷完成,跳轉執行步驟5.5);
5.3)判斷處理子隊列在地址Addr加入前后是否均為不可壓縮,如果處理子隊列在Addr加入前后均不可壓縮,則取出處理子隊列第一個地址,寫入地址記錄,跳轉執行步驟5.2);否則,跳轉執行步驟5.4);
5.4)判斷處理子隊列的壓縮模式是否在地址Addr加入后發生變化,如果處理子隊列對應的壓縮模式在地址Addr加入后發生變化,則取出處理子隊列中位于地址Addr之前的所有地址進行壓縮,如果原壓縮模式為連續地址壓縮,則進行連續地址壓縮,如果原壓縮模式為高32bit相同地址壓縮,則進行高32bit相同地址壓縮,寫入地址記錄;跳轉執行步驟5.2);
5.5)判斷處理子隊列是否為空,如果判斷處理子隊列為空,則跳轉執行步驟5.7);否則,跳轉執行步驟5.6);
5.6)判斷處理子隊列是否可壓縮,如果處理子隊列可壓縮,則根據處理子隊列的內容確定處理子隊列新的壓縮模式,并取出處理子隊列所有地址進行壓縮,如果新的壓縮模式為連續地址壓縮,則進行連續地址壓縮,如果新的壓縮模式為高32bit相同地址壓縮,則進行高32bit相同地址壓縮,寫入地址記錄,跳轉執行步驟5.7);否則,取出處理子隊列所有地址不壓縮,寫入地址記錄,跳轉執行步驟5.7);
5.7)判定將壓縮后地址信息的寫入地址記錄結束。
2.根據權利要求1所述面向容錯的NVM持久化過程冗余信息的壓縮方法,其特征在于,步驟1)中的多個值隊列vqueue_X包括值隊列vqueue_N、vqueue_N/2、vqueue_N/22、…、vqueue_16、vqueue_8,其中,N為持久化日志的位寬,vqueue_N用于記錄新舊完全不同的值,在壓縮值時各記錄值的低N位寫入持久化日志中;vqueue_N/2用于記錄新舊只有低N/2位不同的值,在壓縮值時各記錄值的低N/2位寫入持久化日志中;……;vqueue_16用于記錄新舊只有低16位不同的值,在壓縮值時各記錄值的低16位寫入持久化日志中;vqueue_8用于記錄新舊只有低8位不同的值,在壓縮值時各記錄值的低8位寫入持久化日志中。
3.根據權利要求2所述面向容錯的NVM持久化過程冗余信息的壓縮方法,其特征在于,步驟2)中在NVM中分配持久化日志保存區時每一個持久化日志包含3個部分,對應各個值隊列vqueue_X的值的數目、多個壓縮地址的記錄、多個壓縮值的記錄。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科技大學,未經中國人民解放軍國防科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811457572.7/1.html,轉載請聲明來源鉆瓜專利網。





