專利名稱:系統(tǒng)進(jìn)程的保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種系統(tǒng)進(jìn)程的保護(hù)方法,特別是指一種應(yīng)用于供應(yīng)鏈管理(Supply Chain Management,簡稱SCM)系統(tǒng)中,用于保證系統(tǒng)核心進(jìn)程安全穩(wěn)定運(yùn)行的方法。
面對市場競爭壓力,針對目前存在的問題,許多企業(yè)針對現(xiàn)有的運(yùn)籌系統(tǒng)進(jìn)行優(yōu)化,實施全面的供應(yīng)鏈管理(Supply Chain Management,簡稱SCM)并且建立完善的信息系統(tǒng),以適應(yīng)日益增長的規(guī)模需求和多業(yè)務(wù)需求,進(jìn)一步提高客戶滿意度、降低成本。實施SCM對于更新觀念、優(yōu)化管理模式、提高公司競爭力、提高和鞏固國內(nèi)市場、迅速邁向國際市場、提高在國際市場上的生存和競爭能力都有著十分重要的理論和實際意義。另外,由于許多業(yè)務(wù)和管理都更加細(xì)化,管理的效率將會成倍地提高。
上述的信息處理業(yè)務(wù)需求的龐大自然要求計算機(jī)也具有強(qiáng)大的負(fù)載性和自我恢復(fù)性能,從而使系統(tǒng)的宕機(jī)時間盡可能地縮短。系統(tǒng)進(jìn)程保護(hù)功能能夠自動檢測系統(tǒng)的故障。同時,一旦發(fā)現(xiàn)計算機(jī)出現(xiàn)故障,系統(tǒng)進(jìn)程保護(hù)功能將把該計算機(jī)上的進(jìn)程自動恢復(fù)原狀態(tài),從而為客戶提供不間斷的服務(wù)。
在現(xiàn)有技術(shù)中,進(jìn)程的保護(hù)功能往往被使用在操作系統(tǒng)的內(nèi)部。其目的是保證在內(nèi)存泄漏等狀況下不出現(xiàn)致命的宕機(jī)等狀況。由于特性限制,該方法不能根據(jù)實際的應(yīng)用要求,為應(yīng)用系統(tǒng)提供相應(yīng)的監(jiān)管、控制和恢復(fù)能力。
在SCM系統(tǒng)中授權(quán)服務(wù)器(SERVER)作為用戶管理維護(hù)數(shù)據(jù)的登陸認(rèn)證關(guān)鍵功能,承載著SCM系統(tǒng)中所有用戶提供的身份驗證和授予權(quán)限的重要功能。需要有極為強(qiáng)大的穩(wěn)定性和容錯性。系統(tǒng)進(jìn)程保護(hù)功能就承擔(dān)著對該功能的監(jiān)管、控制、預(yù)警、自動恢復(fù)等任務(wù)。
在商業(yè)系統(tǒng)中,非常重要的一點是應(yīng)能準(zhǔn)確的維持商業(yè)狀態(tài)。即必須可靠地跟蹤訂單。否則將會產(chǎn)生巨大的收入損失。現(xiàn)存的訂單可能丟失或在取訂單、填訂單的時候有延時,不滿意的用戶可能會轉(zhuǎn)到別處作生意。
維持商業(yè)系統(tǒng)的完整性非常不容易,特別在發(fā)生錯誤以后。即使計算機(jī)變的越來越可靠,而系統(tǒng)作為一個整體卻會變得更加不可靠。對提供internet和intranet連接到數(shù)十、數(shù)百、甚至可能數(shù)萬個服務(wù)器上的海量桌式計算機(jī)來講,錯誤是經(jīng)常發(fā)生的常事。
一旦系統(tǒng)服務(wù)的關(guān)鍵進(jìn)程出現(xiàn)異常停止服務(wù),就必須能夠?qū)⑾到y(tǒng)關(guān)鍵進(jìn)程中斷服務(wù)的時間縮短到幾分鐘甚至幾秒鐘;而且能夠?qū)⑾到y(tǒng)恢復(fù)到宕機(jī)以前的狀態(tài),從而保證計算機(jī)在無人職守的狀態(tài)下仍能不間斷的提供穩(wěn)定的服務(wù)。
另外,在商業(yè)系統(tǒng)中,對應(yīng)用程序的要求往往會使問題復(fù)雜化;例如訂購產(chǎn)品,必然會卷入多個服務(wù)者,必須證實訂貨人的信用、貨物的運(yùn)輸方式,必須管理庫存,并且客戶必須有資金。這一切都使得在多個服務(wù)器上的多個數(shù)據(jù)庫更新成為必須。分布式開發(fā)者必須預(yù)料到程序的某一部分能在其他部分發(fā)生錯誤后仍能繼續(xù)運(yùn)行。這些防錯方案是單個程序的數(shù)倍。協(xié)調(diào)這些工作,使它們?nèi)魏我徊蕉寄苓\(yùn)作正常,若沒有特殊系統(tǒng)的支持是非常困難的。即使在發(fā)生錯誤時要確保程序最小單位的更新,也是很不容易。尤其當(dāng)一個應(yīng)用程序分布在多個數(shù)據(jù)庫和系統(tǒng)上時。任何一個環(huán)節(jié)出現(xiàn)故障都會導(dǎo)致整個業(yè)務(wù)不能進(jìn)行。
這就要求應(yīng)用程序能夠?qū)Πl(fā)生問題的環(huán)節(jié)能夠快速的發(fā)現(xiàn),并準(zhǔn)確地判斷。同時還要能對業(yè)務(wù)進(jìn)行快速恢復(fù)。
本發(fā)明的另一目的在于提供一種系統(tǒng)進(jìn)程的保護(hù)方法,一旦系統(tǒng)服務(wù)的關(guān)鍵進(jìn)程出現(xiàn)異常停止服務(wù),能夠?qū)⑾到y(tǒng)關(guān)鍵進(jìn)程中斷服務(wù)的時間盡可能縮短;而且能夠?qū)⑾到y(tǒng)恢復(fù)到宕機(jī)以前的狀態(tài),保證計算機(jī)在無人職守的狀態(tài)下仍能不間斷地提供穩(wěn)定的服務(wù)。
本發(fā)明的目的是這樣實現(xiàn)的一種系統(tǒng)進(jìn)程的保護(hù)方法,該方法至少包括如下的步驟步驟1保護(hù)進(jìn)程偵聽被保護(hù)進(jìn)程工作狀態(tài);步驟2保護(hù)進(jìn)程監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源;步驟3保護(hù)進(jìn)程對系統(tǒng)異常信息進(jìn)行分析和處理。
上述的偵聽被保護(hù)進(jìn)程工作狀態(tài)的具體步驟為步驟11保護(hù)進(jìn)程根據(jù)預(yù)定的業(yè)務(wù)邏輯定期循環(huán),向被保護(hù)進(jìn)程發(fā)送模擬登陸數(shù)據(jù);步驟12同時保護(hù)進(jìn)程自動記錄被保護(hù)對象的狀態(tài)信息;步驟13等待被保護(hù)對象完成模擬請求返回給被保護(hù)進(jìn)程;步驟14根據(jù)被保護(hù)對象返回的信息,確認(rèn)是否被保護(hù)應(yīng)用運(yùn)行正常;步驟15當(dāng)系統(tǒng)保護(hù)進(jìn)程偵聽到異常時,立即調(diào)用異常數(shù)據(jù)采集模塊,進(jìn)行異常信息的收集;否則繼續(xù)偵聽。進(jìn)行異常信息的收集;否則繼續(xù)偵聽。
上述的預(yù)定的業(yè)務(wù)邏輯至少包括用戶認(rèn)證流程和用戶下線流程。
所述的該被保護(hù)對象的狀態(tài)信息至少包括被保護(hù)對象的響應(yīng)時間、進(jìn)程CPU占用、內(nèi)存占用及數(shù)據(jù)庫連接信息。
上述的監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源的具體步驟為步驟21定時調(diào)用被保護(hù)進(jìn)程和整體系統(tǒng)消耗資源狀況模塊;步驟22從操作系統(tǒng)得到監(jiān)控數(shù)據(jù);步驟23當(dāng)系統(tǒng)保護(hù)進(jìn)程偵聽到異常時,立即調(diào)用異常數(shù)據(jù)采集模塊,進(jìn)行異常信息的收集。
所述的步驟23具體包括步驟231依據(jù)收集到的數(shù)據(jù)進(jìn)行分析和分類;步驟232對普通類型的不會導(dǎo)致嚴(yán)重故障的信息,只做保留性記錄;步驟233對重要類型的可能導(dǎo)致嚴(yán)重故障的信息,即時觸發(fā)警報,并保留記錄;步驟234對致命類型的已經(jīng)導(dǎo)致嚴(yán)重故障的信息,立即觸發(fā)報警,同時對被保護(hù)進(jìn)程進(jìn)行詳細(xì)記錄。
上述的對系統(tǒng)異常信息進(jìn)行分析和處理的步驟具體為步驟31保護(hù)進(jìn)程對采集到的數(shù)據(jù)進(jìn)行分析;步驟32如果系統(tǒng)必須在無人職守的狀況下重新啟動,才能繼續(xù)提供業(yè)務(wù)操作時,保護(hù)進(jìn)程主動向被保護(hù)進(jìn)程發(fā)送強(qiáng)制請求;步驟33被保護(hù)進(jìn)程接到強(qiáng)制請求后,首先暫停對外提供業(yè)務(wù)服務(wù),并通知保護(hù)進(jìn)程;步驟34保護(hù)進(jìn)程得到回應(yīng)或超時無應(yīng)答后,向被保護(hù)進(jìn)程發(fā)送業(yè)務(wù)存檔信號;步驟35被保護(hù)進(jìn)程將所有線程信息進(jìn)行記錄,并自動終止線程;通知保護(hù)進(jìn)程;
步驟36如果得到返回信息或出現(xiàn)超時無應(yīng)答,保護(hù)進(jìn)程主動終止被保護(hù)進(jìn)程,然后重新啟動服務(wù);步驟37系統(tǒng)重啟完成后,自動讀取未完成的記錄,完成其中的服務(wù);步驟38打開對外服務(wù)端口。
本發(fā)明對商業(yè)系統(tǒng)的關(guān)鍵業(yè)務(wù)進(jìn)程和容易發(fā)生問題的進(jìn)程進(jìn)行保護(hù)、監(jiān)控、報警以和自動恢復(fù);在系統(tǒng)服務(wù)的關(guān)鍵進(jìn)程出現(xiàn)異常時能停止服務(wù),并能夠?qū)⑾到y(tǒng)關(guān)鍵進(jìn)程中斷服務(wù)的時間盡可能地縮短;而且能夠?qū)⑾到y(tǒng)恢復(fù)到宕機(jī)以前的狀態(tài),保證了計算機(jī)在無人職守的狀態(tài)下仍能不間斷地提供穩(wěn)定的服務(wù);為大型應(yīng)用系統(tǒng)提供了極高的穩(wěn)定性和可靠性,避免了不可估量的損失。
圖2為本發(fā)明保護(hù)進(jìn)程偵聽被保護(hù)進(jìn)程工作狀態(tài)的流程圖。
圖3為本發(fā)明監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源的示意圖。
圖4為本發(fā)明監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源的流程圖。
圖5為本發(fā)明對系統(tǒng)異常信息進(jìn)行分析和處理的流程圖。
參見表1和表2,根據(jù)系統(tǒng)進(jìn)程保護(hù)的基本要求,通常情況下,系統(tǒng)涉及的因素分為如下兩類第一類為業(yè)務(wù)流程保護(hù)需求,第二類為系統(tǒng)資源需求。
表1
表2
參見表3,本發(fā)明中,對于不同類型問題嚴(yán)重程度設(shè)置不同級別的自動處理方案。
表3
參見
圖1-5,本發(fā)明的系統(tǒng)進(jìn)程保護(hù)方法主要包括如下的步驟1、偵聽被保護(hù)進(jìn)程工作狀態(tài);2、監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源;3、對系統(tǒng)異常信息進(jìn)行分析和處理。
其中偵聽被保護(hù)進(jìn)程工作狀態(tài)的流程如下由系統(tǒng)保護(hù)進(jìn)程根據(jù)預(yù)定的用戶認(rèn)證流程、用戶下線流程等幾種業(yè)務(wù)邏輯定期循環(huán),向被保護(hù)進(jìn)程發(fā)送模擬登陸數(shù)據(jù);同時保護(hù)進(jìn)程自動記錄,被保護(hù)對象響應(yīng)時間、進(jìn)程CPU占用、內(nèi)存占用、數(shù)據(jù)庫連接等狀態(tài);等待被保護(hù)對象完成模擬請求返回給被保護(hù)進(jìn)程;根據(jù)被偵聽對象返回信息,確認(rèn)是否被保護(hù)應(yīng)用運(yùn)行正常;當(dāng)系統(tǒng)保護(hù)進(jìn)程偵聽到異常時,立即調(diào)用異常數(shù)據(jù)采集模塊,進(jìn)行異常信息的收集;如果出現(xiàn)異常根據(jù)異常級別,調(diào)用相應(yīng)處理模塊進(jìn)行處理。
監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源的流程如下定時調(diào)用被保護(hù)進(jìn)程和整體系統(tǒng)消耗資源狀況模塊;從操作系統(tǒng)得到監(jiān)控數(shù)據(jù);當(dāng)系統(tǒng)保護(hù)進(jìn)程偵聽到異常時,立即調(diào)用異常數(shù)據(jù)采集模塊,進(jìn)行異常信息的收集。如果出現(xiàn)異常根據(jù)異常級別,調(diào)用相應(yīng)處理模塊進(jìn)行處理。
其中,本發(fā)明對系統(tǒng)異常信息進(jìn)行分析和處理具體為依據(jù)前面收集到的數(shù)據(jù)進(jìn)行分析和分類;對普通類型的不會導(dǎo)致嚴(yán)重故障的信息,只做保留性記錄;對重要類型的可能導(dǎo)致嚴(yán)重故障的信息,即時觸發(fā)警報,并保留記錄;對致命類型的已經(jīng)導(dǎo)致嚴(yán)重故障的信息,立即觸發(fā)報警,同時對被保護(hù)進(jìn)程進(jìn)行詳細(xì)記錄,并根據(jù)系統(tǒng)狀態(tài)進(jìn)行恢復(fù)。
本發(fā)明對系統(tǒng)異常信息進(jìn)行分析和處理的主要步驟為當(dāng)保護(hù)進(jìn)程根據(jù)采集到的數(shù)據(jù)判定,系統(tǒng)必須在無人職守的狀況下重新啟動,才能繼續(xù)提供業(yè)務(wù)操作的狀況下,保護(hù)進(jìn)程會主動向被保護(hù)進(jìn)程發(fā)送強(qiáng)制請求;被保護(hù)進(jìn)程接到強(qiáng)制請求后,首先暫停對外提供業(yè)務(wù)服務(wù),并通知保護(hù)進(jìn)程;如果長時間不能回應(yīng)(超時無應(yīng)答),保護(hù)進(jìn)程將會自動向被保護(hù)進(jìn)程執(zhí)行下一步的操作;此中狀況系統(tǒng)將不能暫停,但已然可以按照系統(tǒng)恢復(fù)流程進(jìn)行操作。
保護(hù)進(jìn)程得到回應(yīng)或超時無應(yīng)答后,向被保護(hù)進(jìn)程發(fā)送業(yè)務(wù)存檔信號;被保護(hù)進(jìn)程將對所有線程信息寫成文本,并自動殺死線程;完成后通知被保護(hù)進(jìn)程;如果得到返回信息或出現(xiàn)超時無應(yīng)答,保護(hù)進(jìn)程將主動調(diào)用系統(tǒng)方法,殺死被保護(hù)進(jìn)程,然后重新啟動服務(wù);系統(tǒng)重啟完成后,自動讀取未完成的文本文件記錄,完成其中的服務(wù);打開對外服務(wù)端口。
通過上述幾個步驟,本發(fā)明可以實現(xiàn)計算機(jī)在無人職守的狀態(tài)下仍能不間斷的提供穩(wěn)定的服務(wù),并實現(xiàn)自動恢復(fù)的操作。
上述的技術(shù)方案在SCM系統(tǒng)上實施會帶來許多益處,例如,它可以改善對供應(yīng)、生產(chǎn)、庫存、銷售的管控;與供應(yīng)商、分銷商和客戶建立更快、更方便、更精確的電子化聯(lián)絡(luò)方式;實現(xiàn)信息共享和管理決策支持;為將來實現(xiàn)端到端的SCM作好了準(zhǔn)備。而系統(tǒng)進(jìn)程保護(hù)方法的完成,為系統(tǒng)提供極高的穩(wěn)定性和可靠性。將系統(tǒng)的宕機(jī)時間減少到最低程度,避免了很多不可估量的損失。
最后所應(yīng)說明的是,以上實施例僅用以說明而并非限制本發(fā)明所描述的技術(shù)方案;因此,盡管本說明書參照上述的實施例對本發(fā)明已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進(jìn)行修改或者等同地替換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于該方法至少包括如下的步驟步驟1保護(hù)進(jìn)程偵聽被保護(hù)進(jìn)程工作狀態(tài);步驟2保護(hù)進(jìn)程監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源;步驟3保護(hù)進(jìn)程對系統(tǒng)異常信息進(jìn)行分析和處理。
2.根據(jù)權(quán)利要求1所述的系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于保護(hù)進(jìn)程偵聽被保護(hù)進(jìn)程工作狀態(tài)的具體步驟為步驟11保護(hù)進(jìn)程根據(jù)預(yù)定的業(yè)務(wù)邏輯定期循環(huán),向被保護(hù)進(jìn)程發(fā)送模擬登陸數(shù)據(jù);步驟12同時,保護(hù)進(jìn)程自動記錄被保護(hù)對象的狀態(tài)信息;步驟13等待被保護(hù)對象完成模擬請求返回給被保護(hù)進(jìn)程;步驟14根據(jù)被保護(hù)對象返回的信息,確認(rèn)是否被保護(hù)應(yīng)用運(yùn)行正常;步驟15當(dāng)保護(hù)進(jìn)程偵聽到異常時,立即調(diào)用異常數(shù)據(jù)采集模塊,進(jìn)行異常信息的收集;否則繼續(xù)偵聽。
3.根據(jù)權(quán)利要求2所述的系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于該預(yù)定的業(yè)務(wù)邏輯至少包括用戶認(rèn)證流程和用戶下線流程。
4.根據(jù)權(quán)利要求2所述的系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于該被保護(hù)對象的狀態(tài)信息至少包括被保護(hù)對象的響應(yīng)時間、進(jìn)程CPU占用、內(nèi)存占用及數(shù)據(jù)庫連接信息。
5.根據(jù)權(quán)利要求1所述的系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源的具體步驟為步驟21定時調(diào)用被保護(hù)進(jìn)程和整體系統(tǒng)消耗資源狀況模塊;步驟22從操作系統(tǒng)得到監(jiān)控數(shù)據(jù);步驟23當(dāng)系統(tǒng)保護(hù)進(jìn)程偵聽到異常時,立即調(diào)用異常數(shù)據(jù)采集模塊,進(jìn)行異常信息的收集。
6.根據(jù)權(quán)利要求5所述的系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于所述的步驟23具體包括步驟231依據(jù)收集到的數(shù)據(jù)進(jìn)行分析和分類;步驟232對普通類型的不會導(dǎo)致嚴(yán)重故障的信息,只做保留性記錄;步驟233對重要類型的可能導(dǎo)致嚴(yán)重故障的信息,即時觸發(fā)警報,并保留記錄;步驟234對致命類型的已經(jīng)導(dǎo)致嚴(yán)重故障的信息,立即觸發(fā)報警,同時對被保護(hù)進(jìn)程進(jìn)行詳細(xì)記錄。
7.根據(jù)權(quán)利要求1所述的系統(tǒng)進(jìn)程的保護(hù)方法,其特征在于對系統(tǒng)異常信息進(jìn)行分析和處理的步驟具體為步驟31保護(hù)進(jìn)程對采集到的數(shù)據(jù)進(jìn)行分析;步驟32如果系統(tǒng)必須在無人職守的狀況下重新啟動,才能繼續(xù)提供業(yè)務(wù)操作時,保護(hù)進(jìn)程主動向被保護(hù)進(jìn)程發(fā)送強(qiáng)制請求;步驟33被保護(hù)進(jìn)程接到強(qiáng)制請求后,首先暫停對外提供業(yè)務(wù)服務(wù),并通知保護(hù)進(jìn)程;步驟34保護(hù)進(jìn)程得到回應(yīng)或超時無應(yīng)答后,向被保護(hù)進(jìn)程發(fā)送業(yè)務(wù)存檔信號;步驟35被保護(hù)進(jìn)程將所有線程信息進(jìn)行記錄,并自動終止線程;通知保護(hù)進(jìn)程;步驟36如果得到返回信息或出現(xiàn)超時無應(yīng)答,保護(hù)進(jìn)程主動終止被保護(hù)進(jìn)程,然后重新啟動服務(wù);步驟37系統(tǒng)重啟完成后,自動讀取未完成的記錄,完成其中的服務(wù);步驟38打開對外服務(wù)端口。
全文摘要
一種系統(tǒng)進(jìn)程的保護(hù)方法,該方法至少包括偵聽被保護(hù)進(jìn)程工作狀態(tài);監(jiān)控被保護(hù)進(jìn)程和整體系統(tǒng)依賴基本資源;對系統(tǒng)異常信息進(jìn)行分析和處理;本發(fā)明對商業(yè)系統(tǒng)的關(guān)鍵業(yè)務(wù)進(jìn)程和容易發(fā)生問題的進(jìn)程進(jìn)行保護(hù)、監(jiān)控、報警和自動恢復(fù);在系統(tǒng)服務(wù)的關(guān)鍵進(jìn)程出現(xiàn)異常時能停止服務(wù),并能夠?qū)⑾到y(tǒng)關(guān)鍵進(jìn)程中斷服務(wù)的時間盡可能地縮短;而且能夠?qū)⑾到y(tǒng)恢復(fù)到宕機(jī)以前的狀態(tài),保證了計算機(jī)在無人職守的狀態(tài)下仍能不間斷地提供穩(wěn)定的服務(wù);為大型應(yīng)用系統(tǒng)提供了極高的穩(wěn)定性和可靠性,避免了不可估量的損失。
文檔編號G06F11/30GK1464397SQ02121229
公開日2003年12月31日 申請日期2002年6月10日 優(yōu)先權(quán)日2002年6月10日
發(fā)明者王旭, 葉帥民, 湯海京, 楊波濤 申請人:聯(lián)想(北京)有限公司