亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法與流程

文檔序號:12906159閱讀:1206來源:國知局
一種基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法與流程

本發(fā)明屬于券商行業(yè)數(shù)據(jù)實時交換領(lǐng)域,特別是一種基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)金融的蓬勃發(fā)展,金融行業(yè)也在從傳統(tǒng)架構(gòu)逐步向分布式架構(gòu)進(jìn)化,數(shù)據(jù)存儲方式也從單一oracle發(fā)展到多種多樣的異構(gòu)數(shù)據(jù)存儲主要有mysql、內(nèi)存數(shù)據(jù)庫,nosql數(shù)據(jù)庫,mpp等數(shù)據(jù)庫。同時金融行業(yè)傳統(tǒng)數(shù)據(jù)同步方式主要采用etl集中批處理的形式,這種方式時延較高,同時對于數(shù)據(jù)庫有峰值壓力,并且經(jīng)常重復(fù)抽取數(shù)據(jù),隨著業(yè)務(wù)的發(fā)展,對于數(shù)據(jù)的同步要求以更實時的方式進(jìn)行。

目前在金融行業(yè)并沒有一套完整的基于消息中間件的異構(gòu)數(shù)據(jù)實時同步解決方案。而在開源領(lǐng)域,databus,基于自身定義的eventbuffer對象使用avro序列化,alibaba-canal基于protobuf做序列化,兩者都是使用netty做消息傳輸,缺點是開源版本沒有一套完整的架構(gòu)體系支持,消息不能持久化,不能多次利用和重復(fù)消費,支持的數(shù)據(jù)源較少,對于消費方不友好,需要完全自主開發(fā),也無法直接和當(dāng)前一些大數(shù)據(jù)技術(shù)結(jié)合起來使用。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供了一種能夠解決異構(gòu)數(shù)據(jù)源之間數(shù)據(jù)難轉(zhuǎn)化的技術(shù)難點及重復(fù)的數(shù)據(jù)抽取帶來的資源浪費和系統(tǒng)壓力問題的基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法。

本發(fā)明的目的通過以下技術(shù)方案實現(xiàn)。

一種基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法,步驟包括:

1)根據(jù)不同類型數(shù)據(jù)源部署數(shù)據(jù)采集模塊:當(dāng)數(shù)據(jù)源為oracle或mysql關(guān)系型數(shù)據(jù)庫時,則所述數(shù)據(jù)采集模塊部署在數(shù)據(jù)源所在主機外;當(dāng)數(shù)據(jù)源為日志類數(shù)據(jù)源,則在數(shù)據(jù)源主機上安裝數(shù)據(jù)采集模塊,之后執(zhí)行步驟2);

2)所述數(shù)據(jù)采集模塊將各自采集來的數(shù)據(jù)進(jìn)行加工處理并采用protobuffer技術(shù)封裝成統(tǒng)一數(shù)據(jù)模型,之后執(zhí)行步驟3);

3)所述數(shù)據(jù)采集模塊將統(tǒng)一數(shù)據(jù)模型發(fā)送給消息中間件進(jìn)行持久化,之后執(zhí)行步驟4);

4)數(shù)據(jù)處理模塊通過消息處理框架api從消息中間件中拉取數(shù)據(jù),并根據(jù)業(yè)務(wù)規(guī)則進(jìn)行業(yè)務(wù)處理,本方法結(jié)束。

進(jìn)一步的,步驟2)中所述統(tǒng)一數(shù)據(jù)模型具體包括數(shù)據(jù)頭和數(shù)據(jù)體。

進(jìn)一步的,所述數(shù)據(jù)頭包括:采集版本、數(shù)據(jù)庫類型、數(shù)據(jù)源ip、數(shù)據(jù)文件名、數(shù)據(jù)下標(biāo)、數(shù)據(jù)庫模式、表名、操作類型。

進(jìn)一步的,所述數(shù)據(jù)體包括前列簇和后列簇,所述前列簇和后列簇包括字段名、字段描述、是否主鍵、字段內(nèi)容、字段類型。

進(jìn)一步的,步驟4)中所述業(yè)務(wù)規(guī)則包括數(shù)據(jù)源之間的數(shù)據(jù)轉(zhuǎn)換和利用數(shù)據(jù)作業(yè)務(wù)分析。

