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

實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)、裝置及方法

文檔序號:6429064閱讀:192來源:國知局
專利名稱:實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)、裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)技術(shù)中不同數(shù)據(jù)庫之間數(shù)據(jù)遷移的方法,尤其涉及實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)、裝置及方法。
背景技術(shù)
信息技術(shù)(IT,Information Technology)系統(tǒng)經(jīng)過長時期運(yùn)行,一方面因其異構(gòu)化為企業(yè)的信息升級和管理帶來了更大的復(fù)雜性,另一方面也因方便用戶使用而起的作用愈大,導(dǎo)致數(shù)據(jù)量也愈巨大,以及業(yè)務(wù)類型也愈多樣化。這樣一來,使得企業(yè)的各項運(yùn)作都較強(qiáng)地依賴于IT系統(tǒng)的正常運(yùn)行,由此使得很多IT人員都面臨著類似如下一些問題(1)如何實(shí)現(xiàn)不同平臺架構(gòu)下的客戶業(yè)務(wù)的遷移例如,將非X86架構(gòu)下的客戶業(yè)務(wù)遷移到一個可以不停擴(kuò)展和擴(kuò)張的X86架構(gòu)下, 能夠?yàn)楹笃诘臉I(yè)務(wù)應(yīng)用升級和遷移提供更多的靈活性。(2)如何確保不同平臺架構(gòu)下的客戶業(yè)務(wù)的數(shù)據(jù)平滑無縫地遷移,并確保數(shù)據(jù)遷移過程中的安全性及可靠性例如,確保將非X86架構(gòu)下數(shù)據(jù)庫中的用戶業(yè)務(wù)數(shù)據(jù)平滑無縫地遷移到X86架構(gòu)的數(shù)據(jù)庫中,并確保數(shù)據(jù)遷移過程中非X86架構(gòu)下的用戶業(yè)務(wù)不因宕機(jī)而中斷。(3)如何實(shí)現(xiàn)不同平臺架構(gòu)下的數(shù)據(jù)庫之間的數(shù)據(jù)同步目前應(yīng)用廣泛的具異構(gòu)平臺架構(gòu)下數(shù)據(jù)實(shí)時遷移的方案,例如數(shù)據(jù)復(fù)制方案 Ghar印lex)、數(shù)據(jù)庫容災(zāi)恢復(fù)方案(RealSync)以及數(shù)據(jù)庫自帶的高可用組件,雖然這些方案在一定程度上可以滿足部分客戶業(yè)務(wù)應(yīng)用的需求,但是同時也存在諸多不足,主要表現(xiàn)在如下一些方面1)由于要求源端和目標(biāo)端的數(shù)據(jù)庫類型必須一致,故很難滿足異構(gòu)平臺下的數(shù)據(jù)庫中數(shù)據(jù)的無縫遷移,例如像SiarePlex架構(gòu)和RealSync架構(gòu)之間數(shù)據(jù)的無縫遷移。2)不能確保目標(biāo)端數(shù)據(jù)庫處于激活狀態(tài),從而造成數(shù)據(jù)遷移時需較長的停機(jī)時間,譬如Oracle的自身組件物理備庫機(jī)制等。由于上述技術(shù)上的不足,使得IT人員難以解決其所面臨的上述種種問題,導(dǎo)致出現(xiàn)不利于技術(shù)繼續(xù)發(fā)展的瓶頸。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)、 裝置及方法,能夠確保異構(gòu)下的客戶業(yè)務(wù)數(shù)據(jù)平滑無縫地遷移。為了解決上述技術(shù)問題,本發(fā)明提供了一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng),其特征在于,包括依次連接的源端數(shù)據(jù)庫、數(shù)據(jù)遷移裝置以及目標(biāo)端數(shù)據(jù)庫,其中源端數(shù)據(jù)庫,用于將各個應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)記載在日志流中;數(shù)據(jù)遷移裝置,用于從源端數(shù)據(jù)庫記載的日志流中捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),將更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起通過相應(yīng)的解譯轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并傳遞給目標(biāo)端數(shù)據(jù)庫;目標(biāo)端數(shù)據(jù)庫,用于通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與源端數(shù)據(jù)庫的數(shù)據(jù)同步。進(jìn)一步地,數(shù)據(jù)遷移裝置包括依次連接的通用日志分析引擎模塊、專用日志分析引擎模塊以及業(yè)務(wù)解譯模塊,目標(biāo)端數(shù)據(jù)庫內(nèi)置有標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊;其中通用日志分析引擎模塊,用于將源端數(shù)據(jù)庫記載的日志流指派給專用日志分析引擎模塊中相應(yīng)的專用數(shù)據(jù)庫日志分析引擎;專用日志分析引擎模塊,用于通過相應(yīng)的專用數(shù)據(jù)庫日志分析引擎根據(jù)數(shù)據(jù)庫特征和日志格式從日志流中捕獲所述發(fā)生更改的數(shù)據(jù),并與源端數(shù)據(jù)庫中應(yīng)用業(yè)務(wù)的觸發(fā)、 數(shù)據(jù)存儲及操作一起,輸出給業(yè)務(wù)解譯模塊;業(yè)務(wù)解譯模塊,用于將源端數(shù)據(jù)庫應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)及應(yīng)用業(yè)務(wù)的觸發(fā)、 數(shù)據(jù)存儲及操作通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,并通過互聯(lián)網(wǎng)傳遞給目標(biāo)端數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊;標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊,用于通過標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言引擎將解譯的標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句提供給目標(biāo)端數(shù)據(jù)庫的應(yīng)用進(jìn)程執(zhí)行。為了解決上述技術(shù)問題,本發(fā)明提供了一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的裝置,包括相互連接的專用日志分析引擎模塊以及業(yè)務(wù)解譯模塊,其中專用日志分析引擎模塊,用于從源端數(shù)據(jù)庫記載的日志流中捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),并與應(yīng)用業(yè)務(wù)一起輸出給業(yè)務(wù)解譯模塊;業(yè)務(wù)解譯模塊,用于將應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)及應(yīng)用業(yè)務(wù)通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,并傳遞給目標(biāo)端數(shù)據(jù)庫。進(jìn)一步地,在專用日志分析引擎模塊之前還包括通用日志分析引擎模塊,其中通用日志分析引擎模塊,用于將源端數(shù)據(jù)庫記載的日志流指派給專用日志分析引擎模塊中相應(yīng)的專用數(shù)據(jù)庫日志分析引擎;專用日志分析引擎模塊通過相應(yīng)的專用數(shù)據(jù)庫日志分析引擎根據(jù)數(shù)據(jù)庫特征和日志格式從日志流中捕獲發(fā)生更改的數(shù)據(jù),并與應(yīng)用業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲及操作一起輸出給業(yè)務(wù)解譯模塊;業(yè)務(wù)解譯模塊將應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)及應(yīng)用業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲及操作通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,并通過互聯(lián)網(wǎng)傳遞給目標(biāo)端數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊進(jìn)行解譯。為了解決上述技術(shù)問題,本發(fā)明提供了一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的方法,涉及源端數(shù)據(jù)庫和數(shù)據(jù)遷移裝置及目標(biāo)端數(shù)據(jù)庫,該方法包括源端數(shù)據(jù)庫將各個應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)記載在日志流中;數(shù)據(jù)遷移裝置從源端數(shù)據(jù)庫記載的日志流中捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),將更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并傳遞到目標(biāo)端數(shù)據(jù)庫。進(jìn)一步地,在數(shù)據(jù)遷移裝置捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)之前,還包括為源端數(shù)據(jù)庫建立捕獲隊列和傳輸隊列,并建立捕獲進(jìn)程、解譯進(jìn)程以及傳輸進(jìn)程。進(jìn)一步地,數(shù)據(jù)遷移裝置從源端數(shù)據(jù)庫記載的日志流中捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),將更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并通過網(wǎng)絡(luò)傳遞到目標(biāo)端數(shù)據(jù)庫,具體包括捕獲進(jìn)程在捕獲隊列有空閑空間時,當(dāng)源端數(shù)據(jù)庫在線日志發(fā)生歸檔切換后,通過相應(yīng)的專用數(shù)據(jù)庫日志分析引擎從日志流記錄的停止分析的日志位置繼續(xù)對日志進(jìn)行分析,并將捕獲到的更改數(shù)據(jù)記載在捕獲隊列中;解譯進(jìn)程在傳輸隊列有空閑空間時,通過相應(yīng)的專用結(jié)構(gòu)化查詢語言解譯器依次將捕獲隊列中的更改數(shù)據(jù)解譯成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句后,記載在傳輸隊列中;傳輸進(jìn)程將傳輸隊列中的標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句通過互聯(lián)網(wǎng)傳輸給目標(biāo)端數(shù)據(jù)庫。進(jìn)一步地,該方法還包括目標(biāo)端數(shù)據(jù)庫通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與源端數(shù)據(jù)庫的數(shù)據(jù)同步。進(jìn)一步地,目標(biāo)端數(shù)據(jù)庫通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與源端數(shù)據(jù)庫的數(shù)據(jù)同步,具體包括目標(biāo)端數(shù)據(jù)庫監(jiān)聽到傳輸?shù)臉?biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,通過內(nèi)置的標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言引擎從標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句中解譯出應(yīng)用業(yè)務(wù)及其更改的數(shù)據(jù),并提供給相應(yīng)的應(yīng)用進(jìn)程執(zhí)行。本發(fā)明基于數(shù)據(jù)庫日志挖掘機(jī)制,同時加入日志分析引擎和結(jié)構(gòu)化查詢語言 (SQL, Structured Query Language)編譯器引擎分析日志,并解譯數(shù)據(jù)庫中的數(shù)據(jù)的改變, 從而完成跨平臺、跨數(shù)據(jù)庫類型之間的業(yè)務(wù)數(shù)據(jù)的無縫遷移,大大減輕了數(shù)據(jù)庫的壓力和網(wǎng)絡(luò)負(fù)擔(dān),并利用觸發(fā)機(jī)制確保斷點(diǎn)續(xù)傳及防止緩沖隊列溢出,避免出現(xiàn)數(shù)據(jù)重傳和斷傳問題,且整個分析、解譯及應(yīng)用過程對用戶均是透明的,從而能夠?qū)崿F(xiàn)數(shù)據(jù)的無縫遷移和同

