国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地和遠(yuǎn)程的備份方法

      文檔序號:6561108閱讀:259來源:國知局
      專利名稱:計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地和遠(yuǎn)程的備份方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及的是一種用于網(wǎng)絡(luò)信息技術(shù)領(lǐng)域的方法,具體地說是一種計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地和遠(yuǎn)程的備份方法。
      背景技術(shù)
      在數(shù)據(jù)備份/恢復(fù)系統(tǒng)中,備份方法確定了系統(tǒng)在什么時候?qū)?shù)據(jù)進(jìn)行備份以及需要備份的內(nèi)容有哪些,它不僅決定了系統(tǒng)對數(shù)據(jù)的備份效率也影響著系統(tǒng)對備份文件進(jìn)行恢復(fù)的效率。
      經(jīng)對現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),耿煜在《華中電力》2005 Vol.18 No.5上發(fā)表的文章“計算機(jī)系統(tǒng)數(shù)據(jù)備份機(jī)制與策略”,其中總結(jié)目前已知的備份方法主要有以下幾種(1)完全備份(Full Backup)備份文件包含所有的檔案資料,在每個備份時間點都對需要備份的數(shù)據(jù)文件進(jìn)行完全備份,每次都生成一份所有數(shù)據(jù)的拷貝。其優(yōu)點恢復(fù)方便快捷只需備份時間點的那一份數(shù)據(jù)即可恢復(fù)所有數(shù)據(jù)。其缺點備份時消耗的時間過長、占用大量的存儲空間并且可能存儲了很多相同的數(shù)據(jù)。
      (2)增量備份(Incremental Backup)在完全備份的基礎(chǔ)上每個備份時間點都只備份上一次備份以來更新的數(shù)據(jù)(增量數(shù)據(jù)),當(dāng)需要恢復(fù)至某一備份時間點A時系統(tǒng)要從該時間點之前最近一次的完全備份開始恢復(fù),然后依次恢復(fù)每一次增量數(shù)據(jù)直至?xí)r間點A的增量數(shù)據(jù)被恢復(fù)才算完成所有數(shù)據(jù)的恢復(fù)。其優(yōu)點備份時間短,數(shù)據(jù)的提取量最小,節(jié)省備份文件的存儲空間;缺點恢復(fù)步驟較為繁瑣,且每份備份文件都依賴之前的所有備份,其中一份文件損壞都會造成之后備份的所有文件失效。
      (3)差分備份(Differential Backup)在完全備份的基礎(chǔ)上每個備份時間點都只備份每個數(shù)據(jù)文件較上次完全備份所更新的部分(差分?jǐn)?shù)據(jù)),當(dāng)需要恢復(fù)至某一備份時間點A時系統(tǒng)先恢復(fù)該時間點之前最近一次的完全備份,然后再恢復(fù)時間點A的差分?jǐn)?shù)據(jù)即可完成所有數(shù)據(jù)的恢復(fù)。其優(yōu)點備份時間短,節(jié)省備份文件的存儲空間,恢復(fù)步驟比較簡單;缺點每次備份時的差分?jǐn)?shù)據(jù)可能包含大量相同數(shù)據(jù),提取差分?jǐn)?shù)據(jù)時可能進(jìn)行重復(fù)數(shù)據(jù)的提取工作。
      在實際應(yīng)用的以上三種方法還存在以下缺陷(1)已知的備份方法都依賴于完全備份,而對于需要備份數(shù)據(jù)量較大的用戶,經(jīng)常的進(jìn)行完全備份需要花費大量時間而且往往需要暫停系統(tǒng)工作來保證備份前后的數(shù)據(jù)一致性,因而導(dǎo)致用戶無法正常使用系統(tǒng)而遭受大量損失。
      (2)當(dāng)用戶需要進(jìn)行數(shù)據(jù)的遠(yuǎn)程備份時,按照已知的備份方法備份系統(tǒng)要對備份數(shù)據(jù)的整個文件進(jìn)行傳輸,當(dāng)文件較大時備份系統(tǒng)對網(wǎng)絡(luò)資源的消耗過大造成整個系統(tǒng)的網(wǎng)絡(luò)堵塞使得系統(tǒng)備份效率極低,而且大數(shù)據(jù)量的傳輸增大了數(shù)據(jù)丟失的概率。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提出一種計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地和遠(yuǎn)程的備份方法,使其基于增量差分的在已有的增量備份和差分備份的基礎(chǔ)上,克服了以往備份系統(tǒng)完全備份速度慢、遠(yuǎn)程備份網(wǎng)絡(luò)傳輸量大的缺點。
      本發(fā)明是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提出的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地的備份方法,具體步驟如下(1)按照由用戶確定的所有需要備份的文件的列表L,該列表中的數(shù)據(jù)項均指向當(dāng)前正在使用的數(shù)據(jù)文件(即需要備份的文件);(2)在時間點T0對L、中所列舉的所有文件進(jìn)行第一次完全備份,得到備份文件集合B={F0、F1……Fn},備份方法與已知的完全備份方法相同,即文件的完全拷貝;(3)在時間點T1將時間段T0-T1中被修改過的所有文件(關(guān)于文件是否被修改過的檢測可以采用現(xiàn)已知的通用辦法)增量提取,得到需要備份的文件與時間點T0的完全備份B中對應(yīng)文件的差分文件,生成差分文件集合D1={d10、d11……d1m}(m小于等于需要備份的文件總數(shù)),作為時間點T1的差分備份;(4)生成一張備份文件列表L1,該表中記錄了L中文件的修改情況,其數(shù)據(jù)項與B中的文件一一對應(yīng);(5)在剩下的所有時間點Ti(1<i≤n)參照步驟(3)生成Di,作為時間點Ti的差分備份;
      (6)根據(jù)步驟(5)修改Li-1,生成新的備份文件列表Li(Li-1不變);(7)在下一備份周期的第一個時間點T0進(jìn)行完全備份生成,生成該時間點的完全備份;(8)時間點T1-Tn的備份步驟與步驟(2)-(7)相同。
      本發(fā)明提出的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件遠(yuǎn)程的備份方法,具體步驟如下a.本地端在時間點T0將“本地備份”執(zhí)行至步驟(2)時生成的完全備份文件集合B={F0、F1……Fn}通過傳送到遠(yuǎn)端;b.本地端在時間點T1進(jìn)行增量提取,得到時間點T1需要備份的所有數(shù)據(jù)文件集合F1i’與B中相應(yīng)的文件Fi的增量信息,然后通過網(wǎng)絡(luò)將該增量信息發(fā)送至遠(yuǎn)端;c.遠(yuǎn)端收到所有文件的增量信息后將其保存為差分文件集合D1={d10、d11……d1m}(m小于等于需要備份的文件總數(shù)),作為時間點T1的遠(yuǎn)端差分備份。
      d.遠(yuǎn)端生成一張遠(yuǎn)端備份文件列表RL1,該列表與L1基本相同,只是其中數(shù)據(jù)項所指示的文件獲取方式對應(yīng)于遠(yuǎn)端文件;e.本地端在剩下的任意時間點Ti(1<i≤n)進(jìn)行增量提取,得到時間點Ti需要備份的所有數(shù)據(jù)文件集合Fij’與時間點Ti-1時的相應(yīng)文件的增量信息,然后通過網(wǎng)絡(luò)將該增量信息發(fā)送至遠(yuǎn)端;f.遠(yuǎn)端收到所有文件的增量信息后進(jìn)行文件生成,將RLi-1中標(biāo)識的相應(yīng)的文件合并生成臨時文件集合Temp={ti0、ti1……tim}(m≤n),Temp中的任一文件均與當(dāng)前用戶正在使用的需要備份的數(shù)據(jù)文件一致;此步驟f中,所述的文件生成,步驟為a)讀取差分備份或增量信息文件的第1個數(shù)據(jù)項,按照其屬性值獲取該數(shù)據(jù)塊對應(yīng)數(shù)據(jù)塊的內(nèi)容,將其寫入新文件末端;b)依次讀取該文件的其它數(shù)據(jù)項,參照步驟a)處理所有數(shù)據(jù)項,最終完成新文件的生成。
      g.增量提取得到Temp中的所有文件與B中相應(yīng)文件的差分文件,生成差分文件集合Di={di0、di1……d1m},作為時間點Ti的遠(yuǎn)端差分備份;h.刪除Temp;i.根據(jù)步驟g修改RLi-1中對應(yīng)文件的記錄項,生成新的備份文件列表RLi(RLi-1不變);
      j.在下一備份周期的第一個時間點T0進(jìn)行完全備份生成,生成該時間點的完全備份;k.時間點T1-Tn的備份步驟與步驟b-g相同。
      步驟(7)和步驟j中,用于完成在第一個備份周期之后的備份周期時間點T0利用上一周期的完全備份文件集合B和上一周期時間點Tn的差分備份文件集合Dn以及備份文件列表Ln(在遠(yuǎn)端為RLn)生成新的完全備份文件集合B’。
      生成新的完全備份,步驟如下a)復(fù)制Ln,生成新的備份文件列表Ln’;b)依次讀取Ln’的第i個數(shù)據(jù)項,如果屬性“該文件是否被修改”為未被修改,則按照屬性“獲取方式”從Pathi讀取該文件復(fù)制到B’中,并記下新的文件訪問路徑Pathi’;如果屬性“該文件是否被修改”為被修改過,則按照屬性“文件獲取方式”的內(nèi)容“合并Fi和Dji”進(jìn)行文件生成,將新文件保存到B’中,并記下新的文件訪問路徑Pathi’;此步驟b)中,所述的文件生成與步驟f中所述的文件生成步驟相同;c)在每次步驟b)結(jié)束讀取下一數(shù)據(jù)項前,根據(jù)步驟b)記下的存放路徑修改Ln’第i個數(shù)據(jù)項的屬性“獲取方式”為“從Pathi’讀取”。
      步驟(3)和步驟g中,所述的增量提取,步驟為a)將文件Fik分成若干個長度為L的數(shù)據(jù)塊Bkj,j=0、1……,末尾長度不足L的數(shù)據(jù)塊用0x00補(bǔ)足;b)為每一數(shù)據(jù)塊按其在Fk中的順序表上索引號N,即第一個數(shù)據(jù)塊Bk1的索引號為1,第二個數(shù)據(jù)塊B2的索引號為2,以此類推;c)將文件Fik’按長度為L的數(shù)據(jù)塊逐個與Fk中的數(shù)據(jù)塊比較,按順序得出不同的數(shù)據(jù)塊(長度不一定為L)和兩個文件中相同的數(shù)據(jù)塊(長度必為L)分別在Fk中的索引號N,這些信息稱為增量信息。其保存的數(shù)據(jù)塊所包含的屬性與步驟(3)里所定義的差分文件中的數(shù)據(jù)塊格式相同。
      本發(fā)明主要解決了以下的技術(shù)問題(1)避免用戶通過完全拷貝文件的方法來進(jìn)行多次完全備份,而采取利用已有備份數(shù)據(jù)合成新備份的辦法來滿足用戶完全備份的需求,既保證了所有數(shù)據(jù)的備份又提供了一個快捷的“完全備份”方法。
      (2)避免了在網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)的遠(yuǎn)程備份時傳輸耗時過大的問題,保證備份過程中的最小網(wǎng)絡(luò)傳輸量,只傳輸生成新的備份文件所需的增量數(shù)據(jù)塊(即與老的備份文件不同的數(shù)據(jù))至遠(yuǎn)端,然后在遠(yuǎn)端生成新的備份文件。
      (3)在每次生成遠(yuǎn)端差分備份時減少了每個備份時間點可能存在的重復(fù)數(shù)據(jù)的提取,采用增量備份方法的增量提取辦法來生成差分備份所需要的數(shù)據(jù),然后再利用上一次備份的差分?jǐn)?shù)據(jù)合成新的差分備份。
      通過解決以上三個問題,本發(fā)明所提出的備份方法較現(xiàn)在已知的備份方法具有以下優(yōu)點完全備份速度快,用戶只需做一次數(shù)據(jù)的完全拷貝即可滿足以后完全備份要求,并且在完全備份時不需要用戶停止系統(tǒng)工作;遠(yuǎn)程備份的數(shù)據(jù)傳輸效率高,保證每次備份時所傳輸?shù)臄?shù)據(jù)量最小,對網(wǎng)絡(luò)帶寬的要求遠(yuǎn)遠(yuǎn)低于以往基于文件的遠(yuǎn)程備份方法。


      圖1為本發(fā)明時間點備份數(shù)據(jù)2為本發(fā)明的流程示意圖具體實施方式
      本發(fā)明所提出的備份方法首先需要確定一個備份的時間周期(由用戶來決定該周期的長度,一般為7天),在此周期開始的時間點(T0)生成一次完全備份B,之后的每個備份時間點(T1-Tn,Tn為周期的最后一個時間點)生成差分備份Di(如圖1所示),當(dāng)本地端或遠(yuǎn)端需要恢復(fù)到時間點為Ti的數(shù)據(jù)時先恢復(fù)T0時所做的完全備份,然后再恢復(fù)Ti時所做的差分備份,具體實施如下本地備份步驟(1)按照由用戶確定的所有需要備份的文件的列表L,該列表中的數(shù)據(jù)項均指向當(dāng)前正在使用的數(shù)據(jù)文件(既需要備份的文件);(2)在時間點T0對L、中所列舉的所有文件進(jìn)行第一次完全備份,得到備份文件集合B={F0、F1……Fn},備份方法與已知的完全備份方法相同,即文件的完全拷貝;(3)在時間點T1將時間段T0-T1中被修改過的所有文件(關(guān)于文件是否被修改過的檢測可以采用現(xiàn)已知的通用辦法)參照下文中的“增量提取步驟”得到需要備份的文件與時間點T0的完全備份B中對應(yīng)文件的差分文件,生成差分文件集合D1={d10、d11……d1m}(m小于等于需要備份的文件總數(shù)),作為時間點T1的差分備份,其中差分文件的數(shù)據(jù)格式如表格3的示例所示。
      (4)生成一張備份文件列表L1,該表中記錄了L中文件的修改情況,其數(shù)據(jù)項與B中的文件一一對應(yīng),其格式如表格1的示例所示。
      表格1

      其中“獲取方式”中的合并文件需按照下文中的“文件生成步驟”來進(jìn)行。
      (5)在剩下的所有時間點Ti(1<i≤n)參照步驟(3)生成Di,作為時間點Ti的差分備份;(6)根據(jù)步驟(5)修改Li-1,生成新的備份文件列表Li(Li-1不變),例如在時間段Ti-1-Ti用戶修改了文件File2、File3,步驟(5)中將生成di2和di3,則生成的Li如表格2所示表格2

      (7)在下一備份周期的第一個時間點T0按照下文中的“‘完全備份’生成步驟”生成該時間點的完全備份;(8)時間點T1-Tn的備份步驟與步驟(2)-(7)相同。
      遠(yuǎn)程備份步驟a.本地端在時間點T0將“本地備份步驟”執(zhí)行至步驟(2)時生成的完全備份文件集合B={F0、F1……Fn}通過網(wǎng)絡(luò)或其它手段傳送到遠(yuǎn)端;b.本地端在時間點T1參照下文中的“增量提取步驟”,得到時間點T1需要備份的所有數(shù)據(jù)文件集合F1i’與B中相應(yīng)的文件Fi的增量信息,然后通過網(wǎng)絡(luò)將該增量信息發(fā)送至遠(yuǎn)端;c.遠(yuǎn)端收到所有文件的增量信息后將其保存為差分文件集合D1={d10、d11……d1m}(m小于等于需要備份的文件總數(shù)),作為時間點T1的遠(yuǎn)端差分備份。
      d.遠(yuǎn)端生成一張遠(yuǎn)端備份文件列表RL1,該列表與L1基本相同,只是其中數(shù)據(jù)項所指示的文件獲取方式對應(yīng)于遠(yuǎn)端文件;e.本地端在剩下的任意時間點Ti(1<i≤n)均參照下文中的“增量提取步驟”,得到時間點Ti需要備份的所有數(shù)據(jù)文件集合Fij’與時間點Ti-1時的相應(yīng)文件(該文件可通過查詢表Li-1,按照相應(yīng)文件的“獲取方式”來得到)的增量信息,然后通過網(wǎng)絡(luò)將該增量信息發(fā)送至遠(yuǎn)端;f.遠(yuǎn)端收到所有文件的增量信息后按照下文中的“文件生成步驟”將RLi-1中標(biāo)識的相應(yīng)的文件合并生成臨時文件集合Temp={ti0、ti1……tim}(m≤n),Temp中的任一文件均與當(dāng)前用戶正在使用的需要備份的數(shù)據(jù)文件一致;g.通過增量提取得到Temp中的所有文件與B中相應(yīng)文件的差分文件,生成差分文件集合Di={di0、di1……d1m},作為時間點Ti的遠(yuǎn)端差分備份;h.刪除Temp;i.根據(jù)步驟g修改RLi-1中對應(yīng)文件的“獲取方式”,生成新的備份文件列表RLi(RLi-1不變);j.在下一備份周期的第一個時間點T0按照下文中的“‘完全備份’生成步驟”生成該時間點的完全備份;k.時間點T1-Tn的備份步驟與步驟b-g相同。
      完全備份生成步驟該步驟(本地與遠(yuǎn)端的步驟相同)用于完成在第一個備份周期之后的備份周期時間點T0利用上一周期的完全備份文件集合B和上一周期時間點Tn的差分備份文件集合Dn以及備份文件列表Ln(在遠(yuǎn)端為RLn)生成新的完全備份文件集合B’,步驟如下a)復(fù)制Ln,生成新的備份文件列表Ln’;b)依次讀取Ln’的第i個數(shù)據(jù)項,如果屬性“是否被修改”為否,則按照屬性“獲取方式”從Pathi讀取該文件復(fù)制到B’中,并記下新的文件訪問路徑Pathi’;如果屬性“是否被修改”為是,則按照屬性“獲取方式”的內(nèi)容“合并Fi和Dji”,將生成的新文件保存到B’中,并記下新的文件訪問路徑Pathi’;c)在每次步驟b)結(jié)束讀取下一數(shù)據(jù)項前,修改Ln’第i個數(shù)據(jù)項的屬性“獲取方式”為“從Pathi’讀取”。
      增量提取步驟在時間點Ti采用現(xiàn)已知通用的文件比較的辦法提取需要備份的文件Fik’相對于其原始文件Fk(該文件可能為時間點T0時生成的完全備份文件也可能為通過Li-1的文件獲取方式生成的臨時文件)增量信息的步驟如下a)將文件Fk分成若干個長度為L的數(shù)據(jù)塊Bkj(j=0、1……),末尾長度不足L的數(shù)據(jù)塊用0x00補(bǔ)足;b)為每一數(shù)據(jù)塊按其在Fk中的順序表上索引號N,即第一個數(shù)據(jù)塊Bk1的索引號為1,第二個數(shù)據(jù)塊Bk2的索引號為2,等等;c)將文件Fk’按長度為L的數(shù)據(jù)塊逐個與Fk中的數(shù)據(jù)塊比較,按順序得出不同的數(shù)據(jù)塊(長度不一定為L)和兩個文件中相同的數(shù)據(jù)塊(長度必為L)分別在Fk中的索引號N,這些信息稱為增量信息,例如假設(shè)Fk由Bk1Bk2Bk3Bk4Bk5組成,F(xiàn)ik’由Bk1Bk2’Bk5Bk3Bk4’Bk5(其中Bkm’即為與Fk不同數(shù)據(jù)塊,長度不一定為L)組成,將Fik’按塊逐個與Fk中的數(shù)據(jù)塊比較后可得到增量信息I如表格1所示,該增量信息的共有6個數(shù)據(jù)項,記錄的Fik’的文件信息,但其大小幾乎僅為數(shù)據(jù)塊Bk2’和Bk4’的大小之和。
      表格3

      文件生成步驟以上文中“增量提取步驟”中步驟c)的增量信息I和文件Fk為例生成Fik’的備份文件的步驟如下a)讀取I的第1個數(shù)據(jù)項檢查屬性“是否匹配”,值為“是”,參照屬性“N”的內(nèi)容讀取Fk中索引號為1的數(shù)據(jù)塊Bk1,將其寫入新文件末端(此時新文件內(nèi)容為Bk1);b)讀取I的第2個數(shù)據(jù)項檢查屬性“是否匹配”,值為“否”,讀取I的第2個數(shù)據(jù)項的屬性“數(shù)據(jù)內(nèi)容”Bk2’,將其寫入新文件末端(此時新文件內(nèi)容為Bk1Bk2’);c)讀取I的第3個數(shù)據(jù)項檢查屬性“是否匹配”,值為“否”,參照屬性“N”的內(nèi)容讀取Fk中索引號為5的數(shù)據(jù)塊Bk5,將其寫入新文件末端(此時新文件內(nèi)容為Bk1Bk2’Bk5);d)依次讀取I的4-6個數(shù)據(jù)項并參照步驟a)、b)、c)做出相應(yīng)處理生成最終新文件的內(nèi)容為Bk1Bk2’Bk5Bk3Bk4’Bk5,該文件內(nèi)容與Fik’的一致,即為該文件的備份文件。
      以下示例是對以上操作步驟的說明。
      假定本地端為Local,遠(yuǎn)端為Remote,用戶需要定期的將文件a、b、c進(jìn)行本地和遠(yuǎn)程備份,備份時間點為T0、T1、T2、T0’,用戶在時間段T0-T1中修改文件a、b,在時間段T1-T2中修改過文件a、c。
      (1)在Local獲取需要備份的文件的列表L,指明需要備份的文件為a、b、c;(2)Local在T0時對文件a、b、c進(jìn)行第一次完全備份,將其分別復(fù)制到路徑Path A、Path B、Path C,保存為B={a’、b’、c’};(3)Local將B傳送到Remote,分別保存至RPath A、RPath B、RPath C;(4)Local在時間點T1通過“增量提取”,得到a相對于a’的增量信息和b相對于b’的增量信息,將其保存為D1={d1a、d1b};(5)Local過網(wǎng)絡(luò)將D1發(fā)送至遠(yuǎn)端;(6)Local生成備份文件列表L1,如表格4所示表格4

      (7)Remote收到D1后將其保存作為時間點T1的遠(yuǎn)端差分備份。
      (8)Remote生成遠(yuǎn)端備份文件列表RL1,如表格5所示表格5

      (9)Local在時間點T2通過“增量提取”,得到a相對于a’的增量信息和c相對于c’的增量信息,將其保存為D2={d2a、d2c};(10)Local過網(wǎng)絡(luò)將D2發(fā)送至遠(yuǎn)端;(11)Local修改L1,另存為L2,如表格6所示表格6

      (12)Remote收到D2后檢索RL1中文件a、c的相應(yīng)記錄,通過“合并a’和d1a”和“從RPath C讀取”生成臨時文件ta、tc,再通過“文件生成”,合并ta與d2a、tc與d2c,生成臨時文件集合Temp={t2a、t2c};(13)Remote通過“增量提取”得到t2a相對于a’和t2c相對于c’的增量信息,生成差分文件集合D2={d2a、d2c},作為時間點T2的遠(yuǎn)端差分備份;(14)Remote刪除Temp;(15)Remote修改RL2,另存為RL2,如表格6所示(16)Local在T0’根據(jù)L2,合并合并a’和d2a、合并b’和d1b、合并c’和d2c,生成新的完全備份B={a’、b’、c’}并生成新的備份列表;(17)Remote在T0’根據(jù)L2,合并合并a’和d2a、合并b’和d1b、合并c’和d2c,生成新的完全備份B={a’、b’、c’}并生成新的備份列表。
      該示例通過以上步驟在本地和遠(yuǎn)端生成了文件a、b、c在T0時的完全備份B={a’、b’、c’}和T1、T2時的差分備份D1={d1a、d1b}、D2={d2a、d2c},以及在新的備份周期開始是合成了新的完全備份。
      根據(jù)“本地備份步驟”和“遠(yuǎn)程備份步驟”即可實現(xiàn)本發(fā)明所提出的備份方法(如圖2所示),恢復(fù)時可參考“完全備份”生成步驟生成需要恢復(fù)的時間點Ti的完全備份,然后再進(jìn)行所有的數(shù)據(jù)恢復(fù)即可,該恢復(fù)方法不在本發(fā)明涉及的范圍之內(nèi),在此不再詳細(xì)說明。
      權(quán)利要求
      1.一種計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地的備份方法,其特征在于,具體步驟如下(1)按照由用戶確定的所有需要備份的文件的列表L,該列表中的數(shù)據(jù)項均指向當(dāng)前正在使用的數(shù)據(jù)文件;(2)在時間點T0對L、中所列舉的所有文件進(jìn)行第一次完全備份,得到備份文件集合B={F0、F1……Fn};(3)在時間點T1將時間段T0-T1中被修改過的所有文件進(jìn)行增量提取得到需要備份的文件與時間點T0的完全備份B中對應(yīng)文件的差分文件,生成差分文件集合D1={d10、d11……d1m},m小于等于需要備份的文件總數(shù),作為時間點T1的差分備份,其中差分文件的每個數(shù)據(jù)塊包含的屬性有是否為匹配數(shù)據(jù)塊、匹配的數(shù)據(jù)塊在原文件中索引號、不匹配的數(shù)據(jù)塊的內(nèi)容;(4)生成一張備份文件列表L1,它記錄了L中文件的修改情況,其數(shù)據(jù)項與B中的文件一一對應(yīng),該表的記錄格式為文件名、該文件是否被修改過、文件獲取方式;(5)在剩下的所有時間點Ti參照步驟(3)生成Di,作為時間點Ti的差分備份,其中1<i≤n;(6)根據(jù)步驟(5)修改Li-1,生成新的備份文件列表Li將表中被修改過的文件對應(yīng)的“該文件是否被修改過”標(biāo)識為被修改過,并將其“獲取方式”標(biāo)識為合并Fj和Dij,原表Li-1不變;(7)在下一備份周期的第一個時間點T0進(jìn)行完全備份生成,生成該時間點的完全備份;(8)時間點T1-Tn的備份步驟與步驟(2)-(7)相同。
      2.如權(quán)利要求1所述的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地的備份方法,其特征是,步驟(7)中,所述的完全備份生成,步驟為a)復(fù)制Ln,生成新的備份文件列表Ln’;b)依次讀取Ln’的第i個數(shù)據(jù)項,如果屬性“該文件是否被修改”為未被修改,則按照屬性“獲取方式”從Pathi讀取該文件復(fù)制到B’中,并記下新的文件訪問路徑Pathi’;如果屬性“該文件是否被修改”為被修改過,則按照屬性“文件獲取方式”的內(nèi)容“合并Fi和Dji”進(jìn)行文件生成,將新文件保存到B’中,并記下新的文件訪問路徑Pathi’;c)在每次步驟b)結(jié)束讀取下一數(shù)據(jù)項前,根據(jù)步驟b)記下的存放路徑修改Ln’第i個數(shù)據(jù)項的屬性“獲取方式”為“從Pathi’讀取”。
      3.如權(quán)利要求2所述的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地的備份方法,其特征是,步驟b)中,所述的文件生成,步驟為a)讀取差分備份或增量信息文件的第1個數(shù)據(jù)項,檢查屬性“是否為匹配數(shù)據(jù)塊”,若值為“是”,參照屬性“匹配的數(shù)據(jù)塊在原文件中索引號”的內(nèi)容讀取Fk中相應(yīng)索引號數(shù)據(jù)塊,將其寫入新文件末端;若值為“否”,讀取屬性“不匹配的數(shù)據(jù)塊的內(nèi)容”的值,將其寫入新文件末端;b)依次讀取該文件的其它數(shù)據(jù)項,參照步驟a)處理所有數(shù)據(jù)項,最終完成新文件的生成。
      4.如權(quán)利要求1所述的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地的備份方法,其特征是,步驟(3)中,所述的增量提取,步驟為a)將文件Fik分成若干個長度為L的數(shù)據(jù)塊Bkj,j=0、1……,末尾長度不足L的數(shù)據(jù)塊用0x00補(bǔ)足;b)為每一數(shù)據(jù)塊按其在Fk中的順序表上索引號N,即第一個數(shù)據(jù)塊Bk1的索引號為1,第二個數(shù)據(jù)塊B2的索引號為2,依次類推;c)將文件Fik’按長度為L的數(shù)據(jù)塊逐個與Fk中的數(shù)據(jù)塊比較,按順序得出內(nèi)容不同的非等長數(shù)據(jù)塊和兩個文件中內(nèi)容相同的數(shù)據(jù)塊分別在Fk中的索引號N,這些信息稱為增量信息,其保存的數(shù)據(jù)塊所包含的屬性與步驟(3)里所定義的差分文件中的數(shù)據(jù)塊格式相同。
      5.一種計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件遠(yuǎn)程的備份方法,其特征在于,具體步驟如下a.本地端在時間點T0將本地備份執(zhí)行第一次完全備份生成的完全備份文件集合B={F0、F1……Fn}通過傳送到遠(yuǎn)端;b.本地端在時間點T1進(jìn)行增量提取,得到時間點T1需要備份的所有數(shù)據(jù)文件集合F1i’與B中相應(yīng)的文件Fi的增量信息,然后將該增量信息發(fā)送至遠(yuǎn)端;c.遠(yuǎn)端收到所有文件的增量信息后將其保存為差分文件集合D1={d10、d11……d1m},m小于等于需要備份的文件總數(shù),作為時間點T1的遠(yuǎn)端差分備份;d.遠(yuǎn)端生成一張遠(yuǎn)端備份文件列表RL1,該列表與L1基本相同,只是其中數(shù)據(jù)項所指示的文件獲取方式對應(yīng)于遠(yuǎn)端文件;e.本地端在剩下的任意時間點Ti進(jìn)行增量提取,1<i≤n,得到時間點Ti需要備份的所有數(shù)據(jù)文件集合Fij’與時間點Ti-1時的相應(yīng)文件的增量信息,然后將該增量信息發(fā)送至遠(yuǎn)端,其中“時間點Ti-1時的相應(yīng)文件”通過查詢表Li-1,按照相應(yīng)文件的“文件獲取方式”來得到;f.遠(yuǎn)端收到所有文件的增量信息后進(jìn)行文件生成,將RLi-1中標(biāo)識的相應(yīng)的文件合并生成臨時文件集合Temp={ti0、ti1……tim},m≤n,Temp中的任一文件均與當(dāng)前用戶正在使用的需要備份的數(shù)據(jù)文件一致;g.增量提取得到Temp中的所有文件與B中相應(yīng)文件的差分文件,生成差分文件集合Di={di0、di1……d1m},作為時間點Ti的遠(yuǎn)端差分備份;h.刪除Temp;i.根據(jù)步驟g修改RLi-1中對應(yīng)文件的“文件獲取方式”,生成新的備份文件列表RLi,RLi-1不變;j.在下一備份周期的第一個時間點T0進(jìn)行完全備份生成,生成該時間點的完全備份;k.時間點T1-Tn的備份步驟與步驟b-g相同。
      6.如權(quán)利要求5所述的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件遠(yuǎn)程的備份方法,其特征是,步驟j中,所述的完全備份生成,步驟為a)復(fù)制Ln,生成新的備份文件列表Ln’;b)依次讀取Ln’的第i個數(shù)據(jù)項,如果屬性“該文件是否被修改”為未被修改,則按照屬性“獲取方式”從Pathi讀取該文件復(fù)制到B’中,并記下新的文件訪問路徑Pathi’;如果屬性“該文件是否被修改”為被修改過,則按照屬性“文件獲取方式”的內(nèi)容“合并Fi和Dji”進(jìn)行文件生成,將新文件保存到B’中,并記下新的文件訪問路徑Pathi’;c)在每次步驟b)結(jié)束讀取下一數(shù)據(jù)項前,根據(jù)步驟b)記下的存放路徑修改Ln’第i個數(shù)據(jù)項的屬性“獲取方式”為“從Pathi’讀取”。
      7.如權(quán)利要求6所述的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件遠(yuǎn)程的備份方法,其特征是,步驟b)中,所述的文件生成,步驟為a)讀取差分備份或增量信息文件的第1個數(shù)據(jù)項,檢查屬性“是否為匹配數(shù)據(jù)塊”,若值為“是”,參照屬性“匹配的數(shù)據(jù)塊在原文件中索引號”的內(nèi)容讀取Fk中相應(yīng)索引號數(shù)據(jù)塊,將其寫入新文件末端;若值為“否”,讀取屬性“不匹配的數(shù)據(jù)塊的內(nèi)容”的值,將其寫入新文件末端;b)依次讀取該文件的其它數(shù)據(jù)項,參照步驟a)處理所有數(shù)據(jù)項,最終完成新文件的生成。
      8.如權(quán)利要求5所述的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件遠(yuǎn)程的備份方法,其特征是,步驟g中,所述的增量提取,步驟為a)將文件Fik分成若干個長度為L的數(shù)據(jù)塊Bkj,j=0、1……,末尾長度不足L的數(shù)據(jù)塊用0x00補(bǔ)足;b)為每一數(shù)據(jù)塊按其在Fk中的順序表上索引號N,即第一個數(shù)據(jù)塊Bk1的索引號為1,第二個數(shù)據(jù)塊B2的索引號為2,依次類推;c)將文件Fik’按長度為L的數(shù)據(jù)塊逐個與Fk中的數(shù)據(jù)塊比較,按順序得出內(nèi)容不同的非等長數(shù)據(jù)塊和兩個文件中內(nèi)容相同的數(shù)據(jù)塊分別在Fk中的索引號N,這些信息稱為增量信息。
      全文摘要
      本發(fā)明涉及一種網(wǎng)絡(luò)信息技術(shù)領(lǐng)域的計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)文件本地和遠(yuǎn)程的備份方法。本發(fā)明完全備份時利用已有備份數(shù)據(jù)合成新備份來滿足用戶完全備份的需求,既保證了所有數(shù)據(jù)的備份又提供了一個快捷的“完全備份”方法;遠(yuǎn)程備份時只傳輸生成新的備份文件所需的增量數(shù)據(jù)塊至遠(yuǎn)端;采用增量備份方法的增量提取辦法來生成差分備份所需要的數(shù)據(jù),然后再利用上一次備份的差分?jǐn)?shù)據(jù)合成新的差分備份。本發(fā)明在已有的增量備份和差分備份的基礎(chǔ)上,克服了以往備份系統(tǒng)完全備份速度慢、遠(yuǎn)程備份網(wǎng)絡(luò)傳輸量大的缺點。
      文檔編號G06F11/14GK101064730SQ20061011630
      公開日2007年10月31日 申請日期2006年9月21日 優(yōu)先權(quán)日2006年9月21日
      發(fā)明者鄒恒明, 陳惟康, 姚琪, 邱麗琴 申請人:上海交通大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1