亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法及系統(tǒng)的制作方法

文檔序號(hào):6623956閱讀:169來源:國知局
基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及數(shù)據(jù)備份【技術(shù)領(lǐng)域】,提供一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法及系統(tǒng),用于解決在備份計(jì)算機(jī)和主計(jì)算機(jī)不能實(shí)時(shí)連接的情況下進(jìn)行數(shù)據(jù)備份的問題,所述備份系統(tǒng)包括主計(jì)算機(jī)、備份計(jì)算機(jī)和至少一個(gè)存儲(chǔ)設(shè)備,所述主計(jì)算機(jī)包括計(jì)算機(jī)硬盤和備份管理模塊,所述計(jì)算機(jī)硬盤用于存儲(chǔ)主數(shù)據(jù)文件,所述存儲(chǔ)設(shè)備用于存儲(chǔ)增量數(shù)據(jù)文件。本發(fā)明不需要備份計(jì)算機(jī)與主計(jì)算機(jī)進(jìn)行實(shí)時(shí)連接,也能對主計(jì)算機(jī)上的數(shù)據(jù)進(jìn)行可靠備份。
【專利說明】基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)備份【技術(shù)領(lǐng)域】,特別涉及一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法及系統(tǒng)。

【背景技術(shù)】
[0002]對于存儲(chǔ)在計(jì)算機(jī)上的大量數(shù)據(jù),當(dāng)發(fā)生操作系統(tǒng)損毀、硬盤損壞或其他計(jì)算機(jī)軟硬件故障時(shí),常常會(huì)導(dǎo)致存儲(chǔ)的大量數(shù)據(jù)丟失,因此,如何對數(shù)據(jù)進(jìn)行可靠性備份一直是各大主流存儲(chǔ)服務(wù)提供商需要解決的問題。
[0003]目前的數(shù)據(jù)備份【技術(shù)領(lǐng)域】,主要的數(shù)據(jù)備份方法都是數(shù)據(jù)實(shí)時(shí)備份方法,例如中國專利《數(shù)據(jù)備份方法》(專利號(hào):ZL200910131148.8)提出的基于差異比例的備份方法,中國專利《一種實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)備份還原的系統(tǒng)及方法》(專利申請?zhí)?CN201210041975.X)提出的基于邏輯存儲(chǔ)層的備份方法,中國專利《一種增量備份方法和系統(tǒng)》(專利申請?zhí)?CN201310680320.1)提出的一種基于文件變化列表的備份方法等等。但是,在一些特殊情況下,由于備份計(jì)算機(jī)和主計(jì)算機(jī)不是實(shí)時(shí)連接的(例如野外工作),數(shù)據(jù)不能實(shí)時(shí)備份到備份計(jì)算機(jī),因此需要完成工作后返回進(jìn)行數(shù)據(jù)備份,此時(shí),當(dāng)采用上述的備份方法時(shí),如果主計(jì)算機(jī)發(fā)生數(shù)據(jù)損壞或丟失,則從上次備份時(shí)刻到數(shù)據(jù)丟失時(shí)刻之間產(chǎn)生的數(shù)據(jù)將無法恢復(fù)。


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

