一種進(jìn)程管理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是進(jìn)程管理技術(shù)領(lǐng)域,具體為一種進(jìn)程管理方法及系統(tǒng)。
【背景技術(shù)】
[0002]進(jìn)程是正在運(yùn)行的程序?qū)嶓w,并且包括這個(gè)運(yùn)行的程序中占據(jù)的所有系統(tǒng)資源,比如說(shuō)CPU(寄存器),10,內(nèi)存,網(wǎng)絡(luò)資源等。很多人在回答進(jìn)程的概念的時(shí)候,往往只會(huì)說(shuō)它是一個(gè)運(yùn)行的實(shí)體,而會(huì)忽略掉進(jìn)程所占據(jù)的資源。比如說(shuō),同樣一個(gè)程序,同一時(shí)刻被兩次運(yùn)行了,那么他們就是兩個(gè)獨(dú)立的進(jìn)程。操作系統(tǒng)的職能之一,主要是對(duì)處理機(jī)進(jìn)行管理。為了提高CPU的利用率而采用多道程序技術(shù)。通過(guò)進(jìn)程管理來(lái)協(xié)調(diào)多道程序之間的關(guān)系,使CPU得到充分的利用。
[0003]在軟件產(chǎn)品的設(shè)計(jì)中,由于輸入和運(yùn)行環(huán)境等的不確定性,很多時(shí)候會(huì)出現(xiàn)一些難以預(yù)測(cè)的情況,程序經(jīng)常會(huì)由于各種難以預(yù)測(cè)的因素而出現(xiàn)錯(cuò)誤,導(dǎo)致程序崩潰。如果是比較關(guān)鍵的程序,例如守護(hù)進(jìn)程,程序崩潰是不可接受的。目前應(yīng)對(duì)這一問(wèn)題的方法一般都是以防御性編程,即盡可能的在程序中的關(guān)鍵點(diǎn)處試圖捕獲意外并針對(duì)各種意外加以處理。但現(xiàn)有的處理方法有以下缺點(diǎn):1)增加了代碼復(fù)雜度和耦合性,程序中很多地方都會(huì)出現(xiàn)捕獲意外及相應(yīng)的處理代碼,這些地方邏輯一般是沒(méi)有規(guī)律的;2)對(duì)設(shè)計(jì)人員業(yè)務(wù)和技術(shù)水平要求較高,設(shè)計(jì)人員需要知道在什么時(shí)候可能出現(xiàn)哪種意外并如何處理;3)產(chǎn)品難以維護(hù),一般不能把所有意外窮舉完。
【發(fā)明內(nèi)容】
[0004]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種進(jìn)程管理方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中預(yù)防進(jìn)程的程序崩潰的方法復(fù)雜、難度大問(wèn)題。
[0005]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種進(jìn)程管理方法,用于對(duì)操作系統(tǒng)中各業(yè)務(wù)進(jìn)程進(jìn)行管理,所述進(jìn)程管理方法包括:創(chuàng)建一個(gè)用于管理各業(yè)務(wù)進(jìn)程的管理進(jìn)程;所述管理進(jìn)程創(chuàng)建并配置各業(yè)務(wù)進(jìn)程;在所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng)時(shí),所述管理進(jìn)程創(chuàng)建一個(gè)與以非正常方式退出操作系統(tǒng)的業(yè)務(wù)進(jìn)程相同的業(yè)務(wù)進(jìn)程。
[0006]作為本發(fā)明的一種優(yōu)選方案,所述進(jìn)程管理方法還包括:在所述業(yè)務(wù)進(jìn)程退出操作系統(tǒng)時(shí),所述操作系統(tǒng)發(fā)送通知到所述管理進(jìn)程。
[0007]作為本發(fā)明的一種優(yōu)選方案,所述通知包至少包括所述業(yè)務(wù)進(jìn)程的ID和所述業(yè)務(wù)進(jìn)程的退出原因。
[0008]作為本發(fā)明的一種優(yōu)選方案,所述管理進(jìn)程根據(jù)所述業(yè)務(wù)進(jìn)程的退出原因判斷所述業(yè)務(wù)進(jìn)程是否以非正常方式退出操作系統(tǒng)。
[0009]作為本發(fā)明的一種優(yōu)選方案,所述進(jìn)程管理方法還包括:在所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng)時(shí),所述管理進(jìn)程清理以非正常方式退出操作系統(tǒng)的業(yè)務(wù)進(jìn)程的殘留數(shù)據(jù)。
[0010]為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種進(jìn)程管理系統(tǒng),用于對(duì)操作系統(tǒng)中各業(yè)務(wù)進(jìn)程進(jìn)行管理,所述進(jìn)程管理系統(tǒng)包括:管理進(jìn)程創(chuàng)建模塊,用于創(chuàng)建一個(gè)用于管理各業(yè)務(wù)進(jìn)程的管理進(jìn)程;業(yè)務(wù)進(jìn)程創(chuàng)建模塊,與所述管理進(jìn)程創(chuàng)建模塊相連,用于利用所述管理進(jìn)程創(chuàng)建并配置各業(yè)務(wù)進(jìn)程,并在所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng)時(shí),通過(guò)所述管理進(jìn)程創(chuàng)建一個(gè)與以非正常方式退出操作系統(tǒng)的業(yè)務(wù)進(jìn)程相同的業(yè)務(wù)進(jìn)程。
[0011]作為本發(fā)明的一種優(yōu)選方案,所述進(jìn)程管理系統(tǒng)還包括:分別與所述操作系統(tǒng)和所述業(yè)務(wù)進(jìn)程創(chuàng)建模塊相連的通知發(fā)送模塊,用于在所述業(yè)務(wù)進(jìn)程退出操作系統(tǒng)時(shí),發(fā)送通知到所述管理進(jìn)程。
[0012]作為本發(fā)明的一種優(yōu)選方案,所述通知包至少包括所述業(yè)務(wù)進(jìn)程的ID和所述業(yè)務(wù)進(jìn)程的退出原因。
[0013]作為本發(fā)明的一種優(yōu)選方案,所述進(jìn)程管理系統(tǒng)還包括:分別與所述通知發(fā)送模塊和所述業(yè)務(wù)進(jìn)程創(chuàng)建模塊相連的判斷模塊,用于根據(jù)所述業(yè)務(wù)進(jìn)程的退出原因判斷所述業(yè)務(wù)進(jìn)程是否以非正常方式退出操作系統(tǒng)。
[0014]作為本發(fā)明的一種優(yōu)選方案,所述進(jìn)程管理系統(tǒng)還包括:分別與所述通知發(fā)送模塊和所述判斷模塊相連的清理模塊,用于在所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng)時(shí),清理以非正常方式退出操作系統(tǒng)的業(yè)務(wù)進(jìn)程的殘留數(shù)據(jù)。
[0015]如上所述,本發(fā)明的一種進(jìn)程管理方法及系統(tǒng),具有以下有益效果:
[0016]1、本發(fā)明通過(guò)增加一個(gè)管理進(jìn)程專門(mén)管理程序崩潰的方法,代替防御性編程,用管理進(jìn)程管理接收業(yè)務(wù)進(jìn)程結(jié)束時(shí)的通知,并根據(jù)退出原因判斷是否重啟業(yè)務(wù)進(jìn)程,且在某一進(jìn)程崩潰后管理進(jìn)程立刻將其重啟并配置,以提高軟件產(chǎn)品的健壯性。
[0017]2、本發(fā)明可以降低代碼復(fù)雜度和耦合度,程序中不用各種處理意外,為編程者節(jié)約了大量的時(shí)間,提高了工作效率,降低了對(duì)設(shè)計(jì)人員的業(yè)務(wù)及技術(shù)水平的要求。
[0018]3、本發(fā)明簡(jiǎn)單高效,具有較強(qiáng)的通用性和實(shí)用性。
【附圖說(shuō)明】
[0019]圖1顯示為本發(fā)明的進(jìn)程管理方法的流程示意圖。
[0020]圖2顯示為本發(fā)明的進(jìn)程管理中管理進(jìn)程和業(yè)務(wù)進(jìn)程的處理流程示意圖。
[0021]圖3顯示為本發(fā)明的進(jìn)程管理中管理進(jìn)程的處理邏輯示意圖。
[0022]圖4顯示為本發(fā)明的進(jìn)程管理系統(tǒng)的結(jié)構(gòu)示意圖。
[0023]元件標(biāo)號(hào)說(shuō)明
[0024]I進(jìn)程管理系統(tǒng)
[0025]11管理進(jìn)程創(chuàng)建模塊
[0026]12業(yè)務(wù)進(jìn)程創(chuàng)建模塊
[0027]13通知發(fā)送模塊
[0028]14判斷模塊
[0029]15清理模塊
[0030]Sll ?S13 步驟
【具體實(shí)施方式】
[0031]以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0032]本實(shí)施例的目的在于提供一種進(jìn)程管理方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中預(yù)防進(jìn)程的程序崩潰的方法復(fù)雜、難度大問(wèn)題。以下將詳細(xì)闡述本發(fā)明的一種進(jìn)程管理方法及系統(tǒng)的原理及實(shí)施方式,使本領(lǐng)域技術(shù)人員不需要?jiǎng)?chuàng)造性勞動(dòng)即可理解本發(fā)明的一種進(jìn)程管理方法及系統(tǒng)。
[0033]本實(shí)施例提供一種進(jìn)程管理方法及系統(tǒng),目的就是在程序由于錯(cuò)誤而崩潰后自動(dòng)重新啟動(dòng)并配置,以提高軟件產(chǎn)品的健壯性,以解決現(xiàn)有技術(shù)中預(yù)防進(jìn)程的程序崩潰的方法復(fù)雜、難度大冋題。
[0034]本實(shí)施例提供一種進(jìn)程管理方法,用于對(duì)操作系統(tǒng)中各業(yè)務(wù)進(jìn)程進(jìn)行管理,具體地,如圖1所示,所述進(jìn)程管理方法包括以下步驟。
[0035]步驟S11,創(chuàng)建一個(gè)用于管理各業(yè)務(wù)進(jìn)程的管理進(jìn)程。
[0036]步驟S12,所述管理進(jìn)程創(chuàng)建并配置各業(yè)務(wù)進(jìn)程。
[0037]步驟S13,在所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng)時(shí),所述管理進(jìn)程創(chuàng)建一個(gè)與以非正常方式退出操作系統(tǒng)的業(yè)務(wù)進(jìn)程相同的業(yè)務(wù)進(jìn)程。
[0038]以下對(duì)步驟Sll至步驟S13進(jìn)行詳細(xì)說(shuō)明。
[0039]步驟S11,創(chuàng)建一個(gè)用于管理各業(yè)務(wù)進(jìn)程的管理進(jìn)程。通過(guò)增加一個(gè)管理進(jìn)程專門(mén)管理業(yè)務(wù)進(jìn)程,程序崩潰即進(jìn)程崩潰,這樣管理進(jìn)程便可知道,以方便處理。
[0040]步驟S12,所述管理進(jìn)程創(chuàng)建并配置各業(yè)務(wù)進(jìn)程。本實(shí)施例引入的引入管理進(jìn)程和業(yè)務(wù)進(jìn)程的關(guān)系如圖2所示。管理進(jìn)程負(fù)責(zé)創(chuàng)建和配置具體的業(yè)務(wù)進(jìn)程,業(yè)務(wù)進(jìn)程負(fù)責(zé)具體的業(yè)務(wù)邏輯。相當(dāng)于,所述管理進(jìn)程作為父進(jìn)程創(chuàng)建并配置業(yè)務(wù)進(jìn)程,所述業(yè)務(wù)進(jìn)程作為管理進(jìn)程的子進(jìn)程。
[0041]在本實(shí)施例中,所述進(jìn)程管理方法還包括:在所述業(yè)務(wù)進(jìn)程退出操作系統(tǒng)時(shí),所述操作系統(tǒng)發(fā)送通知到所述管理進(jìn)程。其中,所述業(yè)務(wù)進(jìn)程退出操作系統(tǒng)既包括業(yè)務(wù)進(jìn)程以正常方式退出操作系統(tǒng),也包括業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng),也就是說(shuō),所述操作系統(tǒng)會(huì)在業(yè)務(wù)進(jìn)程退出時(shí)通知管理進(jìn)程,其中,業(yè)務(wù)進(jìn)程以非正常方式退出包括業(yè)務(wù)進(jìn)程的程序崩潰,也就說(shuō),在業(yè)務(wù)進(jìn)程的程序崩潰時(shí),所述操作系統(tǒng)會(huì)發(fā)送通知到所述管理進(jìn)程。
[0042]其中,在本實(shí)施例中,所述通知包括但不限于所述業(yè)務(wù)進(jìn)程的ID和所述業(yè)務(wù)進(jìn)程的退出原因。之后,如圖3所示,所述管理進(jìn)程根據(jù)所述業(yè)務(wù)進(jìn)程的退出原因判斷所述業(yè)務(wù)進(jìn)程是否以非正常方式退出操作系統(tǒng)。若所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng),接著執(zhí)行步驟S13,若所述業(yè)務(wù)進(jìn)程以正常方式退出操作系統(tǒng),則管理進(jìn)程返回,繼續(xù)等待操作系統(tǒng)的通知。
[0043]步驟S13,在所述業(yè)務(wù)進(jìn)程以非正常方式退出操作系統(tǒng)時(shí),所述管理進(jìn)程創(chuàng)建一個(gè)與以非正常方式退出操作系統(tǒng)的業(yè)務(wù)進(jìn)程相同的業(yè)務(wù)進(jìn)程。也就是說(shuō),如果是所述業(yè)務(wù)進(jìn)程以非正常方式退出(包括業(yè)務(wù)進(jìn)程程序崩潰),管理進(jìn)程則再次創(chuàng)建一個(gè)相同的業(yè)務(wù)進(jìn)程。因而,本實(shí)施例通過(guò)增加一個(gè)管理進(jìn)程專門(mén)管理程序崩潰,代替防御性編程,用管理進(jìn)程管理接收業(yè)務(wù)進(jìn)程結(jié)束時(shí)的通知,并根據(jù)退出原因判斷是否重啟業(yè)務(wù)進(jìn)程且在某一進(jìn)程崩潰后管理進(jìn)程立刻將其重啟并配置,降低代碼復(fù)雜度和耦合度,程序中不用各種處理意夕卜,為編程者節(jié)約了大量的時(shí)間,提高了工作效率。
[0044]此外,在本實(shí)施例中,在所