進(jìn)一步的,步驟4)中所述數(shù)據(jù)處理模塊通過消息處理框架api從消息中間件中拉取數(shù)據(jù)后將數(shù)據(jù)通過protobuffer技術(shù)進(jìn)行反序列化及統(tǒng)一解析,調(diào)用api接口并根據(jù)業(yè)務(wù)規(guī)則進(jìn)行業(yè)務(wù)處理,然后告警監(jiān)控進(jìn)行數(shù)據(jù)持久化。

相比于現(xiàn)有技術(shù),本發(fā)明的優(yōu)點在于:本發(fā)明建設(shè)統(tǒng)一的實時框架管理異構(gòu)數(shù)據(jù)源之間實時數(shù)據(jù)交換。實時拉取的異構(gòu)數(shù)據(jù)建立統(tǒng)一模型后,分類持久化到消息中間件,通過消費消息中間件中數(shù)據(jù),從而根據(jù)業(yè)務(wù)需求進(jìn)行相應(yīng)數(shù)據(jù)處理。

本發(fā)明設(shè)置異構(gòu)數(shù)據(jù)源的數(shù)據(jù)中轉(zhuǎn)站和數(shù)據(jù)代理,從而讓數(shù)據(jù)源對業(yè)務(wù)處理透明。提供實時的數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)抽取,解決異構(gòu)數(shù)據(jù)源之間數(shù)據(jù)難轉(zhuǎn)化的技術(shù)難點及重復(fù)的數(shù)據(jù)抽取帶來的資源浪費和系統(tǒng)壓力等問題。

在數(shù)據(jù)源端,數(shù)據(jù)采集模塊采用一主多備,可以做到不停機自動切換。在數(shù)據(jù)處理模塊基于消息中間件做到負(fù)載均衡和互為主備。同時該方案提供可靠的監(jiān)控模塊,對所有源端和末端的應(yīng)用進(jìn)行整體的部署,監(jiān)控和管理。

本發(fā)明提供完整的一套從數(shù)據(jù)源,數(shù)據(jù)采集,統(tǒng)一模型,中間件存儲,末端接收處理的數(shù)據(jù)鏈路。并在鏈路的每個節(jié)點上以對業(yè)務(wù)方透明為宗旨,以數(shù)據(jù)高效利用為目標(biāo),針對不同數(shù)據(jù)源提供不同的采集器;統(tǒng)一的模型,將業(yè)務(wù)方和數(shù)據(jù)源隔離;框架自身的末端框架和市面上流式框架結(jié)合使用,幫助業(yè)務(wù)方徹底與數(shù)據(jù)源隔離,只關(guān)注業(yè)務(wù)本身;統(tǒng)一的管理中心,監(jiān)控數(shù)據(jù)交換平臺管理下所有任務(wù)的生命周期;引入消息中間件,提高數(shù)據(jù)的吞吐量,利用其持久化特征可做到讓不同的業(yè)務(wù)方消費同一份數(shù)據(jù),還可讓業(yè)務(wù)方消費已經(jīng)消費過的數(shù)據(jù),極大提高數(shù)據(jù)的利用率和業(yè)務(wù)的容錯能力。

附圖說明

圖1為本發(fā)明的整體架構(gòu)圖。

圖2為本發(fā)明的統(tǒng)一數(shù)據(jù)模型示意圖。

具體實施方式

下面結(jié)合說明書附圖和具體的實施例,對本發(fā)明作詳細(xì)描述。

基于圖1所示的整體架構(gòu),一種基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法,步驟包括:

1)根據(jù)不同類型數(shù)據(jù)源部署數(shù)據(jù)采集模塊:當(dāng)數(shù)據(jù)源為oracle或mysql關(guān)系型數(shù)據(jù)庫時,則所述數(shù)據(jù)采集模塊部署在數(shù)據(jù)源所在主機外,減少主機壓力;當(dāng)數(shù)據(jù)源為日志類數(shù)據(jù)源,則在數(shù)據(jù)源主機上安裝數(shù)據(jù)采集模塊,之后執(zhí)行步驟2);

2)所述數(shù)據(jù)采集模塊將各自采集來的數(shù)據(jù)進(jìn)行加工處理并采用protobuffer技術(shù)封裝成統(tǒng)一數(shù)據(jù)模型,之后執(zhí)行步驟3);

3)所述數(shù)據(jù)采集模塊將統(tǒng)一數(shù)據(jù)模型發(fā)送給消息中間件進(jìn)行持久化,之后執(zhí)行步驟4);