[0004]本發(fā)明提供一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法,用于解決在備份計(jì)算機(jī)和主計(jì)算機(jī)不能實(shí)時(shí)連接的情況下進(jìn)行可靠數(shù)據(jù)備份的問題。
[0005]為了解決以上的技術(shù)問題,本發(fā)明的第一個(gè)方面是提供一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法,包括如下步驟:
[0006]步驟A:在數(shù)據(jù)保存時(shí),主計(jì)算機(jī)保存至少一個(gè)增量數(shù)據(jù)文件;
[0007]步驟B:當(dāng)主計(jì)算機(jī)中的數(shù)據(jù)發(fā)生變化時(shí),同時(shí)修改主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件;
[0008]步驟C:判斷主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件是否修改成功,并根據(jù)判斷結(jié)果返回提示信息;
[0009]步驟D:主計(jì)算機(jī)根據(jù)步驟C返回的提示信息記錄主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件的異常情況;
[0010]步驟E:當(dāng)備份計(jì)算機(jī)與主計(jì)算機(jī)連接時(shí),依次查詢各個(gè)增量數(shù)據(jù)文件,如果查詢到一個(gè)無異常的增量數(shù)據(jù)文件,則將此增量數(shù)據(jù)文件中的數(shù)據(jù)同步到備份計(jì)算機(jī),并在同步完成后刪除所有的增量數(shù)據(jù)文件;如果所有的增量數(shù)據(jù)文件都存在異常,則將主計(jì)算機(jī)上的主數(shù)據(jù)文件同步到備份計(jì)算機(jī),并在同步完成后刪除所有的增量數(shù)據(jù)文件。
[0011]在第一個(gè)方面的第一種可能實(shí)現(xiàn)方式中,所述步驟B中修改主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件的方法為:從數(shù)據(jù)庫層面截獲將導(dǎo)致主計(jì)算機(jī)中已有的數(shù)據(jù)發(fā)生變化的SQL語句;向主數(shù)據(jù)文件預(yù)寫入所述SQL語句并向各個(gè)增量數(shù)據(jù)文件寫入所述SQL語句;當(dāng)各個(gè)增量數(shù)據(jù)文件均成功寫入所述SQL語句后,向主數(shù)據(jù)文件正式寫入所述SQL語句。
[0012]在第一個(gè)方面的第二種可能實(shí)現(xiàn)方式中,所述方法還包括:當(dāng)主計(jì)算機(jī)中的數(shù)據(jù)損壞或丟失時(shí),首先將備份計(jì)算機(jī)與主計(jì)算機(jī)連接,然后通過備份計(jì)算機(jī)中的備份數(shù)據(jù)文件對主計(jì)算機(jī)中的主數(shù)據(jù)文件進(jìn)行第一次恢復(fù),最后通過主計(jì)算機(jī)的增量數(shù)據(jù)文件對主計(jì)算機(jī)中的主數(shù)據(jù)文件進(jìn)行第二次恢復(fù)。
[0013]在第一個(gè)方面的第三種可能實(shí)現(xiàn)方式中,所述步驟C具體包括:如果主數(shù)據(jù)文件和所有的增量數(shù)據(jù)文件都修改成功,則返回成功提示信息;反之則回滾主數(shù)據(jù)文件和所有的增量數(shù)據(jù)文件,并提示異常。
[0014]在第一個(gè)方面的第四種可能實(shí)現(xiàn)方式中,所述步驟C具體包括:如果只有主數(shù)據(jù)文件修改成功或者所有增量數(shù)據(jù)文件都修改成功,則返回成功提示信息,同時(shí)提示主數(shù)據(jù)文件是否修改成功或者未修改成功的增量數(shù)據(jù)文件的位置;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
[0015]在第一個(gè)方面的第五種可能實(shí)現(xiàn)方式中,所述步驟C具體包括:如果只有主數(shù)據(jù)文件修改成功或者至少一個(gè)增量數(shù)據(jù)文件修改成功,則返回成功提示信息,同時(shí)提示主數(shù)據(jù)文件是否修改成功以及未修改成功的增量數(shù)據(jù)文件的位置;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
[0016]在第一個(gè)方面的第六種可能實(shí)現(xiàn)方式中,所述主數(shù)據(jù)文件和增量數(shù)據(jù)文件存儲(chǔ)在不同的存儲(chǔ)空間。
[0017]在第一個(gè)方面的第七種可能實(shí)現(xiàn)方式中,所述主數(shù)據(jù)文件的存儲(chǔ)空間為計(jì)算機(jī)硬盤,所述增量數(shù)據(jù)文件的存儲(chǔ)空間為U盤或移動(dòng)硬盤。
[0018]本發(fā)明的第二個(gè)方面是提供一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份系統(tǒng),所述系統(tǒng)包括主計(jì)算機(jī)、備份計(jì)算機(jī)和至少一個(gè)存儲(chǔ)設(shè)備,所述主計(jì)算機(jī)包括計(jì)算機(jī)硬盤和備份管理模塊,所述計(jì)算機(jī)硬盤用于存儲(chǔ)主數(shù)據(jù)文件,所述存儲(chǔ)設(shè)備用于存儲(chǔ)增量數(shù)據(jù)文件,所述備份管理程序模塊用于采用本發(fā)明所提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法進(jìn)行數(shù)據(jù)備份。
[0019]在第二個(gè)方面的第一種可能實(shí)現(xiàn)方式中,所述存儲(chǔ)設(shè)備為U盤或移動(dòng)硬盤。
[0020]從以上技術(shù)方案可以看出,本發(fā)明所提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法及系統(tǒng)具有以下優(yōu)點(diǎn):1)本發(fā)明采用從數(shù)據(jù)庫層面截獲SQL語句的方法進(jìn)行備份,提高了備份的可靠性;2)本發(fā)明不需要備份計(jì)算機(jī)與主計(jì)算機(jī)進(jìn)行實(shí)時(shí)連接,也能對主計(jì)算機(jī)上的數(shù)據(jù)進(jìn)行可靠備份,因此本發(fā)明與現(xiàn)有數(shù)據(jù)備份方法相比具有更廣泛的應(yīng)用范圍。

