[發(fā)明專利]一種用于分布式程序的容錯方法和系統(tǒng)有效
| 申請?zhí)枺?/td> | 200910243944.0 | 申請日: | 2009-12-25 |
| 公開(公告)號: | CN101777020A | 公開(公告)日: | 2010-07-14 |
| 發(fā)明(設計)人: | 不公告發(fā)明人 | 申請(專利權(quán))人: | 北京訊鳥軟件有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100086北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 用于 分布式 程序 容錯 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本申請涉及一種容錯方法和系統(tǒng),具體而言,涉及一種用于分布式程序的容錯方法和系統(tǒng)。?
背景技術(shù)
監(jiān)視程序是監(jiān)視計算機進程運行狀態(tài)的程序,當監(jiān)視程序確定被監(jiān)視的計算機進程出現(xiàn)未運行的情況或出現(xiàn)異常的狀況時,監(jiān)視程序嘗試啟動或重新啟動所述被監(jiān)視的計算機進程。截至目前,這種監(jiān)視程序都只能監(jiān)視本機的計算機進程,其對本機上的進程按順序來操作,如果其中的一個進程出現(xiàn)了異常則會按照啟動順序來啟動其所監(jiān)視的進程。?
但隨著對計算機運行能力的日益增大的需求,很多任務已無法由單個計算機處理完成。在此背景下,分布式程序應運而生,因其具有資源共享,負載均衡,安全性高等優(yōu)點,所以分布式程序的應用越來越廣泛。分布式程序利用網(wǎng)絡技術(shù)在分布式計算機系統(tǒng)中的幾臺計算機上同時協(xié)同執(zhí)行程序來共同完成一項任務。但一個新的問題是現(xiàn)有的本機進程狀態(tài)監(jiān)視程序已難以應對分布式程序的狀態(tài)監(jiān)視任務。因此,當分布式程序出錯時,管理員必須到分布式計算機系統(tǒng)中的各個計算機處分別查看進程的出錯情況,這將消耗管理員大量的時間和精力。?
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于分布式程序的容錯方法和系統(tǒng),其能按順序啟動部署在不同容錯客戶端上的程序進程,當任何一個有依賴關(guān)系的進程崩潰時,容錯服務器可以根據(jù)其上配置好的策略執(zhí)行相應的操作,而容錯客戶端只需要利用現(xiàn)有的監(jiān)視程序執(zhí)行監(jiān)視、負責報告進程狀態(tài)以及接收并執(zhí)行由容錯服務器發(fā)送或由運維人員下發(fā)的指令,就能夠按順序啟動上述進程,以保證工作能正常進行。?
本發(fā)明的目的是通過下述方式實現(xiàn)的:?
本發(fā)明提供了一種用于分布式程序的容錯方法,用于具有容錯服務器和至少一個容錯客戶端的容錯系統(tǒng)中,所述方法包括下述步驟:容錯客戶端利用其進程狀態(tài)狀態(tài)監(jiān)視模塊監(jiān)視其自身運行的分布式程序的進程的狀態(tài);當監(jiān)視到進程狀態(tài)異常時,容錯客戶端利用進程狀態(tài)異常信息生成模塊生成進程狀態(tài)異常信息,并利用通信模塊將所述信息發(fā)送到容錯服務器;容錯服務器通過其通信模塊接收進程狀態(tài)異常信息;容錯服務器利用策略執(zhí)行模塊根據(jù)自動重啟策略或手動重啟策略并按照進程依賴關(guān)系表格中規(guī)定的進程間的依賴關(guān)系執(zhí)行重啟容錯處理,其中所述自動重啟策略或手動重啟策略是利用策略指定模塊預先指定的;在執(zhí)行重啟容錯處理后,容錯客戶端利用通信模塊向容錯服務器報告進程啟動的結(jié)果。?
本發(fā)明還提供了一種用于分布式程序的容錯系統(tǒng),具有容錯服務器和至少一個容錯客戶端。所述容錯服務器包括:通信模塊,用于與容錯客戶端進行通信,接收容錯客戶端發(fā)來的進程狀態(tài)異常信息;策略指定模塊,用于預先指定重啟容錯處理中所使用的自動重啟策略或手動重啟策略;策略執(zhí)行模塊,根據(jù)由策略指定模塊預先制定的策略,執(zhí)行對應的重啟容錯處理;策略數(shù)據(jù)庫,存儲自動重啟策略和手動重啟策略;進程依賴關(guān)系數(shù)據(jù)庫,存儲有表示分布式程序進程間依賴關(guān)系的進程依賴關(guān)系表格。所述容錯客戶端包括:進程狀態(tài)監(jiān)視模塊,用于監(jiān)視其自身運行的分布式程序的進程的狀態(tài);進程狀態(tài)異常信息生成模塊,用于在監(jiān)視到進程狀態(tài)異常時生成進程狀態(tài)異常信息;通信模塊,用于與容錯服務器進行通信,將進程狀態(tài)異常信息發(fā)送到容錯服務器。?
通過上述的用于分布式程序的容錯方法和系統(tǒng),可以利用現(xiàn)有的監(jiān)視程序,只需對該程序進行簡單設置,增加進程狀態(tài)異常信息生成模塊和通信模塊(其中進程狀態(tài)異常信息生成模塊用于在監(jiān)視到進程狀態(tài)異常時生成進程狀態(tài)異常信息,通信模塊用于與容錯服務器進行通信,將進程狀態(tài)異常信息發(fā)送到容錯服務器),就可以自動監(jiān)控分布式程序進程的狀態(tài),并當分布式程序進程出錯時可以自動執(zhí)行應對處理,省去了管理員到各臺計算機分別查看進程運行狀況的步驟。此外,當分布式程序進程的部署出現(xiàn)變化時,例如增加新的進程而導致進程關(guān)系的增加、或者現(xiàn)有進程關(guān)系發(fā)生變化,只需要修改或增加策略數(shù)據(jù)庫中相應的策略,同時新增相應的容錯客戶端,而無需更改其他配置,就可以實現(xiàn)相應的容錯機制。?
附圖說明
在下文中將參照附圖描述本發(fā)明的具體實施方式,結(jié)合下述具體描述,本發(fā)明?的各個方面和優(yōu)點將變得顯而易見。在所附附圖中:?
圖1A是根據(jù)本發(fā)明的用于分布式程序的容錯系統(tǒng)的框圖。?
圖1B是根據(jù)本發(fā)明的用于分布式程序的容錯系統(tǒng)的物理部署圖。?
圖2根據(jù)本發(fā)明一個實施方式的用于分布式程序的容錯方法的流程圖。?
圖3是采用基于自動重啟策略的容錯方法的流程圖。?
圖4是采用基于手動重啟策略的容錯方法的流程圖。?
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京訊鳥軟件有限公司,未經(jīng)北京訊鳥軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910243944.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





