解除死鎖的方法
【專利摘要】本發(fā)明提出了一種解除死鎖的方法,將在運(yùn)行的各個(gè)業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份;當(dāng)業(yè)務(wù)進(jìn)程出現(xiàn)死鎖時(shí),結(jié)束所有的業(yè)務(wù)進(jìn)程,并重新啟動(dòng)所有的業(yè)務(wù)進(jìn)程;業(yè)務(wù)進(jìn)程初始化時(shí)將備份的數(shù)據(jù)恢復(fù)到各業(yè)務(wù)進(jìn)程中,各業(yè)務(wù)進(jìn)程正常運(yùn)行并開始處理業(yè)務(wù)。本發(fā)明對(duì)各業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份,因死鎖重啟各業(yè)務(wù)進(jìn)程后,實(shí)時(shí)恢復(fù)數(shù)據(jù),開展業(yè)務(wù),簡(jiǎn)單而又高效率的解除了死鎖問(wèn)題。
【專利說(shuō)明】解除死鎖的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種寬帶貓的上網(wǎng)通信技術(shù),尤其是將寬帶貓的LAN 口實(shí)現(xiàn)上網(wǎng)的方法。
【背景技術(shù)】
[0002]死鎖:是指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過(guò)程中,因爭(zhēng)奪資源而造成的一種互相等待的現(xiàn)象,若無(wú)外力作用,它們都將無(wú)法推進(jìn)下去。此時(shí)稱系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死鎖,這些永遠(yuǎn)在互相等待的進(jìn)程稱為死鎖進(jìn)程。
[0003]死鎖有以下幾種方法處理:
[0004]一、預(yù)防死鎖
[0005]這是一種較簡(jiǎn)單和直觀的事先預(yù)防的方法。方法是通過(guò)設(shè)置某些限制條件,去破壞產(chǎn)生死鎖的四個(gè)必要條件中的一個(gè)或者幾個(gè),來(lái)預(yù)防發(fā)生死鎖。預(yù)防死鎖是一種較易實(shí)現(xiàn)的方法,已被廣泛使用。但是由于所施加的限制條件往往太嚴(yán)格,可能會(huì)導(dǎo)致系統(tǒng)資源利用率和系統(tǒng)吞吐量降低。
[0006]二、避免死鎖
[0007]該方法同樣是屬于事先預(yù)防的策略,但它并不需事先采取各種限制措施去破壞產(chǎn)生死鎖的的四個(gè)必要條件,而是在資源的動(dòng)態(tài)分配過(guò)程中,用某種方法去防止系統(tǒng)進(jìn)入不安全狀態(tài),從而避免發(fā)生死鎖。
【發(fā)明內(nèi)容】
[0008]本發(fā)明需解決的技術(shù)問(wèn)題是提供一種簡(jiǎn)單、實(shí)用的解決死鎖的方法。
[0009]為了解決上述的問(wèn)題,本發(fā)明設(shè)計(jì)了一種解除死鎖的方法,其包括以下步驟:
[0010]步驟1:將在運(yùn)行的各個(gè)業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份;
[0011]步驟2:當(dāng)業(yè)務(wù)進(jìn)程出現(xiàn)死鎖時(shí),結(jié)束所有的業(yè)務(wù)進(jìn)程,并重新啟動(dòng)所有的業(yè)務(wù)進(jìn)程;
[0012]步驟3:業(yè)務(wù)進(jìn)程初始化時(shí)將備份的數(shù)據(jù)恢復(fù)到各業(yè)務(wù)進(jìn)程中,各業(yè)務(wù)進(jìn)程正常運(yùn)行并開始處理業(yè)務(wù)。
[0013]作為本發(fā)明進(jìn)一步改進(jìn),還包括建立共享內(nèi)存,將各個(gè)業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份在所述共享內(nèi)存中。
[0014]作為本發(fā)明進(jìn)一步改進(jìn),在各業(yè)務(wù)進(jìn)程開始處理業(yè)務(wù)后,繼續(xù)實(shí)時(shí)備份數(shù)據(jù)。
[0015]作為本發(fā)明進(jìn)一步改進(jìn),還包括以下步驟:檢測(cè)所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖;如果出現(xiàn)死鎖,則執(zhí)行步驟2;如果未出現(xiàn)死鎖,則返回檢測(cè)所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖步驟。
[0016]作為本發(fā)明進(jìn)一步改進(jìn),每10秒輪詢檢測(cè)一次所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖。
[0017]本發(fā)明對(duì)各業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份,因死鎖重啟各業(yè)務(wù)進(jìn)程后,實(shí)時(shí)恢復(fù)數(shù)據(jù),開展業(yè)務(wù),簡(jiǎn)單而又高效率的解除了死鎖問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0018]圖1是本發(fā)明解除死鎖的方法的流程圖。
【具體實(shí)施方式】
[0019]為了使本領(lǐng)域相關(guān)技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面將結(jié)合實(shí)施方式,對(duì)本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí)施方式。
[0020]本發(fā)明提供了一種解除死鎖的方法,在系統(tǒng)運(yùn)行時(shí),實(shí)時(shí)備份所有業(yè)務(wù)進(jìn)程所需要的關(guān)鍵業(yè)務(wù)數(shù)據(jù),同時(shí),以共享內(nèi)存的方式保存以及共享這些數(shù)據(jù)。在檢測(cè)到死鎖時(shí),結(jié)束并重啟所有的業(yè)務(wù)進(jìn)程,待相關(guān)業(yè)務(wù)進(jìn)程啟動(dòng)后,從共享內(nèi)存中恢復(fù)之前備份的業(yè)務(wù)數(shù)據(jù),業(yè)務(wù)進(jìn)程開始處理任務(wù)。
[0021]如圖1所示,本發(fā)明解除死鎖的方法包括以下步驟:
[0022]將在運(yùn)行的各個(gè)業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份,備份了業(yè)務(wù)進(jìn)程運(yùn)行的關(guān)鍵數(shù)據(jù),有利于各個(gè)業(yè)務(wù)進(jìn)程在重啟后恢復(fù)當(dāng)前工作任務(wù)。在本實(shí)施例中,為備份的數(shù)據(jù)還建立了共享內(nèi)存,將備份的數(shù)據(jù)保存在該共享內(nèi)存中,各個(gè)業(yè)務(wù)進(jìn)程彼此共享數(shù)據(jù)。共享內(nèi)存通過(guò)共享能實(shí)現(xiàn)多個(gè)業(yè)務(wù)進(jìn)程的通信以及傳遞信息。
[0023]本發(fā)明由死鎖檢測(cè)流程每隔1s去輪詢檢測(cè)一次所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖,如果出現(xiàn)死鎖,死鎖檢測(cè)流程結(jié)束所有的業(yè)務(wù)進(jìn)程,并重新啟動(dòng)所有的業(yè)務(wù)進(jìn)程。如果未出現(xiàn)死鎖,則返回檢測(cè)所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖的步驟。
[0024]在所有的業(yè)務(wù)進(jìn)程被啟動(dòng)后,進(jìn)入初始化工作,此時(shí)將備份的數(shù)據(jù)恢復(fù)到各業(yè)務(wù)進(jìn)程中,各業(yè)務(wù)進(jìn)程正常運(yùn)行,解除了死鎖,開始處理業(yè)務(wù);并且繼續(xù)實(shí)時(shí)備份數(shù)據(jù),保存到共享內(nèi)存中。
[0025]本發(fā)明對(duì)各業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份,因死鎖重啟各業(yè)務(wù)進(jìn)程后,實(shí)時(shí)恢復(fù)數(shù)據(jù),開展業(yè)務(wù),簡(jiǎn)單而又高效率的解除了死鎖問(wèn)題。
[0026]以上僅表達(dá)了本發(fā)明的一種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種解除死鎖的方法,其特征在于:包括以下步驟: 步驟1:將在運(yùn)行的各個(gè)業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份; 步驟2:當(dāng)業(yè)務(wù)進(jìn)程出現(xiàn)死鎖時(shí),結(jié)束所有的業(yè)務(wù)進(jìn)程,并重新啟動(dòng)所有的業(yè)務(wù)進(jìn)程; 步驟3:業(yè)務(wù)進(jìn)程初始化時(shí)將備份的數(shù)據(jù)恢復(fù)到各業(yè)務(wù)進(jìn)程中,各業(yè)務(wù)進(jìn)程正常運(yùn)行并開始處理業(yè)務(wù)。
2.根據(jù)權(quán)利要求1所述的解除死鎖的方法,其特征在于,還包括建立共享內(nèi)存,將各個(gè)業(yè)務(wù)進(jìn)程的數(shù)據(jù)實(shí)時(shí)備份在所述共享內(nèi)存中。
3.根據(jù)權(quán)利要求1所述的解除死鎖的方法,其特征在于,在各業(yè)務(wù)進(jìn)程開始處理業(yè)務(wù)后,繼續(xù)實(shí)時(shí)備份數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的解除死鎖的方法,其特征在于,還包括以下步驟:檢測(cè)所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖;如果出現(xiàn)死鎖,則執(zhí)行步驟2 ;如果未出現(xiàn)死鎖,則返回檢測(cè)所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖步驟。
5.根據(jù)權(quán)利要求4所述的解除死鎖的方法,其特征在于,每10秒輪詢檢測(cè)一次所有業(yè)務(wù)進(jìn)程是否出現(xiàn)死鎖。
【文檔編號(hào)】G06F9/46GK104391740SQ201410632660
【公開日】2015年3月4日 申請(qǐng)日期:2014年11月11日 優(yōu)先權(quán)日:2014年11月11日
【發(fā)明者】劉君, 劉馳 申請(qǐng)人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司