專利名稱:一種對(duì)多個(gè)進(jìn)程系統(tǒng)進(jìn)行監(jiān)控的看門狗實(shí)現(xiàn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多進(jìn)程系統(tǒng)的實(shí)時(shí)監(jiān)控領(lǐng)域,特別涉及到EPON網(wǎng)絡(luò)終端設(shè)備中對(duì)操作系統(tǒng)層和應(yīng)用層的程序的監(jiān)控功能,用軟硬件結(jié)合的方法來(lái)以保證系統(tǒng)的可靠性和穩(wěn)定性。
背景技術(shù):
以太網(wǎng)無(wú)源光網(wǎng)絡(luò)(EthernetPassive Optical Network , EPON)繼承了以太網(wǎng)的可擴(kuò)展性強(qiáng)、對(duì)IP數(shù)據(jù)業(yè)務(wù)適配效率高等優(yōu)點(diǎn),同時(shí)支持高速Internet接入、語(yǔ)音、 IPTV、TDM專線甚至CATV等多種業(yè)務(wù)綜合接入,并具有很好的QoS保證和組播業(yè)務(wù)支持能力,是目前建設(shè)高質(zhì)量接入網(wǎng)的重要備選技術(shù)之一。目前現(xiàn)有的以太網(wǎng)無(wú)源光網(wǎng)絡(luò)中(EPON)主要由光網(wǎng)絡(luò)終端(optical line terminal,0LT)和光網(wǎng)絡(luò)單兀(Optical NetworkUnit,0NU),以及之間連接的光纖組成的網(wǎng)絡(luò)。光線路終端(OLT)通過(guò)“操作管理和維護(hù)協(xié)議(Operation Administration and Maintenance Protocol, 0AM 協(xié)議)”,對(duì)光網(wǎng)絡(luò)單兀(ONU)進(jìn)行遠(yuǎn)程的操作維護(hù)和管理。同時(shí)方便管理員的操作,EPON網(wǎng)絡(luò)中還采用終端綜合管理系統(tǒng)(Information Technology for Manufacturing Systems ITMS)通過(guò) TR069 協(xié)議來(lái)管理網(wǎng)絡(luò)終端設(shè)備。在網(wǎng)絡(luò)終端設(shè)備中,為了保證系統(tǒng)的穩(wěn)定性和系統(tǒng)的安全性,往往都需要對(duì)系統(tǒng)中的多個(gè)進(jìn)程和操作系統(tǒng)內(nèi)核層進(jìn)行監(jiān)控。在操作系統(tǒng)崩潰、應(yīng)用層進(jìn)程發(fā)生異常以及硬件發(fā)生異常時(shí),往往都要通過(guò)設(shè)置看門狗模塊使系統(tǒng)復(fù)位?,F(xiàn)有的看門狗實(shí)現(xiàn)方法往往只能監(jiān)控單一的系統(tǒng)進(jìn)程,并且喂狗(給“看門狗”電路進(jìn)行復(fù)位為“喂狗”)時(shí)間有比較嚴(yán)格的硬件限制。詳細(xì)說(shuō)明如下
看門狗電路其實(shí)就是一個(gè)計(jì)數(shù)器。當(dāng)看門狗啟動(dòng)后,計(jì)數(shù)器開始自動(dòng)計(jì)數(shù),經(jīng)過(guò)一定時(shí)間計(jì)數(shù)器溢出就會(huì)對(duì)CPU產(chǎn)生一個(gè)復(fù)位信號(hào)使系統(tǒng)重啟。系統(tǒng)正常運(yùn)行時(shí),需要在看門狗允許的時(shí)間間隔內(nèi)對(duì)看門狗計(jì)數(shù)器清零也即喂狗,不讓復(fù)位信號(hào)產(chǎn)生。目前常用的硬件看門狗電路一般只能保持的在I. 6S的持續(xù)電平時(shí)間,保證在每個(gè)I. 6S內(nèi)系統(tǒng)要給看門狗計(jì)數(shù)器清零,否則就會(huì)導(dǎo)致ONU復(fù)位。如果僅僅是一個(gè)單進(jìn)程的系統(tǒng),系統(tǒng)在1.6s的時(shí)間內(nèi)給看門狗電路喂狗完全可行的。但是對(duì)于一個(gè)有操作系統(tǒng)的、能夠執(zhí)行多進(jìn)程、多任務(wù)的比較復(fù)雜的系統(tǒng)來(lái)說(shuō),需要監(jiān)控多個(gè)進(jìn)程,并且每個(gè)進(jìn)程比較復(fù)雜,執(zhí)行時(shí)間過(guò)長(zhǎng),往往都不能規(guī)定的時(shí)間內(nèi)完成喂狗動(dòng)作,這樣就導(dǎo)致系統(tǒng)在沒有出現(xiàn)異常的情況也發(fā)生復(fù)位,導(dǎo)致系統(tǒng)頻繁的重啟,也就失去了監(jiān)控應(yīng)用層進(jìn)程運(yùn)行的狀態(tài)的功能。
發(fā)明內(nèi)容
為解決目前比較復(fù)雜的系統(tǒng)需要監(jiān)控多個(gè)進(jìn)程,并且每個(gè)進(jìn)程比較復(fù)雜,執(zhí)行時(shí)間過(guò)長(zhǎng),往往都不能規(guī)定的時(shí)間內(nèi)完成喂狗動(dòng)作,這樣就導(dǎo)致系統(tǒng)在沒有出現(xiàn)異常的情況也發(fā)生復(fù)位,導(dǎo)致系統(tǒng)頻繁的重啟,也就失去了監(jiān)控應(yīng)用層進(jìn)程運(yùn)行的狀態(tài)的功能的不足,提供一種對(duì)多個(gè)進(jìn)程系統(tǒng)進(jìn)行監(jiān)控的看門狗實(shí)現(xiàn)方法。
本發(fā)明為了完成其技術(shù)目的所采用的技術(shù)方案是一種對(duì)多個(gè)進(jìn)程系統(tǒng)進(jìn)行監(jiān)控的看門狗實(shí)現(xiàn)方法,包括以下步驟
步驟A、應(yīng)用層的主程序啟動(dòng)一個(gè)控制進(jìn)程,對(duì)看門狗硬件電路的進(jìn)行初始化,使能看門狗硬件電路;
步驟B、所述的控制進(jìn)程開啟一個(gè)周期性的喂狗線程,周期性地給所述的看門狗硬件電路進(jìn)行復(fù)位;
步驟C、所述的控制進(jìn)程接受其他被監(jiān)控進(jìn)程的注冊(cè),記錄被監(jiān)控進(jìn)程的名單;
步驟D、所述的控制進(jìn)程給每一個(gè)注冊(cè)過(guò)的被監(jiān)控進(jìn)程設(shè)置定時(shí)器,每個(gè)被監(jiān)控進(jìn)程會(huì)在設(shè)定的時(shí)間內(nèi)對(duì)定時(shí)器時(shí)間清零;當(dāng)任何一個(gè)被監(jiān)控進(jìn)程沒有在規(guī)定時(shí)間內(nèi)完成其對(duì)應(yīng)的定時(shí)器的清零動(dòng)作,所述的控制進(jìn)程強(qiáng)制使所述的周期性喂狗線程退出。本發(fā)明能夠在既監(jiān)控操作系統(tǒng)內(nèi)核的同時(shí),又能夠很好的監(jiān)控應(yīng)用程序,提高系統(tǒng)的穩(wěn)定和可靠性。同現(xiàn)有的技術(shù)相比,本發(fā)明的可以通過(guò)設(shè)定定時(shí)器時(shí)間的長(zhǎng)短從而控制喂狗線程是否喂狗,從而間接設(shè)定了看門狗硬件電路的喂狗時(shí)間,從而可以保證應(yīng)用程序有足夠的時(shí)間來(lái)間接給硬件看門喂狗,同時(shí)在應(yīng)用程序發(fā)生故障并且超出定時(shí)器的設(shè)定的時(shí)間,喂狗線程無(wú)法喂狗,也就導(dǎo)致看門狗電路超時(shí)復(fù)位。由于本發(fā)明就普遍的適用性,可以廣泛的應(yīng)用各種比較復(fù)雜嵌入式系統(tǒng)設(shè)備中。下面通過(guò)結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步的說(shuō)明。
附圖I是本發(fā)明整體框圖。附圖2是本發(fā)明的多進(jìn)程具體喂狗功能的實(shí)現(xiàn)流程圖。
具體實(shí)施例方式如圖I所示,本實(shí)施例是一種應(yīng)用于OLT上的對(duì)多進(jìn)程監(jiān)控看門狗的實(shí)現(xiàn)方法,光線路終端(OLT)通過(guò)“操作管理和維護(hù)協(xié)議(Operation Administration and MaintenanceProtocol, 0AM協(xié)議)”,對(duì)光網(wǎng)絡(luò)單元(ONU)進(jìn)行遠(yuǎn)程的操作維護(hù)和管理。同時(shí)方便管理員的操作,EPON網(wǎng)絡(luò)中還采用終端綜合管理系統(tǒng)(ITMS)通過(guò)TR069協(xié)議來(lái)管理網(wǎng)絡(luò)終端設(shè)備。參看圖I是本系統(tǒng)的整體框架圖,本發(fā)明是了解決在ONU設(shè)備中監(jiān)控應(yīng)用層程序,受看門狗硬件設(shè)備的喂狗時(shí)間限制和應(yīng)用層程序自身的執(zhí)行比較長(zhǎng)和容易阻塞等特點(diǎn),提出一種全新解決方法,如圖2所示,是本系統(tǒng)的多進(jìn)程具體喂狗功能的實(shí)現(xiàn)流程 1)系統(tǒng)上電后處理器(CPU)從復(fù)位地址,開始運(yùn)行啟動(dòng)代碼(bootloader),啟動(dòng)代碼是嵌入式系統(tǒng)加電后首先運(yùn)行的一段程序。其主要任務(wù)是初始化硬件設(shè)備、建立內(nèi)存空間的映射,將系統(tǒng)的軟硬件環(huán)境設(shè)定在一個(gè)合適的狀態(tài)。把程序鏡像(image)從ROM或是flash中拷貝到RAM中,然后調(diào)用內(nèi)核。內(nèi)核啟動(dòng)完畢后就是創(chuàng)建根文件系統(tǒng),用戶空間所有的操作都是依賴于根文件系統(tǒng)。根文件系統(tǒng)完成后就開始啟動(dòng)應(yīng)用層的進(jìn)程;
2)首先應(yīng)用層的主程序啟動(dòng)一個(gè)控制進(jìn)程,控制進(jìn)程主要完成;
a)看門狗硬件電路的初始化,使能看門狗硬件電路;
b)開啟一個(gè)周期性的喂狗線程,喂狗周期要小于看門狗硬件電路持續(xù)電平時(shí)間,不斷的周期性給看門狗硬件電路喂狗;
C)接受其他被監(jiān)控進(jìn)程的注冊(cè),記錄被監(jiān)控進(jìn)程的名單;
d)控制進(jìn)程給每一個(gè)注冊(cè)過(guò)的被監(jiān)控進(jìn)程設(shè)置定時(shí)器,每個(gè)被監(jiān)控進(jìn)程會(huì)在設(shè)定的時(shí)間內(nèi)對(duì)定時(shí)器時(shí)間清零。如果有其中一個(gè)被監(jiān)控進(jìn)程沒有在規(guī)定時(shí)間內(nèi)完成其對(duì)應(yīng)的定時(shí)器的清零動(dòng)作,就會(huì)導(dǎo)致控制進(jìn)程強(qiáng)制使周期性喂狗線程退出,從而硬件看門狗電路沒有喂狗,也就導(dǎo)致系統(tǒng)的復(fù)位重啟。本系統(tǒng)中每一個(gè)被監(jiān)控進(jìn)程會(huì)在啟動(dòng)的過(guò)程中主動(dòng)向控制進(jìn)程注冊(cè),同時(shí)設(shè)定本進(jìn)程的超時(shí)復(fù)位時(shí)間。本進(jìn)程在運(yùn)行的過(guò)程中會(huì)在 規(guī)定時(shí)間內(nèi)把控制進(jìn)程中的定時(shí)器清零。如果本進(jìn)程發(fā)生異?;蚴枪收蠈o(wú)法在規(guī)定的時(shí)間內(nèi)清零定時(shí)器,從而導(dǎo)致系統(tǒng)復(fù)位重啟??傊?,本發(fā)明的方法可以同時(shí)對(duì)多個(gè)應(yīng)用層進(jìn)程進(jìn)行比較靈活的監(jiān)控,并且能夠比較靈活的設(shè)定看門狗的超時(shí)時(shí)間。解決了傳統(tǒng)的看門狗只能對(duì)單一的進(jìn)程監(jiān)控,同是對(duì)看門狗的喂狗時(shí)間也比較嚴(yán)格的問(wèn)題,能夠廣泛的應(yīng)用于比較復(fù)雜的嵌入式系統(tǒng)設(shè)備中。
權(quán)利要求
1. 一種對(duì)多個(gè)進(jìn)程系統(tǒng)進(jìn)行監(jiān)控的看門狗實(shí)現(xiàn)方法,其特征在于包括以下步驟步驟A、應(yīng)用層的主程序啟動(dòng)一個(gè)控制進(jìn)程,對(duì)看門狗硬件電路的進(jìn)行初始化,使能看門狗硬件電路; 步驟B、所述的控制進(jìn)程開啟一個(gè)周期性的喂狗線程,周期性地給所述的看門狗硬件電路進(jìn)行復(fù)位; 步驟C、所述的控制進(jìn)程接受其他被監(jiān)控進(jìn)程的注冊(cè),記錄被監(jiān)控進(jìn)程的名單; 步驟D、所述的控制進(jìn)程給每一個(gè)注冊(cè)過(guò)的被監(jiān)控進(jìn)程設(shè)置定時(shí)器,每個(gè)被監(jiān)控進(jìn)程會(huì)在設(shè)定的時(shí)間內(nèi)對(duì)定時(shí)器時(shí)間清零;當(dāng)任何一個(gè)被監(jiān)控進(jìn)程沒有在規(guī)定時(shí)間內(nèi)完成其對(duì)應(yīng)的定時(shí)器的清零動(dòng)作,所述的控制進(jìn)程強(qiáng)制使所述的周期性喂狗線程退出。
全文摘要
本發(fā)明提供了一種對(duì)多個(gè)進(jìn)程系統(tǒng)進(jìn)行監(jiān)控的看門狗實(shí)現(xiàn)方法,包括應(yīng)用層的主程序啟動(dòng)一個(gè)控制進(jìn)程,對(duì)看門狗硬件電路的進(jìn)行初始化,使能看門狗硬件電路;并周期性地給所述的看門狗硬件電路進(jìn)行復(fù)位;同時(shí)給被監(jiān)控進(jìn)程設(shè)置定時(shí)器,當(dāng)任何一個(gè)被監(jiān)控進(jìn)程沒有在規(guī)定時(shí)間內(nèi)完成其對(duì)應(yīng)的定時(shí)器的清零動(dòng)作,所述的控制進(jìn)程強(qiáng)制使所述的周期性喂狗線程退出。本發(fā)明能夠在既監(jiān)控操作系統(tǒng)內(nèi)核的同時(shí),又能夠很好的監(jiān)控應(yīng)用程序,提高系統(tǒng)的穩(wěn)定和可靠性。
文檔編號(hào)G06F11/00GK102736958SQ20121017271
公開日2012年10月17日 申請(qǐng)日期2012年5月30日 優(yōu)先權(quán)日2012年5月30日
發(fā)明者姚敏, 王志波, 鄧永堅(jiān), 郭小東 申請(qǐng)人:深圳市共進(jìn)電子股份有限公司