照topic發(fā)送至分布式消息中間件中做緩存,其中,分布式消息中間件可以為kaf ka(卡夫卡)集群,其中,kafka為高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)。
[0054]309、目的機(jī)房設(shè)備訂閱分布式消息中間件中的同步數(shù)據(jù),并將同步數(shù)據(jù)寫入目的機(jī)房設(shè)備的目的數(shù)據(jù)庫(kù)。
[0055]其中,在步驟309中,目的機(jī)房的接收設(shè)備(通常為:syncreceiver,中文:同步接收設(shè)備)實(shí)時(shí)從分布式消息中間件中獲取經(jīng)過(guò)解析的同步數(shù)據(jù),根據(jù)定制化的配置將數(shù)據(jù)按庫(kù)、表存入目的機(jī)房設(shè)備的不同的數(shù)據(jù)庫(kù)服務(wù)器中。
[0056]上述實(shí)施例提供的數(shù)據(jù)庫(kù)同步方法,通過(guò)使用設(shè)置在至少一個(gè)源機(jī)房設(shè)備與目的機(jī)房設(shè)備之間的同步設(shè)備分別模擬至少一個(gè)源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn),從而實(shí)現(xiàn)了同步設(shè)備與源機(jī)房設(shè)備的數(shù)據(jù)交互,同步設(shè)備通過(guò)同步請(qǐng)求獲取向源機(jī)房設(shè)備請(qǐng)求的同步數(shù)據(jù)后發(fā)送至目的機(jī)房設(shè)備,解決不能將不同類型的源機(jī)房的數(shù)據(jù)庫(kù)上的數(shù)據(jù)同步到目的機(jī)房的數(shù)據(jù)庫(kù)的問(wèn)題。
[0057]本發(fā)明的實(shí)施例提供一種同步設(shè)備4,應(yīng)用于圖1所示的系統(tǒng),用于執(zhí)行上述實(shí)施例提供的數(shù)據(jù)庫(kù)同步方法,參照?qǐng)D4所示,包括:
[0058]處理單元41,用于模擬源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn);
[0059]發(fā)送單元42,用于向源機(jī)房設(shè)備發(fā)送同步請(qǐng)求;
[0060]接收單元43,用于接收由源機(jī)房設(shè)備根據(jù)同步請(qǐng)求發(fā)送的同步數(shù)據(jù);
[0061 ]發(fā)送單元41,還用于將同步數(shù)據(jù)發(fā)送至目的機(jī)房設(shè)備。
[0062]一種優(yōu)選的實(shí)施例為,處理單元41具體用于根據(jù)源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn)協(xié)議與源機(jī)房設(shè)備建立同步管道。
[0063]可選的,發(fā)送單元42具體用于通過(guò)數(shù)據(jù)庫(kù)私有協(xié)議向所述源機(jī)房設(shè)備發(fā)送所述同步請(qǐng)求,其中,同步請(qǐng)求包含數(shù)據(jù)庫(kù)日志文件名和對(duì)應(yīng)數(shù)據(jù)庫(kù)日志文件的起始位置(英文名稱:posit1n)信息,其中,數(shù)據(jù)庫(kù)日志文件名和對(duì)應(yīng)數(shù)據(jù)庫(kù)日志文件的起始位置信息為同步設(shè)備從源機(jī)房設(shè)備歷次發(fā)送的同步數(shù)據(jù)中獲取,特別地,在MySQL數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)日志文件名為binlog文件名。
[0064]可選的,所述處理單元41還用于:解析同步數(shù)據(jù);配置過(guò)濾參數(shù),具體的,過(guò)濾參數(shù)包括對(duì)庫(kù)和表進(jìn)行過(guò)濾的參數(shù);按照過(guò)濾參數(shù)對(duì)解析后的同步數(shù)據(jù)進(jìn)行過(guò)濾,并在過(guò)濾后的同步數(shù)據(jù)中增加源數(shù)據(jù)庫(kù)信息,其中,所述源數(shù)據(jù)庫(kù)信息包括源數(shù)據(jù)庫(kù)身份標(biāo)識(shí)IP、源數(shù)據(jù)庫(kù)端口號(hào)、源數(shù)據(jù)庫(kù)描述信息,所述過(guò)濾包括對(duì)庫(kù)和表的過(guò)濾。
[0065]需要說(shuō)明的是,本實(shí)施例中的接收單元43可以為同步設(shè)備上具備接收功能的接口電路,如接收機(jī)或信息接收接口;發(fā)送單元42可以為同步設(shè)備上具備發(fā)射功能的接口電路,如發(fā)射機(jī)或信息發(fā)送接口。處理單元41可以為單獨(dú)設(shè)立的處理器,也可以集成在同步設(shè)備的某一個(gè)處理器中實(shí)現(xiàn),此外,也可以以程序代碼的形式存儲(chǔ)于同步設(shè)備的存儲(chǔ)器中,由同步設(shè)備的某一個(gè)處理器調(diào)用并執(zhí)行以上處理單元41的功能。這里所述的處理器可以是一個(gè)中央處理器(英文全稱:
[0066]central processing unit,英文簡(jiǎn)稱:CPU),或者是特定集成電路(英文全稱:applicat1n specific integrated circuit,英文簡(jiǎn)稱:ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0067]上述實(shí)施例提供的數(shù)據(jù)庫(kù)同步設(shè)備,通過(guò)使用設(shè)置在至少一個(gè)源機(jī)房設(shè)備與目的機(jī)房設(shè)備之間的同步設(shè)備分別模擬至少一個(gè)源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn),從而實(shí)現(xiàn)了同步設(shè)備與源機(jī)房設(shè)備的數(shù)據(jù)交互,同步設(shè)備通過(guò)同步請(qǐng)求獲取向源機(jī)房設(shè)備請(qǐng)求的同步數(shù)據(jù)后發(fā)送至目的機(jī)房設(shè)備,解決不能將不同類型的源機(jī)房的數(shù)據(jù)庫(kù)上的數(shù)據(jù)同步到目的機(jī)房的數(shù)據(jù)庫(kù)的問(wèn)題。
[0068]此外,還提供一種計(jì)算可讀媒體(或介質(zhì)),包括在被執(zhí)行時(shí)進(jìn)行以下操作的計(jì)算機(jī)可讀指令:執(zhí)行上述實(shí)施例中的方法的201至204、301至307的操作。
[0069]另外,還提供一種計(jì)算機(jī)程序產(chǎn)品,包括上述計(jì)算機(jī)可讀介質(zhì)。
[0070]應(yīng)理解,在本發(fā)明的各種實(shí)施例中,上述各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。
[0071]本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
[0072]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0073]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、設(shè)備和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0074]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0075]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
[0076]所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(英文簡(jiǎn)稱:R0M,英文全稱:read-onlymemory)、隨機(jī)存取存儲(chǔ)器(英文簡(jiǎn)稱:RAM,英文全稱:random access memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0077]以上所述,僅為本發(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)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)庫(kù)同步方法,其特征在于,應(yīng)用于至少一個(gè)源機(jī)房設(shè)備與目的機(jī)房設(shè)備之間的同步設(shè)備,包括: 所述同步設(shè)備模擬所述源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn); 所述同步設(shè)備向所述源機(jī)房設(shè)備發(fā)送同步請(qǐng)求; 所述同步設(shè)備接收由所述源機(jī)房設(shè)備根據(jù)所述同步請(qǐng)求發(fā)送的同步數(shù)據(jù); 所述同步設(shè)備將所述同步數(shù)據(jù)發(fā)送至所述目的機(jī)房設(shè)備。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步設(shè)備模擬所述源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn),包括: 所述同步設(shè)備根據(jù)所述源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn)協(xié)議與所述源機(jī)房設(shè)備建立同步管道。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步設(shè)備向所述源機(jī)房設(shè)備發(fā)送同步請(qǐng)求,包括: 所述同步設(shè)備通過(guò)數(shù)據(jù)庫(kù)私有協(xié)議向所述源機(jī)房設(shè)備發(fā)送所述同步請(qǐng)求。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步請(qǐng)求包括: 數(shù)據(jù)庫(kù)日志文件名和對(duì)應(yīng)數(shù)據(jù)庫(kù)日志文件的起始位置信息,其中,所述數(shù)據(jù)庫(kù)日志文件名和所述起始位置信息為所述同步設(shè)備從所述源機(jī)房設(shè)備歷次發(fā)送的同步數(shù)據(jù)中獲取。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步設(shè)備在將所述同步數(shù)據(jù)發(fā)送至所述目的機(jī)房設(shè)備之前,還包括: 所述同步設(shè)備解析所述同步數(shù)據(jù); 所述同步設(shè)備根據(jù)配置,在解析后的同步數(shù)據(jù)中過(guò)濾出所述配置指示需要同步的整庫(kù)和/或表,并在過(guò)濾后的同步數(shù)據(jù)中增加源數(shù)據(jù)庫(kù)信息,其中,所述源數(shù)據(jù)庫(kù)信息包括源數(shù)據(jù)庫(kù)IP地址、源數(shù)據(jù)庫(kù)端口號(hào)、源數(shù)據(jù)庫(kù)描述信息。6.—種同步設(shè)備,其特征在于,應(yīng)用于至少一個(gè)源機(jī)房設(shè)備與目的機(jī)房設(shè)備之間,包括: 處理單元,用于模擬所述源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn); 發(fā)送單元,用于向所述源機(jī)房設(shè)備發(fā)送同步請(qǐng)求; 接收單元,用于接收由所述源機(jī)房設(shè)備根據(jù)所述同步請(qǐng)求發(fā)送的同步數(shù)據(jù); 所述發(fā)送單元,用于將所述同步數(shù)據(jù)發(fā)送至所述目的機(jī)房設(shè)備。7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于, 所述處理單元具體用于根據(jù)所述源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn)協(xié)議與所述源機(jī)房設(shè)備建立同步管道。8.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于, 所述發(fā)送單元具體用于通過(guò)數(shù)據(jù)庫(kù)私有協(xié)議向所述源機(jī)房設(shè)備發(fā)送所述同步請(qǐng)求。9.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述處理單元還用于解析所述同步數(shù)據(jù);根據(jù)配置,在解析后的同步數(shù)據(jù)中過(guò)濾出所述配置指示需要同步的整庫(kù)和/或表,并在過(guò)濾后的同步數(shù)據(jù)中增加源數(shù)據(jù)庫(kù)信息,所述源數(shù)據(jù)庫(kù)信息包括源數(shù)據(jù)庫(kù)IP地址、源數(shù)據(jù)庫(kù)端口號(hào)、源數(shù)據(jù)庫(kù)描述信息。10.一種數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,包括:至少一個(gè)源機(jī)房設(shè)備,目的機(jī)房設(shè)備和同步設(shè)備,其中,所述目的機(jī)房設(shè)備通過(guò)所述同步設(shè)備連接至所述至少一個(gè)源機(jī)房設(shè)備;所述同步設(shè)備為權(quán)利要求6-9任一項(xiàng)所述的同步設(shè)備。
【專利摘要】本發(fā)明公開(kāi)了一種數(shù)據(jù)庫(kù)同步方法、同步設(shè)備及系統(tǒng),應(yīng)用于數(shù)據(jù)庫(kù)領(lǐng)域,用于解決不能將不同類型的數(shù)據(jù)庫(kù)上的數(shù)據(jù)同步到目的數(shù)據(jù)庫(kù)的問(wèn)題。該方法包括:同步設(shè)備模擬源機(jī)房設(shè)備的數(shù)據(jù)庫(kù)從屬節(jié)點(diǎn);同步設(shè)備向源機(jī)房設(shè)備發(fā)送同步請(qǐng)求;同步設(shè)備接收由源機(jī)房設(shè)備根據(jù)同步請(qǐng)求發(fā)送的同步數(shù)據(jù);同步設(shè)備將同步數(shù)據(jù)發(fā)送至目的機(jī)房設(shè)備。本發(fā)明的實(shí)施例主要應(yīng)用于至少一個(gè)源機(jī)房設(shè)備與目的機(jī)房設(shè)備之間。
【IPC分類】G06F17/30
【公開(kāi)號(hào)】CN105574109
【申請(qǐng)?zhí)枴緾N201510925640
【發(fā)明人】吳連朋, 王海超, 于芝濤
【申請(qǐng)人】青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司
【公開(kāi)日】2016年5月11日
【申請(qǐng)日】2015年12月10日