[發明專利]一種內存數據庫重做日志文件的恢復方法和裝置有效
| 申請號: | 201410163685.1 | 申請日: | 2014-04-22 |
| 公開(公告)號: | CN105022676B | 公開(公告)日: | 2018-08-17 |
| 發明(設計)人: | 許哲;郝春美;楊耀華 | 申請(專利權)人: | 大唐軟件技術股份有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14;G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘭淑鐸 |
| 地址: | 100012 北京市朝陽區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 數據庫 重做 日志 文件 恢復 方法 裝置 | ||
本申請提供了一種內存數據庫重做日志文件的恢復方法和裝置,包括:對重做日志文件按照生成時間的先后順序進行排序;按排序讀取重做日志文件中的數據,其中,所述數據中包含多個事務數據;對讀取的重做日志文件中的數據包含的多個事務數據進行分割,分割成多個單一事務;將所述分割成的多個單一事務打成回滾數據包,并將打成的所述多個單一事務的回滾數據包分別發送到內存數據庫,通過所述內存數據庫進行多個單一事務的回滾。因此,本申請解決了內存數據庫的數據丟失和無法及時恢復的問題。
技術領域
本申請涉及內存數據庫系統領域,特別是涉及一種內存數據庫重做日志文件的恢復方法和裝置。
背景技術
隨著電信業、金融業不斷的發展,業務擴展越來越廣,各種新業務層出不窮,數據量也越來越大,對數據訪問的響應速度要求也越來越高。大量的用戶資料數據、用戶消費數據都需要存放在內存數據庫中,但是由于內存的非持久性,一旦內存數據庫進程或者所在主機發生宕機,內存中的數據將全部丟失。
目前,一般的內存數據庫采用定時備份內存數據的方式,這樣,當系統宕機,內存數據庫異常,可以從最近一次的備份數據進行恢復,但是,從最近一次備份到系統發生宕機的這段時間,內存數據庫發生的修改操作都會丟失,僅靠內存數據庫自身的機制是無法恢復的。
因此,如何防止內存數據庫的丟失和及時恢復到異常之前的狀態,成為了內存數據庫亟待解決的問題。
發明內容
本申請提供一種內存數據庫在線重做日志文件的恢復方法和系統,以解決內存數據庫的數據丟失和無法及時恢復的問題。
為了解決上述問題,本申請公開了一種內存數據庫重做日志文件的恢復方法,包括:對重做日志文件按照生成時間的先后順序進行排序;
按排序讀取重做日志文件中的數據,其中,所述數據中包含多個事務數據;
對讀取的重做日志文件中的數據包含的多個事務數據進行分割,分割成多個單一事務;
將所述分割成的多個單一事務打成回滾數據包,并將打成的所述多個單一事務的回滾數據包分別發送到內存數據庫,通過所述內存數據庫進行多個單一事務的回滾。
優選地,所述對讀取的重做日志文件中的數據包含的多個事務數據進行分割,分割成多個單一事務的步驟包括:
使用循環數組存儲讀取的所述重做日志文件,并在所述循環數組內對讀取的所述重做日志文件中的數據包含的多個事務數據進行分割,分割成多個單一事務。
優選地,在所述循環數組內對讀取的所述重做日志文件中的數據包含的多個事務數據進行分割,分割成多個單一事務的步驟包括:
判斷所述循環數組的當前指針位置;
若所述循環數組的當前指針位于讀取的所述重做日志文件的文件尾,則停止對讀取的所述重做日志文件的分割,退出所述循環數組;
若所述循環數組的當前指針不位于讀取的所述重做日志文件的文件尾,則讀取設定數據長度的重做日志文件的內容,從讀取的內容中獲取當前事務的數據包大小信息,根據所述數據包大小信息分割出當前事務,并返回所述判斷所述循環數組的當前指針位置的步驟繼續執行。
優選地,將所述分割成的多個單一事務打成回滾數據包的步驟包括:
將分割成的各個單一事務對應的報文的報文類型、報文大小和報文內容進行組合,生成對應于各個單一事務的回滾數據包。
優選地,所述內存數據庫通過以下方式進行多個單一事務的回滾:
內存數據庫對接收到的多個單一事務的回滾數據包進行解析,獲取各個回滾數據包中的報文類型、報文大小和報文內容;
內存數據庫根據所述報文類型查找與所述報文類型相同的單一事務;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大唐軟件技術股份有限公司,未經大唐軟件技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410163685.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種USB設備使用記錄恢復檢查方法
- 下一篇:一種網站數據加密系統和方法





