本發(fā)明涉及大數(shù)據(jù),尤其涉及一種數(shù)據(jù)同步的方法和裝置。
背景技術(shù):
1、現(xiàn)有技術(shù)中,通常使用離線(xiàn)抽取任務(wù)或?qū)崟r(shí)抽取任務(wù)的方式將存儲(chǔ)在mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步到大數(shù)據(jù)平臺(tái),其中,每個(gè)離線(xiàn)抽取任務(wù)用于抽取mysql數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)表,通過(guò)執(zhí)行全部抽取任務(wù)來(lái)對(duì)數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)表進(jìn)行同步。但是,數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)表并不是每天都在更新,對(duì)于沒(méi)有更新的數(shù)據(jù)表來(lái)說(shuō),執(zhí)行抽取任務(wù)的過(guò)程實(shí)際是對(duì)計(jì)算和儲(chǔ)存資源的浪費(fèi),無(wú)效的抽取任務(wù)造成了極大的資源浪費(fèi)。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)同步的方法和裝置,將同步頻率或數(shù)據(jù)量小于預(yù)設(shè)閾值的數(shù)據(jù)表預(yù)先注冊(cè)到預(yù)設(shè)注冊(cè)庫(kù)中,通過(guò)將同步任務(wù)中待抽取數(shù)據(jù)表的目標(biāo)注冊(cè)信息與預(yù)設(shè)注冊(cè)庫(kù)中的注冊(cè)信息進(jìn)行比對(duì),實(shí)現(xiàn)對(duì)待抽取數(shù)據(jù)表的初步篩選。進(jìn)一步根據(jù)存在于預(yù)設(shè)注冊(cè)庫(kù)的目標(biāo)注冊(cè)信息的處理狀態(tài)確定是否執(zhí)行數(shù)據(jù)同步任務(wù),從而達(dá)到只針對(duì)更新的數(shù)據(jù)庫(kù)表進(jìn)行同步的目的,有效減少了無(wú)效的數(shù)據(jù)表抽取,減少資源浪費(fèi)。
2、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種數(shù)據(jù)同步的方法。
3、本發(fā)明實(shí)施例的一種數(shù)據(jù)同步的方法包括:獲取數(shù)據(jù)同步任務(wù)、以及與所述數(shù)據(jù)同步任務(wù)對(duì)應(yīng)的待抽取數(shù)據(jù)表;確定所述待抽取數(shù)據(jù)表對(duì)應(yīng)的目標(biāo)注冊(cè)信息是否存在于預(yù)設(shè)注冊(cè)庫(kù)中;所述預(yù)設(shè)注冊(cè)庫(kù)包括同步頻率或數(shù)據(jù)量小于預(yù)設(shè)閾值的多個(gè)數(shù)據(jù)表分別對(duì)應(yīng)的注冊(cè)信息;在所述目標(biāo)注冊(cè)信息存在于所述預(yù)設(shè)注冊(cè)庫(kù)的情況下,確定所述目標(biāo)注冊(cè)信息的處理狀態(tài);根據(jù)所述處理狀態(tài),確定是否執(zhí)行所述數(shù)據(jù)同步任務(wù)。
4、可選地,所述確定所述目標(biāo)注冊(cè)信息的處理狀態(tài),包括:獲取所述目標(biāo)注冊(cè)信息的最后更新時(shí)間;在所述最后更新時(shí)間滿(mǎn)足當(dāng)前預(yù)設(shè)周期的情況下,確定所述目標(biāo)注冊(cè)信息的處理狀態(tài)為待處理。
5、可選地,所述獲取所述目標(biāo)注冊(cè)信息的最后更新時(shí)間,包括:確定所述目標(biāo)注冊(cè)信息中的變更數(shù)據(jù)以及插入數(shù)據(jù);以所述變更數(shù)據(jù)的變更時(shí)間和所述插入數(shù)據(jù)的插入時(shí)間中的最新時(shí)間,作為所述目標(biāo)注冊(cè)信息的最后更新時(shí)間。
6、可選地,所述確定所述目標(biāo)注冊(cè)信息中的變更數(shù)據(jù)以及插入數(shù)據(jù),包括:采用定時(shí)輪詢(xún)的方式,按照所述預(yù)設(shè)周期從關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)獲取所述目標(biāo)注冊(cè)信息中的變更數(shù)據(jù)以及插入數(shù)據(jù)。
7、可選地,該方法還包括:在預(yù)設(shè)注冊(cè)庫(kù)中不存在與所述待抽取數(shù)據(jù)表對(duì)應(yīng)的目標(biāo)注冊(cè)信息的情況下,調(diào)用分布式集群中的執(zhí)行節(jié)點(diǎn)執(zhí)行所述數(shù)據(jù)同步任務(wù)。
8、可選地,所述獲取數(shù)據(jù)同步任務(wù),包括:利用數(shù)據(jù)集成工具,創(chuàng)建用于獲取所述數(shù)據(jù)同步任務(wù)的執(zhí)行腳本,并利用所述執(zhí)行腳本獲取所述數(shù)據(jù)同步任務(wù)。
9、可選地,在所述執(zhí)行所述數(shù)據(jù)同步任務(wù)之后,還包括:將所述目標(biāo)注冊(cè)信息的處理狀態(tài)更改為已處理。
10、可選地,所述根據(jù)所述處理狀態(tài),確定是否執(zhí)行所述數(shù)據(jù)同步任務(wù),包括:在所述處理狀態(tài)為已處理的情況下,忽略所述數(shù)據(jù)同步任務(wù);在所述處理狀態(tài)為待處理的情況下,執(zhí)行所述數(shù)據(jù)同步任務(wù)。
11、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的又一方面,提供了一種數(shù)據(jù)同步的裝置。
12、本發(fā)明實(shí)施例的一種數(shù)據(jù)同步的裝置包括:獲取模塊,用于獲取數(shù)據(jù)同步任務(wù)、以及與所述數(shù)據(jù)同步任務(wù)對(duì)應(yīng)的待抽取數(shù)據(jù)表;確定模塊,用于確定所述待抽取數(shù)據(jù)表對(duì)應(yīng)的目標(biāo)注冊(cè)信息是否存在于預(yù)設(shè)注冊(cè)庫(kù)中;所述預(yù)設(shè)注冊(cè)庫(kù)包括同步頻率或數(shù)據(jù)量小于預(yù)設(shè)閾值的多個(gè)數(shù)據(jù)表分別對(duì)應(yīng)的注冊(cè)信息;執(zhí)行模塊,用于在所述目標(biāo)注冊(cè)信息存在于所述預(yù)設(shè)注冊(cè)庫(kù)的情況下,確定所述目標(biāo)注冊(cè)信息的處理狀態(tài);根據(jù)所述處理狀態(tài),確定是否執(zhí)行所述數(shù)據(jù)同步任務(wù)。
13、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的又一方面,提供了一種用于數(shù)據(jù)同步的電子設(shè)備。
14、本發(fā)明實(shí)施例的一種數(shù)據(jù)同步的電子設(shè)備包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本發(fā)明實(shí)施例的一種數(shù)據(jù)同步的方法。
15、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的再一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
16、本發(fā)明實(shí)施例的一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明實(shí)施例的一種數(shù)據(jù)同步的方法。
17、上述發(fā)明中的一個(gè)實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:將同步頻率或數(shù)據(jù)量小于預(yù)設(shè)閾值的數(shù)據(jù)表預(yù)先注冊(cè)到預(yù)設(shè)注冊(cè)庫(kù)中,通過(guò)將同步任務(wù)中待抽取數(shù)據(jù)表的目標(biāo)注冊(cè)信息與預(yù)設(shè)注冊(cè)庫(kù)中的注冊(cè)信息進(jìn)行比對(duì),實(shí)現(xiàn)對(duì)待抽取數(shù)據(jù)表的初步篩選。進(jìn)一步根據(jù)存在于預(yù)設(shè)注冊(cè)庫(kù)的目標(biāo)注冊(cè)信息的處理狀態(tài)確定是否執(zhí)行數(shù)據(jù)同步任務(wù),從而達(dá)到只針對(duì)更新的數(shù)據(jù)庫(kù)表進(jìn)行同步的目的,有效減少了無(wú)效的數(shù)據(jù)表抽取,減少資源浪費(fèi)。
18、上述的非慣用的可選方式所具有的進(jìn)一步效果將在下文中結(jié)合具體實(shí)施方式加以說(shuō)明。
1.一種數(shù)據(jù)同步的方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述目標(biāo)注冊(cè)信息的處理狀態(tài),包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取所述目標(biāo)注冊(cè)信息的最后更新時(shí)間,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定所述目標(biāo)注冊(cè)信息中的變更數(shù)據(jù)以及插入數(shù)據(jù),包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:在預(yù)設(shè)注冊(cè)庫(kù)中不存在與所述待抽取數(shù)據(jù)表對(duì)應(yīng)的目標(biāo)注冊(cè)信息的情況下,調(diào)用分布式集群中的執(zhí)行節(jié)點(diǎn)執(zhí)行所述數(shù)據(jù)同步任務(wù)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取數(shù)據(jù)同步任務(wù),包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述執(zhí)行所述數(shù)據(jù)同步任務(wù)之后,還包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述處理狀態(tài),確定是否執(zhí)行所述數(shù)據(jù)同步任務(wù),包括:
9.一種數(shù)據(jù)同步的裝置,其特征在于,包括:
10.一種用于數(shù)據(jù)同步的電子設(shè)備,其特征在于,包括:
11.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8中任一所述的方法。