一種數據備份方法
【技術領域】
[0001]本發明涉及云存儲領域,特別是涉及一種數據備份方法。
【背景技術】
[0002]隨著云產業的迅猛發展,云存儲產品已成為云服務中最基本的產品服務,而以企業網盤為例,已作為現在最熱門的企業級云存儲應用,也是各大IT巨頭爭相進入的產業。
[0003]通常我們說的“云存儲”是指的“云對象存儲”,用來存儲非結構化數據,各大云計算廠商都實現了這一云計算基礎設施。它將非結構化數據抽象成對象,即一個文件一個對象,基于HTTP協議提供增刪改查接口(即API),以實現對非結構化數據的存儲和操作。
[0004]現有的軟硬件一體化產品,主要面向企業級用戶,提供非結構化數據管理方案。它基于私有云存儲,面向移動辦公、桌面虛擬化、BY0D的客戶提供私有文檔云解決方案,打造組織的統一文檔平臺。
[0005]面對種類繁多的云存儲產品和海量的存儲數據,對于這些存儲數據的備份保護已然成為一大難題,以往的數據增量備份通過與完全備份的文件屬性信息或者塊一致性來判斷是否要進行增量備份,效率非常低,而且備份端還需要維護一份完全備份的文件屬性信息副本用于做比較,一旦副本屬性發生丟失,將導致云存儲上的數據在備份時需要進行完全備份。
【發明內容】
[0006]鑒于以上所述現有技術的缺點,本發明的目的在于提供一種數據備份方法,用于解決現有技術中漫長的文件對象屬性比對的過程和額外的文件屬性副本的占用空間、效率低的問題。
[0007]為實現上述目的及其他相關目的,本發明提供一種數據備份方法,包括以下步驟:S1、發起完全備份請求;S2、遍歷要完全備份的文件,保存將要完全備份的文件對象的路徑,并覆蓋之前保存的文件對象的路徑,將文件對象的歸檔位設置為已歸檔狀態,備份已遍歷的文件對象的目錄、文件信息和數據塊,并保留已備份的完整文件對象;S3、發起增量備份請求,并根據相應文件對象的路徑從下往上依次將路徑上的文件對象的歸檔位狀態設置為未歸檔狀態;S4、遍歷所有文件對象,并判斷其歸檔位是否為已歸檔狀態;若是,則忽略該文件對象及其下級文件對象;若否,則進入步驟S5 ;S5、保存將要增量備份的文件對象的路徑保存在本地信息文件中,并覆蓋之前保存的文件對象的路徑,并將該文件對象的歸檔位設置為已歸檔狀態,然后備份已遍歷的文件對象的目錄、文件信息和數據塊到數據中心。
[0008]于本發明的一實施例中,所述步驟S2還包括步驟:在完全備份過程中或完全備份結束后,若有文件對象發生變更,根據發生變更的文件對象的路徑,從下往上依次將路徑上的文件對象的歸檔位狀態設置為未歸檔狀態。
[0009]于本發明的一實施例中,所述步驟步驟S4還包括步驟:根據需要進行增量備份的文件對象的路徑,從下往上依次將路徑上的文件對象的歸檔位狀態設置為未歸檔狀態。
[0010]于本發明的一實施例中,所述數據備份方法還包括步驟:在完全備份或增量備份正常結束后,將本地信息文件中保存的文件對象的路徑清除。
[0011]于本發明的一實施例中,所述數據備份方法還包括步驟:在完全備份或增量備份正常結束或異常中斷后,保留已備份的完整的文件對象。
[0012]于本發明的一實施例中,所述步驟S1中還包括步驟:進行授權登錄驗證,驗證通過后獲取到用于驗證操作請求的會話連接ID。
[0013]于本發明的一實施例中,所述步驟S3中還包括步驟:進行授權登錄驗證,驗證通過后獲取到用于驗證操作請求的會話連接ID。
[0014]于本發明的一實施例中,所述步驟S2中還包括步驟:若完全備份過程中發生中斷,則保存相應文件對象的路徑。
[0015]于本發明的一實施例中,所述步驟S5中還包括步驟:若增量備份過程中發生中斷,則保存相應文件對象的路徑。
[0016]于本發明的一實施例中,所述遍歷方式為深度優先的遍歷方式。
[0017]如上所述,本發明的數據備份方法,具有以下有益效果:通過歸檔位標識來設置變更文件對象的方法,除去了漫長的文件對象屬性比對的過程和額外的文件屬性副本的占用空間,簡化了變更文件查找過程,提高了云存儲文件對象增量備份的效率。
【附圖說明】
[0018]圖1顯示為本發明數據存儲系統的一實施例中的流程方框示意圖。
[0019]圖2顯示為本發明數據存儲系統的一實施例中的云存儲文件對象歸檔位狀態變更演示示意圖。
【具體實施方式】
[0020]以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施例中的特征可以相互組合。
[0021]需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發明的基本構想,遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸繪制,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也可能更為復雜。
[0022]請參閱圖1所示,圖1顯示為本發明數據存儲系統的一實施例中的流程方框示意圖。本發明提供了一種數據備份方法,包括以下步驟:
[0023]S1、發起完全備份請求;進一步地,發起完全備份請求后需要進行授權登錄驗證,驗證通過后獲取到用于驗證操作請求的會話連接ID。在本發明的一實施例中,使用云存儲公開接口的API來進行獲取文件索引信息和對象數據塊,然后進行完全備份實現對云存儲文件對象的完全數據保護;在完全備份過程中,需要先進行授權登錄云儲存服務器,并在備份客戶端Client中維持本次會話,直至本次備份正常結束或異常中斷。備份客戶端Client是用于發起與云儲存進行信息交互和任務調度的程序,可以是運行在Windows或者Linux等操作系統下的一個進程或者線程。所述的授權登錄驗證成功后,返回備份客戶端與云存儲服務端的連接會話ID,該會話ID用于驗證備份客戶端和云存儲服務端之間的操作請求。
[0024]S2、遍歷要完全備份的文件,保存將要完全備份的文件對象的路徑,并覆蓋之前保存的文件對象的路徑,將文件對象的歸檔位設置為已歸檔狀態,備份已遍歷的文件對象的目錄、文件信息和數據塊,并保留已備份的完整文件對象;進一步地,所述遍歷方式為深度優先的遍歷方式。在完全備份過程中或完全備份結束后,若有文件對象發生變更,根據發生變更的文件對象的路徑,從下往上依次將路徑上的文件對象的歸檔位狀態設置為未歸檔狀態。若完全備份過程中發生中斷,則保存相應文件對象的路徑。在本發明的一實施例中,為了能夠正常索引到變更的文件對象,需要增加云存儲文件對象歸檔位標識設置,需要云存儲文件對象索引中對每個文件對象添加歸檔位屬性,然后在完全備份中通過API設置當前備份的目錄、文件對象的歸檔位為已歸檔狀態。
[0025]S3、發起增量備份請求,并根據相應文件對象的路徑從下往上依次將路徑上的文件對象的歸檔位狀態設置為未歸檔狀態;進一步地,發起增量備份請求后需要進行授權登錄驗證,驗證通過后獲取到用于驗證操作請求的會話連接ID。在本發明的一實施例中,使用云存儲公開接口的API來進行獲取文件索引信息和對象數據塊,然后進行增量備份實現對云存儲文件對象的完全數據保護;在增量備份過程中,需要先進行授權登錄云儲存服務器,并在備份客戶端Client中維持本次會話,直至本次備份正常結束或異常中斷。備份客戶端Client是用于發起與云儲存進行信息交互和任務調度的程序,可以是運行在Windows或者Linux等操作系統下的一個進程或者線程。所述的授權登錄驗證成功后,返回備份客戶端與云存儲服務端的連接會話ID,該會話ID用于驗證備份客戶端和云存儲服務端之間的操作請求。
[0026]S4、遍歷所有文件對象,并判斷其歸檔位是否為已歸檔狀態;若是,則忽略該文件對象及其下級文件對象;若否,則進入步驟S5 ;進一步地,所述遍歷方式為深度優先的遍歷方式。根據需要進行增量備份的文件對象的路徑,從下往上依次將路徑上的文件對象的歸檔位狀態設置為未歸檔狀態。
[0027]S5、保存將要增量備份的文件對象的路徑保存在本地信息文件中,并覆蓋之前保存的文件對象的路徑,并將該文件對象的歸檔位設置為已歸檔狀態,然后備份已遍歷的文件對象的目錄、文件信息和數據塊到數據中心。進一步地,若增量備份過程中發生中斷,則保存相應文件對象的路徑。在本發明的一實施例中,在增量備份中對每個文件對象備份前先保留當前正在歸檔的路徑到備份客戶端的本地信息文件中,當下次增量備份發起時,先獲取本地信息文件下保存的歸檔路徑并調用API將該文件對象所在的路徑,從下往上依次將歸檔位狀態設置為未歸檔。為了滿足當任務異常結束或停止的時候后續的增量備份能夠繼續備份上次未歸檔的文件對象,當增量備份發起時,先