欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法

文檔序號(hào):6560227閱讀:322來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)程序的監(jiān)控方法。
背景技術(shù)
計(jì)算機(jī)應(yīng)用程序由于內(nèi)部或外部的原因,出現(xiàn)缺陷很難避免的。當(dāng)缺陷出現(xiàn)時(shí),常常使應(yīng)用程序發(fā)生不可預(yù)測(cè)的異常,比如程序退出或無(wú)響應(yīng)。如果應(yīng)用程序是一個(gè)有界面的應(yīng)用程序,當(dāng)程序異常時(shí),用戶可以通過(guò)手工重啟程序來(lái)保證應(yīng)用程序正常運(yùn)行;如果應(yīng)用程序是一個(gè)無(wú)界面的應(yīng)用程序,只有在用戶無(wú)法使用應(yīng)用程序提供的應(yīng)用服務(wù)時(shí),才能得知程序異常。對(duì)于一般的應(yīng)用程序,程序的異??赡懿⒉淮嬖谔蟮膯?wèn)題,但對(duì)于某些特殊的應(yīng)用場(chǎng)合,比如不能中斷太長(zhǎng)時(shí)間的應(yīng)用,程序的異常就會(huì)造成比較大的影響。
中國(guó)專(zhuān)利申請(qǐng)“計(jì)算機(jī)應(yīng)用軟件自糾錯(cuò)自重啟方法”(CN03100776.7)提供了一種計(jì)算機(jī)應(yīng)用軟件自糾錯(cuò)自重啟方法,它可以使應(yīng)用程序在不可預(yù)測(cè)的情況出錯(cuò)退出或無(wú)響應(yīng)時(shí),能自動(dòng)關(guān)閉已出錯(cuò)進(jìn)程,并重新開(kāi)啟新的進(jìn)程副本,保證系統(tǒng)長(zhǎng)時(shí)間正常運(yùn)行。該方法包括創(chuàng)建一個(gè)外部進(jìn)程,系統(tǒng)啟動(dòng)時(shí),外部進(jìn)程先啟動(dòng),并由外部進(jìn)程來(lái)創(chuàng)建和啟動(dòng)應(yīng)用程序軟件的內(nèi)部進(jìn)程,外部進(jìn)程定期地對(duì)內(nèi)部進(jìn)程發(fā)送狀態(tài)報(bào)告請(qǐng)求,在內(nèi)部進(jìn)程正常的情況下,內(nèi)部進(jìn)程的異常處理模塊對(duì)外部進(jìn)程所發(fā)出的狀態(tài)報(bào)告請(qǐng)求做出正確和及時(shí)的反饋;當(dāng)內(nèi)部進(jìn)程出現(xiàn)非正常退出或停止響應(yīng)時(shí),如果外部進(jìn)程在一段時(shí)間內(nèi)一直收不到反饋信息,則外部進(jìn)程對(duì)內(nèi)部進(jìn)程發(fā)送終止消息或直接終止內(nèi)部進(jìn)程,并自動(dòng)建立一個(gè)新的內(nèi)部進(jìn)程。
但是,由于一般應(yīng)用程序都是由多模塊組成,如果某一個(gè)模塊異常,有可能導(dǎo)致整個(gè)應(yīng)用程序崩潰,也有可能僅僅導(dǎo)致某項(xiàng)功能無(wú)法實(shí)現(xiàn)?!坝?jì)算機(jī)應(yīng)用軟件自糾錯(cuò)自重啟方法”只能對(duì)應(yīng)用程序整體是否異常進(jìn)行監(jiān)控,無(wú)法對(duì)應(yīng)用程序的各個(gè)模塊是否異常進(jìn)行監(jiān)控。如果應(yīng)用程序的內(nèi)部進(jìn)程中的某個(gè)模塊出現(xiàn)異常,但異常處理模塊正常,仍然能夠處理外部進(jìn)程的狀態(tài)報(bào)告請(qǐng)求,則該方法就不能完全保證應(yīng)用程序的正常工作。

