国产精品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)和方法

      文檔序號:6649201閱讀:731來源:國知局
      增量數(shù)據(jù)推送系統(tǒng)和方法
      【專利摘要】本發(fā)明提供一種增量數(shù)據(jù)推送系統(tǒng)和方法。該增量數(shù)據(jù)推送方法包括在分布式調(diào)度中心的任務(wù)分配及調(diào)度下進行的如下處理:抓取處理;增量解析處理;邏輯主題合并處理;中間存儲處理;數(shù)據(jù)字段過濾處理;以及導(dǎo)出處理。
      【專利說明】増量數(shù)據(jù)推送系統(tǒng)和方法

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種數(shù)據(jù)推送系統(tǒng)和方法,更具體地,涉及一種基于增量同步的分布式任務(wù)分解和中間數(shù)據(jù)的生成與合并邏輯的增量數(shù)據(jù)推送系統(tǒng)和方法。

      【背景技術(shù)】
      [0002]由于云計算技術(shù)的發(fā)展,越來越多的第三方開發(fā)人員使用了云平臺技術(shù)。其中很大一部分OLAP (On-Line Analytical Processing:聯(lián)機分析處理)應(yīng)用都需要一些基于關(guān)系數(shù)據(jù)庫的共享數(shù)據(jù)信息,而準確的將共享數(shù)據(jù)庫的數(shù)據(jù)定時提供給分析系統(tǒng)成為常見的需求內(nèi)容。
      [0003]在現(xiàn)有技術(shù)中,數(shù)據(jù)提供系統(tǒng)定期通過數(shù)據(jù)庫全量備份,將某一個時刻的數(shù)據(jù)快照保存為文件形式,然后直接導(dǎo)入目標數(shù)據(jù)平臺或是通過程序?qū)θ繑?shù)據(jù)進行處理后導(dǎo)入。
      [0004]上述現(xiàn)有技術(shù)中存在以下缺點:1).數(shù)據(jù)重復(fù)度高:每次數(shù)據(jù)同步都是抓取的某一時刻的全量數(shù)據(jù)快照,而其中有很大一部分數(shù)據(jù)都是重復(fù)的,對計算及吞吐性能是比較大的浪費;2).時效性差:由于抓取的全量數(shù)據(jù)耗時較久,所以無法較為頻繁的進行數(shù)據(jù)的同步,對于頻繁更新的數(shù)據(jù)與真實數(shù)據(jù)的差異較大;3).對數(shù)據(jù)庫性能有影響:每次同步數(shù)據(jù)需要對數(shù)據(jù)庫進行快照抓取,對于運行壓力較大的數(shù)據(jù)庫增加了其運行負載,雖然可以通過增加slave庫進行解決,但是slave同步也存在穩(wěn)定性及延遲等多方面問題,對于權(quán)限控制也較為不利;4).數(shù)據(jù)同步為單點操作:由于全量快照的原理,操作必須由單一線程進行,如果出現(xiàn)異常,操作必須從頭開始。而如果采用多線程分解將導(dǎo)致數(shù)據(jù)一致性出現(xiàn)問題。


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

      [0005]本發(fā)明要解決的技術(shù)問題
      [0006]減少數(shù)據(jù)導(dǎo)出的重復(fù)性及對數(shù)據(jù)庫性能的影響。在不影響數(shù)據(jù)庫性能與數(shù)據(jù)準確性的前提下,增加容錯性與處理性能。
      [0007]解決方案
      [0008]根據(jù)本發(fā)明的第一方面,提供了一種增量數(shù)據(jù)推送系統(tǒng),包括:數(shù)據(jù)庫服務(wù)器,用于存儲關(guān)系數(shù)據(jù)庫,并且存儲由所述關(guān)系數(shù)據(jù)庫所產(chǎn)生的二進制日志文件;分布式調(diào)度中心,用于任務(wù)分配及調(diào)度;分布式工作集群,所述分布式工作集群在所述分布式調(diào)度中心的調(diào)度下,用于從所述數(shù)據(jù)庫服務(wù)器抓取所述二進制日志文件,基于分布式的處理對所述二進制日志文件進行增量解析,以解析出所述二進制日志文件中的增量記錄,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并且保存在與所述同一邏輯主題相對應(yīng)的中間文件中,將所述中間文件存儲在中間存儲單元中,依賴于業(yè)務(wù)需求對所存儲的中間文件中的規(guī)定的字段進行過濾處理,根據(jù)不同業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,將經(jīng)過過濾處理之后的所述中間文件進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng);業(yè)務(wù)系統(tǒng),向所述分布式工作集群發(fā)出導(dǎo)出任務(wù)的導(dǎo)出需求,并從所述分布式工作集群接收所述導(dǎo)出任務(wù)數(shù)據(jù)文件。
      [0009]根據(jù)本發(fā)明的第二方面,提供了一種增量數(shù)據(jù)推送方法,包括在分布式調(diào)度中心的任務(wù)分配及調(diào)度下進行的如下處理:抓取處理,用于從數(shù)據(jù)庫服務(wù)器抓取關(guān)系數(shù)據(jù)庫的二進制日志文件;增量解析處理,基于分布式的處理對所述二進制日志文件進行增量解析,以解析出所述二進制日志文件中的增量記錄;邏輯主題合并處理,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并;中間存儲處理,將屬于同一邏輯主題的經(jīng)合并的數(shù)據(jù)保存在與所述同一邏輯主題相對應(yīng)的中間文件中,并且將所述中間文件存儲在中間存儲單元中;數(shù)據(jù)字段過濾處理,依賴于業(yè)務(wù)需求對所存儲的中間文件中的規(guī)定的字段進行過濾處理;以及導(dǎo)出處理,根據(jù)不同業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,將經(jīng)過過濾處理之后的所述中間文件進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng)。
      [0010]根據(jù)本發(fā)明的第三方面,提供了一種增量數(shù)據(jù)推送系統(tǒng),包括分布式調(diào)度中心和分布式工作集群,其中,所述分布式工作集群包括:抓取單元,用于從數(shù)據(jù)庫服務(wù)器抓取關(guān)系數(shù)據(jù)庫的二進制日志文件;增量解析單元,基于分布式的處理對所述二進制日志文件進行增量解析,以解析出所述二進制日志文件中的增量記錄;邏輯主題合并單元,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并;中間存儲單元,將屬于同一邏輯主題的經(jīng)合并的數(shù)據(jù)保存在與所述同一邏輯主題相對應(yīng)的中間文件中,并且將所述中間文件存儲在中間存儲單元中;數(shù)據(jù)字段過濾單元,依賴于業(yè)務(wù)需求對所存儲的中間文件中的規(guī)定的字段進行過濾處理;以及導(dǎo)出單元,根據(jù)不同業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,將經(jīng)過過濾處理之后的所述中間文件進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng)。本發(fā)明的有益效果
      [0011]本發(fā)明大幅度降低了數(shù)據(jù)同步的數(shù)據(jù)量,從而降低了數(shù)據(jù)的重復(fù)性,改善了同步的性能;解決了同步操作的單點問題,使得整個流程可以被分解,分布式運行;在降低同步數(shù)據(jù)量的同時,并沒有降低數(shù)據(jù)導(dǎo)出的靈活性,可以任意設(shè)定導(dǎo)出的數(shù)據(jù)范圍和指定同步時間。

      【專利附圖】

      【附圖說明】
      [0012]圖1是示例根據(jù)本發(fā)明的實施例的增量數(shù)據(jù)推送系統(tǒng)的框圖。
      [0013]圖2是示例根據(jù)本發(fā)明的實施例的增量數(shù)據(jù)推送方法的流程圖。

      【具體實施方式】
      [0014]下面將參照附圖詳細解釋根據(jù)本發(fā)明的實施例的技術(shù)方案。
      [0015]圖1是示例根據(jù)本發(fā)明的實施例的增量數(shù)據(jù)推送系統(tǒng)100的框圖。增量數(shù)據(jù)推送系統(tǒng)100包括數(shù)據(jù)庫服務(wù)器102、分布式調(diào)度中心103、分布式工作集群104、業(yè)務(wù)系統(tǒng)118、
      120,122ο
      [0016]數(shù)據(jù)庫服務(wù)器102存儲關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫利用存在的binlog日志機制,能夠?qū)⑷康臄?shù)據(jù)庫操作記錄為binlog文件(二進制日志文件)。關(guān)系數(shù)據(jù)庫例如可以是MySQL數(shù)據(jù)庫?!癕ySQL”是一個開放源碼的小型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
      [0017]分布式調(diào)度中心103將要由分布式工作集群104執(zhí)行的所有的操作抽象為任務(wù)形式,使得操作進行有效的分解,提高可用性,所述操作可以泛指一切工作流程,比如從binlog中解析增量記錄至中間文件,或是將中間文件合并投影,或是定期清理過期數(shù)據(jù)等。分布式調(diào)度中心103例如可以米用ZooKeeper系統(tǒng),ZooKeeper是Apache的開源分布式協(xié)調(diào)工具。
      [0018]分布式工作集群104包括:抓取單元106,增量解析單元108,邏輯主題合并單元110,中間存儲單元112,數(shù)據(jù)字段過濾單元114,和導(dǎo)出單元116。
      [0019]抓取單元106用于從數(shù)據(jù)庫服務(wù)器102抓取關(guān)系數(shù)據(jù)庫的binlog文件。增量解析單元108基于分布式的處理對所抓取的binlog文件進行增量解析,以解析出所述binlog文件中的增量記錄。邏輯主題合并單元110將增量記錄按邏輯主題(即,邏輯表)進行分類,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并。中間存儲單元112將屬于同一邏輯主題的經(jīng)合并后的數(shù)據(jù)保存在與所述同一邏輯主題相對應(yīng)的中間文件1、2、3、4中,例如,屬于第I邏輯主題的數(shù)據(jù)經(jīng)過合并后保存在中間文件I中,屬于第2邏輯主題的數(shù)據(jù)經(jīng)過合并后保存在中間文件2中,屬于第3邏輯主題的數(shù)據(jù)經(jīng)過合并后保存在中間文件3中,屬于第4邏輯主題的數(shù)據(jù)經(jīng)過合并后保存在中間文件4中,并且將所述中間文件1、2、3、4存儲在中間存儲單元112中。數(shù)據(jù)字段過濾單元114依賴于業(yè)務(wù)需求對所存儲的合并后數(shù)據(jù)中的規(guī)定的字段進行過濾處理。導(dǎo)出單元116根據(jù)不同業(yè)務(wù)系統(tǒng)118、120、122的導(dǎo)出需求,將所述中間文件1、2、3、4進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)118、120、122所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后分別傳輸至各個相應(yīng)的業(yè)務(wù)系統(tǒng)118、120、122。
      [0020]業(yè)務(wù)系統(tǒng)118、120、122是數(shù)據(jù)的導(dǎo)出終端,向所述分布式工作集群104發(fā)出各自的導(dǎo)出任務(wù)的導(dǎo)出需求,并從所述分布式工作集群104的導(dǎo)出單元116接收導(dǎo)出任務(wù)數(shù)據(jù)文件。導(dǎo)出任務(wù)的入口為特定業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,產(chǎn)出為生成的導(dǎo)出任務(wù)數(shù)據(jù)文件。
      [0021]雖然圖1示出了四個中間文件1、2、3、4,和三個業(yè)務(wù)系統(tǒng)118、120、122,但是本領(lǐng)域技術(shù)人員應(yīng)當理解,其僅僅是示例性的,實際中間文件和業(yè)務(wù)系統(tǒng)的數(shù)目都不受限制,可以更多或更少。
      [0022]其中,所述中間文件包括數(shù)據(jù)來源、操作類型、數(shù)據(jù)庫操作時間、操作的全部數(shù)據(jù)字段信息與內(nèi)容,所述中間文件的序列化方式例如可以采用protobuf。protobuf是Protocol Buffers的簡稱。Protocol Buffers是Google公司開發(fā)的一種數(shù)據(jù)描述語言,類似于XML (extensible Markup Language:可擴展標記語言)能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù)序列化,可用于數(shù)據(jù)存儲、通信協(xié)議等方面。它不依賴于語言和平臺并且可擴展性極強。通過它,可以定義數(shù)據(jù)的結(jié)構(gòu),并生成基于各種語言的代碼。這些定義的數(shù)據(jù)流可以輕松地在傳遞并不破壞已有的程序。
      [0023]圖2是示例根據(jù)本發(fā)明的實施例的增量數(shù)據(jù)推送方法的流程圖200。根據(jù)本發(fā)明的實施例的增量數(shù)據(jù)推送方法可以通過例如ZooKe印er進行以下處理:抓取處理202,用于從數(shù)據(jù)庫服務(wù)器102抓取關(guān)系數(shù)據(jù)庫的binlog文件;增量解析處理204,基于分布式的處理對所述binlog文件進行增量解析,以解析出所述binlog文件中的增量記錄;邏輯主題合并處理206,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并;中間存儲處理210,將屬于同一邏輯主題的經(jīng)合并的數(shù)據(jù)保存在與所述同一邏輯主題相對應(yīng)的中間文件1、2、3、4中,并且將所述中間文件1、2、3、4存儲在中間存儲單元112中;數(shù)據(jù)字段過濾處理208,依賴于業(yè)務(wù)需求對所存儲的合并后數(shù)據(jù)中的規(guī)定的字段進行過濾處理;導(dǎo)出處理212,根據(jù)不同業(yè)務(wù)系統(tǒng)118、120、122的導(dǎo)出需求,將所述中間文件1、2、3、4進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)118、120、122所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng) 118、120、122。
      [0024]上述實施例僅是本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明。對本領(lǐng)域技術(shù)人員顯而易見的是,在不脫離本發(fā)明的精神和范圍的情況下,可以對本發(fā)明的實施例進行各種修改和改變。因此,本發(fā)明意在涵蓋落入如權(quán)利要求所限定的本發(fā)明的范圍之內(nèi)的所有這樣的修改或變型。
      [0025]附圖標記列表:
      [0026]100增量數(shù)據(jù)推送系統(tǒng)
      [0027]102數(shù)據(jù)庫服務(wù)器102
      [0028]103分布式調(diào)度中心103
      [0029]104分布式工作集群
      [0030]106抓取單元
      [0031]108增量解析單元
      [0032]110邏輯主題合并單元
      [0033]112中間存儲單元
      [0034]114數(shù)據(jù)字段過濾單元
      [0035]116導(dǎo)出單元
      [0036]118, 120, 122 業(yè)務(wù)系統(tǒng)。
      【權(quán)利要求】
      1.一種增量數(shù)據(jù)推送系統(tǒng),包括: 數(shù)據(jù)庫服務(wù)器,用于存儲關(guān)系數(shù)據(jù)庫,并且存儲由所述關(guān)系數(shù)據(jù)庫所產(chǎn)生的二進制日志文件; 分布式調(diào)度中心,用于任務(wù)分配及調(diào)度; 分布式工作集群,所述分布式工作集群在所述分布式調(diào)度中心的調(diào)度下,用于從所述數(shù)據(jù)庫服務(wù)器抓取所述二進制日志文件,基于分布式的處理對所述二進制日志文件進行增量解析,以解析出所述二進制日志文件中的增量記錄,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并且保存在與所述同一邏輯主題相對應(yīng)的中間文件中,將所述中間文件存儲在中間存儲單元中,依賴于業(yè)務(wù)需求對所存儲的中間文件中的規(guī)定的字段進行過濾處理,根據(jù)不同業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,將經(jīng)過過濾處理之后的所述中間文件進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng); 業(yè)務(wù)系統(tǒng),向所述分布式工作集群發(fā)出導(dǎo)出任務(wù)的導(dǎo)出需求,并從所述分布式工作集群接收所述導(dǎo)出任務(wù)數(shù)據(jù)文件。
      2.根據(jù)權(quán)利要求1所述的增量數(shù)據(jù)推送系統(tǒng), 其中,所述關(guān)系數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,所述分布式調(diào)度中心是ZooK^per系統(tǒng)。
      3.根據(jù)權(quán)利要求1或2所述的增量數(shù)據(jù)推送系統(tǒng), 其中,所述中間文件包括數(shù)據(jù)來源、操作類型、數(shù)據(jù)庫操作時間、操作的全部數(shù)據(jù)字段信息與內(nèi)容,所述中間文件的序列化方式采用protobuf。
      4.一種增量數(shù)據(jù)推送方法,包括在分布式調(diào)度中心的任務(wù)分配及調(diào)度下進行的如下處理: 抓取處理,用于從數(shù)據(jù)庫服務(wù)器抓取關(guān)系數(shù)據(jù)庫的二進制日志文件; 增量解析處理,基于分布式的處理對所述二進制日志文件進行增量解析,以解析出所述二進制日志文件中的增量記錄; 邏輯主題合并處理,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并; 中間存儲處理,將屬于同一邏輯主題的經(jīng)合并的數(shù)據(jù)保存在與所述同一邏輯主題相對應(yīng)的中間文件中,并且將所述中間文件存儲在中間存儲單元中; 數(shù)據(jù)字段過濾處理,依賴于業(yè)務(wù)需求對所存儲的中間文件中的規(guī)定的字段進行過濾處理;以及 導(dǎo)出處理,根據(jù)不同業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,將經(jīng)過過濾處理之后的所述中間文件進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng)。
      5.根據(jù)權(quán)利要求4所述的增量數(shù)據(jù)推送方法, 其中,所述關(guān)系數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,所述方法使用ZooKeeper系統(tǒng)。
      6.根據(jù)權(quán)利要求4或5所述的增量數(shù)據(jù)推送方法, 其中,所述中間文件包括數(shù)據(jù)來源、操作類型、數(shù)據(jù)庫操作時間、操作的全部數(shù)據(jù)字段信息與內(nèi)容,所述中間文件的序列化方式采用protobuf。
      7.一種增量數(shù)據(jù)推送系統(tǒng),包括分布式調(diào)度中心和分布式工作集群, 其中,所述分布式工作集群包括: 抓取單元,用于從數(shù)據(jù)庫服務(wù)器抓取關(guān)系數(shù)據(jù)庫的二進制日志文件; 增量解析單元,基于分布式的處理對所述二進制日志文件進行增量解析,以解析出所述二進制日志文件中的增量記錄; 邏輯主題合并單元,將增量記錄中的屬于同一邏輯主題的數(shù)據(jù)合并; 中間存儲單元,將屬于同一邏輯主題的經(jīng)合并的數(shù)據(jù)保存在與所述同一邏輯主題相對應(yīng)的中間文件中,并且將所述中間文件存儲在中間存儲單元中; 數(shù)據(jù)字段過濾單元,依賴于業(yè)務(wù)需求對所存儲的中間文件中的規(guī)定的字段進行過濾處理;以及 導(dǎo)出單元,根據(jù)不同業(yè)務(wù)系統(tǒng)的導(dǎo)出需求,將經(jīng)過過濾處理之后的所述中間文件進行投影與合并并且保存為相應(yīng)的業(yè)務(wù)系統(tǒng)所需要的格式的導(dǎo)出任務(wù)數(shù)據(jù)文件,然后傳輸至相應(yīng)的業(yè)務(wù)系統(tǒng)。
      【文檔編號】G06F17/30GK104516989SQ201510038350
      【公開日】2015年4月15日 申請日期:2015年1月26日 優(yōu)先權(quán)日:2015年1月26日
      【發(fā)明者】石冠雄, 王超 申請人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀貿(mào)易有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1