欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法

文檔序號:6460391閱讀:335來源:國知局

專利名稱::一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機領(lǐng)域,特別涉及一種基于看門狗和定時器的周期任務(wù)的可靠性監(jiān)控方法。技術(shù)背景嵌入式實時操作系統(tǒng)一般由任務(wù)調(diào)度管理、時間管理、任務(wù)同步和通信、內(nèi)存管理等幾部分組成。實時操作系統(tǒng)中又經(jīng)常會出現(xiàn)周期性的任務(wù),對于周期性任務(wù)的可靠性需要進(jìn)行有效的監(jiān)控,即監(jiān)控任務(wù)是否正常運行和任務(wù)的運行時間是否符合要求??撮T狗是嵌入式系統(tǒng)中經(jīng)常用來監(jiān)控系統(tǒng)是否正常運行的重要硬件設(shè)備??撮T狗是一個系統(tǒng)的自動計數(shù)器,當(dāng)看門狗計數(shù)到達(dá)它的最高計數(shù)值時,會重新啟動整個系統(tǒng)。一般使用看門狗的方法是在系統(tǒng)運行的任務(wù)里,每隔一段時間清零看門狗計數(shù)器,稱"喂狗",證明系統(tǒng)正常運行;如果很長時間沒去給看門狗清零,看門狗超出了它的最高計數(shù)值時,認(rèn)為系統(tǒng)出錯,系統(tǒng)就會重新啟動。從目前普遍使用看門狗監(jiān)控周期任務(wù)可靠性的方法中,可以看到,這些方法使用看門狗的方法比較簡單且缺乏穩(wěn)定性看門狗清零的時間要求過于苛刻,因此可能會出現(xiàn)錯誤重啟系統(tǒng)的狀況;另外傳統(tǒng)使用看門狗的方法沒有對周期任務(wù)的時間約束的監(jiān)控。
發(fā)明內(nèi)容為了解決只用看門狗監(jiān)控周期任務(wù)時,由于周期任務(wù)的運行時間發(fā)生了微小的變化而導(dǎo)致系統(tǒng)錯誤重新啟動的問題,并能有效監(jiān)控周期任務(wù)的運行時間是否符合要求,本發(fā)明的目的在于提供一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是該方法的步驟如下l)先為每一個周期任務(wù)設(shè)定一個正常報告變量(aliveCoimter),即周期任務(wù)需要在每一個預(yù)先設(shè)定的時間間隔內(nèi)向系統(tǒng)報告自身是否正常,以及預(yù)期在一個監(jiān)控周期內(nèi),預(yù)期的正常報告數(shù)量(expectedAlive)和允許的誤差(tolerance),當(dāng)周期任務(wù)運行時,每報告一次,正常報告變量(aliveCounter)增加1,系統(tǒng)需要設(shè)定監(jiān)控周期,系統(tǒng)要檢査每一個監(jiān)控周期到達(dá)時,周期任務(wù)的正常報告變量是否滿足預(yù)期目標(biāo),滿足預(yù)期目標(biāo)是指,正常報告變量的值范圍在[expectedAlive-tolerance,expectedAlive+tolerance],同時將正常報告變量清零;2)周期任務(wù)允許有多次證明自身正常運行的機會,周期任務(wù)會有一個狀態(tài)的轉(zhuǎn)換,周期任務(wù)的初始狀態(tài)為"正常",當(dāng)周期任務(wù)在一個監(jiān)控周期到達(dá)時,正常報告數(shù)量(aliveCoimter)沒有達(dá)到誤差范圍內(nèi)的預(yù)期目標(biāo),周期任務(wù)將進(jìn)入"臨時"的狀態(tài),此時,周期任務(wù)將被允許繼續(xù)執(zhí)行多個監(jiān)控周期,若在這些監(jiān)控周期內(nèi),只要有一次周期任務(wù)的正常報告數(shù)量達(dá)到了預(yù)期正常報告數(shù)量,那么周期任務(wù)將被認(rèn)為正常運行,再次回到"正常"狀態(tài);否則,在這些監(jiān)控周期內(nèi),周期任務(wù)都沒有達(dá)到預(yù)期的目標(biāo),那么周期任務(wù)將被認(rèn)為運行"異常";3)硬件的看門狗計數(shù)器將一直被定時器以固定的周期,在到達(dá)其看門狗計數(shù)器峰值之前被清零;但是,當(dāng)周期任務(wù)被認(rèn)為異常運行時,即進(jìn)入"異常"狀態(tài)時,那么硬件的看門狗計數(shù)器將不再被清零,即系統(tǒng)會在看門狗計數(shù)器峰值到達(dá)后重新啟動。由于監(jiān)控的任務(wù)是周期性任務(wù),因此選擇在周期任務(wù)每次運行時報告一次,或選擇報告多次,依任務(wù)周期長短而定。第2)步中,周期任務(wù)進(jìn)入"臨時"狀態(tài)以后,將被允許繼續(xù)執(zhí)行多個監(jiān)控周期,監(jiān)控周期的個數(shù)是可以配置的。第3))步中,看門狗計數(shù)器被清零的周期是小于看門狗計數(shù)器到達(dá)峰值的周期,保證系統(tǒng)在正常運行時,不會自動重啟;而發(fā)現(xiàn)有周期任務(wù)異常時,看門狗計數(shù)器將不會被清零,此時保證系統(tǒng)會重新啟動。本發(fā)明具有的有益效果是本發(fā)明專利結(jié)合了看門狗的超時重啟恢復(fù)系統(tǒng)的功能和定時器的計時功能,增加使用定時器來衡量周期任務(wù)的執(zhí)行時間,加強了對周期任務(wù)的運行可靠性的監(jiān)控;同時,基于看門狗自動重新啟動的功能保證了系統(tǒng)在異常情況下的自動恢復(fù);還能監(jiān)測周期任務(wù)運行時間是否符合要求;而且允許配置周期任務(wù)報告數(shù)量有誤差,以及增加的"臨時狀態(tài)"大大減小了對周期任務(wù)"異常"的誤判,因而可以減少系統(tǒng)的錯誤的重新啟動。圖1是本發(fā)明方法中的被監(jiān)控周期任務(wù)狀態(tài)轉(zhuǎn)換圖。圖2是本發(fā)明所述的硬件看門狗計數(shù)器被清零的序列圖。圖3是本發(fā)明所述的實例中各個任務(wù)中的變量和狀態(tài)序列圖1。圖4是本發(fā)明所述的實例中各個任務(wù)中的變量和狀態(tài)序列圖2。圖5是本發(fā)明所述的實例中看門狗計數(shù)器的清零時序圖。具體實施方式下面結(jié)合附圖和實例對本發(fā)明所述的基于看門狗和定時器監(jiān)控周期任務(wù)的方法作進(jìn)一步的介紹。這里指的周期任務(wù)可靠性監(jiān)控方法主要使用了2中硬件資源看門狗和定時器。其中定時器用于測量周期任務(wù)的運行時間,并在一定的測量周期內(nèi)監(jiān)控任務(wù)是否正常運行;而看門狗僅使用它的自動重新啟動系統(tǒng)的功能,即當(dāng)發(fā)現(xiàn)有周期任務(wù)不正常運行,或不符合預(yù)期時間要求時,重新啟動整個系統(tǒng)。1.先為每一個周期任務(wù)設(shè)定一個正常報告變量(aliveCoimter),即周期任務(wù)需要在每一個預(yù)先設(shè)定的時間間隔內(nèi)向系統(tǒng)報告自身是否正常,以及預(yù)期在一個監(jiān)控周期內(nèi),預(yù)期的正常報告數(shù)量(expectedAlive)和允許的誤差(tolerance)。當(dāng)周期任務(wù)運行時,每報告一次,正常報告變量(aliveComiter)增加1。系統(tǒng)需要設(shè)定監(jiān)控周期,系統(tǒng)要檢查每一個監(jiān)控周期到達(dá)時,周期任務(wù)的正常報告變量是否滿足預(yù)期目標(biāo),滿足預(yù)期目標(biāo)是指,正常報告變量的值范圍在[expectedAlive-tolerance,expectedAlive+tolerance]。同時將aliveCounter清零。2.如圖1所示,周期任務(wù)允許有多次證明自身正常運行的機會,周期任務(wù)會有一個狀態(tài)的轉(zhuǎn)換。周期任務(wù)的初始狀態(tài)為"正常",當(dāng)周期任務(wù)在一個監(jiān)控周期到達(dá)時,正常報告數(shù)量(aliveComiter)沒有達(dá)到誤差范圍內(nèi)的預(yù)期目標(biāo),周期任務(wù)將進(jìn)入"臨時"的狀態(tài)。此時,周期任務(wù)將被允許繼續(xù)執(zhí)行多個監(jiān)控周期,若在這些監(jiān)控周期內(nèi),只要有一次周期任務(wù)的正常報告數(shù)量達(dá)到了預(yù)期正常報告數(shù)量,那么周期任務(wù)將被認(rèn)為正常運行,再次回到"正常"狀態(tài);否則,在這些監(jiān)控周期內(nèi),周期任務(wù)都沒有達(dá)到預(yù)期的目標(biāo),那么周期任務(wù)將被認(rèn)為運行"異常"。3.如圖2所示,硬件的看門狗計數(shù)器將一直被定時器以固定的周期,在到達(dá)其計數(shù)器峰值之前被清零。但是,當(dāng)周期任務(wù)被認(rèn)為異常運行時,即進(jìn)入"異常"狀態(tài)時,那么硬件的看門狗計數(shù)器將不再被清零,即系統(tǒng)會在看門狗計數(shù)值到達(dá)后重新啟動。下表顯示了在MC9S12DP256開發(fā)板里,某個系統(tǒng)中共有4個被監(jiān)控的周期任務(wù),其任務(wù)周期,預(yù)期正常報告數(shù)量和允許的誤差,系統(tǒng)的監(jiān)控周期為250個計時單位。因此,我們可以知道,在250個計時單位的監(jiān)控周期內(nèi),每個周期任務(wù)的正常報告數(shù)量(aliveCoimter)的值的取值范圍,在表的最后一列。<table>tableseeoriginaldocumentpage6</column></row><table>如圖3,圖4所示,顯示了在該系統(tǒng)上運行的4個周期任務(wù)在一些關(guān)鍵時刻的運行狀態(tài)。每個周期任務(wù)的aliveCounter在系統(tǒng)開始運行的時候被初始化為0,周期任務(wù)每運行一次就將aliveCounter加1,證明周期任務(wù)在正常運行。任務(wù)A和任務(wù)B在時刻30的時候,aliveCounter的值都由0時刻的0變成了1,任務(wù)C和任務(wù)D在系統(tǒng)時刻為40和60的時候變成了1,以此類推。當(dāng)?shù)竭_(dá)系統(tǒng)的監(jiān)控周期時,即250,系統(tǒng)檢查每一個周期任務(wù)的aliveCounter的值是否在預(yù)期的范圍之內(nèi)。此時,任務(wù)A和任務(wù)C并沒有在范圍之內(nèi)任務(wù)A的aliveCounter值為6,不在79之間;任務(wù)C的值為4,不在57之間。而任務(wù)B和任務(wù)D的aliveCounter都在允許的取值范圍之內(nèi)。因此,系統(tǒng)認(rèn)為任務(wù)B和任務(wù)D運行正常,任務(wù)A和任務(wù)C的運行出現(xiàn)了不正常。但不判定任務(wù)A和任務(wù)C已經(jīng)"異常"運行,系統(tǒng)再一次給任務(wù)A和任務(wù)C證明自己正常的機會,將任務(wù)A和任務(wù)C放入"臨時"狀態(tài)。系統(tǒng)允許再次在一個監(jiān)控周期內(nèi)監(jiān)控任務(wù)A和任務(wù)C是否能達(dá)到允許的取值范圍。如圖4所示,任務(wù)A在系統(tǒng)時刻500時,aliveCounter為7,在79的取值范圍內(nèi),因此系統(tǒng)判定任務(wù)A此時運行正常,再次進(jìn)入"正常"狀態(tài);而任務(wù)C在第二個監(jiān)控周期到達(dá),即系統(tǒng)時刻500時,aliveCounter為3,仍然沒有在57的允許取值范圍內(nèi),因此判定任務(wù)C異常運行。另一方面,如圖5所示,看門狗計數(shù)器到到達(dá)峰值的周期為100個計時單位,系統(tǒng)的看門狗的清零周期為50個計時單位,因此在所有任務(wù)"正常"和"臨時"的情況下,看門狗總能在到達(dá)峰值前清零,使系統(tǒng)不會重新啟動。因此,上述在時刻500時,當(dāng)發(fā)現(xiàn)任務(wù)C有"異常"時,此時系統(tǒng)將不再為看門狗清零,而是任其在100個計時單位到達(dá)后,自動重新啟動系統(tǒng)。這樣做,保證了系統(tǒng)復(fù)位以后,能繼續(xù)運行。還有,上述實例中出現(xiàn)了有周期任務(wù)"異常"使得系統(tǒng)需要重新啟動,以確?;謴?fù)運行。而當(dāng)系統(tǒng)中一直沒有出現(xiàn)周期任務(wù)"異常"時,系統(tǒng)將被認(rèn)為一直在正常運行,而不會停止對看門狗計數(shù)器的清零。綜上所述,本發(fā)明采用的基于看門狗計數(shù)器和定時器監(jiān)控周期任務(wù)可靠性的方法,大大降低了對周期任務(wù)是否正常的誤判率,節(jié)省了系統(tǒng)重新啟動的次數(shù),保證了系統(tǒng)的正常、可靠運行,而且維護(hù)、操作方法簡單,實現(xiàn)容易。最后,還需要注意的是,以上列舉的僅是本發(fā)明的具體實施例子。顯然,本發(fā)明不限于以上實施例子,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法,其特征在于該方法的步驟如下1)先為每一個周期任務(wù)設(shè)定一個正常報告變量aliveCounter,即周期任務(wù)需要在每一個預(yù)先設(shè)定的時間間隔內(nèi)向系統(tǒng)報告自身是否正常,以及預(yù)期在一個監(jiān)控周期內(nèi),預(yù)期的正常報告數(shù)量expectedAlive和允許的誤差tolerance,當(dāng)周期任務(wù)運行時,每報告一次,正常報告變量增加1,系統(tǒng)需要設(shè)定監(jiān)控周期,系統(tǒng)要檢查每一個監(jiān)控周期到達(dá)時,周期任務(wù)的正常報告變量是否滿足預(yù)期目標(biāo),滿足預(yù)期目標(biāo)是指,正常報告變量的值范圍在[expectedAlive-tolerance,expectedAlive+tolerance],同時將正常報告變量清零;2)周期任務(wù)允許有多次證明自身正常運行的機會,周期任務(wù)會有一個狀態(tài)的轉(zhuǎn)換,周期任務(wù)的初始狀態(tài)為“正常”,當(dāng)周期任務(wù)在一個監(jiān)控周期到達(dá)時,正常報告數(shù)量沒有達(dá)到誤差范圍內(nèi)的預(yù)期目標(biāo),周期任務(wù)將進(jìn)入“臨時”的狀態(tài),此時,周期任務(wù)將被允許繼續(xù)執(zhí)行多個監(jiān)控周期,若在這些監(jiān)控周期內(nèi),只要有一次周期任務(wù)的正常報告數(shù)量達(dá)到了預(yù)期正常報告數(shù)量,那么周期任務(wù)將被認(rèn)為正常運行,再次回到“正?!睜顟B(tài);否則,在這些監(jiān)控周期內(nèi),周期任務(wù)都沒有達(dá)到預(yù)期的目標(biāo),那么周期任務(wù)將被認(rèn)為運行“異?!?;3)硬件的看門狗計數(shù)器將一直被定時器以固定的周期,在到達(dá)其看門狗計數(shù)器峰值之前被清零;但是,當(dāng)周期任務(wù)被認(rèn)為異常運行時,即進(jìn)入“異?!睜顟B(tài)時,那么硬件的看門狗計數(shù)器將不再被清零,即系統(tǒng)會在看門狗計數(shù)器峰值到達(dá)后重新啟動。2、根據(jù)權(quán)利要求1所述的一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法,其特征在于由于監(jiān)控的任務(wù)是周期性任務(wù),因此選擇在周期任務(wù)每次運行時報告一次,或選擇報告多次,依任務(wù)周期長短而定。3、根據(jù)權(quán)利要求1所述的一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法,其特征在于第2)步中,周期任務(wù)進(jìn)入"臨時"狀態(tài)以后,將被允許繼續(xù)執(zhí)行多個監(jiān)控周期,監(jiān)控周期的個數(shù)是可以配置的。4、根據(jù)權(quán)利要求1所述的一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法,其特征在于第3))步中,看門狗計數(shù)器被清零的周期是小于看門狗計數(shù)器到達(dá)峰值的周期,保證系統(tǒng)在正常運行時,不會自動重啟;而發(fā)現(xiàn)有周期任務(wù)異常時,看門狗計數(shù)器將不會被清零,此時保證系統(tǒng)會重新啟動。全文摘要本發(fā)明公開了一種基于看門狗和定時器的周期任務(wù)可靠性的監(jiān)控方法。本發(fā)明采用任務(wù)多狀態(tài)的管理方法,允許任務(wù)具有臨時狀態(tài)的方法和任務(wù)的報告機制,并結(jié)合了看門狗的超時重啟恢復(fù)系統(tǒng)的功能和定時器的計時功能,增加使用定時器來衡量周期任務(wù)的執(zhí)行時間,加強了對周期任務(wù)的運行可靠性的監(jiān)控;同時,基于看門狗自動重新啟動的功能保證了系統(tǒng)在異常情況下的自動恢復(fù);還能監(jiān)測周期任務(wù)運行時間是否符合要求;而且允許配置周期任務(wù)報告數(shù)量有誤差,以及增加的“臨時狀態(tài)”大大減小了對周期任務(wù)“異?!钡恼`判,因而可以減少系統(tǒng)的錯誤的重新啟動。文檔編號G06F11/30GK101216798SQ20081005914公開日2008年7月9日申請日期2008年1月14日優(yōu)先權(quán)日2008年1月14日發(fā)明者俞建德,吳朝暉,楊國青,趙民德,高志剛,魏城炯申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
伊宁县| 廉江市| 永春县| 太康县| 佛学| 佛学| 灵石县| 利川市| 正安县| 崇礼县| 美姑县| 漾濞| 松原市| 万载县| 永修县| 阳朔县| 武隆县| 德庆县| 张家川| 临朐县| 隆林| 确山县| 北京市| 民县| 扎鲁特旗| 临夏市| 鞍山市| 远安县| 台南市| 宿州市| 河南省| 凤翔县| 盐池县| 泽普县| 敖汉旗| 昭觉县| 兰考县| 莱芜市| 年辖:市辖区| 东山县| 扶沟县|