發(fā)明內(nèi)容
本發(fā)明目的是提供一種計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其不僅能夠?qū)?yīng)用程序的工作狀態(tài)進(jìn)行監(jiān)控,而且對(duì)各個(gè)模塊進(jìn)行監(jiān)控,并能對(duì)程序異常進(jìn)行處理,解決了現(xiàn)有監(jiān)控方法不能對(duì)各個(gè)模塊進(jìn)行分別監(jiān)控和異常處理的技術(shù)問(wèn)題。
本發(fā)明的技術(shù)解決方案是一種計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,包括以下步驟步驟1]啟動(dòng)監(jiān)控進(jìn)程為應(yīng)用程序創(chuàng)建一個(gè)監(jiān)控進(jìn)程并在啟動(dòng)該應(yīng)用程序前啟動(dòng)該監(jiān)控進(jìn)程;步驟2]啟動(dòng)應(yīng)用進(jìn)程監(jiān)控進(jìn)程啟動(dòng)后,查詢應(yīng)用進(jìn)程是否啟動(dòng),如果沒(méi)有啟動(dòng),監(jiān)控進(jìn)程首先啟動(dòng)應(yīng)用進(jìn)程;步驟3]查詢應(yīng)用進(jìn)程的狀態(tài)信息如果應(yīng)用進(jìn)程已經(jīng)啟動(dòng),則監(jiān)控進(jìn)程定期對(duì)應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求,應(yīng)用進(jìn)程收到狀態(tài)查詢請(qǐng)求后,收集相應(yīng)的狀態(tài)信息,并將狀態(tài)信息反饋給監(jiān)控進(jìn)程;步驟4]程序異常的處理如果在設(shè)定的時(shí)間內(nèi)一直收不到應(yīng)用進(jìn)程反饋的信息,或信息反饋異常,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程,并啟動(dòng)該應(yīng)用進(jìn)程。
上述步驟3]中監(jiān)控進(jìn)程對(duì)應(yīng)用進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求包括應(yīng)用程序收集各個(gè)模塊的狀態(tài)信息。
上述步驟3]中監(jiān)控進(jìn)程對(duì)應(yīng)用進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求還可包括應(yīng)用程序收集應(yīng)用程序自身的狀態(tài)信息以及各個(gè)模塊的狀態(tài)信息。
上述應(yīng)用進(jìn)程收到狀態(tài)查詢請(qǐng)求后收集應(yīng)用程序自身的狀態(tài)信息包括當(dāng)前工作內(nèi)容、網(wǎng)絡(luò)連接是否通暢、數(shù)據(jù)庫(kù)連接是否通暢、處理請(qǐng)求數(shù)、開(kāi)始運(yùn)行時(shí)間或更新時(shí)間。
上述步驟4]中設(shè)定的時(shí)間包括內(nèi)啟動(dòng)時(shí)間和外啟動(dòng)時(shí)間,該內(nèi)啟動(dòng)時(shí)間比外啟動(dòng)時(shí)間短;所述步驟4]中程序異常的處理步驟包括1]如果在設(shè)定的內(nèi)啟動(dòng)時(shí)間內(nèi)監(jiān)控進(jìn)程一直收不到應(yīng)用進(jìn)程的反饋信息,或者某個(gè)模塊沒(méi)有反饋信息或反饋信息異常,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程;
2]如果應(yīng)用進(jìn)程無(wú)法終止,則在設(shè)定的外啟動(dòng)時(shí)間內(nèi)監(jiān)控進(jìn)程一直收不到應(yīng)用進(jìn)程的反饋信息,或者某個(gè)模塊沒(méi)有反饋信息或反饋信息異常時(shí),監(jiān)控進(jìn)程直接啟動(dòng)該應(yīng)用進(jìn)程。
上述步驟1]啟動(dòng)監(jiān)控進(jìn)程步驟具體包括為應(yīng)用程序創(chuàng)建一個(gè)監(jiān)控進(jìn)程并在啟動(dòng)該應(yīng)用程序前啟動(dòng)該監(jiān)控進(jìn)程;該監(jiān)控進(jìn)程包括設(shè)置響應(yīng)標(biāo)志監(jiān)控進(jìn)程內(nèi)部設(shè)置有應(yīng)用進(jìn)程各個(gè)模塊和應(yīng)用進(jìn)程自身的響應(yīng)標(biāo)志,它判斷應(yīng)用進(jìn)程中各個(gè)模塊和應(yīng)用進(jìn)程本身的錯(cuò)誤累計(jì)數(shù)值,監(jiān)控進(jìn)程發(fā)送一次狀態(tài)查詢請(qǐng)求,所有的響應(yīng)標(biāo)志就增加1;所述步驟3]監(jiān)控進(jìn)程定期向應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求步驟具體包括監(jiān)控進(jìn)程每隔一定的時(shí)間向應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求,在應(yīng)用進(jìn)程運(yùn)行正常的情況下,應(yīng)用進(jìn)程及應(yīng)用進(jìn)程的各個(gè)模塊都會(huì)對(duì)監(jiān)控進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求做出正確和及時(shí)的反饋,監(jiān)控進(jìn)程將各個(gè)相應(yīng)的響應(yīng)標(biāo)志置零;所述步驟4]中內(nèi)啟動(dòng)時(shí)間為響應(yīng)標(biāo)志的內(nèi)啟動(dòng)閾值,所述外啟動(dòng)時(shí)間為響應(yīng)標(biāo)志的外啟動(dòng)閾值;所述步驟4]程序異常的處理步驟具體包括如果監(jiān)控進(jìn)程中,某一個(gè)響應(yīng)標(biāo)志的錯(cuò)誤累計(jì)數(shù)值超沒(méi)有超過(guò)設(shè)定的外啟動(dòng)閾值,但是超過(guò)內(nèi)啟動(dòng)閾值時(shí),則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程,如果應(yīng)用進(jìn)程仍然無(wú)法終止,則該響應(yīng)標(biāo)志的錯(cuò)誤累計(jì)數(shù)值超過(guò)設(shè)定的外啟動(dòng)閾值時(shí)監(jiān)控進(jìn)程強(qiáng)制終止應(yīng)用進(jìn)程運(yùn)行,再啟動(dòng)一個(gè)新的該應(yīng)用進(jìn)程。
上述步驟3]中監(jiān)控進(jìn)程收到反饋的狀態(tài)信息后顯示相應(yīng)狀態(tài)信息。
上述監(jiān)控進(jìn)程包括通信機(jī)制和錯(cuò)誤糾錯(cuò)機(jī)制通信機(jī)制是負(fù)責(zé)同應(yīng)用進(jìn)程發(fā)送請(qǐng)求和接收反饋信息,它可以通過(guò)消息傳遞、共享內(nèi)存、寫(xiě)配置文件、寫(xiě)注冊(cè)表、管道、套接字通信等方式實(shí)現(xiàn)監(jiān)控進(jìn)程和應(yīng)用進(jìn)程之間的通信;錯(cuò)誤糾錯(cuò)機(jī)制負(fù)責(zé)對(duì)通信接收到的信息進(jìn)行分析和處理。
本發(fā)明的優(yōu)點(diǎn)是1、本方法中,監(jiān)控進(jìn)程不但對(duì)應(yīng)用程序本身進(jìn)行監(jiān)控,而且能對(duì)應(yīng)用程序的各個(gè)模塊進(jìn)行監(jiān)控,在應(yīng)用程序正常工作的情況下,能及時(shí)發(fā)現(xiàn)某個(gè)模塊的崩潰或異常情況,并進(jìn)行相應(yīng)處理,可以使應(yīng)用程序更好的長(zhǎng)時(shí)間工作和運(yùn)行。
2、如果應(yīng)用程序中的一個(gè)特定模塊具有重要的意義,本方法可在對(duì)應(yīng)用程序進(jìn)行監(jiān)控的同時(shí)單獨(dú)對(duì)該模塊進(jìn)行監(jiān)控,以最大限度保證應(yīng)用程序的正常運(yùn)行。
3、本發(fā)明針對(duì)應(yīng)用進(jìn)程的不同工作情況進(jìn)行了相應(yīng)處理,當(dāng)應(yīng)用進(jìn)程非正常退出或停止響應(yīng)時(shí),監(jiān)控進(jìn)程要求應(yīng)用進(jìn)程自我關(guān)閉并重啟,相當(dāng)于熱啟動(dòng)或內(nèi)啟動(dòng);當(dāng)應(yīng)用進(jìn)程無(wú)法進(jìn)行自我關(guān)閉并重啟時(shí),監(jiān)控進(jìn)程強(qiáng)行關(guān)閉并重啟應(yīng)用進(jìn)程,相當(dāng)于冷啟動(dòng)或外啟動(dòng)。本發(fā)明增加了一個(gè)內(nèi)啟動(dòng)的步驟,可最大限度減少外啟動(dòng)對(duì)應(yīng)用程序帶來(lái)的諸如數(shù)據(jù)丟失等不利影響,保證應(yīng)用程序的正常運(yùn)行。


