亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種異構(gòu)平臺上高可用系統(tǒng)的設(shè)計方法

文檔序號:6368804閱讀:284來源:國知局
專利名稱:一種異構(gòu)平臺上高可用系統(tǒng)的設(shè)計方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機高可用系統(tǒng)技術(shù)',具體的說是一種基于異構(gòu)平臺的高可用系統(tǒng)的設(shè)計方法。
背景技術(shù)
在今天的商務(wù)應(yīng)用系統(tǒng)中,系統(tǒng)的穩(wěn)定持續(xù)的運行變得越來越重要,由于計算機系統(tǒng)和硬件都不可能完全消除故障的發(fā)生,而這些故障如果沒有給予相應(yīng)的修復(fù)和挽救措施,將給企業(yè)帶來極大的損失,所以市場對高可靠性的系統(tǒng)的需求將變得非常迫切,特別是金融、電信等對高可靠服務(wù)器產(chǎn)品有特殊需求的應(yīng)用領(lǐng)域。這就需要一個高可用的環(huán)境,保證當(dāng)正在提供服務(wù)的機器宕機或者發(fā)生故障之后,另外的機器可以在短時間內(nèi)接管服務(wù),并且保證能夠把出現(xiàn)問題的機器自動啟動,使其恢復(fù)到初始狀態(tài)。高可用系統(tǒng)的目的就是為了給用戶提供一個可靠的運行環(huán)境,可用由兩臺以上的 服務(wù)器組成一個高可用集群,高可用系統(tǒng)會對集群中的各種應(yīng)用、資源及系統(tǒng)狀態(tài)等進行監(jiān)控,當(dāng)發(fā)現(xiàn)某臺服務(wù)器上出現(xiàn)系統(tǒng)異常(如宕機、網(wǎng)絡(luò)鏈接中斷等)時,將其上運行的應(yīng)用切換到別的服務(wù)器上,并隔離出現(xiàn)故障的服務(wù)器,而且在整個切換過程中,不需要任何的人為干預(yù),保證用戶使用的連續(xù)性。目前市場上雖然有很多高可用的產(chǎn)品,但都只能在同構(gòu)的服務(wù)器上使用,在需要擴大系統(tǒng)規(guī)模時,不能方便的增加與現(xiàn)有系統(tǒng)架構(gòu)不同的服務(wù)器。異構(gòu)的高可用系統(tǒng)會遇到的主要問題有
1)編譯環(huán)境差別。各平臺的編譯器會存在差別,雖然可能都遵循IS0/ANSI標(biāo)準(zhǔn),但遵守的嚴(yán)格程度存在一些差異。編譯器的調(diào)用使用方面也存在很多差異,比如AIX鏈接器使用擴展的通用目標(biāo)文件格式(XCOFF格式),LINUX鏈接器采用可執(zhí)行可鏈接格式(ELF格式),因此在編寫不同平臺上的高可用系統(tǒng)時,需要針對其編譯環(huán)境做相應(yīng)的調(diào)整;
2)系統(tǒng)I/O差別。高級I/O操作select()需要注意平臺間的兼容性。比如在AIX上select ()函數(shù)用于用戶I/O復(fù)用的同時還提供異常和事件處理,但Linux上的事件和異常通知必須同時使用sigprocmask系統(tǒng)調(diào)用;
3)網(wǎng)絡(luò)通信差別。由于不同的平臺采用的字節(jié)序不同,因此在不同架構(gòu)的機器進行網(wǎng)絡(luò)通信傳遞數(shù)據(jù)時,可能一部分平臺需要字節(jié)序的轉(zhuǎn)換,一部分平臺則不需要;
4)應(yīng)用程序差別。高可用系統(tǒng)需要對服務(wù)器上的各種用戶應(yīng)用程序進行監(jiān)控,不同的系統(tǒng)上的系統(tǒng)實現(xiàn)的差異體現(xiàn)在面向?qū)ο蠡蛎嫦蜻^程的設(shè)計思路選擇,進程通信方式的選擇,編程語言的選擇等;
5)其他進程間通信方式和系統(tǒng)API差別。包括信號機制、消息隊列、套接字、管道等,各個平臺存在差異。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種異構(gòu)平臺上實現(xiàn)高可用系統(tǒng)的設(shè)計方法。
本發(fā)明的目的是按以下方式實現(xiàn)的,本發(fā)明的技術(shù)方案是
1)為異構(gòu)平臺高可用系統(tǒng)設(shè)計盡可能使用相同的架構(gòu)
對不同的平臺設(shè)計相同的架構(gòu)可以減少大量的編碼時間,同時降低系統(tǒng)復(fù)雜度。對不同的系統(tǒng)平臺來說,在操作系統(tǒng)層面最大的區(qū)別主要是系統(tǒng)庫的區(qū)別而導(dǎo)致的系統(tǒng)接口的區(qū)別,在設(shè)計階段即考慮各 個平臺系統(tǒng)庫的區(qū)別,根據(jù)這些區(qū)別設(shè)計出盡可能能夠滿足雙方系統(tǒng)要求的架構(gòu),極大的減少了系統(tǒng)的復(fù)雜度,顯著減少了開發(fā)周期;
2)對可擴展的模塊使用動態(tài)鏈接庫
由于高可用系統(tǒng)的一些模塊實現(xiàn)可能依賴與具體平臺(比如在操作底層的設(shè)備文件時,ioctl函數(shù)在AIX與Linux平臺上并不兼容),對這些模塊采取動態(tài)鏈接庫的方式,可以在保證系統(tǒng)的主體功能的前提下,針對各個平臺開發(fā)相應(yīng)的功能模塊;
3)對與應(yīng)用有關(guān)的模塊使用腳本語言編寫
可降低對底層架構(gòu)的依賴;
4)適當(dāng)減少對應(yīng)用程序接管的考慮
由于不同系統(tǒng)的應(yīng)用系統(tǒng)特性可能不完全相同,比如,應(yīng)用程序異構(gòu)性的體現(xiàn)之一是應(yīng)用程序是否對用戶透明,即用戶是否知道系統(tǒng)內(nèi)部的運行狀態(tài),抑或只能接受應(yīng)用程序所提供的功能與服務(wù),在不同平臺上的設(shè)計可能不同。在系統(tǒng)具有較強擴展性的情況下,按需設(shè)計必要的應(yīng)用系統(tǒng)接管,可以降低系統(tǒng)的復(fù)雜性;
5)系統(tǒng)實現(xiàn)層次限定為用戶層
對Linux系統(tǒng)來說,程序運行在內(nèi)核層可以獲得更多的特權(quán),對主機狀態(tài)能夠做出更精確的判斷,但對異構(gòu)系統(tǒng)來說,而Unix之類的操作系統(tǒng)基本為閉源系統(tǒng),無法進入系統(tǒng)內(nèi)核態(tài)。故為了最大限度保證異構(gòu)高可用系統(tǒng)的通用性,將高可用系統(tǒng)的一切實現(xiàn)都放置在用戶層。本發(fā)明的有益效果是
該方法通過為異構(gòu)平臺高可用系統(tǒng)設(shè)計盡可能使用相同的架構(gòu)、對可擴展的模塊使用動態(tài)鏈接庫、對與應(yīng)用有關(guān)的模塊使用腳本語言編寫、適當(dāng)減少對應(yīng)用程序接管的考慮并將系統(tǒng)實現(xiàn)層次限定為用戶層的方式,實現(xiàn)了異構(gòu)平臺上的高可用系統(tǒng),填補了市場上缺乏異構(gòu)平臺高可用系統(tǒng)的空白。


