一種用于金融管理網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫備份與恢復(fù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫管理技術(shù)領(lǐng)域,具體來說是一種用于金融管理網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫備份與恢復(fù)方法。
【背景技術(shù)】
[0002]所謂一致性的數(shù)據(jù)庫是指數(shù)據(jù)處理響應(yīng)完成了的數(shù)據(jù)庫,例如:一個會計數(shù)據(jù)庫,當它的記入借方與相應(yīng)的貸方記錄相匹配的情況下,它就是數(shù)據(jù)一致的,所謂實時的數(shù)據(jù)庫就是指所有的事務(wù)全部執(zhí)行完畢后才響應(yīng),如果一個正在運行數(shù)據(jù)庫管理的系統(tǒng)崩潰了,而對事務(wù)的處理結(jié)果還存在緩存中而沒有寫入到磁盤文件中,在這種情況下,當系統(tǒng)重新啟動時,系統(tǒng)數(shù)據(jù)就是非實時性的。而金融網(wǎng)絡(luò)系統(tǒng)中的數(shù)據(jù)庫則要當此災(zāi)難發(fā)生后能夠恢復(fù)數(shù)據(jù)庫時以保證數(shù)據(jù)庫的一致性和實時性。
[0003]如何設(shè)計出一種數(shù)據(jù)庫的備份與恢復(fù)方法,使其在系統(tǒng)崩潰的條件下也能保證數(shù)據(jù)庫的一致性和實時性已經(jīng)成為急需解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中數(shù)據(jù)庫無法在系統(tǒng)崩潰的條件下保證數(shù)據(jù)庫一致性和實時性的缺陷,提供一種用于金融管理網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫備份與恢復(fù)方法來解決上述問題。
[0005]為了實現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:
[0006]一種用于金融管理網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫備份與恢復(fù)方法,包括以下步驟:
[0007]數(shù)據(jù)庫的創(chuàng)建,建立數(shù)據(jù)庫備份統(tǒng)一格式和規(guī)范;
[0008]建立日志備份文件緩沖池,以邏輯時間軸B為基礎(chǔ)建立備份文件緩沖池;
[0009]數(shù)據(jù)庫備份,數(shù)據(jù)庫在時間周期內(nèi)進行數(shù)據(jù)備份操作;
[0010]數(shù)據(jù)庫恢復(fù),數(shù)據(jù)庫恢復(fù)備份數(shù)據(jù)。
[0011]所述數(shù)據(jù)庫的創(chuàng)建包括以下步驟:
[0012]設(shè)定數(shù)據(jù)庫的組成結(jié)構(gòu),數(shù)據(jù)庫包括主文件組、輔助文件組和日志文件;
[0013]設(shè)定數(shù)據(jù)庫和日志備份文件的備份周期T ;
[0014]建立數(shù)據(jù)庫的實際時間軸和邏輯時間軸,實時時間軸A以實際時間為準,邏輯時間軸B以備份周期T的時間為準,B = {t。、tn tytn}。
[0015]所述數(shù)據(jù)庫備份包括以下步驟:
[0016]數(shù)據(jù)庫以備份周期T為時間間隔進行數(shù)據(jù)庫映象備份,產(chǎn)生日志文件并存儲在當前備份周期T的數(shù)據(jù)庫中,在邏輯時間軸上對此日志文件進行時間標注t。;
[0017]在第二個備份周期T+1,判斷當前數(shù)據(jù)庫是否處于正常狀態(tài),若處于正常狀態(tài),則繼續(xù)進行數(shù)據(jù)庫映象備份,產(chǎn)生第二個備份周期T+1的日志文件并存儲在第二個備份周期T+1的數(shù)據(jù)庫中,在邏輯時間軸上對此日志文件進行時間標注t1;
[0018]若處于非正常狀態(tài),根據(jù)緩存中第二個備份周期T+1內(nèi)所收到的數(shù)據(jù),建立日志備份文件,將此日志備份文件存入日志備份文件緩沖池,在邏輯時間軸上對此日志備份文件進行時間標注ti。
[0019]所述數(shù)據(jù)庫恢復(fù)包括以下步驟:
[0020]在第η個備份周期T+n,判斷當前數(shù)據(jù)庫是否處于正常狀態(tài),若處于非正常狀態(tài),則繼續(xù)建立日志備份文件;
[0021]若處于正常狀態(tài),數(shù)據(jù)庫在邏輯時間軸上進行時間定位,找到日志備份文件緩沖池中的第一個日志備份文件;
[0022]數(shù)據(jù)庫回滾數(shù)據(jù),對日志備份文件緩沖池中的第一個日志備份文件進行讀取,并按邏輯時間軸進行數(shù)據(jù)庫的數(shù)據(jù)恢復(fù),直至處理完上一個周期tn 日志備份文件;
[0023]清空日志備份文件緩沖池;
[0024]將數(shù)據(jù)庫中數(shù)據(jù)的邏輯時間軸的時間標記與實際時間軸進行標定。
[0025]有益效果
[0026]本發(fā)明的一種用于金融管理網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫備份與恢復(fù)方法,與現(xiàn)有技術(shù)相比能夠在系統(tǒng)崩潰重啟時,重新調(diào)取緩存中未存儲的數(shù)據(jù)文件,并將回滾存入數(shù)據(jù)庫。通過利用數(shù)據(jù)庫和日志備份文件緩沖池對日志文件的保存,形成一份連續(xù)日志,記錄了整個將做事務(wù)和完成事務(wù)的操作流水。當需要修復(fù)損壞的數(shù)據(jù)庫時,數(shù)據(jù)庫系統(tǒng)重新應(yīng)用這些日志,那些在系統(tǒng)崩潰時處理結(jié)果還存在緩存中的已接受事務(wù)會被回滾,結(jié)果會存放到磁盤文件中,消除它所帶來的對其他數(shù)據(jù)的影響。本發(fā)明保證了數(shù)據(jù)庫的存儲穩(wěn)定性,提出了故障、脫機狀態(tài)下的數(shù)據(jù)備份與恢復(fù)方法,適用于高穩(wěn)定性要求的金融行業(yè)。
【附圖說明】
[0027]圖1為本發(fā)明的方法流程圖;
[0028]圖2為本發(fā)明的邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0029]為使對本發(fā)明的結(jié)構(gòu)特征及所達成的功效有更進一步的了解與認識,用以較佳的實施例及附圖配合詳細的說明,說明如下:
[0030]如圖1和圖2所示,本發(fā)明所述的一種用于金融管理網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)庫備份與恢復(fù)方法,包括以下步驟:
[0031]第一步,數(shù)據(jù)庫的創(chuàng)建。建立數(shù)據(jù)庫備份統(tǒng)一格式和規(guī)范,在數(shù)據(jù)庫中建立實際時間軸和邏輯時間軸,以配合備份和恢復(fù)操作的定位工作。其具體步驟如下:
[0032](I)設(shè)定數(shù)據(jù)庫的組成結(jié)構(gòu),數(shù)據(jù)庫包括主文件組、輔助文件組和日志文件。主文件組和輔助文件組均為數(shù)據(jù)庫中所保存的數(shù)據(jù)和文件信息,按照現(xiàn)有技術(shù)的方式在數(shù)據(jù)庫中有序存儲。日志文件為當前時間備份周期T內(nèi),數(shù)據(jù)庫的完整映像,在這個時間點內(nèi)整體數(shù)據(jù)庫產(chǎn)生一個完整的映像,因此,在當前時間備份周期T內(nèi),日志文件所反映的映像上,沒有部分完成的事務(wù)存在,均全部完成,日志文件完整地反映了當前備份周期T內(nèi)的全部事務(wù)。
[0033](2)設(shè)定數(shù)據(jù)庫和日志備份文件的備份周期T,備份周期T可以分時段根據(jù)需要來變動或設(shè)定,如在凌晨2點至4點,可以將備份周期T設(shè)置得較長;在正常工作時間,可以將備份周期T設(shè)置得較短。
[0034](3)建立數(shù)據(jù)庫的實際時間軸和邏輯時間軸,實際時間軸A為絕對時間,用于記錄數(shù)據(jù)存儲的具體時間,其以實際時間為準;邏輯時間軸B為相對時間,是基于備份周期T的時間為間隔的相對時間,因此B = {t。、V V-tn}。由于備份文件緩沖池只是數(shù)據(jù)緩沖和暫存的作用,在完成一次數(shù)據(jù)恢復(fù)過程后,為滿足下個故障的使用需要,備份文件緩沖池需要全部清空,因此在此無法針對備份文件緩沖池使用絕對時間進行定位。并且由于數(shù)據(jù)庫存儲的特性,在不同地理位置存在相應(yīng)的時間差,因此采集單一的絕對時間作為時間基礎(chǔ),難以保證數(shù)據(jù)恢復(fù)時可以準確地找到回滾定位點。
[0035]第二步,建立日志備份文件緩沖池,以邏輯時間軸B為基礎(chǔ)建立備份文件緩沖池。日志備份文件緩沖池為獨立于數(shù)據(jù)庫的另一個存儲空間,其與數(shù)據(jù)庫在邏輯時間軸B上保持同步。日志備份文件緩沖池設(shè)立于緩存中,用于當數(shù)據(jù)庫斷開連接、系統(tǒng)崩潰時,對緩存中的數(shù)據(jù)文件形成映象,進而保存。
[0036]第三步,數(shù)據(jù)庫備份。數(shù)據(jù)庫在時間周期內(nèi)進行數(shù)據(jù)備份操作,其具體步驟如下:
[