一種基于快照的業務級數據一致性保護方法及裝置的制造方法
【技術領域】
[0001]本發明涉及存儲技術領域,特別是涉及一種基于快照的業務級數據一致性保護方法及裝置。
【背景技術】
[0002]目前,針對某些業務,如數據庫應用,數據一致性是指事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。保證數據一致性是指當事務完成時,必須使所有數據都具有一致的狀態。所有的數據根據數據性質不同運行在不同的卷上,比如日志數據在日志卷上,數據本身在數據卷上,所以這幾個卷屬于同一個一致性組中,一致性快照是針對一致性組進行的。主機端有業務數據下發時,自上而下經過文件系統,緩存,再到存儲陣列,物理介質。
[0003]快照模塊運行于存儲系統上,如果在主機端僅調用打快照命令,未作主動刷寫,那么快照時刻的數據可能還處于文件系統或緩存中,此時的快照是不可用的。因此目前基于主機端業務級數據打快照通常做法為:主機端創建一個快照代理agent,一方面接收存儲系統打快照指令對業務數據打快照,一方面打快照之前執行刷寫動作使數據落盤。然后對于業務數據的1顆粒度較小的數據庫業務,傳統的主機端快照代理根據用戶設置定時快照參數對業務數據定時生成快照,而沒有結合業務特性,僅由存儲系統觸發快照間隔太大,和主機端實際運行的業務關聯較小,快照的可靠性降低,同時若某個快照數據失效,其余快照將不可用,即整個災備系統失效。
【發明內容】
[0004]本發明的目的是提供一種基于快照的業務級數據一致性保護方法及裝置,以實現根據業務級數據的1顆粒度不同,增量式觸發快照,提高快照的可靠性。
[0005]為解決上述技術問題,本發明提供一種基于快照的業務級數據一致性保護方法,該方法包括:
[0006]接收業務數據,獲取所述業務數據的寫入位置和時間信息;
[0007]利用所述業務數據的寫入位置和時間信息獲取存儲增量值;
[0008]當所述存儲增量值大于增量存儲空間的閾值時,啟動快照生成指令,生成快照;
[0009]當所述存儲增量值小于所述增量存儲空間的閾值時,啟動快照回收指令,回收快昭.
[0010]將所述業務數據寫入至所述增量存儲空間的可用文件中,形成增量文件。
[0011]優選的,所述啟動快照生成指令,生成快照,包括:
[0012]啟動快照生成指令;
[0013]將所述增量存儲空間中寫入的業務數據生成一個只讀快照;
[0014]在備份區域建立所述只讀快照的快照。
[0015]優選的,所述啟動快照回收指令,快照回收,包括:
[0016]啟動快照回收指令,獲取所述增量存儲空間中創建時間最長的增量文件和對應快照,進行離線磁盤備份。
[0017]優選的,所述進行離線磁盤備份之后,還包括:
[0018]備份完成后刪除所述創建時間最長的增量文件和對應快照。
[0019]優選的,所述方法還包括:
[0020]設定快照生成觸發時刻和快照回收觸發時刻;若當前時間達到所述快照生成觸發時刻,激活所述快照生成指令,生成快照;若當前時間達到所述快照回收觸發時刻,激活所述快照回收指令,回收快照。
[0021]本發明還一種基于快照的業務級數據一致性保護裝置,包括:
[0022]接收模塊,用于接收業務數據,獲取所述業務數據的寫入位置和時間信息;
[0023]獲取模塊,用于利用所述業務數據的寫入位置和時間信息獲取存儲增量值;
[0024]快照生成模塊,用于當所述存儲增量值大于增量存儲空間的閾值時,啟動快照生成指令,生成快照;
[0025]快照回收模塊,用于當所述存儲增量值小于所述增量存儲空間的閾值時,啟動快照回收指令,回收快照;
[0026]寫入模塊,用于將所述業務數據寫入至所述增量存儲空間的可用文件中,形成增量文件。
[0027]優選的,所述快照生成模塊包括:
[0028]第一啟動單元,用于啟動快照生成指令;
[0029]只讀快照生成單元,用于將所述增量存儲空間中寫入的業務數據生成一個只讀快昭.
[0030]第一備份單元,用于在備份區域建立所述只讀快照的快照。
[0031]優選的,所述快照回收模塊包括:
[0032]第二啟動單元,啟動快照回收指令;
[0033]第二備份單元,用于獲取所述增量存儲空間中創建時間最長的增量文件和對應快照,進行離線磁盤備份。
[0034]優選的,所述快照回收模塊還包括:
[0035]刪除單元,用于備份完成后刪除所述創建時間最長的增量文件和對應快照。
[0036]優選的,所述裝置還包括:
[0037]定時模塊,用于設定快照生成觸發時刻和快照回收觸發時刻;若當前時間達到所述快照生成觸發時刻,激活所述快照生成指令,生成快照;若當前時間達到所述快照回收觸發時刻,激活所述快照回收指令,回收快照。
[0038]本發明所提供的一種基于快照的業務級數據一致性保護方法及裝置,接收業務數據,獲取業務數據的寫入位置和時間信息;利用業務數據的寫入位置和時間信息獲取存儲增量值;當存儲增量值大于增量存儲空間的閾值時,啟動快照生成指令,生成快照;當存儲增量值小于增量存儲空間的閾值時,啟動快照回收指令,回收快照;將業務數據寫入至增量存儲空間的可用文件中,形成增量文件。可見,根據業務數據獲取存儲增量值,依據存儲增量值進行生成快照或者回收快照,采用了增量式觸發快照,而存儲增量值能夠表現業務數據的1顆粒度,所以實現根據業務級數據的1顆粒度不同,增量式觸發快照,提高快照的可靠性。
【附圖說明】
[0039]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0040]圖1為本發明所提供的一種基于快照的業務級數據一致性保護方法的流程示意圖;
[0041]圖2為本發明所提供的一種基于快照的業務級數據一致性保護裝置的結構示意圖。
【具體實施方式】
[0042]本發明的核心是提供一種基于快照的業務級數據一致性保護方法及裝置,以實現根據業務級數據的1顆粒度不同,增量式觸發快照,提高快照的可靠性。
[0043]為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0044]參見圖1,圖1為本發明所提供的一種基于快照的業務級數據一致性保護方法的流程示意圖,該方法包括:
[0045]Sll:接收業務數據,獲取業務數據的寫入位置和時間信息;
[0046]其中,業務數據是不同業務類型的數據,例如日志數據,存儲盤上的存儲數據或者數據庫中的數據。
[0047]S12:利用業務數據的寫入位置和時間信息獲取存儲增量值;
[0048]其中,業務數據本身會具有信息攜帶,該信息表明業務數據的寫入位置和寫入時間,所述時間信息是業務數據的寫入時間。通過業務數據的寫入位置和時間信息,能夠得到業務數據需要寫入存儲空間的存儲值,即存儲空間中需要寫入業務數據要用到的存儲空間里的文件數,為存儲增量值。
[0049]S13:當存儲增量值大于增量存儲空間的閾值時,啟動快照生成指令,生成快照;
[0050]其中,增量存儲空間為存儲空間可用的存儲空間,用來寫入業務數據,該增量存儲空間有閾值,業務數據的存儲增量值超過閾值,存儲空間不能負荷該存儲增量值,存儲增量值是存儲空間中需要寫入業務數據要用到的存儲空間里的文件數,能夠表現業務數據的1顆粒度,即業務數據的1顆粒度太大時,立刻進行生成快照,不用等一段時候后再進行生成快照,即增量式觸發快照,提高快照的可靠性。
[0051]具體的,生成快照的過程中,啟動快照生成指令,將增量存儲空間中寫入的業務數據生成一個只讀快照,在備份區域建立所述只讀快照的快照。
[0052]具體的,接收業務下發的數據流,根據數據寫入位置和時間戳信息填充數據結構,記錄存儲文件增量值。如果增量值達到增量存儲區域的閾值,表示增量存儲空間已滿,則進行快照生成處理。如果增量存儲區域可用的文件數小于最少可用個數,則進行快照回收處理。然后將當前下發數據流寫入到增量存儲區域的可用文件中。
[0053]其中,步驟S13完成之后進行步驟S15。
[0054]S14:當存儲增量值小于增量存儲空間的閾值時,啟動快照回收指令,回收快照;
[0055]其中,存儲增量值能夠表現業務數據的1顆粒度,即業務數據的1顆粒度太小時,立刻進行回收快照,不用等一段時候后再進行。