亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用于數(shù)據(jù)備份的方法以及裝置的制造方法

文檔序號:10488830閱讀:748來源:國知局
一種用于數(shù)據(jù)備份的方法以及裝置的制造方法
【專利摘要】本申請公開了一種用于數(shù)據(jù)備份的方法,包括:向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除;其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。所述用于數(shù)據(jù)備份的方法實現(xiàn)簡單,成本較低,并且備份數(shù)據(jù)的安全性較高。
【專利說明】
一種用于數(shù)據(jù)備份的方法以及裝置
技術(shù)領(lǐng)域
[0001]本申請涉及數(shù)據(jù)備份技術(shù)領(lǐng)域,具體涉及一種用于數(shù)據(jù)備份的方法。本申請同時涉及一種用于檢測主備庫數(shù)據(jù)差異的方法,一種用于數(shù)據(jù)備份的裝置,以及一種用于檢測主備庫數(shù)據(jù)差異的裝置。
【背景技術(shù)】
[0002]隨著近幾年來業(yè)務(wù)系統(tǒng)的高速發(fā)展,當前的數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagement System, DBMS)也隨著客戶的增加、業(yè)務(wù)的增長以及業(yè)務(wù)系統(tǒng)的交易數(shù)和交易復雜度的增長有了大規(guī)模的提升,同時也導致了 DBMS中的數(shù)據(jù)變化更加頻繁,DBMS的ACID (原子性 Atomicity、一致性 Consistency、隔離性 Isolat1n 和持久性 Durability)實現(xiàn),保證了 DBMS中數(shù)據(jù)的穩(wěn)定性和持久性。其中,持久性意味著在主機Host失效的時候,可以保證數(shù)據(jù)的持久一致。當前,DBMS采用的是開放的MySQL數(shù)據(jù)庫產(chǎn)品,通過主備庫進行異步數(shù)據(jù)復制來實現(xiàn);主庫(master)首先將數(shù)據(jù)的變化記錄到二進制日志(binarylog,binlog)中,binlog記錄的是數(shù)據(jù)寫入主庫,或者主庫中的數(shù)據(jù)發(fā)生改變的事件;備庫(slave)將binlog中記錄的事件復制到中繼日志(relay log)中;slave執(zhí)行relay log中記錄的事件,并以relay log中記錄的數(shù)據(jù)更新自身存儲的數(shù)據(jù)。在主備庫進行異步數(shù)據(jù)復制的過程中,如果master突然出現(xiàn)異常,貝>J可能會存在slave未能及時復制master中的數(shù)據(jù),造成數(shù)據(jù)丟失。
[0003]目前,針對上述MySQL數(shù)據(jù)庫主備庫進行異步數(shù)據(jù)復制造成的數(shù)據(jù)丟失,主要的解決方案是基于MySQL數(shù)據(jù)庫的半同步復制模式(Sem1-synchronous Replicat1n),所述半同步復制模式下設(shè)有一個master和至少一個slave,master執(zhí)行完自身的某一事務(wù)后,設(shè)有一個延時等待,用于等待slave來執(zhí)行該事務(wù),直到有任意一個slave執(zhí)行該事務(wù),否則master會繼續(xù)上述的延時等待,防止了由于master異常導致slave未能及時復制master中的數(shù)據(jù)造成的數(shù)據(jù)丟失。
[0004]上述提供的現(xiàn)有技術(shù)存在明顯的缺陷,上述基于MySQL數(shù)據(jù)庫的半同步復制模式,實現(xiàn)難度較大,并且在執(zhí)行單條事務(wù)時增加了額外的延時等待,導致在備份數(shù)據(jù)時的耗時較長;此外,上述基于MySQL數(shù)據(jù)庫的半同步復制模式,如果slave出現(xiàn)異常,則master無法接收slave發(fā)送的事務(wù)消息,master在延時等待結(jié)束之后,切換為異步復制模式,并一直處于異步復制模式,存在一定的缺陷。

【發(fā)明內(nèi)容】

