跨數(shù)據(jù)中心的數(shù)據(jù)同步方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)存儲技術(shù)領(lǐng)域,尤其涉及一種跨數(shù)據(jù)中心的數(shù)據(jù)同步方法和系統(tǒng)。
【背景技術(shù)】
[0002]目前,遍布全世界的互聯(lián)網(wǎng)用戶每天都進(jìn)行多種多樣的交互,隨時都在制造各種各樣的數(shù)據(jù),這些數(shù)據(jù)的數(shù)量是單機(jī)時代數(shù)據(jù)量的數(shù)倍。
[0003]為存儲這些數(shù)據(jù),各互聯(lián)網(wǎng)公司在世界各地建立了龐大的數(shù)據(jù)中心,存儲其全球用戶每天產(chǎn)生的海量數(shù)據(jù),單個數(shù)據(jù)中心的主機(jī)數(shù)量在幾百至數(shù)萬的數(shù)量級不等。對這些數(shù)據(jù)的管理和使用都是巨大的挑戰(zhàn):包括數(shù)據(jù)的讀取和存儲、索引和尋址、配置和管理的接口、數(shù)據(jù)中心之間的數(shù)據(jù)復(fù)制等,其中,對多數(shù)據(jù)中心之間數(shù)據(jù)同步的支持尤為迫切。
[0004]在主備數(shù)據(jù)中心實(shí)現(xiàn)的災(zāi)備模型中,當(dāng)主數(shù)據(jù)中心的數(shù)據(jù)發(fā)生變更,需要及時的同步到備數(shù)據(jù)中心,現(xiàn)有的跨數(shù)據(jù)中心的數(shù)據(jù)同步方法一般要求較高配置的網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)環(huán)境,對于數(shù)據(jù)庫數(shù)據(jù)、文件數(shù)據(jù)等不同數(shù)據(jù)類型采用不同的同步方案,因此存在如下不足:
[0005]1.數(shù)據(jù)同步事件的觸發(fā)機(jī)制不同,導(dǎo)致在同步的過程中無法保證事物一致性;
[0006]2.同步過程無有效監(jiān)控,無法得知進(jìn)度及失敗原因等;
[0007]3.數(shù)據(jù)同步失敗時數(shù)據(jù)的恢復(fù)、合并無有效的工具支持。
[0008]因此,如何設(shè)置出新的跨數(shù)據(jù)中心的數(shù)據(jù)同步方法和系統(tǒng),以克服現(xiàn)有技術(shù)的不足,成為技術(shù)人員需要考慮的問題。
【發(fā)明內(nèi)容】
[0009]本發(fā)明所要解決的技術(shù)問題是提供一種跨數(shù)據(jù)中心的數(shù)據(jù)同步方法和系統(tǒng),有效保證各個數(shù)據(jù)中心數(shù)據(jù)的及時性和一致性。
[0010]為了解決上述技術(shù)問題,本發(fā)明提供了一種跨數(shù)據(jù)中心的數(shù)據(jù)同步方法,所述方法包括:
[0011]主數(shù)據(jù)中心的業(yè)務(wù)過程觸發(fā)數(shù)據(jù)抽取事件,從數(shù)據(jù)源抽取出所述業(yè)務(wù)過程涉及到的變更數(shù)據(jù);
[0012]將所述變更數(shù)據(jù)打包成一個同步單元數(shù)據(jù)包;
[0013]發(fā)送所述同步單元數(shù)據(jù)包到備用數(shù)據(jù)中心;
[0014]備用數(shù)據(jù)中心接收所述同步單元數(shù)據(jù)包;
[0015]解析出所述同步單元數(shù)據(jù)包包括的變更數(shù)據(jù),將所述變更數(shù)據(jù)在一個事物中應(yīng)用或同步到備用數(shù)據(jù)中心的數(shù)據(jù)源。
[0016]另一方面,本發(fā)明還提供了一種數(shù)據(jù)抽取方法,用于將主數(shù)據(jù)中心的數(shù)據(jù)同步到備用數(shù)據(jù)中心,包括:
[0017]主數(shù)據(jù)中心業(yè)務(wù)過程觸發(fā)數(shù)據(jù)抽取事件,從數(shù)據(jù)源抽取出所述業(yè)務(wù)過程涉及到的變更數(shù)據(jù);
[0018]將所述變更數(shù)據(jù)打包成一個同步單元數(shù)據(jù)包;
[0019]發(fā)送所述同步單元數(shù)據(jù)包到備用數(shù)據(jù)中心。
[0020]另一方面,本發(fā)明還提供了一種數(shù)據(jù)同步方法,用于將主數(shù)據(jù)中心的數(shù)據(jù)同步到備用數(shù)據(jù)中心,包括:
[0021]接收主數(shù)據(jù)中心發(fā)送的同步單元數(shù)據(jù)包;
[0022]解析出所述同步單元數(shù)據(jù)包包括的變更數(shù)據(jù),將所述變更數(shù)據(jù)在一個事物中應(yīng)用或同步到備用數(shù)據(jù)中心的數(shù)據(jù)源。
[0023]另一方面,本發(fā)明還提供了一種跨數(shù)據(jù)中心的數(shù)據(jù)同步系統(tǒng),所述系統(tǒng)包括設(shè)置在主數(shù)據(jù)中心的數(shù)據(jù)抽取模塊和主數(shù)據(jù)中心數(shù)據(jù)發(fā)送接收模塊,以及設(shè)置在備用數(shù)據(jù)中心的備用數(shù)據(jù)中心數(shù)據(jù)發(fā)送接收模塊和數(shù)據(jù)同步模塊,其中,
[0024]所述數(shù)據(jù)抽取模塊,用于當(dāng)主數(shù)據(jù)中心的業(yè)務(wù)過程觸發(fā)數(shù)據(jù)抽取事件,從數(shù)據(jù)源抽取出所述業(yè)務(wù)過程涉及到的變更數(shù)據(jù);
[0025]所述主數(shù)據(jù)中心數(shù)據(jù)發(fā)送接收模塊,用于將所述變更數(shù)據(jù)打包成一個同步單元數(shù)據(jù)包,并發(fā)送所述同步單元數(shù)據(jù)包;
[0026]所述備用數(shù)據(jù)中心數(shù)據(jù)發(fā)送接收模塊,用于接收所述同步單元數(shù)據(jù)包;
[0027]所述數(shù)據(jù)同步模塊,用于解析出所述同步單元數(shù)據(jù)包包括的變更數(shù)據(jù),將所述變更數(shù)據(jù)在一個事物中應(yīng)用或同步到備用數(shù)據(jù)中心的數(shù)據(jù)源。
[0028]另一方面,本發(fā)明還提供了一種數(shù)據(jù)抽取裝置,設(shè)置于主數(shù)據(jù)中心,包括:
[0029]數(shù)據(jù)抽取模塊,用于當(dāng)業(yè)務(wù)過程觸發(fā)數(shù)據(jù)抽取事件,從數(shù)據(jù)源抽取出所述業(yè)務(wù)過程涉及到的變更數(shù)據(jù)并打包成一個同步單元;
[0030]主數(shù)據(jù)中心數(shù)據(jù)發(fā)送接收模塊,用于將所述同步單元數(shù)據(jù)包進(jìn)行發(fā)送。
[0031]另一方面,本發(fā)明還提供了一種數(shù)據(jù)同步裝置,設(shè)置于備用數(shù)據(jù)中心,包括:
[0032]備用數(shù)據(jù)中心數(shù)據(jù)發(fā)送接收模塊,用于接收主數(shù)據(jù)中心發(fā)送的同步單元數(shù)據(jù)包;
[0033]數(shù)據(jù)同步模塊,用于解析出所述同步單元數(shù)據(jù)包包括的變更數(shù)據(jù),將所述變更數(shù)據(jù)在一個事物中應(yīng)用或同步到備用數(shù)據(jù)中心的數(shù)據(jù)源。
[0034]本發(fā)明提供的跨數(shù)據(jù)中心的數(shù)據(jù)同步方法和系統(tǒng),能夠很方便的實(shí)施數(shù)據(jù)同步,并有效保證數(shù)據(jù)的及時性和一致性。具體來說,有益效果包括以下幾個方面:
[0035]1、由業(yè)務(wù)過程觸發(fā)數(shù)據(jù)同步,保證業(yè)務(wù)過程中涉及的不同數(shù)據(jù)類型的同步機(jī)制一致性;
[0036]2、將業(yè)務(wù)過程中涉及到的變更數(shù)據(jù)作為同步單元,在一個事物中完成;同步方法實(shí)現(xiàn)簡單;
[0037]3、數(shù)據(jù)同步過程全程監(jiān)控,保證數(shù)據(jù)及時有效到達(dá);
[0038]4、同步失敗時提供自動模式和手動模式的恢復(fù)支持,保證數(shù)據(jù)的安全可用。
【附圖說明】
[0039]圖1為本發(fā)明一個實(shí)施例的數(shù)據(jù)抽取方法流程圖。
[0040]圖2為本發(fā)明一個實(shí)施例的數(shù)據(jù)同步方法流程圖。
[0041]圖3為本發(fā)明一個實(shí)施例的跨數(shù)據(jù)中心的數(shù)據(jù)同步方法流程圖。
[0042]圖4為本發(fā)明一個實(shí)施例的數(shù)據(jù)抽取裝置結(jié)構(gòu)示意圖。
[0043]圖5為本發(fā)明一個實(shí)施例的數(shù)據(jù)同步裝置結(jié)構(gòu)示意圖。
[0044]圖6為本發(fā)明一個實(shí)施例的跨數(shù)據(jù)中心的數(shù)據(jù)同步系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046]本發(fā)明的主要思想是由業(yè)務(wù)過程觸發(fā)數(shù)據(jù)同步,并將業(yè)務(wù)過程中涉及到的變更數(shù)據(jù)作為同步單元,在一個事物中完成。從而保證不同數(shù)據(jù)類型的同步機(jī)制一致性,并且同步失敗時由數(shù)據(jù)恢復(fù)模塊提供自動模式和手動模式的恢復(fù)支持,從而保證數(shù)據(jù)的安全可用。
[0047]參照圖1所示,為本發(fā)明一個實(shí)施例的數(shù)據(jù)抽取方法流程圖,所述方法用于將主數(shù)據(jù)中心的數(shù)據(jù)同步到備用數(shù)據(jù)中心,包括:
[0048]步驟101,業(yè)務(wù)過程觸發(fā)數(shù)據(jù)抽取事件,從數(shù)據(jù)源抽取出所述業(yè)務(wù)過程涉及到的變更數(shù)據(jù);
[0049]應(yīng)用系統(tǒng)是業(yè)務(wù)過程的執(zhí)行體,是事件源。應(yīng)用系統(tǒng)中的業(yè)務(wù)過程觸發(fā)數(shù)據(jù)抽取事件。
[0050]步驟102,將所述變更數(shù)據(jù)打包成一個同步單元數(shù)據(jù)包;
[0051]步驟103,發(fā)送所述同步單元數(shù)據(jù)包到備用數(shù)據(jù)中心。
[0052]在本發(fā)明的一個優(yōu)選實(shí)施例中,步驟102中還包括:將所述同步單元數(shù)據(jù)包做加密和壓縮處理。
[0053]參照圖2所示,為本發(fā)明一個實(shí)施例的數(shù)據(jù)同步方法流程圖,所述方法用于將主數(shù)據(jù)中心的數(shù)據(jù)同步到備用數(shù)據(jù)中心,包括:
[0054]步驟201,接收主數(shù)據(jù)中心發(fā)送的同步單元數(shù)據(jù)包;
[0055]步驟202,解析出所述同步單元數(shù)據(jù)包包括的變更數(shù)據(jù),將所述變更數(shù)據(jù)在一個事物中應(yīng)用或同步到備用數(shù)據(jù)中心的數(shù)據(jù)源。
[0056]在本發(fā)明的一個實(shí)施例中,所述方法還包括:
[0057]步驟203,當(dāng)數(shù)據(jù)同步過程發(fā)生異常則回滾事物,數(shù)據(jù)恢復(fù)模塊首先自動處理同步數(shù)據(jù),如果失敗,則轉(zhuǎn)由人工手動處理。
[0058]軟件領(lǐng)域中事物指的是IT事物,保證軟件過程對數(shù)據(jù)的操作保持原子性一要么都成功,要么都失敗,從而保證數(shù)據(jù)的一致性。這里的事物指的是分布式事物,及多個IT事物保持原子操作。發(fā)生異常是指當(dāng)軟件系統(tǒng)操作數(shù)據(jù)時操作失敗,例如歸檔日志已滿、數(shù)據(jù)違反約束等。所述自動處理,指數(shù)據(jù)恢復(fù)模塊