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

一種數(shù)據(jù)同步系統(tǒng)和方法

文檔序號:9375750閱讀:507來源:國知局
一種數(shù)據(jù)同步系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)同步系統(tǒng)和方法。
【背景技術(shù)】
[0002]隨著業(yè)務(wù)與用戶規(guī)模的不斷增加,傳統(tǒng)的單一互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet DataCenter, IDC)機(jī)房已不能滿足企業(yè)的發(fā)展需求,跨地域的互聯(lián)網(wǎng)數(shù)據(jù)中心建設(shè)由此產(chǎn)生,多活的異地數(shù)據(jù)中心需要有數(shù)據(jù)實(shí)時性和一致性的解決方案,而業(yè)界現(xiàn)有方案(例如SQLServer數(shù)據(jù)庫自身的數(shù)據(jù)復(fù)制方案、MySQL數(shù)據(jù)同步方案等),沒法滿足需求。
[0003]SQL Server 2008數(shù)據(jù)庫復(fù)制是通過發(fā)布/訂閱的機(jī)制進(jìn)行多臺服務(wù)器之間的數(shù)據(jù)同步,被廣泛應(yīng)用于數(shù)據(jù)庫的同步備份。這里的同步備份指的是備份服務(wù)器與主服務(wù)器進(jìn)行實(shí)時數(shù)據(jù)同步,正常情況下只使用主數(shù)據(jù)庫服務(wù)器,備份服務(wù)器只在主服務(wù)器出現(xiàn)故障時投入使用。它是一種優(yōu)于文件備份的數(shù)據(jù)庫備份解決方案,采用基于快照的事務(wù)復(fù)制,主數(shù)據(jù)庫服務(wù)器生成快照,備份庫服務(wù)器讀取并加載該快照,然后不停地從主數(shù)據(jù)庫服務(wù)器復(fù)制事務(wù)日志。但是,基于快照的事務(wù)復(fù)制已不能滿足跨互聯(lián)網(wǎng)數(shù)據(jù)中心進(jìn)行數(shù)據(jù)同步時高性能、低延時需求。另外,現(xiàn)有方案復(fù)制時,數(shù)據(jù)庫表都必須有主鍵,沒有建主鍵不能同步,但現(xiàn)實(shí)中有高速寫表的應(yīng)用場景,這類場景不需要主鍵(可以使數(shù)據(jù)插入更快),可見現(xiàn)有方案并不能適應(yīng)這類場景。
[0004]因此,需要一種高性能、低延時的跨互聯(lián)網(wǎng)數(shù)據(jù)中心進(jìn)行數(shù)據(jù)同步的方案。

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

