[發明專利]一種遠程復制記錄數據變化的方法有效
| 申請號: | 201510072832.9 | 申請日: | 2015-02-11 |
| 公開(公告)號: | CN104615505B | 公開(公告)日: | 2018-03-23 |
| 發明(設計)人: | 張在理;孟憲偉 | 申請(專利權)人: | 浪潮(北京)電子信息產業有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14;G06F3/06 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 王康,李丹 |
| 地址: | 100085 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 遠程 復制 記錄 數據 變化 方法 | ||
技術領域
本發明涉及數據備份技術,具體涉及一種遠程復制記錄數據變化的方法。
背景技術
在遠程復制中,數據在寫入源卷同時需要傳輸數據到備份主機并寫入備份卷中,如果此時主節點發生異常,存在一些數據已經寫入源卷,但還沒有傳輸到備份端,這樣會造成源卷與備份卷數據將是不一致的,反之,如果備份卷發生異常,寫到源卷的數據無法在備份卷備份,同樣會造成數據不一致。當前的主流實現使用位圖記錄變化塊,如當備份端發生異常時,源卷的數據變化使用位圖元數據記錄,當備份卷恢復后,源卷可以根據位圖元數據查找變化的數據塊,然后將源卷的數據同步到備份卷中去,每個位圖位代表的數據塊大小為一個chunk,當chunk長度太大時,需要同步的數據量較大,原因是如果只改變chunk的一個bit位,也同樣需要傳輸整個chunk的大小,在數據寫時沒有太大問題,但當隨機寫時,會造成傳輸大量無效數據。chunk長度太小時會導致一個位圖位表示的數據長度短,當出現海量數據量時,位圖元數據所占用的存儲開銷也是巨大的,同時位圖元數據的讀寫對同步性能會造成大的影響。
發明內容
為了解決上述現有技術中存在的技術問題,提出一種遠程復制記錄數據變化的方法,包括:
S1:判斷內存中的數據塊內容發生變化;
S2:使用位圖記錄內容發生變化的數據塊,構成新位圖記錄;
S3:確定當前最久未被使用的活動日志,將該活動日志中已經保存的位圖記錄所對應的數據塊內容寫入磁盤,將該活動日志的狀態記錄為當前正使用;
S4:將所述新位圖記錄保存到所述當前正使用狀態的活動日志。
進一步:
在所述步驟S1前還包括在內存中申請對應于所述活動日志的活動塊。
進一步:
所述活動塊按照使用狀態的不同被依次存放在鏈表中,所述當前正使用狀態的活動日志所對應的數據塊位于所述鏈表的頭部,所述鏈表的尾部記錄當前最久未被使用的活動日志所對應的數據塊。
本發明的有益效果是:當內存中的數據塊的內容發生變化時,不是立刻寫入磁盤中進行同步備份,而是使用位圖記錄發生變化的數據塊,將位圖記錄到活動日志中。然后,將當前最久未被使用的活動日志中已經記錄的位圖所對應的數據塊的內容寫入磁盤,這樣就實現了更新數據塊的延遲寫入,避免了一有數據塊內容發生更新就執行寫磁盤,減少了寫磁盤的頻率。
附圖說明
圖1為本發明提出的一種遠程復制記錄數據變化的方法的流程;
圖2為本發明提出的鏈表結構。
具體實施方式
下面結合附圖對本發明的技術方案進行詳細說明。
本發明提出的技術方案使用大粒度的活動日志元數據和小粒度的位圖元數據共同記錄數據塊的變化,活動日志記錄代表4MB大小的數據塊,位圖代表4K大小的數據塊,每個活動日志可以表示1K個位圖位,活動日志為確定的數目,可以配置。當發生數據寫導致數據塊發生變化時需要更改內存中數據塊對應的活動日志和位圖記錄,活動日志被標識為活動狀態,當有新數據寫導致需要使用活動日志記錄數據塊變化,而所有的活動日志狀態都為活動狀態時,選擇最近沒有被使用的活動日志并將活動日志之前代表的位圖刷寫到元數據卷中。本發明提出的技術方案延遲了位圖元數據刷寫到元數據卷的頻率,提高數據寫性能。
參見附圖1,其示出了本發明提出的一種遠程復制記錄數據變化的方法的流程圖。詳細描述如下:
S1:初始化活動日志;
活動日志存儲在源數據盤中,根據源數據盤的超級塊中記錄的數據,可以找到活動日志在源數據盤的偏移地址。活動日志在磁盤中是以頁(4KB)為單位存儲的,即內存將活動日志的信息組織成4KB大小的頁,向磁盤進行寫操作,其中主要存放的是內存中活動塊的塊號信息。
活動日志在內存中體現為活動塊,活動日志的初始化包括:
確定活動塊數量:
1、越少的活動塊總數意味著主端恢復后較少的數據同步,同時也意味活動日志對于內存的較少占用;但同時因為活動塊總數小,活動塊和非活動塊的換入換出操作就越多,這造成了對于磁盤上的活動日志頻繁的寫操作,一定程度上影響了總體的寫性能。
2、越多的活動塊減少了塊換入換出的操作,但主端恢復意味著需要更多的同步時間。
因此活動塊總數和寫速率成正比,和網絡傳輸速率成反比。因為活動塊信息以哈希表的形式存在于內存中,因此活動塊總數建議設置為素數。
根據實際情況,可以根據以下公式計算活動塊數量:
N=Rt/m(1)
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮(北京)電子信息產業有限公司,未經浪潮(北京)電子信息產業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510072832.9/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





