亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法

文檔序號:9330384閱讀:677來源:國知局
網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)容災(zāi)技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)應(yīng)用的發(fā)展,互聯(lián)網(wǎng)的使用人數(shù)越來越廣,用戶大量的數(shù)據(jù)都保存在互聯(lián)網(wǎng)的服務(wù)器上,這一切都對運行在互聯(lián)網(wǎng)上的應(yīng)用的可用性和數(shù)據(jù)存儲的可靠性提出了更嚴格的要求,因為一個應(yīng)用的故障有可能造成不可估量的損失,而數(shù)據(jù)的丟失更是會有致命的后果。
[0003]例如,2011年4月21日早晨,亞馬遜旗下的EC2及RDS服務(wù)就出現(xiàn)了網(wǎng)絡(luò)延遲和連接錯誤等問題,導(dǎo)致Foursquare、Quora、Reddit Paper.1i等網(wǎng)站出現(xiàn)間歇性無法訪問。放在EC2上的大型網(wǎng)站有很多,有國外媒體稱半個美國互聯(lián)網(wǎng)受到了影響,此次出現(xiàn)故障的是位于北弗吉尼亞州的數(shù)據(jù)中心。再例如,1993年,美國世貿(mào)中心大樓發(fā)生爆炸,爆炸前,約有350家企業(yè)在該樓中工作,I年后,再回到世貿(mào)大樓的公司變成了 150家,有200家企業(yè)由于無法存取重要的信息系統(tǒng)而倒閉、消失?!?.11”事件中,由于有1993年爆炸的前車之鑒,在世貿(mào)大樓內(nèi)的一些公司建起了自己的容災(zāi)系統(tǒng),因此,當災(zāi)難再次降臨時,有一批公司仍可及時地通過自己的容災(zāi)系統(tǒng)很快恢復(fù)營業(yè)。
[0004]所以基于數(shù)據(jù)備份的數(shù)據(jù)容災(zāi)技術(shù)近些年來發(fā)展非常迅猛,常見的數(shù)據(jù)容災(zāi)備份方式包括兩種:
[0005]—是主機型,通過網(wǎng)絡(luò)將應(yīng)用數(shù)據(jù)從主節(jié)點傳輸?shù)絺涔?jié)點;二是存儲型,使用存儲專用軟件,無須經(jīng)過服務(wù)器,直接在主機和備機使用的存儲之間直接進行數(shù)據(jù)鏡像,這種方式一般是高端存儲才能提供的功能。
[0006]第一種方式無需專用的高端存儲,所以在互聯(lián)網(wǎng)或者中小企業(yè)受到了廣泛的歡迎。而主機型網(wǎng)絡(luò)容災(zāi)備份又分基于應(yīng)用的或者基于磁盤的。基于應(yīng)用的數(shù)據(jù)容災(zāi)指的是通過某一特定應(yīng)用的專門容災(zāi)軟件,將應(yīng)用的數(shù)據(jù)(比如數(shù)據(jù)庫的日志系統(tǒng))截獲并發(fā)送到遠端的備機,然后在遠端的備機按照應(yīng)用的邏輯將數(shù)據(jù)恢復(fù),這種容災(zāi)軟件通常只針對特定的應(yīng)用,適用范圍較狹窄;而基于磁盤的數(shù)據(jù)容災(zāi)指的是將主機的磁盤的寫操作截獲,通過網(wǎng)絡(luò)同步到備機,并更新到磁盤上,通過這種方式,讓主備機磁盤數(shù)據(jù)塊保持一致,這種方式能夠適用于所有應(yīng)用,所以是目前使用得最廣的一種數(shù)據(jù)容災(zāi)備份方式。
[0007]作為基于磁盤的數(shù)據(jù)容災(zāi)備份,主備機之間通常使用廣域網(wǎng)的網(wǎng)絡(luò)進行數(shù)據(jù)傳輸,而廣域網(wǎng)的帶寬一般都比較小,所以為了保證容災(zāi)的可靠性,主備機之間數(shù)據(jù)傳輸必須遵循一定的規(guī)則,使得在主機進行定期的計劃內(nèi)維護時或者在主機發(fā)生故障(計劃外)時,備機能夠迅速的接管應(yīng)用和應(yīng)用數(shù)據(jù),從而使用戶的訪問不受計劃內(nèi)或計劃外停機的干擾。這些規(guī)則包括:
[0008]數(shù)據(jù)順序一致性:也就是備機寫入數(shù)據(jù)嚴格按照主機的數(shù)據(jù)寫入順序??紤]到廣域網(wǎng)內(nèi)數(shù)據(jù)傳輸帶寬較小的情況,主備機之間通常采用異步的方式進行傳輸。保證寫入順序即能保證備機的數(shù)據(jù)始終處于主機的某一個時間點的狀態(tài)。在這種狀態(tài)下,通常在設(shè)備上的文件系統(tǒng)或者數(shù)據(jù)庫都是可以正常加載和訪問的。這樣就能保證在主機發(fā)生故障時,備機隨時都可以接管應(yīng)用,使應(yīng)用不中斷。
[0009]數(shù)據(jù)完整性:也就是說主機和備機之間數(shù)據(jù)差異必須始終是可以追溯的,否則任何一次計劃外停機切換就會導(dǎo)致一次數(shù)據(jù)完全同步來保證初始數(shù)據(jù)一致,這在廣域網(wǎng)下是不可以接受的。
[0010]為此,大部分通過磁盤網(wǎng)絡(luò)鏡像的數(shù)據(jù)容災(zāi)軟件采用一個隊列來保存磁盤的寫入記錄,它們通過截獲磁盤的寫記錄,將記錄按照順序保存在一個緩沖隊列里,然后將緩沖隊列里的內(nèi)容依次發(fā)送給遠端服務(wù)器。這個緩沖隊列有的放在磁盤里,有的放在內(nèi)存中。放到內(nèi)存中的有可能在主機意外重啟后會丟失記錄,這時候主備機就必須進行全同步來保證數(shù)據(jù)重新一致。
[0011]當主節(jié)點和備節(jié)點數(shù)據(jù)一致,為了對主節(jié)點進行維護,我們需要將主節(jié)點和備節(jié)點的角色進行轉(zhuǎn)換,我們稱這種行為為計劃內(nèi)迀移;當主節(jié)點發(fā)生異常,備節(jié)點被變成主節(jié)點,并接管應(yīng)用,我們稱這種方式為計劃外迀移。當發(fā)生計劃內(nèi)或計劃外迀移時,兩個節(jié)點握手后,需要決定他們之間是進行下列那種數(shù)據(jù)復(fù)制方式。而現(xiàn)有技術(shù)中在節(jié)點之間重新握手時,特別是在計劃外迀移的情況下,一般是采用全盤復(fù)制的模式,這無疑增加了主節(jié)點的業(yè)務(wù)持續(xù)時間,增加了主備節(jié)點之間的數(shù)據(jù)傳輸量,大大延長了應(yīng)用恢復(fù)所需要的時間,增加了備機數(shù)據(jù)不完整的時間,因為備機數(shù)據(jù)不完整容易造成容災(zāi)數(shù)據(jù)不可用的風險。
[0012]另外,現(xiàn)有技術(shù)中還存在如下缺陷:在增量復(fù)制(增量復(fù)制是基于bitmap實現(xiàn))時,主機如果每次接收到外部新寫入的數(shù)據(jù)時,都會立馬生成新的bitmap,這樣就會導(dǎo)致增量同步一直進行而得不到bitmap為O的時刻,從而導(dǎo)致備機數(shù)據(jù)一直處于不完整的狀態(tài)。

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

