国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)庫(kù)同步方法及裝置制造方法

      文檔序號(hào):6522059閱讀:175來(lái)源:國(guó)知局
      數(shù)據(jù)庫(kù)同步方法及裝置制造方法
      【專(zhuān)利摘要】本發(fā)明提供了一種數(shù)據(jù)庫(kù)同步方法及裝置。該方法包括:監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息;確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型;根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則;根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。本發(fā)明中預(yù)先為不同類(lèi)型的目標(biāo)數(shù)據(jù)庫(kù)建立不同的同步規(guī)則,在獲取到源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息后,基于各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則和數(shù)據(jù)變化信息,將各目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步,克服了現(xiàn)有技術(shù)中需要多次采集源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息問(wèn)題,降低了資源浪費(fèi),并且提高了數(shù)據(jù)庫(kù)之間的同步效率。
      【專(zhuān)利說(shuō)明】數(shù)據(jù)庫(kù)同步方法及裝置【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種數(shù)據(jù)庫(kù)同步方法及裝置。
      【背景技術(shù)】
      [0002]對(duì)于同一信息處理系統(tǒng),基于源數(shù)據(jù)庫(kù)以及不同使用需求,為該信息處理系統(tǒng)建立多個(gè)數(shù)據(jù)庫(kù)。當(dāng)源數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)生變化時(shí),要保證基于源數(shù)據(jù)庫(kù)建立的其他數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,就需要根據(jù)源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化對(duì)其他數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同
      止/J/ O
      [0003]但是由于各數(shù)據(jù)的使用需求不同,相應(yīng)的各數(shù)據(jù)庫(kù)之間的同步需求也不相同。目前針對(duì)各數(shù)據(jù)庫(kù)相應(yīng)地從源數(shù)據(jù)中獲取與各數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)變化信息,然后再基于各自的數(shù)據(jù)變化信息將數(shù)據(jù)變化同步到各數(shù)據(jù)庫(kù)中?,F(xiàn)有的數(shù)據(jù)庫(kù)同步方法需要多次對(duì)源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息進(jìn)行采集,不僅造成資源浪費(fèi),而且使得數(shù)據(jù)庫(kù)之間的同步效率較低。

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

      [0004]本發(fā)明提供一種數(shù)據(jù)庫(kù)同步方法及裝置,以解決需要多次采集源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息,不僅造成資源浪費(fèi),而且使得數(shù)據(jù)庫(kù)之間的同步效率較低的問(wèn)題。
      [0005] 為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種數(shù)據(jù)庫(kù)同步方法,包括:
      [0006]監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息;
      [0007]確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型;
      [0008]獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則;
      [0009]根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
      [0010]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種數(shù)據(jù)庫(kù)同步裝置,包括:
      [0011]捕獲模塊,用于監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息;
      [0012]確定模塊,用于確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型;
      [0013]獲取模塊,用于根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則;
      [0014]同步模塊,用于根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)的所述同步規(guī)則,將所述目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
      [0015]本發(fā)明提供的一種數(shù)據(jù)庫(kù)同步方法及裝置,監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息,確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則,根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將所述目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。本發(fā)明中為不同類(lèi)型的目標(biāo)數(shù)據(jù)庫(kù)建立不同的同步規(guī)則,在獲取到源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息后,基于各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則和數(shù)據(jù)變化信息,將目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步,克服了現(xiàn)有技術(shù)中需要多次采集源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息問(wèn)題,降低了資源浪費(fèi),并且提高了數(shù)據(jù)庫(kù)之間的同步效率。
      【專(zhuān)利附圖】

      【附圖說(shuō)明】
      [0016]圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫(kù)同步方法的流程示意圖;
      [0017]圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫(kù)同步裝置的結(jié)構(gòu)示意圖;
      [0018]圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫(kù)同步系統(tǒng)的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0019]下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
      [0020]圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫(kù)同步方法的流程示意圖。本實(shí)施例中,該方法的執(zhí)行主體可以為數(shù)據(jù)庫(kù)同步裝置。如圖1所示,該方法包括以下步驟:
      [0021 ] 101、監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息。
      [0022]具體地,數(shù)據(jù)庫(kù)同步裝置對(duì)源數(shù)據(jù)庫(kù)的日志進(jìn)行監(jiān)聽(tīng),在源數(shù)據(jù)庫(kù)的日志發(fā)生變化時(shí),數(shù)據(jù)庫(kù)同步裝置捕獲到該源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息。例如,源數(shù)據(jù)庫(kù)可以為結(jié)構(gòu)化查詢(xún)語(yǔ)句(Structured Query Language,簡(jiǎn)稱(chēng)SQL)數(shù)據(jù)庫(kù),相應(yīng)的,數(shù)據(jù)變化信息可以為SQL數(shù)據(jù)變化語(yǔ)句。
      [0023]102、確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型。
      [0024]實(shí)際應(yīng)用中,數(shù)據(jù)庫(kù)同步裝置可與多個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接,在獲取到數(shù)據(jù)變化信息后,數(shù)據(jù)庫(kù)同步裝置可以確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型。本實(shí)施例中,目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型包括:源數(shù)據(jù)庫(kù)的完全備份數(shù)據(jù)庫(kù)、源數(shù)據(jù)庫(kù)的部分備份數(shù)據(jù)庫(kù)、用于存儲(chǔ)數(shù)據(jù)變化信息的文件數(shù)據(jù)庫(kù)、與源數(shù)據(jù)庫(kù)異構(gòu)的數(shù)據(jù)庫(kù),本實(shí)施例中,源數(shù)據(jù)庫(kù)為關(guān)系型數(shù)據(jù)庫(kù),而與源數(shù)據(jù)庫(kù)異構(gòu)的數(shù)據(jù)庫(kù)為內(nèi)存型數(shù)據(jù)庫(kù)。為了便于表達(dá)和區(qū)分不同類(lèi)型的數(shù)據(jù)庫(kù),本實(shí)施例中將源數(shù)據(jù)庫(kù)的完全備份數(shù)據(jù)庫(kù)稱(chēng)為第一數(shù)據(jù)庫(kù)、源數(shù)據(jù)庫(kù)的部分備份數(shù)據(jù)庫(kù)稱(chēng)為第二數(shù)據(jù)庫(kù)、內(nèi)存型數(shù)據(jù)庫(kù)稱(chēng)為第三數(shù)據(jù)庫(kù)以及將用于存儲(chǔ)數(shù)據(jù)變化信息的文件數(shù)據(jù)庫(kù)稱(chēng)為第四數(shù)據(jù)庫(kù)。
      [0025]103、獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則。
      [0026]本實(shí)施例中,數(shù)據(jù)庫(kù)同步裝置中預(yù)先存儲(chǔ)各類(lèi)型目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則。在確定出目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型后,數(shù)據(jù)庫(kù)同步裝置根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各類(lèi)型目標(biāo)數(shù)據(jù)庫(kù)相應(yīng)的同步規(guī)則。具體地,在數(shù)據(jù)庫(kù)同步裝置中預(yù)先存儲(chǔ)目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型標(biāo)識(shí)與同步規(guī)則標(biāo)識(shí)之間的映射關(guān)系,當(dāng)確定出目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型后,根據(jù)待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型標(biāo)識(shí)查詢(xún)上述映射關(guān)系,可以獲取到與各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則標(biāo)識(shí),根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則標(biāo)識(shí),得到與各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則。
      [0027]104、根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
      [0028]具體地,如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第一數(shù)據(jù)庫(kù),即第一數(shù)據(jù)庫(kù)為源數(shù)據(jù)庫(kù)的完全備份的數(shù)據(jù)庫(kù)時(shí),則獲取到的與第一數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則為:根據(jù)獲取到的數(shù)據(jù)變化信息,將源數(shù)據(jù)庫(kù)中所有數(shù)據(jù)變化同步到該第一數(shù)據(jù)庫(kù)中。
      [0029]如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第二數(shù)據(jù)庫(kù),即第二數(shù)據(jù)庫(kù)為源數(shù)據(jù)庫(kù)的部分備份,則獲取到的與第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則為:從數(shù)據(jù)變化信息中獲取與第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的第一數(shù)據(jù)變化信息,將第一數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第二數(shù)據(jù)庫(kù)中。
      [0030]如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第三數(shù)據(jù)庫(kù),其中,源數(shù)據(jù)庫(kù)為關(guān)系型數(shù)據(jù)庫(kù),該第三數(shù)據(jù)庫(kù)為內(nèi)存型數(shù)據(jù)庫(kù),則獲取到的與第三數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則中包括預(yù)設(shè)的源數(shù)據(jù)庫(kù)中數(shù)據(jù)表與第三數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的映射關(guān)系,獲取與源數(shù)據(jù)庫(kù)中數(shù)據(jù)表相關(guān)的第二數(shù)據(jù)變化信息,根據(jù)所述第二數(shù)據(jù)變化信息以及該映射關(guān)系,將第二數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第三數(shù)據(jù)庫(kù)中。
      [0031]如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第四數(shù)據(jù)庫(kù),即第四數(shù)據(jù)庫(kù)為用于存儲(chǔ)數(shù)據(jù)變化信息的文件型數(shù)據(jù)庫(kù),則獲取到的與第四數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則為:將數(shù)據(jù)變化信息存儲(chǔ)到該第四數(shù)據(jù)庫(kù)中。
      [0032]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第一數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)同步裝置根據(jù)該數(shù)據(jù)變化信息和第一數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則,將源數(shù)據(jù)庫(kù)中所有數(shù)據(jù)變化同步到該第一數(shù)據(jù)庫(kù)中。
      [0033]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第二數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)同步裝置從數(shù)據(jù)變化信息中獲取該第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的第一數(shù)據(jù)變化信息,然后將第一數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第二數(shù)據(jù)庫(kù)中。例如,第二數(shù)據(jù)庫(kù)為源數(shù)據(jù)庫(kù)中某一個(gè)子集的備份數(shù)據(jù)庫(kù),則數(shù)據(jù)庫(kù)同步裝置從數(shù)據(jù)變化信息中獲取該子集的數(shù)據(jù)變化信息即第一數(shù)據(jù)變化信息,然后根據(jù)該第一數(shù)據(jù)變化信息將該子集的數(shù)據(jù)變化同步到第二數(shù)據(jù)庫(kù)中,這樣就能夠保證第二數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)中該子集的同步。
      [0034]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第三數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)同步裝置查詢(xún)第三數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則中源數(shù)據(jù)庫(kù)中數(shù)據(jù)表與第三數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的映射關(guān)系,基于映射關(guān)系中源數(shù)據(jù)庫(kù)中數(shù)據(jù)表,獲取與源數(shù)據(jù)庫(kù)中數(shù)據(jù)表相關(guān)的第二數(shù)據(jù)變化信息,根據(jù)該第二數(shù)據(jù)變化信息和上述映射關(guān)系,將第二數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第三數(shù)據(jù)庫(kù)中的數(shù)據(jù)表中。本實(shí)施例實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫(kù)與內(nèi)存型數(shù)據(jù)庫(kù)的同步。
      [0035]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第四數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)同步裝置將數(shù)據(jù)變化信息同步到第四數(shù)據(jù)庫(kù)中。
      [0036]進(jìn)一步地,數(shù)據(jù)庫(kù)同步裝置還可以在源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行同步過(guò)程中,監(jiān)測(cè)是否發(fā)生數(shù)據(jù)同步中斷,例如,目標(biāo)數(shù)據(jù)庫(kù)因?yàn)橛布蚓W(wǎng)絡(luò)故障導(dǎo)致數(shù)據(jù)同步無(wú)法進(jìn)行,就會(huì)造成數(shù)據(jù)同步的中斷。在監(jiān)測(cè)到所述數(shù)據(jù)同步中斷時(shí),記錄所述數(shù)據(jù)同步中斷發(fā)生的中斷點(diǎn),以保證在所述數(shù)據(jù)同步中斷恢復(fù)后,將所述中斷點(diǎn)后的數(shù)據(jù)變化同步到所述目標(biāo)數(shù)據(jù)庫(kù)中。
      [0037]進(jìn)一步地,數(shù)據(jù)庫(kù)同步裝置在獲取到數(shù)據(jù)變化信息后,還可以對(duì)數(shù)據(jù)變化信息進(jìn)行預(yù)處理,例如,當(dāng)數(shù)據(jù)變化信息為SQL數(shù)據(jù)變化語(yǔ)句時(shí),對(duì)該SQL數(shù)據(jù)變化語(yǔ)句進(jìn)行解析,得到數(shù)據(jù)變化信息。
      [0038]數(shù)據(jù)庫(kù)同步裝置還可以獲取到每個(gè)數(shù)據(jù)變化信息的關(guān)鍵字,然后根據(jù)關(guān)鍵字對(duì)數(shù)據(jù)變化信息進(jìn)行過(guò)濾,以降低待同步的數(shù)據(jù)量。本實(shí)施例中,在數(shù)據(jù)庫(kù)同步裝置中設(shè)置一個(gè)用于對(duì)數(shù)據(jù)變化信息進(jìn)行過(guò)濾的列表,該列表中存儲(chǔ)有用于過(guò)濾的關(guān)鍵字,當(dāng)數(shù)據(jù)庫(kù)同步裝置監(jiān)聽(tīng)到的數(shù)據(jù)變化信息中包括的關(guān)鍵字為該列表中關(guān)鍵字時(shí),將該數(shù)據(jù)變化信息過(guò)濾掉,這樣待同步的數(shù)據(jù)變化信息就可以得到精簡(jiǎn),從而減少了待同步的數(shù)據(jù)的數(shù)據(jù)量,降低資源浪費(fèi),提高數(shù)據(jù)庫(kù)之間的同步效率。其中上述列表可以由管理人員根據(jù)實(shí)際需求進(jìn)行靈活設(shè)置。[0039]而且數(shù)據(jù)庫(kù)同步裝置可以采用消息隊(duì)列機(jī)制,將數(shù)據(jù)變化信息發(fā)送到消息對(duì)列中,數(shù)據(jù)庫(kù)同步裝置基于消息隊(duì)列對(duì)所有數(shù)據(jù)變化信息,實(shí)現(xiàn)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步。可選地,數(shù)據(jù)庫(kù)同步裝置還可以對(duì)數(shù)據(jù)變化信息進(jìn)行緩存,以避免數(shù)據(jù)變化信息的丟失。
      [0040]本實(shí)施例提供的數(shù)據(jù)庫(kù)同步方法可以應(yīng)用在鐵路客票系統(tǒng)中,目前鐵路客票系統(tǒng)包括基于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的鐵路客票系統(tǒng)和基于內(nèi)存型數(shù)據(jù)庫(kù)的互聯(lián)網(wǎng)鐵路客票系統(tǒng)。將執(zhí)行本實(shí)施例提供的數(shù)據(jù)庫(kù)同步方法硬件或者軟件,設(shè)置在傳統(tǒng)鐵路客票系統(tǒng)中的數(shù)據(jù)庫(kù)與互聯(lián)網(wǎng)鐵路客票系統(tǒng)中的數(shù)據(jù)庫(kù)之間,將其中傳統(tǒng)鐵路客票系統(tǒng)中的數(shù)據(jù)庫(kù)作為源數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)同步裝置監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息,然后確定互聯(lián)網(wǎng)鐵路客票系統(tǒng)中數(shù)據(jù)庫(kù)的類(lèi)型,進(jìn)而獲取相應(yīng)的同步規(guī)則,基于同步規(guī)則和數(shù)據(jù)變化信息,將數(shù)據(jù)變化同步到該互聯(lián)網(wǎng)鐵路客票系統(tǒng)的數(shù)據(jù)庫(kù)中,這樣就實(shí)現(xiàn)傳統(tǒng)鐵路客票系統(tǒng)與互聯(lián)網(wǎng)客票系統(tǒng)之間的數(shù)據(jù)同步。
      [0041]本實(shí)施例提供的數(shù)據(jù)庫(kù)同步方法,監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息,確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則,根據(jù)數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。本實(shí)施例中為不同類(lèi)型的目標(biāo)數(shù)據(jù)庫(kù)建立不同的同步規(guī)貝U,在獲取到源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息后,基于各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則,將目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步,克服了現(xiàn)有技術(shù)中需要多次采集源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息問(wèn)題,降低了資源浪費(fèi),并且提高了數(shù)據(jù)庫(kù)之間的同步效率。
      [0042]圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫(kù)同步裝置的結(jié)構(gòu)示意圖。如圖2所示,該數(shù)據(jù)庫(kù)同步裝置包括:捕獲模塊21、確定模塊22、獲取模塊23和同步模塊24。
      [0043]具體地,捕獲模塊21對(duì)源數(shù)據(jù)庫(kù)的日志進(jìn)行監(jiān)聽(tīng),在源數(shù)據(jù)庫(kù)的日志發(fā)生變化時(shí),可以捕獲到該源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息。例如,源數(shù)據(jù)庫(kù)可以為SQL數(shù)據(jù)庫(kù),相應(yīng)的,數(shù)據(jù)變化信息可以為SQL數(shù)據(jù)變化語(yǔ)句。
      [0044]實(shí)際應(yīng)用中,數(shù)據(jù)庫(kù)同步裝置可以與多個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接。捕獲模塊21與確定模塊22連接,在獲取到數(shù)據(jù)變化信息后,確定模塊22可以確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型。本實(shí)施例中,目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型包括:源數(shù)據(jù)庫(kù)的完全備份數(shù)據(jù)庫(kù)、源數(shù)據(jù)庫(kù)的部分備份數(shù)據(jù)庫(kù)、用于存儲(chǔ)數(shù)據(jù)變化信息的文件數(shù)據(jù)庫(kù)、與源數(shù)據(jù)庫(kù)異構(gòu)的數(shù)據(jù)庫(kù),本實(shí)施例中,源數(shù)據(jù)庫(kù)為關(guān)系型數(shù)據(jù)庫(kù),而與源數(shù)據(jù)庫(kù)異構(gòu)的數(shù)據(jù)庫(kù)為內(nèi)存型數(shù)據(jù)庫(kù)。為了便于表達(dá)和區(qū)分不同類(lèi)型的數(shù)據(jù)庫(kù),本實(shí)施例中將源數(shù)據(jù)庫(kù)的完全備份數(shù)據(jù)庫(kù)稱(chēng)為第一數(shù)據(jù)庫(kù)、源數(shù)據(jù)庫(kù)的部分備份數(shù)據(jù)庫(kù)稱(chēng)為第二數(shù)據(jù)庫(kù)、內(nèi)存型數(shù)據(jù)庫(kù)稱(chēng)為第三數(shù)據(jù)庫(kù)以及將用于存儲(chǔ)數(shù)據(jù)變化信息的文件數(shù)據(jù)庫(kù)稱(chēng)為第四數(shù)據(jù)庫(kù)。
      [0045]本實(shí)施例中,數(shù)據(jù)庫(kù)同步裝置中預(yù)先存儲(chǔ)各類(lèi)型目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則。確定模塊22與獲取模塊23連接,在確定模塊22確定出目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型后,獲取模塊23根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各類(lèi)型目標(biāo)數(shù)據(jù)庫(kù)相應(yīng)的同步規(guī)則。具體地,在數(shù)據(jù)庫(kù)同步裝置中預(yù)先存儲(chǔ)目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型標(biāo)識(shí)與同步規(guī)則標(biāo)識(shí)之間的映射關(guān)系,當(dāng)確定出目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型后,獲取模塊23根據(jù)待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型標(biāo)識(shí)查詢(xún)上述映射關(guān)系,可以獲取到與各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則標(biāo)識(shí),根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則標(biāo)識(shí),得到與各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則。
      [0046]具體地,如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第一數(shù)據(jù)庫(kù),即第一數(shù)據(jù)庫(kù)為源數(shù)據(jù)庫(kù)的完全備份的數(shù)據(jù)庫(kù)時(shí),則獲取到的與第一數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則為:根據(jù)獲取到的數(shù)據(jù)變化信息,將源數(shù)據(jù)庫(kù)中所有數(shù)據(jù)變化同步到該第一數(shù)據(jù)庫(kù)中。
      [0047]如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第二數(shù)據(jù)庫(kù),即第二數(shù)據(jù)庫(kù)為源數(shù)據(jù)庫(kù)的部分備份,則獲取到的與第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則為:從數(shù)據(jù)變化信息中獲取與第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的第一數(shù)據(jù)變化信息,將第一數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第二數(shù)據(jù)庫(kù)中。
      [0048]如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第三數(shù)據(jù)庫(kù),其中,源數(shù)據(jù)庫(kù)為關(guān)系型數(shù)據(jù)庫(kù),該第三數(shù)據(jù)庫(kù)為內(nèi)存型數(shù)據(jù)庫(kù),則獲取到的與第三數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則中包括預(yù)設(shè)的源數(shù)據(jù)庫(kù)中數(shù)據(jù)表與第三數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的映射關(guān)系,獲取與源數(shù)據(jù)庫(kù)中數(shù)據(jù)表相關(guān)的第二數(shù)據(jù)變化信息,根據(jù)所述第二數(shù)據(jù)變化信息以及該映射關(guān)系,將第二數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第三數(shù)據(jù)庫(kù)中。
      [0049]如果待同步的目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第四數(shù)據(jù)庫(kù),即第四數(shù)據(jù)庫(kù)為用于存儲(chǔ)數(shù)據(jù)變化信息的文件型數(shù)據(jù)庫(kù),則獲取到的與第四數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則為:將數(shù)據(jù)變化信息存儲(chǔ)到該第四數(shù)據(jù)庫(kù)中。
      [0050]本實(shí)施例中,獲取模塊23與同步模塊24連接。在獲取模塊23獲取到各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則后,同步模塊24根據(jù)數(shù)據(jù)變化信息與各目標(biāo)數(shù)據(jù)庫(kù)的同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
      [0051]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第一數(shù)據(jù)庫(kù)時(shí),同步模塊24根據(jù)獲取到的數(shù)據(jù)變化信息和第一數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則,將源數(shù)據(jù)庫(kù)中所有數(shù)據(jù)變化同步到該第一數(shù)據(jù)庫(kù)中。
      [0052]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第二數(shù)據(jù)庫(kù)時(shí),同步模塊24從數(shù)據(jù)變化信息中獲取與該第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的第一數(shù)據(jù)變化信息,然后將第一數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第二數(shù)據(jù)庫(kù)中。例如,第二數(shù)據(jù)庫(kù)為源數(shù)據(jù)庫(kù)中某一個(gè)子集的備份數(shù)據(jù)庫(kù),則數(shù)據(jù)庫(kù)同步裝置從數(shù)據(jù)變化信息中獲取該子集的數(shù)據(jù)變化信息即第一數(shù)據(jù)變化信息,然后根據(jù)該第一數(shù)據(jù)變化信息將該子集的數(shù)據(jù)變化同步到第二數(shù)據(jù)庫(kù)中,這樣就能夠保證第二數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)中該子集的同步。
      [0053]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第三數(shù)據(jù)庫(kù)時(shí),同步模塊24查詢(xún)第三數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則中源數(shù)據(jù)庫(kù)中數(shù)據(jù)表與第三數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的映射關(guān)系,基于映射關(guān)系中源數(shù)據(jù)庫(kù)中數(shù)據(jù)表,獲取與源數(shù)據(jù)庫(kù)中數(shù)據(jù)表相關(guān)的第二數(shù)據(jù)變化信息,根據(jù)該第二數(shù)據(jù)變化信息和上述映射關(guān)系,將第二數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到第三數(shù)據(jù)庫(kù)中的數(shù)據(jù)表中。本實(shí)施例實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫(kù)與內(nèi)存型數(shù)據(jù)庫(kù)的同步。
      [0054]相應(yīng)地,當(dāng)目標(biāo)數(shù)據(jù)庫(kù)為第四數(shù)據(jù)庫(kù)時(shí),同步模塊24將數(shù)據(jù)變化信息同步到第四數(shù)據(jù)庫(kù)中。
      [0055]進(jìn)一步地,數(shù)據(jù)庫(kù)同步裝置還可以在源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行同步過(guò)程中,通過(guò)同步模塊24監(jiān)測(cè)是否發(fā)生數(shù)據(jù)同步中斷,例如,目標(biāo)數(shù)據(jù)庫(kù)因?yàn)橛布蚓W(wǎng)絡(luò)故障導(dǎo)致數(shù)據(jù)同步無(wú)法進(jìn)行,就會(huì)造成數(shù)據(jù)同步的中斷。在監(jiān)測(cè)到所述數(shù)據(jù)同步中斷時(shí),并記錄所述數(shù)據(jù)同步中斷發(fā)生的中斷點(diǎn),以保證在所述數(shù)據(jù)同步中斷恢復(fù)后,將所述中斷點(diǎn)后的數(shù)據(jù)變化同步到所述目標(biāo)數(shù)據(jù)庫(kù)中。
      [0056]進(jìn)一步地,在獲取到數(shù)據(jù)變化信息后,捕獲模塊21還可以對(duì)數(shù)據(jù)變化信息進(jìn)行預(yù)處理,例如,當(dāng)數(shù)據(jù)變化信息為SQL數(shù)據(jù)變化語(yǔ)句時(shí),對(duì)該SQL數(shù)據(jù)變化語(yǔ)句進(jìn)行解析,得到數(shù)據(jù)變化信息。[0057]捕獲模塊21還可以獲取到每個(gè)數(shù)據(jù)變化信息的關(guān)鍵字,然后根據(jù)關(guān)鍵字對(duì)數(shù)據(jù)變化信息進(jìn)行過(guò)濾,以降低待同步的數(shù)據(jù)量。本實(shí)施例中,在數(shù)據(jù)庫(kù)同步裝置中設(shè)置一個(gè)用于對(duì)數(shù)據(jù)變化信息進(jìn)行過(guò)濾的列表,該列表中存儲(chǔ)有用于過(guò)濾的關(guān)鍵字,當(dāng)捕獲模塊21監(jiān)聽(tīng)到的數(shù)據(jù)變化信息中包括的關(guān)鍵字為該列表中關(guān)鍵字時(shí),將該數(shù)據(jù)變化信息過(guò)濾掉,這樣待同步的數(shù)據(jù)變化信息就可以得到精簡(jiǎn),從而減少了待同步的數(shù)據(jù)數(shù)據(jù)量,降低資源浪費(fèi),提高數(shù)據(jù)庫(kù)之間的同步效率。其中上述列表可以由管理人員根據(jù)實(shí)際需求進(jìn)行靈活設(shè)置。
      [0058]而且同步裝置24可以采用消息隊(duì)列機(jī)制,將數(shù)據(jù)變化信息發(fā)送到消息對(duì)列中,然后基于消息隊(duì)列對(duì)所有數(shù)據(jù)變化信息,實(shí)現(xiàn)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步??蛇x地,數(shù)據(jù)庫(kù)同步裝置還可以對(duì)數(shù)據(jù)變化信息進(jìn)行緩存,以避免數(shù)據(jù)變化信息的丟失。
      [0059]目前鐵路客票系統(tǒng)包括基于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的鐵路客票系統(tǒng)和基于內(nèi)存數(shù)據(jù)庫(kù)的鐵路互聯(lián)網(wǎng)客票系統(tǒng)。本實(shí)施例提供的數(shù)據(jù)庫(kù)同步裝置,可以應(yīng)用在鐵路客票系統(tǒng)中。將執(zhí)行數(shù)據(jù)同步裝置設(shè)置在傳統(tǒng)鐵路客票系統(tǒng)與互聯(lián)網(wǎng)鐵路客票系統(tǒng)之間,將其中傳統(tǒng)鐵路客票系統(tǒng)中的數(shù)據(jù)庫(kù)作為源數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)同步裝置監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息,然后確定互聯(lián)網(wǎng)鐵路客票系統(tǒng)中數(shù)據(jù)庫(kù)的類(lèi)型,獲取相應(yīng)的同步規(guī)則,基于同步規(guī)則和數(shù)據(jù)變化信息,將數(shù)據(jù)變化同步到該互聯(lián)網(wǎng)鐵路客票系統(tǒng)中的數(shù)據(jù)庫(kù)中,這樣就實(shí)現(xiàn)傳統(tǒng)鐵路客票系統(tǒng)與互聯(lián)網(wǎng)客票系統(tǒng)之間的數(shù)據(jù)同步。
      [0060]本實(shí)施例提供的數(shù)據(jù)庫(kù)同步裝置,監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息,確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,根據(jù)各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型,獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則,根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。本發(fā)明中預(yù)先為不同類(lèi)型的目標(biāo)數(shù)據(jù)庫(kù)建立不同的同步規(guī)則,在獲取到源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息后,基于各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則和數(shù)據(jù)變化信息,將各目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步,克服了現(xiàn)有技術(shù)中需要多次采集源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息問(wèn)題,降低了資源浪費(fèi),并且提高了數(shù)據(jù)庫(kù)之間的同步效率。
      [0061]圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫(kù)同步系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,該數(shù)據(jù)庫(kù)同步系統(tǒng)包括:數(shù)據(jù)庫(kù)同步裝置1、源數(shù)據(jù)庫(kù)2和至少一個(gè)目標(biāo)數(shù)據(jù)庫(kù)3。
      [0062]其中,數(shù)據(jù)庫(kù)同步裝置I為上述實(shí)施例提供的數(shù)據(jù)庫(kù)同步裝置,設(shè)置在源數(shù)據(jù)庫(kù)2與目標(biāo)數(shù)據(jù)庫(kù)3之間,用于實(shí)現(xiàn)源數(shù)據(jù)庫(kù)2與目標(biāo)數(shù)據(jù)庫(kù)3的數(shù)據(jù)同步。關(guān)于數(shù)據(jù)庫(kù)同步裝置I的相關(guān)介紹可參見(jiàn)上述實(shí)施例中相關(guān)內(nèi)容的記載,此處不再贅述。
      [0063]本實(shí)施例中預(yù)先為不同類(lèi)型的目標(biāo)數(shù)據(jù)庫(kù)建立不同的同步規(guī)則,在獲取到源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息后,基于各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的同步規(guī)則,對(duì)目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步,克服了現(xiàn)有技術(shù)中需要多次采集源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息問(wèn)題,降低了資源浪費(fèi),并且提高了數(shù)據(jù)庫(kù)之間的同步效率。
      [0064]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
      【權(quán)利要求】
      1.一種數(shù)據(jù)庫(kù)同步方法,其特征在于,包括: 監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息; 確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型; 獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則; 根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與所述源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
      2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第一數(shù)據(jù)庫(kù);其中,所述第一數(shù)據(jù)庫(kù)為所述源數(shù)據(jù)庫(kù)的完全備份;則與所述第一數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則為:根據(jù)所述數(shù)據(jù)變化信息,將所述源數(shù)據(jù)庫(kù)中所有數(shù)據(jù)變化同步到所述第一數(shù)據(jù)庫(kù)中。
      3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第二數(shù)據(jù)庫(kù),其中所述第二數(shù)據(jù)庫(kù)為所述源數(shù)據(jù)庫(kù)的部分備份;則與所述第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則為:從所述數(shù)據(jù)變化信息中獲取與所述第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的第一數(shù)據(jù)變化信息,將所述第一數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到所述第二數(shù)據(jù)庫(kù)中。
      4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第三數(shù)據(jù)庫(kù),所述源數(shù)據(jù)庫(kù)為關(guān)系型數(shù)據(jù)庫(kù),所述第三數(shù)據(jù)庫(kù)為內(nèi)存型數(shù)據(jù)庫(kù);則與所述第三數(shù)據(jù)庫(kù)對(duì)應(yīng)的 所述同步規(guī)則包括預(yù)設(shè)的所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)表與所述第三數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的映射關(guān)系,獲取與所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)表相關(guān)的第二數(shù)據(jù)變化信息,根據(jù)所述第二數(shù)據(jù)變化信息以及所述映射關(guān)系,將所述第二數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到所述第三數(shù)據(jù)庫(kù)中。
      5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的數(shù)據(jù)庫(kù)同步方法,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第四數(shù)據(jù)庫(kù),其中所述第四數(shù)據(jù)庫(kù)用于存儲(chǔ)所述數(shù)據(jù)變化信息的文件型數(shù)據(jù)庫(kù);則與所述第四數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則為:將所述數(shù)據(jù)變化信息存儲(chǔ)到所述第四數(shù)據(jù)庫(kù)中。
      6.一種數(shù)據(jù)庫(kù)同步裝置,其特征在于,包括: 捕獲模塊,用于監(jiān)聽(tīng)源數(shù)據(jù)庫(kù)的日志,捕獲所述源數(shù)據(jù)庫(kù)的數(shù)據(jù)變化信息; 確定模塊,用于確定待同步的各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型; 獲取模塊,用于獲取與各目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型對(duì)應(yīng)的同步規(guī)則; 同步模塊,用于根據(jù)所述數(shù)據(jù)變化信息和各目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則,將各目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
      7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫(kù)同步裝置,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第一數(shù)據(jù)庫(kù);其中,所述第一數(shù)據(jù)庫(kù)為所述源數(shù)據(jù)庫(kù)的完全備份;則與所述第一數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則為:根據(jù)所述數(shù)據(jù)變化信息,將所述源數(shù)據(jù)庫(kù)中所有數(shù)據(jù)變化同步到所述第一數(shù)據(jù)庫(kù)中。
      8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫(kù)同步裝置,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第二數(shù)據(jù)庫(kù),其中所述第二數(shù)據(jù)庫(kù)為所述源數(shù)據(jù)庫(kù)的部分備份;則與所述第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則為從所述數(shù)據(jù)變化信息中獲取與所述第二數(shù)據(jù)庫(kù)對(duì)應(yīng)的第一數(shù)據(jù)變化信息,將所述第一數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到所述第二數(shù)據(jù)庫(kù)中。
      9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫(kù)同步裝置,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第三數(shù)據(jù)庫(kù),所述源數(shù)據(jù)庫(kù)為關(guān)系型數(shù)據(jù)庫(kù),所述第三數(shù)據(jù)庫(kù)為內(nèi)存型數(shù)據(jù)庫(kù);則與所述第三數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則包括預(yù)設(shè)的所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)表與所述第三數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的映射關(guān)系,獲取與所述源數(shù)據(jù)庫(kù)中數(shù)據(jù)表相關(guān)的第二數(shù)據(jù)變化信息,根據(jù)所述第二數(shù)據(jù)變化信息以及所述映射關(guān)系,將所述第二數(shù)據(jù)變化信息對(duì)應(yīng)的數(shù)據(jù)變化同步到所述第三數(shù)據(jù)庫(kù)中。
      10.根據(jù)權(quán)利要求6-9任一項(xiàng)所述的數(shù)據(jù)庫(kù)同步裝置,其特征在于,如果所述目標(biāo)數(shù)據(jù)庫(kù)的類(lèi)型為第四數(shù)據(jù)庫(kù),其中所述第四數(shù)據(jù)庫(kù)用于存儲(chǔ)所述數(shù)據(jù)變化信息的文件型數(shù)據(jù)庫(kù);則與所述第四數(shù)據(jù)庫(kù)對(duì)應(yīng)的所述同步規(guī)則為:將所述數(shù)據(jù)變化信息存儲(chǔ)到所述第四數(shù)據(jù)庫(kù) 中。
      【文檔編號(hào)】G06F17/30GK103699580SQ201310641728
      【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2013年12月3日 優(yōu)先權(quán)日:2013年12月3日
      【發(fā)明者】閻志遠(yuǎn), 王明哲, 戴琳琳, 王智為, 祝紅光, 劉相坤, 段應(yīng)杰 申請(qǐng)人:中鐵程科技有限責(zé)任公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1