圖I是異構(gòu)平臺高可用系統(tǒng)的整體架構(gòu)圖。
具體實施例方式參照附圖對本發(fā)明的方法作以下詳細的說明
如附圖所示,本發(fā)明的高可用系統(tǒng)架構(gòu)整個系統(tǒng)結(jié)構(gòu)可分為四層,具體是消息傳遞層、成員層、資源管理層和資源層;
I.消息層
通常也稱為Heartbeat層,集群內(nèi)所有節(jié)點間的消息傳遞均需通過該層,同時,該層還將監(jiān)控各個節(jié)點間的連通狀態(tài),并將其通知CCM (Consensus Cluster membership, 一致性成員資格。用于確定組成集群的成員節(jié)點,并在集群中分享這些成員的信息,任何節(jié)點的并更都由CCM來決定);
Heartbeat支持串口、單播、多播和廣播等多種方式,使用通用的協(xié)議類型,通過管道的形式在集群各個節(jié)點之間進行通信。節(jié)點會通過Heartbeat定期將自己的狀態(tài)發(fā)送給集群中的其他節(jié)點,同時接受來自其他各節(jié)點的狀態(tài)信息;
2.成員層
基于Heartbeat層提供的信息,負責(zé)計算集群中最大的連通集合,確定哪些節(jié)點屬于集群,并將這一信息在各個集群成員中同步,這一工作由CCM模塊來完成;
3.資源分配層
對資源進行分配,由以下的組件組成
集群資源管理器(CRM):
在資源分配層中執(zhí)行的每個操作都要經(jīng)過集群資源管理器。如果本層或更高層中的組件之間需要通訊,均需經(jīng)過本地CRM。在每個節(jié)點上,CRM維護一個集群信息庫(CIB),如果當(dāng)前節(jié)點為DC,則它擁有主CIB ;
集群信息庫(CIB)
用XML的方式來存儲整個集群和當(dāng)前狀態(tài)的配置。它包括所有集群選項、節(jié)點、資源及其關(guān)系和當(dāng)前狀態(tài)的定義。CIB會自動的將更新同步到所有集群節(jié)點上,集群中有一個主CIB,由主CIB的節(jié)點DC維護,其他所有節(jié)點上均包含一個CIB復(fù)本;
策略引擎PE和轉(zhuǎn)換引擎TE
每當(dāng)主CIB的節(jié)點DC需要進行整個集群的更改時,策略引擎就會根據(jù)集群的當(dāng)前狀態(tài)和配置來計算集群的下一個狀態(tài),并由TE來執(zhí)行。主CIB的節(jié)點DC將會將消息發(fā)送給集群中相關(guān)的CRM,CRM會調(diào)用LRM來執(zhí)行必要的操作。PE和TE始終在DC上運行;
主CIB的節(jié)點DC是Designated Coordinator的縮寫,即指定協(xié)調(diào)程序,它指的不是某種特定的設(shè)備,而是具有主CIB的節(jié)點,這個節(jié)點相當(dāng)于集群的控制節(jié)點,只有該節(jié)點才擁有對整個集群執(zhí)行更改(比如屏蔽某個節(jié)點,或是移動資源)的決定權(quán);
本地資源管理器(LRM)
LRM代表CRM調(diào)用本地資源代理,具體的說,它可以執(zhí)行啟動、停止、監(jiān)視資源狀態(tài)等操作,并將結(jié)果報告給CRM。LRM還將隱藏資源代理支持的不同腳本標(biāo)準(zhǔn)之間的差別,便于在不同平臺上對資源進行管理;
4.資源層
包括一個或多個資源代理(RA),僅由LRM調(diào)用。資源代理指為啟動、停止或指控服務(wù)狀態(tài)而編寫的程序,以Shell腳本的形式實現(xiàn),最大程度上避免底層架構(gòu)的影響。同時,如果用戶需要第三方程序,可自行編寫符合標(biāo)準(zhǔn)的腳本放在指定位置,供高可用系統(tǒng)調(diào)用。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種異構(gòu)平臺上實現(xiàn)系統(tǒng)高可用的設(shè)計方法,其特征在于內(nèi)容包括 1)異構(gòu)平臺系統(tǒng)的高可用設(shè)計盡可能使用相同的系統(tǒng)架構(gòu)在設(shè)計階段要考慮各個平臺系統(tǒng)庫的區(qū)別,根據(jù)這些區(qū)別設(shè)計出盡可能能夠滿足雙方系統(tǒng)要求的系統(tǒng)架構(gòu),盡量減少了系統(tǒng)的復(fù)雜度,減少開發(fā)周期; 2)對可擴展的模塊使用動態(tài)鏈接庫由于高可用系統(tǒng)的一些模塊實現(xiàn)可能依賴于具體平臺,對這些模塊采取動態(tài)鏈接庫的方式,在保證系統(tǒng)的主體功能的前提下,針對各個平臺開發(fā)相應(yīng)的功能模塊; 3)對與應(yīng)用有關(guān)的模塊使用腳本語言編寫以降低對底層架構(gòu)的依賴; 4)適當(dāng)減少對應(yīng)用程序接管的考慮在系統(tǒng)具有較強擴展性的情況下,按需設(shè)計必要的應(yīng)用系統(tǒng)接管,降低系統(tǒng)的復(fù)雜性; 5)系統(tǒng)實現(xiàn)層次限定為用戶層為最大限度保證異構(gòu)高可用系統(tǒng)的通用性,將高可用系統(tǒng)的一切實現(xiàn)都放置在用戶層; 具體實施步驟如下 實現(xiàn)系統(tǒng)架構(gòu)的高可用,整個系統(tǒng)結(jié)構(gòu)分為消息傳遞層、成員層、資源管理層和資源層,其中 O消息層 通常也稱為Heartbeat層,集群內(nèi)所有節(jié)點間的消息傳遞均需通過該層,同時,該層還將監(jiān)控各個節(jié)點間的連通狀態(tài),并將其通知一致性成員資格CCM,一致性成員資格CCM用于確定組成集群的成員節(jié)點,并在集群中分享這些成員的信息,任何節(jié)點的并更都由CCM來決定; Heartbeat支持串口、單播、多播和廣播多種方式,使用通用的協(xié)議類型,通過管道的形式在集群各個節(jié)點之間進行通信,節(jié)點會通過Heartbeat定期將自己的狀態(tài)發(fā)送給集群中的其他節(jié)點,同時接受來自其他各節(jié)點的狀態(tài)信息; 2)成員層 基于Heartbeat層提供的信息,負責(zé)計算集群中最大的連通集合,確定哪些節(jié)點屬于集群,并將這一信息在各個集群成員中同步,這一工作由CCM模塊來完成; 3)資源分配層 對資源進行分配,由以下的組件組成 (1)集群資源管理器CRM: 在資源分配層中執(zhí)行的每個操作都要經(jīng)過集群資源管理器CRM,如果本層或更高層中的組件之間需要通訊,均需經(jīng)過本地集群資源管理器CRM,在每個節(jié)點上,集群資源管理器CRM維護一個集群信息庫CIB,如果當(dāng)前節(jié)點為DC,則它擁有主CIB ; (2)集群信息庫CIB 用XML的方式來存儲整個集群和當(dāng)前狀態(tài)的配置,它包括所有集群選項、節(jié)點、資源及其關(guān)系和當(dāng)前狀態(tài)的定義,集群信息庫CIB會自動的將更新同步到所有集群節(jié)點上,集群中有一個主集群信息庫CIB,由主CIB的節(jié)點DC維護,其他所有節(jié)點上均包含一個集群信息庫CIB復(fù)本; (3)策略引擎PE和轉(zhuǎn)換引擎TE 每當(dāng)主CIB的節(jié)點DC需要進行整個集群的更改時,策略引擎就會根據(jù)集群的當(dāng)前狀態(tài)和配置來計算集群的下一個狀態(tài),并由TE來執(zhí)行,主CIB的節(jié)點DC將會將消息發(fā)送給集群中相關(guān)的CRM,CRM會調(diào)用LRM來執(zhí)行必要的操作,策略引擎PE和轉(zhuǎn)換引擎TE始終在主CIB的節(jié)點DC上運行; 主CIB的節(jié)點DC是Designated Coordinator的縮寫,即指定協(xié)調(diào)程序,它指的不是某種特定的設(shè)備,而是具有主CIB的節(jié)點,這個節(jié)點相當(dāng)于集群的控制節(jié)點,只有該節(jié)點才擁有對整個集群執(zhí)行更改的決定權(quán),包括屏蔽某個節(jié)點或是移動資源的更改決定權(quán); (4)本地資源管理器LRM 本地資源管理器LRM代表集群資源管理器CRM調(diào)用本地資源代理,具體的說,它可以執(zhí)行啟動、停止、監(jiān)視資源狀態(tài)等操作,并將結(jié)果報告給集群資源管理器CRM,本地資源管理器LRM還將隱藏資源代理支持的不同腳本標(biāo)準(zhǔn)之間的差別,便于在不同平臺上對資源進行管理; 4)資源層 包括一個或多個資源代理RA,僅由本地資源管理器LRM調(diào)用,資源代理RA指為啟動、停止或指控服務(wù)狀態(tài)而編寫的程序,以Shell腳本的形式實現(xiàn),最大程度上避免底層架構(gòu)的影響,同時,如果用戶需要第三方程序,可自行編寫符合標(biāo)準(zhǔn)的腳本放在指定位置,供高可用系統(tǒng)調(diào)用。
全文摘要
本發(fā)明提供了一種在異構(gòu)平臺上實現(xiàn)系統(tǒng)高可用的設(shè)計方法,該方法通過為異構(gòu)平臺高可用系統(tǒng)設(shè)計盡可能使用相同的架構(gòu)、對可擴展的模塊使用動態(tài)鏈接庫、對與應(yīng)用有關(guān)的模塊使用腳本語言編寫、適當(dāng)減少對應(yīng)用程序接管的考慮并將系統(tǒng)實現(xiàn)層次限定為用戶層的方式,實現(xiàn)了異構(gòu)平臺上的高可用系統(tǒng),填補了市場上缺乏異構(gòu)平臺高可用系統(tǒng)的空白。
文檔編號G06F9/44GK102707951SQ201210128969
公開日2012年10月3日 申請日期2012年4月28日 優(yōu)先權(quán)日2012年4月28日
發(fā)明者吳楠, 謝若鴻 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1