恢復(fù)數(shù)據(jù)庫(kù)的方法、裝置及數(shù)據(jù)庫(kù)服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及計(jì)算機(jī)技術(shù),尤其涉及恢復(fù)數(shù)據(jù)庫(kù)的方法、裝置及數(shù)據(jù)庫(kù)服務(wù)器。
【背景技術(shù)】
[0002]數(shù)據(jù)庫(kù)在宕機(jī)時(shí),很有可能導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)丟失,為了保證丟失的數(shù)據(jù)能夠及時(shí)恢復(fù),通常是對(duì)數(shù)據(jù)庫(kù)定期進(jìn)行一次全量備份生成全量備份文件,然后在全量備份的基礎(chǔ)上再做增量備份生成增量備份文件,由于增量備份的策略比較多,比如每小時(shí)進(jìn)行一次增量備份,或者是對(duì)數(shù)據(jù)庫(kù)的任何一個(gè)操作都進(jìn)行一次增量備份等,所以增量備份文件的個(gè)數(shù)比較多,備份產(chǎn)生的全量備份文件和增量備份文件會(huì)存放在一臺(tái)或者多臺(tái)服務(wù)器的硬盤上。在數(shù)據(jù)庫(kù)宕機(jī)后,采用先導(dǎo)入全量備份文件,再依次導(dǎo)入增量備份文件的策略對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。
【發(fā)明內(nèi)容】
[0003]為克服相關(guān)技術(shù)中存在的問(wèn)題,本公開(kāi)提供一種恢復(fù)數(shù)據(jù)庫(kù)的方法、裝置及數(shù)據(jù)庫(kù)服務(wù)器。
[0004]根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種恢復(fù)數(shù)據(jù)庫(kù)的方法,包括:
[0005]根據(jù)預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)數(shù)據(jù)庫(kù)的備份文件進(jìn)行分析,所述備份文件包括一條以上執(zhí)行語(yǔ)句,確定兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0006]根據(jù)所述兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句生成所述組提交語(yǔ)句;
[0007]將所述組提交語(yǔ)句按照預(yù)設(shè)次序加入數(shù)據(jù)庫(kù)消息隊(duì)列,執(zhí)行所述數(shù)據(jù)庫(kù)消息隊(duì)列中的所述組提交語(yǔ)句。
[0008]結(jié)合本公開(kāi)實(shí)施例的第一方面,本公開(kāi)實(shí)施例的第一方面的第一種可能的實(shí)現(xiàn)方式中,所述備份文件包括全量備份文件和增量備份文件。
[0009]結(jié)合本公開(kāi)實(shí)施例的第一方面的第一種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第一方面的第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)數(shù)據(jù)庫(kù)的備份文件進(jìn)行分析,確定兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句,包括:
[0010]根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述全量備份文件進(jìn)行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0011]根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述增量備份文件進(jìn)行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句。
[0012]結(jié)合本公開(kāi)實(shí)施例的第一方面的第二種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第一方面的第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述全量備份文件進(jìn)行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句,包括:
[0013]將所述全量備份文件拆分為兩個(gè)以上全量備份子文件;
[0014]啟動(dòng)兩個(gè)以上處理線程分別對(duì)所述兩個(gè)以上全量備份子文件根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則進(jìn)行分析,確定各個(gè)所述全量備份子文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句。
[0015]結(jié)合本公開(kāi)實(shí)施例的第一方面的第二種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第一方面的第四種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述全量備份文件進(jìn)行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句,包括:
[0016]將所述全量備份文件拆分為兩個(gè)以上全量備份子文件;
[0017]兩個(gè)以上數(shù)據(jù)庫(kù)服務(wù)器分別對(duì)所述兩個(gè)以上全量備份子文件根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則進(jìn)行分析,確定各個(gè)所述全量備份子文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句。
[0018]結(jié)合本公開(kāi)實(shí)施例的第一方面的第二種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第一方面的第五種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述增量備份文件進(jìn)行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句,包括:
[0019]啟動(dòng)兩個(gè)以上處理線程分別對(duì)兩個(gè)以上所述增量備份文件根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則進(jìn)行分析,分別確定每個(gè)所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0020]根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述兩個(gè)以上所述增量備份文件進(jìn)行分析,確定所述兩個(gè)以上所述增量備份文件中待合并為一條組提交語(yǔ)句的組提交語(yǔ)句。
[0021]結(jié)合本公開(kāi)實(shí)施例的第一方面的第二種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第一方面的第六種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述增量備份文件進(jìn)行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句,包括:
[0022]兩個(gè)以上數(shù)據(jù)庫(kù)服務(wù)器分別對(duì)兩個(gè)以上所述增量備份文件根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則進(jìn)行分析,分別確定每個(gè)所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0023]所述服務(wù)器根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述兩個(gè)以上所述增量備份文件進(jìn)行分析,確定所述兩個(gè)以上所述增量備份文件中待合并為一條組提交語(yǔ)句的組提交語(yǔ)句。
[0024]結(jié)合本公開(kāi)實(shí)施例的第一方面、第一方面的第一種至第六種中任一種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第一方面的第七種可能的實(shí)現(xiàn)方式中,所述根據(jù)預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)數(shù)據(jù)庫(kù)的備份文件進(jìn)行分析之前,還包括:
[0025]將所述備份文件中對(duì)恢復(fù)所述數(shù)據(jù)庫(kù)不產(chǎn)生影響的執(zhí)行語(yǔ)句濾除掉。
[0026]結(jié)合本公開(kāi)實(shí)施例的第一方面,本公開(kāi)實(shí)施例的第一方面的第八種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0027]將所述備份文件中未合并的執(zhí)行語(yǔ)句按照所述預(yù)設(shè)次序加入所述數(shù)據(jù)庫(kù)消息隊(duì)列,執(zhí)行所述數(shù)據(jù)庫(kù)消息隊(duì)列中的所述執(zhí)行語(yǔ)句。
[0028]根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種恢復(fù)數(shù)據(jù)庫(kù)的裝置,包括:
[0029]分析單元,被配置為根據(jù)預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)數(shù)據(jù)庫(kù)的備份文件進(jìn)行分析,所述備份文件包括一條以上執(zhí)行語(yǔ)句,確定兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0030]合并單元,被配置為根據(jù)所述兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句生成所述組提交語(yǔ)句;
[0031]執(zhí)行單元,被配置為將所述組提交語(yǔ)句按照預(yù)設(shè)次序加入數(shù)據(jù)庫(kù)消息隊(duì)列,執(zhí)行所述數(shù)據(jù)庫(kù)消息隊(duì)列中的所述組提交語(yǔ)句。
[0032]結(jié)合本公開(kāi)實(shí)施例的第二方面,本公開(kāi)實(shí)施例的第二方面的第一種可能的實(shí)現(xiàn)方式中,所述備份文件包括全量備份文件和增量備份文件。
[0033]結(jié)合本公開(kāi)實(shí)施例的第二方面的第一種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第二方面的第二種可能的實(shí)現(xiàn)方式中,所述分析單元包括:
[0034]全量分析模塊,被配置為根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述全量備份文件進(jìn)行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0035]增量分析模塊,被配置為根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述增量備份文件進(jìn)行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句。
[0036]結(jié)合本公開(kāi)實(shí)施例的第二方面的第二種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第二方面的第三種可能的實(shí)現(xiàn)方式中,所述全量分析模塊包括:
[0037]文件拆分子模塊,被配置為將所述全量備份文件拆分為兩個(gè)以上全量備份子文件;
[0038]全量分析子模塊,被配置為啟動(dòng)兩個(gè)以上處理線程分別對(duì)所述兩個(gè)以上全量備份子文件根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則進(jìn)行分析,確定各個(gè)所述全量備份子文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句。
[0039]結(jié)合本公開(kāi)實(shí)施例的第二方面的第二種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第二方面的第四種可能的實(shí)現(xiàn)方式中,所述增量分析模塊包括:
[0040]第一增量分析子模塊,被配置為啟動(dòng)兩個(gè)以上處理線程分別對(duì)兩個(gè)以上所述增量備份文件根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則進(jìn)行分析,分別確定每個(gè)所述增量備份文件中兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;
[0041]第二增量分析子模塊,根據(jù)所述預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)所述兩個(gè)以上所述增量備份文件進(jìn)行分析,確定所述兩個(gè)以上所述增量備份文件中待合并為一條組提交語(yǔ)句的組提交語(yǔ)句。
[0042]結(jié)合本公開(kāi)實(shí)施例的第二方面、第二方面的第一種至第四種中任一種可能的實(shí)現(xiàn)方式,本公開(kāi)實(shí)施例的第二方面的第五種可能的實(shí)現(xiàn)方式中,還包括:
[0043]濾除單元,被配置為將所述備份文件中對(duì)恢復(fù)所述數(shù)據(jù)庫(kù)不產(chǎn)生影響的執(zhí)行語(yǔ)句濾除掉。
[0044]結(jié)合本公開(kāi)實(shí)施例的第二方面,本公開(kāi)實(shí)施例的第二方面的第六種可能的實(shí)現(xiàn)方式中,所述執(zhí)行單元,被配置為將所述備份文件中未合并的執(zhí)行語(yǔ)句按照所述預(yù)設(shè)次序加入所述數(shù)據(jù)庫(kù)消息隊(duì)列,執(zhí)行所述數(shù)據(jù)庫(kù)消息隊(duì)列中的所述執(zhí)行語(yǔ)句。
[0045]根據(jù)本公開(kāi)實(shí)施例的第三方面,提供一種數(shù)據(jù)庫(kù)服務(wù)器,包括:處理器和被配置為存儲(chǔ)備份文件和所述處理器可執(zhí)行指令的存儲(chǔ)器;
[0046]其中,所述處理器被配置為執(zhí)行指令,以執(zhí)行根據(jù)預(yù)設(shè)語(yǔ)句合并規(guī)則對(duì)數(shù)據(jù)庫(kù)的備份文件進(jìn)行分析,所述備份文件包括一條以上執(zhí)行語(yǔ)句,確定兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句;根據(jù)所述兩條以上待合并為一條組提交語(yǔ)句的所述執(zhí)行語(yǔ)句生成所述組提交語(yǔ)句;將所述組提交語(yǔ)句按照預(yù)設(shè)次序加入數(shù)據(jù)庫(kù)消息隊(duì)列,執(zhí)行所述數(shù)據(jù)庫(kù)消息