一種檢測并維護管理進程的方法
【專利摘要】公開一種檢測并維護管理進程的方法,其能夠檢測應用軟件,并在應用軟件出現問題后能夠對其進行恢復。該方法包括步驟:(1)開始;(2)檢測指定進程,判斷進程是否運行,是則執行步驟(4),否則執行步驟(3);(3)啟動進程,跳轉步驟(2);(4)判斷進程是否正常運行,是則執行步驟(2),否則執行步驟(5);(5)修復進程中出現的問題,跳轉步驟(2)。
【專利說明】一種檢測并維護管理進程的方法
【技術領域】
[0001]本發明屬于計算機技術的領域,具體地涉及一種檢測并維護管理進程的方法。
【背景技術】
[0002]軟件(software)是一系列按照特定順序組織的電腦數據和指令的集合,是電腦中的非有形部分。電腦中的有形部分稱為硬件,由電腦的外殼及各零件及電路所組成。電腦軟件需有硬件才能運作,反之亦然,軟件和硬件都無法在不互相配合的情形下進行實際的運作。
[0003]軟件的分類方式有很多種,可以依軟件的目的分為以下幾種:
[0004]1.系統軟件
[0005]系統軟件負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作,提供基本的功能,并為正在運行的應用軟件提供平臺。系統軟件使得計算機用戶和其他軟件將計算機當作一個整體而不需要顧及到底層每個硬件是如何工作的。而各個硬件工作的細節則由驅動程序處理。
[0006]一般來說,系統軟件包括操作系統(例如BeOS、BSD、DOS、Linux、Mac OS、OS/2、QNX、Unix、Wind0WS等)和一系列基本的工具(比如編譯器,數據庫管理,存儲器格式化,文件系統管理,用戶身份驗證,驅動管理,網絡連接等方面的工具)。
[0007]2.應用軟件
[0008]應用軟件是為了某種特定的用途而被開發的軟件。它可以是一個特定的程序,比如一個圖像瀏覽器。也可以是一組功能聯系緊密,可以互相協作的程序的集合,比如微軟的Office軟件。也可以是一個由眾多獨立程序組成的龐大的軟件系統,比如數據庫管理系統。
[0009]在應用軟件中,守護進程(daemon)是指在UNIX或其他多任務操作系統中在后臺執行的電腦軟件,并不會接受電腦用戶的直接操控。此類程序會被以進程的形式初始化。守護進程程序的名稱通常以字母“d”結尾:例如,syslogd就是指管理系統日志的守護進程。
[0010]守護進程這類軟件通常負責系統中比較重要的功能。但是因為是用戶不可感知的軟件,所以一旦出現問題,將造成系統不正常,不能完好的為用戶提供服務。
[0011]在操作系統上的應用軟件肩負著向用戶提供各種服務的重要職責,比如說路由器上DNS解析軟件,就是負責將域名網址轉換為IP的一種進程。如果這個進程無法正常運行,那么就將無法上網,而且對于絕大多數用戶來說,都不知道發生什么了。特別是路由器上的這種軟件,不像Pc電腦會提供直接的可視界面,方便用戶查看系統到底出了什么問題。
【發明內容】
[0012]本發明要解決的技術解決問題是:克服現有技術的不足,提供一種檢測并維護管理進程的方法,其能夠檢測應用軟件,并在應用軟件出現問題后能夠對其進行恢復。
[0013]本發明的技術解決方案是:這種檢測并維護管理進程的方法,該方法包括以下步驟:
[0014](I)開始;
[0015](2)檢測指定進程,判斷進程是否運行,是則執行步驟(4),否則執行步驟(3);
[0016](3)啟動進程,跳轉步驟(2);
[0017](4)判斷進程是否正常運行,是則執行步驟(2),否則執行步驟(5);
[0018](5)修復進程中出現的問題,跳轉步驟(2)。
[0019]本發明通過循環檢測進程(即目標軟件),如果檢測到這個進程異常退出,不再運行,重新啟動這個進程;如果進程正在運行,那么檢測進程是否正常運行,如果不正常則嘗試恢復出現問題的軟件;如果問題不能得到解決,會停止這個進程,之后重新運行;因此就能夠檢測應用軟件,并在應用軟件出現問題后能夠對其進行恢復。
【專利附圖】
【附圖說明】
[0020]圖1示出了根據本發明的檢測并維護管理進程的方法的流程圖。
【具體實施方式】
[0021]如圖1所示,這種檢測并維護管理進程的方法,該方法包括以下步驟:
[0022](I)開始;
[0023](2)檢測指定進程,判斷進程是否運行,是則執行步驟(4),否則執行步驟(3);
[0024](3)啟動進程,跳轉步驟⑵;
[0025](4)判斷進程是否正常運行,是則執行步驟(2),否則執行步驟(5);
[0026](5)修復進程中出現的問題,跳轉步驟(2)。
[0027]本發明通過循環檢測進程(即目標軟件),如果檢測到這個進程異常退出,不再運行,重新啟動這個進程;如果進程正在運行,那么檢測進程是否正常運行,如果不正常則嘗試恢復出現問題的軟件;如果問題不能得到解決,會停止這個進程,之后重新運行;因此就能夠檢測應用軟件,并在應用軟件出現問題后能夠對其進行恢復。
[0028]優選地,該方法在用戶終端和路由器上執行。
[0029]優選地,通過系統提供API接口獲取進程的信息,檢測并維護。該方法的實現依賴于具體的終端的系統提供的獲取進程的狀態的API接口。比如Linux系統有procfs可以用于獲取進程的狀態;Android系統也是基于Linux可以同樣從procfs獲取進程的狀態。這樣為用戶提供方便易用的接口,用戶可以通過移動端的手機APP,非常容易地觸發這個功會K。
[0030]優選地,在所述步驟(2)中,通過判斷進程是否存在來判斷進程是否運行。
[0031]優選地,在所述步驟(4)中,通過判斷進程是否正確響應用戶的服務需求來判斷進程是否正常運行。
[0032]優選地,所述進程為域名系統DNS解析軟件,所述步驟(4)中判斷進程是否正常運行為:向DNS解析軟件發送DNS解析請求,經過容錯算法之后,如果DNS解析請求正確地被處理了則認為進程是正常運行,否則為運行不正常。
[0033]優選地,在所述步驟(5)中,修復進程中出現的問題包括修改配置、更新參數。
[0034]以上所述,僅是本發明的較佳實施例,并非對本發明作任何形式上的限制,凡是依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發明技術方案的保護范圍。
【權利要求】
1.一種檢測并維護管理進程的方法,其特征在于:該方法包括以下步驟: (1)開始; (2)檢測指定進程,判斷進程是否運行,是則執行步驟(4),否則執行步驟(3); (3)啟動進程,跳轉步驟(2); (4)判斷進程是否正常運行,是則執行步驟(2),否則執行步驟(5); (5)修復進程中出現的問題,跳轉步驟(2)。
2.根據權利要求1所述的檢測并維護管理進程的方法,其特征在于:該方法在用戶終端和路由器上執行。
3.根據權利要求2所述的檢測并維護管理進程的方法,其特征在于:通過系統提供API接口獲取進程的信息,檢測并維護。
4.根據權利要求3所述的檢測并維護管理進程的方法,其特征在于:在所述步驟(2)中,通過判斷進程是否存在來判斷進程是否運行。
5.根據權利要求4所述的檢測并維護管理進程的方法,其特征在于:在所述步驟(4)中,通過判斷進程是否正確響應用戶的服務需求來判斷進程是否正常運行。
6.根據權利要求1所述的檢測并維護管理進程的方法,其特征在于:所述進程為域名系統DNS解析軟件,所述步驟(4)中判斷進程是否正常運行為:向DNS解析軟件發送DNS解析請求,經過容錯算法之后,如果DNS解析請求正確地被處理了則認為進程是正常運行,否則為運行不正常。其特征在于:所述進程為Web服務器如Nginx,所述步驟(4)中判斷進程是否正常運行為:向Nginx —類的Web服務器,發送Http請求,如能正確解析,會返回相應Http結果,則認為Web服務器是正常。可以依據不同進程的相關業務類型,動態的增添需要檢測和維護的進程。
7.根據權利要求6所述的檢測并維護管理進程的方法,其特征在于:在所述步驟(5)中,修復進程中出現的問題包括修改配置、更新參數。
【文檔編號】G06F9/46GK104503829SQ201410815947
【公開日】2015年4月8日 申請日期:2014年12月23日 優先權日:2014年12月23日
【發明者】楊永明 申請人:北京極科極客科技有限公司