本發(fā)明涉及數(shù)據(jù)庫領(lǐng)域,特別涉及一種數(shù)據(jù)同步方法及裝置。
背景技術(shù):
:在全球數(shù)字化發(fā)展的背景下,信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫技術(shù)也由集中式向分布式逐漸演變。比如對(duì)于一些地域上分散而管理相對(duì)集中的企業(yè)來說,通過搭建分布式數(shù)據(jù)庫系統(tǒng)增加數(shù)據(jù)副本,來提高系統(tǒng)的可靠性,成為一種主流趨勢(shì)。數(shù)據(jù)同步作為維護(hù)分布式數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)一致性的主要技術(shù)手段,有著重要意義。這是由于一致的多個(gè)數(shù)據(jù)副本能提供更多的數(shù)據(jù)服務(wù),進(jìn)而增大數(shù)據(jù)訪問吞吐量,增強(qiáng)數(shù)據(jù)可用性;能夠使用戶應(yīng)用只需要訪問本地副本而無需訪問遠(yuǎn)程數(shù)據(jù),進(jìn)而減少數(shù)據(jù)訪問延遲,提高用戶應(yīng)用的性能;應(yīng)對(duì)不可預(yù)測(cè)因素造成的數(shù)據(jù)丟失,進(jìn)而保證數(shù)據(jù)可靠性。而分布式數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)同步,主要有以下兩個(gè)問題:數(shù)據(jù)庫各個(gè)系統(tǒng)開發(fā)時(shí)間與環(huán)境不一致,所采用的數(shù)據(jù)庫工具與所設(shè)計(jì)的數(shù)據(jù)庫表一般差異較大,因此各業(yè)務(wù)系統(tǒng)之間數(shù)據(jù)交換和共享難以進(jìn)行;各業(yè)務(wù)系統(tǒng)在更新?lián)Q代過程中,為了讓用戶擁有一段時(shí)間的適應(yīng)期,出現(xiàn)的新舊系統(tǒng)同時(shí)運(yùn)行的過渡階段,這種情況下,新舊系統(tǒng)的數(shù)據(jù)庫可能出現(xiàn)重構(gòu),并且舊系統(tǒng)中發(fā)生的數(shù)據(jù)變化需要實(shí)用同步更新到新系統(tǒng)中。也就是說,數(shù)據(jù)同步的難題主要集中在兩個(gè)方面:在數(shù)據(jù)異構(gòu)性上涉及了數(shù)據(jù)類型不同和數(shù)據(jù)表模式不同兩個(gè)因素;在數(shù)據(jù)傳播方向上是由下級(jí)系統(tǒng)向上級(jí)系統(tǒng)進(jìn)行同步,由舊系統(tǒng)向新系統(tǒng)進(jìn)行同步。在現(xiàn)有技術(shù)中,數(shù)據(jù)庫同步的產(chǎn)品通?;蛘邔?duì)于異構(gòu)數(shù)據(jù)庫的支持較弱,或者不具備足夠的靈活性,主要表現(xiàn)為以下問題:第一,在數(shù)據(jù)庫的異構(gòu)性上,現(xiàn)有的數(shù)據(jù)庫復(fù)制產(chǎn)品雖然能夠支持不 同數(shù)據(jù)類型的轉(zhuǎn)換,但是不能夠支持不同數(shù)據(jù)表模式的數(shù)據(jù)同步。第二,在數(shù)據(jù)同步周期上,現(xiàn)有的數(shù)據(jù)庫復(fù)制產(chǎn)品可以按照設(shè)定的周期去檢查并執(zhí)行同步,但是對(duì)于不同類別的數(shù)據(jù)庫,這種周期往往只限于兩個(gè)數(shù)據(jù)庫之間,這意味著擁有多個(gè)多種數(shù)據(jù)庫的數(shù)據(jù)同步應(yīng)用,倘若要更改數(shù)據(jù)同步周期,那么就需要逐一修改各個(gè)數(shù)據(jù)庫的同步時(shí)間設(shè)置,過程十分繁瑣。第三,在數(shù)據(jù)同步處理上,現(xiàn)有的數(shù)據(jù)庫復(fù)制產(chǎn)品只能處理兩個(gè)表、兩個(gè)字段之間的對(duì)應(yīng)類型轉(zhuǎn)換,如果一張表中的字段需要根據(jù)另一張表中的一個(gè)或多個(gè)字段進(jìn)行求值運(yùn)算得到,則現(xiàn)有技術(shù)方案難以處理。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種數(shù)據(jù)同步方法及裝置,其目的是為了解決現(xiàn)有的數(shù)據(jù)庫同步技術(shù)對(duì)異構(gòu)數(shù)據(jù)庫的支持較弱,不具備足夠的靈活性的問題。為了達(dá)到上述目的,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)同步方法,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該方法包括:獲取目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,所述關(guān)聯(lián)關(guān)系至少包括所述目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的映射關(guān)系以及預(yù)設(shè)的第一數(shù)據(jù)轉(zhuǎn)換公式;在一預(yù)設(shè)的同步周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息;在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令;將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。優(yōu)選地,獲取目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系之前,該方法包括:獲取目標(biāo)數(shù)據(jù)庫中的每個(gè)待同步數(shù)據(jù)表與所有源數(shù)據(jù)庫中的源數(shù)據(jù)表之間的映射關(guān)系以及第二數(shù)據(jù)轉(zhuǎn)換公式;對(duì)所有的第二數(shù)據(jù)轉(zhuǎn)換公式進(jìn)行分析計(jì)算,得到第一數(shù)據(jù)轉(zhuǎn)換公式。優(yōu)選地,變化數(shù)據(jù)的標(biāo)識(shí)信息至少包括:變化數(shù)據(jù)所在源數(shù)據(jù)表的表名、變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值和變化數(shù)據(jù)的變化時(shí)間。優(yōu)選地,在一預(yù)設(shè)周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息,具體包括:為每個(gè)源數(shù)據(jù)庫分別創(chuàng)建一個(gè)控制表;在一預(yù)設(shè)周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息,并將變化數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在源數(shù)據(jù)庫對(duì)應(yīng)的控制表中。優(yōu)選地,在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令,具體包括:在同步周期內(nèi),根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的表名以及關(guān)聯(lián)關(guān)系中的映射關(guān)系,確定對(duì)應(yīng)的目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表;根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值以及第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令,并將變化數(shù)據(jù)的變化時(shí)間作為數(shù)據(jù)同步指令的下達(dá)時(shí)間。優(yōu)選地,將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫之后,該方法還包括:獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言。優(yōu)選地,獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言的步驟之后,該方法還包括:獲取目標(biāo)數(shù)據(jù)庫對(duì)與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言的執(zhí)行結(jié)果:當(dāng)執(zhí)行結(jié)果為已執(zhí)行時(shí),刪除控制表中對(duì)應(yīng)的變化數(shù)據(jù)的標(biāo)識(shí)信息。為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例還提供了一種數(shù)據(jù)同步裝置,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該裝置包括:獲取模塊,用于獲取目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,所述關(guān)聯(lián)關(guān)系至少包括所述目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的映射關(guān)系以及預(yù)設(shè)的第一數(shù)據(jù)轉(zhuǎn)換公式;標(biāo)識(shí)獲取模塊,用于在一預(yù)設(shè)的同步周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息;生成模塊,用于在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令;發(fā)送模塊,用于將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。優(yōu)選地,數(shù)據(jù)同步裝置包括:映射獲取模塊,用于在獲取模塊獲取目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系之前,獲取目標(biāo)數(shù)據(jù)庫中的每個(gè)待同步數(shù)據(jù)表與所有源數(shù)據(jù)庫中的源數(shù)據(jù)表之間的映射關(guān)系以及第二數(shù)據(jù)轉(zhuǎn)換公式;分析模塊,用于對(duì)所有的第二數(shù)據(jù)轉(zhuǎn)換公式進(jìn)行分析計(jì)算,得到第一數(shù)據(jù)轉(zhuǎn)換公式。優(yōu)選地,變化數(shù)據(jù)的標(biāo)識(shí)信息至少包括:變化數(shù)據(jù)所在源數(shù)據(jù)表的表名、變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值和變化數(shù)據(jù)的變化時(shí)間。優(yōu)選地,標(biāo)識(shí)獲取模塊具體包括:創(chuàng)建子模塊,用于為每個(gè)源數(shù)據(jù)庫分別創(chuàng)建一個(gè)控制表;存儲(chǔ)子模塊,用于在一預(yù)設(shè)周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息,并將變化數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在源數(shù)據(jù)庫對(duì)應(yīng)的控制表中。優(yōu)選地,生成模塊具體包括:確定子模塊,用于在同步周期內(nèi),根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的表名以及關(guān)聯(lián)關(guān)系中的映射關(guān)系,確定對(duì)應(yīng)的目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表;指令生成子模塊,用于根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值以及第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令,并將變化數(shù)據(jù)的變化時(shí)間作為數(shù)據(jù)同步指令的下達(dá)時(shí)間。優(yōu)選地,該裝置還包括:執(zhí)行模塊,用于在發(fā)送模塊將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫之后,獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言。優(yōu)選地,該裝置還包括:刪除模塊,用于在執(zhí)行模塊獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言之后,獲取目標(biāo)數(shù)據(jù)庫對(duì)與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言的執(zhí)行結(jié)果:當(dāng)執(zhí)行結(jié)果為已執(zhí)行時(shí),刪除控制表中對(duì)應(yīng)的變化數(shù)據(jù)的標(biāo)識(shí)信息。本發(fā)明的上述方案至少包括以下有益效果:本發(fā)明提供的數(shù)據(jù)同步方法及裝置,無需改變數(shù)據(jù)庫系統(tǒng)原有的程序邏輯,通過獲取源數(shù)據(jù)庫中變化數(shù)據(jù)的標(biāo)識(shí)信息,再根據(jù)關(guān)聯(lián)關(guān)系將變化數(shù)據(jù)的信息轉(zhuǎn)換成針對(duì)目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)同步指令,能夠支持不同數(shù)據(jù)表模式的數(shù)據(jù)同步,對(duì)異構(gòu)數(shù)據(jù)庫的支持程度較強(qiáng);本發(fā)明可獨(dú)立主動(dòng)設(shè)置數(shù)據(jù)同步周期,不受限于源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的同步周期,方便更改;且本發(fā)明中關(guān)聯(lián)關(guān)系中的第一數(shù)據(jù)轉(zhuǎn)換公式不僅可以是數(shù)據(jù)類型轉(zhuǎn)換,還可以是數(shù)據(jù)值的精確值計(jì)算以及一些匯總、求和計(jì)算等,具有足夠的靈活性。附圖說明圖1為本發(fā)明的第一實(shí)施例提供的數(shù)據(jù)同步方法的步驟流程圖;圖2為本發(fā)明的第二實(shí)施例提供的數(shù)據(jù)同步方法的步驟流程圖;圖3為本發(fā)明的第三實(shí)施例提供的數(shù)據(jù)同步方法的步驟流程圖;圖4為本發(fā)明的第四實(shí)施例提供的數(shù)據(jù)同步方法的步驟流程圖;圖5為本發(fā)明的第五實(shí)施例提供的數(shù)據(jù)同步裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。通常情況下,異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步的難題主要集中在兩個(gè)方面:在數(shù)據(jù)異構(gòu)性上涉及了數(shù)據(jù)類型不同和數(shù)據(jù)表模式不同兩個(gè)因素;在數(shù)據(jù) 傳播方向上是由下級(jí)系統(tǒng)向上級(jí)系統(tǒng)進(jìn)行同步,由舊系統(tǒng)向新系統(tǒng)進(jìn)行同步。而在現(xiàn)有技術(shù)中,數(shù)據(jù)庫同步的產(chǎn)品通常或者對(duì)于異構(gòu)數(shù)據(jù)庫的支持較弱,或者不具備足夠的靈活性。因此,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)同步方法及裝置。第一實(shí)施例參見圖1,本發(fā)明針對(duì)現(xiàn)有的問題,提供了一種數(shù)據(jù)同步方法,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該方法包括:步驟101,獲取目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,所述關(guān)聯(lián)關(guān)系至少包括所述目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的映射關(guān)系以及預(yù)設(shè)的第一數(shù)據(jù)轉(zhuǎn)換公式。其中,映射關(guān)系即每個(gè)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的對(duì)應(yīng)關(guān)系;第一數(shù)據(jù)轉(zhuǎn)換公式即源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間具體的數(shù)據(jù)對(duì)應(yīng)關(guān)系,可以包括數(shù)據(jù)類型的轉(zhuǎn)換,數(shù)據(jù)值的精確值計(jì)算以及一些匯總、求和計(jì)算等。步驟102,在一預(yù)設(shè)的同步周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息。優(yōu)選地,變化數(shù)據(jù)的標(biāo)識(shí)信息至少包括:變化數(shù)據(jù)所在源數(shù)據(jù)表的表名、變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值和變化數(shù)據(jù)的變化時(shí)間。其中,變化類型值即預(yù)設(shè)的代表變化類型的數(shù)值,比如插入操作的變化類型值為0,刪除操作的變化類型值為1,更新操作的變化類型值為2等。步驟103,在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令。其中,根據(jù)源數(shù)據(jù)庫的變化數(shù)據(jù)的標(biāo)識(shí)信息以及源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,生成針對(duì)目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)同步指令,數(shù)據(jù)同步指令用于指示目標(biāo)數(shù)據(jù)庫根據(jù)關(guān)聯(lián)關(guān)系,同步源數(shù)據(jù)庫中的數(shù)據(jù)變化。步驟104,將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。本發(fā)明的上述實(shí)施例中,無需改變數(shù)據(jù)庫系統(tǒng)原有的程序邏輯,通過獲取源數(shù)據(jù)庫中變化數(shù)據(jù)的標(biāo)識(shí)信息,再根據(jù)關(guān)聯(lián)關(guān)系將變化數(shù)據(jù)的信息轉(zhuǎn)換成針 對(duì)目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)同步指令,能夠支持不同數(shù)據(jù)表模式的數(shù)據(jù)同步,對(duì)異構(gòu)數(shù)據(jù)庫的支持程度較強(qiáng);本發(fā)明可獨(dú)立主動(dòng)設(shè)置數(shù)據(jù)同步周期,不受限于源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的同步周期,方便更改;且本發(fā)明中關(guān)聯(lián)關(guān)系中的第一數(shù)據(jù)轉(zhuǎn)換公式不僅可以是數(shù)據(jù)類型轉(zhuǎn)換,還可以是數(shù)據(jù)值的精確值計(jì)算以及一些匯總、求和計(jì)算等,具有足夠的靈活性。第二實(shí)施例參見圖2,本發(fā)明的第二實(shí)施例提供了一種數(shù)據(jù)同步方法,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該方法包括:步驟201,獲取目標(biāo)數(shù)據(jù)庫中的每個(gè)待同步數(shù)據(jù)表與所有源數(shù)據(jù)庫中的源數(shù)據(jù)表之間的映射關(guān)系以及第二數(shù)據(jù)轉(zhuǎn)換公式。其中,映射關(guān)系是待同步數(shù)據(jù)表與每一個(gè)源數(shù)據(jù)表之間的映射關(guān)系,第二數(shù)據(jù)轉(zhuǎn)換公式是待同步數(shù)據(jù)表與每一個(gè)源數(shù)據(jù)表之間具體的數(shù)據(jù)對(duì)應(yīng)關(guān)系,可以包括數(shù)據(jù)類型的轉(zhuǎn)換,數(shù)據(jù)值的精確值計(jì)算以及一些匯總、求和計(jì)算等。步驟202,對(duì)所有的所述第二數(shù)據(jù)轉(zhuǎn)換公式進(jìn)行分析計(jì)算,得到第一數(shù)據(jù)轉(zhuǎn)換公式。其中,對(duì)目標(biāo)數(shù)據(jù)庫的所有待同步數(shù)據(jù)表的第二數(shù)據(jù)轉(zhuǎn)換公式進(jìn)行分析計(jì)算,得到一個(gè)總的數(shù)據(jù)轉(zhuǎn)換公式,即第一數(shù)據(jù)轉(zhuǎn)換公式。步驟203,獲取每個(gè)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,關(guān)聯(lián)關(guān)系至少包括源數(shù)據(jù)庫中的每個(gè)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表之間的映射關(guān)系以及第一數(shù)據(jù)轉(zhuǎn)換公式。步驟204,在一預(yù)設(shè)的同步周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息。優(yōu)選地,變化數(shù)據(jù)的標(biāo)識(shí)信息至少包括:變化數(shù)據(jù)所在源數(shù)據(jù)表的表名、變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值和變化數(shù)據(jù)的變化時(shí)間。步驟205,在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令。步驟206,將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。下面以一個(gè)Oracle數(shù)據(jù)庫中為例,介紹一下本實(shí)施例,表1和表2為作為源數(shù)據(jù)表的人事數(shù)據(jù)表,表3為作為待同步數(shù)據(jù)表的雇員信息表:表1:字段名數(shù)據(jù)類型備注IDvarchar(30)主鍵值--員工號(hào)Xingmingvarchar(30)姓名Dianhuavarchar(15)電話Dizhivarchar(100)地址表2:字段名數(shù)據(jù)類型備注IDvarchar(30)主鍵值--員工號(hào)Zhiweivarchar(30)職位Xingbievarchar(5)性別表3:字段名數(shù)據(jù)類型備注staffIdVARCHAR2(30)主鍵值---員工號(hào)nameVARCHAR2(30)姓名telephoneVARCHAR2(15)電話addressVARCHAR2(100)地址ageINT年齡positionVARCHAR2(30)職位sexNUMBER(1)性別其中,表3需要同時(shí)同步表1和表2的數(shù)據(jù)。首先獲取表3與表1之間的映射關(guān)系以及第二數(shù)據(jù)轉(zhuǎn)換公式(比如第二數(shù)據(jù)轉(zhuǎn)換公式為:xingming=name,dianhua=telephone,dizhi=address)以及,表3與表2之間的映射關(guān)系以及第二數(shù)據(jù)轉(zhuǎn)換公式(比如第二數(shù)據(jù)轉(zhuǎn)換公式為:xingming=name,當(dāng)前年份shengri中的年份=age,zhiwei=position,xingbie=sex);再對(duì)表3的兩個(gè)第二數(shù)據(jù)轉(zhuǎn)換公式進(jìn)行分析計(jì)算,得到第一數(shù)據(jù)轉(zhuǎn)換公式{比如第一數(shù)據(jù)轉(zhuǎn)換公式為:xingming=name,dianhua=telephone(表1),dizhi=address(表1),當(dāng)前年份shengri中的年份=age(表1),zhiwei=position(表1),xingbie=sex(表1)}。當(dāng)檢測(cè)到源數(shù)據(jù)庫中數(shù)據(jù)發(fā)生變化時(shí),獲取源數(shù)據(jù)庫中變化數(shù)據(jù)的標(biāo)識(shí)信 息,再根據(jù)關(guān)聯(lián)關(guān)系將變化數(shù)據(jù)的信息轉(zhuǎn)換成針對(duì)目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)同步指令即可。本發(fā)明的上述實(shí)施例中,通過對(duì)目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表的與所有源數(shù)據(jù)表之間的數(shù)據(jù)轉(zhuǎn)換公式(第二數(shù)據(jù)轉(zhuǎn)換公式)進(jìn)行分析計(jì)算,得到該待同步數(shù)據(jù)表與所有源數(shù)據(jù)庫之間的一個(gè)總的數(shù)據(jù)轉(zhuǎn)換公式(第一數(shù)據(jù)轉(zhuǎn)換公式),使數(shù)據(jù)同步的過程條理清晰,當(dāng)源數(shù)據(jù)庫中數(shù)據(jù)變化時(shí)間,通過第一數(shù)據(jù)轉(zhuǎn)換公式直接可同步到目標(biāo)數(shù)據(jù)庫中,無需再逐級(jí)更改,減小了工作量,對(duì)異構(gòu)數(shù)據(jù)庫的支持程度較強(qiáng)。第三實(shí)施例參見圖3,本發(fā)明的第三實(shí)施例提供了一種數(shù)據(jù)同步方法,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該方法包括:步驟301,獲取每個(gè)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,關(guān)聯(lián)關(guān)系至少包括源數(shù)據(jù)庫中的每個(gè)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表之間的映射關(guān)系以及第一數(shù)據(jù)轉(zhuǎn)換公式。步驟302,為每個(gè)源數(shù)據(jù)庫分別創(chuàng)建一個(gè)控制表。其中,控制表用于存儲(chǔ)源數(shù)據(jù)庫中的數(shù)據(jù)變化情況;控制表可以存儲(chǔ)在源數(shù)據(jù)庫中或者存儲(chǔ)在數(shù)據(jù)代理中。步驟303,在一預(yù)設(shè)周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息,并將變化數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在源數(shù)據(jù)庫對(duì)應(yīng)的控制表中。優(yōu)選地,變化數(shù)據(jù)的標(biāo)識(shí)信息至少包括:變化數(shù)據(jù)所在源數(shù)據(jù)表的表名、變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值和變化數(shù)據(jù)的變化時(shí)間。步驟304,在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令。步驟305,將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。下面以關(guān)系數(shù)據(jù)庫管理系統(tǒng)(SQLServer)為例,介紹一下本實(shí)施例。獲取每個(gè)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系之后,為每個(gè)數(shù)據(jù)庫創(chuàng)建 一個(gè)控制表,控制表結(jié)構(gòu)可如表4所示:表4:其中,tableName為源數(shù)據(jù)表的表名,dataKey為主鍵值,data為數(shù)據(jù)變化時(shí)間,type為數(shù)據(jù)變化類型值。在一預(yù)設(shè)的同步周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),將變化數(shù)據(jù)所在數(shù)據(jù)表的表名、主鍵值、變化時(shí)間以及變化類型值分別存儲(chǔ)在上述控制表中;具體地,以人事信息表(表名為staff)為例,當(dāng)檢測(cè)到源數(shù)據(jù)庫中的人事信息表中,在2015-5-5,09:23:46增加了一位員工,該員工的信息如表5所示:表5:則控制表中記錄的信息如表6所示:表6:tableNamedataKeydatetypestaff0310102007642015-5-509:23:461然后,在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及控制表中記錄的變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令并將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。本發(fā)明的上述實(shí)施例中,目標(biāo)數(shù)據(jù)庫可以是多個(gè),也可以是不同的數(shù)據(jù)表模式,根據(jù)每個(gè)目標(biāo)數(shù)據(jù)庫與源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,將控制表中記錄的變化數(shù)據(jù)轉(zhuǎn)換成該目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的數(shù)據(jù)同步指令即可。本發(fā)明的上述實(shí)施例中,為源數(shù)據(jù)庫創(chuàng)建控制表,在控制表中對(duì)同一個(gè)變化數(shù)據(jù)信息始終保持一個(gè)有效記錄,無需針對(duì)每一個(gè)目標(biāo)數(shù)據(jù)庫均保持一個(gè)單獨(dú)的記錄,從而節(jié)約了數(shù)據(jù)庫空間;且變化數(shù)據(jù)的關(guān)鍵信息都會(huì)記錄到控制表中,可根據(jù)控制表中的表名和數(shù)據(jù)標(biāo)識(shí)可以在對(duì)應(yīng)源數(shù)據(jù)表中提取完整的數(shù)據(jù)信息。第四實(shí)施例參見圖4,本發(fā)明的第四實(shí)施例提供了一種數(shù)據(jù)同步方法,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該方法包括:步驟401,獲取每個(gè)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,關(guān)聯(lián)關(guān)系至少包括源數(shù)據(jù)庫中的每個(gè)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表之間的映射關(guān)系以及第一數(shù)據(jù)轉(zhuǎn)換公式。步驟402,為每個(gè)源數(shù)據(jù)庫分別創(chuàng)建一個(gè)控制表。步驟403,在一預(yù)設(shè)周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息,并將變化數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在源數(shù)據(jù)庫對(duì)應(yīng)的控制表中。步驟404,在同步周期內(nèi),根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的表名以及關(guān)聯(lián)關(guān)系中的映射關(guān)系,確定對(duì)應(yīng)的目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表;其中,通過映射關(guān)系找到源數(shù)據(jù)表的表名對(duì)應(yīng)的待同步數(shù)據(jù)表。步驟405,根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值以及第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令,并將變化數(shù) 據(jù)的變化時(shí)間作為數(shù)據(jù)同步指令的下達(dá)時(shí)間。其中,根據(jù)關(guān)聯(lián)關(guān)系,先從源數(shù)據(jù)庫中提取出變化數(shù)據(jù)要同步的數(shù)據(jù)字段信息,然后根據(jù)關(guān)聯(lián)關(guān)系中的第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令,第一數(shù)據(jù)轉(zhuǎn)換公式包括數(shù)據(jù)類型的轉(zhuǎn)換,數(shù)據(jù)值的精確值計(jì)算以及一些匯總、求和計(jì)算等。由于各個(gè)數(shù)據(jù)庫之間的數(shù)據(jù)同步周期不一定一致,將變化數(shù)據(jù)的變化時(shí)間作為數(shù)據(jù)同步指令的下達(dá)時(shí)間,目的是使目標(biāo)數(shù)據(jù)庫根據(jù)數(shù)據(jù)同步指令的下達(dá)時(shí)間執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令。步驟406,將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。其中,根據(jù)數(shù)據(jù)同步指令構(gòu)造出對(duì)應(yīng)目標(biāo)數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言(SQL)并發(fā)送給目的數(shù)據(jù)庫,使目標(biāo)數(shù)據(jù)執(zhí)行數(shù)據(jù)同步指令。下面以一個(gè)Oracle數(shù)據(jù)庫中為例,介紹一下本實(shí)施例,表7為作為源數(shù)據(jù)表的人事數(shù)據(jù)表,表7為作為待同步數(shù)據(jù)表的雇員信息表:表7:字段名數(shù)據(jù)類型備注IDvarchar(30)主鍵值--員工號(hào)Xingmingvarchar(30)姓名Dianhuavarchar(15)電話Dizhivarchar(100)地址Shengrivarchar(15)生日Zhiweivarchar(30)職位Xingbievarchar(5)性別Xuelivarchar(30)學(xué)歷表8:字段名數(shù)據(jù)類型備注staffIdVARCHAR2(30)主鍵值---員工號(hào)nameVARCHAR2(30)姓名telephoneVARCHAR2(15)電話addressVARCHAR2(100)地址ageINT年齡positionVARCHAR2(30)職位sexNUMBER(1)性別employedDateDATE入職時(shí)間superiorVARCHAR2(30)外鍵---領(lǐng)導(dǎo)員工號(hào)rankNUMBER(2)工資水平根據(jù)表7和表8可知,關(guān)聯(lián)關(guān)系為:xingming對(duì)應(yīng)name,dianhua對(duì)應(yīng)telephone,dizhi對(duì)應(yīng)address,shengri對(duì)應(yīng)age,zhiwei對(duì)應(yīng)position,xingbie對(duì)應(yīng)sex,;根據(jù)關(guān)聯(lián)關(guān)系,先從源數(shù)據(jù)庫中提取出變化數(shù)據(jù)要同步的數(shù)據(jù)字段信息,然后根據(jù)關(guān)聯(lián)關(guān)系中的第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令,其中,xingming與name,dianhua與telephone,dizhi與address,,zhiwei與position,xingbie與sex之間數(shù)據(jù)需無需轉(zhuǎn)換(第一數(shù)據(jù)轉(zhuǎn)換公式可以為xingming=name),直接同步即可;而shengri與age之間是需要以當(dāng)前年份為基準(zhǔn)進(jìn)行計(jì)算;將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。其中,該數(shù)據(jù)同步指令對(duì)應(yīng)的可拓展標(biāo)記語言文件如下所示:其中,對(duì)于生日到年齡的轉(zhuǎn)換計(jì)算,根據(jù)關(guān)聯(lián)關(guān)系描述的計(jì)算方式,以當(dāng)前年份為基準(zhǔn)進(jìn)行計(jì)算。本發(fā)明的上述實(shí)施例中,無需改變數(shù)據(jù)庫系統(tǒng)原有的程序邏輯,根據(jù)關(guān)聯(lián)關(guān)系,先從源數(shù)據(jù)庫中提取出變化數(shù)據(jù)要同步的數(shù)據(jù)字段信息,然后根據(jù)關(guān)聯(lián)關(guān)系中的第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令并封裝成相應(yīng)的SQL,能夠支持不同數(shù)據(jù)表模式的數(shù)據(jù)同步,對(duì)異構(gòu)數(shù)據(jù)庫的支持程度較強(qiáng),且本發(fā)明中關(guān)聯(lián)關(guān)系中的第一數(shù)據(jù)轉(zhuǎn)換公式不僅可以是數(shù)據(jù)類型轉(zhuǎn)換,還可以是數(shù)據(jù)值的精確值計(jì)算以及一些匯總、求和計(jì)算等,具有足夠的靈活性。本發(fā)明的上述實(shí)施例中,步驟406之后,該方法還包括:獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言。其中,根據(jù)數(shù)據(jù)同步指令的下達(dá)時(shí)間執(zhí)行相應(yīng)的SQL,使數(shù)據(jù)同步不受源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫各自的數(shù)據(jù)同步周期影響。本發(fā)明的上述實(shí)施例中,獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言的步驟之后,該方法還包括:獲取目標(biāo)數(shù)據(jù)庫對(duì)與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言的執(zhí)行結(jié)果:當(dāng)執(zhí)行結(jié)果為已執(zhí)行時(shí),刪除控制表中對(duì)應(yīng)的變化數(shù)據(jù)的標(biāo)識(shí)信息。其中,刪除變化數(shù)據(jù)的標(biāo)識(shí)信息目的是釋放內(nèi)存,節(jié)省數(shù)據(jù)空間。第五實(shí)施例參見圖5,本發(fā)明的第四實(shí)施例還提供了一種數(shù)據(jù)同步裝置,應(yīng)用于多級(jí)異構(gòu)數(shù)據(jù)庫,該裝置包括:獲取模塊501,用于獲取每個(gè)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系,關(guān)聯(lián)關(guān)系至少包括源數(shù)據(jù)庫中的每個(gè)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表之間的映射關(guān)系以及第一數(shù)據(jù)轉(zhuǎn)換公式。標(biāo)識(shí)獲取模塊502,用于在一預(yù)設(shè)的同步周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息。生成模塊503,用于在同步周期內(nèi),根據(jù)關(guān)聯(lián)關(guān)系以及變化數(shù)據(jù)的標(biāo)識(shí)信息,生成數(shù)據(jù)同步指令。發(fā)送模塊504,用于將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫。本發(fā)明的上述實(shí)施例中,變化數(shù)據(jù)的標(biāo)識(shí)信息至少包括:變化數(shù)據(jù)所在源數(shù)據(jù)表的表名、變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的變化類型值和變化數(shù)據(jù)的變化時(shí)間。本發(fā)明的上述實(shí)施例中,數(shù)據(jù)同步裝置包括:映射獲取模塊,用于在獲取模塊獲取目標(biāo)數(shù)據(jù)庫與所有源數(shù)據(jù)庫之間的關(guān)聯(lián)關(guān)系之前,獲取目標(biāo)數(shù)據(jù)庫中的每個(gè)待同步數(shù)據(jù)表與所有源數(shù)據(jù)庫中的源數(shù)據(jù)表之間的映射關(guān)系以及第二數(shù)據(jù)轉(zhuǎn)換公式。分析模塊,用于對(duì)所有的第二數(shù)據(jù)轉(zhuǎn)換公式進(jìn)行分析計(jì)算,得到第一數(shù)據(jù)轉(zhuǎn)換公式。本發(fā)明的上述實(shí)施例中,標(biāo)識(shí)獲取模塊502具體包括:創(chuàng)建子模塊,用于為每個(gè)源數(shù)據(jù)庫分別創(chuàng)建一個(gè)控制表;存儲(chǔ)子模塊,用于在一預(yù)設(shè)周期內(nèi),當(dāng)檢測(cè)到源數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時(shí),獲取變化數(shù)據(jù)的標(biāo)識(shí)信息,并將變化數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在源數(shù)據(jù)庫對(duì)應(yīng)的控制表中。本發(fā)明的上述實(shí)施例中,生成模塊503具體包括:確定子模塊,用于在同步周期內(nèi),根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的表名以及關(guān)聯(lián)關(guān)系中的映射關(guān)系,確定對(duì)應(yīng)的目標(biāo)數(shù)據(jù)庫中的待同步數(shù)據(jù)表。指令生成子模塊,用于根據(jù)變化數(shù)據(jù)所在源數(shù)據(jù)表的主鍵值、變化數(shù)據(jù)的 變化類型值以及第一數(shù)據(jù)轉(zhuǎn)換公式,生成待同步數(shù)據(jù)表對(duì)應(yīng)的數(shù)據(jù)同步指令,并將變化數(shù)據(jù)的變化時(shí)間作為數(shù)據(jù)同步指令的下達(dá)時(shí)間。本發(fā)明的上述實(shí)施例中,該裝置還包括:執(zhí)行模塊,用于在發(fā)送模塊將數(shù)據(jù)同步指令封裝成目標(biāo)數(shù)據(jù)庫對(duì)應(yīng)的結(jié)構(gòu)化查詢語言,發(fā)送給目標(biāo)數(shù)據(jù)庫之后,獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言。本發(fā)明的上述實(shí)施例中,該裝置還包括:刪除模塊,用于在執(zhí)行模塊獲取數(shù)據(jù)同步指令的下達(dá)時(shí)間,使目標(biāo)數(shù)據(jù)庫執(zhí)行與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言之后,獲取目標(biāo)數(shù)據(jù)庫對(duì)與當(dāng)前時(shí)間最接近的數(shù)據(jù)同步指令對(duì)應(yīng)的結(jié)構(gòu)化查詢語言的執(zhí)行結(jié)果:當(dāng)執(zhí)行結(jié)果為已執(zhí)行時(shí),刪除控制表中對(duì)應(yīng)的變化數(shù)據(jù)的標(biāo)識(shí)信息。需要說明的是,本發(fā)明實(shí)施例提供的數(shù)據(jù)同步裝置是應(yīng)用上述方法的裝置,即上述方法的所有實(shí)施例均適用于該裝置,且均能達(dá)到相同或相似的有益效果。以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3