[0005]本申請?zhí)峁┮环N用于數(shù)據(jù)備份的方法,以解決現(xiàn)有技術(shù)存在的數(shù)據(jù)備份耗時長和實現(xiàn)難度大的問題。本申請同時涉及一種用于檢測主備庫數(shù)據(jù)差異的方法,一種用于數(shù)據(jù)備份的裝置,以及一種用于檢測主備庫數(shù)據(jù)差異的裝置。
[0006]本申請?zhí)峁┮环N用于數(shù)據(jù)備份的方法,包括:
[0007]向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;
[0008]獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;
[0009]將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除;
[0010]其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。
[0011]可選的,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),相應的,該校驗數(shù)據(jù)插入主庫的步驟,采用下述方式:
[0012]周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫;
[0013]若是,則檢測主庫中是否存在所述校驗數(shù)據(jù);
[0014]若存在,以替換主庫中存儲的校驗數(shù)據(jù)的方式將該校驗數(shù)據(jù)插入主庫;
[0015]若不存在,則將該校驗數(shù)據(jù)插入主庫;
[0016]若否,則返回所述周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫的步驟。
[0017]可選的,所述寫入到主庫中的數(shù)據(jù)和校驗數(shù)據(jù),通過日志方式備份至備庫,相應的,所述數(shù)據(jù)和校驗數(shù)據(jù)通過日志方式備份至備庫的步驟,采用下述方式:
[0018]將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到二進制日志中;
[0019]將所述二進制日志中記錄的數(shù)據(jù)事件復制到中繼日志中;
[0020]執(zhí)行所述中繼日志中記錄的數(shù)據(jù)事件,并以該中繼日志中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫。
[0021]可選的,所述將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除的步驟,包括:
[0022]獲取所述鏡像數(shù)據(jù)寫入所述存儲空間的時間;
[0023]將所述鏡像數(shù)據(jù)寫入所述存儲空間的時間與所述完備時間點進行比較,獲得該鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄;
[0024]將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除。
[0025]可選的,所述獲取該校驗數(shù)據(jù)插入主庫的時間的步驟,采用下述方式:
[0026]從所述校驗數(shù)據(jù)中讀取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為所述完備時間點。
[0027]可選的,所述獲取該校驗數(shù)據(jù)插入主庫的時間的步驟,采用下述方式:
[0028]根據(jù)所述中繼日志中記錄的數(shù)據(jù)事件,從所述數(shù)據(jù)事件中讀取所述校驗數(shù)據(jù)插入主庫的時間,并將該時間作為所述完備時間點。
[0029]可選的,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù),相應的,所述數(shù)據(jù)同步寫入到設(shè)定存儲空間,采用下述任意一種方式:
[0030]將所述數(shù)據(jù)以本地存儲的方式同步寫入到設(shè)定存儲空間;
[0031]將所述數(shù)據(jù)以遠端存儲的方式同步寫入到設(shè)定存儲空間。
[0032]可選的,所述存儲空間包括內(nèi)存和/或磁盤。
[0033]本申請另外提供一種用于檢測主備庫數(shù)據(jù)差異的方法,包括:
[0034]向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;
[0035]獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;
[0036]檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0037]若是,將所述寫入主庫的時間晚于所述完備時間點的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0038]可選的,所述檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)的步驟,包括:
[0039]周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0040]若是,則檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在;
[0041]若存在,則主庫和備庫之間沒有存在差異的數(shù)據(jù);
[0042]若不存在,則將所述寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0043]本申請另外提供一種用于數(shù)據(jù)備份的裝置,包括:
[0044]校驗數(shù)據(jù)查詢單元,用于向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;
[0045]完備時間點獲取單元,用于獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;
[0046]數(shù)據(jù)記錄刪除單元,用于將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除;
[0047]其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。
[0048]可選的,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),相應的,該校驗數(shù)據(jù)通過下述單元插入主庫:
[0049]數(shù)據(jù)寫入檢測單元,用于周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫;
[0050]若是,則進入校驗數(shù)據(jù)檢測單元;
[0051]若否,則返回所述數(shù)據(jù)寫入檢測單元;
[0052]所述校驗數(shù)據(jù)檢測單元,用于檢測主庫中是否存在所述校驗數(shù)據(jù);
[0053]若存在,以替換主庫中存儲的校驗數(shù)據(jù)的方式將該校驗數(shù)據(jù)插入主庫;
[0054]若不存在,則將該校驗數(shù)據(jù)插入主庫。
[0055]可選的,所述寫入到主庫中的數(shù)據(jù)和校驗數(shù)據(jù),通過日志方式備份至備庫,相應的,所述數(shù)據(jù)和校驗數(shù)據(jù)通過下述單元備份至備庫:
[0056]數(shù)據(jù)寫入單元,用于將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到二進制日志中;
[0057]數(shù)據(jù)復制單元,用于將所述二進制日志中記錄的數(shù)據(jù)事件復制到中繼日志中;
[0058]數(shù)據(jù)更新單元,用于執(zhí)行所述中繼日志中記錄的數(shù)據(jù)事件,并以該中繼日志中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫。
[0059]可選的,所述數(shù)據(jù)記錄刪除單元,包括:
[0060]數(shù)據(jù)寫入時間獲取子單元,用于獲取所述鏡像數(shù)據(jù)寫入所述存儲空間的時間;
[0061]數(shù)據(jù)比較子單元,用于將所述鏡像數(shù)據(jù)寫入所述存儲空間的時間與所述完備時間點進行比較,獲得該鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄;
[0062]數(shù)據(jù)刪除子單元,用于將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除。
[0063]本申請另外提供一種用于檢測主備庫數(shù)據(jù)差異的裝置,包括:
[0064]校驗數(shù)據(jù)查詢單元,用于向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;
[0065]完備時間點獲取單元,用于獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;
[0066]數(shù)據(jù)檢測單元,用于檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0067]若是,則進入差異數(shù)據(jù)生成單元;
[0068]所述差異數(shù)據(jù)生成單元,用于將所述寫入主庫的時間晚于所述完備時間點的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0069]可選的,所述數(shù)據(jù)檢測單元,包括:
[0070]第一數(shù)據(jù)檢測子單元,用于周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0071]若是,則進入第二數(shù)據(jù)檢測子單元;
[0072]所述第二數(shù)據(jù)檢測子單元,用于檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在;
[0073]若存在,則主庫和備庫之間沒有存在差異的數(shù)據(jù);
[0074]若不存在,則將所述寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0075]與現(xiàn)有技術(shù)相比,本申請具有以下優(yōu)點:
[0076]本申請所述的用于數(shù)據(jù)備份的方法,包括:向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除;其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。
[0077]本申請所述的用于數(shù)據(jù)備份的方法,將數(shù)據(jù)備份到主庫,并同時將所述數(shù)據(jù)以完整鏡像的方式備份到獨立于主庫存儲之外的存儲空間,形成鏡像數(shù)據(jù),主庫的數(shù)據(jù)通過日志的方式備份到備庫,形成另外一個數(shù)據(jù)的備份,通過周期性的向主庫插入校驗數(shù)據(jù),以及周期性的向備庫查詢所述校驗數(shù)據(jù)在檢測主庫和備庫之間重復的數(shù)據(jù),將所述鏡像數(shù)據(jù)中所述主庫和備庫之間重復的數(shù)據(jù)刪除,使所述鏡像數(shù)據(jù)和所述備庫中的數(shù)據(jù)組成一個完整的數(shù)據(jù)備份,實現(xiàn)簡單,成本較低,并且備份數(shù)據(jù)的安全性較高。
【附圖說明】
[0078]圖1是本申請實施例提供的一種用于數(shù)據(jù)備份的方法處理流程圖;
[0079]圖2是本申請實施例提供的一種用于檢測主備庫數(shù)據(jù)差異的方法處理流程圖;
[0080]圖3是本申請實施例提供的一種用于數(shù)據(jù)備份的裝置示意圖;
[0081]圖4是本申請實施例提供的一種用于檢測主備庫數(shù)據(jù)差異的裝置示意圖。
【具體實施方式】
[0082]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本申請。但是本申請能夠以很多不同于在此描述的其他方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本申請內(nèi)涵的情況下做類似推廣,因此本申請不受下面公開的具體實施的限制。
[0083]本申請?zhí)峁┮环N用于數(shù)據(jù)備份的方法,此外,本申請還提供一種用于檢測主備庫數(shù)據(jù)差異的方法,一種用于數(shù)據(jù)備份的裝置,以及一種用于檢測主備庫數(shù)據(jù)差異的裝置。
[0084]本申請?zhí)峁┑囊环N用于數(shù)據(jù)備份的方法實施例如下:
[0085]參照圖1,其示出了本實施例提供的一種用于數(shù)據(jù)備份的方法處理流程圖。
[0086]以下結(jié)合圖1對本實施例提供的一種用于數(shù)據(jù)備份的方法進行說明,并且對該方法的各個步驟進行說明;此外,本實施例提供的一種用于數(shù)據(jù)備份的方法的具體步驟之間的順序關(guān)系請根據(jù)圖1確定。
[0087]步驟S101,向備庫查詢校驗數(shù)據(jù)。
[0088]本實施例以一種基于MySQL數(shù)據(jù)庫的用于數(shù)據(jù)備份的方法為例,對本申請?zhí)峁┑乃鲇糜跀?shù)據(jù)備份的方法進行說明;因此,本實施例中,所述主庫和備庫是指MySQL數(shù)據(jù)庫。
[0089]除此之外,還可以基于其他的數(shù)據(jù)庫平臺對本申請?zhí)峁┑挠糜跀?shù)據(jù)備份的方法進行說明,在此不作限定。
[0090]所述校驗數(shù)據(jù),是指在主庫中插入的數(shù)據(jù),其中包含有特定的信息,區(qū)別于所述數(shù)據(jù)(即:待備份的數(shù)據(jù))。
[0091]需要說明的是,在本步驟所述的向備庫查詢校驗數(shù)據(jù)之前,包括將所述校驗數(shù)據(jù)插入主庫的步驟,具體實現(xiàn)如下:
[0092]I)周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫;
[0093]所述數(shù)據(jù),是指待備份的數(shù)據(jù),是由應用程序被業(yè)務(wù)系統(tǒng)調(diào)用后產(chǎn)生的有用數(shù)據(jù),例如用戶信息、交易信息等。
[0094]上述檢測過程中設(shè)置周期的目的是為了減少數(shù)據(jù)的處理量,比如在深夜或者凌晨時,數(shù)據(jù)比較少,此時,校驗數(shù)據(jù)的插入主庫的頻率大大降低。通過設(shè)置檢測的周期,能夠避免特殊情形下頻繁將所述校驗數(shù)據(jù)插入主庫造成的系統(tǒng)資源的浪費。
[0095]若是,進入下述步驟2),檢測主庫中是否存在所述校驗數(shù)據(jù);
[0096]若否,則重復該步驟,返回所述周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫的步驟。
[0097]除此之外,上述周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)插入主庫的步驟還可以通過其他方法實現(xiàn),比如檢測在特定時間段內(nèi)是否有數(shù)據(jù)寫入主庫,在此不作限定。
[0098]2)檢測主庫中是否存在所述校驗數(shù)據(jù);
[0099]若存在,以替換主庫中存儲的校驗數(shù)據(jù)的方式將該校驗數(shù)據(jù)插入主庫;
[0100]若不存在,則將該校驗數(shù)據(jù)插入主庫;
[0101]本實施例是以覆蓋替換的方式在主庫中插入所述校驗數(shù)據(jù);因此,在所述校驗數(shù)據(jù)插入主庫之前,需要進行檢測,檢測主庫中是否存在所述校驗數(shù)據(jù),如果檢測到主庫中存在校驗數(shù)據(jù),則以替換主庫中存儲的校驗數(shù)據(jù)的方式將該數(shù)據(jù)插入主庫即可;如果檢測到主庫中不存在校驗數(shù)據(jù),則表明該校驗數(shù)據(jù)是首次插入主庫中,或者主庫出現(xiàn)異常,則直接將該校驗數(shù)據(jù)插入主庫即可。
[0102]此外,需要說明的是,在本步驟所述的向備庫查詢校驗數(shù)據(jù)之前,還包括:基于MySQL數(shù)據(jù)庫的主備庫異步復制原理,將主庫中存儲的數(shù)據(jù)和校驗數(shù)據(jù)通過日志方式備份至備庫,具體實現(xiàn)如下:
[0103]將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到binlog中;
[0104]將所述binlog中記錄的數(shù)據(jù)事件復制到relay log中;
[0105]執(zhí)行所述relay log中記錄的數(shù)據(jù)事件,并以該relay log中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫。
[0106]上述將主庫中存儲的數(shù)據(jù)和校驗數(shù)據(jù)復制到備庫的過程中,需要花費一定的時間,基于此,當主庫突然出現(xiàn)異常時,很可能造成主庫中的數(shù)據(jù)和/或校驗數(shù)據(jù)并未全部復制到備庫中,導致備庫中的數(shù)據(jù)和/或校驗數(shù)據(jù)缺失。
[0107]本發(fā)明正是為了解決這個缺陷,在將數(shù)據(jù)寫入到主庫的過程中,同時將該數(shù)據(jù)寫入到設(shè)定存儲空間中,生成該數(shù)據(jù)的一個鏡像數(shù)據(jù)。
[0108]具體的,本實施例中,將數(shù)據(jù)進行序列化,序列化為可存儲的數(shù)據(jù)格式之后,將數(shù)據(jù)寫入到計算機本地的存儲空間中,生成該數(shù)據(jù)的一個鏡像數(shù)據(jù);其中,所述存儲空間包括內(nèi)存、磁盤,以及內(nèi)存與磁盤二者的組合。
[0109]除此之外,還可以將該據(jù)存儲到遠端服務(wù)器的存儲空間中,或者存儲到云存儲空間中,在此不做限定。
[0110]步驟S102,獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點。
[0111]本步驟得以實施的前提是上述步驟SlOl中,在備庫中查詢到所述校驗數(shù)據(jù)。
[0112]根據(jù)上述步驟SlOl在備庫中查詢到的所述校驗數(shù)據(jù),獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點,具體實現(xiàn)如下:
[0113]在備庫的數(shù)據(jù)表中找到包含有該校驗數(shù)據(jù)的relay log,根據(jù)所述relay log中記錄的數(shù)據(jù)事件,從所述數(shù)據(jù)事件中讀該校驗數(shù)據(jù)插入主庫的時間,并將該校驗數(shù)據(jù)插入主庫的時間作為所述完備時間點。
[0114]除此之外,上述獲取該校驗數(shù)據(jù)插入主庫的時間的步驟還可以采用其他方法實現(xiàn),比如從所述校驗數(shù)據(jù)自身包含的時間信息中讀取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為所述完備時間,在此不做限定。
[0115]步驟S103,將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除。
[0116]上述步驟S101,向備庫查詢校驗數(shù)據(jù),上述步驟S102,獲取所述完備時間點,本步驟中,將所述鏡像數(shù)據(jù)和備庫二者存儲的數(shù)據(jù)中相互重復的部分數(shù)據(jù)刪除,即:將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除,具體實現(xiàn)如下:
[0117]I)獲取所述鏡像數(shù)據(jù)寫入所述存儲空間的時間;
[0118]所述鏡像數(shù)據(jù)寫入所述存儲空間的時間,是指所述數(shù)據(jù)寫入計算機本地的存儲空間時的時間。
[0119]2)將所述鏡像數(shù)據(jù)寫入所述存儲空間的時間與所述完備時間點進行比較,獲得該鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄;
[0120]3)將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除。
[0121]此處,基于上述步驟I)、2)和3),存在兩種情況:
[0122]一是備庫中的日志數(shù)據(jù)與主庫中的日志數(shù)據(jù)相比,沒有缺失;由于數(shù)據(jù)寫入主庫和寫入所述存儲空間是同步的,此時,所述完備時間點為插入主庫的時間最晚的一個校驗數(shù)據(jù)插入主庫的時間,即:所述存儲空間中的鏡像數(shù)據(jù)全部都是完備時間點之前的數(shù)據(jù),則將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除,即:刪除存儲空間中存儲的全部鏡像數(shù)據(jù);
[0123]二是備庫中的日志數(shù)據(jù)與主庫中的日志數(shù)據(jù)相比,有一定的缺失;此時,存儲空間的鏡像數(shù)據(jù)中在完備時間點之前的數(shù)據(jù)為存儲空間和備庫二者之間重復的數(shù)據(jù),則將存儲空間中存儲的鏡像數(shù)據(jù)中在所述完備時間點之前的數(shù)據(jù)刪除即可。
[0124]除此之外,上述將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除的步驟還可以采用其他方法實現(xiàn),在此不作限定。
[0125]本申請?zhí)峁┑囊环N用于檢測主備庫數(shù)據(jù)差異的方法實施例如下:
[0126]參照圖2,其示出了本實施例提供的一種用于檢測主備庫數(shù)據(jù)差異的方法處理流程圖。
[0127]以下結(jié)合圖2對本實施例提供的一種用于檢測主備庫數(shù)據(jù)差異的方法進行說明,并且對該方法的各個步驟進行說明;此外,本實施例提供的一種用于檢測主備庫數(shù)據(jù)差異的方法的具體步驟之間的順序關(guān)系請根據(jù)圖2確定。
[0128]步驟S201,向備庫查詢校驗數(shù)據(jù)。
[0129]本實施例以一種基于MySQL數(shù)據(jù)庫的用于數(shù)據(jù)備份的方法為例,對本申請?zhí)峁┑乃鲇糜跀?shù)據(jù)備份的方法進行說明;因此,本實施例中,所述主庫和備庫是指MySQL數(shù)據(jù)庫。
[0130]除此之外,還可以基于其他的數(shù)據(jù)庫平臺對本申請?zhí)峁┑挠糜跀?shù)據(jù)備份的方法進行說明,在此不作限定。
[0131]所述校驗數(shù)據(jù),是指在主庫中插入的數(shù)據(jù),其中包含有特定的信息,區(qū)別于所述數(shù)據(jù)(即:待備份的數(shù)據(jù))。
[0132]需要說明的是,在本步驟所述的向備庫查詢校驗數(shù)據(jù)之前,包括將所述校驗數(shù)據(jù)插入主庫的步驟,具體實現(xiàn)如下:
[0133]I)周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0134]所述數(shù)據(jù),是指待備份的數(shù)據(jù),是由應用程序被業(yè)務(wù)系統(tǒng)調(diào)用后產(chǎn)生的有用數(shù)據(jù),例如用戶信息、交易信息等。
[0135]若是,進入下述步驟2),檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在;
[0136]若否,則重復該步驟,返回所述周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)的步驟。
[0137]除此之外,上述周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)的步驟還可以通過其他方法實現(xiàn),比如在特定時間段檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù),在此不作限定。
[0138]2)檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在;
[0139]若存在,則表明主庫和備庫之間沒有存在差異的數(shù)據(jù);
[0140]若不存在,則將所述寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0141]此外,需要說明的是,在本步驟所述的向備庫查詢校驗數(shù)據(jù)之前,還包括:基于MySQL數(shù)據(jù)庫的主備庫異步復制原理,將主庫中存儲的將待備份的數(shù)據(jù)以及所述驗證數(shù)據(jù)通過日志方式備份至備庫,具體實現(xiàn)如下:
[0142]將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到binlog中;
[0143]將所述binlog中記錄的數(shù)據(jù)事件復制到relay log中;
[0144]執(zhí)行所述relay log中記錄的數(shù)據(jù)事件,并以該relay log中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫。
[0145]此處,需要說明的是,上述將主庫中的數(shù)據(jù)和校驗數(shù)據(jù)復制到備庫中,需要花費一定的時間,基于此,當主庫突然出現(xiàn)異常時,很可能造成主庫中的數(shù)據(jù)和校驗數(shù)據(jù)并未全部復制到備庫中,備庫中的數(shù)據(jù)和校驗數(shù)據(jù)存在缺失,本發(fā)明正是基于此來檢測主庫和備庫之間的數(shù)據(jù)的差異。
[0146]步驟S202,獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點。
[0147]本步驟得以實施的前提是上述步驟S201中,在備庫中查詢到所述校驗數(shù)據(jù);
[0148]根據(jù)上述步驟S201在備庫中查詢到的所述校驗數(shù)據(jù),獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點,具體實現(xiàn)如下:
[0149]在備庫的數(shù)據(jù)表中找到包含有該校驗數(shù)據(jù)的relay log,根據(jù)所述relay log中記錄的數(shù)據(jù)事件,從所述數(shù)據(jù)事件中讀該校驗數(shù)據(jù)插入主庫的時間,并將該校驗數(shù)據(jù)插入主庫的時間作為所述完備時間點。
[0150]除此之外,上述獲取該校驗數(shù)據(jù)插入主庫的時間的步驟還可以采用其他方法實現(xiàn),比如從所述校驗數(shù)據(jù)中讀取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為所述完備時間,在此不做限定。
[0151]步驟S203,檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)。
[0152]上述步驟S201,向備庫查詢校驗數(shù)據(jù),上述步驟S202,獲取所述完備時間點,本步驟中,檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù),即:檢測主庫和備庫之間是否有存在差異的數(shù)據(jù)。
[0153]在上述步驟S201中所述周期的時間間隔足夠短的情況下,如果檢測到主庫中存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù),則表明主庫和備庫之間有存在差異的數(shù)據(jù),進入下述步驟S204;
[0154]如果檢測到主庫中不存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù),則表明主庫和備庫之間的數(shù)據(jù)完全相同,主庫和備庫之間沒有存在差異的數(shù)據(jù)。
[0155]步驟S204,將所述寫入主庫的時間晚于所述完備時間點的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0156]本步驟得以實施的前提是,上述步驟S103中檢測到主庫中存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)。
[0157]在上述步驟S201中所述周期的時間間隔足夠短的情況下,如果檢測到主庫中存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù),則表明由于主備庫異步復制的時間延時,使主庫和備庫之間有一部分存在差異的數(shù)據(jù),該部分存在差異的數(shù)據(jù)在主庫中存在,但是還未來得及復制到備庫中,將該部分存在差異的數(shù)據(jù)作為主庫和備庫之間存在差異的數(shù)據(jù)。
[0158]本申請?zhí)峁┑囊环N用于數(shù)據(jù)備份的裝置實施例如下:
[0159]在上述的實施例中,提供了一種用于數(shù)據(jù)備份的方法,與之相對應的,本申請?zhí)峁┝艘环N用于數(shù)據(jù)備份的裝置,由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)的部分請參見上述方法實施例對應說明即可。下述描述的裝置實施例僅僅是示意性的。
[0160]參照圖3,其示出了根據(jù)本實施例提供的一種用于數(shù)據(jù)備份的裝置示意圖。
[0161]本申請?zhí)峁┑囊环N用于數(shù)據(jù)備份的裝置,包括:
[0162]校驗數(shù)據(jù)查詢單元301,用于向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;
[0163]完備時間點獲取單元302,用于獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;
[0164]數(shù)據(jù)記錄刪除單元303,用于將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除;
[0165]其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。
[0166]可選的,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),相應的,該校驗數(shù)據(jù)通過下述單元插入主庫:
[0167]數(shù)據(jù)寫入檢測單元,用于周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫;
[0168]若是,則進入校驗數(shù)據(jù)檢測單元;
[0169]若否,則返回所述數(shù)據(jù)寫入檢測單元;
[0170]所述校驗數(shù)據(jù)檢測單元,用于檢測主庫中是否存在所述校驗數(shù)據(jù);
[0171]若存在,以替換主庫中存儲的校驗數(shù)據(jù)的方式將該校驗數(shù)據(jù)插入主庫;
[0172]若不存在,則將該校驗數(shù)據(jù)插入主庫。
[0173]可選的,所述寫入到主庫中的數(shù)據(jù)和校驗數(shù)據(jù),通過日志方式備份至備庫,相應的,所述數(shù)據(jù)和校驗數(shù)據(jù)通過下述單元備份至備庫:
[0174]數(shù)據(jù)寫入單元,用于將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到二進制日志中;
[0175]數(shù)據(jù)復制單元,用于將所述二進制日志中記錄的數(shù)據(jù)事件復制到中繼日志中;
[0176]數(shù)據(jù)更新單元,用于執(zhí)行所述中繼日志中記錄的數(shù)據(jù)事件,并以該中繼日志中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫。
[0177]可選的,所述數(shù)據(jù)記錄刪除單元303,包括:
[0178]數(shù)據(jù)寫入時間獲取子單元,用于獲取所述鏡像數(shù)據(jù)寫入所述存儲空間的時間;
[0179]數(shù)據(jù)比較子單元,用于將所述鏡像數(shù)據(jù)寫入所述存儲空間的時間與所述完備時間點進行比較,獲得該鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄;
[0180]數(shù)據(jù)刪除子單元,用于將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除。
[0181]本申請?zhí)峁┑囊环N用于檢測主備庫數(shù)據(jù)差異的裝置實施例如下:
[0182]在上述的實施例中,提供了一種用于檢測主備庫數(shù)據(jù)差異的方法,與之相對應的,本申請?zhí)峁┝艘环N用于檢測主備庫數(shù)據(jù)差異的裝置,由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)的部分請參見上述方法實施例對應說明即可。下述描述的裝置實施例僅僅是示意性的。
[0183]參照圖4,其示出了根據(jù)本實施例提供的一種用于檢測主備庫數(shù)據(jù)差異的裝置示意圖。
[0184]本申請?zhí)峁┑囊环N用于檢測主備庫數(shù)據(jù)差異的裝置,包括:
[0185]校驗數(shù)據(jù)查詢單元401,用于向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中;
[0186]完備時間點獲取單元402,用于獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點;
[0187]數(shù)據(jù)檢測單元403,用于檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0188]若是,則進入差異數(shù)據(jù)生成單元;
[0189]所述差異數(shù)據(jù)生成單元404,用于將所述寫入主庫的時間晚于所述完備時間點的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0190]可選的,所述數(shù)據(jù)檢測單元403,包括:
[0191]第一數(shù)據(jù)檢測子單元,用于周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù);
[0192]若是,則進入第二數(shù)據(jù)檢測子單元;
[0193]所述第二數(shù)據(jù)檢測子單元,用于檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在;
[0194]若存在,則主庫和備庫之間沒有存在差異的數(shù)據(jù);
[0195]若不存在,則將所述寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
[0196]本申請雖然以較佳實施例公開如上,但其并不是用來限定本申請,任何本領(lǐng)域技術(shù)人員在不脫離本申請的精神和范圍內(nèi),都可以做出可能的變動和修改,因此本申請的保護范圍應當以本申請權(quán)利要求所界定的范圍為準。
[0197]在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
[0198]內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
[0199]1、計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
[0200]2、本領(lǐng)域技術(shù)人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
【主權(quán)項】
1.一種用于數(shù)據(jù)備份的方法,其特征在于,包括: 向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中; 獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點; 將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除; 其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的用于數(shù)據(jù)備份的方法,其特征在于,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),相應的,該校驗數(shù)據(jù)插入主庫的步驟,采用下述方式: 周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫; 若是,則檢測主庫中是否存在所述校驗數(shù)據(jù); 若存在,以替換主庫中存儲的校驗數(shù)據(jù)的方式將該校驗數(shù)據(jù)插入主庫; 若不存在,則將該校驗數(shù)據(jù)插入主庫; 若否,則返回所述周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫的步驟。3.根據(jù)權(quán)利要求1所述的用于數(shù)據(jù)備份的方法,其特征在于,所述寫入到主庫中的數(shù)據(jù)和校驗數(shù)據(jù),通過日志方式備份至備庫,相應的,所述數(shù)據(jù)和校驗數(shù)據(jù)通過日志方式備份至備庫的步驟,采用下述方式: 將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到二進制日志中; 將所述二進制日志中記錄的數(shù)據(jù)事件復制到中繼日志中; 執(zhí)行所述中繼日志中記錄的數(shù)據(jù)事件,并以該中繼日志中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫O4.根據(jù)權(quán)利要求1所述的用于數(shù)據(jù)備份的方法,其特征在于,所述將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除的步驟,包括: 獲取所述鏡像數(shù)據(jù)寫入所述存儲空間的時間; 將所述鏡像數(shù)據(jù)寫入所述存儲空間的時間與所述完備時間點進行比較,獲得該鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄; 將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除。5.根據(jù)權(quán)利要求1所述的用于數(shù)據(jù)備份的方法,其特征在于,所述獲取該校驗數(shù)據(jù)插入主庫的時間的步驟,采用下述方式: 從所述校驗數(shù)據(jù)中讀取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為所述完備時間點。6.根據(jù)權(quán)利要求3所述的用于數(shù)據(jù)備份的方法,其特征在于,所述獲取該校驗數(shù)據(jù)插入主庫的時間的步驟,采用下述方式: 根據(jù)所述中繼日志中記錄的數(shù)據(jù)事件,從所述數(shù)據(jù)事件中讀取所述校驗數(shù)據(jù)插入主庫的時間,并將該時間作為所述完備時間點。7.根據(jù)權(quán)利要求1所述的用于數(shù)據(jù)備份的方法,其特征在于,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù),相應的,所述數(shù)據(jù)同步寫入到設(shè)定存儲空間,采用下述任意一種方式: 將所述數(shù)據(jù)以本地存儲的方式同步寫入到設(shè)定存儲空間; 將所述數(shù)據(jù)以遠端存儲的方式同步寫入到設(shè)定存儲空間。8.根據(jù)權(quán)利要求7所述的用于數(shù)據(jù)備份的方法,其特征在于,所述存儲空間包括內(nèi)存和/或磁盤。9.一種用于檢測主備庫數(shù)據(jù)差異的方法,其特征在于,包括: 向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中; 獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點; 檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù); 若是,將所述寫入主庫的時間晚于所述完備時間點的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。10.根據(jù)權(quán)利要求9所述的用于檢測主備庫數(shù)據(jù)差異的方法,其特征在于,所述檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)的步驟,包括: 周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù); 若是,則檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在; 若存在,則主庫和備庫之間沒有存在差異的數(shù)據(jù); 若不存在,則將所述寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。11.一種用于數(shù)據(jù)備份的裝置,其特征在于,包括: 校驗數(shù)據(jù)查詢單元,用于向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中; 完備時間點獲取單元,用于獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點; 數(shù)據(jù)記錄刪除單元,用于將鏡像數(shù)據(jù)中早于該完備時間點之前的數(shù)據(jù)記錄刪除; 其中,所述鏡像數(shù)據(jù)為在向主庫中寫入數(shù)據(jù)時,同步寫入到設(shè)定存儲空間的數(shù)據(jù)。12.根據(jù)權(quán)利要求11所述的用于數(shù)據(jù)備份的裝置,其特征在于,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),相應的,該校驗數(shù)據(jù)通過下述單元插入主庫: 數(shù)據(jù)寫入檢測單元,用于周期性的檢測在預設(shè)的時間段內(nèi)是否有數(shù)據(jù)寫入主庫; 若是,則進入校驗數(shù)據(jù)檢測單元; 若否,則返回所述數(shù)據(jù)寫入檢測單元; 所述校驗數(shù)據(jù)檢測單元,用于檢測主庫中是否存在所述校驗數(shù)據(jù); 若存在,以替換主庫中存儲的校驗數(shù)據(jù)的方式將該校驗數(shù)據(jù)插入主庫; 若不存在,則將該校驗數(shù)據(jù)插入主庫。13.根據(jù)權(quán)利要求11所述的用于數(shù)據(jù)備份的裝置,其特征在于,所述寫入到主庫中的數(shù)據(jù)和校驗數(shù)據(jù),通過日志方式備份至備庫,相應的,所述數(shù)據(jù)和校驗數(shù)據(jù)通過下述單元備份至備庫: 數(shù)據(jù)寫入單元,用于將寫入主庫的數(shù)據(jù)和校驗數(shù)據(jù)記錄到二進制日志中; 數(shù)據(jù)復制單元,用于將所述二進制日志中記錄的數(shù)據(jù)事件復制到中繼日志中; 數(shù)據(jù)更新單元,用于執(zhí)行所述中繼日志中記錄的數(shù)據(jù)事件,并以該中繼日志中記錄的數(shù)據(jù)和校驗數(shù)據(jù)更新備庫。14.根據(jù)權(quán)利要求11所述的用于數(shù)據(jù)備份的裝置,其特征在于,所述數(shù)據(jù)記錄刪除單元,包括: 數(shù)據(jù)寫入時間獲取子單元,用于獲取所述鏡像數(shù)據(jù)寫入所述存儲空間的時間; 數(shù)據(jù)比較子單元,用于將所述鏡像數(shù)據(jù)寫入所述存儲空間的時間與所述完備時間點進行比較,獲得該鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄; 數(shù)據(jù)刪除子單元,用于將所述鏡像數(shù)據(jù)中早于完備時間點之前的數(shù)據(jù)記錄刪除。15.一種用于檢測主備庫數(shù)據(jù)差異的裝置,其特征在于,包括: 校驗數(shù)據(jù)查詢單元,用于向備庫查詢校驗數(shù)據(jù),其中,所述校驗數(shù)據(jù)為在主庫中插入的數(shù)據(jù),且在將寫入到主庫中的數(shù)據(jù)通過日志方式備份至備庫過程中,所述校驗數(shù)據(jù)同時備份到備庫中; 完備時間點獲取單元,用于獲取該校驗數(shù)據(jù)插入主庫的時間,并將該時間作為完備時間點; 數(shù)據(jù)檢測單元,用于檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù); 若是,則進入差異數(shù)據(jù)生成單元; 所述差異數(shù)據(jù)生成單元,用于將所述寫入主庫的時間晚于所述完備時間點的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。16.根據(jù)權(quán)利要求15所述的用于檢測主備庫數(shù)據(jù)差異的裝置,其特征在于,所述數(shù)據(jù)檢測單元,包括: 第一數(shù)據(jù)檢測子單元,用于周期性的檢測主庫中是否存在寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù); 若是,則進入第二數(shù)據(jù)檢測子單元; 所述第二數(shù)據(jù)檢測子單元,用于檢測該寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)在備庫中是否存在; 若存在,則主庫和備庫之間沒有存在差異的數(shù)據(jù); 若不存在,則將所述寫入主庫的時間晚于所述完備時間點之后的數(shù)據(jù)視為主庫和備庫之間存在差異的數(shù)據(jù)。
【文檔編號】G06F11/14GK105843702SQ201510019142
【公開日】2016年8月10日
【申請日】2015年1月14日
【發(fā)明人】施云亮, 杜華兵
【申請人】阿里巴巴集團控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1