[0013]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法。
[0014]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法,所述容災(zāi)系統(tǒng)包括至少兩個節(jié)點,所述至少兩個節(jié)點分為一個主節(jié)點和至少一個備節(jié)點,每個節(jié)點存儲有元數(shù)據(jù)信息,所述元數(shù)據(jù)信息包括該節(jié)點上一次進行輸出傳輸過程中涉及到的主節(jié)點的信息以及前次寫入數(shù)據(jù)的信息,
[0015]所述方法包括:
[0016]S1、每個備節(jié)點與主節(jié)點連接握手,并交換各自的元數(shù)據(jù)信息;
[0017]S2、針對每個備節(jié)點,主節(jié)點將自身的元數(shù)據(jù)信息與該備節(jié)點的元數(shù)據(jù)信息進行比較,確定四種復(fù)制模式中的一種實現(xiàn)主節(jié)點與該備節(jié)點之間的數(shù)據(jù)傳輸;其中,所述四種復(fù)制模式包括為順序復(fù)制、增量復(fù)制、全盤復(fù)制、沖突合并。
[0018]在本發(fā)明所述的網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法中,所述元數(shù)據(jù)信息包括本地主節(jié)點信息和前次主節(jié)點信息,所述本地主節(jié)點信息和前次主節(jié)點信息均包括以下字段:
[0019]uuid,用于唯一標識一個節(jié)點的一次變成主節(jié)點的過程;
[0020]id,用于唯一標識當前的主節(jié)點;
[0021]seq,用于記錄節(jié)點當前寫入數(shù)據(jù)的序列號,且在寫入的數(shù)據(jù)為增量復(fù)制中的增量數(shù)據(jù)時,seq為零。
[0022]在本發(fā)明所述的網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法中,
[0023]當一個節(jié)點從備節(jié)點變成主節(jié)點時產(chǎn)生所述本地主節(jié)點信息,當一個節(jié)點從主節(jié)點變成備節(jié)點并開始接收其他主節(jié)點傳輸?shù)臄?shù)據(jù)時,將所述本地主節(jié)點信息清空;
[0024]當一個節(jié)點作為備節(jié)點并接受其他主節(jié)點傳輸?shù)臄?shù)據(jù)時產(chǎn)生所述前次主節(jié)點信息,該前次主節(jié)點信息的uuid、id和seq被設(shè)置為該其他主節(jié)點的本地主節(jié)點信息的uuid、id和seq,并在接收到新的數(shù)據(jù)時更新前次主節(jié)點信息的seq的值。
[0025]在本發(fā)明所述的網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法中,所述步驟S2包括:
[0026]S21、判斷備節(jié)點的本地主節(jié)點信息是否非空,如果不是,則進入步驟S22,如果是,則進入步驟S23 ;
[0027]S22、如果備節(jié)點的本地主節(jié)點信息與主節(jié)點的前次主節(jié)點信息的所有字段均相等,則主節(jié)點與備節(jié)點之間采用順序復(fù)制;如果備節(jié)點的本地主節(jié)點信息與主節(jié)點的前次主節(jié)點信息的UUID和id兩個字段相等、或者備節(jié)點的前次主節(jié)點信息與主節(jié)點的本地主節(jié)點信息的UUID和id兩個字段相等、或者備節(jié)點的前次主節(jié)點信息與主節(jié)點的前次主節(jié)點信息的所有字段均相等,則主節(jié)點與備節(jié)點之間進行沖突合并;其他情況采用全盤復(fù)制,結(jié)束;
[0028]S23、如果備節(jié)點的前次主節(jié)點信息與主節(jié)點的本地主節(jié)點信息的UUID和id兩個字段相等、或者備節(jié)點的前次主節(jié)點信息與主節(jié)點的前次主節(jié)點信息的所有字段均相等,則判斷備節(jié)點的前次主節(jié)點信息的seq字段是否為零,如果是,則主節(jié)點與備節(jié)點之間采用增量復(fù)制,如果不是,則主節(jié)點與備節(jié)點之間采用順序復(fù)制;其他情況采用全盤復(fù)制,結(jié)束。
[0029]在本發(fā)明所述的網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法中,每個節(jié)點均包括后端數(shù)據(jù)設(shè)備和磁盤緩沖隊列,所述磁盤緩沖隊列用于順序存儲外部寫入的數(shù)據(jù),并通過寫操作將數(shù)據(jù)寫入本地的后端數(shù)據(jù)設(shè)備的數(shù)據(jù)塊,所述磁盤緩沖隊列還存儲有與各個節(jié)點綁定的多個數(shù)據(jù)增量位圖,所述數(shù)據(jù)增量位圖記錄有主節(jié)點所有寫操作的數(shù)據(jù)塊的位置;
[0030]所述順序復(fù)制包括:主節(jié)點將磁盤緩沖隊列中的數(shù)據(jù)依次發(fā)往備節(jié)點;
[0031]所述增量復(fù)制包括:主節(jié)點將備節(jié)點的數(shù)據(jù)增量位圖中所指定的后端數(shù)據(jù)設(shè)備的數(shù)據(jù)塊的數(shù)據(jù)發(fā)往備節(jié)點。
[0032]在本發(fā)明所述的網(wǎng)絡(luò)容災(zāi)系統(tǒng)的數(shù)據(jù)傳輸方法中,所述磁盤緩沖隊列中包括Meta區(qū)、DBM區(qū)和DATA區(qū),所述Meta區(qū)存儲有所述元數(shù)據(jù)信息、一個尾指標和與各個節(jié)點綁定的多個頭指標;所述DBM區(qū)存儲有所述的多個數(shù)據(jù)增量位圖;所述DATA區(qū)包括多個數(shù)據(jù)塊,用于順序存儲外部寫入的數(shù)據(jù);
[0033]所述數(shù)據(jù)增量位圖包括多個bit位,每一個bit位與后端數(shù)據(jù)設(shè)備中
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1