少ο


圖1為本發(fā)明的實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;圖2為本發(fā)明的實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的方法實(shí)施例的流程圖。
具體實(shí)施例方式以下結(jié)合附圖和優(yōu)選實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)地闡述。以下例舉的實(shí)施例僅用于說明和解釋本發(fā)明,而不構(gòu)成對本發(fā)明技術(shù)方案的限制。如圖1所示,表示了本發(fā)明的實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)實(shí)施例,包括依次連接的源端數(shù)據(jù)庫、本發(fā)明的數(shù)據(jù)遷移裝置實(shí)施例以及目標(biāo)端數(shù)據(jù)庫,其中源端數(shù)據(jù)庫,用于在日志流中記載各個應(yīng)用業(yè)務(wù)發(fā)生改變的數(shù)據(jù);數(shù)據(jù)遷移裝置,用于從源端數(shù)據(jù)庫記載的日志流中捕獲各個應(yīng)用業(yè)務(wù)發(fā)生改變的數(shù)據(jù),將源端數(shù)據(jù)庫各應(yīng)用業(yè)務(wù)通過相應(yīng)的解譯轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并通過網(wǎng)絡(luò)傳遞到目標(biāo)端數(shù)據(jù)庫;目標(biāo)端數(shù)據(jù)庫,用于通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與源端數(shù)據(jù)庫的數(shù)據(jù)同