圖1是本發(fā)明的系統(tǒng)示意圖;圖2是本發(fā)明的監(jiān)控進(jìn)程和應(yīng)用進(jìn)程啟動(dòng)流程圖;圖3是本發(fā)明的正常工作流程圖;圖4是本發(fā)明的應(yīng)用進(jìn)程異常時(shí)的流程圖;圖5是本發(fā)明的應(yīng)用進(jìn)程某一模塊異常時(shí)的流程圖。
具體實(shí)施例方式
本發(fā)明的系統(tǒng)示意圖見(jiàn)圖1,應(yīng)用程序包括監(jiān)控進(jìn)程和應(yīng)用進(jìn)程,應(yīng)用進(jìn)程包括模塊1、模塊2……模塊n,監(jiān)控進(jìn)程和應(yīng)用進(jìn)程之間的通信包括狀態(tài)查詢請(qǐng)求和狀態(tài)反饋,應(yīng)用進(jìn)程和各模塊之間的通信包括查詢模塊狀態(tài)請(qǐng)求和模塊狀態(tài)反饋。為了對(duì)應(yīng)用程序中的一個(gè)或多個(gè)具有重要的意義特定模塊進(jìn)行監(jiān)控,監(jiān)控進(jìn)程和各模塊之間也可以直接進(jìn)行查詢模塊狀態(tài)請(qǐng)求和模塊狀態(tài)反饋的通信過(guò)程。
本發(fā)明的監(jiān)控程序和應(yīng)用進(jìn)程啟動(dòng)流程見(jiàn)圖2,包括創(chuàng)建一個(gè)監(jiān)控進(jìn)程,監(jiān)控進(jìn)程啟動(dòng)后,查詢應(yīng)用進(jìn)程是否啟動(dòng),如果沒(méi)有啟動(dòng),先啟動(dòng)應(yīng)用進(jìn)程,進(jìn)行初始化系統(tǒng)狀態(tài)。啟動(dòng)應(yīng)用進(jìn)程的同時(shí)設(shè)置定時(shí)器(定時(shí)器根據(jù)用戶設(shè)置將定期被觸發(fā))。
本發(fā)明的正常工作流程見(jiàn)圖3,監(jiān)控進(jìn)程啟動(dòng)后,首先啟動(dòng)應(yīng)用進(jìn)程。監(jiān)控進(jìn)程設(shè)有定時(shí)器,以判斷應(yīng)用進(jìn)程的響應(yīng);定時(shí)器每次被觸發(fā),都會(huì)查詢應(yīng)用進(jìn)程是否啟動(dòng),如果沒(méi)有啟動(dòng),則啟動(dòng)應(yīng)用進(jìn)程。定時(shí)器被觸發(fā)后,向應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求,監(jiān)控進(jìn)程內(nèi)部設(shè)置有應(yīng)用進(jìn)程各個(gè)模塊和應(yīng)用進(jìn)程本身的響應(yīng)標(biāo)志,它用于判斷應(yīng)用進(jìn)程中各個(gè)模塊和應(yīng)用進(jìn)程本身的錯(cuò)誤累計(jì)數(shù)值,監(jiān)控進(jìn)程發(fā)送一次狀態(tài)查詢請(qǐng)求,所有的響應(yīng)標(biāo)志就增加1。應(yīng)用進(jìn)程收到狀態(tài)查詢請(qǐng)求后,收集自身的狀態(tài)信息和各個(gè)模塊的狀態(tài)信息,包括當(dāng)前工作內(nèi)容、網(wǎng)絡(luò)連接是否通暢、數(shù)據(jù)庫(kù)連接是否通暢、處理請(qǐng)求數(shù)、開(kāi)始運(yùn)行時(shí)間或更新時(shí)間等,并將這些信息反饋給監(jiān)控進(jìn)程,監(jiān)控進(jìn)程將這些信息顯示出來(lái)。在應(yīng)用進(jìn)程運(yùn)行正常的情況下,應(yīng)用進(jìn)程及應(yīng)用進(jìn)程的各個(gè)模塊都會(huì)對(duì)監(jiān)控進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求作出正確和及時(shí)的反饋,監(jiān)控進(jìn)程將各個(gè)相應(yīng)的響應(yīng)標(biāo)志的置零。
當(dāng)應(yīng)用進(jìn)程異常時(shí)的流程見(jiàn)圖4,如果監(jiān)控進(jìn)程一直收不到應(yīng)用進(jìn)程反饋的監(jiān)控信息,或者應(yīng)用進(jìn)程的監(jiān)控信息異常,比如響應(yīng)標(biāo)志的錯(cuò)誤累積計(jì)數(shù)值大于10,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止應(yīng)用進(jìn)程,并自動(dòng)建立一個(gè)新的應(yīng)用進(jìn)程。
當(dāng)應(yīng)用進(jìn)程某一模塊異常時(shí)的流程見(jiàn)圖5,如果監(jiān)控進(jìn)程一直收不到某個(gè)模塊的監(jiān)控信息,或者某個(gè)模塊的監(jiān)控信息異常,比如響應(yīng)標(biāo)志的錯(cuò)誤累積計(jì)數(shù)值大于10,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止應(yīng)用進(jìn)程,或自動(dòng)建立一個(gè)新的應(yīng)用進(jìn)程。
本發(fā)明原理本發(fā)明的應(yīng)用進(jìn)程完成應(yīng)用程序主要功能、任務(wù)。
本發(fā)明的監(jiān)控進(jìn)程負(fù)責(zé)監(jiān)控應(yīng)用進(jìn)程的正常運(yùn)行包括通信機(jī)制和錯(cuò)誤糾錯(cuò)機(jī)制。通信機(jī)制是負(fù)責(zé)同應(yīng)用進(jìn)程發(fā)送請(qǐng)求和接收反饋信息。它可以通過(guò)消息傳遞、共享內(nèi)存、寫(xiě)配置文件、寫(xiě)注冊(cè)表、管道、套接字通信等方式實(shí)現(xiàn)監(jiān)控進(jìn)程和應(yīng)用進(jìn)程之間的通信。錯(cuò)誤糾錯(cuò)機(jī)制負(fù)責(zé)對(duì)通信接收到的信息進(jìn)行分析和處理。
錯(cuò)誤糾錯(cuò)機(jī)制進(jìn)一步包括判斷是否能按時(shí)收到應(yīng)用進(jìn)程的發(fā)過(guò)來(lái)的反饋消息1、如果在設(shè)定的時(shí)間內(nèi)沒(méi)有收到應(yīng)用進(jìn)程發(fā)來(lái)的反饋消息,則檢查應(yīng)用進(jìn)程是否存在,如果應(yīng)用進(jìn)程已存在,則認(rèn)為應(yīng)用進(jìn)程異?;蜻M(jìn)入死鎖,便發(fā)送終止應(yīng)用進(jìn)程消息,關(guān)閉應(yīng)用進(jìn)程,并重新啟動(dòng)一個(gè)應(yīng)用進(jìn)程,如果應(yīng)用進(jìn)程不存在,則直接啟動(dòng)一個(gè)應(yīng)用進(jìn)程;2、雖然收到應(yīng)用進(jìn)程發(fā)過(guò)來(lái)的反饋消息,但反饋消息中,某一個(gè)模塊沒(méi)有反饋信息,則向應(yīng)用進(jìn)程發(fā)送終止進(jìn)程消息,關(guān)閉應(yīng)用進(jìn)程,并重新啟動(dòng)一個(gè)應(yīng)用進(jìn)程。
設(shè)定的時(shí)間包括內(nèi)啟動(dòng)時(shí)間和外啟動(dòng)時(shí)間,該內(nèi)啟動(dòng)時(shí)間比外啟動(dòng)時(shí)間短;內(nèi)啟動(dòng)時(shí)間為響應(yīng)標(biāo)志的內(nèi)啟動(dòng)閾值,外啟動(dòng)時(shí)間為響應(yīng)標(biāo)志的外啟動(dòng)閾值。
通信機(jī)制進(jìn)一步包括向應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求,在應(yīng)用進(jìn)程運(yùn)行正常的情況下,內(nèi)部進(jìn)程及內(nèi)部進(jìn)程的各個(gè)模塊都會(huì)對(duì)監(jiān)控進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求作出正確和及時(shí)的反饋,監(jiān)控進(jìn)程將各個(gè)相應(yīng)的響應(yīng)標(biāo)志置零。糾錯(cuò)機(jī)制進(jìn)一步包括如果某一個(gè)響應(yīng)標(biāo)志的錯(cuò)誤累計(jì)數(shù)值沒(méi)有超過(guò)外啟動(dòng)閾值(比如10),但是超過(guò)內(nèi)啟動(dòng)閾值時(shí)(比如5),則讓?xiě)?yīng)用進(jìn)程自我關(guān)閉,如果應(yīng)用進(jìn)程無(wú)法自我關(guān)閉自己,則響應(yīng)標(biāo)志的錯(cuò)誤累計(jì)數(shù)值超過(guò)外啟動(dòng)閾值(比如10)時(shí)強(qiáng)制終止應(yīng)用進(jìn)程運(yùn)行,再啟動(dòng)一個(gè)新的應(yīng)用進(jìn)程的步驟。
本方法中,不但對(duì)應(yīng)用程序本身進(jìn)行監(jiān)控,而且對(duì)應(yīng)用程序的各個(gè)模塊進(jìn)行監(jiān)控,很大程度上解決了應(yīng)用程序由于某個(gè)模塊崩潰或異常時(shí),整個(gè)應(yīng)用程序也不能正常工作的問(wèn)題,可以使應(yīng)用程序更健壯的長(zhǎng)時(shí)間工作和運(yùn)行。
權(quán)利要求
1.一種計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于包括以下步驟步驟1]啟動(dòng)監(jiān)控進(jìn)程為應(yīng)用程序創(chuàng)建一個(gè)監(jiān)控進(jìn)程并在啟動(dòng)該應(yīng)用程序前啟動(dòng)該監(jiān)控進(jìn)程;步驟2]啟動(dòng)應(yīng)用進(jìn)程監(jiān)控進(jìn)程啟動(dòng)后,查詢應(yīng)用進(jìn)程是否啟動(dòng),如果沒(méi)有啟動(dòng),監(jiān)控進(jìn)程首先啟動(dòng)應(yīng)用進(jìn)程;步驟3]查詢應(yīng)用進(jìn)程的狀態(tài)信息如果應(yīng)用進(jìn)程已經(jīng)啟動(dòng),則監(jiān)控進(jìn)程定期對(duì)應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求,應(yīng)用進(jìn)程收到狀態(tài)查詢請(qǐng)求后,收集相應(yīng)的狀態(tài)信息,并將狀態(tài)信息反饋給監(jiān)控進(jìn)程;步驟4]程序異常的處理如果在設(shè)定的時(shí)間內(nèi)一直收不到應(yīng)用進(jìn)程反饋的信息,或信息反饋異常,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程,并啟動(dòng)該應(yīng)用進(jìn)程。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述步驟3]中監(jiān)控進(jìn)程對(duì)應(yīng)用進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求包括應(yīng)用程序收集各個(gè)模塊的狀態(tài)信息。
3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述步驟3]中監(jiān)控進(jìn)程對(duì)應(yīng)用進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求包括應(yīng)用程序收集應(yīng)用程序自身的狀態(tài)信息以及各個(gè)模塊的狀態(tài)信息。
4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述應(yīng)用進(jìn)程收到狀態(tài)查詢請(qǐng)求后收集應(yīng)用程序自身的狀態(tài)信息包括當(dāng)前工作內(nèi)容、網(wǎng)絡(luò)連接是否通暢、數(shù)據(jù)庫(kù)連接是否通暢、處理請(qǐng)求數(shù)、開(kāi)始運(yùn)行時(shí)間或更新時(shí)間。
5.根據(jù)權(quán)利要求1或2或3或4所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述步驟4]中設(shè)定的時(shí)間包括內(nèi)啟動(dòng)時(shí)間和外啟動(dòng)時(shí)間,該內(nèi)啟動(dòng)時(shí)間比外啟動(dòng)時(shí)間短;所述步驟4]中程序異常的處理步驟包括1]如果在設(shè)定的內(nèi)啟動(dòng)時(shí)間內(nèi)監(jiān)控進(jìn)程一直收不到應(yīng)用進(jìn)程的反饋信息,或者某個(gè)模塊沒(méi)有反饋信息或反饋信息異常,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程;2]如果應(yīng)用進(jìn)程無(wú)法終止,則在設(shè)定的外啟動(dòng)時(shí)間內(nèi)監(jiān)控進(jìn)程一直收不到應(yīng)用進(jìn)程的反饋信息,或者某個(gè)模塊沒(méi)有反饋信息或反饋信息異常時(shí),監(jiān)控進(jìn)程直接啟動(dòng)該應(yīng)用進(jìn)程。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述步驟1]啟動(dòng)監(jiān)控進(jìn)程步驟具體包括為應(yīng)用程序創(chuàng)建一個(gè)監(jiān)控進(jìn)程并在啟動(dòng)該應(yīng)用程序前啟動(dòng)該監(jiān)控進(jìn)程;該監(jiān)控進(jìn)程包括設(shè)置響應(yīng)標(biāo)志監(jiān)控進(jìn)程內(nèi)部設(shè)置有應(yīng)用進(jìn)程各個(gè)模塊和應(yīng)用進(jìn)程自身的響應(yīng)標(biāo)志,它判斷應(yīng)用進(jìn)程中各個(gè)模塊和應(yīng)用進(jìn)程本身的錯(cuò)誤累計(jì)數(shù)值,監(jiān)控進(jìn)程發(fā)送一次狀態(tài)查詢請(qǐng)求,所有的響應(yīng)標(biāo)志就增加1;所述步驟3]監(jiān)控進(jìn)程定期向應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求步驟具體包括監(jiān)控進(jìn)程每隔一定的時(shí)間向應(yīng)用進(jìn)程發(fā)送狀態(tài)查詢請(qǐng)求,在應(yīng)用進(jìn)程運(yùn)行正常的情況下,應(yīng)用進(jìn)程及應(yīng)用進(jìn)程的各個(gè)模塊都會(huì)對(duì)監(jiān)控進(jìn)程發(fā)送的狀態(tài)查詢請(qǐng)求做出正確和及時(shí)的反饋,監(jiān)控進(jìn)程將各個(gè)相應(yīng)的響應(yīng)標(biāo)志置零;所述步驟4]中內(nèi)啟動(dòng)時(shí)間為響應(yīng)標(biāo)志的內(nèi)啟動(dòng)閾值,所述外啟動(dòng)時(shí)間為響應(yīng)標(biāo)志的外啟動(dòng)閾值;所述步驟4]程序異常的處理步驟具體包括如果監(jiān)控進(jìn)程中,某一個(gè)響應(yīng)標(biāo)志的錯(cuò)誤累計(jì)數(shù)值超沒(méi)有超過(guò)設(shè)定的外啟動(dòng)閾值,但是超過(guò)內(nèi)啟動(dòng)閾值時(shí),則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程,如果應(yīng)用進(jìn)程仍然無(wú)法終止,則該響應(yīng)標(biāo)志的錯(cuò)誤累計(jì)數(shù)值超過(guò)設(shè)定的外啟動(dòng)閾值時(shí)監(jiān)控進(jìn)程強(qiáng)制終止應(yīng)用進(jìn)程運(yùn)行,再啟動(dòng)一個(gè)新的該應(yīng)用進(jìn)程。
7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述步驟3]中監(jiān)控進(jìn)程收到反饋的狀態(tài)信息后顯示相應(yīng)狀態(tài)信息。
8.根據(jù)權(quán)利要求1或2或3或4所述的計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,其特征在于所述監(jiān)控進(jìn)程包括通信機(jī)制和錯(cuò)誤糾錯(cuò)機(jī)制通信機(jī)制是負(fù)責(zé)同應(yīng)用進(jìn)程發(fā)送請(qǐng)求和接收反饋信息,它可以通過(guò)消息傳遞、共享內(nèi)存、寫(xiě)配置文件、寫(xiě)注冊(cè)表、管道、套接字通信等方式實(shí)現(xiàn)監(jiān)控進(jìn)程和應(yīng)用進(jìn)程之間的通信;錯(cuò)誤糾錯(cuò)機(jī)制負(fù)責(zé)對(duì)通信接收到的信息進(jìn)行分析和處理。
全文摘要
一種計(jì)算機(jī)應(yīng)用程序的監(jiān)控及異常處理方法,包括1]啟動(dòng)監(jiān)控進(jìn)程;2]啟動(dòng)應(yīng)用進(jìn)程;3]監(jiān)控進(jìn)程定期查詢應(yīng)用進(jìn)程的狀態(tài)信息,應(yīng)用進(jìn)程將狀態(tài)信息反饋給監(jiān)控進(jìn)程;4]如果在設(shè)定的時(shí)間內(nèi)收不到反饋信息,或信息反饋異常,則監(jiān)控進(jìn)程發(fā)出終止信息或直接終止該應(yīng)用進(jìn)程,并啟動(dòng)該應(yīng)用進(jìn)程。其不僅能夠?qū)?yīng)用程序的工作狀態(tài)進(jìn)行監(jiān)控,而且能對(duì)各個(gè)模塊進(jìn)行監(jiān)控,并能對(duì)程序異常進(jìn)行處理,解決了現(xiàn)有監(jiān)控方法不能對(duì)各個(gè)模塊進(jìn)行分別監(jiān)控和異常處理的技術(shù)問(wèn)題。本發(fā)明還增加了一個(gè)內(nèi)啟動(dòng)的步驟,可最大限度減少外啟動(dòng)對(duì)應(yīng)用程序帶來(lái)的諸如數(shù)據(jù)丟失等不利影響,保證應(yīng)用程序的正常運(yùn)行。
文檔編號(hào)G06F9/46GK1904852SQ20061010444
公開(kāi)日2007年1月31日 申請(qǐng)日期2006年8月1日 優(yōu)先權(quán)日2006年8月1日
發(fā)明者關(guān)??? 曹軍, 王佳瑋, 李軼軍 申請(qǐng)人:西安西電捷通無(wú)線網(wǎng)絡(luò)通信有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南阳市| 宜良县| 大足县| 鲁甸县| 临颍县| 兴业县| 左权县| 浮山县| 于都县| 社会| 都昌县| 区。| 唐山市| 宝山区| 巍山| 岳池县| 德钦县| 泉州市| 平阴县| 勃利县| 汤阴县| 通化市| 灵寿县| 普兰店市| 潞西市| 沁水县| 班戈县| 阳高县| 通州市| 灵石县| 奇台县| 读书| 承德市| 嘉善县| 平潭县| 新乐市| 常熟市| 饶阳县| 温泉县| 中江县| 威信县|