[發明專利]數據備份的方法及內存數據庫存儲引擎有效
| 申請號: | 201310208187.X | 申請日: | 2013-05-29 |
| 公開(公告)號: | CN104216792B | 公開(公告)日: | 2017-05-31 |
| 發明(設計)人: | 梁遠勝 | 申請(專利權)人: | 華為軟件技術有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14;G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司11274 | 代理人: | 申健 |
| 地址: | 210012 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 備份 方法 內存 數據庫 存儲 引擎 | ||
技術領域
本發明涉及數據處理領域,尤其涉及一種數據備份的方法及內存數據庫存儲引擎。
背景技術
在目前的內存數據庫系統中,所有數據都存放在內存中,以便提供高性能數據庫服務。為了進一步保證內存數據庫的可用性,還提供內存數據庫的備份和恢復功能:用戶首先對內存中的數據進行備份,將數據備份到磁盤文件中,當內存數據庫出現故障后,再將備份的數據用于數據恢復。
在已有實現方法中,對內存數據庫進行備份時,一般按頁的方式進行備份,也就是說,將內存數據以頁為單位進行分割,形成內存頁,然后依次按頁將內存數據備份到磁盤文件。并且,特別在備份過程中待備份內存頁中的數據被修改的時候,一般都優先進行修改然后再進行備份,而且,為了保證數據的一致性,還需要備份用于記錄這些修改的重做日志文件到磁盤文件中。
在實現本發明的過程中,發明人發現現有技術中至少存在如下問題:一般而言,當對某個對象進行備份時,用戶希望得到的備份數據是備份發生時的數據。但是從上述現有技術的描述中可以得知,通過現有技術備份用戶最終備份得到的內存數據庫的數據是備份結束時的數據,而不是備份開始時的數據。尤其隨著內存數據庫容量的增大,備份時間隨之變長,備份結束時和備份開始時的數據出現差異的情況會越來越明顯,從而很難保證數據備份的時效性。
發明內容
本發明的實施例提供一種數據備份的方法及內存數據庫存儲引擎,能夠保證數據備份的時效性。
為達到上述目的,本發明的實施例采用如下技術方案:
第一方面,本發明實施例提供了一種數據備份的方法,包括:
獲取當前待備份頁的標識;
根據所述當前待備份頁的標識,從快照頁存儲空間中查找與所述當前待備份頁對應的快照頁,從與所述當前待備份頁對應的快照頁中獲取所述當前待備份頁對應的原始數據,并對所述當前待備份頁對應的原始數據進行備份,其中,所述當前待備份頁對應的快照頁存儲了所述當前待備份頁在備份進程啟動時存儲的原始數據;
釋放與所述當前待備份頁對應的快照頁所占用的存儲空間。
結合第一方面,在第一方面的第一種可能的實現方式中,在釋放所述當前待備份頁對應的快照頁所占用的存儲空間之后,還包括:
獲取其余待備份頁的標識,其中所述其余待備份頁為除了當前待備份頁之外的待備份頁;
根據所述其余待備份頁的標識,從快照頁存儲空間中查找與所述其余待備份頁各自對應的快照頁;
當查找到所述其余待備份頁中的至少一個存在對應的快照頁,則優先從每個已查找到的快照頁中獲取待備份頁的原始數據進行備份,并釋放已備份的快照頁所占用的存儲空間;
在對每個已查找到的快照頁內存儲的原始數據完成備份之后,直接從不存在對應快照頁的其余待備份頁中獲取數據進行備份。
結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述從與所述當前待備份頁對應的快照頁中獲取所述當前待備份頁對應的原始數據,并對所述當前待備份頁對應的原始數據進行備份包括:
從所述快照頁存儲空間中檢測在所述其余備份頁中,是否存在所述其余待備份頁相應的快照頁所占用的存儲空間與所述當前待備份頁相應的快照頁所占用的存儲空間是連續的;
若存在所述其余待備份頁相應的快照頁所占用的存儲空間與所述當前待備份頁相應的快照頁所占用的存儲空間是連續的,則優先從與所述當前待備份頁相應的快照頁所占用的存儲空間連續的快照頁中獲取待備份頁的原始數據進行備份,然后從與所述當前待備份頁相應的快照頁所占用的存儲空間不連續的快照頁中獲取待備份頁的原始數據進行備份。
結合第一方面或第一方面的前兩種可能的實現方式之一,在第三種可能的實現方式中,在獲取當前待備份頁的標識之前,還包括:
接收數據修改請求,所述數據修改請求攜帶有待修改數據所在頁的標識;
根據所述待修改數據所在頁的標識,確定當前待修改數據在待備份頁中,根據所述待修改數據所在待備份頁存儲的原始數據,在快照頁存儲空間為所述待修改數據所在待備份頁分配一個快照頁,并使用所述待修改數據所在待備份頁的標識進行標記;
將所述待備份頁存儲的原始數據復制到分配好的快照頁進行存儲;
對所述待備份頁內的待修改數據進行修改。
結合第一方面的第三種可能的實現方式,在第四種可能的實現方式中,當快照頁存儲空間的剩余空間小于為所述待修改數據所在待備份頁分配一個快照頁所占用的存儲空間時,對所述待備份頁存儲的原始數據進行備份;
對所述待備份頁內的待修改數據進行修改。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為軟件技術有限公司,未經華為軟件技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310208187.X/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





