[發明專利]一種報警檢測及響應方法、裝置在審
| 申請號: | 201310062310.1 | 申請日: | 2013-02-27 |
| 公開(公告)號: | CN103116523A | 公開(公告)日: | 2013-05-22 |
| 發明(設計)人: | 王載瓊;劉博;張陽 | 申請(專利權)人: | 北京經緯恒潤科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100101 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報警 檢測 響應 方法 裝置 | ||
技術領域
本發明涉及嵌入式實時操作系統技術領域,尤其涉及一種報警檢測及響應方法、裝置。
背景技術
OSEK操作系統標準的定時機制由計數器和報警器組成。計數器是一個記錄周期事件發生次數的抽象對象。報警器是一個通知操作系統與該報警器關聯的計數器達到預定值的抽象對象。報警器被觸發時的行為可以是激活一個任務、對任務的事件進行通知或者調用一個報警回調函數。每個報警器只能和一個計數器關聯,但每個計數器可以被多個報警器所關聯。
OSEK操作系統標準中規定,操作系統中至少要有一個系統計數器,由于一個系統計數器可被多個報警器關聯,當報警器較多時,報警的檢測和響應速度會受很大影響,從而影響報警使用的中斷定時器的中斷響應時間,進一步影響整個操作系統的實時性。
現有的報警檢測和響應方法主要為遍歷與系統計數器關聯的所有報警器,即,每次系統計數器加1,對與該系統計數器關聯的所有報警器進行查看,檢測是否有報警發生。發明人在實現本發明的過程中發現:當與系統計數器關聯的報警器較少時,報警的遍歷速度沒有較大影響,但是,當關聯的報警器較多時,每次遍歷的時間會很長,嚴重影響了報警檢測和響應的速度。
發明內容
有鑒于此,本發明提供了一種報警檢測及響應方法、裝置,用以解決現有技術中,當與系統計數器關聯的報警器較多時,報警檢測和響應速度較慢的問題,其技術方案如下:
一種報警檢測及響應方法,包括:
當系統計數器加1時,獲取當前報警就緒隊列,所述當前報警就緒隊列中的報警器為處于激活狀態的報警器,排在所述當前報警就緒隊列隊首的報警器為最先要發生報警的報警器;
判斷所述當前報警就緒隊列是否為空,當所述當前報警就緒隊列不為空時,判斷所述系統計數器的當前值與所述當前報警就緒隊列中排在隊首的報警器的報警時間是否一致,當所述系統計數器的當前值與所述當前報警就緒隊列中排在隊首的報警器的報警時間一致時,觸發所述當前報警就緒隊列中排在隊首的報警器發生報警,將所述當前報警就緒隊列中排在隊首的報警器移除。
優選地,所述當前報警就緒隊列為將當前處于激活狀態的報警器利用系統絕對時間比較算法和堆排序算法進行重新排序后得到的隊列。
可選地,上述方法還包括:將所述當前報警就緒隊列中排在隊首的報警器移除后,對當前報警就緒隊列利用堆排序算法進行重新排序。
可選地,上述方法還包括:判斷已發生報警的報警器是否設置有周期,當已發生報警的報警器設置有周期時,重新設置該報警器的報警時間,將該報警器重新激活并插入到當前報警就緒隊列中。
一種報警檢測及響應裝置,包括:獲取單元、第一判斷單元、第二判斷單元和第一處理單元;
所述獲取單元,用于當系統計數器加1時,獲取當前報警就緒隊列,所述當前報警就緒隊列中的報警器為處于激活狀態的報警器,排在所述當前報警就緒隊列隊首的報警器為最先要發生報警的報警器;
所述第一判斷單元,用于判斷所述當前報警就緒隊列是否為空;
所述第二判斷單元,用于當所述當前報警就緒隊列不為空時,判斷所述系統計數器的當前值與所述當前報警就緒隊列中排在隊首的報警器的報警時間是否一致;
所述第一處理單元,用于當所述系統計數器的當前值與所述當前報警就緒隊列中排在隊首的報警器的報警時間一致時,觸發所述當前報警就緒隊列中排在隊首的報警器發生報警,將所述當前報警就緒隊列中排在隊首的報警器移除。
優選地,所述當前報警就緒隊列為將當前處于激活狀態的報警器利用系統絕對時間比較算法和堆排序算法進行重排序后得到的隊列。
可選地,上述裝置還包括:第二處理單元;
所述第二處理單元,用于在將所述當前報警就緒隊列中排在隊首的報警器移除后,利用堆排序算法對當前報警就緒隊列進行重排序。
可選地,上述裝置還包括:第三判斷單元和第三處理單元;
所述第三判斷單元,用于判斷已觸發報警的報警器是否設置有周期;
所述第三處理單元,用于當已觸發報警的報警器設置有周期時,重新設置該報警器的報警時間,將該報警器重新激活并插入到當前報警就緒隊列中。
上述技術方案中具有如下有益效果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京經緯恒潤科技有限公司,未經北京經緯恒潤科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310062310.1/2.html,轉載請聲明來源鉆瓜專利網。