少ο在上述系統(tǒng)實(shí)施例中,數(shù)據(jù)遷移裝置實(shí)施例包括依次連接的通用日志分析引擎模CN 102262662 A
說明書
4/5頁
塊、專用日志分析引擎模塊以及業(yè)務(wù)解譯模塊,目標(biāo)端數(shù)據(jù)庫內(nèi)置標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊; 其中通用日志分析引擎模塊,用于將源端數(shù)據(jù)庫記載的日志流指派給專用日志分析引擎模塊中相應(yīng)的專用數(shù)據(jù)庫日志分析引擎;專用日志分析引擎模塊,用于通過多個專用數(shù)據(jù)庫日志分析引擎(1 η)根據(jù)數(shù)據(jù)庫特征和日志格式從源端數(shù)據(jù)庫記載的日志流捕獲應(yīng)用業(yè)務(wù)發(fā)生改變的數(shù)據(jù),并與源端數(shù)據(jù)庫中應(yīng)用業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲及操作一起,輸出給業(yè)務(wù)解譯模塊;業(yè)務(wù)解譯模塊,用于將源端數(shù)據(jù)庫應(yīng)用業(yè)務(wù)發(fā)生改變的數(shù)據(jù)及其觸發(fā)、數(shù)據(jù)存儲及操作通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的SQL語句,并通過互聯(lián)網(wǎng)傳遞給目標(biāo)端數(shù)據(jù)庫內(nèi)置的標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊;標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊,用于通過標(biāo)準(zhǔn)SQL引擎將解譯的標(biāo)準(zhǔn)的SQL語句提供給目標(biāo)端數(shù)據(jù)庫的應(yīng)用進(jìn)程執(zhí)行,從而完成與源端數(shù)據(jù)庫的數(shù)據(jù)同步。本發(fā)明的上述基于日志分析機(jī)制的系統(tǒng)實(shí)施例及其裝置實(shí)施例,其主要設(shè)計思想是,利用關(guān)系型數(shù)據(jù)庫對標(biāo)準(zhǔn)SQL語句的支持及回滾操作,將最終數(shù)據(jù)的改變記錄在日志中,通過分析日志中數(shù)據(jù)的改變來捕獲數(shù)據(jù)庫應(yīng)用業(yè)務(wù)的行為,并通過標(biāo)準(zhǔn)的SQL解譯器引擎解譯成標(biāo)準(zhǔn)的SQL語句,解決了不同數(shù)據(jù)庫之間業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲以及操作等一些數(shù)據(jù)庫描述語法上的差異,以實(shí)現(xiàn)不同數(shù)據(jù)庫類型之間應(yīng)用業(yè)務(wù)之間邏輯信號的傳遞, 從而確保源端和目標(biāo)端的數(shù)據(jù)一致性。本發(fā)明針對以上系統(tǒng)實(shí)施例及其裝置實(shí)施例,相應(yīng)地還提供了實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的方法實(shí)施例,其流程如圖2所示,包括如下步驟110:為源端數(shù)據(jù)庫建立捕獲隊列和傳輸隊列,并建立捕獲進(jìn)程、解譯進(jìn)程以及傳輸進(jìn)程;本發(fā)明的數(shù)據(jù)遷移裝置為各類源端數(shù)據(jù)庫的日志流中更改數(shù)據(jù)捕獲和傳輸分別建立捕獲隊列和傳輸隊列,同時建立捕獲進(jìn)程、解譯進(jìn)程以及傳輸進(jìn)程。120 判斷捕獲隊列是否有空閑空間,是則執(zhí)行下列步驟,否則執(zhí)行步驟180 ;130:捕獲進(jìn)程將從源端數(shù)據(jù)庫日志流中捕獲的更改數(shù)據(jù)依次記載在捕獲隊列中;在源端數(shù)據(jù)庫在線日志發(fā)生歸檔切換后,只要指定歸檔日志的路徑,捕獲進(jìn)程通過相應(yīng)的專用數(shù)據(jù)庫日志分析引擎可從源端數(shù)據(jù)庫日志流記錄的停止分析的日志位置繼續(xù)對日志進(jìn)行分析,捕獲到更改的數(shù)據(jù),從而保證數(shù)據(jù)更改的一致性。140 判斷傳輸隊列是否有空閑空間,是則執(zhí)行下列步驟,否則執(zhí)行步驟190 ;一旦傳輸隊列空間滿時,會觸發(fā)解譯進(jìn)程停止解譯,直到傳輸隊列有空余空間時, 再觸發(fā)解譯進(jìn)程進(jìn)行解譯。150 解譯進(jìn)程依次將捕獲隊列中的更改數(shù)據(jù)解譯成標(biāo)準(zhǔn)的SQL語句,然后記載在傳輸隊列中;解譯進(jìn)程通過相應(yīng)的專用SQL解譯器依次將捕獲隊列中的更改數(shù)據(jù)解譯成標(biāo)準(zhǔn)的SQL語句后,記載在傳輸隊列中。160 傳輸進(jìn)程將傳輸隊列中記載的標(biāo)準(zhǔn)的SQL語句傳輸給目標(biāo)端數(shù)據(jù)庫;傳輸進(jìn)程通過基于TCP/IP協(xié)議傳輸SQL語句,可以保證異地遠(yuǎn)距離傳輸;并且由于SQL語句本身占用帶寬較小,故可減輕網(wǎng)絡(luò)壓力。170 目標(biāo)端數(shù)據(jù)庫通過內(nèi)置的標(biāo)準(zhǔn)SQL引擎從標(biāo)準(zhǔn)的SQL語句中解譯出應(yīng)用業(yè)務(wù)及其更改的數(shù)據(jù),并提供給相應(yīng)的應(yīng)用進(jìn)程執(zhí)行,返回步驟120執(zhí)行;目標(biāo)端數(shù)據(jù)庫通過監(jiān)聽察覺到傳輸?shù)臉?biāo)準(zhǔn)的SQL語句,并通過應(yīng)用進(jìn)程在目標(biāo)端數(shù)據(jù)庫中運(yùn)行解譯的標(biāo)準(zhǔn)的SQL語句,從而實(shí)現(xiàn)異構(gòu)平臺之間數(shù)據(jù)的實(shí)時無縫遷移。180 捕獲進(jìn)程停止捕獲,執(zhí)行步驟140 ;190 解譯進(jìn)程停止解譯,執(zhí)行步驟160。在上述方法實(shí)施例的整個執(zhí)行過程中,通過在本發(fā)明的數(shù)據(jù)遷移裝置實(shí)施例中弓丨入捕獲進(jìn)程、解譯進(jìn)程、及傳遞進(jìn)程來對源端數(shù)據(jù)庫中更改的數(shù)據(jù)進(jìn)行捕獲、分析及解譯, 并將其傳輸?shù)侥繕?biāo)端數(shù)據(jù)庫通過應(yīng)用進(jìn)程執(zhí)行。這四個進(jìn)程均不會對源端數(shù)據(jù)庫造成任何影響,通過本發(fā)明的數(shù)據(jù)遷移裝置實(shí)施例中內(nèi)置的進(jìn)程工作觸發(fā)關(guān)系,即使在某個進(jìn)程由于意外原因down掉,也不會造成源端數(shù)據(jù)庫中更改的數(shù)據(jù)的斷傳。本發(fā)明的上述方法實(shí)施例從常見關(guān)系型數(shù)據(jù)庫的運(yùn)行原理入手,引入了日志分析引擎和SQL解譯器引擎,將不同類型數(shù)據(jù)庫之間的日志格式差異和SQL語法差異抽象成與數(shù)據(jù)庫類型無關(guān)的標(biāo)準(zhǔn)的SQL語句,并利用目標(biāo)端數(shù)據(jù)庫內(nèi)置的標(biāo)準(zhǔn)SQL引擎將標(biāo)準(zhǔn)的SQL 語句解譯成應(yīng)用進(jìn)程執(zhí)行的語句,從而確保異構(gòu)平臺下異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)的同步。另外,通過裝置實(shí)施例中內(nèi)置的觸發(fā)機(jī)制,來協(xié)調(diào)捕獲進(jìn)程、解譯進(jìn)程、傳輸進(jìn)程之間同步關(guān)系,以確保源端數(shù)據(jù)庫更改的數(shù)據(jù)不斷傳。通過分析日志的機(jī)制,不影響源端數(shù)據(jù)庫的正常運(yùn)行,同時對源端數(shù)據(jù)庫性能影響微乎其微,且數(shù)據(jù)延時較小。對于本領(lǐng)域的專業(yè)人員來說,在了解了本發(fā)明內(nèi)容和原理后,能夠在不背離本發(fā)明的原理和范圍的情況下,根據(jù)本發(fā)明的方法進(jìn)行形式和細(xì)節(jié)上的各種修正和改變,但是這些基于本發(fā)明的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng),其特征在于,包括依次連接的源端數(shù)據(jù)庫、數(shù)據(jù)遷移裝置以及目標(biāo)端數(shù)據(jù)庫,其中源端數(shù)據(jù)庫,用于將各個應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)記載在日志流中; 數(shù)據(jù)遷移裝置,用于從源端數(shù)據(jù)庫記載的日志流中捕獲所述應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),將所述更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起通過相應(yīng)的解譯轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并傳遞給目標(biāo)端數(shù)據(jù)庫;目標(biāo)端數(shù)據(jù)庫,用于通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與源端數(shù)據(jù)庫的數(shù)據(jù)同步。
2.按照權(quán)利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)遷移裝置包括依次連接的通用日志分析引擎模塊、專用日志分析引擎模塊以及業(yè)務(wù)解譯模塊,所述目標(biāo)端數(shù)據(jù)庫內(nèi)置有標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊;其中通用日志分析引擎模塊,用于將所述源端數(shù)據(jù)庫記載的日志流指派給專用日志分析引擎模塊中相應(yīng)的專用數(shù)據(jù)庫日志分析引擎;專用日志分析引擎模塊,用于通過相應(yīng)的專用數(shù)據(jù)庫日志分析引擎根據(jù)數(shù)據(jù)庫特征和日志格式從所述日志流中捕獲所述發(fā)生更改的數(shù)據(jù),并與所述源端數(shù)據(jù)庫中應(yīng)用業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲及操作一起,輸出給業(yè)務(wù)解譯模塊;業(yè)務(wù)解譯模塊,用于將源端數(shù)據(jù)庫應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)及所述應(yīng)用業(yè)務(wù)的觸發(fā)、 數(shù)據(jù)存儲及操作通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,并通過互聯(lián)網(wǎng)傳遞給所述目標(biāo)端數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊;標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊,用于通過標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言引擎將解譯的標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句提供給所述目標(biāo)端數(shù)據(jù)庫的應(yīng)用進(jìn)程執(zhí)行。
3.一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的裝置,包括相互連接的專用日志分析引擎模塊以及業(yè)務(wù)解譯模塊,其中專用日志分析引擎模塊,用于從源端數(shù)據(jù)庫記載的日志流中捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),并與所述應(yīng)用業(yè)務(wù)一起輸出給業(yè)務(wù)解譯模塊;業(yè)務(wù)解譯模塊,用于將所述應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)及所述應(yīng)用業(yè)務(wù)通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,并傳遞給所述目標(biāo)端數(shù)據(jù)庫。
4.按照權(quán)利要求3所述的裝置,其特征在于,在所述專用日志分析引擎模塊之前還包括通用日志分析引擎模塊,其中通用日志分析引擎模塊,用于將所述源端數(shù)據(jù)庫記載的日志流指派給所述專用日志分析引擎模塊中相應(yīng)的專用數(shù)據(jù)庫日志分析引擎;所述專用日志分析引擎模塊通過所述相應(yīng)的專用數(shù)據(jù)庫日志分析引擎根據(jù)數(shù)據(jù)庫特征和日志格式從所述日志流中捕獲所述發(fā)生更改的數(shù)據(jù),并與所述應(yīng)用業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲及操作一起輸出給所述業(yè)務(wù)解譯模塊;所述業(yè)務(wù)解譯模塊將所述應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)及所述應(yīng)用業(yè)務(wù)的觸發(fā)、數(shù)據(jù)存儲及操作通過解譯,轉(zhuǎn)換成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,并通過互聯(lián)網(wǎng)傳遞給所述目標(biāo)端數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢引擎模塊進(jìn)行解譯。
5.一種實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的方法,涉及源端數(shù)據(jù)庫和數(shù)據(jù)遷移裝置及目標(biāo)端數(shù)據(jù)庫,該方法包括源端數(shù)據(jù)庫將各個應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)記載在日志流中;數(shù)據(jù)遷移裝置從所述源端數(shù)據(jù)庫記載的日志流中捕獲所述應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù), 將所述更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并傳遞到目標(biāo)端數(shù)據(jù)庫。
6.按照權(quán)利要求5所述的方法,其特征在于,在所述數(shù)據(jù)遷移裝置捕獲所述應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)之前,還包括為所述源端數(shù)據(jù)庫建立捕獲隊列和傳輸隊列,并建立捕獲進(jìn)程、解譯進(jìn)程以及傳輸進(jìn)程。
7.按照權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)遷移裝置從所述源端數(shù)據(jù)庫記載的日志流中捕獲所述應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),將所述更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并通過網(wǎng)絡(luò)傳遞到目標(biāo)端數(shù)據(jù)庫,具體包括所述捕獲進(jìn)程在所述捕獲隊列有空閑空間時,當(dāng)所述源端數(shù)據(jù)庫在線日志發(fā)生歸檔切換后,通過相應(yīng)的專用數(shù)據(jù)庫日志分析引擎從所述日志流記錄的停止分析的日志位置繼續(xù)對所述日志進(jìn)行分析,并將捕獲到的更改數(shù)據(jù)記載在所述捕獲隊列中;所述解譯進(jìn)程在所述傳輸隊列有空閑空間時,通過相應(yīng)的專用結(jié)構(gòu)化查詢語言解譯器依次將所述捕獲隊列中的更改數(shù)據(jù)解譯成標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句后,記載在所述傳輸隊列中;所述傳輸進(jìn)程將所述傳輸隊列中的所述標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句通過互聯(lián)網(wǎng)傳輸給所述目標(biāo)端數(shù)據(jù)庫。
8.按照權(quán)利要求7所述的方法,其特征在于,還包括所述目標(biāo)端數(shù)據(jù)庫通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與所述源端數(shù)據(jù)庫的數(shù)據(jù)同止少ο
9.按照權(quán)利要求8所述的方法,其特征在于,所述目標(biāo)端數(shù)據(jù)庫通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與所述源端數(shù)據(jù)庫的數(shù)據(jù)同步,具體包括所述目標(biāo)端數(shù)據(jù)庫監(jiān)聽到傳輸?shù)乃鰳?biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句,通過內(nèi)置的標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言引擎從所述標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言語句中解譯出所述應(yīng)用業(yè)務(wù)及其所述更改的數(shù)據(jù),并提供給相應(yīng)的應(yīng)用進(jìn)程執(zhí)行。
全文摘要
本發(fā)明披露了實(shí)現(xiàn)異構(gòu)平臺下數(shù)據(jù)庫數(shù)據(jù)遷移的系統(tǒng)、裝置及方法,其中系統(tǒng)包括依次連接的源端數(shù)據(jù)庫、數(shù)據(jù)遷移裝置以及目標(biāo)端數(shù)據(jù)庫,其中源端數(shù)據(jù)庫將各個應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù)記載在日志流中;數(shù)據(jù)遷移裝置從源端數(shù)據(jù)庫記載的日志流中捕獲應(yīng)用業(yè)務(wù)發(fā)生更改的數(shù)據(jù),將更改的數(shù)據(jù)隨相應(yīng)的應(yīng)用業(yè)務(wù)一起通過相應(yīng)的解譯轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,并傳遞給目標(biāo)端數(shù)據(jù)庫;目標(biāo)端數(shù)據(jù)庫通過執(zhí)行標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句完成與源端數(shù)據(jù)庫的數(shù)據(jù)同步。本發(fā)明解決了不同數(shù)據(jù)庫之間業(yè)務(wù)的觸發(fā)及數(shù)據(jù)存儲等據(jù)庫描述語法上的差異的問題,確保了源端和目標(biāo)端的數(shù)據(jù)一致性。
文檔編號G06F17/30GK102262662SQ20111020591
公開日2011年11月30日 申請日期2011年7月22日 優(yōu)先權(quán)日2011年7月22日
發(fā)明者喬鑫, 王友升 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1