[發明專利]一種閃存數據庫數據恢復的方法有效
| 申請號: | 201710358273.7 | 申請日: | 2017-05-19 |
| 公開(公告)號: | CN107220145B | 公開(公告)日: | 2021-06-01 |
| 發明(設計)人: | 王仁;韓世杰;張記強;馮帆;陳樹峰 | 申請(專利權)人: | 北京計算機技術及應用研究所 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14;G06F3/06 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 張然 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 閃存 數據庫 數據 恢復 方法 | ||
1.一種閃存數據庫數據恢復的方法,其特征在于,包括:
掃描日志文件,確認日志文件中是否有仍然有效的事務提交日志記錄或事務回滾日志,所述日志文件為鏈式日志;
依據日志文件當前的狀態分別進行如下處理:
若存在有效的事務提交日志記錄,表明涉及該事務的所有更改尚未完全寫入到數據文件中,需依據日志記錄,完成數據文件的重寫;
若存在有效的回滾日志記錄,則依據事務ID查找所有日志記錄,并進行回滾操作;
若不存在有效的事務提交日志記錄,也不存在有效的回滾日志,但存在仍然有效的日志記錄,表明該事務尚未完成,檢查是否存在部分日志記錄已寫入數據文件,而部分未寫入的情況,如存在,則進行回滾操作;
回滾操作包括:首先依據事務ID從日志文件中找出所有關于事務ID對應的該事務仍然有效的日志記錄,然后依次判斷日志記錄操作類型,根據不同操作類型,完成如下操作:若是插入操作,則刪除當前插入的數據元素;若是刪除操作,則重新插入被刪除的數據元素;若是更新操作,則將數據元素的值恢復到初始狀態;
鏈式日志,包括一個鏈表和一個數據表,鏈表中順序存儲每一個事務產生的不同數據操作的日志記錄,數據表中包含一個日志記錄中每個數據成員的不同版本數據,鏈表的日志記錄中包含指定數據表的地址;數據表中的日志記錄包含事務ID、數據成員、前成員和數據地址表四個字段,其中事務ID為當前日志記錄所屬事務的ID號;數據成員為當前數據操作指向的數據成員的名稱;前成員為當前事務中產生變化的數據成員的地址;數據地址表為數據成員所有版本數據的地址,每個版本數據按時間順序用鏈表進行連接,當事務提交或回滾后,數據地址表字段設置為空;
鏈式日志記錄構建日志文件包括:
當一個新事務開啟,并產生第一個數據變化時,為第一個更新的數據成員插入一條日志記錄;
當事務中產生其他數據成員變化時,則插入一條新的日志記錄,將其前成員設為上一變化的數據記錄;
對于插入和刪除操作,在數據地址表中使用多個標示符來區別不同版本的數據;
如果事務被提交或回滾,則插入一條提交或回滾日志記錄,前成員設置為之前更新的數據成員的地址;
記錄數據庫中所有產生變化的數據成員及其具體的數據操作,并統一存儲在日志文件中。
2.如權利要求1所述的閃存數據庫數據恢復的方法,其特征在于,還包括:
在日志文件中寫入檢查點,表明當前位置為檢查點;
以日志塊為單位對日志記錄進行逐條掃描,當遇到檢查點時,確認在檢查點之前所有日志記錄的有效性,將仍然有效的日志記錄寫入新的空閑塊;
當完成對一個日志塊的掃描后,對其進行擦除操作,并轉入下一個未掃描的日志塊;
當空閑塊已滿,則申請新的空閑塊,將新的有效記錄寫入新的空閑塊。
3.如權利要求2所述的閃存數據庫數據恢復的方法,其特征在于,還包括:將當前日志塊中的有效記錄轉存到新的日志塊的方法包括:
將轉存標志位設為1,并創建一個新的日志塊;
獲取第一條日志記錄,判斷當前轉存標志位是否為1,若不為1,則擦除舊的日志塊并結束;若為1,則判斷當前日志記錄是否有效,若仍然有效則將當前日志記錄拷貝至新的日志塊,并獲取下一條日志記錄作為當前日志記錄;若無效則直接獲取下一條日志記錄作為當前日志記錄;
若新的日志塊已滿,則獲取下一個空閑塊作為新的日志塊;
若獲取的當前日志記錄為空,則將轉存標志位設為0,表明轉存操作已結束。
4.如權利要求3所述的閃存數據庫數據恢復的方法,其特征在于,檢查點的時間間隔根據應用特點動態調整。
5.如權利要求1所述的閃存數據庫數據恢復的方法,其特征在于,鏈式日志的數據存儲方法:
先將日志記錄寫入內存或緩存,將日志記錄寫入日志文件,將數據變化寫入數據文件,無效化日志文件中相應日志記錄。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京計算機技術及應用研究所,未經北京計算機技術及應用研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710358273.7/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





