專利名稱:基于代理進(jìn)程的雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法
技術(shù)領(lǐng)域:
本發(fā)明涉及雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法,尤其涉及一種基于代理進(jìn)程的雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法。
背景技術(shù):
在電信系統(tǒng)的后臺服務(wù)器端,一般都采用雙機(jī)系統(tǒng),以保證應(yīng)用系統(tǒng)在異常情況下業(yè)務(wù)能夠及時(shí)恢復(fù)。傳統(tǒng)的雙機(jī)系統(tǒng)管理應(yīng)用進(jìn)程組的方法一般是把所有應(yīng)用進(jìn)程分別設(shè)定為雙機(jī)資源,并把這些資源組成一個應(yīng)用進(jìn)程資源組,在實(shí)際運(yùn)行過程中,雙機(jī)系統(tǒng)實(shí)時(shí)監(jiān)控該資源組的運(yùn)行情況,根據(jù)雙機(jī)系統(tǒng)的判定規(guī)則,在資源組發(fā)生異常(如進(jìn)程資源退出次數(shù)超過設(shè)定值)并不可恢復(fù)的情況下,雙機(jī)系統(tǒng)發(fā)起雙機(jī)切換,即在主機(jī)側(cè)卸載(offline)應(yīng)用進(jìn)程資源組,并在備機(jī)側(cè)啟動(online)應(yīng)用進(jìn)程資源組。
傳統(tǒng)的雙機(jī)系統(tǒng)管理應(yīng)用進(jìn)程方法存在較大的局限性首先雙機(jī)系統(tǒng)判斷應(yīng)用進(jìn)程資源組的運(yùn)行狀況,如果個別應(yīng)用進(jìn)程反復(fù)出現(xiàn)一些被雙機(jī)系統(tǒng)認(rèn)為異常的現(xiàn)象(如應(yīng)用進(jìn)程正常退出),雙機(jī)系統(tǒng)將發(fā)起雙機(jī)切換,從而影響整個資源組中所有應(yīng)用進(jìn)程的運(yùn)行;其次在雙機(jī)切換時(shí),雙機(jī)系統(tǒng)一般不通知應(yīng)用進(jìn)程資源組,正常運(yùn)行的應(yīng)用進(jìn)程將被強(qiáng)行殺死,無法做退出前的現(xiàn)場清理工作,造成系統(tǒng)癱瘓和業(yè)務(wù)信息丟失;最后,雙機(jī)切換都是由雙機(jī)系統(tǒng)發(fā)起,在一些特殊的情況下,應(yīng)用進(jìn)程資源組無法主動要求執(zhí)行雙機(jī)切換。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提供一種基于代理進(jìn)程的雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法,以提高了應(yīng)用系統(tǒng)的可靠性和安全性。
為實(shí)現(xiàn)本發(fā)明要解決的技術(shù)問題,本發(fā)明提供一種基于雙機(jī)代理進(jìn)程的雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法包括通過在雙機(jī)系統(tǒng)和應(yīng)用進(jìn)程組之間設(shè)置雙機(jī)代理進(jìn)程,將其作為雙機(jī)系統(tǒng)的資源,并且由其管理應(yīng)用進(jìn)程組,定制對應(yīng)用進(jìn)程組的監(jiān)控規(guī)則,對應(yīng)用進(jìn)程組的運(yùn)行進(jìn)行實(shí)時(shí)監(jiān)控;通過在雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程之間設(shè)置共享內(nèi)存區(qū),用于雙機(jī)系統(tǒng)對雙機(jī)代理進(jìn)程的監(jiān)控、通知雙機(jī)代理進(jìn)程及其應(yīng)用系統(tǒng)執(zhí)行安全退出。
本發(fā)明可以根據(jù)實(shí)際情況合理定制關(guān)于應(yīng)用進(jìn)程組的管理規(guī)則,提高了對應(yīng)用進(jìn)程組監(jiān)控的靈活性和有效性,避免個別應(yīng)用進(jìn)程的異常而影響整個應(yīng)用系統(tǒng)的運(yùn)行;實(shí)現(xiàn)雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程的信息交互,提高了應(yīng)用系統(tǒng)的主動性,保證了應(yīng)用進(jìn)程組的安全退出,有效地提高了應(yīng)用系統(tǒng)的可靠性和安全性。
圖1雙機(jī)系統(tǒng)、雙機(jī)代理進(jìn)程及應(yīng)用進(jìn)程組之間的關(guān)系圖;圖2雙機(jī)系統(tǒng)和代理進(jìn)程之間交互的控制結(jié)構(gòu)圖;圖3雙機(jī)代理進(jìn)程監(jiān)控應(yīng)用進(jìn)程組的流程圖;圖4雙機(jī)代理進(jìn)程?;钸\(yùn)行的流程圖;圖5雙機(jī)系統(tǒng)監(jiān)控雙機(jī)代理進(jìn)程資源的流程圖;圖6雙機(jī)系統(tǒng)卸載或切換資源時(shí)通知雙機(jī)代理進(jìn)程的流程圖;圖7雙機(jī)代理進(jìn)程接受雙機(jī)切換通知的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖,基本按照附圖的順序?qū)夹g(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述
圖1介紹了雙機(jī)系統(tǒng)、雙機(jī)代理進(jìn)程及應(yīng)用進(jìn)程組之間的關(guān)系。雙機(jī)代理進(jìn)程處于雙機(jī)系統(tǒng)和應(yīng)用程序組中間,擔(dān)當(dāng)了中間層的角色,雙機(jī)代理軟件被定義為雙機(jī)系統(tǒng)的一個資源,根據(jù)雙機(jī)系統(tǒng)提供的接口,負(fù)責(zé)雙機(jī)資源的?;钸\(yùn)行;雙機(jī)代理軟件管理應(yīng)用進(jìn)程組,定制應(yīng)用進(jìn)程組的監(jiān)控規(guī)則,負(fù)責(zé)應(yīng)用進(jìn)程的啟動、停止動作以及資源的雙機(jī)切換。
圖2介紹了雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程之間交互的控制結(jié)構(gòu)。該結(jié)構(gòu)存放在有名共享內(nèi)存中,被雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程同時(shí)操作,2個字段分別為雙機(jī)代理進(jìn)程的保活標(biāo)記和雙機(jī)系統(tǒng)的退出通知標(biāo)記。雙機(jī)代理進(jìn)程定時(shí)t1秒修改共享內(nèi)存中?;顦?biāo)記字段,比如將?;顦?biāo)記字段加1(以下都以?;顦?biāo)記字段定時(shí)加1為例),大于最大值時(shí)清零;雙機(jī)系統(tǒng)監(jiān)控進(jìn)程啟動時(shí)讀取?;顦?biāo)記初始值,循環(huán)延時(shí)t2秒讀取該值,在n*t2秒內(nèi)和初始值進(jìn)行比較。雙機(jī)系統(tǒng)切換或卸載資源時(shí)置位退出標(biāo)記,以通知雙機(jī)代理進(jìn)程。
圖3介紹了一種雙機(jī)代理進(jìn)程關(guān)于應(yīng)用進(jìn)程組的監(jiān)控策略。雙機(jī)代理進(jìn)程t秒定時(shí)觸發(fā),首先將進(jìn)程計(jì)數(shù)和異常計(jì)數(shù)清零,逐一檢查應(yīng)用進(jìn)程組所有進(jìn)程的運(yùn)行狀態(tài)。如果當(dāng)前進(jìn)程i運(yùn)行正常,檢查下一個進(jìn)程;如果進(jìn)程i已退出,雙機(jī)代理進(jìn)程重啟進(jìn)程i,且異常計(jì)數(shù)加1,如果雙機(jī)代理進(jìn)程判斷異常計(jì)數(shù)大于設(shè)定的最大值,雙機(jī)代理進(jìn)程消息通知所有應(yīng)用進(jìn)程組做退出前的現(xiàn)場清理工作,在此過程中,雙機(jī)代理進(jìn)程定時(shí)t3秒查看所有應(yīng)用進(jìn)程的狀態(tài),如果確認(rèn)所有應(yīng)用進(jìn)程已退出,則雙機(jī)代理進(jìn)程調(diào)用雙機(jī)接口發(fā)起雙機(jī)切換,否則直到超時(shí)后雙機(jī)代理進(jìn)程發(fā)起雙機(jī)切換。
上述情況描述了一種常用的監(jiān)控策略,在實(shí)際使用時(shí)可以根據(jù)實(shí)際情況進(jìn)行定制和優(yōu)化。
圖4介紹了雙機(jī)代理進(jìn)程保活運(yùn)行的情況。雙機(jī)代理進(jìn)程定時(shí)t1秒讀取共享內(nèi)存的保活標(biāo)記字段值,當(dāng)該字段值大于最大值時(shí)賦零,否則將?;顦?biāo)記字段值加1。
圖5介紹了雙機(jī)系統(tǒng)監(jiān)控雙機(jī)代理進(jìn)程資源的流程。根據(jù)雙機(jī)代理進(jìn)程的資源配置,雙機(jī)系統(tǒng)啟動一個監(jiān)控進(jìn)程(如Veritas雙機(jī)的MonitorProgram進(jìn)程、Rose HA的Agent進(jìn)程),定時(shí)檢查雙機(jī)代理進(jìn)程資源的運(yùn)行情況,首先監(jiān)控進(jìn)程讀取共享內(nèi)存保活標(biāo)記字段并記錄下初始值,循環(huán)延時(shí)t2秒讀取該值,與初始值進(jìn)行比較。如果在n*t2秒內(nèi),保活標(biāo)記值與記錄初始值不一致,監(jiān)控進(jìn)程向雙機(jī)系統(tǒng)報(bào)告雙機(jī)代理進(jìn)程資源正常;在n*t2秒內(nèi)?;顦?biāo)記始終沒有發(fā)生改變,監(jiān)控進(jìn)程報(bào)告雙機(jī)代理進(jìn)程資源異常,雙機(jī)系統(tǒng)根據(jù)雙機(jī)代理進(jìn)程資源的配置策略決定是否發(fā)起雙機(jī)切換或重新啟動雙機(jī)代理進(jìn)程。
圖6介紹了雙機(jī)系統(tǒng)卸載或切換資源時(shí)通知雙機(jī)代理進(jìn)程的操作情況。當(dāng)雙機(jī)系統(tǒng)執(zhí)行卸載(offline)或切換(failover)雙機(jī)代理進(jìn)程資源時(shí),雙機(jī)系統(tǒng)在共享內(nèi)存區(qū)退出標(biāo)記字段設(shè)置資源退出標(biāo)記。
圖7介紹了雙機(jī)代理進(jìn)程接受雙機(jī)切換通知的實(shí)現(xiàn)流程。當(dāng)雙機(jī)系統(tǒng)執(zhí)行卸載(offline)或切換(failover)雙機(jī)代理進(jìn)程資源時(shí),雙機(jī)系統(tǒng)置位共享內(nèi)存的退出標(biāo)記,要求雙機(jī)代理進(jìn)程退出。雙機(jī)代理進(jìn)程定時(shí)掃描共享內(nèi)存退出標(biāo)記字段值,如發(fā)現(xiàn)該標(biāo)記已被置位,發(fā)消息通知應(yīng)用進(jìn)程組的所有進(jìn)程,應(yīng)用進(jìn)程做進(jìn)程退出前的現(xiàn)場清理工作。在此過程中,雙機(jī)代理進(jìn)程定時(shí)t3秒查看所有應(yīng)用進(jìn)程的運(yùn)行狀態(tài),如果確認(rèn)所有應(yīng)用進(jìn)程已經(jīng)退出,則雙機(jī)代理進(jìn)程立即退出,否則直到超時(shí),雙機(jī)代理進(jìn)程才退出系統(tǒng)。
權(quán)利要求
1.一種基于雙機(jī)代理進(jìn)程的雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法,其特征在于通過在雙機(jī)系統(tǒng)和應(yīng)用進(jìn)程組之間設(shè)置雙機(jī)代理進(jìn)程,將其作為雙機(jī)系統(tǒng)的資源,并且由其管理應(yīng)用進(jìn)程組,定制對應(yīng)用進(jìn)程組的監(jiān)控規(guī)則,對應(yīng)用進(jìn)程組的運(yùn)行進(jìn)行實(shí)時(shí)監(jiān)控;通過在雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程之間設(shè)置共享內(nèi)存區(qū),用于雙機(jī)系統(tǒng)對雙機(jī)代理進(jìn)程的監(jiān)控、通知雙機(jī)代理進(jìn)程及其應(yīng)用系統(tǒng)執(zhí)行安全退出。
2.按照權(quán)利要求1所述的監(jiān)控方法,其特征在于其中所述雙機(jī)代理進(jìn)程對應(yīng)用進(jìn)程組的實(shí)時(shí)監(jiān)控包括在應(yīng)用進(jìn)程異常退出時(shí)裝載應(yīng)用進(jìn)程。
3.按照權(quán)利要求1或2所述的監(jiān)控方法,其特征在于其中所述雙機(jī)代理進(jìn)程對應(yīng)用進(jìn)程組的實(shí)時(shí)監(jiān)控包括在雙機(jī)系統(tǒng)卸載資源或執(zhí)行切換時(shí),負(fù)責(zé)通知應(yīng)用進(jìn)程組。
4.按照權(quán)利要求3所述的監(jiān)控方法,其特征在于其中所述雙機(jī)代理進(jìn)程對應(yīng)用進(jìn)程組的實(shí)時(shí)監(jiān)控包括在雙機(jī)系統(tǒng)運(yùn)行過程中,結(jié)合應(yīng)用進(jìn)程組的整體運(yùn)行情況,判斷在異常情況下主動發(fā)起雙機(jī)切換。
5.按照權(quán)利要求4所述的監(jiān)控方法,其特征在于其中所述的異常情況包括應(yīng)用進(jìn)程組異常退出次數(shù)超過設(shè)定值。
6.按照權(quán)利要求4所述的監(jiān)控方法,其特征在于其中所述的主動發(fā)起雙機(jī)切換包括雙機(jī)代理進(jìn)程發(fā)消息通知所有應(yīng)用進(jìn)程組做退出前的現(xiàn)場清理工作,在此過程中,雙機(jī)代理進(jìn)程定時(shí)查看所有應(yīng)用進(jìn)程的狀態(tài),如果確認(rèn)所有應(yīng)用進(jìn)程已退出,則雙機(jī)代理進(jìn)程調(diào)用雙機(jī)接口發(fā)起雙機(jī)切換,否則直到超時(shí)后雙機(jī)代理進(jìn)程發(fā)起雙機(jī)切換。
7.按照權(quán)利要求1所述的監(jiān)控方法,其特征在于,所述雙機(jī)系統(tǒng)對雙機(jī)代理進(jìn)程的監(jiān)控包括以下步驟(1)雙機(jī)代理進(jìn)程定時(shí)修改共享內(nèi)存區(qū)的?;顦?biāo)記,以表明應(yīng)用進(jìn)程的存活狀態(tài);(2)雙機(jī)系統(tǒng)定時(shí)啟動一個監(jiān)控進(jìn)程,該進(jìn)程在設(shè)定的時(shí)間內(nèi)檢查?;顦?biāo)記是否發(fā)生改變,把檢查結(jié)果反饋給雙機(jī)系統(tǒng),雙機(jī)系統(tǒng)根據(jù)反饋結(jié)果和雙機(jī)代理進(jìn)程資源的配置策略來決定是否發(fā)起雙機(jī)切換或重新啟動雙機(jī)代理進(jìn)程。
8.按照權(quán)利要求7所述的監(jiān)控方法,其特征在于進(jìn)一步包括在設(shè)定時(shí)間內(nèi)?;顦?biāo)記發(fā)生改變時(shí),該監(jiān)控進(jìn)程向雙機(jī)系統(tǒng)報(bào)告雙機(jī)代理進(jìn)程資源正常;在設(shè)定時(shí)間內(nèi)?;顦?biāo)記沒有發(fā)生改變時(shí),報(bào)告雙機(jī)代理進(jìn)程資源異常。
9.按照權(quán)利要求1所述的監(jiān)控方法,其特征在于,所述雙機(jī)系統(tǒng)通知雙機(jī)代理進(jìn)程及其應(yīng)用系統(tǒng)執(zhí)行安全退出包括以下步驟(1)雙機(jī)系統(tǒng)置位共享內(nèi)存區(qū)的退出標(biāo)記,要求雙機(jī)代理進(jìn)程退出;(2)雙機(jī)代理進(jìn)程定時(shí)掃描共享內(nèi)存,如發(fā)現(xiàn)退出標(biāo)記被置位,則發(fā)消息通知所有應(yīng)用進(jìn)程組退出,應(yīng)用進(jìn)程做現(xiàn)場清理工作,雙機(jī)代理進(jìn)程超時(shí)等待所有應(yīng)用進(jìn)程退出后,最后執(zhí)行退出。
全文摘要
基于代理進(jìn)程的雙機(jī)應(yīng)用系統(tǒng)的監(jiān)控方法,涉及通信領(lǐng)域。本發(fā)明的監(jiān)控方法如下通過在雙機(jī)系統(tǒng)和應(yīng)用進(jìn)程組之間設(shè)置雙機(jī)代理進(jìn)程,將其作為雙機(jī)系統(tǒng)的資源,并且由其管理應(yīng)用進(jìn)程組,定制對應(yīng)用進(jìn)程組的監(jiān)控規(guī)則,對應(yīng)用進(jìn)程組的運(yùn)行進(jìn)行實(shí)時(shí)監(jiān)控;在雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程之間設(shè)置共享內(nèi)存區(qū),用于雙機(jī)系統(tǒng)對雙機(jī)代理進(jìn)程的監(jiān)控、通知雙機(jī)代理進(jìn)程及其應(yīng)用系統(tǒng)執(zhí)行安全退出。雙機(jī)代理進(jìn)程可以根據(jù)實(shí)際情況合理定制關(guān)于應(yīng)用進(jìn)程組的管理規(guī)則,避免個別應(yīng)用進(jìn)程的異常而影響整個應(yīng)用系統(tǒng)的運(yùn)行;實(shí)現(xiàn)雙機(jī)系統(tǒng)和雙機(jī)代理進(jìn)程的信息交互,保證了應(yīng)用進(jìn)程組的安全退出,有效地提高了應(yīng)用系統(tǒng)的可靠性和安全性。
文檔編號G06F9/46GK1750566SQ200410064700
公開日2006年3月22日 申請日期2004年9月16日 優(yōu)先權(quán)日2004年9月16日
發(fā)明者李愛華 申請人:中興通訊股份有限公司