一種遠(yuǎn)程復(fù)制方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤指一種遠(yuǎn)程復(fù)制方法及系統(tǒng)。
【背景技術(shù)】
[0002]遠(yuǎn)程復(fù)制技術(shù)是指將用戶數(shù)據(jù)在源節(jié)點(diǎn)和目的節(jié)點(diǎn)分別建立數(shù)據(jù)存儲(chǔ),用于實(shí)現(xiàn)保護(hù)用戶數(shù)據(jù)的功能。遠(yuǎn)程復(fù)制技術(shù)中,源節(jié)點(diǎn)將接收到的用戶數(shù)據(jù)實(shí)時(shí)傳輸?shù)侥康墓?jié)點(diǎn),只有當(dāng)目的節(jié)點(diǎn)完全接收到源節(jié)點(diǎn)發(fā)送的用戶數(shù)據(jù)時(shí),源節(jié)點(diǎn)才向客戶端返回?cái)?shù)據(jù)寫(xiě)入成功的信息,從而達(dá)到用戶數(shù)據(jù)實(shí)時(shí)備份的目的。
[0003]通常,源節(jié)點(diǎn)和目的節(jié)點(diǎn)均由兩個(gè)控制器進(jìn)行控制,以保證在其中一個(gè)控制器出現(xiàn)故障時(shí),可以利用另一個(gè)控制器來(lái)實(shí)現(xiàn)控制。然而,源節(jié)點(diǎn)和目的節(jié)點(diǎn)的遠(yuǎn)程復(fù)制功能均無(wú)法在自身的兩個(gè)控制器之間切換,即源節(jié)點(diǎn)或目的節(jié)點(diǎn)的其中一個(gè)控制器出現(xiàn)斷網(wǎng)、斷電等故障時(shí),源節(jié)點(diǎn)或目的節(jié)點(diǎn)的遠(yuǎn)程復(fù)制功能不能通過(guò)另一個(gè)控制器來(lái)實(shí)現(xiàn),這樣無(wú)法保證用戶數(shù)據(jù)的實(shí)時(shí)備份,降低了用戶數(shù)據(jù)傳輸?shù)目煽啃浴?br>
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種遠(yuǎn)程復(fù)制方法及系統(tǒng),能夠保證用戶數(shù)據(jù)的實(shí)時(shí)備份,提高用戶數(shù)據(jù)傳輸?shù)目煽啃浴?br>[0005]第一方面,本發(fā)明實(shí)施例提供一種遠(yuǎn)程復(fù)制方法,包括:對(duì)源節(jié)點(diǎn)的主控制器和從控制器,以及目的節(jié)點(diǎn)的主控制器和從控制器,均設(shè)置遠(yuǎn)程復(fù)制信息,其中,遠(yuǎn)程復(fù)制信息包括實(shí)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制所需要的信息;在檢測(cè)出源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器存在異常時(shí),對(duì)所述主控制器進(jìn)行失活操作,并將所述主控制器設(shè)置為新從控制器,其中,失活操作包括主控制器停止與對(duì)端節(jié)點(diǎn)的遠(yuǎn)程復(fù)制,并停止對(duì)元數(shù)據(jù)的讀寫(xiě)操作;將從控制器設(shè)置為新主控制器,并根據(jù)預(yù)先設(shè)置的遠(yuǎn)程復(fù)制信息對(duì)所述新主控制器進(jìn)行激活操作,其中,激活操作包括新主控制器開(kāi)啟與對(duì)端節(jié)點(diǎn)的遠(yuǎn)程復(fù)制,讀取元數(shù)據(jù)。
[0006]進(jìn)一步地,在對(duì)源節(jié)點(diǎn)的主控制器和從控制器,以及目的節(jié)點(diǎn)的主控制器和從控制器,均設(shè)置遠(yuǎn)程復(fù)制信息之后,還包括:在源節(jié)點(diǎn)的主控制器、源節(jié)點(diǎn)的從控制器、目的節(jié)點(diǎn)的主控制器和目的節(jié)點(diǎn)的從控制器的兩兩之間均建立連接。
[0007]進(jìn)一步地,在檢測(cè)出源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器存在異常時(shí),對(duì)所述主控制器進(jìn)行失活操作之后,還包括:對(duì)所述主控制器接收到數(shù)據(jù)的當(dāng)前處理狀態(tài)進(jìn)行判斷;若當(dāng)前處理狀態(tài)為未處理狀態(tài),則所述主控制器生成數(shù)據(jù)的錯(cuò)誤代碼,并向客戶端發(fā)送所述錯(cuò)誤代碼;若當(dāng)前處理狀態(tài)為正在處理狀態(tài),則所述主控制器中斷數(shù)據(jù)處理,生成數(shù)據(jù)的錯(cuò)誤代碼,并向客戶端發(fā)送所述錯(cuò)誤代碼;若當(dāng)前處理狀態(tài)為待執(zhí)行內(nèi)部回調(diào)狀態(tài),則所述主控制器對(duì)數(shù)據(jù)執(zhí)行內(nèi)部回調(diào),并生成處理結(jié)果。
[0008]第二方面,本發(fā)明實(shí)施例提供一種遠(yuǎn)程復(fù)制系統(tǒng),包括:設(shè)置裝置、失活裝置和激活裝置,其中:所述設(shè)置裝置,用于對(duì)源節(jié)點(diǎn)的主控制器和從控制器,以及目的節(jié)點(diǎn)的主控制器和從控制器,均設(shè)置遠(yuǎn)程復(fù)制信息,其中,遠(yuǎn)程復(fù)制信息,包括實(shí)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制所需要的信息;所述失活裝置,用于在檢測(cè)出源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器存在異常時(shí),對(duì)所述主控制器進(jìn)行失活操作,并將所述主控制器設(shè)置為新從控制器,其中,失活操作,包括主控制器停止與對(duì)端節(jié)點(diǎn)的遠(yuǎn)程復(fù)制,并停止對(duì)元數(shù)據(jù)的讀寫(xiě)操作;所述激活裝置,用于將從控制器設(shè)置為新主控制器,并根據(jù)所述設(shè)置裝置預(yù)先設(shè)置的遠(yuǎn)程復(fù)制信息對(duì)所述新主控制器進(jìn)行激活操作,其中,激活操作,包括新主控制器開(kāi)啟與對(duì)端節(jié)點(diǎn)的遠(yuǎn)程復(fù)制,讀取元數(shù)據(jù)從控制器。
[0009]進(jìn)一步地,所述設(shè)置裝置還用于:在對(duì)源節(jié)點(diǎn)的主控制器和從控制器,以及目的節(jié)點(diǎn)的主控制器和從控制器,均設(shè)置遠(yuǎn)程復(fù)制信息之后,在源節(jié)點(diǎn)的主控制器、源節(jié)點(diǎn)的從控制器、目的節(jié)點(diǎn)的主控制器和目的節(jié)點(diǎn)的從控制器的兩兩之間均建立連接。
[0010]進(jìn)一步地,所述失活裝置還用于:在對(duì)所述主控制器進(jìn)行失活操作之后,對(duì)所述主控制器接收到數(shù)據(jù)的當(dāng)前處理狀態(tài)進(jìn)行判斷;若當(dāng)前處理狀態(tài)為未處理狀態(tài),則所述主控制器生成數(shù)據(jù)的錯(cuò)誤代碼,并向客戶端發(fā)送所述錯(cuò)誤代碼;若當(dāng)前處理狀態(tài)為正在處理狀態(tài),則所述主控制器中斷數(shù)據(jù)處理,生成數(shù)據(jù)的錯(cuò)誤代碼,并向客戶端發(fā)送所述錯(cuò)誤代碼;若當(dāng)前處理狀態(tài)為待執(zhí)行內(nèi)部回調(diào)狀態(tài),則所述主控制器對(duì)數(shù)據(jù)執(zhí)行內(nèi)部回調(diào),并生成處理結(jié)果。
[0011]本發(fā)明的提供的一種遠(yuǎn)程復(fù)制方法及系統(tǒng),通過(guò)對(duì)源節(jié)點(diǎn)的主控制器和從控制器,以及目的節(jié)點(diǎn)的主控制器和從控制器均設(shè)置遠(yuǎn)程復(fù)制信息,其中,遠(yuǎn)程復(fù)制信息,包括實(shí)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制所需要的信息;在檢測(cè)出源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器存在異常時(shí),對(duì)主控制器進(jìn)行失活操作,并將主控制器設(shè)置為新從控制器;將從控制器設(shè)置為新主控制器,并根據(jù)預(yù)先設(shè)置的遠(yuǎn)程復(fù)制信息對(duì)新主控制器進(jìn)行激活操作,保證了用戶數(shù)據(jù)的實(shí)時(shí)備份,提高了用戶數(shù)據(jù)傳輸?shù)目煽啃浴?br>【附圖說(shuō)明】
[0012]附圖用來(lái)提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
[0013]圖1為本發(fā)明實(shí)施例提供的一種遠(yuǎn)程復(fù)制方法的流程圖;
[0014]圖2為本發(fā)明實(shí)施例提供的另一種遠(yuǎn)程復(fù)制方法的流程圖;
[0015]圖3為本發(fā)明實(shí)施例提供的一種遠(yuǎn)程復(fù)制系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0016]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0017]在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0018]參見(jiàn)圖1,該圖示出了本發(fā)明實(shí)施例提供的一種遠(yuǎn)程復(fù)制方法,包括:
[0019]步驟101:對(duì)源節(jié)點(diǎn)的主控制器和從控制器,以及目的節(jié)點(diǎn)的主控制器和從控制器,均設(shè)置遠(yuǎn)程復(fù)制信息,其中,遠(yuǎn)程復(fù)制信息,包括實(shí)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制所需要的全部信息;
[0020]實(shí)現(xiàn)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制所需要的信息,為本領(lǐng)域?qū)崿F(xiàn)遠(yuǎn)程復(fù)制時(shí)慣用的信息,例如,用戶數(shù)據(jù)標(biāo)識(shí)、數(shù)據(jù)傳輸塊大小、數(shù)據(jù)校驗(yàn)類型、數(shù)據(jù)傳輸速率、網(wǎng)絡(luò)連接信息等。
[0021 ] 其中,源節(jié)點(diǎn)和目的節(jié)點(diǎn)均由兩個(gè)控制器進(jìn)行控制的。兩個(gè)控制器中,正在運(yùn)行的控制器是主控制器,另一個(gè)是從控制器。
[0022]由于現(xiàn)有技術(shù)中在源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器出現(xiàn)異常時(shí),主控制器向從控制器切換需要將主控制器上的遠(yuǎn)程復(fù)制信息在從控制器上再次設(shè)置,而再次設(shè)置遠(yuǎn)程復(fù)制信息會(huì)增加主控制器向從控制器切換的耗時(shí),因此會(huì)導(dǎo)致客戶端丟失用戶數(shù)據(jù)。而在本發(fā)明實(shí)施例中,通過(guò)在主控制器和從控制器上分別設(shè)置遠(yuǎn)程復(fù)制信息,使得遠(yuǎn)程復(fù)制從主控制器向從控制器切換時(shí)只需要根據(jù)從控制器上已經(jīng)設(shè)置好的遠(yuǎn)程復(fù)制信息,通過(guò)后續(xù)的操作來(lái)實(shí)現(xiàn)自動(dòng)切換,保障了遠(yuǎn)程復(fù)制的正常進(jìn)行,避免了客戶端丟失用戶數(shù)據(jù)。
[0023]進(jìn)一步地,在對(duì)源節(jié)點(diǎn)的主控制器和從控制器以及目的節(jié)點(diǎn)的主控制器和從控制器均設(shè)置遠(yuǎn)程復(fù)制信息之后,還包括:在源節(jié)點(diǎn)的主控制器、源節(jié)點(diǎn)的從控制器、目的節(jié)點(diǎn)的主控制器和目的節(jié)點(diǎn)的從控制器的兩兩之間均建立連接。
[0024]在設(shè)置遠(yuǎn)程復(fù)制信息之后,需要將四個(gè)控制器,即源節(jié)點(diǎn)的主控制器、源節(jié)點(diǎn)的從控制器、目的節(jié)點(diǎn)的主控制器和目的節(jié)點(diǎn)的從控制器的兩兩之間均建立連接,也就是說(shuō),在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間需要建立四條遠(yuǎn)程復(fù)制冗余鏈路,使得遠(yuǎn)程復(fù)制從出現(xiàn)故障的控制器切換到另一個(gè)控制器后,源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制依然能夠保持連接,保障源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制連接的實(shí)時(shí)性和有效性。
[0025]步驟102:在檢測(cè)出源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器存在異常時(shí),對(duì)主控制器進(jìn)行失活操作,并將主控制器設(shè)置為新從控制器;其中,失活操作,包括主控制器停止與對(duì)端節(jié)點(diǎn)的遠(yuǎn)程復(fù)制,并停止對(duì)元數(shù)據(jù)的讀寫(xiě)操作。
[0026]需要說(shuō)明的是,若上述主控制器為源節(jié)點(diǎn)的主控制器,則對(duì)端節(jié)點(diǎn)為目的節(jié)點(diǎn);若上述主控制器為目的節(jié)點(diǎn)的主控制器,則對(duì)端節(jié)點(diǎn)為源節(jié)點(diǎn)。
[0027]元數(shù)據(jù),為描述數(shù)據(jù)的數(shù)據(jù),主要是描述數(shù)據(jù)屬性信息,用來(lái)支持如指示存儲(chǔ)位置、歷史數(shù)據(jù)、資源查找、文件記錄等功能。
[0028]進(jìn)一步地,在檢測(cè)出源節(jié)點(diǎn)或目的節(jié)點(diǎn)的主控制器存在異常時(shí),對(duì)主控制器進(jìn)行失活操作之后,還包括:對(duì)主控制器接收到數(shù)據(jù)的當(dāng)前處理狀態(tài)進(jìn)行判斷;若當(dāng)前處理狀態(tài)為未處理狀態(tài),則主控制器生成數(shù)據(jù)的錯(cuò)誤代碼,并向客戶端發(fā)送錯(cuò)誤代碼;若當(dāng)前處理狀態(tài)為正在處理狀態(tài),則主控制器中斷數(shù)據(jù)處理,生成數(shù)據(jù)的錯(cuò)誤代碼,并向客戶端發(fā)送錯(cuò)誤代碼;若當(dāng)前處理狀態(tài)為待執(zhí)行內(nèi)部回調(diào)狀態(tài),則主控制器對(duì)數(shù)據(jù)執(zhí)行內(nèi)部回調(diào),并生成處理結(jié)果。
[0029]需要說(shuō)明的是,處于未處理狀態(tài)的數(shù)據(jù),為已經(jīng)進(jìn)入主控制器但還未進(jìn)行相應(yīng)處理的數(shù)據(jù);處于正在處理狀態(tài)的數(shù)據(jù),為主控制器正在對(duì)數(shù)據(jù)