欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法

文檔序號(hào):6507402閱讀:259來源:國知局
一種基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法
【專利摘要】本發(fā)明公開了一種基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,包括如下步驟:如下步驟:a)創(chuàng)建中間表,用于存放存疑表的主鍵以及存疑字段;b)修改數(shù)據(jù)庫同步設(shè)置,加入存疑表到中間表的同步策略;c)修改數(shù)據(jù)庫同步設(shè)置策略,在存疑表到存疑表的同步中加入過濾條件以及存儲(chǔ)過程;d)在存疑表上創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)日期,用于中間表的清理以及非法日期格式數(shù)據(jù)的錄入。本發(fā)明提供的基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,能夠避開數(shù)據(jù)庫的校驗(yàn)機(jī)制實(shí)現(xiàn)數(shù)據(jù)同步,保持源庫和目標(biāo)庫之間對(duì)應(yīng)記錄的數(shù)據(jù)一致性,避免因數(shù)據(jù)類型報(bào)錯(cuò)而引發(fā)的同步異常。
【專利說明】一種基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)同步方法,尤其涉及一種基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法。【背景技術(shù)】
[0002]Oracle GoldenGate軟件是一種基于log(日志)的結(jié)構(gòu)化數(shù)據(jù)復(fù)制軟件,它通過解析源數(shù)據(jù)庫在線log或歸檔log獲得數(shù)據(jù)的增、刪、改變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫,實(shí)現(xiàn)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫同步、雙活。Oracle GoldenGate軟件可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)(包括幾乎所有常用操作系統(tǒng)平臺(tái)和數(shù)據(jù)庫平臺(tái))之間實(shí)現(xiàn)大量數(shù)據(jù)亞秒級(jí)的實(shí)時(shí)復(fù)制。
[0003]Oracle GoldenGate是一種基于軟件的數(shù)據(jù)復(fù)制方式,它從數(shù)據(jù)庫的log解析數(shù)據(jù)的變化,將數(shù)據(jù)變化轉(zhuǎn)化為自己的格式,直接通過TCP/IP網(wǎng)絡(luò)傳輸,無需依賴于數(shù)據(jù)庫自身的傳遞方式,而且可以通過高達(dá)9:1的壓縮率對(duì)數(shù)據(jù)進(jìn)行壓縮,可以大大降低帶寬需求。在目標(biāo)端,Oracle GoldenGate可以通過交易重組,分批加載等技術(shù)手段大大加快數(shù)據(jù)投遞的速度和效率,降低目標(biāo)系統(tǒng)的資源占用,可以在亞秒級(jí)實(shí)現(xiàn)大量數(shù)據(jù)的復(fù)制,并且目標(biāo)端數(shù)據(jù)庫是活動(dòng)的。從而可以在應(yīng)急系統(tǒng)、在線報(bào)表、實(shí)時(shí)數(shù)據(jù)倉庫供應(yīng)、交易跟蹤、數(shù)據(jù)同步、集中/分發(fā)、容災(zāi)、數(shù)據(jù)庫升級(jí)和移植、雙業(yè)務(wù)中心等多個(gè)場(chǎng)景下應(yīng)用。同時(shí),OracleGoldenGate可以實(shí)現(xiàn)一對(duì)一、廣播(一對(duì)多)、聚合(多對(duì)一)、雙向、點(diǎn)對(duì)點(diǎn)、級(jí)聯(lián)等多種靈活的拓?fù)浣Y(jié)構(gòu)。
[0004]Oracle GoldenGate技術(shù)解決了目前業(yè)界難以解決的在不同系統(tǒng)之間進(jìn)行海量數(shù)據(jù)實(shí)時(shí)同步問題,并可以根據(jù)業(yè)務(wù)需求進(jìn)行部分關(guān)鍵數(shù)據(jù)同步,操作靈活、方便,實(shí)現(xiàn)了對(duì)實(shí)時(shí)信息的實(shí)時(shí)訪問,使得企業(yè)可以提高可用性、可靠性、和跨企業(yè)系統(tǒng)的關(guān)鍵數(shù)據(jù)性能。采用GoldenGate的數(shù)據(jù)復(fù)制技術(shù),可以實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)備份,確保核心數(shù)據(jù)的安全,同時(shí)避免引入過多種類的軟硬件產(chǎn)品,降低了運(yùn)營維護(hù)的復(fù)雜度和投入,有利于災(zāi)備系統(tǒng)的恢復(fù)和切換。該技術(shù)可以廣泛用于對(duì)數(shù)據(jù)庫系統(tǒng)實(shí)時(shí)性要求高,需要建立容災(zāi)系統(tǒng)的大中型企業(yè)。
[0005]隨著近幾年來業(yè)務(wù)系統(tǒng)的不斷高速發(fā)展,當(dāng)前的數(shù)據(jù)庫系統(tǒng),隨著客戶的增加,業(yè)務(wù)的增長(zhǎng)以及時(shí)間的累積,系統(tǒng)單位時(shí)間在線交易數(shù)以及每筆交易的復(fù)雜度均有大規(guī)模的提升,這樣也導(dǎo)致了數(shù)據(jù)庫系統(tǒng)上的數(shù)據(jù)變更更為頻繁,數(shù)據(jù)變動(dòng)量的增加,也必然導(dǎo)致生產(chǎn)系統(tǒng)向容災(zāi)系統(tǒng)同步數(shù)據(jù)以及切換容災(zāi)系統(tǒng)的壓力變大。但是目前現(xiàn)有的技術(shù)都存在有比較明顯的缺陷,容易由于源端數(shù)據(jù)異常,使其無法通過目標(biāo)數(shù)據(jù)庫的校驗(yàn)機(jī)制,觸發(fā)數(shù)據(jù)庫報(bào)錯(cuò),從而導(dǎo)致GoldenGate同步異常,最終導(dǎo)致源庫與目標(biāo)庫的數(shù)據(jù)不一致,使企業(yè)蒙受巨大的損失。
[0006]Oracle GoldenGate軟件能支持Oracle Database之間數(shù)據(jù)的實(shí)時(shí)同步,然而對(duì)于源數(shù)據(jù)庫中某些date類型數(shù)據(jù)本身就不符合Oracle Database的數(shù)據(jù)類型,如“0000-00-0000:00:00”、“2014-02-2900:00:00”、“2012-06-0125:00:00” 等等,因Oracle Database的bug或者應(yīng)用程序設(shè)計(jì)上的問題導(dǎo)致這種數(shù)據(jù)寫進(jìn)了源數(shù)據(jù)庫。由于Oracle GoldenGate本質(zhì)原理為解析redo信息并在目標(biāo)數(shù)據(jù)庫重構(gòu)語句,處理相應(yīng)記錄,而期間目標(biāo)數(shù)據(jù)庫會(huì)對(duì)記錄進(jìn)行校驗(yàn),上述提到的date類型數(shù)據(jù)就會(huì)觸發(fā)數(shù)據(jù)庫報(bào)錯(cuò),如ORA-01843:not a valid month,進(jìn)而導(dǎo)致進(jìn)程ABENDED或記錄丟失(具體結(jié)果因GoldenGate的REPERR0R策略設(shè)置而異,但均會(huì)導(dǎo)致數(shù)據(jù)不一致)。
[0007]在實(shí)際生產(chǎn)環(huán)境中,可從源端著手解決,避免異常數(shù)據(jù)。然而應(yīng)用程序的修改以及數(shù)據(jù)庫補(bǔ)丁的升級(jí)是一項(xiàng)復(fù)雜的工程,工作量繁重,會(huì)中斷業(yè)務(wù)系統(tǒng)的正常運(yùn)行。在一些極端的環(huán)境下,還會(huì)出現(xiàn)客戶拒絕修改應(yīng)用或者數(shù)據(jù)庫的情況。
[0008]針對(duì)這種問題,目前業(yè)內(nèi)的基本解決方案主要有三種:1)重置為空值。2)重新初始化。C)忽略問題記錄。
[0009]為了方便描述,下面將對(duì)部分名詞作統(tǒng)一約定。
[0010]
【權(quán)利要求】
1.一種基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,其特征在于,包括如下步驟: a)創(chuàng)建中間表,用于存放存疑表的主鍵以及存疑字段; b)修改數(shù)據(jù)庫同步設(shè)置,加入存疑表到中間表的同步策略; c)修改數(shù)據(jù)庫同步設(shè)置策略,在存疑表到存疑表的同步中加入過濾條件以及存儲(chǔ)過程; d)在存疑表上創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)日期,用于中間表的清理以及非法日期格式數(shù)據(jù)的錄入。
2.如權(quán)利要求1所述的基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,其特征在于,所述數(shù)據(jù)庫為Oracle Golden Gate,所述存疑表中異常數(shù)據(jù)以字符串形式插入到該中間表中,若中間表中的異常數(shù)據(jù)為數(shù)據(jù)表主鍵的一部分,則指定數(shù)據(jù)表中的其他字段作為主鍵。
3.如權(quán)利要求2所述的基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,其特征在于,如果存疑表中存在存疑日期,則將存疑日期替換為觸發(fā)日期。
4.如權(quán)利要求2所述的基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,其特征在于,所述步驟b)中存疑表到中間表的同步過程如下: 對(duì)于DML類型為INSERT的記錄,將Oracle GoldenGate主鍵以及存疑字段直接插入到中間表; 對(duì)于DML類型為DELETE的記錄,忽略存疑表到中間表的同步; 對(duì)于DML類型為UPDATE的記錄,如果存疑字段狀態(tài)均為缺失狀態(tài),忽略存疑表到中間表的同步;否則將相應(yīng)記錄的GoldenGate主鍵以及存疑字段插入到中間表。
5.如權(quán)利要求2所述的基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,其特征在于,所述步驟c)中存疑表到存疑表的同步過程如下: 首先發(fā)起SQL語句查詢,若返回的中間表的存疑字段中存在非法日期格式,利用GoldenGate的COLMAP功能,將狀態(tài)非缺失的異常記錄的非法日期改為觸發(fā)日期; 然后再進(jìn)行正常的GoldenGate同步。
6.如權(quán)利要求2所述的基于日志的結(jié)構(gòu)化數(shù)據(jù)同步方法,其特征在于,所述步驟d)中觸發(fā)器的處理過程如下: dl)判斷存疑日期是否均非觸發(fā)日期,如果結(jié)果為真,則說明記錄無任何異常,觸發(fā)器的處理過程結(jié)束; d2)通過查詢中間表獲取各存疑字段,并以字符串格式存放; d3)對(duì)存疑字段的各值作運(yùn)算,生成RAW格式的值; d4)調(diào)用Oracle的函數(shù)轉(zhuǎn)化將存疑數(shù)據(jù)從RAW格式轉(zhuǎn)化為日期格式; d5)利用主鍵更新存疑字段并清理中間表。
【文檔編號(hào)】G06F17/30GK103455557SQ201310345269
【公開日】2013年12月18日 申請(qǐng)日期:2013年8月8日 優(yōu)先權(quán)日:2013年8月8日
【發(fā)明者】程永新, 黎君原 申請(qǐng)人:上海新炬網(wǎng)絡(luò)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
互助| 石阡县| 东平县| 西城区| 堆龙德庆县| 屯昌县| 弥渡县| 鹰潭市| 凤冈县| 汝阳县| 象山县| 建水县| 阳春市| 马公市| 日喀则市| 高州市| 观塘区| 碌曲县| 萍乡市| 河南省| 宁津县| 获嘉县| 故城县| 临西县| 家居| 河北省| 油尖旺区| 宜兰县| 福州市| 中西区| 阳西县| 澄迈县| 子洲县| 澳门| 嘉定区| 濮阳市| 界首市| 洛宁县| 图们市| 广丰县| 玛纳斯县|