存儲快照創建方法和裝置的製作方法
2023-06-26 16:10:56 3
專利名稱:存儲快照創建方法和裝置的製作方法
技術領域:
本發明涉及計算機應用領域,尤其涉及一種存儲快照創建方法和裝置。
背景技術:
存儲設備發生應用故障或者文件損壞時,使用快照可以及時進行數據恢復,將數據恢復成快照產生時間點時的狀態。現有的快照並不能保證存儲快照與應用時刻數據的一致性,如資料庫有一個交易,最優的應該是發生交易的時刻做快照,而現有技術中的快照一般定時或手工控制創建,無法滿足資料庫交易不定時發生和實時數據存儲的需要。這樣,如果需要進行數據恢復,也無法得到資料庫交易時刻的數據。此外,在前端有讀寫操作時,有一部分數據還在前端緩存中,此部分數據也無法加入快照,影響了快照存儲數據與實時數據的一致性。
發明內容
本發明提供了一種存儲快照創建方法和裝置,解決了快照數據與實時數據不一致的問題。一種存儲快照創建方法,包括:將緩存中的數據刷寫入磁碟;在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。優選的,所述將緩存中的數據刷寫入磁碟的步驟之前,還包括:伺服器識別資料庫事務;在識別到某一應用時刻的資料庫事件時,觸發客戶端的緩存數據刷寫操作,將該資料庫事件的客戶端的數據寫入磁碟緩存。優選的,所述伺服器識別資料庫事務具體為:所述伺服器與資料庫智能聯動,識別資料庫的操作,每個對資料庫的操作即對應一個資料庫事務。優選的,所述觸發客戶端的緩存數據刷寫操作具體為:伺服器向客戶端發送緩存數據刷寫的指令。本發明還提供了一種存儲快照創建裝置,包括:刷寫模塊,用於將緩存中的數據刷寫入磁碟;快照創建模塊,用於在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。優選的,上述存儲快照創建裝置還包括:監測模塊,用於識別資料庫事務;刷寫觸發模塊,用於在識別到某一應用時刻的資料庫事件時,觸發客戶端的緩存數據刷寫操作,將該資料庫事件的客戶端的數據寫入磁碟緩存。本發明提供了一種存儲快照創建方法和裝置,將緩存中的數據刷寫入磁碟,在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建,在數據寫入磁碟後實時創建快照,實現了保證數據一致性的快照創建機制,解決了快照數據與實時數據不一致的問題。
圖1是本發明的實施例一提供的一種存儲快照創建方法的流程圖;圖2是本發明的實施例二提供的一種存儲快照創建裝置的結構示意圖;圖3是本發明的實施例三提供的一種存儲快照創建裝置的結構示意圖。
具體實施例方式現有的快照並不能保證存儲快照與應用時刻數據的一致性,如資料庫有一個交易,最優的應該是發生交易的時刻做快照,而現有技術中的快照一般定時或手工控制創建,無法滿足資料庫交易不定時發生和實時數據存儲的需要。這樣,如果需要進行數據恢復,也無法得到資料庫交易時刻的數據。此外,在前端有讀寫操作時,有一部分數據還在前端緩存中,此部分數據也無法加入快照,影響了快照存儲數據與實時數據的一致性。為了解決上述問題,本發明的實施例提供了一種存儲快照創建方法和裝置。下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互任意組合。首先結合附圖,對本發明的實施例一進行說明。本發明實施例提供了一種存儲快照創建方法,使用該方法完成存儲快照創建的流程如圖1所示,包括:步驟101、伺服器識別資料庫事務;本步驟中,伺服器上可裝載有應用感知代理程序,以保證數據的完整性。伺服器與資料庫智能聯動,對資料庫事務進行感知,具體的,可檢測對資料庫的操作,以確保能正確識別到某一個應用時刻(應用時刻是指具體的一個事務點的發生時間)的數據事務。步驟102、在識別到某一應用時刻的資料庫事件時,觸發客戶端的緩存數據刷寫操作,將該資料庫事件的客戶端的數據寫入磁碟緩存;本步驟中,當伺服器檢測到資料庫事件時,伺服器向客戶端發送一個指令,指示將該資料庫事件的客戶端的數據寫入磁碟緩存。步驟103、將緩存中的數據刷寫入磁碟;本步驟中,將緩存中的數據刷寫到磁碟,避免快照創建時缺乏對緩存數據的保護。通常數據在寫入磁碟時,先將數據寫入緩存中,再在後來某個時刻異步寫入磁碟。步驟104、在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。下面結合附圖,對本發明的實施例二進行說明。本發明實施例提供了一種存儲快照創建裝置,其結構如圖2所示,包括:刷寫模塊201,用於將緩存中的數據刷寫入磁碟;快照創建模塊202,用於在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。優選的,所述存儲快照創建裝置還包括:
監測模塊203,用於識別資料庫事務;刷寫觸發模塊204,用於在識別到某一應用時刻的資料庫事件時,觸發客戶端的緩存數據刷寫操作,將該資料庫事件的客戶端的數據寫入磁碟緩存。上述存儲快照創建裝置可集成於伺服器中,由伺服器完成相應功能。下面結合附圖,對本發明的實施例三進行說明。本發明實施例提供了一種存儲快照創建裝置,其結構如圖3所示,包括:應用感知模塊301,與資料庫應用智能聯動,對事務進行感知,以確保能正確識別到某一個應用時刻的資料庫事務。緩存刷新程序模塊302,通常對數據的寫會採用延遲寫,寫數據時首先將數據寫入緩存中,刷新程序模塊觸發緩存寫入後端磁碟操作,將數據寫入後端磁碟。快照創建模塊303,在緩存數據寫入磁碟後,進行創建快照。所述應用感知模塊301,與資料庫應用相連,用以感知資料庫事務操作,可以確保回到應用的某一時刻。所述緩存刷新程序模塊302,與所述應用感知模塊301相連,用於處理將緩存中的數據刷寫到後端磁碟。所述快照創建模塊303,用於在緩存中的數據刷寫到後端後,創建快照。本發明的實施例提供了一種存儲快照創建方法和裝置,將緩存中的數據刷寫入磁碟,在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建,在數據寫入磁碟後實時創建快照,實現了保證數據一致性的快照創建機制,解決了快照數據與實時數據不一致的問題。本領域普通技術人員可以理解上述實施例的全部或部分步驟可以使用電腦程式流程來實現,所述電腦程式可以存儲於一計算機可讀存儲介質中,所述電腦程式在相應的硬體平臺上(如系統、設備、裝置、器件等)執行,在執行時,包括方法實施例的步驟之
一或其組合。可選地,上述實施例的全部或部分步驟也可以使用集成電路來實現,這些步驟可以被分別製作成一個個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。上述實施例中的各裝置/功能模塊/功能單元可以採用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,也可以分布在多個計算裝置所組成的網絡上。上述實施例中的各裝置/功能模塊/功能單元以軟體功能模塊的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。上述提到的計算機可讀取存儲介質可以是只讀存儲器,磁碟或光碟等。任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以權利要求所述的保護範圍為準。
權利要求
1.一種存儲快照創建方法,其特徵在於,包括: 將緩存中的數據刷寫入磁碟; 在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。
2.根據權利要求1所述的存儲快照創建方法,其特徵在於,所述將緩存中的數據刷寫入磁碟的步驟之前,還包括: 伺服器識別資料庫事務; 在識別到某一應用時刻的資料庫事件時,觸發客戶端的緩存數據刷寫操作,將該資料庫事件的客戶端的數據寫入磁碟緩存。
3.根據權利要求2所述的存儲快照創建方法,其特徵在於,所述伺服器識別資料庫事務具體為: 所述伺服器與資料庫智能聯動,識別資料庫的操作,每個對資料庫的操作即對應一個資料庫事務。
4.根據權利要求2所述的存儲快照創建方法,其特徵在於,所述觸發客戶端的緩存數據刷寫操作具體為: 伺服器向客戶端發送緩存數據刷寫的指令。
5.一種存儲快照創建裝置,其特徵在於,包括: 刷寫模塊,用於將緩存中的數據刷寫入磁碟; 快照創建模塊,用於在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。
6.根據權利要求5所述的存儲快照創建裝置,其特徵在於,該裝置還包括: 監測模塊,用於識別資料庫事務; 刷寫觸發模塊,用於在識別到某一應用時刻的資料庫事件時,觸發客戶端的緩存數據刷寫操作,將該資料庫事件的客戶端的數據寫入磁碟緩存。
全文摘要
本發明提供了一種存儲快照創建方法和裝置。涉及計算機應用領域;解決了快照數據與實時數據不一致的問題。該方法包括將緩存中的數據刷寫入磁碟;在數據刷寫入磁碟完成後,對刷寫至所述磁碟的數據進行快照創建。本發明提供的技術方案適用於存儲設備數據恢復,實現了保證數據一致性的快照創建機制。
文檔編號G06F11/14GK103150232SQ20131004281
公開日2013年6月12日 申請日期2013年2月1日 優先權日2013年2月1日
發明者呂爍 申請人:浪潮(北京)電子信息產業有限公司