两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

進程監(jiān)控及多級恢復(fù)系統(tǒng)和方法

文檔序號:6384293閱讀:333來源:國知局
專利名稱:進程監(jiān)控及多級恢復(fù)系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及進程監(jiān)控及多級恢復(fù)系統(tǒng),以及與該系統(tǒng)對應(yīng)的進程監(jiān)控及多級恢復(fù)方法,尤其適用于工控用計算機。
背景技術(shù)
目前,計算機、工控機以及嵌入式設(shè)備上通常都裝有操作系統(tǒng)用以運行目標應(yīng)用程序,當用戶需要長時間不間斷運行多個應(yīng)用程序時,往往需要使用監(jiān)控系統(tǒng),然而現(xiàn)有監(jiān)控系統(tǒng)功能有限,很難滿足用戶需求。最傳統(tǒng)的監(jiān)控系統(tǒng)——主板看門狗僅適用于單任務(wù)操作系統(tǒng),若直接用于多任務(wù)操作系統(tǒng),則無法在某一進程異常時準確地做出重啟計算機的反應(yīng)。為了能在多任務(wù)操作系統(tǒng)下仍能利用主板看門狗,已有研究者研發(fā)出相應(yīng)的技術(shù)方案,如專利號03157874. 8、授權(quán)公告號CN100359481C的中國發(fā)明專利公開了一種多任務(wù)系統(tǒng)的異常監(jiān)控裝置及其方法,專利號200810241729. 2、授權(quán)公告號CN101464811B的中國發(fā)明專利公開了一種多任務(wù)監(jiān)控管理系統(tǒng),均引入了具有匯集功能的中介模塊,該中介模塊一方面與各進程通信,獲知各進程狀態(tài),另一方面基于各進程狀態(tài)決定是否實施喂狗操作,這樣即可在某一程序異常時準確地通知主板看門狗重啟計算機。然而,當前常用主流操作系統(tǒng)如windows系統(tǒng)、Iinux系統(tǒng)、unix系統(tǒng)均已封鎖了直接調(diào)用主板看門狗的途徑,上述改進的技術(shù)方案已經(jīng)很難適用于當前操作系統(tǒng)。此外,很多服務(wù)器、工作站并未采用工控機架構(gòu),根本沒有主板看門狗,這種情況下無法適用上述改進的技術(shù)方案。針對操作系統(tǒng)中的應(yīng)用程序進行監(jiān)控,已有研究者研發(fā)出相應(yīng)的技術(shù)方案,如專利號200610104447. 9、授權(quán)公告號CN100389404C的中國發(fā)明專利公開了一種計算機應(yīng)用程序的監(jiān)控及異常處理方法,但是該技術(shù)方案還存在以下不利之處(I)在每個應(yīng)用模塊啟動前,均需建立與之通訊的獨立的監(jiān)控模塊,這樣做會增大運行開銷,加劇系統(tǒng)資源的消耗,不利于保持系統(tǒng)穩(wěn)定。(2)僅根據(jù)應(yīng)用模塊通信反饋來判斷應(yīng)用模塊是否異常,若遇到因應(yīng)用模塊自身缺陷導(dǎo)致該應(yīng)用模塊占用資源越來越大且無法回收的情況時,則因該應(yīng)用模塊持續(xù)正常反饋而使監(jiān)控模塊無法及時做出處理,很容易導(dǎo)致整個系統(tǒng)因資源耗竭而崩潰,無法實現(xiàn)預(yù)期的監(jiān)控目的。(3)若遇到整個系統(tǒng)意外崩潰,則無法自動實現(xiàn)計算機重啟操作,這對需要無人值守的計算機而言無疑是巨大的災(zāi)難,嚴重時會使用戶損失慘重;同時,在這種情況下也無法留下任何可供追查的有效線索,只能重啟計算機繼續(xù)運行,并留下很有可能復(fù)發(fā)的隱患。此外,據(jù)申請人了解,對于多任務(wù)操作系統(tǒng)(如WINDOWS系統(tǒng)),其系統(tǒng)環(huán)境允許多進程、多線程運行,在廠家的自動化應(yīng)用系統(tǒng)項目運行過程中,由于軟件成熟度、軟件沖突、驅(qū)動沖突等多方面的原因,常常會造成項目中進程死鎖而不響應(yīng)、崩潰但不自動退出、出錯、異常退出、內(nèi)存泄漏、進程CPU占用和內(nèi)存占用不斷增大最終導(dǎo)致操作系統(tǒng)響應(yīng)變慢和操作系統(tǒng)失效等現(xiàn)象,運行方用戶由于對項目技術(shù)細節(jié)不了解,在現(xiàn)場無法應(yīng)對,而項目生產(chǎn)廠家平時不在運行現(xiàn)場,鞭長莫及,往往造成現(xiàn)場項目功能運行中斷,無法恢復(fù),而等到廠家技術(shù)人員趕到現(xiàn)場,又無法得知故障發(fā)生的過程和發(fā)生的原因,無法具體確定是哪一個進程發(fā)生的問題、發(fā)生的是哪一方面的問題等等,導(dǎo)致即使廠家人員趕到現(xiàn)場也無法找到現(xiàn)場出問題的具體線索,而現(xiàn)場由于運行情況的復(fù)雜性,出現(xiàn)的問題往往是產(chǎn)品和系統(tǒng)出廠前短時間拷機時無法發(fā)現(xiàn)的。針對這一技術(shù)難題,現(xiàn)有技術(shù)中還不存在完美的解決方案。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對 現(xiàn)有技術(shù)存在的問題,提供一種進程監(jiān)控及多級恢復(fù)系統(tǒng),以及與該系統(tǒng)對應(yīng)的進程監(jiān)控及多級恢復(fù)方法,可實現(xiàn)對進程的全方位監(jiān)控,能實施多層次的恢復(fù)操作,并能留下事件記錄、系統(tǒng)追憶記錄,為廠家技術(shù)人員追溯故障原因提供有效線索。本發(fā)明解決其技術(shù)問題的技術(shù)方案如下一種進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,包括設(shè)于外部計算機上的軟件部分和與所述計算機數(shù)據(jù)連接的硬件部分;所述硬件部分包括經(jīng)數(shù)據(jù)線與所述計算機通信端口連接的通信模塊、以及與通信模塊信號連接的控制模塊,所述控制模塊控制端與所述計算機主板的重啟跳線電連接;所述軟件部分包括用以監(jiān)控進程、子過程、或計算機操作系統(tǒng)的監(jiān)控模塊,用以根據(jù)監(jiān)控模塊所得監(jiān)控信息實施處理動作的處理模塊,用以利用計算機通信端口與硬件部分通信模塊進行數(shù)據(jù)交換的數(shù)據(jù)收發(fā)模塊,用以根據(jù)處理模塊指令將當前情況記錄為事件的事件記錄模塊,以及用以根據(jù)處理模塊指令記錄最近若干幀計算機操作系統(tǒng)信息狀態(tài)的系統(tǒng)追憶記錄模塊;所述計算機操作系統(tǒng)信息狀態(tài)至少為計算機操作系統(tǒng)內(nèi)全部運行進程的PID、CPU占用率、CPU占用時間、內(nèi)存占用數(shù)量之一;所述處理模塊的處理動作至少為殺掉進程、重啟進程、殺掉子過程的父進程、重啟子過程的父進程、重啟操作系統(tǒng)、向硬件部分控制模塊發(fā)出重啟計算機信號之一。一種采用前述進程監(jiān)控及多級恢復(fù)系統(tǒng)的進程監(jiān)控及多級恢復(fù)方法,其特征是,包括以下步驟第一步、設(shè)于計算機的軟件部分監(jiān)控目標進程信息,所述目標進程信息包括目標進程狀態(tài)、目標進程占用內(nèi)存數(shù)量或百分比、以及目標進程占用CPU百分比;第二步、軟件部分將目標進程占用內(nèi)存或CPU信息與預(yù)設(shè)的進程限定參數(shù)進行比較、并按預(yù)設(shè)的進程處理決策根據(jù)比較結(jié)果和目標進程狀態(tài)確定處理動作;所述進程限定參數(shù)包括目標進程占用內(nèi)存數(shù)量或百分比的限定值、目標進程占用CPU百分比的限定值、以及目標進程占用內(nèi)存或CPU越限的超時時限值;所述進程處理決策為進程決策庫的任一項,所述進程決策庫包括(1)無動作;(2)殺掉進程;(3)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng);(4)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(5)殺掉進程后重啟進程;(6)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng);(7)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(8)重啟操作系統(tǒng);(9)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(10)重啟進程;(11)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng);(12)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(13)重啟計算機;當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出時,所述進程處理決策為進程決策庫的(I)至(9)之一;當目標進程退出時,所述進程處理決策為進程決策庫的( I)、(8)至(13)之一;當目標進程狀態(tài)正常且占用內(nèi)存或CPU未越限時,所述進程處理決策為進程決策庫的(I);當確定的處理動作為無動作時直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步;第三步、軟件部分實施第二步確定的處理動作,當處理動作為重啟計算機時由軟件部分向與計算機數(shù)據(jù)連接、并與計算機重啟跳線電連接的硬件部分發(fā)出重啟計算機信號,硬件部分重置計算機重啟跳線使計算機重啟;同時,軟件部分進行事件記錄和/或系統(tǒng)追憶記錄;第四步、軟件部分判斷是否終止所述進程監(jiān)控及多級恢復(fù)系統(tǒng)的運行,若是則退出該系統(tǒng),若否則轉(zhuǎn)至第一步。本發(fā)明可實現(xiàn)對進程的全方位監(jiān)控,能實施多層次的恢復(fù)操作,并能留下事件記錄、系統(tǒng)追憶記錄,為廠家技術(shù)人員追溯故障原因提供有效線索。


