[發明專利]一種基于版本矢量的數據備份方法及客戶端有效
| 申請號: | 201310033069.X | 申請日: | 2013-01-28 |
| 公開(公告)號: | CN103095843B | 公開(公告)日: | 2018-01-30 |
| 發明(設計)人: | 劉海峰 | 申請(專利權)人: | 劉海峰 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F11/14 |
| 代理公司: | 北京慶峰財智知識產權代理事務所(普通合伙)11417 | 代理人: | 劉元霞 |
| 地址: | 510630 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 版本 矢量 數據 備份 方法 客戶端 | ||
技術領域
本發明涉及云計算和云存儲系統中數據同步、數據備份的方法,屬于計算機信息存儲技術領域,廣泛適用于在線存儲、云存儲服務、數據備份、數據歸檔、數據復制、異地容災、存儲管理等系統。
背景技術
在當今信息化時代,隨著電子商務應用的加速,數據已經成為人們最重要的財富。人們在日常生活和工作中使用計算機產生的各種數據,卻時刻面臨著病毒感染、硬件故障、軟件錯誤、設備丟失等難以預測的意外,以及黑客攻擊、誤操作等人為因素的威脅。數據安全已經成為信息時代的一大隱患,而數據備份自然也就成為一種重要預防手段。
在數據備份領域,數據總是在變化過程中產生無數的版本,備份系統必須真實記錄數據的變更歷史。如果對文件系統中每個文件的每次修改都生成一個“快照”,這不僅占用了大量的存儲空間,而且隨著數據量的增加,備份時間越來越長,備份效率也明顯降低。對異地備份、在線備份或云備份而言,由于受到帶寬、存儲空間和通信鏈路時延等因素局限性的制約,此種數據備份方式顯然行不通。
云備份或者在線備份是一種新型的云存儲服務,就是將本地數據復制到遠程數據中心,此種類型的數據備份方式通常按照所使用的存儲空間和數據流量計費。與傳統的本地備份相比,云備份是以用戶為中心,更加強調用戶體驗。備份過程中不能影響用戶的操作,應盡量縮短備份時間,優化網絡傳輸效率。為了確保備份數據的安全可靠,防止意外和人為誤操作,云備份系統必須為所有需要備份的數據存儲盡可能多的版本。即,此種數據備份方式需要保留備份數據的變更歷史,這將造成云存儲空間的巨大浪費,無形中增加了云存儲的運營成本。
現有備份系統大都采用增量備份的方式,即僅將上次備份后發生了變更的數據復制到備份數據中心。增量備份要求本地和遠程節點保留各自存儲數據的元數據。有些備份系統只是簡單地使用文件的修改時間作為元數據,通過比較上次備份的時間和文件的修改時間,只備份那些新修改的文件。顯然這樣的備份系統不僅容易產生人為的差錯,而且無法甄別文件內的重復數據。為了彌補上述簡單備份系統的不足,有些備份系統采用較為復雜的算法分析本地和遠程節點文件內容并甄別文件內的重復數據,即重復數據刪除技術簡稱去重或刪冗技術。按照重復數據粒度,重復數據刪除技術可分為文件級重復數據刪除和數據塊級重復數據刪除。在數據備份領域,通常采用后者。
現有采用重復數據刪除技術的備份系統通常在每次數據備份過程中相互交換待傳輸數據的數據塊的哈希值,如果存儲端已有哈希值對應的數據塊,則無需傳輸該數據塊,以盡可能地減少待傳輸的數據塊的數量。然而此種類型備份系統中的備份過程之間相互獨立,即每次備份過程都不會從之前的備份過程中獲得相關信息,因此每次備份過程都需要對相同的文件進行重復切分和哈希計算,嚴重耗費本地資源。
發明內容
鑒于現有技術中存在的問題,本發明的目的是提出一種基于版本矢量的數據備份方法和客戶端。
本發明提供了一種基于版本矢量的數據備份方法,其特征在于:
客戶端在將文件備份至服務器時,為每個文件生成一個版本標簽Vi,服務器端保存客戶端每次備份文件對應的版本標簽;
客戶端根據服務器端返回的相同文件名的起始版本標簽Vs和最新版本標簽Ve,確定本地數據是否已經在服務器端保存,對已經在服務器端保存的數據進行數據刪除,僅向服務器發送重復數據的指針。
優選的,其中所述步驟具體包括:
客戶端啟動數據備份進程,監控同步目錄中文件的變化;
客戶端向服務器端發送服務器端狀態數據請求,服務器端返回一個起始版本標簽Vs和最新版本標簽Ve;
客戶端遍歷同步目錄中的所有文件和子目錄,為每個文件生成文件版本標簽Vi,并在快照表中加入對應的記錄,包括版本標簽Vi和文件名;
客戶端計算每個文件的哈希值,并向哈希表中新增記錄,包括哈希值和對應文件的版本標簽Vi;
如果哈希表中存在同樣的哈希值,將所有具有同樣哈希值的文件版本標簽Vi與Vs及Ve比較,如果該文件版本標簽介于Vs和Ve之間,則僅將該文件所對應的指針發送到服務器端。
優選的,上述方法還包括步驟:
若判斷版本標簽為Vi的文件在哈希表中不存在相同的哈希值或者版本標簽Vi不介于Vs和Ve之間,則客戶端將文件劃分為數據塊,并計算出每個數據塊的哈希值,向數據塊表中新增記錄,包括數據塊哈希值和對應的文件版本標簽;
如果本地數據塊表中已有同樣的數據塊哈希值,且該數據塊對應的版本標簽Vi介于Vs和Ve之間,則將該數據塊標記為重復數據塊,僅將該數據塊對應的指針發送到服務器端。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于劉海峰,未經劉海峰許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310033069.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種早餐營養粥及其制備方法
- 下一篇:一種復合材料保溫板及其制備方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





