国产精品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ù)同步方法和系統(tǒng)的制作方法

      文檔序號:9432681閱讀:540來源:國知局
      數(shù)據(jù)同步方法和系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001]本申請涉及計算機(jī)數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)同步方法和系統(tǒng)。
      【背景技術(shù)】
      [0002]目前,互聯(lián)網(wǎng)系統(tǒng)數(shù)據(jù)一般存儲在關(guān)系型數(shù)據(jù)庫當(dāng)中,如Mysql、Oracle和Sqiserver等。但在數(shù)據(jù)的應(yīng)用上是有多種形式的,如報表系統(tǒng)中,需要對多張表進(jìn)行關(guān)聯(lián)查詢,這種查詢對數(shù)據(jù)庫的壓力很大,有時會使數(shù)據(jù)庫的服務(wù)器性能驟降,影響正常的業(yè)務(wù)系統(tǒng)功能,故一般都是將各個關(guān)聯(lián)表的數(shù)據(jù)查詢出來放入到檢索服務(wù)系統(tǒng)中,報表查詢都是查詢檢索服務(wù)系統(tǒng)。還有一些實時數(shù)據(jù)分析系統(tǒng),需要實時的數(shù)據(jù),進(jìn)行數(shù)據(jù)計算后產(chǎn)出計算結(jié)果供業(yè)務(wù)人員使用。所以,數(shù)據(jù)從業(yè)務(wù)系統(tǒng)中的關(guān)系型數(shù)據(jù)庫中怎樣查詢出來,怎樣做到最小的延遲并且對業(yè)務(wù)數(shù)據(jù)庫做到最小的影響,成為系統(tǒng)設(shè)計人員的重要任務(wù)。
      [0003]圖1為現(xiàn)有技術(shù)中通常采用的一種數(shù)據(jù)獲取方式的示意圖。參見圖1,在現(xiàn)有技術(shù)中,一般的方案是采用定時查詢的方式實現(xiàn),即采用定時系統(tǒng),設(shè)定每次執(zhí)行的時間間隔,查詢業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫表,并將查詢到的業(yè)務(wù)數(shù)據(jù)同步給需要數(shù)據(jù)的系統(tǒng),如檢索系統(tǒng)、報表系統(tǒng)、時時計算系統(tǒng)等。
      [0004]但是,現(xiàn)有技術(shù)存在以下缺點(diǎn):
      [0005]首先,定時查詢業(yè)務(wù)數(shù)據(jù)庫的表,一般查詢結(jié)構(gòu)化查詢語言(SQL)都較為復(fù)雜,會造成數(shù)據(jù)庫服務(wù)器的服務(wù)壓力,影響業(yè)務(wù)系統(tǒng)的正常生產(chǎn);其次,定時查詢畢竟有時間間隔,數(shù)據(jù)的傳輸會有延遲,對于有些數(shù)據(jù)實時性要求較高的業(yè)務(wù),這種方式很難滿足;

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

      [0006]有鑒于此,本發(fā)明的主要目的是提供一種數(shù)據(jù)同步方法和系統(tǒng),以降低數(shù)據(jù)庫的處理壓力,提高數(shù)據(jù)的時效性。
      [0007]本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
      [0008]一種數(shù)據(jù)同步方法,包括:
      [0009]增設(shè)轉(zhuǎn)發(fā)系統(tǒng),該轉(zhuǎn)發(fā)系統(tǒng)監(jiān)聽源數(shù)據(jù)庫的增量數(shù)據(jù)操作日志;
      [0010]源數(shù)據(jù)庫將增量數(shù)據(jù)操作日志發(fā)送給轉(zhuǎn)發(fā)系統(tǒng),轉(zhuǎn)發(fā)系統(tǒng)將所述增量數(shù)據(jù)操作日志轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)對象;
      [0011 ] 轉(zhuǎn)發(fā)系統(tǒng)將所述數(shù)據(jù)對象轉(zhuǎn)發(fā)給目標(biāo)系統(tǒng)。
      [0012]優(yōu)選的,所述轉(zhuǎn)發(fā)系統(tǒng)監(jiān)聽源數(shù)據(jù)庫的增量數(shù)據(jù)操作日志,具體包括:
      [0013]轉(zhuǎn)發(fā)系統(tǒng)通過地址和端口監(jiān)聽源數(shù)據(jù)庫;
      [0014]轉(zhuǎn)發(fā)系統(tǒng)獲取本地數(shù)據(jù)操作日志的起始標(biāo)記,將所述起始標(biāo)記發(fā)送給源數(shù)據(jù)庫;
      [0015]源數(shù)據(jù)庫實時判斷本地數(shù)據(jù)操作日志的最新標(biāo)記,若最新標(biāo)記高于轉(zhuǎn)發(fā)系統(tǒng)發(fā)來的所述起始標(biāo)記,則所述起始標(biāo)記和最新標(biāo)記之間的數(shù)據(jù)操作日志作為增量數(shù)據(jù)操作日
      V 1、1、O
      [0016]優(yōu)選的,該方法在轉(zhuǎn)發(fā)系統(tǒng)將所述數(shù)據(jù)對象轉(zhuǎn)發(fā)給目標(biāo)系統(tǒng)之后,進(jìn)一步包括:轉(zhuǎn)發(fā)系統(tǒng)按照接收到的數(shù)據(jù)操作日志的最新標(biāo)記更新本地的本地數(shù)據(jù)操作日志的起始標(biāo)記,之后將更新后的起始標(biāo)記發(fā)送給源數(shù)據(jù)庫。
      [0017]優(yōu)選的,所述轉(zhuǎn)發(fā)系統(tǒng)將所述增量數(shù)據(jù)操作日志轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)對象,具體包括:轉(zhuǎn)發(fā)系統(tǒng)解析所述增量數(shù)據(jù)操作日志中的操作指令、操作對象和具體數(shù)據(jù),轉(zhuǎn)換為目標(biāo)系統(tǒng)可識別的數(shù)據(jù)格式的數(shù)據(jù)對象。
      [0018]優(yōu)選的,所述轉(zhuǎn)發(fā)系統(tǒng)將所述數(shù)據(jù)對象轉(zhuǎn)發(fā)給目標(biāo)系統(tǒng),具體包括:
      [0019]對于實時性要求低于指定要求的目標(biāo)系統(tǒng),轉(zhuǎn)發(fā)系統(tǒng)判斷目標(biāo)系統(tǒng)是否可達(dá),如果可達(dá)則將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng),如果不可達(dá)則將所述數(shù)據(jù)對象存儲在本地磁盤中,待目標(biāo)系統(tǒng)可達(dá)后將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng);
      [0020]對于實時性要求高于指定要求的目標(biāo)系統(tǒng),轉(zhuǎn)發(fā)系統(tǒng)判斷目標(biāo)系統(tǒng)是否可達(dá),如果可達(dá)則將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng),如果不可達(dá)則將所述數(shù)據(jù)對象駐留在本地內(nèi)存,待目標(biāo)系統(tǒng)可達(dá)后將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng)。
      [0021]優(yōu)選的,一個轉(zhuǎn)發(fā)系統(tǒng)對應(yīng)一個目標(biāo)系統(tǒng),或者一個轉(zhuǎn)發(fā)系統(tǒng)對應(yīng)兩個或兩個以上目標(biāo)系統(tǒng);
      [0022]對于一個轉(zhuǎn)發(fā)系統(tǒng)對應(yīng)一個目標(biāo)系統(tǒng)的場景,所述轉(zhuǎn)發(fā)系統(tǒng)在將所述增量數(shù)據(jù)操作日志轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)對象后,進(jìn)一步判斷目標(biāo)系統(tǒng)是否可達(dá),如果可達(dá)則將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng),如果不可達(dá)則將所述數(shù)據(jù)對象駐留在本地內(nèi)存,待目標(biāo)系統(tǒng)可達(dá)后將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng);
      [0023]對于一個轉(zhuǎn)發(fā)系統(tǒng)對應(yīng)兩個或兩個以上目標(biāo)系統(tǒng)的場景,所述轉(zhuǎn)發(fā)系統(tǒng)在將所述增量數(shù)據(jù)操作日志轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)對象后,進(jìn)一步判斷目標(biāo)系統(tǒng)是否可達(dá),如果可達(dá)則將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng),如果不可達(dá)則將所述數(shù)據(jù)對象存儲在本地磁盤中,待目標(biāo)系統(tǒng)可達(dá)后將所述數(shù)據(jù)對象發(fā)送給目標(biāo)系統(tǒng)。
      [0024]—種數(shù)據(jù)同步系統(tǒng),包括:
      [0025]轉(zhuǎn)發(fā)系統(tǒng),用于監(jiān)聽源數(shù)據(jù)庫的增量數(shù)據(jù)操作日志,接收源數(shù)據(jù)發(fā)送的增量數(shù)據(jù)操作日志,將所述增量數(shù)據(jù)操作日志轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)對象,將所述數(shù)據(jù)對象轉(zhuǎn)發(fā)給目標(biāo)系統(tǒng);
      [0026]源數(shù)據(jù)庫,用于將增量數(shù)據(jù)操作日志發(fā)送給轉(zhuǎn)發(fā)系統(tǒng)。
      [0027]優(yōu)選的,所述轉(zhuǎn)發(fā)系統(tǒng)具體包括:用于通過地址和端口監(jiān)聽源數(shù)據(jù)庫;獲取本地數(shù)據(jù)操作日志的起始標(biāo)記,將所述起始標(biāo)記發(fā)送給源數(shù)據(jù)庫的模塊;
      [0028]所述源數(shù)據(jù)庫具體包括:用于實時判斷本地數(shù)據(jù)操作日志的最新標(biāo)記,若最新標(biāo)記高于轉(zhuǎn)發(fā)系統(tǒng)發(fā)來的所述起始標(biāo)記,則所述起始標(biāo)記和最新標(biāo)記之間的數(shù)據(jù)操作日志作為增量數(shù)據(jù)操作日志,將所述增量數(shù)據(jù)操作日志發(fā)送給轉(zhuǎn)發(fā)系統(tǒng)的模塊。
      [0029]優(yōu)選的,所述轉(zhuǎn)發(fā)系統(tǒng)進(jìn)一步包括:用于在將所述數(shù)據(jù)對象轉(zhuǎn)發(fā)給目標(biāo)系統(tǒng)之后,進(jìn)一步按照接收到的數(shù)據(jù)操作日志的最新標(biāo)記更新本地的本地數(shù)據(jù)操作日志的起始標(biāo)記,之后將更新后的起始標(biāo)記發(fā)送給源數(shù)據(jù)庫的模塊。
      [0030]優(yōu)選的,所述轉(zhuǎn)發(fā)系統(tǒng)具體包括:用于解析所述增量數(shù)據(jù)操作日志中的操作指令、操作對象和具體數(shù)據(jù),轉(zhuǎn)換為目標(biāo)系統(tǒng)可識別的數(shù)據(jù)格式的數(shù)據(jù)對象的模塊。
      [0031]與現(xiàn)有技術(shù)相比,本發(fā)明采用監(jiān)聽的方式,對目標(biāo)數(shù)據(jù)的源數(shù)據(jù)庫進(jìn)行監(jiān)聽,當(dāng)源數(shù)據(jù)庫中有增量數(shù)據(jù)操作時,如增刪改等操作,源數(shù)據(jù)庫會將增量數(shù)據(jù)操作日志發(fā)送給監(jiān)聽系統(tǒng)即轉(zhuǎn)發(fā)系統(tǒng),之后轉(zhuǎn)發(fā)系統(tǒng)會將接收到的增量數(shù)據(jù)操作日志發(fā)送給需要數(shù)據(jù)的一個或多個目標(biāo)系統(tǒng)。這樣,就避免了現(xiàn)有技術(shù)方案中任務(wù)系統(tǒng)定時查詢源數(shù)據(jù)庫造成的數(shù)據(jù)庫壓力,降低了對數(shù)據(jù)庫的處理壓力;同時,又避免了定時查詢的時間間隔,從而又提高了數(shù)據(jù)的時效性。
      【附圖說明】
      [0032]圖1為現(xiàn)有技術(shù)中通常采用的一種數(shù)據(jù)獲取方式的示意圖;
      [0033]圖2為本發(fā)明所述數(shù)據(jù)同步方法的一種流程圖;
      [0034]圖3為本發(fā)明所述數(shù)據(jù)同步方法的一種實例圖;
      [0035]圖4為本發(fā)明所述轉(zhuǎn)發(fā)系統(tǒng)進(jìn)行監(jiān)聽的流程示意圖;
      [0036]圖5為本發(fā)明所述轉(zhuǎn)發(fā)系統(tǒng)進(jìn)行數(shù)據(jù)轉(zhuǎn)換和轉(zhuǎn)發(fā)的流程示意圖;
      [0037]圖6是本發(fā)明所應(yīng)用場景的一種轉(zhuǎn)發(fā)系統(tǒng)與目標(biāo)系統(tǒng)之間的關(guān)系示意圖。
      【具體實施方式】
      [0038]下面結(jié)合附圖及具體實施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明。
      [0039]圖2為本發(fā)明所述數(shù)據(jù)同步方法的一種流程圖;圖3為本發(fā)明所述數(shù)據(jù)同步方法的一種實例圖。參見圖2和圖3,本發(fā)明所述的數(shù)據(jù)同步方法包括:
      [0040]201、增設(shè)轉(zhuǎn)發(fā)系統(tǒng),該轉(zhuǎn)發(fā)系統(tǒng)監(jiān)聽源數(shù)據(jù)庫的增量數(shù)據(jù)操作日志。
      [0041]202、源數(shù)據(jù)庫將增量數(shù)據(jù)操作日志發(fā)送給轉(zhuǎn)發(fā)系統(tǒng),轉(zhuǎn)發(fā)系統(tǒng)將所述增量數(shù)據(jù)操作日志轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)對象。所述源數(shù)據(jù)庫就是目標(biāo)數(shù)據(jù)所在的數(shù)據(jù)庫,如Mysql、ORACLE數(shù)據(jù)庫等。
      [0042]203、轉(zhuǎn)發(fā)系統(tǒng)將所述數(shù)據(jù)對象轉(zhuǎn)發(fā)給目標(biāo)系統(tǒng)。
      [0043]其中,所述轉(zhuǎn)發(fā)系統(tǒng)監(jiān)聽源數(shù)據(jù)庫的增量數(shù)據(jù)操作日志,具體包括:
      [0044]轉(zhuǎn)發(fā)系統(tǒng)通過地址和端口監(jiān)聽源數(shù)據(jù)庫;
      [0045]轉(zhuǎn)發(fā)系統(tǒng)獲取本地數(shù)據(jù)操作日志的起始標(biāo)記,將所述起始標(biāo)
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1