【專利附圖】

【附圖說明】
[0021]圖1為本發(fā)明實(shí)施例一提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份系統(tǒng)的結(jié)構(gòu)框圖;
[0022]圖2A為本發(fā)明實(shí)施例二提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法的流程圖;
[0023]圖2B為本發(fā)明實(shí)施例二提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法的流程圖;
[0024]圖3為本發(fā)明實(shí)施例三提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)恢復(fù)方法的流程圖。

【具體實(shí)施方式】
[0025]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖,對本發(fā)明的【具體實(shí)施方式】進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例,也不是對本發(fā)明的限制?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
[0026]圖1為本發(fā)明實(shí)施例一提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份系統(tǒng)的結(jié)構(gòu)框圖,如圖1所示,所述系統(tǒng)包括主計(jì)算機(jī)11、備份計(jì)算機(jī)12、第一存儲(chǔ)設(shè)備13和第二存儲(chǔ)設(shè)備14,主計(jì)算機(jī)11包括主數(shù)據(jù)庫111和備份管理模塊112,備份計(jì)算機(jī)12包括備份數(shù)據(jù)庫121,第一存儲(chǔ)設(shè)備13用于存儲(chǔ)增量數(shù)據(jù)文件131,第二存儲(chǔ)設(shè)備14用于存儲(chǔ)增量數(shù)據(jù)文件141,具體地,增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141以SQL文件的形式保存。需要說明,主數(shù)據(jù)庫111存儲(chǔ)于主計(jì)算機(jī)11的硬盤,第一存儲(chǔ)設(shè)備13和第二存儲(chǔ)設(shè)備14為主計(jì)算機(jī)的外接存儲(chǔ)設(shè)備,因此,增量數(shù)據(jù)文件(包括增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141)與主數(shù)據(jù)庫111存儲(chǔ)在不同的存儲(chǔ)空間,這里不限制第一存儲(chǔ)設(shè)備13和第二存儲(chǔ)設(shè)備14的類型,常用到的存儲(chǔ)設(shè)備有U盤或移動(dòng)硬盤。
[0027]下面介紹系統(tǒng)的工作流程。當(dāng)主計(jì)算機(jī)11上的應(yīng)用程序修改主數(shù)據(jù)庫111中的數(shù)據(jù)時(shí),備份管理模塊112從數(shù)據(jù)庫層面截獲導(dǎo)致主計(jì)算機(jī)中已有的數(shù)據(jù)發(fā)生變化的SQL語句,然后執(zhí)行以下步驟:備份管理模塊112向主數(shù)據(jù)庫111中預(yù)寫入截獲的SQL語句;向增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141中寫入截獲的SQL語句;如果增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141均寫入成功,則通知主數(shù)據(jù)庫111正式寫入數(shù)據(jù),并保存增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141 ;如果主數(shù)據(jù)庫111、增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141均寫入成功,則返回成功提示信息,反之則提示異常并回滾主數(shù)據(jù)庫111、增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141,以恢復(fù)主數(shù)據(jù)庫111、增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件141中的數(shù)據(jù)到寫入前的狀態(tài)。
[0028]上述“從數(shù)據(jù)庫層面截獲”是指在待寫入的數(shù)據(jù)已經(jīng)提交給主數(shù)據(jù)庫111、主數(shù)據(jù)庫111已經(jīng)對提交的數(shù)據(jù)的正確性進(jìn)行檢查之后,并且在數(shù)據(jù)寫入主數(shù)據(jù)庫所在磁盤之前截獲數(shù)據(jù),采用這種方式只會(huì)出現(xiàn)增量文件寫入不成功的情況,而不會(huì)出現(xiàn)增量文件寫入成功了但主數(shù)據(jù)庫111寫入失敗的情況,因此提高了數(shù)據(jù)備份的可靠性。
[0029]當(dāng)備份計(jì)算機(jī)12與主計(jì)算機(jī)11連接時(shí),主計(jì)算機(jī)11上的備份管理模塊112自動(dòng)識(shí)別是否已連接備份計(jì)算機(jī)12,如果已連接則啟動(dòng)備份工作。具體地,備份管理模塊112首先查詢增量數(shù)據(jù)文件131,如果增量數(shù)據(jù)文件131無異常,則讀取增量數(shù)據(jù)文件131中的數(shù)據(jù),并通過網(wǎng)絡(luò)遠(yuǎn)程調(diào)用的方式在備份計(jì)算機(jī)12上執(zhí)行相關(guān)SQL操作以將增量數(shù)據(jù)文件131中的數(shù)據(jù)內(nèi)容更新至備份計(jì)算機(jī)12中的備份數(shù)據(jù)庫121,數(shù)據(jù)更新完成后,備份管理模塊112刪除增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件132中的內(nèi)容;如果增量數(shù)據(jù)文件131有異常,則繼續(xù)查詢增量數(shù)據(jù)文件132,如果增量數(shù)據(jù)文件132無異常,則讀取增量數(shù)據(jù)文件132中的數(shù)據(jù)內(nèi)容,并通過網(wǎng)絡(luò)在備份計(jì)算機(jī)12上執(zhí)行相關(guān)SQL操作以將增量數(shù)據(jù)文件132中的數(shù)據(jù)內(nèi)容更新至備份計(jì)算機(jī)12中的備份數(shù)據(jù)庫121,數(shù)據(jù)更新完成后,備份管理模塊112刪除增量數(shù)據(jù)文件131和增量數(shù)據(jù)文件132中的數(shù)據(jù);如果增量數(shù)據(jù)文件132也存在異常,則直接讀取主數(shù)據(jù)庫111中的數(shù)據(jù),將主數(shù)據(jù)庫111中的數(shù)據(jù)全部更新到備份數(shù)據(jù)庫121。
[0030]當(dāng)主計(jì)算機(jī)11上的備份管理程序112發(fā)現(xiàn)主數(shù)據(jù)庫111發(fā)生損壞或者數(shù)據(jù)丟失時(shí),啟動(dòng)數(shù)據(jù)恢復(fù)操作。具體地,備份管理程序112首先查詢備份數(shù)據(jù)庫121,如果備份數(shù)據(jù)庫121中的數(shù)據(jù)無異常,則將備份數(shù)據(jù)庫121中的數(shù)據(jù)全部更新到主數(shù)據(jù)庫111中;然后,備份管理程序112查詢增量數(shù)據(jù)文件131,如果增量數(shù)據(jù)文件131無異常,讀取增量數(shù)據(jù)文件131中的內(nèi)容,并在主數(shù)據(jù)庫111上執(zhí)行相關(guān)SQL操作以更新主數(shù)據(jù)庫的數(shù)據(jù);如果增量數(shù)據(jù)文件131存在異常,則繼續(xù)查詢增量數(shù)據(jù)文件132,如果增量數(shù)據(jù)文件132無異常,讀取增量數(shù)據(jù)文件132中的內(nèi)容,并在主數(shù)據(jù)庫111上執(zhí)行相關(guān)SQL操作以更新主數(shù)據(jù)庫的數(shù)據(jù)。操作完成后,主數(shù)據(jù)庫111中的數(shù)據(jù)恢復(fù)到發(fā)生異常前的狀態(tài)。
[0031]需要說明,上述實(shí)施例中,采用了分別存儲(chǔ)在兩個(gè)存儲(chǔ)設(shè)備的增量數(shù)據(jù)文件,為了增加本數(shù)據(jù)備份系統(tǒng)的可靠性,可以采用提高增量數(shù)據(jù)文件的數(shù)量,也就是將多個(gè)增量數(shù)據(jù)文件保存在不同的存儲(chǔ)設(shè)備中,這樣可以避免單一增量數(shù)據(jù)文件損壞導(dǎo)致的數(shù)據(jù)丟失。采用大于兩個(gè)增量數(shù)據(jù)文件實(shí)現(xiàn)本系統(tǒng)的方法與本實(shí)施例類似,這里不加贅述。
[0032]圖2A和圖2B為本發(fā)明實(shí)施例二提供的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法的流程圖,如圖2A所示,所述方法首先包括步驟201至步驟204,下面對步驟201至步驟204進(jìn)行詳細(xì)描述。
[0033]步驟201:在數(shù)據(jù)保存時(shí),主計(jì)算機(jī)保存第一增量數(shù)據(jù)文件和第二增量數(shù)據(jù)文件。
[0034]需要說明,這兩個(gè)增量數(shù)據(jù)文件保存在主計(jì)算機(jī)的外部存儲(chǔ)空間,外部存儲(chǔ)空間可以是U盤或移動(dòng)硬盤。為了表述方便,這里假設(shè)第一增量數(shù)據(jù)文件保存在U盤,第二增量數(shù)據(jù)文件保存在移動(dòng)硬盤。
[0035]步驟202:當(dāng)主計(jì)算機(jī)中的數(shù)據(jù)發(fā)生變化時(shí),同時(shí)修改主數(shù)據(jù)文件和兩個(gè)增量數(shù)據(jù)文件中的數(shù)據(jù)。
[0036]具體地,修改主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件的方法為:從數(shù)據(jù)庫層面截獲將導(dǎo)致主計(jì)算機(jī)中已有的數(shù)據(jù)發(fā)生變化的SQL語句;向主數(shù)據(jù)文件預(yù)寫入截獲的SQL語句并向各個(gè)增量數(shù)據(jù)文件寫入截獲的SQL語句;當(dāng)各個(gè)增量數(shù)據(jù)文件均成功寫入所述SQL語句后,向主數(shù)據(jù)文件正式寫入所述SQL語句。
[0037]步驟203:判斷主數(shù)據(jù)文件和兩個(gè)增量數(shù)據(jù)文件是否都修改成功,如果都修改成功,則返回成功提示信息;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
[0038]作為另一種優(yōu)選實(shí)施例,步驟203還可以是:如果只有主數(shù)據(jù)文件修改成功或者所有增量數(shù)據(jù)文件都修改成功,則返回成功提示信息,同時(shí)提示主數(shù)據(jù)文件是否修改成功或者未修改成功的增量數(shù)據(jù)文件的位置;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
[0039]作為另一種優(yōu)選實(shí)施例,步驟203還可以是:如果只有主數(shù)據(jù)文件修改成功或者至少一個(gè)增量數(shù)據(jù)文件修改成功,則返回成功提示信息,同時(shí)提示主數(shù)據(jù)文件是否修改成功以及未修改成功的增量數(shù)據(jù)文件的位置;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
[0040]步驟204:主計(jì)算機(jī)根據(jù)步驟203中的判斷結(jié)果記錄主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件的異常情況。
[0041]具體地,如果某個(gè)數(shù)據(jù)文件未修改成功,則記錄此數(shù)據(jù)文件“異常”。需要說明,步驟204中所提到的“異?!敝傅氖菙?shù)據(jù)文件存在異常,而步驟203中所提到的“異?!敝傅氖欠椒▓?zhí)行過程存在異常。
[0042]執(zhí)行圖2A所述的步驟后,當(dāng)主計(jì)算機(jī)與備份計(jì)算機(jī)連接后,開始執(zhí)行圖2B所示的步驟,下面對步驟205至步驟212進(jìn)行詳細(xì)描述。
[0043]步驟205:識(shí)別主計(jì)算機(jī)與備份計(jì)算機(jī)是否連接,如果已連接則執(zhí)行步驟206,反之則繼續(xù)等待。
[0044]步驟206:查詢第一增量數(shù)據(jù)文件,判斷第一增量數(shù)據(jù)文件是否存在異常,如果第一增量數(shù)據(jù)文件不存在異常,則執(zhí)行步驟207,反之則執(zhí)行步驟208。
[0045]步驟207:讀取第一增量數(shù)據(jù)文件中的數(shù)據(jù),更新備份計(jì)算機(jī)中的數(shù)據(jù),轉(zhuǎn)入執(zhí)行步驟211。
[0046]具體地,通過網(wǎng)絡(luò)遠(yuǎn)程調(diào)用的方式在備份計(jì)算機(jī)上執(zhí)行相關(guān)SQL操作以將第一增量數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容更新至備份計(jì)算機(jī)中的備份數(shù)據(jù)庫。
[0047]步驟208:查詢第二增量數(shù)據(jù)文件,判斷第二增量數(shù)據(jù)文件是否存在異常,如果第二增量數(shù)據(jù)文件不存在異常,則執(zhí)行步驟209,反之則執(zhí)行步驟210。
[0048]步驟209:讀取第二增量數(shù)據(jù)文件中的數(shù)據(jù),更新備份計(jì)算機(jī)中的數(shù)據(jù),轉(zhuǎn)入步驟211。
[0049]通過步驟206和步驟208依次查詢了所有的增量數(shù)據(jù)文件,可以得到當(dāng)?shù)谝辉隽繑?shù)據(jù)文件存在異常并且第二增量數(shù)據(jù)文件不存在異常時(shí),執(zhí)行步驟209。具體地,通過網(wǎng)絡(luò)遠(yuǎn)程調(diào)用的方式在備份計(jì)算機(jī)上執(zhí)行相關(guān)SQL操作以將第二增量數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容更新至備份計(jì)算機(jī)中的備份數(shù)據(jù)庫。
[0050]步驟210:讀取主數(shù)據(jù)庫中的數(shù)據(jù),將主數(shù)據(jù)庫中的數(shù)據(jù)全部更新到備份數(shù)據(jù)庫。
[0051]步驟211:刪除第一增量數(shù)據(jù)文件和第二增量數(shù)據(jù)文件中的數(shù)據(jù)。
[0052]步驟212:返回“操作成功”信息。
[0053]基于實(shí)施例二可以得到實(shí)施例三,實(shí)施例三除了包括實(shí)施例二中的步驟201至步驟204以外,當(dāng)主計(jì)算機(jī)上的備份管理程序發(fā)現(xiàn)主數(shù)據(jù)庫發(fā)生損壞或者數(shù)據(jù)丟失時(shí),還執(zhí)行下述數(shù)據(jù)恢復(fù)方法,如圖3所示,包括步驟301至步驟311。
[0054]步驟301:如果發(fā)現(xiàn)主數(shù)據(jù)庫損壞,則執(zhí)行步驟302,反之則繼續(xù)等待。
[0055]步驟302:識(shí)別主計(jì)算機(jī)與備份計(jì)算機(jī)是否連接,如果已連接則執(zhí)行步驟303,反之則繼續(xù)等待。
[0056]步驟303:查詢備份計(jì)算機(jī)中的備份數(shù)據(jù)庫。
[0057]步驟304:判斷備份數(shù)據(jù)庫中的數(shù)據(jù)是否存在異常,如果存在異常則轉(zhuǎn)入步驟311 ;反之則執(zhí)行步驟305 ;
[0058]步驟305:將備份數(shù)據(jù)庫中的數(shù)據(jù)全部更新到主數(shù)據(jù)庫。
[0059]步驟306:查詢第一增量數(shù)據(jù)文件并判斷第一增量數(shù)據(jù)文件是否存在異常,如果第一增量數(shù)據(jù)文件不存在異常,則執(zhí)行步驟307 ;反之則執(zhí)行步驟308。
[0060]步驟307:讀取第一增量數(shù)據(jù)文件中的數(shù)據(jù),更新主數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行步驟310。
[0061]具體地,首先讀取第一增量數(shù)據(jù)文件中的數(shù)據(jù),然后在主數(shù)據(jù)庫上執(zhí)行相關(guān)SQL操作以將第一增量數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容更新至主計(jì)算機(jī)中的主數(shù)據(jù)庫。
[0062]步驟308:查詢第二增量數(shù)據(jù)文件并判斷第二增量數(shù)據(jù)文件是否存在異常,如果第二增量數(shù)據(jù)文件不存在異常,則執(zhí)行步驟309 ;反之則執(zhí)行步驟311。
[0063]步驟309:讀取第二增量數(shù)據(jù)文件中的數(shù)據(jù),更新主數(shù)據(jù)庫中的數(shù)據(jù)。
[0064]通過步驟306和步驟308依次查詢了第一增量數(shù)據(jù)文件和第二增量數(shù)據(jù)文件,可以得到當(dāng)?shù)谝辉隽繑?shù)據(jù)文件存在異常并且第二增量數(shù)據(jù)文件不存在異常時(shí),執(zhí)行步驟309。具體地,首先讀取第二增量數(shù)據(jù)文件中的數(shù)據(jù),然后在主數(shù)據(jù)庫上執(zhí)行相關(guān)SQL操作以將第二增量數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容更新至主計(jì)算機(jī)中的主數(shù)據(jù)庫。
[0065]步驟310:返回“操作成功”信息,結(jié)束流程。
[0066]步驟311:返回“操作失敗”信息,結(jié)束流程。
[0067]上述實(shí)施例中提到了 SQL操作,SQL是Structured Query Language (結(jié)構(gòu)化查詢語言)的縮寫,SQL語句是對數(shù)據(jù)庫進(jìn)行操作的一種語言。SQL包括了所有對數(shù)據(jù)庫的操作,主要是由4個(gè)部分組成:
[0068](I)數(shù)據(jù)定義:定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫、基本表、視圖和索引4部分;
[0069](2)數(shù)據(jù)操縱:包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)更新又包括插入、刪除和更新三種操作;
[0070](3)數(shù)據(jù)控制:對用戶訪問數(shù)據(jù)的控制有基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制語句等;
[0071](4)嵌入式SQL語言的使用規(guī)定:規(guī)定SQL語句在宿主語言的程序中使用的規(guī)則。
[0072]上述實(shí)施例提到的回滾是指刪除由一個(gè)或多個(gè)部分完成的事務(wù)執(zhí)行的更新。執(zhí)行回滾操作的目的是為了保證應(yīng)用程序、數(shù)據(jù)庫或系統(tǒng)錯(cuò)誤后還原數(shù)據(jù)庫的完整性。
【權(quán)利要求】
1.一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份方法,其特征在于包括如下步驟: 步驟A:在數(shù)據(jù)保存時(shí),主計(jì)算機(jī)保存至少一個(gè)增量數(shù)據(jù)文件; 步驟B:當(dāng)主計(jì)算機(jī)中的數(shù)據(jù)發(fā)生變化時(shí),同時(shí)修改主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件; 步驟C:判斷主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件是否修改成功,并根據(jù)判斷結(jié)果返回提示信息; 步驟D:主計(jì)算機(jī)根據(jù)步驟C返回的提示信息記錄主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件的異常情況; 步驟E:當(dāng)備份計(jì)算機(jī)與主計(jì)算機(jī)連接時(shí),依次查詢各個(gè)增量數(shù)據(jù)文件,如果查詢到一個(gè)無異常的增量數(shù)據(jù)文件,則將此增量數(shù)據(jù)文件中的數(shù)據(jù)同步到備份計(jì)算機(jī),并在同步完成后刪除所有的增量數(shù)據(jù)文件;如果所有的增量數(shù)據(jù)文件都存在異常,則將主計(jì)算機(jī)上的主數(shù)據(jù)文件同步到備份計(jì)算機(jī),并在同步完成后刪除所有的增量數(shù)據(jù)文件。
2.根據(jù)權(quán)利要求1所述的備份方法,其特征在于所述步驟B中修改主數(shù)據(jù)文件和各個(gè)增量數(shù)據(jù)文件的方法為:從數(shù)據(jù)庫層面截獲將導(dǎo)致主計(jì)算機(jī)中已有的數(shù)據(jù)發(fā)生變化的SQL語句;向主數(shù)據(jù)文件預(yù)寫入所述SQL語句并向各個(gè)增量數(shù)據(jù)文件寫入所述SQL語句;當(dāng)各個(gè)增量數(shù)據(jù)文件均成功寫入所述SQL語句后,向主數(shù)據(jù)文件正式寫入所述SQL語句。
3.根據(jù)權(quán)利要求1所述的備份方法,其特征在于還包括:當(dāng)主計(jì)算機(jī)中的數(shù)據(jù)損壞或丟失時(shí),首先將備份計(jì)算機(jī)與主計(jì)算機(jī)連接,然后通過備份計(jì)算機(jī)中的備份數(shù)據(jù)文件對主計(jì)算機(jī)中的主數(shù)據(jù)文件進(jìn)行第一次恢復(fù),最后通過主計(jì)算機(jī)的增量數(shù)據(jù)文件對主計(jì)算機(jī)中的主數(shù)據(jù)文件進(jìn)行第二次恢復(fù)。
4.根據(jù)權(quán)利要求1或2或3所述的備份方法,其特征在于所述步驟C具體包括:如果主數(shù)據(jù)文件和所有的增量數(shù)據(jù)文件都修改成功,則返回成功提示信息;反之則回滾主數(shù)據(jù)文件和所有的增量數(shù)據(jù)文件,并提示異常。
5.根據(jù)權(quán)利要求1或2或3所述的備份方法,其特征在于所述步驟C具體包括:如果只有主數(shù)據(jù)文件修改成功或者所有增量數(shù)據(jù)文件都修改成功,則返回成功提示信息,同時(shí)提示主數(shù)據(jù)文件是否修改成功或者未修改成功的增量數(shù)據(jù)文件的位置;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
6.根據(jù)權(quán)利要求1或2或3所述的備份方法,其特征在于所述步驟C具體包括:如果只有主數(shù)據(jù)文件修改成功或者至少一個(gè)增量數(shù)據(jù)文件修改成功,則返回成功提示信息,同時(shí)提示主數(shù)據(jù)文件是否修改成功以及未修改成功的增量數(shù)據(jù)文件的位置;反之則回滾主數(shù)據(jù)文件和所有增量數(shù)據(jù)文件,并提示異常。
7.根據(jù)權(quán)利要求1所述的備份方法,其特征在于所述主數(shù)據(jù)文件和增量數(shù)據(jù)文件存儲(chǔ)在不同的存儲(chǔ)空間。
8.根據(jù)權(quán)利要求7所述的備份方法,其特征在于所述主數(shù)據(jù)文件的存儲(chǔ)空間為計(jì)算機(jī)硬盤,所述增量數(shù)據(jù)文件的存儲(chǔ)空間為U盤或移動(dòng)硬盤。
9.一種基于增量數(shù)據(jù)文件的數(shù)據(jù)備份系統(tǒng),其特征在于包括主計(jì)算機(jī)、備份計(jì)算機(jī)和至少一個(gè)存儲(chǔ)設(shè)備,所述主計(jì)算機(jī)包括計(jì)算機(jī)硬盤和備份管理模塊,所述計(jì)算機(jī)硬盤用于存儲(chǔ)主數(shù)據(jù)文件,所述存儲(chǔ)設(shè)備用于存儲(chǔ)增量數(shù)據(jù)文件,所述備份管理程序模塊用于采用權(quán)利要求1至8中任一權(quán)利要求所述的方法進(jìn)行數(shù)據(jù)備份。
10.根據(jù)權(quán)利要求9所述的基于增量數(shù)據(jù)文件的數(shù)據(jù)備份系統(tǒng),其特征在于所述存儲(chǔ)設(shè)備為U盤或移動(dòng)硬盤。
【文檔編號(hào)】G06F17/30GK104166605SQ201410407834
【公開日】2014年11月26日 申請日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】徐戰(zhàn), 周保琢, 唐經(jīng)天, 郭繼文, 陳粵海, 劉俊, 嚴(yán)明, 宋勇 申請人:四川航天系統(tǒng)工程研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1