4)數(shù)據(jù)處理模塊通過消息處理框架api從消息中間件中拉取數(shù)據(jù),并根據(jù)業(yè)務(wù)規(guī)則進(jìn)行業(yè)務(wù)處理,本方法結(jié)束。

步驟2)中所述統(tǒng)一數(shù)據(jù)模型具體包括數(shù)據(jù)頭和數(shù)據(jù)體。

所述數(shù)據(jù)頭包括:采集版本、數(shù)據(jù)庫類型、數(shù)據(jù)源ip、數(shù)據(jù)文件名、數(shù)據(jù)下標(biāo)、數(shù)據(jù)庫模式(schema)、表名、操作類型。

所述數(shù)據(jù)體包括前列簇和后列簇,所述前列簇和后列簇包括字段名、字段描述、是否主鍵、字段內(nèi)容、字段類型。

步驟4)中所述業(yè)務(wù)規(guī)則包括數(shù)據(jù)源之間的數(shù)據(jù)轉(zhuǎn)換和利用數(shù)據(jù)作業(yè)務(wù)分析,包括監(jiān)控,告警,營銷等事務(wù)。

步驟4)中所述數(shù)據(jù)處理模塊通過消息處理框架api從消息中間件中拉取數(shù)據(jù)后將數(shù)據(jù)通過protobuffer技術(shù)進(jìn)行反序列化及統(tǒng)一解析,調(diào)用api接口并根據(jù)業(yè)務(wù)規(guī)則進(jìn)行業(yè)務(wù)處理,然后告警監(jiān)控進(jìn)行數(shù)據(jù)持久化,業(yè)務(wù)處理只需按照框架提供的api實現(xiàn)接口服務(wù)即可。

本發(fā)明通過消息中間件的topic特性進(jìn)行業(yè)務(wù)區(qū)別,在數(shù)據(jù)采集模塊進(jìn)行業(yè)務(wù)數(shù)據(jù)采集后使用步驟2)中的數(shù)據(jù)模型統(tǒng)一化,并按照消息中間件的topic進(jìn)行數(shù)據(jù)發(fā)送(不同業(yè)務(wù)使用不同消息中間件topic)。同時數(shù)據(jù)處理模塊封裝了一套數(shù)據(jù)接收框架,基于數(shù)據(jù)模型提供了統(tǒng)一的業(yè)務(wù)處理api接口,業(yè)務(wù)方在此api的基礎(chǔ)上實現(xiàn)具體數(shù)據(jù)處理實現(xiàn)。

接收框架會先從指定的topic中接收數(shù)據(jù),將接收的數(shù)據(jù)按照步驟2)中的數(shù)據(jù)模型反序列化,并將數(shù)據(jù)傳給具體的業(yè)務(wù)實現(xiàn)完成處理。當(dāng)確認(rèn)業(yè)務(wù)處理完畢后,接收框架會完成持久化工作,保證后續(xù)處理中之前已經(jīng)處理過的數(shù)據(jù)不再被重復(fù)消費。



技術(shù)特征:

技術(shù)總結(jié)
本發(fā)明公開了一種基于消息中間件的異構(gòu)數(shù)據(jù)庫實時同步方法,步驟包括:建設(shè)統(tǒng)一的實時框架管理異構(gòu)數(shù)據(jù)源之間實時數(shù)據(jù)交換。實時拉取的異構(gòu)數(shù)據(jù)建立統(tǒng)一模型后,分類持久化到消息中間件,通過消費消息中間件中數(shù)據(jù),從而根據(jù)業(yè)務(wù)需求進(jìn)行相應(yīng)數(shù)據(jù)處理。本發(fā)明設(shè)置異構(gòu)數(shù)據(jù)源的數(shù)據(jù)中轉(zhuǎn)站和數(shù)據(jù)代理,從而讓數(shù)據(jù)源對業(yè)務(wù)處理透明。提供實時的數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)抽取,解決異構(gòu)數(shù)據(jù)源之間數(shù)據(jù)難轉(zhuǎn)化的技術(shù)難點及重復(fù)的數(shù)據(jù)抽取帶來的資源浪費和系統(tǒng)壓力等問題。

技術(shù)研發(fā)人員:樊建;谷正亮;王鈴
受保護的技術(shù)使用者:華泰證券股份有限公司
技術(shù)研發(fā)日:2017.06.29
技術(shù)公布日:2017.11.10
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1