本申請(qǐng)涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫(kù)備份的校驗(yàn)方法及裝置。
背景技術(shù):
數(shù)據(jù)庫(kù)(database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)經(jīng)常出現(xiàn)各種故障,數(shù)據(jù)庫(kù)備份技術(shù)可以在數(shù)據(jù)庫(kù)出現(xiàn)故障后,以盡可能小的時(shí)間和代價(jià)恢復(fù)數(shù)據(jù)庫(kù)。
無(wú)論采用何種數(shù)據(jù)庫(kù)備份技術(shù),在數(shù)據(jù)庫(kù)備份過(guò)程中,仍可能出現(xiàn)錯(cuò)誤,例如數(shù)據(jù)丟失或數(shù)據(jù)錯(cuò)誤等,導(dǎo)致備份數(shù)據(jù)無(wú)法用來(lái)還原原始數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的多個(gè)方面提供一種數(shù)據(jù)庫(kù)備份的校驗(yàn)方法及裝置,用以校驗(yàn)備份數(shù)據(jù)的有效性,保證備份數(shù)據(jù)能夠還原原始數(shù)據(jù)。
本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)庫(kù)備份的校驗(yàn)方法,包括:
獲取待校驗(yàn)數(shù)據(jù),所述待校驗(yàn)數(shù)據(jù)包括至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù);
校驗(yàn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的完整性;
抽樣訪(fǎng)問(wèn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的可用性;
若完整性和可用性均通過(guò)驗(yàn)證,存儲(chǔ)所述待校驗(yàn)數(shù)據(jù)。
可選地,獲取所述待校驗(yàn)數(shù)據(jù)之前,所述方法還包括:
確定所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例可成功啟動(dòng)。
可選地,所述方法還包括:
若完整性未通過(guò)驗(yàn)證,丟棄所述待校驗(yàn)數(shù)據(jù);以及,
從原備份源中,重新備份所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
可選地,所述方法還包括:
若可用性未通過(guò)驗(yàn)證,丟棄所述待校驗(yàn)數(shù)據(jù);以及,
更新備份源;
從所述更新后的備份源中,重新備份所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
可選地,所述檢測(cè)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的完整性,包括以下至少一種校驗(yàn)操作:
在數(shù)據(jù)表層級(jí),校驗(yàn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性;
在數(shù)據(jù)記錄層級(jí),校驗(yàn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性;
在數(shù)據(jù)項(xiàng)層級(jí),校驗(yàn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性;
若所述至少一種校驗(yàn)操作均通過(guò)正確性校驗(yàn),確定所述待校驗(yàn)數(shù)據(jù)通過(guò)完整性校驗(yàn)。
可選地,所述抽樣訪(fǎng)問(wèn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的可用性,包括:
根據(jù)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的重要度,確定所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率;
按照所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,分別抽樣訪(fǎng)問(wèn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的可用性。
可選地,對(duì)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的第一數(shù)據(jù)庫(kù)實(shí)例,按照所述第一數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率,抽樣訪(fǎng)問(wèn)所述第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),包括:
按照所述第一數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率,對(duì)所述第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)進(jìn)行抽樣,以獲得抽樣數(shù)據(jù);
對(duì)所述抽樣數(shù)據(jù)進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)操作,以獲得數(shù)據(jù)訪(fǎng)問(wèn)操作結(jié)果;
若所述數(shù)據(jù)訪(fǎng)問(wèn)操作結(jié)果正確,確定所述第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)通過(guò)可用性驗(yàn)證。
可選地,所述抽樣訪(fǎng)問(wèn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的可用性,包括:
從所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中,選擇待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例;
抽樣訪(fǎng)問(wèn)所述待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的可用性。
本申請(qǐng)實(shí)施例還提供了一種數(shù)據(jù)庫(kù)備份的校驗(yàn)裝置,包括:
獲取模塊,用于獲取待校驗(yàn)數(shù)據(jù),所述待校驗(yàn)數(shù)據(jù)包括至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù);
第一校驗(yàn)?zāi)K,用于校驗(yàn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的完整性;
第二校驗(yàn)?zāi)K,用于抽樣訪(fǎng)問(wèn)所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的可用性;
存儲(chǔ)模塊,用于在所述第一校驗(yàn)?zāi)K校驗(yàn)的完整性和所述第二校驗(yàn)?zāi)K校驗(yàn)的可用性均通過(guò)驗(yàn)證時(shí),存儲(chǔ)所述待校驗(yàn)數(shù)據(jù)。
可選地,所述裝置還包括:
確定模塊,用于確定所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例可成功啟動(dòng)。
在本申請(qǐng)實(shí)施例中,通過(guò)校驗(yàn)md5值的正確性來(lái)驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性;以及通過(guò)抽樣訪(fǎng)問(wèn)待校驗(yàn)數(shù)據(jù),驗(yàn)證數(shù)據(jù)的可用性,若完整性與可用性均通過(guò),則存儲(chǔ)待校驗(yàn)數(shù)據(jù)。本申請(qǐng)實(shí)施例的雙重校驗(yàn)機(jī)制能夠準(zhǔn)確校驗(yàn)備份數(shù)據(jù)的有效性,保證備份數(shù)據(jù)能夠還原原始數(shù)據(jù)。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1a為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)方法的流程示意圖;
圖1b為本申請(qǐng)又一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)方法的流程示意圖;
圖2為本申請(qǐng)又一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)方法中可用性校驗(yàn)的流程示意圖;
圖3為本申請(qǐng)又一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)方法中可用性校驗(yàn)的流程示意圖;
圖4為本申請(qǐng)又一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)裝置的模塊結(jié)構(gòu)圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說(shuō)明本申請(qǐng)各實(shí)施例提供的技術(shù)方案。
圖1a為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)方法。如圖1a所示,該方法包括以下步驟:
s101:獲取待校驗(yàn)數(shù)據(jù),待校驗(yàn)數(shù)據(jù)包括至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。
s102:校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性。
s103:抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
s104:若完整性和可用性均通過(guò)驗(yàn)證,存儲(chǔ)待校驗(yàn)數(shù)據(jù)。
將數(shù)據(jù)從備份源備份到數(shù)據(jù)庫(kù)中時(shí),可能由于備份源中的數(shù)據(jù)本身存在問(wèn)題或者備份的過(guò)程中出現(xiàn)問(wèn)題,導(dǎo)致備份數(shù)據(jù)不具備有效性,無(wú)法用來(lái)還原原始數(shù)據(jù)。因此,有必要在備份數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)之前對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。
首先,獲取至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),作為待校驗(yàn)數(shù)據(jù)。接著,驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性和可用性。
其中,在完整性的驗(yàn)證過(guò)程中,可以校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性。md5是一種散列函數(shù),用于確保信息傳輸完整一致??梢杂?jì)算至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值,并與預(yù)先計(jì)算出的備份源中對(duì)應(yīng)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)的md5值相比,若計(jì)算出的md5值相同,說(shuō)明md5值正確,則待校驗(yàn)數(shù)據(jù)的完整性通過(guò)校驗(yàn)。若計(jì)算出的md5值不相同,則待校驗(yàn)數(shù)據(jù)的完整性未通過(guò)驗(yàn)證。
在可用性的驗(yàn)證過(guò)程中,可以抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性??蛇x地,可以從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中每一個(gè)數(shù)據(jù)庫(kù)實(shí)例中抽樣部分?jǐn)?shù)據(jù),并對(duì)所述抽樣的數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn)操作。若訪(fǎng)問(wèn)操作結(jié)果正確,則可以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性;若訪(fǎng)問(wèn)操作結(jié)果不正確,則待校驗(yàn)數(shù)據(jù)的可用性未通過(guò)驗(yàn)證。當(dāng)然,也可以抽樣待校驗(yàn)數(shù)據(jù)中全部的數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn)操作。
值得說(shuō)明的是,本申請(qǐng)實(shí)施例中可以先驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性,若完整性通過(guò)驗(yàn)證,再驗(yàn)證可用性;也可以先驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性,若可用性通過(guò)驗(yàn)證,再驗(yàn)證完整性;也可以同時(shí)進(jìn)行驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性和可用性。當(dāng)待校驗(yàn)數(shù)據(jù)的完整性和可用性均通過(guò)驗(yàn)證時(shí),可以確定待校驗(yàn)數(shù)據(jù)具有有效性,進(jìn)而存儲(chǔ)待校驗(yàn)數(shù)據(jù),以便用來(lái)還原原始數(shù)據(jù)。
在本申請(qǐng)實(shí)施例中,通過(guò)校驗(yàn)md5值的正確性來(lái)驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性;以及通過(guò)抽樣訪(fǎng)問(wèn)待校驗(yàn)數(shù)據(jù),驗(yàn)證數(shù)據(jù)的可用性,若完整性與可用性均通過(guò),則存儲(chǔ)待校驗(yàn)數(shù)據(jù)。本申請(qǐng)實(shí)施例的雙重校驗(yàn)機(jī)制能夠準(zhǔn)確校驗(yàn)備份數(shù)據(jù)的有效性,保證備份數(shù)據(jù)能夠還原原始數(shù)據(jù)。
圖1b為本申請(qǐng)又一實(shí)施例提供的數(shù)據(jù)庫(kù)備份的校驗(yàn)方法。如圖1b所示,該方法包括以下步驟:
s200:開(kāi)始。
s201:確定至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例是否能夠成功啟動(dòng);若是,執(zhí)行步驟s202;若否,執(zhí)行步驟s203。
s202:獲取待校驗(yàn)數(shù)據(jù),待校驗(yàn)數(shù)據(jù)包括成功啟動(dòng)的至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),并繼續(xù)執(zhí)行步驟s204-s206。
可以啟動(dòng)備份數(shù)據(jù)庫(kù)中至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。如果成功啟動(dòng),獲取啟動(dòng)成功的至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),作為待校驗(yàn)數(shù)據(jù)。之后驗(yàn)證所述待校驗(yàn)數(shù)據(jù)的完整性和可用性,如下述步驟s204-s206,此處不再贅述。
s203:丟棄啟動(dòng)失敗的數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù),并通知數(shù)據(jù)庫(kù)管理人員,結(jié)束操作。
s204:校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性。
s205:抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
s206:若完整性和可用性均通過(guò)驗(yàn)證,存儲(chǔ)待校驗(yàn)數(shù)據(jù)。
數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)失敗的情況可以包括數(shù)據(jù)庫(kù)實(shí)例不工作、停止響應(yīng)或運(yùn)行中斷的情況。當(dāng)數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)失敗時(shí),意味著數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)不完整或者有錯(cuò)誤,可以不再進(jìn)行之后的校驗(yàn)操作。
在本申請(qǐng)實(shí)施例中,待校驗(yàn)的數(shù)據(jù)為啟動(dòng)成功的數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),即通過(guò)啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例對(duì)備份數(shù)據(jù)進(jìn)行初步的校驗(yàn);初步校驗(yàn)通過(guò)后,在驗(yàn)證完整性與可用性,進(jìn)一步提高了校驗(yàn)的準(zhǔn)確性,保證備份數(shù)據(jù)能夠還原原始數(shù)據(jù)。
在上述實(shí)施例或下述實(shí)施例中,若至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值不正確,則待校驗(yàn)數(shù)據(jù)的完整性未通過(guò)驗(yàn)證,可以丟棄待校驗(yàn)數(shù)據(jù),例如從備份數(shù)據(jù)庫(kù)中刪除待校驗(yàn)數(shù)據(jù)。
備份數(shù)據(jù)的md5值不正確,意味著備份數(shù)據(jù)相比于備份源的數(shù)據(jù)不夠完整,由此推斷,可能是數(shù)據(jù)傳輸過(guò)程中出現(xiàn)問(wèn)題或者讀寫(xiě)過(guò)程中出現(xiàn)問(wèn)題。因此,可以從原備份源中,重新備份至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
接著,對(duì)重新備份的至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)進(jìn)行完整性校驗(yàn)和可用性校驗(yàn)。
可選地,若至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的可用性未通過(guò)驗(yàn)證,可以丟棄待校驗(yàn)數(shù)據(jù)。
備份數(shù)據(jù)的可用性未通過(guò)校驗(yàn),意味著備份數(shù)據(jù)中可能存在一些錯(cuò)誤,導(dǎo)致備份數(shù)據(jù)不可用。此時(shí),很可能是備份源的數(shù)據(jù)本身就不具備可用性,導(dǎo)致備份數(shù)據(jù)也不具備可用性。因此,可以更新備份源;從更新后的備份源中,重新備份至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
接著,對(duì)重新備份的至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)進(jìn)行完整性校驗(yàn)和可用性校驗(yàn)。
本實(shí)施例中,可以根據(jù)待校驗(yàn)數(shù)據(jù)未通過(guò)完整性校驗(yàn)或可用性校驗(yàn)時(shí),從原備份源或者更新后的備份源,重新備份至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù),保證數(shù)據(jù)庫(kù)中更多數(shù)據(jù)的有效性
在上述實(shí)施例或下述實(shí)施例中,根據(jù)數(shù)據(jù)庫(kù)中不同的數(shù)據(jù)組織層級(jí),可以針對(duì)待校驗(yàn)數(shù)據(jù)進(jìn)行不同層級(jí)的完整性校驗(yàn)操作。基于此,檢測(cè)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性的步驟,可以包括數(shù)據(jù)表層級(jí)的校驗(yàn)操作、數(shù)據(jù)記錄層級(jí)的校驗(yàn)操作以及數(shù)據(jù)項(xiàng)層級(jí)的校驗(yàn)操作中任意一種校驗(yàn)操作。
其中,數(shù)據(jù)表層級(jí)的校驗(yàn)操作為在數(shù)據(jù)表層級(jí),校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性。
根據(jù)數(shù)據(jù)庫(kù)中數(shù)據(jù)的不同分類(lèi),可以將一個(gè)數(shù)據(jù)庫(kù)劃分為至少一個(gè)數(shù)據(jù)表,可選地,一個(gè)數(shù)據(jù)庫(kù)實(shí)例可以對(duì)應(yīng)至少一個(gè)數(shù)據(jù)表?;诖耍梢葬槍?duì)每一個(gè)數(shù)據(jù)庫(kù)實(shí)例對(duì)應(yīng)的至少一個(gè)數(shù)據(jù)表進(jìn)行數(shù)據(jù)表層級(jí)的校驗(yàn)操作。
可選地,計(jì)算所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例對(duì)應(yīng)的每一個(gè)數(shù)據(jù)表的數(shù)據(jù)的md5值,并與預(yù)先計(jì)算出的備份源中對(duì)應(yīng)數(shù)據(jù)表的數(shù)據(jù)的md5值相比,若計(jì)算出的md5值相同,則待校驗(yàn)數(shù)據(jù)通過(guò)完整性驗(yàn)證;否則,待校驗(yàn)數(shù)據(jù)未通過(guò)完整性驗(yàn)證。
數(shù)據(jù)記錄層級(jí)的校驗(yàn)操作為在數(shù)據(jù)記錄層級(jí),校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性。其中,數(shù)據(jù)記錄為對(duì)應(yīng)于數(shù)據(jù)庫(kù)中一行信息的一組完整的相關(guān)信息。
可選地,可以校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中每一項(xiàng)數(shù)據(jù)記錄的數(shù)據(jù)的md5值,并與預(yù)先計(jì)算出的備份源中對(duì)應(yīng)數(shù)據(jù)記錄的數(shù)據(jù)的md5值相比,若計(jì)算出的md5值相同,則待校驗(yàn)數(shù)據(jù)通過(guò)完整性驗(yàn)證;否則,待校驗(yàn)數(shù)據(jù)未通過(guò)完整性驗(yàn)證。
數(shù)據(jù)項(xiàng)層級(jí)的校驗(yàn)操作為在數(shù)據(jù)項(xiàng)層級(jí),校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性。其中,數(shù)據(jù)項(xiàng)可以是字母、數(shù)字或兩者的組合,是數(shù)據(jù)的不可分割的最小單位。
可選地,可以校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中每一項(xiàng)數(shù)據(jù)項(xiàng)的數(shù)據(jù)的md5值,并與預(yù)先計(jì)算出的備份源中對(duì)應(yīng)數(shù)據(jù)項(xiàng)的數(shù)據(jù)的md5值相比,若計(jì)算出的md5值相同,則待校驗(yàn)數(shù)據(jù)通過(guò)完整性驗(yàn)證;否則,待校驗(yàn)數(shù)據(jù)未通過(guò)完整性驗(yàn)證。
當(dāng)然,除了采用三種校驗(yàn)操作中的任意一種來(lái)校驗(yàn)待校驗(yàn)數(shù)據(jù)的完整性,還可以采用上述三種校驗(yàn)操作中的任意兩種或三種都采用??蛇x地,若所采用的至少一種校驗(yàn)操作均通過(guò)正確性校驗(yàn),確定待校驗(yàn)數(shù)據(jù)通過(guò)完整性校驗(yàn);若所采用的任意一種校驗(yàn)操作未通過(guò)正確性校驗(yàn),則待校驗(yàn)數(shù)據(jù)未通過(guò)完整性校驗(yàn)。
本實(shí)施例中,通過(guò)數(shù)據(jù)表層級(jí)、數(shù)據(jù)記錄層級(jí)以及數(shù)據(jù)項(xiàng)層級(jí)的校驗(yàn)操作,全方位、多角度校驗(yàn)待校驗(yàn)數(shù)據(jù)的完整性,有效保證了待校驗(yàn)數(shù)據(jù)的完整性。
可選地,抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性的過(guò)程,如圖2所示,可以包括步驟s201以及步驟s202。
s201:根據(jù)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的重要度,確定至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率。
s202:按照至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,分別抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
本實(shí)施例中,數(shù)據(jù)庫(kù)實(shí)例的重要度指數(shù)據(jù)庫(kù)實(shí)例中備份數(shù)據(jù)的重要度??蛇x地,備份數(shù)據(jù)的重要度越高,越應(yīng)保證數(shù)據(jù)的可用性,則數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率應(yīng)越高。在一示例中,數(shù)據(jù)庫(kù)實(shí)例的重要度分為較重要、重要以及次要三種級(jí)別,可以確定較重要的數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率為間隔12小時(shí)一次,重要的數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率為間隔24小時(shí)一次,次要的數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率為間隔72小時(shí)一次。
接著,根據(jù)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,分別抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
可選地,抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),可以是從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的每一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)中抽樣部分?jǐn)?shù)據(jù)進(jìn)行訪(fǎng)問(wèn)操作?;诖?,對(duì)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的第一數(shù)據(jù)庫(kù)實(shí)例,按照第一數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率,抽樣訪(fǎng)問(wèn)第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),如圖3所示,包括步驟s2021、步驟s2022以及步驟s2023。
s2021:按照第一數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率,對(duì)第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)進(jìn)行抽樣,以獲得抽樣數(shù)據(jù)。
s2022:對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)操作,以獲得數(shù)據(jù)訪(fǎng)問(wèn)操作結(jié)果。
s2023:若數(shù)據(jù)訪(fǎng)問(wèn)操作結(jié)果正確,確定第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)通過(guò)可用性驗(yàn)證。
其中,第一數(shù)據(jù)庫(kù)實(shí)例可以是至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的任意一個(gè)。
步驟s2021中,抽樣數(shù)據(jù)可以是從數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)中抽樣的部分?jǐn)?shù)據(jù)表的數(shù)據(jù)。根據(jù)抽樣訪(fǎng)問(wèn)頻率,每次的抽樣數(shù)據(jù)可以相同也可以不同,在一示例中,可以每次都抽樣數(shù)據(jù)庫(kù)實(shí)例中數(shù)據(jù)表1和數(shù)據(jù)表2的數(shù)據(jù);也可以第一次抽樣數(shù)據(jù)庫(kù)實(shí)例中數(shù)據(jù)表1的數(shù)據(jù),第二次訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)實(shí)例中數(shù)據(jù)表2的數(shù)據(jù)。
接著,對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)操作。其中,數(shù)據(jù)訪(fǎng)問(wèn)操作包括數(shù)據(jù)查詢(xún)操作以及數(shù)據(jù)統(tǒng)計(jì)操作??蛇x地,可以通過(guò)數(shù)據(jù)庫(kù)應(yīng)用提供的select*函數(shù)進(jìn)行數(shù)據(jù)查詢(xún)操作,通過(guò)數(shù)據(jù)庫(kù)應(yīng)用提供的count(*)函數(shù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)操作。
select*函數(shù)用來(lái)查詢(xún)抽樣的數(shù)據(jù)表中的數(shù)據(jù),例如查詢(xún)數(shù)據(jù)表中的所有記錄,查詢(xún)列名稱(chēng)等。如果查詢(xún)的數(shù)據(jù)與備份源的相應(yīng)數(shù)據(jù)表中的數(shù)據(jù)相同,則數(shù)據(jù)查詢(xún)操作結(jié)果正確;否則,數(shù)據(jù)查詢(xún)操作結(jié)果不正確,第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)未通過(guò)可用性校驗(yàn),進(jìn)而待校驗(yàn)數(shù)據(jù)未通過(guò)可用性校驗(yàn)。
count(*)用來(lái)統(tǒng)計(jì)抽樣的數(shù)據(jù)表中記錄行的數(shù)目。如果統(tǒng)計(jì)的數(shù)目與備份源的相應(yīng)數(shù)據(jù)表中的數(shù)目之差,在預(yù)設(shè)誤差范圍內(nèi),則數(shù)據(jù)統(tǒng)計(jì)操作結(jié)果正確;否則,數(shù)據(jù)統(tǒng)計(jì)操作結(jié)果不正確,第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)未通過(guò)可用性校驗(yàn),進(jìn)而待校驗(yàn)數(shù)據(jù)未通過(guò)可用性校驗(yàn)。
在一示例中,對(duì)數(shù)據(jù)表1進(jìn)行count(*)操作,統(tǒng)計(jì)的數(shù)目為2000,備份源的數(shù)據(jù)表1中的數(shù)目為2010,則統(tǒng)計(jì)的數(shù)目與備份源中數(shù)據(jù)表1的數(shù)據(jù)之差為10,預(yù)設(shè)誤差范圍為-50~+50。可見(jiàn),差值在預(yù)設(shè)誤差范圍內(nèi),則數(shù)據(jù)統(tǒng)計(jì)操作結(jié)果正確。
可選地,可以先進(jìn)行數(shù)據(jù)查詢(xún)操作,再進(jìn)行數(shù)據(jù)統(tǒng)計(jì)操作;也可以先進(jìn)行數(shù)據(jù)統(tǒng)計(jì)操作,再進(jìn)行數(shù)據(jù)查詢(xún)操作。若數(shù)據(jù)統(tǒng)計(jì)操作結(jié)果與數(shù)據(jù)查詢(xún)操作結(jié)果均正確時(shí),第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)通過(guò)可用性校驗(yàn)。若至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的數(shù)據(jù)庫(kù)實(shí)例均通過(guò)可用性校驗(yàn),待校驗(yàn)數(shù)據(jù)通過(guò)可用性校驗(yàn)。
本實(shí)施例中,根據(jù)數(shù)據(jù)庫(kù)實(shí)例的重要度確定數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,能夠保證重要度高的數(shù)據(jù)庫(kù)實(shí)例的可用性,進(jìn)一步提高了待校驗(yàn)數(shù)據(jù)的有效性。
上述實(shí)施例中,抽樣訪(fǎng)問(wèn)的數(shù)據(jù)是從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的每一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)中抽樣的,但不限于此。當(dāng)數(shù)據(jù)庫(kù)實(shí)例的數(shù)量較大時(shí),還可以從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中,抽樣訪(fǎng)問(wèn)部分?jǐn)?shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
可選地,抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性,包括:從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中,選擇待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例;抽樣訪(fǎng)問(wèn)待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
可選地,可以根據(jù)數(shù)據(jù)庫(kù)實(shí)例的重要度,從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中選擇待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例,例如可以選擇較重要的數(shù)據(jù)庫(kù)實(shí)例作為待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例。
接著,抽樣訪(fǎng)問(wèn)待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),可以按照待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,分別抽樣訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。其中,待校驗(yàn)數(shù)據(jù)的可用性校驗(yàn)方法參見(jiàn)步驟s2021、步驟s2022以及步驟s2023,此處不再贅述。
上述實(shí)施例是將至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的整體作為待校驗(yàn)數(shù)據(jù),可選地,還可以以數(shù)據(jù)庫(kù)實(shí)例為單位,將一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的備份數(shù)據(jù)作為待校驗(yàn)數(shù)據(jù),進(jìn)行數(shù)據(jù)庫(kù)實(shí)例維度的完整性校驗(yàn)和可用性校驗(yàn)。
具體而言,若備份數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)成功,獲取待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù),待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)包括啟動(dòng)成功的數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。校驗(yàn)所述數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)的完整性;抽樣訪(fǎng)問(wèn)所述數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)的可用性。若待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)的完整性和可用性均通過(guò)驗(yàn)證,存儲(chǔ)待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)。
當(dāng)然,也可以先驗(yàn)證可用性,再驗(yàn)證完整性;也可以同時(shí)驗(yàn)證。
若完整性未通過(guò)驗(yàn)證,丟棄待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù),重新備份所述數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù);對(duì)重新備份的數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)進(jìn)行完整性校驗(yàn)和可用性校驗(yàn)。
若可用性未通過(guò)驗(yàn)證,丟棄待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù),變更備份源,并從變更后的備份源,重新備份所述數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù);對(duì)重新備份的數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)進(jìn)行完整性校驗(yàn)和可用性校驗(yàn)。
本實(shí)施例中,從數(shù)據(jù)庫(kù)實(shí)例的維度進(jìn)行完整性校驗(yàn)和可用性校驗(yàn),實(shí)現(xiàn)了細(xì)粒度的校驗(yàn)策略,能夠提高數(shù)據(jù)校驗(yàn)的準(zhǔn)確性;以及當(dāng)校驗(yàn)未通過(guò)時(shí),重新備份數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù),能夠減小重新備份的數(shù)據(jù)量,節(jié)約系統(tǒng)資源。
本申請(qǐng)實(shí)施例還提供了一種數(shù)據(jù)庫(kù)備份的校驗(yàn)裝置300,如圖4所示,包括獲取模塊301、第一校驗(yàn)?zāi)K302、第二校驗(yàn)?zāi)K303以及存儲(chǔ)模塊304。
其中,獲取模塊301,用于獲取待校驗(yàn)數(shù)據(jù),待校驗(yàn)數(shù)據(jù)包括至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。
第一校驗(yàn)?zāi)K302,用于校驗(yàn)獲取模塊301獲取的至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性。
第二校驗(yàn)?zāi)K303,用于抽樣訪(fǎng)問(wèn)獲取模塊301獲取的至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
存儲(chǔ)模塊304,用于在所述第一校驗(yàn)?zāi)K校驗(yàn)的完整性和所述第二校驗(yàn)?zāi)K校驗(yàn)的可用性均通過(guò)驗(yàn)證時(shí),存儲(chǔ)所述待校驗(yàn)數(shù)據(jù)。
在本申請(qǐng)實(shí)施例中,通過(guò)校驗(yàn)md5值的正確性來(lái)驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性;以及通過(guò)抽樣訪(fǎng)問(wèn)待校驗(yàn)數(shù)據(jù),驗(yàn)證數(shù)據(jù)的可用性,若完整性與可用性均通過(guò),則存儲(chǔ)待校驗(yàn)數(shù)據(jù)。本申請(qǐng)實(shí)施例的上述校驗(yàn)機(jī)制能夠準(zhǔn)確校驗(yàn)備份數(shù)據(jù)的有效性,保證備份數(shù)據(jù)能夠還原原始數(shù)據(jù)。
可選地,數(shù)據(jù)庫(kù)備份的校驗(yàn)裝置300還包括確定模塊。
確定模塊,用于在獲取模塊301獲取待校驗(yàn)數(shù)據(jù)之前,確定所述至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例可成功啟動(dòng)。
在本申請(qǐng)實(shí)施例中,待校驗(yàn)的數(shù)據(jù)為啟動(dòng)成功的數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),即通過(guò)啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例對(duì)備份數(shù)據(jù)進(jìn)行初步的校驗(yàn);初步校驗(yàn)通過(guò)后,在驗(yàn)證完整性與可用性,進(jìn)一步提高了校驗(yàn)的準(zhǔn)確性,保證備份數(shù)據(jù)能夠還原原始數(shù)據(jù)。
可選地,數(shù)據(jù)庫(kù)備份的校驗(yàn)裝置300還包括丟棄模塊、第一備份模塊以及第二備份模塊。
其中,丟棄模塊,用于若完整性未通過(guò)驗(yàn)證,丟棄待校驗(yàn)數(shù)據(jù)。第一備份模塊在至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的完整性未通過(guò)驗(yàn)證時(shí),用于從原備份源中,重新備份至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
可選地,丟棄模塊還用于:若可用性未通過(guò)驗(yàn)證,丟棄待校驗(yàn)數(shù)據(jù)。第二備份模塊在至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的可用性未通過(guò)驗(yàn)證時(shí),用于更新備份源;從更新后的備份源中,重新備份至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。
本實(shí)施例中,可以根據(jù)待校驗(yàn)數(shù)據(jù)未通過(guò)完整性校驗(yàn)或可用性校驗(yàn)時(shí),從原備份源或者更新后的備份源,重新備份至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù),保證數(shù)據(jù)庫(kù)中更多數(shù)據(jù)的有效性。
可選地,第一校驗(yàn)?zāi)K302在檢測(cè)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)的完整性時(shí),用于執(zhí)行以下至少一種校驗(yàn)操作:
在數(shù)據(jù)表層級(jí),校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性;
在數(shù)據(jù)記錄層級(jí),校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性;
在數(shù)據(jù)項(xiàng)層級(jí),校驗(yàn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性;
若至少一種校驗(yàn)操作均通過(guò)正確性校驗(yàn),確定待校驗(yàn)數(shù)據(jù)通過(guò)完整性校驗(yàn)。
本實(shí)施例中,通過(guò)數(shù)據(jù)表層級(jí)、數(shù)據(jù)記錄層級(jí)以及數(shù)據(jù)項(xiàng)層級(jí)的校驗(yàn)操作,全方位、多角度校驗(yàn)待校驗(yàn)數(shù)據(jù)的完整性,有效保證了待校驗(yàn)數(shù)據(jù)的完整性。
可選地,第二校驗(yàn)?zāi)K303在抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性時(shí),具體用于:根據(jù)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的重要度,確定至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率;按照至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,分別抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
可選地,第二校驗(yàn)?zāi)K303在對(duì)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的第一數(shù)據(jù)庫(kù)實(shí)例,按照第一數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率,抽樣訪(fǎng)問(wèn)第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)時(shí),具體用于:按照第一數(shù)據(jù)庫(kù)實(shí)例的抽樣訪(fǎng)問(wèn)頻率,對(duì)第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)進(jìn)行抽樣,以獲得抽樣數(shù)據(jù);對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)操作,以獲得數(shù)據(jù)訪(fǎng)問(wèn)操作結(jié)果;若數(shù)據(jù)訪(fǎng)問(wèn)操作結(jié)果正確,確定第一數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)通過(guò)可用性驗(yàn)證。
本實(shí)施例中,根據(jù)數(shù)據(jù)庫(kù)實(shí)例的重要度確定數(shù)據(jù)庫(kù)實(shí)例各自的抽樣訪(fǎng)問(wèn)頻率,能夠保證重要度高的數(shù)據(jù)庫(kù)實(shí)例的可用性,進(jìn)一步提高了待校驗(yàn)數(shù)據(jù)的有效性。
可選地,當(dāng)數(shù)據(jù)庫(kù)實(shí)例的數(shù)量較大時(shí),第二校驗(yàn)?zāi)K303在抽樣訪(fǎng)問(wèn)至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性時(shí),具體用于:從至少一個(gè)數(shù)據(jù)庫(kù)實(shí)例中,選擇待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例;抽樣訪(fǎng)問(wèn)待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)的可用性。
可選地,獲取模塊301還用于若備份數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)成功,獲取待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù),待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)包括啟動(dòng)成功的數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。
進(jìn)一步地,第一校驗(yàn)?zāi)K302還用于校驗(yàn)所述數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)的md5值的正確性,以驗(yàn)證待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)的完整性。
第二校驗(yàn)?zāi)K303還用于抽樣訪(fǎng)問(wèn)所述數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù),以驗(yàn)證待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)的可用性。
存儲(chǔ)模塊304,還用于在第一校驗(yàn)?zāi)K302校驗(yàn)的完整性和第二校驗(yàn)?zāi)K303校驗(yàn)的可用性均通過(guò)驗(yàn)證時(shí),存儲(chǔ)待校驗(yàn)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)。
本實(shí)施例中,從數(shù)據(jù)庫(kù)實(shí)例的維度進(jìn)行完整性校驗(yàn)和可用性校驗(yàn),實(shí)現(xiàn)了細(xì)粒度的校驗(yàn)策略,能夠提高數(shù)據(jù)校驗(yàn)的準(zhǔn)確性;以及當(dāng)校驗(yàn)未通過(guò)時(shí),重新備份數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù),能夠減小重新備份的數(shù)據(jù)量,節(jié)約系統(tǒng)資源。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。