圖I為本發(fā)明實施例系統(tǒng)的結(jié)構(gòu)示意圖。圖2為本發(fā)明實施例方法的流程示意圖。
具體實施例方式下面參照附圖并結(jié)合實施例對本發(fā)明作進一步詳細描述。但是本發(fā)明不限于所給出的例子。實施例本實施例進程監(jiān)控及多級恢復(fù)系統(tǒng)如圖I所示,包括設(shè)于外部計算機上的軟件部分和與所述計算機數(shù)據(jù)連接的硬件部分;所述硬件部分包括經(jīng)數(shù)據(jù)線與所述計算機通信端口連接的通信模塊、以及與通信模塊信號連接的控制模塊,所述控制模塊控制端與所述計算機主板的重啟跳線(即RESET跳線)電連接;所述軟件部分包括用以監(jiān)控進程、子過程、或計算機操作系統(tǒng)的監(jiān)控模塊,用以根據(jù)監(jiān)控模塊所得監(jiān)控信息實施處理動作(至少為殺掉進程、重啟進程、殺掉子過程的父進程、重啟子過程的父進程、重啟操作系統(tǒng)、向硬件部分控制模塊發(fā)出重啟計算機信號之一)的處理模塊,用以利用計算機通信端口與硬件部分通信模塊進行數(shù)據(jù)交換的數(shù)據(jù)收發(fā)模塊,用以根據(jù)處理模塊指令將當前情況記錄為事件的事件記錄模塊,以及用以根據(jù)處理模塊指令記錄最近若干幀計算機操作系統(tǒng)信息狀態(tài)(至少為計算機操作系統(tǒng)內(nèi)全部運行進程的PID、CPU占用率、CPU占用時間、內(nèi)存占用數(shù)量之一)的系統(tǒng)追憶記錄模塊。具體地,CPU占用時間為CPU內(nèi)核時間或用戶使用時間。這樣即可實現(xiàn)對進程的全方位監(jiān)控,能實施多層次的恢復(fù)操作,并能留下事件記錄、系統(tǒng)追憶記錄,為廠家技術(shù)人員追溯故障原因提供有效線索。優(yōu)選地,所述軟件部分的監(jiān)控模塊包括用以監(jiān)控目標進程信息的進程監(jiān)控單元;所述目標進程信息包括目標進程狀態(tài)、目標進程占用內(nèi)存數(shù)量或百分比、以及目標進程占用CPU百分比;所述軟件部分的處理模塊包括含有進程決策庫并用以預(yù)設(shè)進程限定參數(shù)、進程處理決策、以及進程信息記錄 決策的進程參數(shù)設(shè)置單元;所述進程限定參數(shù)包括目標進程占用內(nèi)存數(shù)量或百分比的限定值、目標進程占用CPU百分比的限定值、以及目標進程占用內(nèi)存或CPU越限的超時時限值;所述進程處理決策為進程決策庫的任一項,所述進程決策庫包括(1)無動作;(2)殺掉進程;(3)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng);(4)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(5)殺掉進程后重啟進程;(6)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng);(7)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(8)重啟操作系統(tǒng);(9)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(10)重啟進程;(11)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng);(12)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(13)重啟計算機;當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出時,所述進程處理決策為進程決策庫的(I)至(9)之一;當目標進程退出時,所述進程處理決策為進程決策庫的(I)、(8)至(13)之一;當目標進程狀態(tài)正常且占用內(nèi)存或CPU未越限時,所述進程處理決策為進程決策庫的(I);所述進程信息記錄決策包括當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出或退出時,或者當目標進程被殺掉或被殺掉后重新啟動時,進行事件記錄和/或進行系統(tǒng)追憶記錄;所述軟件部分的處理模塊還包括比較單元,所述比較單元包括將目標進程占用內(nèi)存或CPU信息與預(yù)設(shè)的進程限定參數(shù)進行比較、并按預(yù)設(shè)的進程處理決策根據(jù)比較結(jié)果和目標進程狀態(tài)確定處理動作的進程比較器;所述軟件部分的處理模塊還包括動作單元,所述動作單元包括實施進程比較器確定的處理動作、并按預(yù)設(shè)的進程信息記錄決策向事件記錄模塊和/或系統(tǒng)追憶記錄模塊發(fā)出記錄指令的進程動作執(zhí)行器。這樣即可更加有效地監(jiān)控具體的目標進程,實現(xiàn)針對目標進程的多層次故障恢復(fù)處理。更優(yōu)選地,所述軟件部分的監(jiān)控模塊還包括用以監(jiān)控目標子過程調(diào)用軟喂狗點的狀態(tài)的子過程監(jiān)控單元;所述軟件部分的處理模塊還包括含有子過程決策庫并用以預(yù)設(shè)子過程限定參數(shù)、子過程處理決策、以及子過程信息記錄決策的子過程參數(shù)設(shè)置單元;所述子過程限定參數(shù)包括目標子過程對應(yīng)的軟喂狗API函數(shù)調(diào)用點序號、目標子過程停止軟喂狗的超時時限值;所述子過程處理決策為子過程決策庫的任一項,所述子過程決策庫包括(1)無動作;(2)終止父進程;(3)終止父進程,并在終止父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(4)終止父進程后重啟父進程;(4)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng);(5)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(6)重啟操作系統(tǒng);(7)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;當目標子過程停止軟喂狗的時間超過超時時限值時,所述子過程處理決策為子過程決策庫的(I)至(7)之一;當目標子過程調(diào)用軟喂狗點狀態(tài)正常時,所述子過程處理決策為子過程決策庫的(I);所述子過程信息記錄決策包括當目標子過程停止軟喂狗的時間超過超時時限值時,或者當目標子過程調(diào)用軟喂狗點狀態(tài)正常時,進行事件記錄和/或進行系統(tǒng)追憶記錄;所述軟件部分處理模塊的比較單元還包括當目標子過程停止軟喂狗時將目標子過程停止軟喂狗的時間與超時時限值進行比較、并按預(yù)設(shè)的子過程處理決策根據(jù)比較結(jié)果確定處理動作,或者當目標子過程調(diào)用軟喂狗點狀態(tài)正常時按預(yù)設(shè)的子過程處理決策確定處理動作的子過程比較器; 所述軟件部分處理模塊的動作單元還包括實施子過程比較器確定的處理動作、并按預(yù)設(shè)的子過程信息記錄決策向事件記錄模塊和/或系統(tǒng)追憶記錄模塊發(fā)出記錄指令的子過程動作執(zhí)行器。這樣即可更加有效地監(jiān)控進程的子過程,實現(xiàn)針對子過程的多層次故障恢復(fù)處理。更優(yōu)選地,所述軟件部分處理模塊的進程參數(shù)設(shè)置單元的進程決策庫還包括
(14)目標進程的子過程調(diào)用軟喂狗點狀態(tài)正常時該進程退出后,重啟該進程;(15)目標進程的子過程調(diào)用軟喂狗點狀態(tài)正常時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng);(16)目標進程的子過程調(diào)用軟喂狗點狀態(tài)正常時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(17)目標進程的子過程停止軟喂狗的時間超過超時時限值時該進程退出后,重啟該進程;(18)目標進程的子過程停止軟喂狗的時間超過超時時限值時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng);(19)目標進程的子過程停止軟喂狗的時間超過超時時限值時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;當目標進程退出時,所述進程參數(shù)設(shè)置單元的進程處理決策為進程決策庫的(I)、
(8)至(19)之一。這樣即可進一步為進程退出提供更加細化的多層次恢復(fù)處理,能通過目標進程的子過程狀態(tài)判斷目標進程是否由用戶退出(子過程狀態(tài)正常則為用戶退出,子過程狀態(tài)異常則為非用戶退出),進而按預(yù)設(shè)處理決策進行相應(yīng)處理。更優(yōu)選地,所述軟件部分的監(jiān)控模塊還包括監(jiān)控操作系統(tǒng)情況的系統(tǒng)監(jiān)控單元;所述操作系統(tǒng)情況包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比、各進程的內(nèi)存占用數(shù)量或百分比、各進程在運行預(yù)定時間后CPU占用增長百分比;所述軟件部分的處理模塊還包括用以預(yù)設(shè)系統(tǒng)限定參數(shù)和系統(tǒng)信息記錄決策的系統(tǒng)參數(shù)設(shè)置單元;所述系統(tǒng)限定參數(shù)包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比限值、各進程的內(nèi)存占用數(shù)量或百分比限值、各進程在運行預(yù)定時間后CPU占用增長百分比限值,以及各進程CPU或內(nèi)存占用越限的超時時限值;所述系統(tǒng)信息記錄決策包括當操作系統(tǒng)內(nèi)各進程CPU或內(nèi)存占用越限的時間超出超時時限值時,或者當操作系統(tǒng)內(nèi)各進程啟動或退出時,進行事件記錄;所述軟件部分處理模塊的比較單元還包括用以將操作系統(tǒng)內(nèi)各進程CPU或內(nèi)存占用情況與預(yù)設(shè)的系統(tǒng)限定參數(shù)進行比較的系統(tǒng)比較器;所述軟件部分處理模塊的動作單元還包括按預(yù)設(shè)的系統(tǒng)信息記錄決策、根據(jù)系統(tǒng)比較器的比較結(jié)果向事件記錄模塊發(fā)出記錄指令的系統(tǒng)動作執(zhí)行器。這樣即可更加有效地監(jiān)控操作系統(tǒng)情況,并通過事件記錄實現(xiàn)對整個操作系統(tǒng)情況的追溯,尤其有利于在操作系統(tǒng)因不明原因崩潰時追溯原因。更優(yōu)選地,所述軟件部分的處理模塊還包括含有受限進程管理器并用以預(yù)設(shè)進程信任名單、限制進程名單、進程鎖處理決策、以及進程鎖信息記錄決策的進程鎖設(shè)置單元; 所述進程信任名單包括允許運行的進程名稱;所述限制進程名單包括禁止運行的進程名稱;所述進程鎖處理決策為當運行進程不屬于進程信任名單時殺掉該進程,或者當運行進程屬于限制進程名單時殺掉該進程,否則無動作;所述進程鎖信息記錄決策包括當應(yīng)當被殺掉的進程啟動或退出時,進行事件記錄;所述受限進程管理器包括用以記錄被殺掉進程的名稱、所屬公司名稱、啟動次數(shù)、最近一次啟動時間的受限進程記錄表;所述軟件部分處理模塊的比較單元還包括用以將操作系統(tǒng)內(nèi)運行的各進程名稱與預(yù)設(shè)的進程信任名單或限制進程名單進行比較、并按進程鎖處理決策根據(jù)比較結(jié)果確定處理動作的進程鎖比較器;所述軟件部分處理模塊的動作單元還包括實施進程鎖比較器確定的處理動作、并按預(yù)設(shè)的進程鎖信息記錄決策向事件記錄模塊發(fā)出記錄指令的進程鎖執(zhí)行器。這樣即可更加有效地嚴格控制進程運行,防止不相關(guān)進程運行后消耗操作系統(tǒng)資源導(dǎo)致操作系統(tǒng)崩潰,確保操作系統(tǒng)穩(wěn)定運行。更優(yōu)選地,所述系統(tǒng)追憶記錄模塊包括用以每隔預(yù)設(shè)時間獲得一幀系統(tǒng)狀態(tài)的快照單元,用以根據(jù)預(yù)設(shè)幀數(shù)容量存入最新幀系統(tǒng)狀態(tài)、并刪除最舊幀系統(tǒng)狀態(tài)的堆棧單元,用以根據(jù)處理模塊指令存儲堆棧單元內(nèi)全部幀計算機操作系統(tǒng)信息狀態(tài)的存儲單元,以及根據(jù)存儲單元內(nèi)若干連續(xù)幀計算機操作系統(tǒng)信息狀態(tài)生成進程占用內(nèi)存數(shù)量、占用CPU百分比的時間變化曲線的記錄圖單元。這樣即可更加有效地實現(xiàn)系統(tǒng)追憶記錄功能,為追溯故障原因進一步提供有效保障。更優(yōu)選地,所述硬件部分還包括存儲有根據(jù)綁定計算機主機環(huán)境信息(如CPU識別號、硬盤識別號等)生成的綁定識別碼的存儲器;所述硬件部分控制模塊還包括接收軟件部分發(fā)來當前識別碼的接收器,將當前識別碼與綁定識別碼進行比較得出硬件比較結(jié)果的比較器,以及將比較結(jié)果和綁定識別碼發(fā)至軟件部分的發(fā)送器;所述軟件部分還包括存儲有根據(jù)當前計算機主機環(huán)境信息(如CPU識別號、硬盤識別號等)生成的當前識別碼的存儲模塊,所述軟件部分處理模塊還包括接收硬件部分發(fā)來硬件比較結(jié)果和綁定識別碼的接收單元,將當前識別碼與綁定識別碼進行比較得出軟件比較結(jié)果的鑒定單元,將當前識別碼發(fā)至硬件部分的發(fā)送單元,以及根據(jù)硬件比較結(jié)果和軟件比較結(jié)果確定本進程監(jiān)控及多級恢復(fù)系統(tǒng)是否關(guān)閉的保護單元。這樣即可通過兩次比較來確證當前計算機是否為綁定計算機,若硬件比較結(jié)果、軟件比較結(jié)果之一為綁定識別碼與當前識別碼不同,則關(guān)閉本進程監(jiān)控及多級恢復(fù)系統(tǒng),從而更加有效地防止本實施例系統(tǒng)被盜版使用,有效保護本實施例系統(tǒng)的知識產(chǎn)權(quán)。與本實施例系統(tǒng)對應(yīng)的方法如圖2所示,包括以下步驟第一步、設(shè)于計算機的軟件部分監(jiān)控目標進程信息,所述目標進程信息包括目標進程狀態(tài)、目標進程占用內(nèi)存數(shù)量或百分比、以及目標進程占用CPU百分比;
第二步、軟件部分將目標進程占用內(nèi)存或CPU信息與預(yù)設(shè)的進程限定參數(shù)進行比較、并按預(yù)設(shè)的進程處理決策根據(jù)比較結(jié)果和目標進程狀態(tài)確定處理動作; 所述進程限定參數(shù)包括目標進程占用內(nèi)存數(shù)量或百分比的限定值、目標進程占用CPU百分比的限定值、以及目標進程占用內(nèi)存或CPU越限的超時時限值;所述進程處理決策為進程決策庫的任一項,所述進程決策庫包括(1)無動作;
(2)殺掉進程;(3)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng);(4)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(5)殺掉進程后重啟進程;(6)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng);(7)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(8)重啟操作系統(tǒng);(9)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;
(10)重啟進程;(11)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng);(12)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(13)重啟計算機;當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出時,所述進程處理決策為進程決策庫的(I)至(9)之一;當目標進程退出時,所述進程處理決策為進程決策庫的(I)、(8)至(13)之一;當目標進程狀態(tài)正常且占用內(nèi)存或CPU未越限時,所述進程處理決策為進程決策庫的(I);當確定的處理動作為無動作時直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步;第三步、軟件部分實施第二步確定的處理動作,當處理動作為重啟計算機時由軟件部分向與計算機數(shù)據(jù)連接、并與計算機重啟跳線電連接的硬件部分發(fā)出重啟計算機信號,硬件部分重置計算機重啟跳線使計算機重啟;同時,軟件部分進行事件記錄和/或系統(tǒng)追憶記錄;第四步、軟件部分判斷是否終止所述進程監(jiān)控及多級恢復(fù)系統(tǒng)的運行,若是則退出該系統(tǒng),若否則轉(zhuǎn)至第一步。這樣即可有效地監(jiān)控目標進程,實現(xiàn)針對目標進程的多層次恢復(fù)處理。優(yōu)選地,第一步還包括軟件部分監(jiān)控目標子過程調(diào)用軟喂狗點的狀態(tài);第二步還包括軟件部分在目標子過程停止軟喂狗時將目標子過程停止軟喂狗的時間與超時時限值進行比較、并按預(yù)設(shè)的子過程處理決策根據(jù)比較結(jié)果確定處理動作,或者在目標子過程調(diào)用軟喂狗點狀態(tài)正常時按預(yù)設(shè)的子過程處理決策確定處理動作;所述子過程處理決策為子過程決策庫的任一項,所述子過程決策庫包括(1)無動作;(2)終止父進程;(3)終止父進程,并在終止父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(4)終止父進程后重啟父進程;(4)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng);(5)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;
(6)重啟操作系統(tǒng);(7)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;當目標子過程停止軟喂狗的時間超過超時時限值時,所述子過程處理決策為子過程決策庫的(I)至(7)之一;當目標子過程調(diào)用軟喂狗點狀態(tài)正常時,所述子過程處理決策為子過程決策庫的(I);當確定的處理動作為無動作時直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步。這樣即可進一步有效地監(jiān)控進程的子過程,實現(xiàn)針對子過程的多層次恢復(fù)處理。更優(yōu)選地,第一步中還包括軟件部分監(jiān)控操作系統(tǒng)情況,所述操作系統(tǒng)情況包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比、各進程的內(nèi)存占用數(shù)量或百分比、各進程在運行預(yù)定時間后CPU占用增長百分比;
第二步中還包括軟件部分將操作系統(tǒng)內(nèi)各進程CPU或內(nèi)存占用情況與預(yù)設(shè)的系統(tǒng)限定參數(shù)進行比較得出操作系統(tǒng)比較結(jié)果,將操作系統(tǒng)內(nèi)運行的各進程名稱與預(yù)設(shè)的進程信任名單或限制進程名單進行比較、并按進程鎖處理決策確定處理動作;所述系統(tǒng)限定參數(shù)包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比限值、各進程的內(nèi)存占用數(shù)量或百分比限值、各進程在運行預(yù)定時間后CPU占用增長百分比限值,以及各進程CPU或內(nèi)存占用越限的超時時限值;所述進程信任名單包括允許運行的進程名稱;所述限制進程名單包括禁止運行的進程名稱;所述進程鎖處理決策為當運行進程不屬于進程信任名單時殺掉該進程,或者當運行進程屬于限制進程名單時殺掉該進程,否則無動作;當操作系統(tǒng)比較結(jié)果為未超限、且確定的處理動作為無動作時則直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步。這樣即可有效地監(jiān)控操作系統(tǒng)情況,并通過事件記錄實現(xiàn)對整個操作系統(tǒng)情況的追溯;并有效地嚴格控制進程運行,防止不相關(guān)進程運行后消耗操作系統(tǒng)資源導(dǎo)致操作系統(tǒng)崩潰。本實施例系統(tǒng)可以為運行方用戶提供操作系統(tǒng)故障過程的記錄依據(jù),可以有效地在短時間內(nèi)自動恢復(fù)進程和操作系統(tǒng)的正常運行,而不必等待廠家千里迢迢地來現(xiàn)場解決問題。對于廠家來說,本實施例系統(tǒng)可以記錄故障發(fā)生的過程中操作系統(tǒng)及目標進程的CPU占用、內(nèi)存占用發(fā)生變化的情況,由該記錄即可得知故障原因;同時本實施例系統(tǒng)可以迅速恢復(fù)啟動操作系統(tǒng),避免廠家人員被要求迅速到現(xiàn)場解決問題帶來的迫切感。此外,采用本實施例系統(tǒng)后,可讓用戶把事件記錄、系統(tǒng)追憶記錄文件發(fā)回廠家,便于廠家及時找到線索,分析故障原因,找到解決問題的辦法和方案,從而最有效率地迅速解決用戶現(xiàn)場發(fā)生的問題,減少去現(xiàn)場售后服務(wù)的代價。此外,本實施例系統(tǒng)的硬件部分還是一款加密狗,能提供用戶硬加密接口,防止廠家具備知識產(chǎn)權(quán)的軟件被隨意拷貝,并保證一套用戶軟件只能與唯一的硬件狗對應(yīng),保護了廠家知識產(chǎn)權(quán)。具體應(yīng)用時,硬件部分的控制模塊可采用單片機;硬件部分的通信模塊通過USB數(shù)據(jù)線與計算機的USB接口或主板USB接口排針連接;硬件部分可設(shè)有與計算機重啟跳線電連接的跳線In排針、與計算機機箱重啟按鈕電連接的跳線Out排針,這樣即可保證硬件部分重置計算機重啟跳線、計算機機箱重啟按鈕重置計算機重啟跳線能分別順利實現(xiàn);硬件部分還可設(shè)有單片機的編程口排針,用以向單片機燒錄程序或調(diào)試單片機中的程序。除上述實施例外, 本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護范圍。
權(quán)利要求
1.一種進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,包括設(shè)于外部計算機上的軟件部分和與所述計算機數(shù)據(jù)連接的硬件部分; 所述硬件部分包括經(jīng)數(shù)據(jù)線與所述計算機通信端口連接的通信模塊、以及與通信模塊信號連接的控制模塊,所述控制模塊控制端與所述計算機主板的重啟跳線電連接; 所述軟件部分包括用以監(jiān)控進程、子過程、或計算機操作系統(tǒng)的監(jiān)控模塊,用以根據(jù)監(jiān)控模塊所得監(jiān)控信息實施處理動作的處理模塊,用以利用計算機通信端口與硬件部分通信模塊進行數(shù)據(jù)交換的數(shù)據(jù)收發(fā)模塊,用以根據(jù)處理模塊指令將當前情況記錄為事件的事件記錄模塊,以及用以根據(jù)處理模塊指令記錄最近若干幀計算機操作系統(tǒng)信息狀態(tài)的系統(tǒng)追憶記錄模塊; 所述計算機操作系統(tǒng)信息狀態(tài)至少為計算機操作系統(tǒng)內(nèi)全部運行進程的PID、CPU占用率、CPU占用時間、內(nèi)存占用數(shù)量之一; 所述處理模塊的處理動作至少為殺掉進程、重啟進程、殺掉子過程的父進程、重啟子過程的父進程、重啟操作系統(tǒng)、向硬件部分控制模塊發(fā)出重啟計算機信號之一。
2.根據(jù)權(quán)利要求I所述進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,所述軟件部分的監(jiān)控模塊包括用以監(jiān)控目標進程信息的進程監(jiān)控單元;所述目標進程信息包括目標進程狀態(tài)、目標進程占用內(nèi)存數(shù)量或百分比、以及目標進程占用CPU百分比; 所述軟件部分的處理模塊包括含有進程決策庫并用以預(yù)設(shè)進程限定參數(shù)、進程處理決策、以及進程信息記錄決策的進程參數(shù)設(shè)置單元;所述進程限定參數(shù)包括目標進程占用內(nèi)存數(shù)量或百分比的限定值、目標進程占用CPU百分比的限定值、以及目標進程占用內(nèi)存或CPU越限的超時時限值; 所述進程處理決策為進程決策庫的任一項,所述進程決策庫包括(I)無動作;(2)殺掉進程;(3)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng);(4)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(5)殺掉進程后重啟進程;(6)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng);(7)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(8)重啟操作系統(tǒng);(9)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(10)重啟進程;(11)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng);(12)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(13)重啟計算機; 當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出時,所述進程處理決策為進程決策庫的(I)至(9)之一;當目標進程退出時,所述進程處理決策為進程決策庫的(I)、(8)至(13)之一;當目標進程狀態(tài)正常且占用內(nèi)存或CPU未越限時,所述進程處理決策為進程決策庫的(I); 所述進程信息記錄決策包括當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出或退出時,或者當目標進程被殺掉或被殺掉后重新啟動時,進行事件記錄和/或進行系統(tǒng)追憶記錄; 所述軟件部分的處理模塊還包括比較單元,所述比較單元包括將目標進程占用內(nèi)存或CPU信息與預(yù)設(shè)的進程限定參數(shù)進行比較、并按預(yù)設(shè)的進程處理決策根據(jù)比較結(jié)果和目標進程狀態(tài)確定處理動作的進程比較器; 所述軟件部分的處理模塊還包括動作單元,所述動作單元包括實施進程比較器確定的處理動作、并按預(yù)設(shè)的進程信息記錄決策向事件記錄模塊和/或系統(tǒng)追憶記錄模塊發(fā)出記錄指令的進程動作執(zhí)行器。
3.根據(jù)權(quán)利要求2所述進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,所述軟件部分的監(jiān)控模塊還包括用以監(jiān)控目標子過程調(diào)用軟喂狗點的狀態(tài)的子過程監(jiān)控單元; 所述軟件部分的處理模塊還包括含有子過程決策庫并用以預(yù)設(shè)子過程限定參數(shù)、子過程處理決策、以及子過程信息記錄決策的子過程參數(shù)設(shè)置單元; 所述子過程限定參數(shù)包括目標子過程對應(yīng)的軟喂狗API函數(shù)調(diào)用點序號、目標子過程停止軟喂狗的超時時限值; 所述子過程處理決策為子過程決策庫的任一項,所述子過程決策庫包括(1)無動作;(2)終止父進程;(3)終止父進程,并在終止父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(4)終止父進程后重啟父進程;(4)終止父進程后重啟父進程,并在 終止父進程或重啟父進程失敗時重啟操作系統(tǒng);(5)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(6)重啟操作系統(tǒng);(7)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機; 當目標子過程停止軟喂狗的時間超過超時時限值時,所述子過程處理決策為子過程決策庫的(I)至(7)之一;當目標子過程調(diào)用軟喂狗點狀態(tài)正常時,所述子過程處理決策為子過程決策庫的(I); 所述子過程信息記錄決策包括當目標子過程停止軟喂狗的時間超過超時時限值時,或者當目標子過程調(diào)用軟喂狗點狀態(tài)正常時,進行事件記錄和/或進行系統(tǒng)追憶記錄; 所述軟件部分處理模塊的比較單元還包括當目標子過程停止軟喂狗時將目標子過程停止軟喂狗的時間與超時時限值進行比較、并按預(yù)設(shè)的子過程處理決策根據(jù)比較結(jié)果確定處理動作,或者當目標子過程調(diào)用軟喂狗點狀態(tài)正常時按預(yù)設(shè)的子過程處理決策確定處理動作的子過程比較器; 所述軟件部分處理模塊的動作單元還包括實施子過程比較器確定的處理動作、并按預(yù)設(shè)的子過程信息記錄決策向事件記錄模塊和/或系統(tǒng)追憶記錄模塊發(fā)出記錄指令的子過程動作執(zhí)行器。
4.根據(jù)權(quán)利要求3所述進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,所述軟件部分處理模塊的進程參數(shù)設(shè)置單元的進程決策庫還包括(14)目標進程的子過程調(diào)用軟喂狗點狀態(tài)正常時該進程退出后,重啟該進程;(15)目標進程的子過程調(diào)用軟喂狗點狀態(tài)正常時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng);(16)目標進程的子過程調(diào)用軟喂狗點狀態(tài)正常時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(17)目標進程的子過程停止軟喂狗的時間超過超時時限值時該進程退出后,重啟該進程;(18)目標進程的子過程停止軟喂狗的時間超過超時時限值時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng);(19)目標進程的子過程停止軟喂狗的時間超過超時時限值時該進程退出后,重啟該進程,并在重啟該進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機; 當目標進程退出時,所述進程參數(shù)設(shè)置單元的進程處理決策為進程決策庫的(I)、(8)至(19)之一。
5.根據(jù)權(quán)利要求4所述進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,所述軟件部分的監(jiān)控模塊還包括監(jiān)控操作系統(tǒng)情況的系統(tǒng)監(jiān)控單元;所述操作系統(tǒng)情況包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比、各進程的內(nèi)存占用數(shù)量或百分比、各進程在運行預(yù)定時間后CPU占用增長百分比; 所述軟件部分的處理模塊還包括用以預(yù)設(shè)系統(tǒng)限定參數(shù)和系統(tǒng)信息記錄決策的系統(tǒng)參數(shù)設(shè)置單元;所述系統(tǒng)限定參數(shù)包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比限值、各進程的內(nèi)存占用數(shù)量或百分比限值、各進程在運行預(yù)定時間后CPU占用增長百分比限值,以及各進程CPU或內(nèi)存占用越限的超時時限值;所述系統(tǒng)信息記錄決策包括當操作系統(tǒng)內(nèi)各進程CPU或內(nèi)存占用越限的時間超出超時時限值時,或者當操作系統(tǒng)內(nèi)各進程啟動或退出時,進行事件記錄; 所述軟件部分處理模塊的比較單元還包括用以將操作系統(tǒng)內(nèi)各進程CPU或內(nèi)存占用情況與預(yù)設(shè)的系統(tǒng)限定參數(shù)進行比較的系統(tǒng)比較器; 所述軟件部分處理模塊的動作單元還包括按預(yù)設(shè)的系統(tǒng)信息記錄決策、根據(jù)系統(tǒng)比較器的比較結(jié)果向事件記錄模塊發(fā)出記錄指令的系統(tǒng)動作執(zhí)行器。
6.根據(jù)權(quán)利要求5所述進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,所述軟件部分的處理模塊還包括含有受限進程管理器并用以預(yù)設(shè)進程信任名單、限制進程名單、進程鎖處理決策、以及進程鎖信息記錄決策的進程鎖設(shè)置單元;所述進程信任名單包括允許運行的進程名稱;所述限制進程名單包括禁止運行的進程名稱;所述進程鎖處理決策為當運行進程不屬于進程信任名單時殺掉該進程,或者當運行進程屬于限制進程名單時殺掉該進程,否則無動作;所述進程鎖信息記錄決策包括當應(yīng)當被殺掉的進程啟動或退出時,進行事件記錄; 所述受限進程管理器包括用以記錄被殺掉進程的名稱、所屬公司名稱、啟動次數(shù)、最近一次啟動時間的受限進程記錄表; 所述軟件部分處理模塊的比較單元還包括用以將操作系統(tǒng)內(nèi)運行的各進程名稱與預(yù)設(shè)的進程信任名單或限制進程名單進行比較、并按進程鎖處理決策根據(jù)比較結(jié)果確定處理動作的進程鎖比較器; 所述軟件部分處理模塊的動作單元還包括實施進程鎖比較器確定的處理動作、并按預(yù)設(shè)的進程鎖信息記錄決策向事件記錄模塊發(fā)出記錄指令的進程鎖執(zhí)行器。
7.根據(jù)權(quán)利要求6所述進程監(jiān)控及多級恢復(fù)系統(tǒng),其特征是,所述系統(tǒng)追憶記錄模塊包括用以每隔預(yù)設(shè)時間獲得一幀系統(tǒng)狀態(tài)的快照單元,用以根據(jù)預(yù)設(shè)幀數(shù)容量存入最新幀系統(tǒng)狀態(tài)、并刪除最舊幀系統(tǒng)狀態(tài)的堆棧單元,用以根據(jù)處理模塊指令存儲堆棧單元內(nèi)全部幀計算機操作系統(tǒng)信息狀態(tài)的存儲單元,以及根據(jù)存儲單元內(nèi)若干連續(xù)幀計算機操作系統(tǒng)信息狀態(tài)生成進程占用內(nèi)存數(shù)量、占用CPU百分比的時間變化曲線的記錄圖單元; 所述硬件部分還包括存儲有根據(jù)綁定計算機主機環(huán)境信息生成的綁定識別碼的存儲器;所述硬件部分控制模塊還包括接收軟件部分發(fā)來當前識別碼的接收器,將當前識別碼與綁定識別碼進行比較得出硬件比較結(jié)果的比較器,以及將比較結(jié)果和綁定識別碼發(fā)至軟件部分的發(fā)送器; 所述軟件部分還包括存儲有根據(jù)當前計算機主機環(huán)境信息生成的當前識別碼的存儲模塊,所述軟件部分處理模塊還包括接收硬件部分發(fā)來硬件比較結(jié)果和綁定識別碼的接收單元,將當前識別碼與綁定識別碼進行比較得出軟件比較結(jié)果的鑒定單元,將當前識別碼發(fā)至硬件部分的發(fā)送單元,以及根據(jù)硬件比較結(jié)果和軟件比較結(jié)果確定本進程監(jiān)控及多級恢復(fù)系統(tǒng)是否關(guān)閉的保護單元。
8.一種采用權(quán)利要求I所述進程監(jiān)控及多級恢復(fù)系統(tǒng)的進程監(jiān)控及多級恢復(fù)方法,其特征是,包括以下步驟 第一步、設(shè)于計算機的軟件部分監(jiān)控目標進程信息,所述目標進程信息包括目標進程狀態(tài)、目標進程占用內(nèi)存數(shù)量或百分比、以及目標進程占用CPU百分比; 第二步、軟件部分將目標進程占用內(nèi)存或CPU信息與預(yù)設(shè)的進程限定參數(shù)進行比較、并按預(yù)設(shè)的進程處理決策根據(jù)比較結(jié)果和目標進程狀態(tài)確定處理動作; 所述進程限定參數(shù)包括目標進程占用內(nèi)存數(shù)量或百分比的限定值、目標進程占用CPU百分比的限定值、以及目標進程占用內(nèi)存或CPU越限的超時時限值; 所述進程處理決策為進程決策庫的任一項,所述進程決策庫包括(I)無動作;(2)殺掉進程;(3)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng);(4)殺掉進程,并在殺掉進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(5)殺掉進程后重啟進程;(6)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng);(7)殺掉進程后重啟進程,并在殺掉進程或重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(8)重啟操作系統(tǒng);(9)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(10)重啟進程;(11)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng);(12)重啟進程,并在重啟進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(13)重啟計算機; 當目標進程占用內(nèi)存或CPU越限的時間超出超時時限值時,或者當目標進程狀態(tài)為死鎖或崩潰未退出時,所述進程處理決策為進程決策庫的(I)至(9)之一;當目標進程退出時,所述進程處理決策為進程決策庫的(I)、(8)至(13)之一;當目標進程狀態(tài)正常且占用內(nèi)存或CPU未越限時,所述進程處理決策為進程決策庫的(I); 當確定的處理動作為無動作時直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步; 第三步、軟件部分實施第二步確定的處理動作,當處理動作為重啟計算機時由軟件部分向與計算機數(shù)據(jù)連接、并與計算機重啟跳線電連接的硬件部分發(fā)出重啟計算機信號,硬件部分重置計算機重啟跳線使計算機重啟;同時,軟件部分進行事件記錄和/或系統(tǒng)追憶記錄; 第四步、軟件部分判斷是否終止所述進程監(jiān)控及多級恢復(fù)系統(tǒng)的運行,若是則退出該系統(tǒng),若否則轉(zhuǎn)至第一步。
9.根據(jù)權(quán)利要求8所述進程監(jiān)控及多級恢復(fù)方法,其特征是,第一步還包括軟件部分監(jiān)控目標子過程調(diào)用軟喂狗點的狀態(tài); 第二步還包括軟件部分在目標子過程停止軟喂狗時將目標子過程停止軟喂狗的時間與超時時限值進行比較、并按預(yù)設(shè)的子過程處理決策根據(jù)比較結(jié)果確定處理動作,或者在目標子過程調(diào)用軟喂狗點狀態(tài)正常時按預(yù)設(shè)的子過程處理決策確定處理動作; 所述子過程處理決策為子過程決策庫的任一項,所述子過程決策庫包括(1)無動作;(2)終止父進程;(3)終止父進程,并在終止父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(4)終止父進程后重啟父進程;(4)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng);(5)終止父進程后重啟父進程,并在終止父進程或重啟父進程失敗時重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機;(6)重啟操作系統(tǒng);(7)重啟操作系統(tǒng),并在重啟操作系統(tǒng)失敗時重啟計算機; 當目標子過程停止軟喂狗的時間超過超時時限值時,所述子過程處理決策為子過程決策庫的(I)至(7)之一;當目標子過程調(diào)用軟喂狗點狀態(tài)正常時,所述子過程處理決策為子過程決策庫的(I); 當確定的處理動作為無動作時直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步。
10.根據(jù)權(quán)利要求9所述進程監(jiān)控及多級恢復(fù)方法,其特征是,第一步中還包括軟件部分監(jiān)控操作系統(tǒng)情況,所述操作系統(tǒng)情況包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比、各進程的內(nèi)存占用數(shù)量或百分比、各進程在運行預(yù)定時間后CPU占用增長百分比; 第二步中還包括軟件部分將操作系統(tǒng)內(nèi)各進程CPU或內(nèi)存占用情況與預(yù)設(shè)的系統(tǒng)限定參數(shù)進行比較得出操作系統(tǒng)比較結(jié)果,將操作系統(tǒng)內(nèi)運行的各進程名稱與預(yù)設(shè)的進程信任名單或限制進程名單進行比較、并按進程鎖處理決策確定處理動作; 所述系統(tǒng)限定參數(shù)包括操作系統(tǒng)內(nèi)各進程的CPU占用百分比限值、各進程的內(nèi)存占用數(shù)量或百分比限值、各進程在運行預(yù)定時間后CPU占用增長百分比限值,以及各進程CPU或內(nèi)存占用越限的超時時限值; 所述進程信任名單包括允許運行的進程名稱;所述限制進程名單包括禁止運行的進程名稱;所述進程鎖處理決策為當運行進程不屬于進程信任名單時殺掉該進程,或者當運行進程屬于限制進程名單時殺掉該進程,否則無動作; 當操作系統(tǒng)比較結(jié)果為未超限、且確定的處理動作為無動作時則直接轉(zhuǎn)至第一步,否則轉(zhuǎn)至第三步。
全文摘要
本發(fā)明涉及一種進程監(jiān)控及多級恢復(fù)系統(tǒng)和方法。該系統(tǒng)包括硬件部分和軟件部分,硬件部分包括通信模塊、控制模塊,控制模塊控制端與外部計算機主板的重啟跳線電連接;軟件部分包括監(jiān)控模塊,處理模塊,數(shù)據(jù)收發(fā)模塊,事件記錄模塊,以及系統(tǒng)追憶記錄模塊。該方法與該系統(tǒng)相對應(yīng)。本發(fā)明可實現(xiàn)對進程的全方位監(jiān)控,能實施多層次的恢復(fù)操作,并能留下事件記錄、系統(tǒng)追憶記錄,為廠家技術(shù)人員追溯故障原因提供有效線索。
文檔編號G06F11/34GK102968352SQ20121054430
公開日2013年3月13日 申請日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者楊曉松, 盧文兵 申請人:楊曉松
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
自贡市| 沽源县| 彭水| 昌邑市| 南部县| 上栗县| 昭苏县| 金寨县| 时尚| 湖州市| 镇沅| 襄城县| 潼关县| 偏关县| 临颍县| 敦煌市| 双城市| 崇义县| 五华县| 扶风县| 高清| 曲沃县| 辽源市| 临沂市| 新宁县| 六盘水市| 凤翔县| 通山县| 澳门| 犍为县| 辉县市| 贵南县| 马边| 雷山县| 昌黎县| 鹿邑县| 牡丹江市| 莲花县| 修水县| 滨州市| 新丰县|