專利名稱:一種看門狗復(fù)位系統(tǒng)及其復(fù)位方法
技術(shù)領(lǐng)域:
本發(fā)明屬于自恢復(fù)技術(shù)領(lǐng)域,尤其涉及一種看門狗復(fù)位系統(tǒng)及其復(fù)位方法。
背景技術(shù):
看門狗是對一些程序潛在錯誤和惡劣環(huán)境干擾等因素導(dǎo)致系統(tǒng)死機(jī)而在無人干 預(yù)情況下自動恢復(fù)系統(tǒng)正常工作狀態(tài)(俗稱“復(fù)位”)的一種技術(shù)??撮T狗分硬件看門狗 和軟件看門狗。硬件看門狗是利用一個定時器電路,程序在一定時間范圍內(nèi)對定時器清零 (俗稱“喂狗”)。如果程序出現(xiàn)故障,不在定時周期內(nèi)復(fù)位看門狗,就使得看門狗定時器溢出 產(chǎn)生復(fù)位信號并重啟系統(tǒng)。軟件看門狗原理上一樣,只是將硬件電路上的定時器用處理器 的內(nèi)部定時器代替,通常軟件看門狗的實現(xiàn)是專門一個獨立進(jìn)程不停的對定時器進(jìn)行“喂 狗”,必須是該進(jìn)程崩潰了,定時器才會對系統(tǒng)進(jìn)行復(fù)位。但通常都會有多進(jìn)程在處理產(chǎn)品 主要的工作,若某進(jìn)程崩潰了,但錯誤沒有導(dǎo)致系統(tǒng)崩潰,也沒有影響到軟件看門狗進(jìn)程, 那這兩級看門狗技術(shù)都不能解決該問題了。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種看門狗復(fù)位系統(tǒng),旨在解決目前的看門狗復(fù)位 技術(shù)無法在具體的工作進(jìn)程崩潰時使系統(tǒng)復(fù)位的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種看門狗復(fù)位系統(tǒng),包括依次連接的CPU、看門狗 單元、復(fù)位單元;所述CPU用于在定時周期內(nèi)對所述看門狗單元進(jìn)行喂狗;所述復(fù)位單元用 于當(dāng)所述CPU在定時周期內(nèi)未對所述看門狗單元喂狗時控制系統(tǒng)復(fù)位;所述看門狗復(fù)位系 統(tǒng)還包括操作系統(tǒng)單元;操作系統(tǒng)監(jiān)看單元,連接于所述操作系統(tǒng)單元與所述CPU之間,用于監(jiān)看所述操 作系統(tǒng)單元的工作狀態(tài),并在監(jiān)看到所述操作系統(tǒng)單元崩潰時控制所述CPU在定時周期內(nèi) 不對所述看門狗單元進(jìn)行喂狗;一個或多個工作進(jìn)程單元;一個或多個工作進(jìn)程監(jiān)看單元,一一對應(yīng)連接于所述工作進(jìn)程單元與所述CPU之 間,用于監(jiān)看所述工作進(jìn)程單元的工作狀態(tài),并在監(jiān)看到所述工作進(jìn)程單元崩潰時控制所 述CPU在定時周期內(nèi)不對所述看門狗單元進(jìn)行喂狗。本發(fā)明實施例還提供了一種看門狗復(fù)位系統(tǒng)的復(fù)位方法,包括以下步驟監(jiān)看CPU是否正常啟動,并在CPU未正常啟動時通過控制看門狗單元實現(xiàn)系統(tǒng)復(fù) 位;監(jiān)看操作系統(tǒng)單元的工作狀態(tài),并在監(jiān)看到操作系統(tǒng)單元崩潰時控制系統(tǒng)復(fù)位;監(jiān)看工作進(jìn)程監(jiān)看單元,并在監(jiān)看到工作進(jìn)程單元崩潰時控制系統(tǒng)復(fù)位。本發(fā)明實施例中,不僅可以對CPU的啟動和操作系統(tǒng)單元的工作狀態(tài)進(jìn)行監(jiān)看, 在CPU無法正常啟動和操作系統(tǒng)單元崩潰時控制系統(tǒng)復(fù)位,還可以分別對一些主要工作進(jìn)
3程單元的工作狀態(tài)進(jìn)行監(jiān)看,在監(jiān)看到工作進(jìn)程單元崩潰時控制系統(tǒng)復(fù)位,從而可以徹底 保證產(chǎn)品主要功能的穩(wěn)定性。
圖1是本發(fā)明實施例提供的看門狗復(fù)位系統(tǒng)的結(jié)構(gòu)原理圖;圖2是本發(fā)明實施例提供的看門狗復(fù)位系統(tǒng)的復(fù)位方法的實現(xiàn)流程圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。本發(fā)明實施例中,同時對CPU的啟動、操作系統(tǒng)單元的工作狀態(tài)以及一些主要工 作進(jìn)程單元的工作狀態(tài)進(jìn)行監(jiān)看,并監(jiān)看到CPU無法正常啟動、操作系統(tǒng)單元以及工作進(jìn) 程單元崩潰時控制系統(tǒng)復(fù)位。圖1示出了本發(fā)明實施例提供的看門狗復(fù)位系統(tǒng)的結(jié)構(gòu)原理,為了便于描述,僅 示出了與本實施例相關(guān)的部分。參照圖1,看門狗復(fù)位系統(tǒng)包括依次連接的CPU 1、看門狗單元2以及復(fù)位單元3, 此三個單元構(gòu)成了復(fù)位系統(tǒng)的第一級看門狗,其中CPU 1用于在定時周期內(nèi)對看門狗單元 2進(jìn)行喂狗,而當(dāng)CPU 1無法正常啟動時則不能再在定時周期內(nèi)對看門狗單元2進(jìn)行喂狗, 此時看門狗單元2溢出復(fù)位信號,復(fù)位單元3在接收到該復(fù)位信號時控制系統(tǒng)復(fù)位。圖1 所示的看門狗復(fù)位系統(tǒng)還包括操作系統(tǒng)單元4和操作系統(tǒng)監(jiān)看單元5,此兩個單元連同CPU 1、看門狗單元2以及復(fù)位單元3 —起又構(gòu)成了第二級看門狗,其中操作系統(tǒng)監(jiān)看單元5連 接于操作系統(tǒng)單元4與CPU 1之間,用于監(jiān)看操作系統(tǒng)單元4的工作狀態(tài),并在監(jiān)看到操作 系統(tǒng)單元4崩潰時控制CPU 1在定時周期內(nèi)不對看門狗單元2進(jìn)行喂狗,最終實現(xiàn)系統(tǒng)復(fù) 位。圖1所示的看門狗復(fù)位系統(tǒng)還包括一個或多個工作進(jìn)程單元(如圖1所示的工作進(jìn)程 單元61、工作進(jìn)程單元62、工作進(jìn)程單元63等)和一個或多個工作進(jìn)程監(jiān)看單元(如圖1 所示的工作進(jìn)程監(jiān)看單元71、工作進(jìn)程監(jiān)看單元72、工作進(jìn)程監(jiān)看單元73等),此兩組單元 連同CPU 1、看門狗單元2以及復(fù)位單元3—起又構(gòu)成了第三級看門狗,其中一個或多個工 作進(jìn)程監(jiān)看單元一一對應(yīng)連接于工作進(jìn)程單元與CPU 1之間,用于監(jiān)看工作進(jìn)程單元的工 作狀態(tài),并在監(jiān)看到工作進(jìn)程單元崩潰時控制CPU 1在定時周期內(nèi)不對看門狗單元2進(jìn)行 喂狗,最終實現(xiàn)系統(tǒng)復(fù)位。圖2示出了本發(fā)明實施例提供的看門狗復(fù)位系統(tǒng)的復(fù)位方法的實現(xiàn)流程,詳述如 下在步驟S201中,監(jiān)看CPU是否正常啟動,并在CPU未正常啟動時通過控制看門狗 單元實現(xiàn)系統(tǒng)復(fù)位。此步驟可采用硬件芯片實現(xiàn)看門狗功能,保證了任何硬件問題導(dǎo)致系統(tǒng)無法工作 時系統(tǒng)都能正常復(fù)位。在步驟S202中,監(jiān)看操作系統(tǒng)單元的工作狀態(tài),并在監(jiān)看到操作系統(tǒng)單元崩潰時 控制系統(tǒng)復(fù)位。
4
此步驟采用高優(yōu)先級進(jìn)程定時進(jìn)行喂狗,若操作系統(tǒng)崩潰了,該進(jìn)程也不能正常 喂狗,從而保證了操作系統(tǒng)崩潰導(dǎo)致系統(tǒng)無法工作時系統(tǒng)都可以正常復(fù)位。在步驟S203中,監(jiān)看工作進(jìn)程監(jiān)看單元,并在監(jiān)看到工作進(jìn)程單元崩潰時控制系 統(tǒng)復(fù)位。此步驟主要針對一些主要工作進(jìn)程進(jìn)行看門狗監(jiān)看,若有被監(jiān)看工作進(jìn)程崩潰, 則監(jiān)看工作進(jìn)程立刻進(jìn)行復(fù)位操作,從而保證任何程序崩潰時系統(tǒng)都可以正常復(fù)位。本發(fā)明實施例中,不僅可以對CPU的啟動和操作系統(tǒng)單元的工作狀態(tài)進(jìn)行監(jiān)看, 在CPU無法正常啟動和操作系統(tǒng)單元崩潰時控制系統(tǒng)復(fù)位,還可以分別對一些主要工作進(jìn) 程單元的工作狀態(tài)進(jìn)行監(jiān)看,在監(jiān)看到工作進(jìn)程單元崩潰時控制系統(tǒng)復(fù)位,實現(xiàn)了同時對 CPU的啟動、操作系統(tǒng)單元的工作狀態(tài)以及一些主要工作進(jìn)程單元的工作狀態(tài)進(jìn)行監(jiān)看,此 三級看門狗技術(shù)可以徹底保證產(chǎn)品主要功能的穩(wěn)定性。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種看門狗復(fù)位系統(tǒng),其特征在于,包括依次連接的CPU、看門狗單元、復(fù)位單元;所述CPU用于在定時周期內(nèi)對所述看門狗單元進(jìn)行喂狗;所述復(fù)位單元用于當(dāng)所述CPU在定時周期內(nèi)未對所述看門狗單元喂狗時控制系統(tǒng)復(fù)位;所述看門狗復(fù)位系統(tǒng)還包括操作系統(tǒng)單元;操作系統(tǒng)監(jiān)看單元,連接于所述操作系統(tǒng)單元與所述CPU之間,用于監(jiān)看所述操作系統(tǒng)單元的工作狀態(tài),并在監(jiān)看到所述操作系統(tǒng)單元崩潰時控制所述CPU在定時周期內(nèi)不對所述看門狗單元進(jìn)行喂狗;一個或多個工作進(jìn)程單元;一個或多個工作進(jìn)程監(jiān)看單元,一一對應(yīng)連接于所述工作進(jìn)程單元與所述CPU之間,用于監(jiān)看所述工作進(jìn)程單元的工作狀態(tài),并在監(jiān)看到所述工作進(jìn)程單元崩潰時控制所述CPU在定時周期內(nèi)不對所述看門狗單元進(jìn)行喂狗。
2.一種看門狗復(fù)位系統(tǒng)的復(fù)位方法,其特征在于,包括以下步驟監(jiān)看CPU是否正常啟動,并在CPU未正常啟動時通過控制看門狗單元實現(xiàn)系統(tǒng)復(fù)位;監(jiān)看操作系統(tǒng)單元的工作狀態(tài),并在監(jiān)看到操作系統(tǒng)單元崩潰時控制系統(tǒng)復(fù)位;監(jiān)看工作進(jìn)程監(jiān)看單元,并在監(jiān)看到工作進(jìn)程單元崩潰時控制系統(tǒng)復(fù)位。
全文摘要
本發(fā)明適用于自恢復(fù)技術(shù)領(lǐng)域,提供了一種看門狗復(fù)位系統(tǒng)及其復(fù)位方法,該看門狗復(fù)位系統(tǒng)包括依次連接的CPU、看門狗單元、復(fù)位單元;還包括操作系統(tǒng)單元;操作系統(tǒng)監(jiān)看單元,用于在監(jiān)看到操作系統(tǒng)單元崩潰時控制CPU在定時周期內(nèi)不對看門狗單元進(jìn)行喂狗;一個或多個工作進(jìn)程單元;一個或多個工作進(jìn)程監(jiān)看單元,用于在監(jiān)看到工作進(jìn)程單元崩潰時控制CPU在定時周期內(nèi)不對看門狗單元進(jìn)行喂狗。本發(fā)明中,同時對CPU的啟動、操作系統(tǒng)單元的工作狀態(tài)以及一些主要工作進(jìn)程單元的工作狀態(tài)進(jìn)行監(jiān)看,并監(jiān)看到CPU無法正常啟動、操作系統(tǒng)單元以及工作進(jìn)程單元崩潰時控制系統(tǒng)復(fù)位,從而可以徹底保證產(chǎn)品主要功能的穩(wěn)定性。
文檔編號G06F11/00GK101901168SQ20101021422
公開日2010年12月1日 申請日期2010年6月29日 優(yōu)先權(quán)日2010年6月29日
發(fā)明者劉向陽, 李國棟, 李顏平, 楊超峰, 肖旭輝 申請人:深圳市景陽科技股份有限公司