一種數據備份方法及相關裝置的製作方法
2023-06-12 15:12:16 1
專利名稱:一種數據備份方法及相關裝置的製作方法
技術領域:
本發明涉及數據處理領域,尤其涉及一種數據備份方法及相關裝置。
背景技術:
隨著信息技術的高速發展,企業數據量急劇增長,數據重要性大幅提升,為了防止由於操作失誤或系統故障等導致數據丟失,數據往往通過備份軟體從應用主機備份到備份存儲介質保存,並在應用主機異常後從備份存儲介質進行恢復。傳統備份中常用的三種備份方式是全量備份、累積增量備份和差異增量備份。其中,全量備份時備份整個數據集,累積增量備份時備份自前一次全量備份以來發生變化的數據,差異增量備份時備份自前一次備份以來發生變化的數據。可見,從備份時間和備份存儲空間的消耗上來看,全量備份最大,累積增量備份次之,差異增量備份最小。對於備份軟體來講,其恢復功能所支持的恢復點目標(RPO,RecoveryPointObject)和恢復時間目標(RTO, Recovery Time Object)是兩個重要指標。備份軟體在進行恢復時,RPO用於表示系統可以恢復到正常狀態的時間點,RTO則表示系統恢復到正常狀態所需要的時間。RPO越小(即越接近最近一次的備份)則系統丟失的數據越少,RTO越小則系統恢復到正常狀態所需的時間越少。因此,較近時間點的快速恢復能有效降低企業因系統異常而帶來的經濟損失。全量備份時備份整個數據集以生成全量備份集,其優點是在恢復時可直接從全量備份集恢復數據,因此全量備份能夠對數據提供最好的保護,其缺點則是備份消耗的時間較長,所需的存儲空間較大。相反,差異增量備份時只備份相對於前一時刻變化的數據以生成差異增量備份集,其優點是消耗的時間較短,所需的存儲空間較小,缺點則是恢復時不能直接從差異增量備份集恢復,而需要依賴於之前的備份。因此一種常見的做法是結合全量備份和差異增量備份對數據進行保護,具體做法是周期性地對數據進行備份,一般地,一個備份周期由一次全量備份加後續若干次差異增量備份組成。現有技術一請參閱圖1,圖中T0-T5為一個備份周期,TO時刻執行全量備份,T1、T2、T3、T4和Τ5時刻執行差異增量備份,實線框中的數據為備份集中保存的數據。圖中備份步驟可描述為1、TO時刻執行全量備份,備份整個數據集;2,Tl時刻執行差異增量備份,備份Tl時刻相對於TO時刻發生變化的數據變化後的值(此例中為Al和BI),該步一般由兩個子步驟步完成,即先從備份客戶端獲取此時刻相對於前一備份時刻變化數據塊的信息(如位圖信息),從而計算出此次備份相對於前一次備份時刻改變的數據塊;再從備份源拷貝改變數據塊改變後的數據,生成備份集。3、Τ2-Τ5時刻執行差異增量備份,備份Ti時刻(i = 2,3,4,5)相對於T(i_l)時刻變化後的數據,處理步驟與Tl時刻備份類似。在現有技術一中,恢復到越近時間點越慢。以T5時刻備份完成後系統崩潰為例,若要恢復到T5時刻則需要對TO至T5共6個備份集數據進行合成才能實現恢復,若要恢復到T4時刻則需要對TO至T4時刻共5個備份集數據進行合成。恢復到較近時間點的效率較低;考慮到RPO的要求,一般能恢復到越近的時間點越好,因此,現有技術一恢復到較近時間點效率很低。現有技術二考慮到現有技術一恢復到較近時間點效率低的問題,另一種做法是在全量備份和累積增量備份的基礎上,將累積增量備份納入備份周期中,從而在一定程度上提高恢復到較近時間點的恢復效率。請參閱圖2,圖中TO — T5為一個備份周期,TO時刻執行全量備份,Tl、T2、T4和T5時刻執行差異增量備份,T3時刻執行累積增量備份。實線框中的數據為備份集中保存的數據。圖中備份步驟可描述為1、TO時刻執行全量備份,備份整個數據集;2,Tl時刻執行差異增量備份·,備份Tl時刻相對於TO時刻發生變化的數據變化後的值(此例中為Al和BI),處理步驟與現有技術一中所述Tl時刻備份類似;3、T2時刻執行差異增量備份,備份Τ2時刻相對於Tl時刻發生變化的數據變化後的值(此例中為Β2、C2和Ε2),處理步驟與現有技術一中所述Tl時刻備份類似;4、Τ3時刻執行累積增量備份,備份Τ3時刻相對於TO時刻發生變化的數據變化後的值(此例中為Al、Β2、C2、Ε2、G3和Η3),累積增量備份可以通過合成Tl、Τ2時刻的備份數據實現;5、Τ4時刻執行差異增量備份,備份Τ4時刻相對於Τ3時刻發生變化的數據變化後的值(此例中為C4和D4),處理步驟與現有技術一中所述Tl時刻備份類似;6、Τ5時刻執行差異增量備份,備份Τ5時刻相對於Τ4時刻發生變化的數據變化後的值(此例中為Α5和Β5),處理步驟與現有技術一中所述Tl時刻備份類似。現有技術二相比於現有技術一,在恢復到較近時間點的效率上有一定改善,但仍不能從根本上解決問題,且需要更多的備份存儲空間。仍以Τ5時刻備份完成後系統崩潰為例,若要恢復到Τ5時刻則需要對Τ0、Τ3、Τ4和Τ5共4個備份集進行合成,若要恢復到Τ4時刻則需要對TO、T3和T4時刻共3個備份集數據進行合成。同時,由於T3時刻執行累積備份,因此相比於現有技術一,該方案需要更多的存儲空間。
發明內容
本發明實施例提供了一種數據備份方法及相關裝置,用於提高數據恢復至較近時間點的效率。本發明第一方面提供的數據備份方法,包括獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊;在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份;將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。在第一方面的第一種可能的實現方式中,所述獲取變化數據塊的信息之後,包括將第二備份集指向所述變化數據塊對應的變換前數據,所述第二備份集為前一次備份對應的備份集。結合在第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述獲取變化數據塊的信息之前,包括判斷前一次備份是否為差異增量備份或首次備份,若是,則在執行完所述獲取變化數據塊的信息的步驟之後,執行將第二備份集指向所述變化數據塊對應的變換前數據的步驟;若否,則在執行完所述獲取變化數據塊的信息的步驟之後,直接執行將第一備份集指向所述全量映像的步驟。在第一方面的第三種可能的實現方式中,所述獲取變化數據塊的信息之前,包括判斷本次備份是否為差異增量備份,若是,則執行所述獲取變化數據塊的信息的步驟;若否,則對數據進行全量備份,並將當前備份的備份集指向所述全量映像。結合在第一方面的第三種可能的實現方式,在第四種可能的實現方式中,,所述對數據進行全量備份,包括獲取變化數據塊的信息;在備份伺服器中存儲所述變化數據塊對應的數據,將所述全量映像指向更新後的所有數據塊;從全量映像指向的地址中拷貝所有數據塊的信息。本發明第二方面提供的數據恢復方法,包括獲取最近一次備份的備份集,所述備份集指向所述全量映像,所述全量映像指向更新後的所有數據塊;將備份伺服器中所述各個數據塊的數據恢復至待備份客戶端。在第二方面的第一種可能的實現方式中,所述獲取最近一次備份的備份集之前,包括判斷是否需要恢復至所述最近一次備份,若是,則執行所述獲取最近一次備份的備份集的步驟;若否,則獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息;將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端。本發明第三方面提供的數據備份裝置,包括獲取單元,用於獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊;更新單元,用於在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份;第一指向單元,用於將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。在第三方面的第一種可能的實現方式中,所述裝置還包括第二指向單元,用於將第二備份集指向所述變化數據塊對應的變換前數據,所述第二備份集為前一次備份對應的備份集。本發明第四方面提供的數據恢復裝置,包括備份獲取單元,用於獲取最近一次備份的備份集,所述備份集指向所述全量映像,所述全量映像指向更新後的所有數據塊;備份恢復單元,用於將備份伺服器中所述各個數據塊的數據恢復至待備份客戶端。在第四方面的第一種可能的實現方式中,所述裝置還包括判斷單元,用於在獲取最近一次備份的備份集之前,判斷是否需要恢復至所述最近一次備份,若是,則執行所述備份獲取單元;若否,則執行前次恢復單元;所述前次恢復單元用於獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息;將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端。從以上技術方案可以看出,本發明實施例具有以下優點在本發明實施例中,在首次備份時執行全量備份時,生成全量映像;在後進行累積增量備份時,在備份伺服器存儲了變化數據塊對應的數據之後,該全量映像會指向更新後的所有數據塊,且當前備份對應的備份集會指向該全量映像,使得最新的備份集始終指向更新後的所有數據塊,當需要對最近時間點的數據進行恢復時,可直接通過最新的備份集找到目標數據進行恢復;相對於現有技術一,備份伺服器所存儲的數據量相差不多,但節省了對各個備份集進行合成的時間;對於現有技術二,節省了進行累積增量備份所佔用的數據量,並且在恢復最近時間點的效率上也比較高。
圖1是現有技術一數據備份方法的一個示意圖;圖2是現有技術二數據備份方法的一個示意圖;圖3是本發明實施例數據備份方法的一個流程示意圖;圖4是本發明實施例數據備份方法的另一個流程示意圖;圖5是本發明實施例數據備份方法的另一個流程示意圖;圖6是本發明實施例數據備份方法的另一個示意圖;圖7是本發明實施例數據備份方法的另一個示意圖;圖8是本發明實施例數據恢復方法的另一個流程示意圖;圖9是本發明實施例數據備份裝置的邏輯結構示意圖;圖10是本發明實施例數據恢復裝置的邏輯結構示意圖;圖11是本發明實施例計算機設備的一結構示意圖。
具體實施例方式
本發明實施例提供了 一種數據備份方法及相關裝置,用於提高數據恢復至較近時間點的效率。請參閱圖3,本發明實施例中數據備份方法的一個實施例包括301、對數據進行全量備份,並生成全量映像;在對數據進行首次備份時,數據備份裝置需要對數據進行全量備份,將待備份客戶端的數據拷貝至備份伺服器(即備份伺服器存儲待備份客戶端的數據),並生成所述數據的各個數據塊對應的全量映像,所述全量映像用於指向存儲所述數據的各個數據塊。所述數據塊為待備份客戶端的實際備份數據;
所述全量映像可以為一個指針集,指針集內指針的內容為數據塊的存儲位置信
肩、O可選的,在完成了全量備份之後,可以將所述全量備份對應的備份集指向所述全
量映像。所述備份集為本次備份所產生的數據信息的集合,備份集內記錄有數據塊存儲在備份伺服器的存儲位置信息,所述備份集指向所述全量映像的操作,即將全量映像中各個數據塊在備份伺服器的存儲位置信息更新到備份集中。具體的,上述數據備份裝置的「指向」操作可以通過指針實現。302、獲取變化數據塊的信息;數據備份裝置獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。在首次進行了全量備份之後,數據備份裝置可以根據在後時間點的數據集域與上一次備份時的差異,進行差異增量備份。303、首次備份生成的全量映像指向更新後的所有數據塊;在確定了變化數據塊之後,數據備份裝置在備份伺服器中存儲所述變化數據塊對應的數據,完成當前的數據更新之後,首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份。在本發明實施例中,全量映像始終指向數據更新之後當前的所有數據塊,即全量映像中指針的內容總是最新的各個數據塊的存儲位置信息。304、將第一備份集指向所述全量映像。數據備份裝置將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集;在本步驟304中,當前備份為步驟302至304所述執行的差異增量備份。在本發明實施例中,在首次備份時執行全量備份時,生成全量映像;在後進行差異增量備份時,在備份伺服器存儲了變化數據塊對應的數據之後,該全量映像會指向更新後的所有數據塊,且當前備份對應的備份集會指向該全量映像,使得最新的備份集始終指向當前的所有數據塊,當需要對最近時間點的數據進行恢復時,可直接通過最新的備份集找到目標數據進行恢復;相對於現有技術一,備份伺服器所存儲的數據量相差不多,但節省了對各個備份集進行合成的時間;對於現有技術二,節省了進行累積增量備份所佔用的數據量,並且在恢復最近時間點的效率上也比較高。請再參與圖1和2,在現有技術一中,當進行了多次差異增量備份之後,累積了多個備份集,而在實際應用中,用戶至傾向於恢復一個或兩個時間點的備份,但是,由於差異增量備份需要依賴前面多個備份集所備份的數據,因此,即使滿足過期時間要求的備份集仍不能隨意清除,影響備份空間的使用。如,現有技術一中,T5時刻的恢復需要依賴於T0-T5時刻的備份集,同樣,T4時刻的恢復需要依賴於T0-T4時刻的備份集,以此類推,備份集存在後向依賴關係,即較新時刻數據的恢復依賴於較老時刻的備份集。因此,在對備份集進行過期管理時,較老時刻的備份集即使滿足過期時間要求,考慮到較新時刻恢復對其的依賴,仍不能對其刪除,而需要等到所有依賴於它的備份集均過期後才能進行刪除。現有技術二雖然進行了累積增量備份,不依賴累積增量備份之前的差異增量備份集,但對於之前的全量備份集依然有依賴,因此,累積增量備份之後較老時刻的備份集,也存在不能及時刪除的問題。本發明實施例提供了解決上述問題的方案,具體請參閱圖4,本發明實施例中數據備份方法的另一個實施例包括401、對數據進行全量備份,並生成全量映像;在對數據進行首次備份時,數據備份裝置需要對數據進行全量備份,將待備份客戶端的數據拷貝至備份伺服器(即備份伺服器存儲待備份客戶端的數據),並生成所述數據的各個數據塊對應的全量映像,所述全量映像用於指向存儲所述數據的各個數據塊。所述數據塊為待備份客戶端的實際備份數據;所述全量映像可以為一個指針集,指針集內指針的內容為數據塊的存儲位置信
肩、O可選的,在完成了全量備份之後,可以將所述全量備份對應的備份集指向所述全
量映像。所述備份集為本次備份所產生的數據信息的集合,備份集內記錄有數據塊存儲在備份伺服器的存儲位置信息,所述備份集指向所述全量映像的操作,即將全量映像中各個數據塊在備份伺服器的存儲位置信息更新到備份集中。具體的,上述數據備份裝置的「指向」操作可以通過指針實現。402、當完成第一次差異增量備份之後,再次執行差異增量備份時,獲取變化數據塊的信息;數據備份裝置獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。在首次進行了全量備份之後,數據備份裝置可以根據在後時間點的數據域與上一次備份時的差異,進行差異增量備份。403、將第二備份集指向所述變化數據塊對應的變換前數據;當完成第一次差異增量備份之後,再次執行差異增量備份時,數據備份裝置將第二備份集指向所述變化數據塊中對應的變換前數據,所述第二備份集為前一次備份對應的備份集,改變所述第二備份集的指向可以便於數據備份裝置對過期的備份集進行刪除;在本發明實施例中,本次差異增量備份的前一次備份也為差異增量備份。即當確定了本次備份中發生變化的數據塊之後,可以對前一次備份(差異增量備份)對應的備份集進行更新,修改前一次備份集(第二備份集)中指針和備份伺服器中所存儲數據的對應關係,將前一次備份集中指針的內容修改為變化數據塊的存儲地址。如圖6所不的例子,本發明實施例差異增量備份的可以為圖中的T2時刻,BackupSetl為前一次備份Tl的備份集,當確定T2時刻發生變化的數據塊為B,C,E後,BackupSetl由在Tl時刻指向A,B改為指向B,C,E ;在後期管理員對備份伺服器進行維護時,若Tl的備份集過時的話,可以直接刪除Tl的備份集(刪除備份集時,備份集所指向的在備份伺服器所存儲的數據塊也會同時刪除),因為Tl的備份集指向的數據塊已經發生改變,因此無需保留,可以節省備份伺服器的存儲空間。404、將全量映像指向更新後的所有數據塊;在確定了變化數據塊之後,數據備份裝置在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份。在本發明實施例中,全量映像始終指向更新後的所有數據塊,即全量映像中指針的內容總是最新數據塊的存儲位置信息。405、將第一備份集指向所述全量映像。數據備份裝置將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集;在本步驟405中,當前備份為步驟402至405所述執行的差異增量備份。本發明實施例中的備份集不存在前向依賴關係,即任一時刻數據的恢復只依賴於更新時刻的備份集,而不依賴於較老時刻的備份集。因此,對於任一時刻的備份集,若其滿足過期時間要求,則可直接刪除,無需等待更新時刻的備份集過期。可見,本發明方案中,備份集過期管理十分簡單,且能及時釋放刪除過期備份集所佔用的存儲空間。為了便於理解,下面以一具體應用場景對上述的實施例中描述的數據備份方法再進行詳細描述,請參考圖5具體為501、判斷本次備份是否為第一次備份;判斷本次備份是否為第一次備份;若是,則執行步驟502 ;若否,則執行步驟503。在本發明實施例中,第一次備份需要執行全量備份,以作為在後差異增量備份的基礎。502、從待備份客戶端拷貝整個數據集,並生成全量映像;在對數據進行首次備份時,數據備份裝置需要對數據進行全量備份,將待備份客戶端的數據拷貝至備份伺服器,並生成所述數據的各個數據塊對應的全量映像(NEW),所述全量映像用於指向存儲所述數據的各個數據塊。所述全量映像可以為一個指針集,指針集內指針的內容為數據塊的存儲位置信息;數據備份裝置的「指向」操作可以通過指針實現。503、判斷本次備份是否為差異增量備份;判斷本次備份是否為差異增量備份,若是,則執行步驟507 ;若否,則執行步驟504。在實際應用中,在第一次備份(全量備份)之後,可能定期還需要進行全量備份,以保證待備份客戶端數據的完整性;而差異增量備份和全量備份的備份集的指針指向又有所不同,因此,需要進行本步驟的判斷。504、獲取變化數據塊的信息;數據備份裝置獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。505、在備份伺服器中存儲所述變化數據塊對應的數據,並將全量映像指向更新後的所有數據塊。在確定了變化數據塊之後,數據備份裝置在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份。在本發明實施例中,全量映像始終指向更新後的所有數據塊,即全量映像中指針的內容總是最新數據塊的存儲位置信息。506、在備份伺服器中拷貝全量映像指向的各個數據塊;在本發明實施例中,在首次完成全量備份之後,若再要執行全量備份,則可以直接在備份伺服器中拷貝當前待備份客戶端更新完後的數據,無需再從待備份客戶端中重新做完整的拷貝,節省了從待備份客戶端到備份伺服器進行數據傳輸的網絡資源。具體的,可以請參閱圖7,假設在時間點T5之後的時間點T6,需要再進行一次全量備份,則變化數據塊G6的信息(如步驟504),在備份伺服器中存儲所述變化數據塊對應的數據,並將全量映像(NEW)指向更新後的所有數據塊(如步驟505);最後在備份伺服器中拷貝NEW指向的各個數據塊(如步驟506),即可再次完成全量備份。507、判斷前一次備份是否為差異增量備份或第一次備份;判斷前一次備份是否為差異增量備份或第一次備份,若是,則執行步驟510 ;若否,則執行步驟508。若本次備份為全量備份(非第一次備份),則在本次備份的過程中,可以對上一次的備份集進行更新,使其指向已經發生改變的舊數據,便於在後對備份伺服器的舊數據進
行清理。508、獲取變化數據塊的信息;數據備份裝置獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。509、在備份伺服器中存儲所述變化數據塊對應的數據,並將全量映像指向更新後的所有數據塊。510、獲取變化數據塊的信息;數據備份裝置獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。511、將第二備份集指向所述變化數據塊對應的變換前數據;數據備份裝置將第二備份集指向所述變化數據塊對應的變換前數據,所述第二備份集為前一次備份對應的備份集,在本發明實施例中,本次差異增量備份的前一次備份也為差異增量備份。即當確定了本次備份中發生變化的數據塊之後,可以對前一次備份(差異增量備份)對應的備份集進行更新,修改前一次備份集(第二備份集)中指針和備份伺服器中所存儲數據的對應關係,將前一次備份集中指針的內容修改為變化數據塊的存儲地址。如圖6所不的例子,本發明實施例差異增量備份的可以為圖中的T2時刻,BackupSetl為前一次備份Tl的備份集,當確定T2時刻發生變化的數據塊為B,C,E後,BackupSetl由在Tl時刻指向A,B改為指向B,C,E ;在後期管理員對備份資料庫進行維護時,若Tl的備份集過時的話,可以直接刪除Tl的備份集(刪除備份集時,備份集所指向的在備份伺服器所存儲的資料庫也會同時刪除),因為Tl的備份集指向的數據塊已經發生改變,因此無需保留,可以節省備份伺服器的存儲空間。512、在備份伺服器中存儲所述變化數據塊對應的數據,並將全量映像指向更新後的所有數據塊;在確定了變化數據塊之後,數據備份裝置在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份。在本發明實施例中,全量映像始終指向更新後的所有數據塊,即全量映像中指針的內容總是最新數據塊的存儲位置信息。513、將第一備份集指向所述全量映像。數據備份裝置將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。上面僅以一些例子對本發明實施例中的應用場景進行了說明,可以理解的是,在實際應用中,還可以有更多的應用場景,具體此處不作限定。上面是從數據備份裝置的角度對本發明實施例中的數據備份方法進行了描述,下面從數據恢復裝置側對本發明實施例中的數據恢復方法進行描述,請參閱圖8,本發明實施例中的數據恢復方法一實施例包括801、判斷是否需要恢復至最近一次備份;可選的,數據恢復裝置判斷本次數據恢復是否需要恢復至最近一次備份,若否,則執行步驟802 ;若是,則執行步驟804。802、獲取待恢復時間點的備份集及其點之後的所有備份集;數據恢復裝置獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息。示例性的,請參閱圖7,若需要將數據恢復至時間點T4,則對全量映像和T4的備份集進行合成,得到時間點T4的完整數據。803、將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端;804、將備份伺服器中最近一次備份的備份集中指向的各個數據塊的數據恢復至待備份客戶端。在本發明實施例中,數據恢復的時間點越接近當前時間,則數據恢復的效率就越聞。下面對用於執行上述數據備份方法的本發明數據備份裝置的實施例進行說明,其邏輯結構請參考圖9,本發明實施例中的數據備份裝置一個實施例包括獲取單元901,用於獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊;更新單元902,用於在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份;第一指向單元903,用於將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。可選的,所述裝置還包括第二指向單元904,用於將第二備份集指向所述變化數據塊對應的變換前數據,所述第二備份集為前一次備份對應的備份集。具體的,本發明實施例中,各個單元的具體操作過程包括在對數據進行首次備份時,數據備份裝置需要對數據進行全量備份,將待備份客戶端的數據拷貝至備份伺服器(即備份伺服器存儲待備份客戶端的數據),並生成所述數據的各個數據塊對應的全量映像,所述全量映像用於指向存儲所述數據的各個數據塊。
所述全量映像可以為一個指針集,指針集內指針的內容為數據塊的存儲位置信息。可選的,在完成了全量備份之後,可以將所述全量備份對應的備份集指向所述全量映像。所述備份集為本次備份所產生的數據信息的集合,備份集內記錄有數據塊存儲在備份伺服器的存儲位置信息,所述備份集指向所述全量映像的操作,即將全量映像中各個數據塊在備份伺服器的存儲位置信息更新到備份集中。在進行差異增量備份時,獲取單元901獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。在確定了變化數據塊之後,更新單元902在備份伺服器中存儲所述變化數據塊對應的數據,完成當前的數據更新之後,首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份。可選的,當完成第一次差異增量備份之後,再次執行差異增量備份時,第二指向單元904將第二備份集指向所述變化數據塊中對應的變換前數據,所述第二備份集為前一次備份對應的備份集,改變所述第二備份集的指向可以便於數據備份裝置對過期的備份集進行刪除;在本發明實施例中,本次差異增量備份的前一次備份也為差異增量備份。即當確定了本次備份中發生變化的數據塊之後,可以對前一次備份(差異增量備份)對應的備份集進行更新,修改前一次備份集(第二備份集)中指針和備份伺服器中所存儲數據的對應關係,將前一次備份集中指針的內容修改為變化數據塊的存儲地址。如圖6所不的例子,本發明實施例差異增量備份的可以為圖中的T2時刻,BackupSetl為前一次備份Tl的備份集,當確定T2時刻發生變化的數據塊為B,C,E後,BackupSetl由在Tl時刻指向A,B改為指向B,C,E ;在後期管理員對備份伺服器進行維護時,若Tl的備份集過時的話,可以直接刪除Tl的備份集(刪除備份集時,備份集所指向的在備份伺服器所存儲的數據塊也會同時刪除),因為Tl的備份集指向的數據塊已經發生改變,因此無需保留,可以節省備份伺服器的存儲空間。在確定了變化數據塊之後,第一指向單元903將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。本發明實施例中的備份集不存在前向依賴關係,即任一時刻數據的恢復只依賴於更新時刻的備份集,而不依賴於較老時刻的備份集。因此,對於任一時刻的備份集,若其滿足過期時間要求,則可直接刪除,無需等待更新時刻的備份集過期。可見,本發明方案中,備份集過期管理十分簡單,且能及時釋放刪除過期備份集所佔用的存儲空間。在本發明實施例中,全量映像始終指向數據更新之後當前的所有數據塊,即全量映像中指針的內容總是最新的各個數據塊的存儲位置信息。下面對用於執行上述數據恢復方法的本發明數據恢復裝置的實施例進行說明,其邏輯結構請參考圖10,本發明實施例中的數據恢復裝置一個實施例包括備份獲取單元1001,用於獲取最近一次備份的備份集,所述備份集指向所述全量映像,所述全量映像指向更新後的所有數據塊;備份恢復單元1002,用於將備份伺服器中所述各個數據塊的數據恢復至待備份客戶端。可選的,所述裝置還包括判斷單元1003,用於在獲取最近一次備份的備份集之前,判斷是否需要恢復至所述最近一次備份,若是,則執行所述備份獲取單元;若否,則執行前次恢復單元1004 ;所述前次恢復單元用於獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息;將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端。具體的,本發明實施例中,各個單元的具體操作過程包括可選的,判斷單元1003判斷本次數據恢復是否需要恢復至最近一次備份;若否,則執行前次恢復單元1004 ;獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息。將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端;示例性的,請參閱圖7,若需要將數據恢復至時間點T4,則對全量映像和T4的備份集進行合成,得到時間點T4的完整數據。若是,則執行備份恢復單元1002 ;將備份伺服器中最近一次備份的備份集中指向的各個數據塊的數據恢復至待備份客戶端。在本發明實施例中,數據恢復的時間點越接近當前時間,則數據恢復的效率就越聞。本發明實施例還提供了一種計算機存儲介質,其中,該計算機存儲介質可存儲有程序,該程序執行時包括上述方法實施例中記載的數據備份方法的部分或全部步驟。請參見圖11,本發明實施例還提供了一種數據備份裝置,可包括輸入裝置1101,輸出裝置1102,存儲器1103和處理器1104(數據備份裝置中的處理器的數量可以為一個或多個,圖11中以一個處理器為例)在本發明的一些實施例中,輸入裝置1101,輸出裝置1102,存儲器1103和處理器1104可通過總線或其它方式連接,其中,圖11中通過總線連接為例。其中,所述處理器1104執行如下步驟在對數據進行首次備份時,需要對數據進行全量備份,將待備份客戶端的數據拷貝至備份伺服器(即備份伺服器存儲待備份客戶端的數據),並生成所述數據的各個數據塊對應的全量映像,所述全量映像用於指向存儲所述數據的各個數據塊。可選的,在完成了全量備份之後,可以將所述全量備份對應的備份集指向所述全量映像。獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊。在確定了變化數據塊之後,數據備份裝置在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份。數據備份裝置將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集;所述存儲器1103存儲的信息包括所述數據塊為待備份客戶端的實際備份數據;所述全量映像可以為一個指針集,指針集內指針的內容為數據塊的存儲位置信息。所述備份集為本次備份所產生的數據信息的集合,備份集內記錄有數據塊存儲在備份伺服器的存儲位置信息,所述備份集指向所述全量映像的操作,即將全量映像中各個數據塊在備份伺服器的存儲位置信息更新到備份集中。在本發明實施例中,全量映像始終指向更新後的所有數據塊,即全量映像中指針的內容總是最新數據塊的存儲位置信息。在本發明的另一些實施例中,處理器1104還可以執行如下步驟當完成第一次差異增量備份之後,再次執行差異增量備份時,獲取變化數據塊的信息;當完成第一次差異增量備份之後,再次執行差異增量備份時,數據備份裝置將第二備份集指向所述變化數據塊中對應的變換前數據,所述第二備份集為前一次備份對應的備份集,改變所述第二備份集的指向可以便於數據備份裝置對過期的備份集進行刪除;在本發明實施例中,本次差異增量備份的前一次備份也為差異增量備份。即當確定了本次備份中發生變化的數據塊之後,可以對前一次備份(差異增量備份)對應的備份集進行更新,修改前一次備份集(第二備份集)中指針和備份伺服器中所存儲數據的對應關係,將前一次備份集中指針的內容修改為變化數據塊的存儲地址。如圖6所不的例子,本發明實施例差異增量備份的可以為圖中的T2時刻,BackupSetl為前一次備份Tl的備份集,當確定T2時刻發生變化的數據塊為B,C,E後,BackupSetl由在Tl時刻指向A,B改為指向B,C,E ;在後期管理員對備份伺服器進行維護時,若Tl的備份集過時的話,可以直接刪除Tl的備份集(刪除備份集時,備份集所指向的在備份伺服器所存儲的數據塊也會同時刪除),因為Tl的備份集指向的數據塊已經發生改變,因此無需保留,可以節省備份伺服器的存儲空間。上述各個單元/模塊的具體操作過程請參閱方法實施例,此處不再贅述。本發明實施例還提供了另一種計算機存儲介質,其中,該計算機存儲介質可存儲有程序,該程序執行時包括上述方法實施例中記載的數據恢復方法的部分或全部步驟。請再參見圖11,本發明實施例還提供了一種數據恢復裝置,可包括輸入裝置1101,輸出裝置1102,存儲器1103和處理器1104(數據恢復裝置中的處理器的數量可以為一個或多個,圖11中以一個處理器為例)在本發明的一些實施例中,輸入裝置1101,輸出裝置1102,存儲器1103和處理器1104可通過總線或其它方式連接,其中,圖11中通過總線連接為例。其中,所述處理器1104執行如下步驟判斷本次數據恢復是否需要恢復至最近一次備份,若否,則執行獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息。將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端。示例性的,請參閱圖7,若需要將數據恢復至時間點T4,則對全量映像和T4的備份集進行合成,得到時間點T4的完整數據。若是,則將備份伺服器中最近一次備份的備份集中指向的各個數據塊的數據恢復至待備份客戶端。在本發明實施例中,數據恢復的時間點越接近當前時間,則數據恢復的效率就越高。在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括U盤、移動硬碟、只讀存儲器(R0M,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。以上所述,僅為本發明的具體實施方式
,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。
權利要求
1.一種數據備份方法,其特徵在於,包括 獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊;在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份; 將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。
2.根據權利要求1所述的方法,其特徵在於,所述獲取變化數據塊的信息之後,包括 將第二備份集指向所述變化數據塊對應的變換前數據,所述第二備份集為前一次備份對應的備份集。
3.根據權利要求2所述的方法,其特徵在於,所述獲取變化數據塊的信息之前,包括 判斷前一次備份是否為差異增量備份或首次備份,若是,則在執行完所述獲取變化數據塊的信息的步驟之後,執行將第二備份集指向所述變化數據塊對應的變換前數據的步驟;若否,則在執行完所述獲取變化數據塊的信息的步驟之後,直接執行將第一備份集指向所述全量映像的步驟。
4.根據權利要求1所述的方法,其特徵在於,所述獲取變化數據塊的信息之前,包括 判斷本次備份是否為差異增量備份,若是,則執行所述獲取變化數據塊的信息的步驟;若否,則對數據進行全量備份,並將當前備份的備份集指向所述全量映像。
5.根據權利要求4所述的方法,其特徵在於,所述對數據進行全量備份,包括 獲取變化數據塊的信息; 在備份伺服器中存儲所述變化數據塊對應的數據,將所述全量映像指向更新後的所有數據塊; 從全量映像指向的地址中拷貝所有數據塊的信息。
6.一種數據恢復方法,其特徵在於,包括 獲取最近一次備份的備份集,所述備份集指向全量映像,所述全量映像指向更新後的所有數據塊; 將備份伺服器中所述各個數據塊的數據恢復至待備份客戶端。
7.根據權利要求6所述的方法,其特徵在於,所述獲取最近一次備份的備份集之前,包括 判斷是否需要恢復至所述最近一次備份,若是,則執行所述獲取最近一次備份的備份集的步驟; 若否,則獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息;將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端。
8.一種數據備份裝置,其特徵在於,包括 獲取單元,用於獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊; 更新單元,用於在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份; 第一指向單元,用於將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。
9.根據權利要求8所述的裝置,其特徵在於,所述裝置還包括 第二指向單元,用於將第二備份集指向所述變化數據塊對應的變換前數據,所述第二備份集為前一次備份對應的備份集。
10.一種數據恢復裝置,其特徵在於,包括 備份獲取單元,用於獲取最近一次備份的備份集,所述備份集指向所述全量映像,所述全量映像指向更新後的所有數據塊; 備份恢復單元,用於將備份伺服器中所述各個數據塊的數據恢復至待備份客戶端。
11.根據權利要求10所述的裝置,其特徵在於,所述裝置還包括 判斷單元,用於在獲取最近一次備份的備份集之前,判斷是否需要恢復至所述最近一次備份,若是,則執行所述備份獲取單元; 若否,則執行前次恢復單元;所述前次恢復單元用於獲取待恢復時間點的備份集,及所述待恢復時間點之後的所有備份集;對所述待恢復時間點的備份集和所述待恢復時間點之後的所有備份集進行備份合成,得到所述待恢復時間點的各個數據塊的信息;將備份伺服器中所述待恢復時間點的各個數據塊的數據恢復至待備份客戶端。
12.—種計算機存儲介質,其特徵在於, 所述計算機存儲介質可存儲有程序,所述程序執行時包括如權利要求1至5任意一項所述的步驟。
13.一種數據恢復裝置,其特徵在於,包括 輸入裝置,輸出裝置,存儲器和處理器; 其中,所述處理器執行如下步驟 獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊;在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份;將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。
14.一種計算機存儲介質,其特徵在於, 所述計算機存儲介質可存儲有程序,所述程序執行時包括如權利要求6至7任意一項所述的步驟。
15.一種數據恢復裝置,其特徵在於,包括 輸入裝置,輸出裝置,存儲器和處理器; 其中,所述處理器執行如下步驟 獲取最近一次備份的備份集,所述備份集指向所述全量映像,所述全量映像指向更新後的所有數據塊;將備份伺服器中所述各個數據塊的數據恢復至待備份客戶端。
全文摘要
本發明實施例公開了一種數據備份方法及相關裝置,用於提高數據恢復至較近時間點的效率。本發明實施例方法包括獲取變化數據塊的信息,所述變化數據塊為相對於前一次備份發生變化的數據塊;在備份伺服器中存儲所述變化數據塊對應的數據,並使得首次備份生成的全量映像指向更新後的所有數據塊,所述首次備份為全量備份;將第一備份集指向所述全量映像,所述第一備份集為當前備份對應的備份集。
文檔編號G06F11/14GK103049353SQ20121056252
公開日2013年4月17日 申請日期2012年12月21日 優先權日2012年12月21日
發明者曾蜀芳, 張磊 申請人:華為技術有限公司