国产精品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ù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

      文檔序號(hào):11407485閱讀:277來源:國知局
      數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

      本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。



      背景技術(shù):

      現(xiàn)有的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)mysql,在萬維網(wǎng)(worldwideweb,簡稱web)應(yīng)用方面是最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(relationaldatabasemanagementsystem,簡稱rdbms)的應(yīng)用軟件。目前,關(guān)系型數(shù)據(jù)庫管理系統(tǒng)mysql的復(fù)制方案主要包括兩種:第一種主從同步方案;該方案高效穩(wěn)定,在兩臺(tái)主數(shù)據(jù)庫服務(wù)器與從數(shù)據(jù)庫服務(wù)器網(wǎng)絡(luò)聯(lián)通的情況下,關(guān)系型數(shù)據(jù)庫管理系統(tǒng)mysql數(shù)據(jù)庫中的數(shù)據(jù)可以通過主數(shù)據(jù)庫服務(wù)器與從數(shù)據(jù)庫服務(wù)器同步的方式完成數(shù)據(jù)復(fù)制;第二種為結(jié)構(gòu)化查詢語言(structuredquerylanguage,簡稱sql)數(shù)據(jù)處理方案;該方案通過sql語句完成數(shù)據(jù)查詢和數(shù)據(jù)插入,從而實(shí)現(xiàn)源數(shù)據(jù)庫服務(wù)器與目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)查詢及復(fù)制。

      然而,在數(shù)據(jù)庫數(shù)據(jù)處理過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)問題:

      現(xiàn)有技術(shù)的中通過sql語句實(shí)現(xiàn)源數(shù)據(jù)庫服務(wù)器與目標(biāo)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)查詢及復(fù)制過程需要耗費(fèi)的時(shí)間較長,無法滿足用戶的數(shù)據(jù)處理要求。



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

      有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠加快數(shù)據(jù)處理速度以解決現(xiàn)有的數(shù)據(jù)查詢及復(fù)制的過程需要耗費(fèi)的時(shí)間較長的問題。

      第一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,包括:

      獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件;

      獲取源數(shù)據(jù)庫的變動(dòng)消息;

      根據(jù)所述配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理,并將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      結(jié)合第一方面,在第一方面的第一種實(shí)施方式中,所述配置文件包括:待處理的變動(dòng)消息的結(jié)構(gòu),變化格式及線程池中的線程數(shù)量;其中,所述根據(jù)所述配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理,并將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫的步驟,包括:

      獲取所述源數(shù)據(jù)庫的變動(dòng)消息類型;

      根據(jù)所述源數(shù)據(jù)庫的變動(dòng)消息類型,確定數(shù)據(jù)的處理方式;

      根據(jù)所述待處理的變動(dòng)消息的結(jié)構(gòu),變化格式,線程池中的線程數(shù)量以及所述確定的數(shù)據(jù)的處理方式,將所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,并將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      結(jié)合第一方面的第一種實(shí)施方式,在第一方面的第二種實(shí)施方式中,所述變動(dòng)消息類型包括:插入、更新或刪除;所述數(shù)據(jù)的處理方式包括:緩存系統(tǒng)的任務(wù)隊(duì)列處理方式和高并發(fā)數(shù)據(jù)輸入輸出處理方式;所述根據(jù)所述源數(shù)據(jù)庫的變動(dòng)消息類型,確定數(shù)據(jù)的處理方式的步驟為:

      所述源數(shù)據(jù)庫的變動(dòng)消息類型為插入或更新,確定數(shù)據(jù)的處理方式為所述高并發(fā)數(shù)據(jù)輸入輸出處理方式;

      所述源數(shù)據(jù)庫的變動(dòng)消息類型為刪除,確定數(shù)據(jù)的處理方式為所述緩存系統(tǒng)的任務(wù)隊(duì)列處理方式。

      結(jié)合第一方面的第二種實(shí)施方式,在第一方面的第三種實(shí)施方式中,所述將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫的步驟,包括:

      通過關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的下載數(shù)據(jù)命令,將所述轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      第二方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理裝置,包括:

      配置單元,用于獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件;

      消息獲取單元,用于獲取源數(shù)據(jù)庫的變動(dòng)消息;

      消息處理單元,用于根據(jù)所述配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理,并將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫;

      其中,所述配置文件包括:待處理的變動(dòng)消息的結(jié)構(gòu),變化格式及線程池中的線程數(shù)量。

      結(jié)合第二方面,在第二方面的第一種實(shí)施方式中,所述配置文件包括:待處理的變動(dòng)消息的結(jié)構(gòu),變化格式及線程池中的線程數(shù)量;

      所述消息處理單元,包括:

      消息類型獲取子單元,用于獲取所述源數(shù)據(jù)庫的變動(dòng)消息類型;

      數(shù)據(jù)處理方式確定子單元,用于根據(jù)所述源數(shù)據(jù)庫的變動(dòng)消息類型,確定數(shù)據(jù)的處理方式;

      數(shù)據(jù)處理子單元,用于根據(jù)所述待處理的變動(dòng)消息的結(jié)構(gòu),變化格式,線程池中的線程數(shù)量以及所述確定的數(shù)據(jù)的處理方式,將所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,并將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      結(jié)合第二方面的第一種實(shí)施方式,在第二方面的第二種實(shí)施方式中,所述變動(dòng)消息類型包括:插入、更新或刪除;所述數(shù)據(jù)的處理方式包括:緩存系統(tǒng)的任務(wù)隊(duì)列處理方式和高并發(fā)數(shù)據(jù)輸入輸出處理方式;

      所述數(shù)據(jù)處理方式確定子單元具體用于:

      所述源數(shù)據(jù)庫的變動(dòng)消息類型為插入或更新,確定數(shù)據(jù)的處理方式為所述高并發(fā)數(shù)據(jù)輸入輸出處理方式;

      所述源數(shù)據(jù)庫的變動(dòng)消息類型為刪除,確定數(shù)據(jù)的處理方式為所述緩存系統(tǒng)的任務(wù)隊(duì)列處理方式。

      結(jié)合第二方面的第二種實(shí)施方式,在第二方面的第三種實(shí)施方式中,所述數(shù)據(jù)處理子單元在將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫時(shí),通過關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的下載數(shù)據(jù)命令,將所述轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      第三方面,本發(fā)明實(shí)施例提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序;其中,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上任一項(xiàng)所述的數(shù)據(jù)處理方法。

      第四方面,本發(fā)明實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序可被處理器執(zhí)行如上任一項(xiàng)所述的數(shù)據(jù)處理方法。

      本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),通過獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件,使得所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器可以根據(jù)配置文件對(duì)源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,并按照源數(shù)據(jù)庫的變動(dòng)消息類型進(jìn)行數(shù)據(jù)處理,從而將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫;采用所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器不但可以縮短目標(biāo)數(shù)據(jù)庫服務(wù)器獲取源數(shù)據(jù)庫服務(wù)器的源數(shù)據(jù)庫的變動(dòng)消息的時(shí)間,還可以靈活的根據(jù)配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

      圖1為本發(fā)明的實(shí)施例的數(shù)據(jù)處理方法的流程圖;

      圖2為本發(fā)明的實(shí)施例的數(shù)據(jù)處理方法實(shí)施例二的流程圖;

      圖3為本發(fā)明數(shù)據(jù)處理方法實(shí)施例三的數(shù)據(jù)處理系統(tǒng)示意圖;

      圖4為本發(fā)明數(shù)據(jù)處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;

      圖5為本發(fā)明數(shù)據(jù)處理裝置實(shí)施例二的結(jié)構(gòu)示意圖;

      圖6為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。

      應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      圖1為本發(fā)明的實(shí)施例數(shù)據(jù)處理方法的示意圖,應(yīng)用于分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器,如圖1所示,本實(shí)施例的方法可以包括:

      步驟101、獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件;

      本實(shí)施例中,所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件可以根據(jù)實(shí)際的需求進(jìn)行設(shè)置,對(duì)于獲取到的源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行結(jié)構(gòu)、格式等自定義轉(zhuǎn)換。例如:對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行字段篩選、新字段生成、多表合并、按字段進(jìn)行分表操作等等。

      步驟102、獲取源數(shù)據(jù)庫的變動(dòng)消息;

      本實(shí)施例中,如果在源數(shù)據(jù)庫服務(wù)器捕獲到自身數(shù)據(jù)發(fā)生變化,則通過源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器。所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器獲取到源數(shù)據(jù)庫的變動(dòng)消息,則會(huì)進(jìn)一步對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理。

      步驟103、根據(jù)所述配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理,并將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      本實(shí)施例中,所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器根據(jù)預(yù)先設(shè)置的配置文件,對(duì)所述獲取到的源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理;例如:根據(jù)配置文件中的結(jié)構(gòu)、格式等自定義轉(zhuǎn)換,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行信息識(shí)別,信息格式轉(zhuǎn)化以及信息處理,然后將處理后的信息重新封裝,發(fā)送給目標(biāo)數(shù)據(jù)庫。

      本實(shí)施例,通過獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件,使得所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器可以根據(jù)配置文件對(duì)源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,并按照源數(shù)據(jù)庫的變動(dòng)消息類型進(jìn)行數(shù)據(jù)處理,從而將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫;采用所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器不但可以縮短目標(biāo)數(shù)據(jù)庫服務(wù)器獲取源數(shù)據(jù)庫服務(wù)器的源數(shù)據(jù)庫的變動(dòng)消息的時(shí)間,還可以靈活的根據(jù)配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化。

      圖2為本發(fā)明數(shù)據(jù)處理方法實(shí)施例二的流程圖,如圖2所示,本實(shí)施例的方法可以包括:

      步驟201、獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件;

      本實(shí)施例中,所述配置文件包括:待處理的變動(dòng)消息的結(jié)構(gòu),變化格式及線程池中的線程數(shù)量;預(yù)置配置文件的過程和上述方法實(shí)施例的步驟101類似,此處不再贅述。

      步驟202、獲取源數(shù)據(jù)庫的變動(dòng)消息;

      本實(shí)施例中,所述獲取源數(shù)據(jù)庫的變動(dòng)消息的過程和上述方法實(shí)施例的步驟102類似,此處不再贅述。

      步驟203、獲取所述源數(shù)據(jù)庫的變動(dòng)消息類型;

      本實(shí)施例中,所述獲取的源數(shù)據(jù)庫的變動(dòng)消息類型是所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器在獲取到所述源數(shù)據(jù)庫的變動(dòng)消息后對(duì)該消息的解析,通過獲取所述源數(shù)據(jù)庫的變動(dòng)消息類型,所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器才可以根據(jù)其自身的配置文件決定后續(xù)該消息的處理方式以及數(shù)據(jù)轉(zhuǎn)化。

      步驟204、根據(jù)所述源數(shù)據(jù)庫的變動(dòng)消息類型,確定數(shù)據(jù)的處理方式;

      本實(shí)施例中,所述變動(dòng)消息類型包括:插入、更新或刪除;所述數(shù)據(jù)的處理方式包括:緩存系統(tǒng)的任務(wù)隊(duì)列處理方式和高并發(fā)數(shù)據(jù)輸入輸出處理方式;所述源數(shù)據(jù)庫的變動(dòng)消息類型為插入或更新,確定數(shù)據(jù)的處理方式為所述高并發(fā)數(shù)據(jù)輸入輸出處理方式;所述源數(shù)據(jù)庫的變動(dòng)消息類型為刪除,確定數(shù)據(jù)的處理方式為所述緩存系統(tǒng)的任務(wù)隊(duì)列處理方式。

      步驟205、根據(jù)所述待處理的變動(dòng)消息的結(jié)構(gòu),變化格式,線程池中的線程數(shù)量以及所述確定的數(shù)據(jù)的處理方式,將所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,并將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫;

      本實(shí)施例中,所述轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息的類型包括:替換或刪除;具體的將就是,在源數(shù)據(jù)庫服務(wù)器中源數(shù)據(jù)庫的變動(dòng)消息的類型包括:插入、更新或刪除;所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器根據(jù)配置文件的設(shè)置,將所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,將源數(shù)據(jù)庫服務(wù)器中消息類型為插入或者更新轉(zhuǎn)化為替換類型,刪除類型保持不變;所述轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫通過關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的下載數(shù)據(jù)命令實(shí)現(xiàn)。

      本實(shí)施例,通過分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器將源數(shù)據(jù)庫服務(wù)器獲取所述源數(shù)據(jù)庫的變動(dòng)消息,并按照其配置文件將獲取的源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)識(shí)別,確定消息類型,進(jìn)而確定數(shù)據(jù)的處理方式。由于本發(fā)明技術(shù)方案會(huì)數(shù)據(jù)的處理方式采用的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器,且對(duì)不同的消息類型采用不同的處理方式,縮短了數(shù)據(jù)的處理時(shí)間,從而大大提高了消息的處理效率;本發(fā)明技術(shù)方案還可以通過配置文件的設(shè)置,例如通過配置文件設(shè)置待處理的變動(dòng)消息的結(jié)構(gòu),變化格式及線程池中的線程數(shù)量,可以使得分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器可以根據(jù)源數(shù)據(jù)庫服務(wù)器為其發(fā)送的源數(shù)據(jù)庫的變動(dòng)消息配置線程數(shù)量;還可以根據(jù)待處理的變動(dòng)消息的結(jié)構(gòu),變化格式對(duì)獲取的源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)處理,完成源數(shù)據(jù)庫的變動(dòng)消息的數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)化,格式轉(zhuǎn)化。

      下面采用一個(gè)具體的實(shí)施例,對(duì)圖1~圖2中任一個(gè)所示方法實(shí)施例的技術(shù)方案進(jìn)行詳細(xì)說明。

      結(jié)合圖3所示,以下為本發(fā)明數(shù)據(jù)處理方法實(shí)施例三的流程說明,本實(shí)施例的適用場景可以是源數(shù)據(jù)庫服務(wù)器為開源框架debezium并且所述源數(shù)據(jù)庫服務(wù)器獲得用戶授權(quán),分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器kafka,其中,所述源數(shù)據(jù)服務(wù)器可以為n個(gè),目標(biāo)數(shù)據(jù)庫可以為m個(gè);結(jié)合圖3所示,具體的數(shù)據(jù)處理方法可以是:

      步驟301、獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件;所述配置文件包括:待處理的變動(dòng)消息的結(jié)構(gòu),變化格式及線程池中的線程數(shù)量。

      本實(shí)施例中,所述待處理的變動(dòng)消息的結(jié)構(gòu)用于解析識(shí)別源數(shù)據(jù)庫的變動(dòng)消息;所述變化格式用于將解析出來的源數(shù)據(jù)庫的變動(dòng)消息按照所述變化格式要求進(jìn)行消息轉(zhuǎn)化,例如:將源數(shù)據(jù)庫服務(wù)器的變動(dòng)消息的插入類型和更新類型,轉(zhuǎn)化為替換類型;源數(shù)據(jù)庫服務(wù)器的變動(dòng)消息刪除類型不變;所述線程池中的線程數(shù)量,則會(huì)與根據(jù)所述變動(dòng)消息的源數(shù)據(jù)庫服務(wù)器相互匹配,確定對(duì)應(yīng)的線程數(shù)量來處理所述變動(dòng)消息。

      步驟302、所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器采用java版kafkaconsumer獲取源數(shù)據(jù)庫的變動(dòng)消息;所述變動(dòng)消息類型包括:插入、更新或刪除。

      步驟303、所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器根據(jù)所述配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理,并將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫;

      本實(shí)施例中,所述獲取的源數(shù)據(jù)庫的變動(dòng)消息類型可以通過所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器在獲取到所述源數(shù)據(jù)庫的變動(dòng)消息后對(duì)該消息的解析獲取到;通過獲取所述源數(shù)據(jù)庫的變動(dòng)消息類型,所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器才可以根據(jù)其自身的配置文件決定后續(xù)該消息的處理方式以及數(shù)據(jù)轉(zhuǎn)化。

      例如:所述源數(shù)據(jù)庫的變動(dòng)消息解析出來的消息類型為插入或者更新,則根據(jù)分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件,所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器將解析出來的消息轉(zhuǎn)化為替換類型,確定該變動(dòng)消息的數(shù)據(jù)處理方式為高并發(fā)數(shù)據(jù)輸入輸出處理方式j(luò)avanewio,并根據(jù)源數(shù)據(jù)庫的服務(wù)器為其匹配對(duì)應(yīng)的線程池中的線程數(shù)量,對(duì)所述變動(dòng)消息進(jìn)行處理;如果所述源數(shù)據(jù)庫的變動(dòng)消息解析出來的消息類型為刪除,則根據(jù)分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件,所述分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器將解析出來的消息確定為刪除類型,確定該變動(dòng)消息的數(shù)據(jù)處理方式為所述緩存系統(tǒng)redis的任務(wù)隊(duì)列處理方式,并根據(jù)源數(shù)據(jù)庫的服務(wù)器為其匹配對(duì)應(yīng)的線程池中的線程數(shù)量,對(duì)所述變動(dòng)消息進(jìn)行處理。所述轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫通過關(guān)系型數(shù)據(jù)庫管理系統(tǒng)mysql的下載數(shù)據(jù)命令loaddata實(shí)現(xiàn)。

      以上所述替換類型的數(shù)據(jù)可以靈活的按照配置文件對(duì)數(shù)據(jù)進(jìn)行處理,比如字段篩選、新字段生成(通過計(jì)算)、多表合并、按字段進(jìn)行分表操作等等,實(shí)現(xiàn)對(duì)源數(shù)據(jù)庫進(jìn)行結(jié)構(gòu)、格式等自定義轉(zhuǎn)換。

      以上所述刪除類型的數(shù)據(jù)實(shí)時(shí)插入到redis的任務(wù)隊(duì)列中,然后再啟動(dòng)一組線程池去異步消費(fèi)redis任務(wù)隊(duì)列,將目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)刪除掉。

      圖4為本發(fā)明數(shù)據(jù)處理裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖4所示,本實(shí)施例的裝置可以包括:配置單元401,消息獲取單元402和消息處理單元403;其中,所述配置單元401,用于獲取預(yù)置的分布式發(fā)布訂閱消息系統(tǒng)服務(wù)器的配置文件;所述消息獲取單元402,用于獲取源數(shù)據(jù)庫的變動(dòng)消息;所述消息處理單元403,用于根據(jù)所述配置文件,對(duì)所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行處理,并將處理后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      本實(shí)施例的裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

      圖5為本發(fā)明數(shù)據(jù)處理裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖5所示,本實(shí)施例的裝置在圖4所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,所述消息處理單元403可以包括:

      消息類型獲取子單元501、數(shù)據(jù)處理方式確定子單元502以及數(shù)據(jù)處理子單元503,其中,所述消息類型獲取子單元501,用于獲取所述源數(shù)據(jù)庫的變動(dòng)消息類型;所述變動(dòng)消息類型包括:插入、更新或刪除;所述數(shù)據(jù)處理方式確定子單元502,用于根據(jù)所述源數(shù)據(jù)庫的變動(dòng)消息類型,確定數(shù)據(jù)的處理方式;所述數(shù)據(jù)處理子單元503,用于根據(jù)所述待處理的變動(dòng)消息的結(jié)構(gòu),變化格式,線程池中的線程數(shù)量以及所述確定的數(shù)據(jù)的處理方式,將所述源數(shù)據(jù)庫的變動(dòng)消息進(jìn)行數(shù)據(jù)轉(zhuǎn)化,并將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      需要說明的是,所述變動(dòng)消息類型包括:插入、更新或刪除;所述數(shù)據(jù)的處理方式包括:緩存系統(tǒng)的任務(wù)隊(duì)列處理方式和高并發(fā)數(shù)據(jù)輸入輸出處理方式;

      所述數(shù)據(jù)處理方式確定子單元具體用于:

      所述源數(shù)據(jù)庫的變動(dòng)消息類型為插入或更新,確定數(shù)據(jù)的處理方式為所述高并發(fā)數(shù)據(jù)輸入輸出處理方式;

      所述源數(shù)據(jù)庫的變動(dòng)消息類型為刪除,確定數(shù)據(jù)的處理方式為所述緩存系統(tǒng)的任務(wù)隊(duì)列處理方式。

      還需要說明的是,所述數(shù)據(jù)處理子單元在將轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫時(shí),通過關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的下載數(shù)據(jù)命令,將所述轉(zhuǎn)化后的源數(shù)據(jù)庫的變動(dòng)消息發(fā)送給目標(biāo)數(shù)據(jù)庫。

      本實(shí)施例的裝置,可以用于執(zhí)行圖1至圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

      需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

      本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。

      尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

      在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,″計(jì)算機(jī)可讀介質(zhì)″可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(ram),只讀存儲(chǔ)器(rom),可擦除可編輯只讀存儲(chǔ)器(eprom或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(cdrom)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。

      應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。

      在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。

      本發(fā)明實(shí)施例還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序;其中,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上任一項(xiàng)所述的數(shù)據(jù)處理方法。

      圖6為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,可以實(shí)現(xiàn)本發(fā)明圖1-3所示實(shí)施例的流程,如圖6所示,所述電子設(shè)備可以包括:存儲(chǔ)器601、處理器602及存儲(chǔ)在所述存儲(chǔ)器601上并可在所述處理器602上運(yùn)行的計(jì)算機(jī)程序;其中,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上所述的數(shù)據(jù)處理方法。

      所述處理器602對(duì)上述步驟的具體執(zhí)行過程以及所述處理器602通過運(yùn)行可執(zhí)行程序代碼來進(jìn)一步執(zhí)行的步驟,可以參見本發(fā)明圖1-3所示實(shí)施例的描述,在此不再贅述。

      該電子設(shè)備以多種形式存在,包括但不限于:

      (1)服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。

      (2)其他具有數(shù)據(jù)交互功能的電子設(shè)備。

      本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。

      為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各單元/模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。

      通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

      本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序可被處理器執(zhí)行如上所述的數(shù)據(jù)處理方法。

      本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。

      以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1