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

表增量獲取方法及異地數(shù)據(jù)備份方法

文檔序號:9672997閱讀:539來源:國知局
表增量獲取方法及異地數(shù)據(jù)備份方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫管理,特別是涉及一種表增量獲取方法和一種異地數(shù)據(jù)備份的方法。
【背景技術(shù)】
[0002]數(shù)據(jù)庫幾乎是目前生產(chǎn)企業(yè)用來管理生產(chǎn)數(shù)據(jù)的必備組件,對于大型生產(chǎn)企業(yè)而言,數(shù)據(jù)庫中的數(shù)據(jù)量非常大,對其進(jìn)行備份時都需要花費(fèi)大量的時間。而當(dāng)企業(yè)的各個分支機(jī)構(gòu)分散在不同的地區(qū)時,相互之間的數(shù)據(jù)要保持一致,只能通過網(wǎng)絡(luò)進(jìn)行傳輸。
[0003]在目前的網(wǎng)絡(luò)條件下,當(dāng)數(shù)據(jù)量達(dá)到T級(1T = 1,000G = 1,000, 000M)時,網(wǎng)絡(luò)傳輸相當(dāng)耗時和不穩(wěn)定。因此,為了提高效率,僅傳輸數(shù)據(jù)庫間的差異數(shù)據(jù),包括增加、修改和刪除的數(shù)據(jù)。
[0004]數(shù)據(jù)庫的類型一般包括SQL Server>0arcle以及DB2等,其中Oarcle用得較為廣泛。Oarcle數(shù)據(jù)庫自身帶有獲取數(shù)據(jù)增量的工具,但是Oarcle自身獲取數(shù)據(jù)增量的方式需要犧牲服務(wù)器較多的CPU性能和磁盤1/0,降低服務(wù)器整體性能。例如生成千萬級的表增量需要幾個小時甚至一天,無法滿足實(shí)際應(yīng)用的需要。

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

