專利名稱:一種利用檢查點實現(xiàn)高可用性系統(tǒng)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù),特別涉及一種利用檢查點(Checkpoint)實現(xiàn)高可用 性(HA =High availability)系統(tǒng)的方法和設(shè)備。
背景技術(shù):
檢查點,部分情況下又稱為snapshot,是提高集群系統(tǒng)容錯能力,滿足低端設(shè)備高 可用性要求的一項重要機制,其主要思想是低端設(shè)備中的器件在預(yù)設(shè)的條件達到時,將當 前正在執(zhí)行程序的狀態(tài)存儲在一個穩(wěn)定的存儲器內(nèi),其中,預(yù)設(shè)的條件可為系統(tǒng)運行狀態(tài) 的變換、管理員的命令或者預(yù)設(shè)的時間等情況,以便在故障后系統(tǒng)可以從該狀態(tài)恢復(fù)程序 的執(zhí)行。如圖1所示,用于處理業(yè)務(wù)的器件1在運行過程中將狀態(tài)I存儲在文件1、狀態(tài)II 存儲在文件2以及狀態(tài)III存儲在文件3中,當器件1出現(xiàn)故障基于文件1重新啟動時,該 器件1就能夠恢復(fù)到文件1存儲的狀態(tài)I ;相應(yīng)地,當基于文件2或3啟動時,就能夠恢復(fù) 到狀態(tài)II和III。通常,檢查點機制適用于一些低端性能的設(shè)備;而對于一些高端性能的設(shè)備,為了 提高高端設(shè)備的高可靠性,通常會采用HA機制。其中,HA機制的主要思想是在系統(tǒng)中為 處理業(yè)務(wù)的器件(在HA機制中記為主用器件)提供冗余備份(記為備份器件),比如備用 單板,備用子卡等,部分情況下還可能是備份進程(為便于描述,通稱為備份器件);以便主 用器件發(fā)生了故障或者異常時,該備份器件可以快速的切換為主用器件,并接管出現(xiàn)故障 的主用器件處理的相應(yīng)服務(wù)。綜上可以看出,現(xiàn)有的HA機制和檢查點機制為兩種完全不同、且相互獨立的機 制,如果現(xiàn)有一設(shè)備既需要支持HA機制,又需要支持檢查點機制,即該設(shè)備既存在低端性 能又存在高端性能,就需要該設(shè)備的軟件顯示兩套不同的實現(xiàn)代碼,其中一套代碼用于支 持HA機制,另一套代碼用于支持檢查點機制,這樣顯然會帶來工作量的增加;另外,由于HA 機制和檢查點機制完全不同,這也會導(dǎo)致軟件難以維護,并增加軟件編譯的復(fù)雜度。
發(fā)明內(nèi)容
本發(fā)明提供了一種利用檢查點實現(xiàn)高可用性系統(tǒng)的方法和設(shè)備,以便將HA機制 和檢查點機制聯(lián)系起來,避免現(xiàn)有技術(shù)由于HA機制和檢查點機制完全獨立所帶來的缺陷。一種利用檢查點實現(xiàn)高可用性系統(tǒng)的方法,該方法包括以下步驟A,檢查點模塊模擬用于HA系統(tǒng)的主用器件的備份器件,建立和所述主用器件之 間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息;B,所述檢查點模塊獲知所述主用器件出現(xiàn)故障時,利用所述狀態(tài)同步信息接替該 主用器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處 理業(yè)務(wù),自身降為該重啟后的主用器件的備份。一種利用檢查點實現(xiàn)高可用性系統(tǒng)的設(shè)備,包括通信單元和處理單元;其中,所述通信單元模擬用于高可用性HA系統(tǒng)的主用器件的備份器件,建立和所述主用器件之間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息;所述處理單元用于獲知所述主用器件出現(xiàn)故障時,利用所述狀態(tài)同步信息接替該 主用器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處 理業(yè)務(wù),自身降為該重啟后的主用器件的備份。由以上技術(shù)方案可以看出,本發(fā)明通過增加用于擔任主用器件的備份的檢查點模 塊,使檢查點模塊獲取主用器件的狀態(tài)同步信息,并在獲知到主用器件出現(xiàn)故障時,利用獲 取的狀態(tài)同步信息接替該主用器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該 重啟后的主用器件重新處理業(yè)務(wù),自身降為該重啟后的主用器件的備份??梢钥闯?,這種方 式類似于現(xiàn)有HA機制中為主用器件提供備份器件,主用器件發(fā)生了故障或者異常時,備份 器件快速切換為主用器件,并接管出現(xiàn)故障的主用器件處理的相應(yīng)服務(wù)的方式,如此,當現(xiàn) 有的設(shè)備既存在支持檢查點機制的低端性能又存在支持HA機制的高端性能時,也可以僅 維護一套實現(xiàn)代碼,如此,簡化應(yīng)用軟件的設(shè)計,避免現(xiàn)有技術(shù)由于HA機制和檢查點機制 完全獨立所帶來的缺陷。
圖1為現(xiàn)有的檢查點機制的實現(xiàn)流程圖;圖2為本發(fā)明實施例提供的基本流程圖;圖3為本發(fā)明實施例提供的第一詳細流程圖;圖4為本發(fā)明實施例提供的第二詳細流程如為本發(fā)明實施例提供的HA連接第一示意圖;圖4b為本發(fā)明實施例提供的HA連接第二示意圖;圖5為本發(fā)明實施例提供的設(shè)備結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對 本發(fā)明進行詳細描述。本發(fā)明實施例中,提出了一種利用檢查點實現(xiàn)HA系統(tǒng)的方法,采用本發(fā)明,可使 檢查點機制和HA機制聯(lián)動起來,避免了現(xiàn)有技術(shù)由于HA機制和檢查點機制完全獨立所帶 來的缺陷,實現(xiàn)了僅維護一套類似HA機制的實現(xiàn)代碼,簡化應(yīng)用軟件的設(shè)計。本發(fā)明實施例提出的利用檢查點實現(xiàn)高可用性系統(tǒng)的方法中,需要增加一個以上 的檢查點模塊,每一檢查點模塊所執(zhí)行的操作如圖2所示,主要包括以下步驟步驟201,檢查點模塊模擬用于HA系統(tǒng)的主用器件的備份器件,建立和所述主用 器件之間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息。這里,檢查點模塊可以同時模擬一個以上主用器件的備份器件,本發(fā)明實施例并 不具體限定。步驟202,檢查點模塊獲知主用器件出現(xiàn)故障時,利用獲取的狀態(tài)同步信息接替該 主用器件處理業(yè)務(wù),在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處理 業(yè)務(wù),自身降為該重啟后的主用器件的備份。這里,檢查點模塊獲知主用器件出現(xiàn)故障時,自身從備用身份切換為主用身份,利用獲取的狀態(tài)同步信息接管出現(xiàn)故障的主用器件所處理的業(yè)務(wù)。當獲知到出現(xiàn)故障的主用 器件又重啟時,使該重啟后的主用器件重新恢復(fù)主用身份來處理業(yè)務(wù),自身降為該重啟后 的主用器件的備份。如此,實現(xiàn)了本發(fā)明實施例提供的基本流程。為使本發(fā)明實施例更加清楚,下面對 本發(fā)明實施例提供的流程進行詳細描述。第一實施例參見圖3,圖3為本發(fā)明實施例提供的第一詳細流程圖。如圖3所示,該流程可包 括以下步驟步驟301,檢查點模塊模擬主用器件的備份器件,與主用器件建立HA連接。通常,由于低端性能設(shè)備中一些器件并沒有備份器件,但是都能執(zhí)行對應(yīng)的業(yè)務(wù) 處理操作,以便實現(xiàn)對應(yīng)的業(yè)務(wù)處理功能,本實施例為便于檢查點機制與HA機制統(tǒng)一,可 將低端性能設(shè)備中執(zhí)行業(yè)務(wù)處理操作的器件記為主用器件。由于檢查點模塊作為主用器件 的備份,則根據(jù)HA機制中備份器件的定義,可以知道,本步驟301中檢查點模塊用于監(jiān)聽主 用器件,隨時準備在主用器件出現(xiàn)故障時接管主用器件處理的業(yè)務(wù)。這里,檢查點模塊和主用器件建立HA連接的過程可與現(xiàn)有HA機制中備份器件和 主用器件建立HA連接的流程類似,這里不再詳述。需要說明的是,由于每一主用器件都能執(zhí)行對應(yīng)的業(yè)務(wù)處理操作,因此,優(yōu)選地, 可利用業(yè)務(wù)處理操作區(qū)分各個主用器件。本發(fā)明實施例中,可根據(jù)實際情況配置檢查點模 塊擔任哪幾個主用器件的備份。通常,檢查點模塊可同時擔任一個以上主用器件的備份,這 里不具體限定。為便于描述,本實施例以檢查點模塊只擔任一個主用器件的備份為例,本領(lǐng) 域技術(shù)人員很容易根據(jù)該例得出擔任多個主用器件的備份的流程,這里不再贅述。步驟302,當HA連接建立完成后,主用器件將自身當前存儲的狀態(tài)同步信息同步 給偽裝成自身的備份器件的檢查點模塊。如此,執(zhí)行到本步驟302時,偽裝成主用器件的檢查點模塊即可獲得主用器件同 步過來的狀態(tài)同步信息。這里,步驟302中的狀態(tài)同步信息具體為主用器件當前運行狀態(tài) 對應(yīng)的數(shù)據(jù),比如,主用器件當前的運行狀態(tài)為存在表項1和表項2,則當前運行狀態(tài)對應(yīng) 的數(shù)據(jù)為表項1和表項2中的數(shù)據(jù)。步驟303,后續(xù)主用器件執(zhí)行相關(guān)操作獲得的實時同步數(shù)據(jù)通過所述HA連接同步 給所述檢查點模塊。如此,執(zhí)行到本步驟303時,偽裝成主用器件的檢查點模塊即可獲得主用器件同 步過來的實時同步數(shù)據(jù)。這里,實時同步數(shù)據(jù)具體為主用器件執(zhí)行相關(guān)操作對應(yīng)的數(shù)據(jù),具 體可包含刪除數(shù)據(jù)、修改數(shù)據(jù)和添加數(shù)據(jù)中的至少一個。可以看出,通過上述步驟301至步驟303實現(xiàn)了檢查點模塊通過建立的HA連接獲 取主用器件的狀態(tài)同步信息的操作。步驟304,偽裝成主用器件的備份器件的檢查點模塊在獲知該主用器件發(fā)生故障 后,升級為主用器件,利用獲取的狀態(tài)同步信息接替出現(xiàn)故障的主用器件處理業(yè)務(wù)。這里,檢查點模塊可按照現(xiàn)有的HA機制中備份器件感知主用器件出現(xiàn)故障的方 法獲知主用器件是否出現(xiàn)故障,之后,升級為主用器件。執(zhí)行到本步驟304時,如果主用器件出現(xiàn)故障,則主用器件和檢查點模塊之間存在的HA連接也就沒有用處了,因此,本步驟304中,檢查點模塊可進一步取消自身和出現(xiàn)故 障的主用器件之間的HA連接??梢钥闯觯静襟E304中,主用器件發(fā)生故障后,檢查點模塊可根據(jù)獲取的狀態(tài)同 步信息繼續(xù)執(zhí)行出現(xiàn)故障的主用器件所處理的業(yè)務(wù),優(yōu)選地,本實施例中為減少檢查點模 塊的負荷,可根據(jù)實際情況重啟出現(xiàn)故障的主用器件。步驟305,檢查點模塊在出現(xiàn)故障的主用器件重啟后,重新和重啟后的主用器件建 立HA連接,并將處理的業(yè)務(wù)對應(yīng)的數(shù)據(jù)通過重新建立的HA連接同步到重啟后的該主用器 件。這里,由于每一主用器件都能執(zhí)行對應(yīng)的業(yè)務(wù)處理操作,因此,當出現(xiàn)故障的主用 器件重啟后,該重啟后的主用器件會在系統(tǒng)中通過廣播來確定誰當前正執(zhí)行自身對應(yīng)的業(yè) 務(wù)處理操作,所述廣播內(nèi)容包含該主用器件對應(yīng)的業(yè)務(wù)處理操作的標識信息,當檢查點模 塊接收到廣播后,如果自身正好執(zhí)行操作標識信息對應(yīng)的操作,則確定原來出現(xiàn)故障的主 用器件已經(jīng)重啟了,于是和該重啟后的主用器件重新建立HA連接,并進行數(shù)據(jù)同步。步驟306,檢查點模塊完成數(shù)據(jù)同步后,主動觸發(fā)重啟后的主用器件恢復(fù)主用身份 重新處理業(yè)務(wù),自身降為該重啟后的主用器件的備份。這里,步驟306中檢查點模塊主動觸發(fā)重啟后的主用器件恢復(fù)主用身份重新處理 業(yè)務(wù),自身降為該重啟后的主用器件的備份具體可為檢查點模塊發(fā)送適用于HA機制中的 主備倒換請求給重啟后的主用器件,重啟后的主用器件接收所述主備倒換請求后,恢復(fù)主 用身份重新處理業(yè)務(wù),并返回響應(yīng)給檢查點模塊,當檢查點模塊接收到響應(yīng)后,自身降為該 重啟后的主用器件的備份。執(zhí)行到本步驟306時,檢查點模塊又重新成為主用器件的備份。如此,系統(tǒng)恢復(fù)穩(wěn) 定狀態(tài),并按照上述類似步驟303至步驟306的操作繼續(xù)執(zhí)行,直至結(jié)束流程。至此,實現(xiàn)了本發(fā)明實施例提供的完整流程。可以看出,本實施例中提供的流程類似于現(xiàn)有HA機制中為主用器件提供備份器 件,主用器件發(fā)生了故障或者異常時,備份器件快速切換為主用器件,并接管出現(xiàn)故障的主 用器件處理的相應(yīng)服務(wù)的流程,因此,當現(xiàn)有的設(shè)備既存在支持檢查點機制的低端性能又 存在支持HA機制的高端性能時,可維護一套實現(xiàn)代碼,如此,簡化應(yīng)用軟件的設(shè)計,避免現(xiàn) 有技術(shù)由于HA機制和檢查點機制完全獨立所帶來的缺陷。需要說明的是,通常,主用器件是在預(yù)設(shè)的存儲條件到達時存儲狀態(tài)同步信息 (具體為主用器件在存儲條件到達時的運行狀態(tài)對應(yīng)的數(shù)據(jù)),其中,預(yù)設(shè)的存儲條件為系 統(tǒng)運行狀態(tài)的變換、管理員的命令或者預(yù)設(shè)的時間等情況,如果存儲條件達不到,不管當前 執(zhí)行多少操作,主用器件都不會存儲狀態(tài)同步信息,但是根據(jù)上面步驟303的描述可以知 道,主用器件卻會將執(zhí)行相關(guān)操作獲得的實時同步數(shù)據(jù)都會通過當前存在的與檢查點模塊 之間的HA連接同步給該檢查點模塊,如此,就會出現(xiàn)檢查點模塊接收的數(shù)據(jù)信息和主用器 件存儲的狀態(tài)同步信息不一致的情況。比如,如果主用器件在時間段1內(nèi)執(zhí)行的數(shù)據(jù)處理 操作為增加表項1、刪除表項1、增加表項2、刪除表項2、增加表項3和刪除表項3,則主用 器件就會將這6項數(shù)據(jù)處理操作對應(yīng)的實時同步數(shù)據(jù)通過當前存在的與檢查點模塊之間 的HA連接發(fā)送給檢查點模塊,如此,檢查點模塊即可得到這6項數(shù)據(jù)處理操作對應(yīng)的實時 同步數(shù)據(jù),而若在時間段1結(jié)束時如果主用器件存儲的條件未達到,則主用器件不會存儲時間段1中的任何數(shù)據(jù)信息,這樣,就出現(xiàn)了檢查點模塊接收的數(shù)據(jù)信息和主用器件存儲 的信息不一致的情況,進而也可以看出,檢查點模塊接收的這6項操作對應(yīng)的數(shù)據(jù)相比于 主用器件存儲的狀態(tài)同步信息是無效的。為了避免出現(xiàn)這種情況,本發(fā)明提出了另一種實 施例,具體參見圖4。第二實施例參見圖4,圖4為本發(fā)明實施例提供的第二詳細流程圖。如圖4所示,該流程可包 括以下步驟步驟401,檢查點模塊模擬主用器件的第一備份器件,建立和所述主用器件的第一 HA連接。步驟402,當?shù)谝?HA連接建立完成后,主用器件將自身當前存儲的狀態(tài)同步信息 通過該第一 HA連接同步給偽裝成第一備份器件的檢查點模塊。這里,步驟401至步驟402的具體操作分別與步驟301至步驟302類似,這里不再 詳述。步驟403,后續(xù)檢查點模塊判斷是否滿足進一步同步所述主用器件狀態(tài)同步信息 的條件,如果否,執(zhí)行步驟404 ;否則,轉(zhuǎn)至步驟405。這里,進一步同步所述主用器件狀態(tài)同步信息的條件包括預(yù)設(shè)時間間隔比如1 分鐘或者其他時間,或者預(yù)設(shè)的主用器件執(zhí)行相關(guān)操作比如刪除數(shù)據(jù)、修改數(shù)據(jù)、添加數(shù)據(jù) 中的至少一個的次數(shù)等,本發(fā)明實施例并不具體限定。其中,由于主用器件后續(xù)執(zhí)行相關(guān)操 作時獲得的實時同步數(shù)據(jù)都會同步給檢查點模塊,因此,如果同步主用器件狀態(tài)同步信息 的條件為預(yù)設(shè)的主用器件執(zhí)行相關(guān)操作的個數(shù),則步驟403具體為根據(jù)接收的主用器件發(fā) 送的執(zhí)行相關(guān)操作時獲得的實時同步數(shù)據(jù)來判斷當前是否滿足進一步同步所述主用器件 狀態(tài)同步信息的條件。需要說明的是,本步驟403是在主用器件運行正常時所執(zhí)行的,如果執(zhí)行到本步 驟403,檢查點模塊獲知主用器件出現(xiàn)故障,則即使當前滿足進一步同步所述主用器件狀態(tài) 同步信息的條件,也不執(zhí)行下述步驟404至步驟407 ;而是執(zhí)行下述步驟408至步驟410,等 出現(xiàn)故障的主用器件重啟并恢復(fù)主用身份后,檢查點模塊再返回執(zhí)行步驟403。步驟404,后續(xù)所述主用器件執(zhí)行相關(guān)操作獲得的實時同步數(shù)據(jù)通過第一 HA連接 同步給檢查點模塊。之后,如果沒有獲知出主用器件出現(xiàn)故障,則返回執(zhí)行步驟403 ;否則, 執(zhí)行下述步驟408,圖4以沒有獲知出主用器件出現(xiàn)故障為例。這里,步驟404具體可與圖2所示的步驟303類似。步驟405,檢查點模塊模擬所述主用器件的第二備份器件,建立與所述主用器件之 間的第二 HA連接。執(zhí)行到本步驟405時,可以看出,檢查點模塊與主用器件之間當前存在兩條HA連 接,進而可以看出主用器件當前模擬了主用器件的兩個備份器件,具體可參見圖如所示的 示意圖。步驟406,當?shù)诙?HA連接建立完成后,主用器件通過該第二 HA連接將自身當前存 儲的狀態(tài)同步信息同步給偽裝成第二備份器件的檢查點模塊。之后,執(zhí)行步驟407。需要說明的是,執(zhí)行到本步驟406時,主用器件依然在執(zhí)行相關(guān)操作時獲得的實 時同步數(shù)據(jù)通過第一 HA連接同步給偽裝成第一備份器件的檢查點模塊??梢钥闯觯瑘?zhí)行到本步驟406時,盡管檢查點模塊當前偽裝成主用器件的兩個備份器件,但是,該兩個備份器 件是相互獨立、且互不影響的。步驟407,當獲知通過第二 HA連接完成信息同步以后,所述檢查點模塊放棄偽裝 的所述主用器件第一備份器件的身份。之后,如果檢查點模塊沒有獲知出主用器件出現(xiàn)故 障,將第二 HA連接更新為第一 HA連接,返回執(zhí)行步驟403 ;否則,執(zhí)行下述步驟408。圖4 以獲知出主用器件出現(xiàn)故障為例。這里,檢查點模塊獲知信息同步的操作具體實現(xiàn)時可有多種形式,比如由于主用 器件和檢查點模塊已在步驟405中建立了第二 HA連接,因此,檢查點模塊可通過該第二 HA 連接發(fā)送咨詢請求,主用器件通過該第二 HA連接接收到咨詢請求時,響應(yīng)該咨詢請求,如 此,檢查點模塊即可獲知信息是否完成同步;或者主用器件在通過該第二 HA連接完成信息 同步后,可將已完成同步的通知發(fā)送給檢查點模塊,如此,檢查點模塊即可獲知主用器件完 成信息同步,本發(fā)明在此不作具體限定。本步驟407中,檢查點模塊之所以放棄偽裝的主用器件第一備份器件的身份,主 要是因為檢查點模塊作為第二備份器件,已完全與主用器件達到信息同步,因此,為節(jié)省資 源,可放棄偽裝的主用器件第一備份器件的身份。可以看出,執(zhí)行到本步驟407時,檢查點 模塊和主用器件之間又恢復(fù)到僅存在一個HA連接的狀態(tài),以及主用器件當前僅存在1個處 于工作狀態(tài)的備份器件,具體可參見圖4b所示的示意圖。可以看出,通過上述步驟401至步驟407實現(xiàn)了檢查點模塊通過建立的HA連接獲 取主用器件的狀態(tài)同步信息的操作。需要說明的是,上述步驟401至步驟407都是在主用器件運行正常時檢查點模塊 與主用器件的通信流程,若主用器件出現(xiàn)故障,則執(zhí)行步驟408至步驟410。這里,步驟408至步驟410分別與圖3所示的步驟304至步驟306類似,這里不再 贅述。至此,實現(xiàn)了本發(fā)明實施例提供的第二詳細流程。以上對本發(fā)明提供的方法進行了詳細描述,下面對本發(fā)明提供的設(shè)備進行詳述。參見圖5,圖5為本發(fā)明實施例提供的利用檢查點實現(xiàn)高可用性系統(tǒng)的設(shè)備結(jié)構(gòu) 圖,如圖5所示,該設(shè)備包括通信單元501和處理單元502 ;其中,通信單元501模擬用于HA系統(tǒng)的主用器件的備份器件,建立和所述主用器 件之間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息;處理單元502用于獲知所述主用器件出現(xiàn)故障時,利用所述狀態(tài)同步信息接替該 主用器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處 理業(yè)務(wù),自身降為該重啟后的主用器件的備份。優(yōu)選地,本實施例中,通信單元501的結(jié)構(gòu)具體實現(xiàn)時可有多種實現(xiàn)形式,為便于 理解,下面列舉兩個實施例進行描述。第一種結(jié)構(gòu)形式比如,如圖5所示,通信單元501可包括第一建立模塊5011和數(shù)據(jù)處理存儲模塊 5012。其中,第一建立模塊5011,用于模擬所述主用器件的備份器件,與該主用器件建立 HA連接;
第一數(shù)據(jù)處理模塊5012,用于接收并存儲主用器件通過所述HA連接同步的自身 當前存儲的狀態(tài)同步信息,和后續(xù)執(zhí)行相關(guān)操作獲得的實時同步數(shù)據(jù)。通過上面描述的通信單元501的第一種結(jié)構(gòu)形式,能夠?qū)崿F(xiàn)通信單元501與主用 器件進行數(shù)據(jù)同步。優(yōu)選地,本實施例還提供了通信單元501的另一種結(jié)構(gòu)方式。如圖5所示,通信單元501可包括第二建立模塊5013和第二數(shù)據(jù)處理模塊5014。其中,第二建立模塊5013用于模擬所述主用器件的第一備份器件,建立和所述主 用器件的第一HA連接;以及接收到第二數(shù)據(jù)處理模塊5014發(fā)送的建立通知后,模擬所述主 用器件的第二備份器件,建立與所述主用器件之間的第二 HA連接;第二數(shù)據(jù)處理模塊5014用于在第一 HA連接建立完成后,接收并存儲主用器件通 過該第一 HA連接同步的自身當前存儲的狀態(tài)同步信息,后續(xù)判斷是否滿足進一步同步所 述主用器件狀態(tài)同步信息的條件,如果是,發(fā)送建立通知給第二建立模塊5013 ;并在所述 第二 HA連接建立完成后,接收并存儲主用器件通過該第二 HA連接同步的自身當前存儲的 狀態(tài)同步信息,在通過第二 HA連接完成信息同步以后,觸發(fā)第二建立模塊5013放棄偽裝的 所述主用器件第一備份器件的身份。這里,進一步同步所述主用器件狀態(tài)同步信息的條件 具體可為預(yù)設(shè)時間間隔或者預(yù)設(shè)的主用器件執(zhí)行相關(guān)操作的次數(shù)??梢钥闯觯ㄟ^上面描述的通信單元的第二種結(jié)構(gòu)形式,可以實現(xiàn)第二建立模塊 5013建立的與主用器件之間的HA連接,這大大提高了本實施例提供的利用檢查點實現(xiàn)高 可用性系統(tǒng)的設(shè)備的運行效率。優(yōu)選地,如圖5所示,處理單元502可包括業(yè)務(wù)處理模塊5021、同步模塊5022和 身份處理模塊5023。其中,業(yè)務(wù)處理模塊5021,用于獲知所述主用器件出現(xiàn)故障時,利用當前存儲的狀 態(tài)同步信息接替該主用器件處理業(yè)務(wù);同步模塊5022,用于在獲知出現(xiàn)故障的主用器件重啟時,與該重啟后的主用器件 重新建立HA連接,將業(yè)務(wù)處理模塊5021處理的業(yè)務(wù)對應(yīng)的數(shù)據(jù)通過重新建立的HA連接同 步到重啟后的主用器件;身份處理模塊5022,用于在同步模塊5022完成數(shù)據(jù)同步后,主動觸發(fā)重啟后的主 用器件恢復(fù)主用身份重新處理業(yè)務(wù),自身降為該重啟后的主用器件的備份。由以上技術(shù)方案可以看出,本發(fā)明通過增加用于擔任主用器件的備份的檢查點模 塊,使檢查點模塊獲取主用器件的狀態(tài)同步信息,并在獲知到主用器件出現(xiàn)故障時,利用獲 取的狀態(tài)同步信息接替該主用器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該 重啟后的主用器件重新處理業(yè)務(wù),自身降為該重啟后的主用器件的備份。可以看出,這種方 式類似于現(xiàn)有HA機制中為主用器件提供備份器件,主用器件發(fā)生了故障或者異常時,備份 器件快速切換為主用器件,并接管出現(xiàn)故障的主用器件處理的相應(yīng)服務(wù)的方式,如此,當現(xiàn) 有的設(shè)備既存在支持檢查點機制的低端性能又存在支持HA機制的高端性能時,也可以僅 維護一套實現(xiàn)代碼,如此,簡化應(yīng)用軟件的設(shè)計,避免現(xiàn)有技術(shù)由于HA機制和檢查點機制 完全獨立所帶來的缺陷。進一步地,由于本發(fā)明實施例提供的利用檢查點實現(xiàn)高可用性系統(tǒng)的方法類似于 HA機制,如此,在各個用于處理業(yè)務(wù)的主用器件中只設(shè)置類似HA接口或者HA接口即可,而不需要現(xiàn)有技術(shù)中由于HA機制和檢查點機制不同而需要分別在執(zhí)行低端性能處理的器件 中設(shè)置檢查點接口,而在執(zhí)行高端性能處理的器件中設(shè)置HA接口所帶來的維護困難的缺 陷。 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種利用檢查點實現(xiàn)高可用性系統(tǒng)的方法,其特征在于,該方法包括以下步驟A,檢查點模塊模擬用于高可用性HA系統(tǒng)的主用器件的備份器件,建立和所述主用器 件之間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息;B,所述檢查點模塊獲知所述主用器件出現(xiàn)故障時,利用所述狀態(tài)同步信息接替該主用 器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處理業(yè) 務(wù),自身降為該重啟后的主用器件的備份。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A具體包括所述檢查點模塊模擬所述主用器件的備份器件,與該主用器件建立HA連接,當該HA 連接建立完成后,所述主用器件將自身當前存儲的狀態(tài)同步信息同步給偽裝成該主用器件 的備份器件的檢查點模塊;后續(xù)所述主用器件執(zhí)行相關(guān)操作獲得的實時同步數(shù)據(jù)通過所述 HA連接同步給所述檢查點模塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A具體包括所述檢查點模塊模擬所述主用器件的第一備份器件,建立和所述主用器件的第一 HA 連接,該第一 HA連接建立完成后,所述主用器件將自身當前存儲的狀態(tài)同步信息通過該第 一 HA連接同步給偽裝成第一備份器件的檢查點模塊;后續(xù)所述檢查點模塊判斷是否滿足 進一步同步所述主用器件狀態(tài)同步信息的條件,如果是,所述檢查點模塊模擬所述主用器 件的第二備份器件,建立與所述主用器件之間的第二 HA連接,該第二 HA連接建立完成后, 所述主用器件通過該第二 HA連接將自身當前存儲的狀態(tài)同步信息同步給偽裝成第二備份 器件的檢查點模塊;當通過第二 HA連接完成信息同步以后,所述檢查點模塊放棄偽裝的所 述主用器件第一備份器件的身份。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述進一步同步所述主用器件狀態(tài)同步 信息的條件包括預(yù)設(shè)時間間隔或者預(yù)設(shè)的主用器件執(zhí)行相關(guān)操作的次數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B中使該重啟后的主用器件重新 處理業(yè)務(wù),自身降為該重啟后的主用器件的備份包括Bi,與該重啟后的主用器件重新建立HA連接,將處理的業(yè)務(wù)對應(yīng)的數(shù)據(jù)通過重新建立 的HA連接同步到重啟后的該主用器件;B2,完成數(shù)據(jù)同步后,主動觸發(fā)重啟后的主用器件恢復(fù)主用身份重新處理業(yè)務(wù),自身降 為該重啟后的主用器件的備份。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟B2中觸發(fā)重啟后的主用器件恢 復(fù)主用身份包括發(fā)送主備倒換請求給所述重啟后的主用器件,所述重啟后的主用器件接收所述主備倒 換請求后,恢復(fù)主用身份;所述重啟后的主用器件恢復(fù)主用身份后,進一步執(zhí)行發(fā)送與所述主備倒換請求對應(yīng)的 響應(yīng)的操作;所述步驟B2中降為該重啟后的主用器件的備份包括接收到重啟后的主用器件發(fā)送的與所述主備倒換請求對應(yīng)的響應(yīng)時,降為該重啟后的 主用器件的備份。
7.一種利用檢查點實現(xiàn)高可用性系統(tǒng)的設(shè)備,其特征在于,該設(shè)備包括通信單元和 處理單元;其中,所述通信單元模擬用于高可用性HA系統(tǒng)的主用器件的備份器件,建立和所述主用器件之間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息;所述處理單元用于獲知所述主用器件出現(xiàn)故障時,利用所述狀態(tài)同步信息接替該主用 器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處理業(yè) 務(wù),自身降為該重啟后的主用器件的備份。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述通信單元包括第一建立模塊,用于模擬所述主用器件的備份器件,與該主用器件建立HA連接;第一數(shù)據(jù)處理模塊,用于接收并存儲主用器件通過所述HA連接同步的自身當前存儲 的狀態(tài)同步信息,和后續(xù)執(zhí)行相關(guān)操作獲得的實時同步數(shù)據(jù)。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述通信單元還包括第二建立模塊,用于模擬所述主用器件的第一備份器件,建立和所述主用器件的第一 HA連接;以及接收到第二數(shù)據(jù)處理模塊發(fā)送的建立通知后,模擬所述主用器件的第二備份 器件,建立與所述主用器件之間的第二 HA連接;第二數(shù)據(jù)處理模塊,用于在第一 HA連接建立完成后,接收并存儲主用器件通過該第一 HA連接同步的自身當前存儲的狀態(tài)同步信息,后續(xù)判斷是否滿足進一步同步所述主用器件 狀態(tài)同步信息的條件,如果是,發(fā)送建立通知給所述第二建立模塊;并在所述第二 HA連接 建立完成后,接收并存儲主用器件通過該第二 HA連接同步的自身當前存儲的狀態(tài)同步信 息,在通過第二 HA連接完成信息同步以后,觸發(fā)所述第二建立模塊放棄偽裝的所述主用器 件第一備份器件的身份。
10.根據(jù)權(quán)利要求8或9所述的設(shè)備,其特征在于,所述處理單元包括業(yè)務(wù)處理模塊,用于獲知所述主用器件出現(xiàn)故障時,利用當前存儲的狀態(tài)同步信息接 替該主用器件處理業(yè)務(wù);同步模塊,用于在獲知出現(xiàn)故障的主用器件重啟時,與該重啟后的主用器件重新建立 HA連接,將所述業(yè)務(wù)處理模塊處理的業(yè)務(wù)對應(yīng)的數(shù)據(jù)通過重新建立的HA連接同步到重啟 后的主用器件;身份處理模塊,用于在所述同步模塊完成數(shù)據(jù)同步后,主動觸發(fā)重啟后的主用器件恢 復(fù)主用身份重新處理業(yè)務(wù),自身降為該重啟后的主用器件的備份。
全文摘要
本發(fā)明公開了一種利用檢查點實現(xiàn)高可用性系統(tǒng)的方法和設(shè)備,其中,該方法包括以下步驟A,檢查點模塊模擬用于高可用性HA系統(tǒng)的主用器件的備份器件,建立和所述主用器件之間的HA連接,并通過建立的HA連接獲取所述主用器件的狀態(tài)同步信息;B,所述檢查點模塊獲知所述主用器件出現(xiàn)故障時,利用所述狀態(tài)同步信息接替該主用器件處理業(yè)務(wù),并在獲知出現(xiàn)故障的主用器件重啟時,使該重啟后的主用器件重新處理業(yè)務(wù),自身降為該重啟后的主用器件的備份。采用本發(fā)明,將HA機制和檢查點機制聯(lián)系起來,避免現(xiàn)有技術(shù)由于HA機制和檢查點機制完全獨立所帶來的缺陷。
文檔編號H04L12/24GK102045187SQ20091023567
公開日2011年5月4日 申請日期2009年10月10日 優(yōu)先權(quán)日2009年10月10日
發(fā)明者魏巍 申請人:杭州華三通信技術(shù)有限公司