[0005]為此,本發(fā)明提供一種新的數(shù)據(jù)同步系統(tǒng)和方法,以力圖解決或者至少緩解上面存在的冋題。
[0006]根據(jù)本發(fā)明的一個方面,提供一種數(shù)據(jù)同步系統(tǒng),適于將源數(shù)據(jù)庫中的數(shù)據(jù)同步到目標(biāo)數(shù)據(jù)庫,該系統(tǒng)包括消息隊(duì)列生產(chǎn)者服務(wù)器、第一消息隊(duì)列服務(wù)器、第二消息隊(duì)列服務(wù)器和消息隊(duì)列消費(fèi)者服務(wù)器,其中:消息隊(duì)列生產(chǎn)者服務(wù)器包括:數(shù)據(jù)捕獲單元,適于根據(jù)預(yù)定的捕獲策略捕獲源數(shù)據(jù)庫的變化數(shù)據(jù);壓縮單元,適于對捕獲的變化數(shù)據(jù)進(jìn)行編碼和壓縮;寫消息隊(duì)列單元,適于將編碼和壓縮后的變化數(shù)據(jù)作為消息寫入到第一消息隊(duì)列服務(wù)器中的第一消息隊(duì)列;消息隊(duì)列服務(wù)器適于將第一消息隊(duì)列中的消息發(fā)送給第二消息隊(duì)列服務(wù)器;第二消息隊(duì)列服務(wù)器適于將接收到的消息寫入到第二消息隊(duì)列服務(wù)器中的第二消息隊(duì)列;消息隊(duì)列消費(fèi)者服務(wù)器包括:讀消息隊(duì)列單元,適于從第二消息隊(duì)列中讀取消息,得到編碼和壓縮后的變化數(shù)據(jù);解壓縮單元,適于對編碼和壓縮后的變化數(shù)據(jù)進(jìn)行解壓縮及解碼;數(shù)據(jù)更新單元,適于根據(jù)解壓縮和解碼后的變化數(shù)據(jù)對目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行更新。
[0007]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步系統(tǒng)中,捕獲策略包括:數(shù)據(jù)庫觸發(fā)器、變更數(shù)據(jù)捕獲服務(wù)和應(yīng)用程序級捕獲。
[0008]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步系統(tǒng)中,消息隊(duì)列生產(chǎn)者服務(wù)器還包括捕獲策略分配單元,捕獲策略分配單元適于:為數(shù)據(jù)變化源頭已知的數(shù)據(jù)分配應(yīng)用程序級的捕獲策略;為數(shù)據(jù)變化源頭未知且實(shí)時性要求高的數(shù)據(jù)分配數(shù)據(jù)庫觸發(fā)器的捕獲策略;以及為數(shù)據(jù)變化源頭未知且實(shí)時性要求低的數(shù)據(jù)分配變更數(shù)據(jù)捕獲服務(wù)的捕獲策略。
[0009]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步系統(tǒng)中,壓縮單元還適于:判斷變化數(shù)據(jù)的大小是否大于第一閾值;如果變化數(shù)據(jù)的大小超過第一閾值,則對變化數(shù)據(jù)進(jìn)行編碼和壓縮,否則不對變化數(shù)據(jù)進(jìn)行編碼和壓縮。
[0010]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步系統(tǒng)中,第一閾值為4kb-10kb。
[0011]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步系統(tǒng)中,壓縮單元還適于:當(dāng)消息隊(duì)列生產(chǎn)者服務(wù)器的網(wǎng)絡(luò)帶寬占用比例小于或等于第二閾值時,通過Gzip程序?qū)ψ兓瘮?shù)據(jù)進(jìn)行編碼和壓縮;當(dāng)消息隊(duì)列生產(chǎn)者服務(wù)器的網(wǎng)絡(luò)帶寬占用比例大于第二閾值時,通過7-zip程序?qū)ψ兓瘮?shù)據(jù)進(jìn)行編碼和壓縮。
[0012]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步系統(tǒng)中,第一消息隊(duì)列服務(wù)器和第二消息隊(duì)列服務(wù)器之間具有多條通信鏈路,第一消息隊(duì)列服務(wù)器還適于根據(jù)預(yù)定策略從多條通信鏈路中選擇一條或者一條以上的鏈路進(jìn)行消息的傳輸。
[0013]根據(jù)本發(fā)明的一個方面,提供一種數(shù)據(jù)同步方法,適于將源數(shù)據(jù)庫中的數(shù)據(jù)同步到目標(biāo)數(shù)據(jù)庫,該方法包括:根據(jù)預(yù)定的捕獲策略捕獲源數(shù)據(jù)庫的變化數(shù)據(jù);對捕獲的變化數(shù)據(jù)進(jìn)行編碼和壓縮;將編碼和壓縮后的變化數(shù)據(jù)作為消息寫入到第一消息隊(duì)列;將第一消息隊(duì)列中的消息發(fā)送給第二消息隊(duì)列;從第二消息隊(duì)列中讀取信息,得到編碼和壓縮后的變化數(shù)據(jù);對編碼和壓縮后的變化數(shù)據(jù)進(jìn)行解壓縮及解碼;根據(jù)解壓縮和解碼后的變化數(shù)據(jù)對目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行更新。
[0014]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步方法中,捕獲策略包括:數(shù)據(jù)庫觸發(fā)器、變更數(shù)據(jù)捕獲服務(wù)和應(yīng)用程序級捕獲。
[0015]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步方法中,根據(jù)預(yù)定的捕獲策略捕獲源數(shù)據(jù)庫的變化數(shù)據(jù)的步驟包括:為數(shù)據(jù)變化源頭已知的數(shù)據(jù)分配應(yīng)用程序級的捕獲策略;為數(shù)據(jù)變化源頭未知且實(shí)時性要求高的數(shù)據(jù)分配數(shù)據(jù)庫觸發(fā)器的捕獲策略;以及為數(shù)據(jù)變化源頭未知且實(shí)時性要求低的數(shù)據(jù)分配變更數(shù)據(jù)捕獲服務(wù)的捕獲策略。
[0016]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步方法中,對捕獲的變化數(shù)據(jù)進(jìn)行編碼和壓縮的步驟包括:判斷變化數(shù)據(jù)的大小是否大于第一閾值;如果變化數(shù)據(jù)的大小超過第一閾值,則對變化數(shù)據(jù)進(jìn)行編碼和壓縮,否則不對變化數(shù)據(jù)進(jìn)行編碼和壓縮。
[0017]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步方法中,第一閾值為4kb_10kb。
[0018]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步方法中,對捕獲的變化數(shù)據(jù)進(jìn)行編碼和壓縮的步驟還包括:當(dāng)網(wǎng)絡(luò)帶寬占用比例小于或等于第二閾值時,通過Gzip程序?qū)ψ兓瘮?shù)據(jù)進(jìn)行編碼和壓縮;當(dāng)網(wǎng)絡(luò)帶寬占用比例大于第二閾值時,通過7-zip程序?qū)ψ兓瘮?shù)據(jù)進(jìn)行編碼和壓縮。
[0019]可選地,在根據(jù)本發(fā)明的數(shù)據(jù)同步方法中,第一消息隊(duì)列和第二消息隊(duì)列之間具有多條通信鏈路,第一消息隊(duì)列還適于根據(jù)預(yù)定策略從多條通信鏈路中選擇一條或者一條以上的鏈路進(jìn)行消息的傳輸。
[0020]根據(jù)本發(fā)明實(shí)施例的一個技術(shù)方案,在進(jìn)行數(shù)據(jù)庫同步時,引入了基于消息隊(duì)列的同步技術(shù),能夠滿足跨IDC數(shù)據(jù)同步時高性能、低延時需求。
[0021]根據(jù)本發(fā)明實(shí)施例的其他技術(shù)方案,面對不同類型的源數(shù)據(jù)庫數(shù)據(jù),采用與其適應(yīng)的數(shù)據(jù)捕獲策略,數(shù)據(jù)捕獲方式靈活多樣,數(shù)據(jù)捕獲速度得到了提高。
[0022]根據(jù)本發(fā)明實(shí)施例的其他技術(shù)方案,將變化數(shù)據(jù)進(jìn)行壓縮來減少傳送數(shù)據(jù)的大小,能夠獲得更好的傳輸速度和性能,另外還可以根據(jù)變化數(shù)據(jù)的大小來確定是否進(jìn)行所述壓縮,以及根據(jù)網(wǎng)絡(luò)帶寬占用比例來確定所采用的壓縮程序,使得數(shù)據(jù)壓縮方案更加適應(yīng)于系統(tǒng)工作狀況。
[0023]根據(jù)本發(fā)明實(shí)施例的其他技術(shù)方案,還可以配置消息隊(duì)列的路由分發(fā),實(shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)膬?yōu)先策略和冗余策略,在某路電信級骨干網(wǎng)絡(luò)延時較高或故障時,實(shí)現(xiàn)實(shí)時切換,選擇最佳通信鏈路,實(shí)現(xiàn)了高可用。
【附圖說明】
[0024]為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1