[0005]基于此,有必要提供一種表增量獲取方法,能夠提高獲取表增量的速度。
[0006]此外,還提供一種異地數(shù)據(jù)備份的方法,能夠提高異地數(shù)據(jù)備份的速度。
[0007]一種表增量獲取方法,包括如下步驟:
[0008]基于SAP平臺,經(jīng)由SAP數(shù)據(jù)字典建立對Oracle數(shù)據(jù)庫的訪問和操作;
[0009]在更新時間節(jié)點(diǎn)之前,將Oracle數(shù)據(jù)庫的目標(biāo)表讀取到內(nèi)表;
[0010]在更新時間節(jié)點(diǎn)之后,將Oracle數(shù)據(jù)庫的目標(biāo)表讀取到內(nèi)表;
[0011]根據(jù)目標(biāo)表的主鍵,在內(nèi)存中對更新時間節(jié)點(diǎn)前后的目標(biāo)表進(jìn)行分析比較,獲得表增量。
[0012]在其中一個實(shí)施例中,所述更新時間節(jié)點(diǎn)按固定周期推進(jìn),用于比較的兩個目標(biāo)表的時間跨度不大于該固定周期。
[0013]在其中一個實(shí)施例中,所述固定周期為24小時。
[0014]在其中一個實(shí)施例中,所述獲取表增量的步驟包括:
[0015]定義在更新時間節(jié)點(diǎn)之后的目標(biāo)表中存在、而更新時間節(jié)點(diǎn)之前的目標(biāo)表中沒有的記錄為第一類記錄;
[0016]定義在更新時間節(jié)點(diǎn)之前的目標(biāo)表中存在、而更新時間節(jié)點(diǎn)之后的目標(biāo)表中沒有的記錄為第二類記錄;
[0017]定義更新時間節(jié)點(diǎn)之后的目標(biāo)表和更新時間節(jié)點(diǎn)之前的目標(biāo)表中存在具有相同主鍵、但內(nèi)容有差別的記錄為第三類記錄;
[0018]比較更新時間節(jié)點(diǎn)前后的目標(biāo)表:
[0019]若存在第一類記錄,則將該第一類記錄在表增量中添加為新增記錄;
[0020]若存在第二類記錄,則將該第二類記錄在表增量中添加為刪除記錄;
[0021]若存在第三類記錄,則將該第三類記錄在表增量中添加為修改記錄。
[0022]一種異地數(shù)據(jù)備份方法,包括如下步驟:
[0023]將源服務(wù)器的oracle數(shù)據(jù)庫中的初始表發(fā)送到目標(biāo)服務(wù)器;
[0024]獲取源服務(wù)器的表增量并發(fā)送到目標(biāo)服務(wù)器;
[0025]目標(biāo)服務(wù)器根據(jù)初始表和表增量生成備份表;
[0026]其中,所述獲取源服務(wù)器的表增量的方法包括如下步驟:
[0027]基于SAP平臺,經(jīng)由SAP數(shù)據(jù)字典建立對Oracle數(shù)據(jù)庫的訪問和操作;
[0028]在更新時間節(jié)點(diǎn)之前,將Oracle數(shù)據(jù)庫的目標(biāo)表讀取到內(nèi)表;
[0029]在更新時間節(jié)點(diǎn)之后,將Oracle數(shù)據(jù)庫的目標(biāo)表讀取到內(nèi)表;
[0030]根據(jù)目標(biāo)表的主鍵,在內(nèi)存中對更新時間節(jié)點(diǎn)前后的目標(biāo)表進(jìn)行分析比較,獲得表增量。
[0031]在其中一個實(shí)施例中,所述更新時間節(jié)點(diǎn)按固定周期推進(jìn),用于比較的兩個目標(biāo)表的時間跨度不大于該固定周期。
[0032]在其中一個實(shí)施例中,所述固定周期為24小時。
[0033]在其中一個實(shí)施例中,所述獲取表增量的步驟包括:
[0034]定義在更新時間節(jié)點(diǎn)之后的目標(biāo)表中存在、而更新時間節(jié)點(diǎn)之前的目標(biāo)表中沒有的記錄為第一類記錄;
[0035]定義在更新時間節(jié)點(diǎn)之前的目標(biāo)表中存在、而更新時間節(jié)點(diǎn)之后的目標(biāo)表中沒有的記錄為第二類記錄;
[0036]定義更新時間節(jié)點(diǎn)之后的目標(biāo)表和更新時間節(jié)點(diǎn)之前的目標(biāo)表中存在具有相同主鍵、但內(nèi)容有差別的記錄為第三類記錄;
[0037]比較更新時間節(jié)點(diǎn)前后的目標(biāo)表:
[0038]若存在第一類記錄,則將該第一類記錄在表增量中添加為新增記錄;
[0039]若存在第二類記錄,則將該第二類記錄在表增量中添加為刪除記錄;
[0040]若存在第三類記錄,則將該第三類記錄在表增量中添加為修改記錄。
[0041]在其中一個實(shí)施例中,源服務(wù)器采用FTP向目標(biāo)服務(wù)器發(fā)送初始表和表增量。
[0042]上述獲取表增量的方法,利用SAP平臺的內(nèi)表技術(shù),可以把數(shù)據(jù)表讀入在內(nèi)存中進(jìn)行比較,相比于oracle數(shù)據(jù)庫需要占用CPU資源和磁盤1/0的處理方式來說,其速度較快,對千萬級的數(shù)據(jù)表,比較目標(biāo)表并獲得表增量的時間僅需要幾分鐘。
[0043]上述異地數(shù)據(jù)備份方法基于該表增量獲取方法,也具有較快的備份速度。
【附圖說明】
[0044]圖1為一實(shí)施例的表增量獲取方法流程圖;
[0045]圖2為一實(shí)施例的異地數(shù)據(jù)備份方法流程圖;
[0046]圖3為圖2的備份方法的數(shù)據(jù)獲取和流向示意圖。
【具體實(shí)施方式】
[0047]如圖1所示,為一實(shí)施例的表增量獲取方法流程圖。該方法包括如下步驟。
[0048]步驟S101:基于SAP平臺,經(jīng)由SAP數(shù)據(jù)字典建立對Oracle數(shù)據(jù)庫的訪問和操作。SAP平臺(Systems, Applicat1n and Products in Data processing),指的是SAP商務(wù)套件,其中的R/3系統(tǒng)以模塊化的形式提供了一整套業(yè)務(wù)措施,用于公司或企業(yè)戰(zhàn)略上和運(yùn)用上的管理。該系統(tǒng)本身是一個標(biāo)準(zhǔn)的通用的系統(tǒng),可以通過配置,為不同的行業(yè)提供不同的解決方案,同時也提供了基于 ABAP(Advanced Business Applicat1n Programming)語言的一套開發(fā)工具。本實(shí)施例的SAP平臺是基于該商務(wù)套件中的R/3系統(tǒng),利用ABAP語言進(jìn)行二次開發(fā)完成所需的功能。本實(shí)施例主要針對Oracle數(shù)據(jù)庫。SAP平臺通過SAP數(shù)據(jù)字典可建立對Oracle數(shù)據(jù)庫的訪問和操作。
[0049]步驟S102:在更新時間節(jié)點(diǎn)之前,將Oracle數(shù)據(jù)庫的目標(biāo)表讀取到內(nèi)表。內(nèi)表是ABAP編程語言的一種技術(shù),其與一般編程語言中的結(jié)構(gòu)體類似,是程序運(yùn)行中被臨時創(chuàng)建的一個存儲空間,它是一個可包含多條記錄的數(shù)據(jù)表。因此內(nèi)表是駐于內(nèi)存中的。更新時間節(jié)點(diǎn)是指更新數(shù)據(jù)的時間點(diǎn),通常可在程序中設(shè)置定時事件來觸發(fā)更新操作。目標(biāo)表即是要處理的數(shù)據(jù)表。
[0050]步驟S103:在更新時間節(jié)點(diǎn)之后,將Oracle數(shù)據(jù)庫的目標(biāo)表讀取到內(nèi)表。
[0051]經(jīng)過步驟S102和步驟S103,更新時間節(jié)點(diǎn)前后的目標(biāo)表都存儲于內(nèi)表中。
[0052]步驟S104:根據(jù)目標(biāo)表的主鍵,在
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1