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

一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)及切換方法

文檔序號(hào):7780677閱讀:275來源:國知局
一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)及切換方法
【專利摘要】本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體是一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)其切換方法,其特征在于所述的群體決策系統(tǒng)位于系統(tǒng)后臺(tái),由若干臺(tái)交易主機(jī)組成,整體架構(gòu)分為三層:定序?qū)臃?wù)器主機(jī)、通信層服務(wù)器主機(jī)和處理層服務(wù)器主機(jī),構(gòu)成集群的各臺(tái)主機(jī)之間可通過網(wǎng)絡(luò)進(jìn)行通信,通過共享存儲(chǔ)設(shè)備對(duì)文件系統(tǒng)進(jìn)行讀寫訪問,主機(jī)間的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步,保持一致性,負(fù)責(zé)主機(jī)狀態(tài)的轉(zhuǎn)換的高可用模塊,由三個(gè)模塊協(xié)同完成,包括:探針模塊、決策模塊和路由模塊。本發(fā)明同現(xiàn)有技術(shù)相比,提高了服務(wù)器整體性能,其優(yōu)點(diǎn)具體在于:通過二維表交叉集體投票決策的方式,對(duì)故障節(jié)點(diǎn)進(jìn)行物理隔離切換,從而實(shí)現(xiàn)主機(jī)切換及故障隔離,有效的解決了集群腦裂的問題。
【專利說明】一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)及切換方法
[【技術(shù)領(lǐng)域】]
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體是一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)及切換方法。
[【背景技術(shù)】]
[0002]證券交易所是為證券市場(chǎng)提供公共的交易平臺(tái),其中證券核心交易系統(tǒng)作為證券產(chǎn)品實(shí)時(shí)競(jìng)價(jià)撮合的平臺(tái)系統(tǒng),也被稱為競(jìng)價(jià)撮合平臺(tái),屬于關(guān)鍵業(yè)務(wù)系統(tǒng),其性能安全可靠直接關(guān)系到國內(nèi)金融市場(chǎng)的繁榮穩(wěn)定,因此競(jìng)價(jià)撮合平臺(tái)需要保證穩(wěn)定、高可用性。
[0003]根據(jù)Gartner所作的統(tǒng)計(jì),導(dǎo)致系統(tǒng)計(jì)劃外停機(jī)的原因主要是應(yīng)用問題(40%)、操作問題(40%)、操作系統(tǒng)故障(10%)和硬件故障(10%),而這些問題基本在一個(gè)運(yùn)行系統(tǒng)里都能解決,只有很少的問題需要業(yè)務(wù)切換到冷備系統(tǒng),針對(duì)主機(jī)的故障情況,系統(tǒng)需要有熱備,才能具備快速切換的能力,保證業(yè)務(wù)的連續(xù)性,持續(xù)對(duì)外提供服務(wù)。
[0004]目前證券從行業(yè)流行的一主一備的熱備模式,升級(jí)為一主兩備甚至多備的熱備模式,從而可以應(yīng)對(duì)主機(jī)硬件的單點(diǎn)故障。隨著集群內(nèi)主機(jī)規(guī)模的擴(kuò)張,急需解決的問題是主機(jī)狀態(tài)監(jiān)控及切換,在主機(jī)狀態(tài)監(jiān)控集群決策及切換過程中,腦裂是經(jīng)常遇到的問題。在現(xiàn)有解決腦裂的方法中,以paxos和Fast Paxos最為有名,相對(duì)應(yīng)的項(xiàng)目有ZooKeeper等,但paxos算法本身比較復(fù)雜,程序?qū)崿F(xiàn)難度較大,并且無法有效解決活鎖的問題,而當(dāng)遇到腦裂場(chǎng)景,集群內(nèi)需要投票選舉產(chǎn)生一個(gè)LEADER主機(jī),由LEADER主機(jī)進(jìn)行決策,但選舉LEADER的過程同樣復(fù)雜,并面臨著LEADER主機(jī)本身假死異常時(shí),將會(huì)在決策過程中形成較長的延時(shí)。
[
【發(fā)明內(nèi)容】
]
[0005]本發(fā)明的目的在于解決現(xiàn)有技術(shù)中主機(jī)狀態(tài)監(jiān)控集群決策及切換過程中集體腦裂的問題,而paxos算法比較復(fù)雜,程序?qū)崿F(xiàn)難度較大,無法有效解決活鎖的問題,設(shè)計(jì)了一種能提高服務(wù)器整體性能,適用于高可用集群計(jì)算機(jī)系統(tǒng)內(nèi)多機(jī)熱備要求的故障偵測(cè)、診斷決策、故障隔離與切換、恢復(fù)與擴(kuò)展,通過集體投票決策的方式,對(duì)故障節(jié)點(diǎn)進(jìn)行物理隔離切換,奪取共享資源的訪問及處理權(quán),從而實(shí)現(xiàn)主機(jī)切換及故障隔離,支持多臺(tái)交易主機(jī)并行運(yùn)行的高可用集群內(nèi)主機(jī)群體決策系統(tǒng)及切換方法。
[0006]為了實(shí)現(xiàn)上述目的,發(fā)明一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng),所述的群體決策系統(tǒng)位于系統(tǒng)后臺(tái),由若干臺(tái)交易主機(jī)組成,整體架構(gòu)分為三層:定序?qū)臃?wù)器主機(jī)、通信層服務(wù)器主機(jī)和處理層服務(wù)器主機(jī),構(gòu)成集群的各臺(tái)主機(jī)之間可通過網(wǎng)絡(luò)進(jìn)行通信,通過共享存儲(chǔ)設(shè)備對(duì)文件系統(tǒng)進(jìn)行讀寫訪問,主機(jī)間的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步,保持一致性,集群內(nèi)各個(gè)節(jié)點(diǎn)維護(hù)關(guān)于集群所有成員節(jié)點(diǎn)信息,新加入集群的節(jié)點(diǎn)能告知所有主機(jī)自身信息及動(dòng)態(tài)更新路由表,負(fù)責(zé)主機(jī)狀態(tài)的轉(zhuǎn)換的高可用模塊,由三個(gè)模塊協(xié)同完成,包括:探針模塊、決策模塊和路由模塊,探針模塊周期性的訪問本主機(jī)的應(yīng)用程序及資源空閑狀態(tài),判斷本機(jī)的健康狀況,探針模塊把偵測(cè)到得本機(jī)健康狀況通過TCP/IP網(wǎng)絡(luò),在集群內(nèi)廣播,決策模塊收到探針模塊發(fā)送的健康心跳報(bào)文,則通過主動(dòng)和被動(dòng)的方式,判斷發(fā)送健康心跳報(bào)文的主機(jī)是否處于正常狀態(tài),如果決策模塊在本輪的判斷中,沒有發(fā)現(xiàn)系統(tǒng)內(nèi)有異常主機(jī),則繼續(xù)下一輪判斷,如果發(fā)現(xiàn)有異常主機(jī),則通知路由模塊,修改異常主機(jī)的狀態(tài),并修改交易數(shù)據(jù)的路由規(guī)則,做到故障的隔離和切換。
[0007]所述的定序?qū)臃?wù)器主機(jī)負(fù)責(zé)負(fù)載均衡及報(bào)單定序,通信層服務(wù)器主機(jī)接收來自定序?qū)臃?wù)器主機(jī)的訂單,根據(jù)靜態(tài)及動(dòng)態(tài)路由表,選定后臺(tái)交易處理主機(jī),并把訂單轉(zhuǎn)發(fā)到后臺(tái)交易處理層服務(wù)器主機(jī),后臺(tái)交易處理層服務(wù)器主機(jī)接收來自通信主機(jī)的訂單,進(jìn)行轉(zhuǎn)換及撮合處理。
[0008]所述的交易主機(jī)根據(jù)產(chǎn)品集合進(jìn)行分區(qū),同一時(shí)間,屬于同一產(chǎn)品集合的產(chǎn)品只會(huì)在集群內(nèi)某一臺(tái)應(yīng)用主機(jī)上處理,對(duì)某一產(chǎn)品集合,對(duì)應(yīng)有主用交易主機(jī)和備用交易主機(jī),主用機(jī)負(fù)責(zé)該產(chǎn)品集合的證券交易處理,備用機(jī)不進(jìn)行該產(chǎn)品集合的證券交易處理,備用機(jī)通過復(fù)制技術(shù)保持與主用機(jī)的數(shù)據(jù)一致性,在主用機(jī)失效時(shí),備用機(jī)將動(dòng)態(tài)調(diào)整為該產(chǎn)品集合的主用機(jī)。
[0009]所述的路由表負(fù)責(zé)管理各個(gè)產(chǎn)品集合的主用機(jī)、備用機(jī)信息,這些信息被稱為訂單路由信息,主用機(jī)只能定一個(gè),備用機(jī)能定多個(gè),備用機(jī)之間定義接管次序,依次稱為第一備機(jī)、第二備機(jī),以此類推,靜態(tài)路由表指在交易系統(tǒng)啟動(dòng)前預(yù)先定義在文件中的各個(gè)產(chǎn)品集合的主用機(jī)、備用機(jī)信息,動(dòng)態(tài)路由表指實(shí)時(shí)根據(jù)主機(jī)狀態(tài),獲得的各個(gè)產(chǎn)品集合的主用機(jī)、備用機(jī)信息。
[0010]一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)的切換方法,所述的切換方法如下:
[0011]a.探針模塊主動(dòng)偵測(cè)本機(jī)健康狀況,檢查進(jìn)程、共享內(nèi)存、消息隊(duì)列發(fā)生故障,在某個(gè)主機(jī)出現(xiàn)資源耗盡或進(jìn)程掛起類的異常,則會(huì)觸發(fā)探針模塊主動(dòng)偵測(cè)及報(bào)告功能,探針模塊主動(dòng)向系統(tǒng)內(nèi)所有主機(jī)廣播健康信息,主動(dòng)要求把本主機(jī)隔離;系統(tǒng)內(nèi)所有其他主機(jī)收到探針模塊發(fā)送的健康心跳報(bào)告,實(shí)時(shí)對(duì)異常主機(jī)實(shí)施隔離操作,隔離操作分為兩步,第一步是系統(tǒng)內(nèi)所有其他主機(jī)更新到異常主機(jī)的路由表,新的交易數(shù)據(jù)路由到異常主機(jī)的第一備機(jī);第二步是對(duì)異常的主機(jī)實(shí)施物理隔離,在網(wǎng)絡(luò)上隔離異常主機(jī),并開始進(jìn)行對(duì)異常主機(jī)的故障排查及恢復(fù);
[0012]b.如果發(fā)生主機(jī)宕機(jī)、網(wǎng)絡(luò)中斷異常,探針模塊生成的本機(jī)健康心跳報(bào)告無法送達(dá)集群內(nèi)其他主機(jī),此時(shí)觸發(fā)集群內(nèi)群體決策機(jī)制,進(jìn)行無主狀態(tài)的決策,每個(gè)健康主機(jī)獨(dú)立發(fā)起投票,最終的決策綜合了所有的健康主機(jī)的報(bào)告,避免了單點(diǎn)故障導(dǎo)致的決策錯(cuò)誤,同時(shí)也保證了系統(tǒng)內(nèi)決策的依據(jù)、結(jié)果的統(tǒng)一,即使群體決策錯(cuò)誤,也會(huì)保證整個(gè)系統(tǒng)的健康運(yùn)行及數(shù)據(jù)的一致性,如果發(fā)生主機(jī)宕機(jī),則系統(tǒng)內(nèi)所有其他主機(jī)偵測(cè)到故障主機(jī)連續(xù)若干次沒有按時(shí)送達(dá)健康心跳報(bào)文簽到;所有主機(jī)把異常主機(jī)的診斷結(jié)果互相發(fā)送給其它主機(jī),也即系統(tǒng)內(nèi)所有主機(jī)都在本地實(shí)時(shí)維護(hù)一張二維表,存儲(chǔ)各臺(tái)主機(jī)上對(duì)故障狀態(tài)的判斷,系統(tǒng)內(nèi)所有主機(jī)根據(jù)本地匯總的診斷信息進(jìn)行決策,修改本地存儲(chǔ)的路由表;并對(duì)異常主機(jī)進(jìn)行隔離;隔離后,對(duì)異常主機(jī)進(jìn)行故障排查及恢復(fù);
[0013]c.如果主機(jī)從故障中恢復(fù),加入集群并實(shí)施數(shù)據(jù)裝載,在不打斷當(dāng)前主用機(jī)的正常業(yè)務(wù)處理的前提下,故障主機(jī)與正常熱備機(jī)完成數(shù)據(jù)同步,則能在十秒內(nèi)完成自動(dòng)恢復(fù)和切換,首先探針模塊偵測(cè)到本機(jī)故障解除后,探針模塊會(huì)向集群內(nèi)發(fā)送廣播,申請(qǐng)重新加入集群,系統(tǒng)內(nèi)所有其他主機(jī),在連續(xù)若干次收到故障的恢復(fù)正常請(qǐng)求后,判斷故障確實(shí)恢復(fù)正常;系統(tǒng)內(nèi)所有其他主機(jī)對(duì)故障主機(jī)實(shí)施恢復(fù)操作,重新計(jì)算到故障主機(jī)的動(dòng)態(tài)路由表。
[0014]上述的切換方法還包括:在集群成員主機(jī)的狀態(tài)發(fā)生變化時(shí),動(dòng)態(tài)路由表將重新計(jì)算,在主機(jī)失效時(shí),系統(tǒng)內(nèi)各臺(tái)主機(jī)都會(huì)進(jìn)行信息綜合及處理,全部重新計(jì)算動(dòng)態(tài)路由表,該故障主機(jī)原先作為主用機(jī)的產(chǎn)品集合,其第一備機(jī)變?yōu)橹饔脵C(jī),第二備機(jī)遞進(jìn)變?yōu)榈谝粋錂C(jī),以此類推,如果是備機(jī)失效,則只會(huì)調(diào)整本備機(jī)之后的備機(jī)順序,即其后的備機(jī)遞進(jìn)前推,不會(huì)影響優(yōu)先級(jí)更高的主備機(jī)順序,這保證了主用機(jī)失效時(shí)每個(gè)產(chǎn)品集合均由準(zhǔn)備最充分的備用機(jī)最先接管。
[0015]本發(fā)明同現(xiàn)有技術(shù)相比,提高了服務(wù)器整體性能,其優(yōu)點(diǎn)具體在于:
[0016]1.通過二維表交叉集體投票決策的方式,對(duì)故障節(jié)點(diǎn)進(jìn)行物理隔離切換,奪取共享資源的訪問及處理權(quán),從而實(shí)現(xiàn)主機(jī)切換及故障隔離,支持多臺(tái)交易主機(jī)并行運(yùn)行,更適合于分層的集群處理系統(tǒng),比Pams等算法更簡(jiǎn)潔、有效的解決了集群腦裂的問題;
[0017]2.適用于金融行業(yè),滿足關(guān)鍵業(yè)務(wù)高可用性、穩(wěn)定性和可擴(kuò)展性的要求,可用于高可用集群計(jì)算機(jī)系統(tǒng)內(nèi)多機(jī)熱備要求的故障偵測(cè)、診斷決策、故障隔離與切換、恢復(fù)與擴(kuò)展;
[0018]3.在集群系統(tǒng)內(nèi)部署熱備主機(jī),減小冗余,可充分利用主機(jī)計(jì)算能力,成本較低;
[0019]4.采用無Master模式的故障偵測(cè)和切換方法,解決了 Mater故障及切換帶來的風(fēng)險(xiǎn),使整個(gè)集群系統(tǒng)更加簡(jiǎn)單清晰,容錯(cuò)性更強(qiáng)。
[【專利附圖】

【附圖說明】]
[0020]圖1為本發(fā)明中高可用集群部署示意圖;
[0021]圖2為本發(fā)明中交易主機(jī)狀態(tài)轉(zhuǎn)換示意圖;
[0022]圖3為本發(fā)明中交易主機(jī)高可用模塊部署示意圖;
[0023]圖4為本發(fā)明中故障主動(dòng)偵測(cè)流程圖;
[0024]圖5本發(fā)明中主機(jī)狀態(tài)恢復(fù)流程圖;
[0025]指定圖2作為本發(fā)明的摘要附圖。
[【具體實(shí)施方式】]
[0026]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明,這種系統(tǒng)的結(jié)構(gòu)和原理對(duì)本專業(yè)的人來說是非常清楚的。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]本發(fā)明高可用集群內(nèi)主機(jī)群體決策系統(tǒng)分為三層,其中群體決策及切換方法僅適用于通信服務(wù)器層和應(yīng)用服務(wù)器層,在此兩層中,所有通信服務(wù)器和應(yīng)用服務(wù)器的地位是對(duì)等的,也即決策的策略相同。
[0028]本發(fā)明位于業(yè)務(wù)系統(tǒng)后臺(tái),由若干臺(tái)負(fù)責(zé)交易業(yè)務(wù)處理的交易主機(jī)組成,無主節(jié)點(diǎn)主機(jī),整體架構(gòu)分為三層:定序?qū)?、通信層和處理層。定序?qū)迂?fù)責(zé)負(fù)載均衡及報(bào)單定序;通信主機(jī)接收來自定序?qū)拥挠唵?,根?jù)靜態(tài)及動(dòng)態(tài)路由表,選定后臺(tái)交易處理主機(jī),并把訂單轉(zhuǎn)發(fā)到后臺(tái)交易處理主機(jī),后臺(tái)交易主機(jī)接收來自通信主機(jī)的訂單,進(jìn)行轉(zhuǎn)換及撮合處理,集群內(nèi)各個(gè)節(jié)點(diǎn)維護(hù)關(guān)于集群所有成員節(jié)點(diǎn)信息,新加入集群的節(jié)點(diǎn)可告知所有主機(jī)自身信息及動(dòng)態(tài)更新路由表,構(gòu)成集群的各臺(tái)主機(jī)之間可通過網(wǎng)絡(luò)進(jìn)行通信,通過共享存儲(chǔ)設(shè)備對(duì)文件系統(tǒng)進(jìn)行讀寫訪問,主機(jī)間的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步,保持一致性。
[0029]實(shí)施例1
[0030]圖1展示了基于高可用多機(jī)備份技術(shù)的一個(gè)多機(jī)互為熱備的典型的部署方式,圖中有9臺(tái)主機(jī)構(gòu)成一個(gè)集群,由定序服務(wù)器主機(jī)、通信服務(wù)器主機(jī)、應(yīng)用服務(wù)器主機(jī),主機(jī)之間通過TCP/IP網(wǎng)絡(luò)互連以交換數(shù)據(jù)和控制消息,主機(jī)之間通過存儲(chǔ)區(qū)域網(wǎng)絡(luò)共享訪問磁盤。
[0031]實(shí)施例2 [0032]如圖2所示,為本發(fā)明的主機(jī)狀態(tài)示意圖,任務(wù)可以有多種狀態(tài),負(fù)責(zé)主機(jī)狀態(tài)的轉(zhuǎn)換的高可用模塊,由三個(gè)模塊協(xié)同完成,包括:探針模塊、決策模塊和路由模塊。探針模塊周期性的訪問本主機(jī)的應(yīng)用程序及資源空閑狀態(tài),并在高可用集群內(nèi)廣播本主機(jī)健康狀況;決策模塊收到探針模塊發(fā)送的健康心跳報(bào)文,通過主動(dòng)和被動(dòng)的方式,判斷主機(jī)健康狀況;路由模塊,裝載靜態(tài)路由表,并維持動(dòng)態(tài)路由表的更新。探針模塊把偵測(cè)到得本機(jī)健康狀況通過TCP/IP網(wǎng)絡(luò),在高可用集群內(nèi)廣播,決策模塊收到探針模塊發(fā)送的健康心跳報(bào)文,則通過主動(dòng)和被動(dòng)的方式,判斷發(fā)送健康心跳報(bào)文的主機(jī)是否處于正常狀態(tài)。如果決策模塊在本輪的判斷中,沒有發(fā)現(xiàn)系統(tǒng)內(nèi)有異常主機(jī),則繼續(xù)下一輪判斷,如果發(fā)現(xiàn)有異常主機(jī),則通知路由模塊,修改異常主機(jī)的狀態(tài),并修改交易數(shù)據(jù)的路由規(guī)則,做到故障的隔離和切換。
[0033]在主機(jī)高可用模塊開始工作時(shí),初始化其主機(jī)狀態(tài)為“狀態(tài)1-開始初始化”,初始化完成,探針模塊啟動(dòng)計(jì)時(shí)器,如果在計(jì)時(shí)器設(shè)定的時(shí)間觸發(fā),則開始檢查本機(jī)健康狀態(tài),將主機(jī)的狀態(tài)改為“狀態(tài)2-狀態(tài)正在檢查”,此主機(jī)狀態(tài)檢查順利完成,則更改任務(wù)狀態(tài)為“狀態(tài)N-檢查完成狀態(tài)正?!?。如果在探針模塊,發(fā)現(xiàn)由于某種原因而本機(jī)出現(xiàn)異常情況,則修改本機(jī)狀態(tài)為“狀態(tài)異?!保瑫r(shí)決策模塊,定時(shí)對(duì)健康心跳報(bào)文進(jìn)行檢查,在若干次檢查未收到探針模塊發(fā)送的健康心跳報(bào)告后,同樣會(huì)修改故障主機(jī)狀態(tài)為“狀態(tài)異?!?。當(dāng)高可用模塊發(fā)現(xiàn)“主機(jī)狀態(tài)異常”時(shí),主機(jī)不再處理正常交易,開始進(jìn)入“狀態(tài)O-故障恢復(fù)”狀態(tài),人工或自動(dòng)恢復(fù)主機(jī);如果主機(jī)或應(yīng)用程序被重啟,則進(jìn)入狀態(tài)“狀態(tài)1-開始初始化”;否則進(jìn)入狀態(tài)“狀態(tài)2…N-1狀態(tài)正在檢查-狀態(tài)正常”。
[0034]“狀態(tài)1-開始初始化”是初始狀態(tài);“狀態(tài)O-故障恢復(fù)”是終止?fàn)顟B(tài);其它都是中間狀態(tài)。
[0035]實(shí)施例3
[0036]圖3展示了交易主機(jī)的主要功能模塊。決策模塊:接收探針模塊的健康心跳報(bào)文,根據(jù)主機(jī)健康情況修改主機(jī)的狀態(tài)及路由規(guī)則;探針模塊:檢查本機(jī)的應(yīng)用程序及資源空閑,判斷本機(jī)的健康狀態(tài),主動(dòng)以廣播的方式發(fā)送健康心跳報(bào)文;路由模塊:啟動(dòng)時(shí)裝載靜態(tài)路由信息,在集群運(yùn)行時(shí),根據(jù)決策模塊的指令,動(dòng)態(tài)更新路由信息,完成主機(jī)的切換和恢復(fù)。
[0037]在同一個(gè)主機(jī)的各個(gè)模塊間,采用進(jìn)程間通訊的方式,傳遞消息,在不同主機(jī)之間,采用TCP/IP方式,進(jìn)行主機(jī)間通訊。
[0038]根據(jù)證券本身的特殊性,將進(jìn)入交易主機(jī)處理的產(chǎn)品劃分成為不同的產(chǎn)品集合,對(duì)于一個(gè)產(chǎn)品集合,可以有一臺(tái)主機(jī)作為主處理機(jī),可以有多臺(tái)主機(jī)作為備處理機(jī),分別稱為第一備機(jī),第二備機(jī),第三備機(jī)等,對(duì)于一臺(tái)主機(jī)可以同時(shí)主處理多個(gè)產(chǎn)品集合,也可以同時(shí)備處理多個(gè)產(chǎn)品集合。
[0039]本方法中包含一個(gè)實(shí)體內(nèi)容,即靜態(tài)配置路由表,其中寫明了每個(gè)產(chǎn)品集合所對(duì)應(yīng)的主機(jī),第一備機(jī),第二備機(jī)等,路由模塊中的靜態(tài)配置路由表如表1所示:
[0040]表1路由模塊中的靜態(tài)配置路由表
[0041]
【權(quán)利要求】
1.一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng),其特征在于所述的群體決策系統(tǒng)位于系統(tǒng)后臺(tái),由若干臺(tái)交易主機(jī)組成,整體架構(gòu)分為三層:定序?qū)臃?wù)器主機(jī)、通信層服務(wù)器主機(jī)和處理層服務(wù)器主機(jī),構(gòu)成集群的各臺(tái)主機(jī)之間可通過網(wǎng)絡(luò)進(jìn)行通信,通過共享存儲(chǔ)設(shè)備對(duì)文件系統(tǒng)進(jìn)行讀寫訪問,主機(jī)間的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步,保持一致性,集群內(nèi)各個(gè)節(jié)點(diǎn)維護(hù)關(guān)于集群所有成員節(jié)點(diǎn)信息,新加入集群的節(jié)點(diǎn)能告知所有主機(jī)自身信息及動(dòng)態(tài)更新路由表,負(fù)責(zé)主機(jī)狀態(tài)的轉(zhuǎn)換的高可用模塊,由三個(gè)模塊協(xié)同完成,包括:探針模塊、決策模塊和路由模塊,探針模塊周期性的訪問本主機(jī)的應(yīng)用程序及資源空閑狀態(tài),判斷本機(jī)的健康狀況,探針模塊把偵測(cè)到得本機(jī)健康狀況通過TCP/IP網(wǎng)絡(luò),在集群內(nèi)廣播,決策模塊收到探針模塊發(fā)送的健康心跳報(bào)文,則通過主動(dòng)和被動(dòng)的方式,判斷發(fā)送健康心跳報(bào)文的主機(jī)是否處于正常狀態(tài),如果決策模塊在本輪的判斷中,沒有發(fā)現(xiàn)系統(tǒng)內(nèi)有異常主機(jī),則繼續(xù)下一輪判斷,如果發(fā)現(xiàn)有異常主機(jī),則通知路由模塊,修改異常主機(jī)的狀態(tài),并修改交易數(shù)據(jù)的路由規(guī)則,做到故障的隔離和切換。
2.如權(quán)利要求1所述的一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng),其特征在于所述的定序?qū)臃?wù)器主機(jī)負(fù)責(zé)負(fù)載均衡及報(bào)單定序,通信層服務(wù)器主機(jī)接收來自定序?qū)臃?wù)器主機(jī)的訂單,根據(jù)靜態(tài)及動(dòng)態(tài)路由表,選定后臺(tái)交易處理主機(jī),并把訂單轉(zhuǎn)發(fā)到后臺(tái)交易處理層服務(wù)器主機(jī),后臺(tái)交易處理層服務(wù)器主機(jī)接收來自通信主機(jī)的訂單,進(jìn)行轉(zhuǎn)換及撮合處理。
3.如權(quán)利要求1所述的一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng),其特征在于所述的交易主機(jī)根據(jù)產(chǎn)品集合進(jìn)行分區(qū),同一時(shí)間,屬于同一產(chǎn)品集合的產(chǎn)品只會(huì)在集群內(nèi)某一臺(tái)應(yīng)用主機(jī)上處理,對(duì)某一產(chǎn)品集合,對(duì)應(yīng)有主用交易主機(jī)和備用交易主機(jī),主用機(jī)負(fù)責(zé)該產(chǎn)品集合的證券交易處理,備用機(jī)不進(jìn)行該產(chǎn)品集合的證券交易處理,備用機(jī)通過復(fù)制技術(shù)保持與主用機(jī)的數(shù)據(jù)一致性,在主用機(jī)失效時(shí),備用機(jī)將動(dòng)態(tài)調(diào)整為該產(chǎn)品集合的主用機(jī)。
4.如權(quán)利要求1所 述的一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng),其特征在于所述的路由表負(fù)責(zé)管理各個(gè)產(chǎn)品集合的主用機(jī)、備用機(jī)信息,這些信息被稱為訂單路由信息,主用機(jī)只能定一個(gè),備用機(jī)能定多個(gè),備用機(jī)之間定義接管次序,依次稱為第一備機(jī)、第二備機(jī),以此類推,靜態(tài)路由表指在交易系統(tǒng)啟動(dòng)前預(yù)先定義在文件中的各個(gè)產(chǎn)品集合的主用機(jī)、備用機(jī)信息,動(dòng)態(tài)路由表指實(shí)時(shí)根據(jù)主機(jī)狀態(tài),獲得的各個(gè)產(chǎn)品集合的主用機(jī)、備用機(jī)信息。
5.—種如權(quán)利要求1所述的高可用集群內(nèi)主機(jī)群體決策系統(tǒng)的切換方法,其特征在于所述的切換方法如下: a.探針模塊主動(dòng)偵測(cè)本機(jī)健康狀況,檢查進(jìn)程、共享內(nèi)存、消息隊(duì)列發(fā)生故障,在某個(gè)主機(jī)出現(xiàn)資源耗盡或進(jìn)程掛起類的異常,則會(huì)觸發(fā)探針模塊主動(dòng)偵測(cè)及報(bào)告功能,探針模塊主動(dòng)向系統(tǒng)內(nèi)所有主機(jī)廣播健康信息,主動(dòng)要求把本主機(jī)隔離;系統(tǒng)內(nèi)所有其他主機(jī)收到探針模塊發(fā)送的健康心跳報(bào)告,實(shí)時(shí)對(duì)異常主機(jī)實(shí)施隔離操作,隔離操作分為兩步,第一步是系統(tǒng)內(nèi)所有其他主機(jī)更新到異常主機(jī)的路由表,新的交易數(shù)據(jù)路由到異常主機(jī)的第一備機(jī);第二步是對(duì)異常的主機(jī)實(shí)施物理隔離,在網(wǎng)絡(luò)上隔離異常主機(jī),并開始進(jìn)行對(duì)異常主機(jī)的故障排查及恢復(fù); b.如果發(fā)生主機(jī)宕機(jī)、網(wǎng)絡(luò)中斷異常,探針模塊生成的本機(jī)健康心跳報(bào)告無法送達(dá)集群內(nèi)其他主機(jī),此時(shí)觸發(fā)集群內(nèi)群體決策機(jī)制,進(jìn)行無主狀態(tài)的決策,每個(gè)健康主機(jī)獨(dú)立發(fā)起投票,最終的決策綜合了所有的健康主機(jī)的報(bào)告,避免了單點(diǎn)故障導(dǎo)致的決策錯(cuò)誤,同時(shí)也保證了系統(tǒng)內(nèi)決策的依據(jù)、結(jié)果的統(tǒng)一,即使群體決策錯(cuò)誤,也會(huì)保證整個(gè)系統(tǒng)的健康運(yùn)行及數(shù)據(jù)的一致性,如果發(fā)生主機(jī)宕機(jī),則系統(tǒng)內(nèi)所有其他主機(jī)偵測(cè)到故障主機(jī)連續(xù)若干次沒有按時(shí)送達(dá)健康心跳報(bào)文簽到;所有主機(jī)把異常主機(jī)的診斷結(jié)果互相發(fā)送給其它主機(jī),也即系統(tǒng)內(nèi)所有主機(jī)都在本地實(shí)時(shí)維護(hù)一張二維表,存儲(chǔ)各臺(tái)主機(jī)上對(duì)故障狀態(tài)的判斷,系統(tǒng)內(nèi)所有主機(jī)根據(jù)本地匯總的診斷信息進(jìn)行決策,修改本地存儲(chǔ)的路由表;并對(duì)異常主機(jī)進(jìn)行隔離;隔離后,對(duì)異常主機(jī)進(jìn)行故障排查及恢復(fù); C.如果主機(jī)從故障中恢復(fù),加入集群并實(shí)施數(shù)據(jù)裝載,在不打斷當(dāng)前主用機(jī)的正常業(yè)務(wù)處理的前提下,故障主機(jī)與正常熱備機(jī)完成數(shù)據(jù)同步,則能在十秒內(nèi)完成自動(dòng)恢復(fù)和切換,首先探針模塊偵測(cè)到本機(jī)故障解除后,探針模塊會(huì)向集群內(nèi)發(fā)送廣播,申請(qǐng)重新加入集群,系統(tǒng)內(nèi)所有其他主機(jī),在連續(xù)若干次收到故障的恢復(fù)正常請(qǐng)求后,判斷故障確實(shí)恢復(fù)正常;系統(tǒng)內(nèi)所有其他主機(jī)對(duì)故障主機(jī)實(shí)施恢復(fù)操作,重新計(jì)算到故障主機(jī)的動(dòng)態(tài)路由表。
6.如權(quán)利要求5所述的一種高可用集群內(nèi)主機(jī)群體決策系統(tǒng)的切換方法,其特征在于所述的切換方法還包括:在集群成員主機(jī)的狀態(tài)發(fā)生變化時(shí),動(dòng)態(tài)路由表將重新計(jì)算,在主機(jī)失效時(shí),系統(tǒng)內(nèi)各臺(tái)主機(jī)都會(huì)進(jìn)行信息綜合及處理,全部重新計(jì)算動(dòng)態(tài)路由表,該故障主機(jī)原先作為主用機(jī)的產(chǎn)品集合,其第一備機(jī)變?yōu)橹饔脵C(jī),第二備機(jī)遞進(jìn)變?yōu)榈谝粋錂C(jī),以此類推,如果是備機(jī)失效,則只會(huì)調(diào)整本備機(jī)之后的備機(jī)順序,即其后的備機(jī)遞進(jìn)前推,不會(huì)影響優(yōu)先 級(jí)更高的主備機(jī)順序,這保證了主用機(jī)失效時(shí)每個(gè)產(chǎn)品集合均由準(zhǔn)備最充分的備用機(jī)最先接管。
【文檔編號(hào)】H04L12/24GK103647668SQ201310689137
【公開日】2014年3月19日 申請(qǐng)日期:2013年12月16日 優(yōu)先權(quán)日:2013年12月16日
【發(fā)明者】郭鵬光, 武劍鋒, 王泊, 張佳嶺, 朱星垠, 黃寅飛, 白碩 申請(qǐng)人:上海證券交易所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1