專利名稱:一種基于高級電信計算平臺的高可用性系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及計算機(jī)通訊系統(tǒng),特別是涉及基于高級電信計算平臺的高 可用性系統(tǒng)。
背景技術(shù):
基于ATCA的高級電信計算架構(gòu)的系統(tǒng),雖然在硬件設(shè)計上就考慮了系統(tǒng) 的高可用性要求,但是要達(dá)到電信級99.999%的高可用性,除了硬件設(shè)計上采 用冗余設(shè)計模型,軟件設(shè)計上同樣要采用一些提高系統(tǒng)可用性的措施來保證系 統(tǒng)的高可用性。大多數(shù)的系統(tǒng)不能很好的處理由于系統(tǒng)失效所引起的運行系統(tǒng) 的配置改變,而需要通過頻繁的強(qiáng)制性的故障點檢測機(jī)制來保障系統(tǒng)的可用 性,這樣勢必影響運行任務(wù)的效率,甚至要通過完全重新啟動相關(guān)的系統(tǒng)服務(wù) 或者整個機(jī)器才能使系統(tǒng)重新正常工作。共享會話信息和狀態(tài)信息的冗余硬件 設(shè)備使得物理鏈路的冗余成為可能。在電信級要求的系統(tǒng)設(shè)備中,不可能在系統(tǒng)服務(wù)失效之前,提前確定問題 的原因并采取相應(yīng)的預(yù)防措施。事實上,由于系統(tǒng)通常都是比較龐大和復(fù)雜, 評估通常都是通過計算中斷的平均小時數(shù)來預(yù)估和統(tǒng)計的。通過調(diào)整、調(diào)度安 排資源情況以及意外事件(諸如節(jié)點設(shè)備失效)的自適應(yīng)能力,及時有效地傳 送和獲取系統(tǒng)的這些重要信息可以提高系統(tǒng)的管理能力。目前在基于ATCA的 高級電信計算架構(gòu)系統(tǒng)中對待這種失效問題通常采取的解決方案就是失效容 忍或間隙恢復(fù)法(Gap Recovery)和反轉(zhuǎn)恢復(fù)法(Rollback Recovery)。然而, 大多數(shù)系統(tǒng)并不能有效地解決由于失效問題引起的運行系統(tǒng)配置改變,而需要 完全重新啟動必要的系統(tǒng)服務(wù)甚至是整個機(jī)器設(shè)備。高可用性力圖通過預(yù)防措 施避免意外的失效問題發(fā)生。高可用性措施目前主要是集中解決單節(jié)點服務(wù)的 連續(xù)正常工作的情況,而我們需要將這些努力進(jìn)一步擴(kuò)展到基于ATCA高級電 信計算架構(gòu)的整個系統(tǒng)環(huán)境的所有共同協(xié)作的設(shè)備節(jié)點和服務(wù)上。有很多種實現(xiàn)高可用性服務(wù)的技術(shù),其中主要包括主/從型熱備份技術(shù)、不 對稱式主/主型熱備份技術(shù)和對稱式主/主型熱備份技術(shù)。主/從型熱備份技術(shù)遵循上述失效模型。各個服務(wù)任務(wù)的狀態(tài)都定期的保存到某些穩(wěn)定的共享存儲介 質(zhì)中或通過網(wǎng)絡(luò)發(fā)送給相關(guān)的熱備份組件。當(dāng)服務(wù)失效時,熱備份的系統(tǒng)設(shè)備 就可以根據(jù)所得到系統(tǒng)最近的或當(dāng)前狀態(tài)信息接管系統(tǒng)服務(wù)。這種方式會引起 由于系統(tǒng)恢復(fù)或者系統(tǒng)根據(jù)獲得的舊的系統(tǒng)備份狀態(tài)信息回滾到系統(tǒng)從前的 某個狀態(tài)下而導(dǎo)致的短暫服務(wù)中斷。不對稱式主/主型熱備份技術(shù)比主/從型熱 備份技術(shù)更加有效的提高系統(tǒng)的可靠性、可用性和可服務(wù)性。在這個模型下, 多個設(shè)備節(jié)點提供相同的服務(wù),但是缺乏協(xié)作,即當(dāng)一個主用設(shè)備在故障發(fā)生 的情況下,其他主用設(shè)備接管服務(wù)來保證服務(wù)連續(xù)可用從而提高系統(tǒng)不間斷服 務(wù)能力,然而由于在所有參與互備份的設(shè)備間缺乏協(xié)作能力,不能智能的同步 主用設(shè)備間的狀態(tài)和控制信息,而使得其僅僅適合有限的應(yīng)用場合。對稱式主 /主型熱備份技術(shù)通常由兩個或多個運行相同服務(wù)的設(shè)備協(xié)同工作來保障系統(tǒng) 提供連續(xù)服務(wù)能力。這種技術(shù)可以使用分布式的控制機(jī)制或擴(kuò)展虛擬同步機(jī)制 來維護(hù)一套公共的全局性的系統(tǒng)狀態(tài)信息。對稱式主/主型熱備份模型在吞吐能 力、服務(wù)可用性能力和服務(wù)響應(yīng)能力等許多方面都更加出色,但也明顯要復(fù)雜 的多。目前的大多數(shù)不同架構(gòu)的系統(tǒng)在集成過程中都存在類似的缺乏高可用性 問題,例如大多數(shù)系統(tǒng)設(shè)計時都采用單點失效和單點控制的集中式控制方式。 當(dāng)單點失效或單點控制節(jié)點一旦出現(xiàn)故障問題,不可避免的將影響整個系統(tǒng),從而導(dǎo)致整個或部分系統(tǒng)的重啟。 發(fā)明內(nèi)容本實用新型所要解決的問題就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提 供一種基于高級電信計算平臺的高可用性系統(tǒng)。本實用新型的目的可以通過以下技術(shù)方案來實現(xiàn) 一種基于高級電信計算 平臺的高可用性系統(tǒng),其特征在于,從底層至高層依次包括通訊驅(qū)動層、成員 組通訊系統(tǒng)層、分布式控制接口層、應(yīng)用服務(wù)層,所述的通訊驅(qū)動層、成員組 通訊系統(tǒng)層、分布式控制接口層和應(yīng)用服務(wù)層依次連接。所述的通訊驅(qū)動層至少封裝有適配于底層硬件的驅(qū)動模塊、網(wǎng)絡(luò)通訊協(xié)議 模塊、消息服務(wù)模塊和鏈路故障檢測模塊;以及包括一通訊API應(yīng)用程序接口 ; 所述的驅(qū)動模塊、網(wǎng)絡(luò)通訊協(xié)議模塊、消息服務(wù)模塊和鏈路故障檢測模塊相互連接后均與通訊API應(yīng)用程序接口相連接。所述的成員組通訊系統(tǒng)層至少封裝有組成員管理模塊、外部故障檢測模 塊、組播模塊,各模塊相互連接。所述的分布式控制接口層至少封裝有分布式控制模塊、狀態(tài)機(jī)控制模塊、Checkpoint服務(wù)模塊、動態(tài)競選模塊和分布式虛擬同步數(shù)據(jù)存儲模塊,各模塊 相互連接。所述的應(yīng)用服務(wù)層封裝有至少包括監(jiān)控模塊、文件服務(wù)模塊、時間服務(wù)模 塊、日志服務(wù)模塊的各種應(yīng)用模塊,各模塊相互連接。與現(xiàn)有技術(shù)相比,本實用新型提出的靈活性、動態(tài)化、基于組件式的高可 用性結(jié)構(gòu)可以極大地提高系統(tǒng)的無故障持續(xù)工作能力,充分滿足基于ATCA架 構(gòu)系統(tǒng)的電信級99.999%的高可靠性和高可用性要求,大大優(yōu)于傳統(tǒng)集中式單 點控制型的高可用系統(tǒng)可持續(xù)服務(wù)能力;本實用新型出于性能上考慮主要是針 對對稱式主/主型高可用系統(tǒng),但由于模型架構(gòu)的靈活、動態(tài)和組件化的特點, 本設(shè)計模型同樣可以支持其他高可用性系統(tǒng)架構(gòu)設(shè)計,其中通訊驅(qū)動層模塊允 許系統(tǒng)無縫地實現(xiàn)對不同硬件設(shè)備提供商所提供的網(wǎng)絡(luò)技術(shù)和相關(guān)的底層網(wǎng) 絡(luò)協(xié)議的支持,大大提高了系統(tǒng)的互通性和互操作性,降低系統(tǒng)集成成本;即 插即用型、基于組件式的成員組通訊系統(tǒng)層提供可根據(jù)實際需要替換現(xiàn)有成員 組通訊解決方案的靈活通用平臺,大大提高了系統(tǒng)的靈活性;而且分布式控制 接口層提供適應(yīng)于不同系統(tǒng)應(yīng)用屬性的應(yīng)用程序接口 API,增強(qiáng)了系統(tǒng)的易用 性和易維護(hù)性;特別是動態(tài)選舉機(jī)制和checkpoint模塊、分布式控制模塊以及 狀態(tài)機(jī)控制模塊共同完成主用節(jié)點間的狀態(tài)同步功能和主用節(jié)點間的協(xié)作,從 而確保了系統(tǒng)的持續(xù)不間斷的工作能力的極大提高;采用本方法可以在不升級 硬件的條件下,僅僅通過軟件設(shè)計滿足基于ATCA架構(gòu)的電信級系統(tǒng)設(shè)備在不 會對系統(tǒng)效率和系統(tǒng)性能產(chǎn)生較大影響的前提下,大大地降低產(chǎn)品成本,縮短 系統(tǒng)研發(fā)周期,極大地提高了系統(tǒng)的高可用性要求,產(chǎn)生重大的經(jīng)濟(jì)效益。
圖1為本實用新型的結(jié)構(gòu)示意圖;具體實施方式
以下結(jié)合附圖對本實用新型作進(jìn)一步說明。如圖1所示, 一種基于高級電信計算平臺的高可用性系統(tǒng),從底層至高層 依次包括通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式控制接口層、應(yīng)用服務(wù)層, 所述的通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式控制接口層和應(yīng)用服務(wù)層依次 連接。所述的通訊驅(qū)動層至少封裝有適配于底層硬件的驅(qū)動模塊、網(wǎng)絡(luò)通訊協(xié)議 模塊、消息服務(wù)模塊和鏈路故障檢測模塊;以及包括一通訊API應(yīng)用程序接口; 所述的驅(qū)動模塊、網(wǎng)絡(luò)通訊協(xié)議模塊、消息服務(wù)模塊和鏈路故障檢測模塊相互 連接后均與通訊API應(yīng)用程序接口相連接;所述的成員組通訊系統(tǒng)層至少封裝 有組成員管理模塊、外部故障檢測模塊、組播模塊,各模塊相互連接;所述的 分布式控制接口層至少封裝有分布式控制模塊、狀態(tài)機(jī)控制模塊、Checkpoint 服務(wù)模塊、動態(tài)競選模塊和分布式虛擬同步數(shù)據(jù)存儲模塊,各模塊相互連接; 所述的應(yīng)用服務(wù)層封裝有至少包括監(jiān)控模塊、文件服務(wù)模塊、時間服務(wù)模塊、 日志服務(wù)模塊的各種應(yīng)用模塊,各模塊相互連接。為了提供這種適用于基于ATCA架構(gòu)的主/主型熱備份高可用性系統(tǒng),我 們首先要提出一種靈活的、模塊化的和可動態(tài)裝卸載的高可用性組件框架模型 結(jié)構(gòu)。為了符合ATCA高級電信計算架構(gòu)平臺的系統(tǒng)要求,我們的高可用性框 架模型結(jié)構(gòu)由四個主要的層次構(gòu)成通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式 控制接口層和應(yīng)用服務(wù)層。其中最低層的通訊驅(qū)動層提供各種適配底層硬件所對應(yīng)的網(wǎng)絡(luò)協(xié)議模塊, 可以為上層提供單播和組播消息服務(wù)能力,同時也提供相關(guān)的失效檢測機(jī)制。 成員組通訊系統(tǒng)層提供組成員管理、外部故障檢測和可靠的組播機(jī)制和成員組 內(nèi)的組播消息算法。分布式控制接口層建立一個成員組系統(tǒng)和應(yīng)用服務(wù)層之間 的通道,為應(yīng)用服務(wù)層提供更易于調(diào)用成員組通訊系統(tǒng)層的一個標(biāo)準(zhǔn)服務(wù)接口 以及分布式控制、狀態(tài)機(jī)控制、checkpoint模塊、消息模塊和動態(tài)選舉機(jī)制模 塊等豐富功能。應(yīng)用服務(wù)層包括各種為用戶定制的服務(wù)應(yīng)用程序,例如系統(tǒng)監(jiān) 控模塊、文件服務(wù)模塊、日志服務(wù)模塊和時間服務(wù)模塊。這個高可用性框架本身就是基于組件化的獨立模塊組成。各層之間以及各個模塊之間都是通過消息服務(wù)模塊提供的同步和異步消息機(jī)制來進(jìn)行通訊的。 每一層都可以由其他提供不同特性具有相同服務(wù)功能的模塊層所替換。這種框 架允許軟件模塊使用共享庫、靜態(tài)庫或插件技術(shù)來實現(xiàn)模塊的替換。下面詳細(xì) 介紹各個層。(1) 通訊驅(qū)動層目前ATCA高級電信計算架構(gòu)系統(tǒng)支持許多種網(wǎng)絡(luò)技術(shù),例如Ethernet 、 Infmiband、 StarFabric、 PCI Express、 RapidIO等多種交換協(xié)議。我們的高可用 性框架可以支持ATCA硬件提供商所支持的各種網(wǎng)絡(luò)技術(shù)以及現(xiàn)存的協(xié)議標(biāo) 準(zhǔn)。利用通訊驅(qū)動層可以在高可用節(jié)點設(shè)備之間建立起有效的通訊機(jī)制,以便 使這些設(shè)備通過分布式控制接口層來更好的為上層應(yīng)用服務(wù)提供網(wǎng)絡(luò)通訊服 務(wù)。使用通訊驅(qū)動層來適配不同的網(wǎng)絡(luò)技術(shù)并抽象出統(tǒng)一的通訊API應(yīng)用程序 接口,可以提高系統(tǒng)的互換性和互操作性,這一概念并非新東西。例如Open HPI 就是使用這種基于組件化的框架的概念和封裝通訊驅(qū)動層的概念來實現(xiàn)抽象 底層硬件的共性,實現(xiàn)ATCA系統(tǒng)的互換性和互操作性。消息服務(wù)模塊指的是緩存的消息傳遞系統(tǒng),可以提供相同節(jié)點上不同任務(wù) 或不同節(jié)點間消息隊列。 一條消息隊列允許多對一的通訊。當(dāng)消息隊列關(guān)閉時, 如果消息還沒有使用,消息服務(wù)模塊必須保留消息到使用完為止。即當(dāng)主用活 動節(jié)點失效后,備用節(jié)點負(fù)責(zé)接收并處理相應(yīng)的消息,直到備用節(jié)點倒換生效 后,消息服務(wù)模塊才徹底刪除此消息。這種設(shè)計才能使得系統(tǒng)具有更高的可用 性。本模塊可以在應(yīng)用層實現(xiàn),但是出于效率和性能要求的考慮,筆者強(qiáng)烈建 議通過動態(tài)內(nèi)核模塊加載的形式實現(xiàn),并將其放在模型中的通訊驅(qū)動層。此外,目前通訊驅(qū)動層僅僅提供處理原始數(shù)據(jù)報文的接口,高層協(xié)議主要 在成員組通訊系統(tǒng)層來進(jìn)行管理的。這一層主要借鑒和參考RMIX框架模型, 提供動態(tài)的、支持系統(tǒng)異構(gòu)性(諸如字節(jié)序和高級協(xié)議等)、可重新配置的通 訊框架。(2) 成員組通訊系統(tǒng)層 成員組通訊系統(tǒng)層包含所有必要的協(xié)議和業(yè)務(wù),這些協(xié)議和業(yè)務(wù)都是服務(wù)于主/主型熱備份高可用性框架,并且通過分布式控制接口層為上層應(yīng)用服務(wù)提供組成員間通訊服務(wù)的,同時也適合于主/從型熱備份高可用性系統(tǒng)等其他高可 用性系統(tǒng)模型中為多個熱備份的從設(shè)備提供狀態(tài)信息一致性復(fù)制服務(wù)。成員組 通訊系統(tǒng)層也提供組成員管理、外部故障監(jiān)測、可靠的組播機(jī)制和成員組內(nèi)的 組播消息算法。本層有許多第三方中間件和開源中間件項目可供參考,例如SA論壇中AIS應(yīng)用接口說明書中AMF高可用性管理框架就可以作為參考模型。 由于不是本說明書的重點,故不作詳細(xì)討論。(3) 分布式控制接口層 分布式控制接口層所支持的應(yīng)用程序接口 API要基于應(yīng)用特性實現(xiàn)。確定性對稱式應(yīng)用可以使用內(nèi)存、文件、狀態(tài)機(jī)和數(shù)據(jù)庫的接口實現(xiàn),不確定性非 對稱式應(yīng)用可以使用分布式控制接口和遠(yuǎn)程過程調(diào)用(RPC)接口實現(xiàn)。這些 應(yīng)用屬性完全基于成員組通訊系統(tǒng)層的要求,例如任務(wù)調(diào)度的批處理程序在一 個集群系統(tǒng)中的所有主用的活動節(jié)點上運行,并且維護(hù)著一個全局性的狀態(tài)信 息。每個活動節(jié)點都會以相同的順序接收這些狀態(tài)的改變并維護(hù)一致的狀態(tài)信 息。任務(wù)調(diào)度請求信息送達(dá)到這些活動節(jié)點中的任意一個,導(dǎo)致了狀態(tài)信息改 變,其他的活動節(jié)點也將以相同的順序接收到這些請求。利用控制狀態(tài)機(jī)機(jī)制, 保證任務(wù)調(diào)度程序的流程對于成員組通訊系統(tǒng)中的每個節(jié)點都是確定的。當(dāng)流 程結(jié)束時,檢査在系統(tǒng)中的狀態(tài)信息是否符合仲裁規(guī)則,若符合,則更新信息 到分布式虛擬同步數(shù)據(jù)庫,否則認(rèn)為狀態(tài)更新信息無效。Checkpoint服務(wù)模塊為系統(tǒng)提供追加記錄數(shù)據(jù)檢測點的功能。當(dāng)系統(tǒng)中某 個節(jié)點由于故障而引起失效時,系統(tǒng)可以將失效節(jié)點從數(shù)據(jù)故障點重新恢復(fù)回 來。這種checkpoint服務(wù)主要用于獲取失效前的檢測數(shù)據(jù)并從失效前的記錄狀 態(tài)繼續(xù)運行,從而減小故障所產(chǎn)生的影響。Checkpoint數(shù)據(jù)是全局有效的,系 統(tǒng)中的每個活動節(jié)點的checkpoint數(shù)據(jù)都會生成一份復(fù)制通過消息服務(wù)模塊發(fā) 送到相應(yīng)的備用節(jié)點上,以防止此活動節(jié)點的失效而導(dǎo)致系統(tǒng)相關(guān)服務(wù)的中 斷。(4) 應(yīng)用服務(wù)層本說明書中涉及的高可用性框架由于底層設(shè)計方面的靈活和強(qiáng)大功能,故 可以提供很多不同類型的應(yīng)用,支持各種不同的計算場合的需要。這些應(yīng)用包 括系統(tǒng)監(jiān)控服務(wù)、文件系統(tǒng)服務(wù)、日志服務(wù)、名字服務(wù)、時間服務(wù)等用戶定制的各種服務(wù)。
權(quán)利要求1.一種基于高級電信計算平臺的高可用性系統(tǒng),其特征在于,從底層至高層依次包括通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式控制接口層、應(yīng)用服務(wù)層,所述的通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式控制接口層和應(yīng)用服務(wù)層依次連接。
2. 根據(jù)權(quán)利要求1所述的一種基于高級電信計算平臺的高可用性系統(tǒng), 其特征在于,所述的通訊驅(qū)動層至少封裝有適配于底層硬件的驅(qū)動模塊、網(wǎng)絡(luò) 通訊協(xié)議模塊、消息服務(wù)模塊和鏈路故障檢測模塊;以及包括一通訊API應(yīng)用 程序接口;所述的驅(qū)動模塊、網(wǎng)絡(luò)通訊協(xié)議模塊、消息服務(wù)模塊和鏈路故障檢 測模塊相互連接后均與通訊API應(yīng)用程序接口相連接。
3. 根據(jù)權(quán)利要求1所述的一種基于高級電信計算平臺的高可用性系統(tǒng), 其特征在于,所述的成員組通訊系統(tǒng)層至少封裝有組成員管理模塊、外部故障 檢測模塊、組播模塊,各模塊相互連接。
4. 根據(jù)權(quán)利要求1所述的一種基于高級電信計算平臺的高可用性系統(tǒng), 其特征在于,所述的分布式控制接口層至少封裝有分布式控制模塊、狀態(tài)機(jī)控 制模塊、Checkpoint服務(wù)模塊、動態(tài)競選模塊和分布式虛擬同步數(shù)據(jù)存儲模塊, 各模塊相互連接。
5. 根據(jù)權(quán)利要求1所述的一種基于高級電信計算平臺的高可用性系統(tǒng), 其特征在于,所述的應(yīng)用服務(wù)層封裝有至少包括監(jiān)控模塊、文件服務(wù)模塊、時 間服務(wù)模塊、日志服務(wù)模塊的各種應(yīng)用模塊,各模塊相互連接。
專利摘要本實用新型涉及一種基于高級電信計算平臺的高可用性系統(tǒng),從底層至高層依次包括通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式控制接口層、應(yīng)用服務(wù)層,所述的通訊驅(qū)動層、成員組通訊系統(tǒng)層、分布式控制接口層和應(yīng)用服務(wù)層依次連接。與現(xiàn)有技術(shù)相比,本實用新型的靈活性、動態(tài)化、基于組件式的高可用性結(jié)構(gòu)可以極大地提高系統(tǒng)的無故障持續(xù)工作能力,充分滿足基于ATCA架構(gòu)系統(tǒng)的電信級99.999%的高可靠性和高可用性要求,大大優(yōu)于傳統(tǒng)集中式單點控制型的高可用系統(tǒng)可持續(xù)服務(wù)能力。
文檔編號H04L12/24GK201122978SQ20072019856
公開日2008年9月24日 申請日期2007年11月29日 優(yōu)先權(quán)日2007年11月29日
發(fā)明者剛 孫, 張奇智, 杰 李 申請人:上海未來寬帶技術(shù)及應(yīng)用工程研究中心有限公司