CN103116523A - 一种报警检测及响应方法、装置 - Google Patents
一种报警检测及响应方法、装置 Download PDFInfo
- Publication number
- CN103116523A CN103116523A CN2013100623101A CN201310062310A CN103116523A CN 103116523 A CN103116523 A CN 103116523A CN 2013100623101 A CN2013100623101 A CN 2013100623101A CN 201310062310 A CN201310062310 A CN 201310062310A CN 103116523 A CN103116523 A CN 103116523A
- Authority
- CN
- China
- Prior art keywords
- alarm
- queue
- ready queue
- current warning
- warning ready
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本申请提供一种报警检测及响应方法、装置,报警检测及响应方法包括:当系统计数器加1时,获取当前报警就绪队列,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器,判断当前报警就绪队列是否为空,如果是,则判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致,如果是,则触发当前报警就绪队列中排在队首的报警器发生报警,然后将排在队首的报警器移除。本申请提供的方法只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,该方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间。
Description
技术领域
本发明涉及嵌入式实时操作系统技术领域,尤其涉及一种报警检测及响应方法、装置。
背景技术
OSEK操作系统标准的定时机制由计数器和报警器组成。计数器是一个记录周期事件发生次数的抽象对象。报警器是一个通知操作系统与该报警器关联的计数器达到预定值的抽象对象。报警器被触发时的行为可以是激活一个任务、对任务的事件进行通知或者调用一个报警回调函数。每个报警器只能和一个计数器关联,但每个计数器可以被多个报警器所关联。
OSEK操作系统标准中规定,操作系统中至少要有一个系统计数器,由于一个系统计数器可被多个报警器关联,当报警器较多时,报警的检测和响应速度会受很大影响,从而影响报警使用的中断定时器的中断响应时间,进一步影响整个操作系统的实时性。
现有的报警检测和响应方法主要为遍历与系统计数器关联的所有报警器,即,每次系统计数器加1,对与该系统计数器关联的所有报警器进行查看,检测是否有报警发生。发明人在实现本发明的过程中发现:当与系统计数器关联的报警器较少时,报警的遍历速度没有较大影响,但是,当关联的报警器较多时,每次遍历的时间会很长,严重影响了报警检测和响应的速度。
发明内容
有鉴于此,本发明提供了一种报警检测及响应方法、装置,用以解决现有技术中,当与系统计数器关联的报警器较多时,报警检测和响应速度较慢的问题,其技术方案如下:
一种报警检测及响应方法,包括:
当系统计数器加1时,获取当前报警就绪队列,所述当前报警就绪队列中的报警器为处于激活状态的报警器,排在所述当前报警就绪队列队首的报警器为最先要发生报警的报警器;
判断所述当前报警就绪队列是否为空,当所述当前报警就绪队列不为空时,判断所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间是否一致,当所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间一致时,触发所述当前报警就绪队列中排在队首的报警器发生报警,将所述当前报警就绪队列中排在队首的报警器移除。
优选地,所述当前报警就绪队列为将当前处于激活状态的报警器利用系统绝对时间比较算法和堆排序算法进行重新排序后得到的队列。
可选地,上述方法还包括:将所述当前报警就绪队列中排在队首的报警器移除后,对当前报警就绪队列利用堆排序算法进行重新排序。
可选地,上述方法还包括:判断已发生报警的报警器是否设置有周期,当已发生报警的报警器设置有周期时,重新设置该报警器的报警时间,将该报警器重新激活并插入到当前报警就绪队列中。
一种报警检测及响应装置,包括:获取单元、第一判断单元、第二判断单元和第一处理单元;
所述获取单元,用于当系统计数器加1时,获取当前报警就绪队列,所述当前报警就绪队列中的报警器为处于激活状态的报警器,排在所述当前报警就绪队列队首的报警器为最先要发生报警的报警器;
所述第一判断单元,用于判断所述当前报警就绪队列是否为空;
所述第二判断单元,用于当所述当前报警就绪队列不为空时,判断所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间是否一致;
所述第一处理单元,用于当所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间一致时,触发所述当前报警就绪队列中排在队首的报警器发生报警,将所述当前报警就绪队列中排在队首的报警器移除。
优选地,所述当前报警就绪队列为将当前处于激活状态的报警器利用系统绝对时间比较算法和堆排序算法进行重排序后得到的队列。
可选地,上述装置还包括:第二处理单元;
所述第二处理单元,用于在将所述当前报警就绪队列中排在队首的报警器移除后,利用堆排序算法对当前报警就绪队列进行重排序。
可选地,上述装置还包括:第三判断单元和第三处理单元;
所述第三判断单元,用于判断已触发报警的报警器是否设置有周期;
所述第三处理单元,用于当已触发报警的报警器设置有周期时,重新设置该报警器的报警时间,将该报警器重新激活并插入到当前报警就绪队列中。
上述技术方案中具有如下有益效果:
本发明提供的报警检测及响应方法,获取的当前报警就绪队列中,位于队首的报警永远为最先要发生报警的报警器,这样,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警。因此,本发明提供的方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间,减少了嵌入式操作系统的系统资源,提高了操作系统的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一提供的报警检测及响应方法的流程示意图;
图2为本发明实施例二提供的报警检测及响应方法的流程示意图;
图3为报警中基于系统绝对时间比较算法的示意图;
图4为本发明实施例三提供的报警检测及响应方法的流程示意图;
图5为本发明实施例四提供的报警检测及响应装置的结构示意图;
图6为本发明实施例五提供的报警检测及响应装置的结构示意图;
图7为本发明实施例六提供的报警检测及响应装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供了一种报警检测及响应方法,图1示出了该方法的流程示意图,该方法可以包括:
S101:当系统计数器加1时,获取当前报警就绪队列。
其中,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器。
需要说明的是,报警器有两个状态,即挂起状态和激活状态。当报警器未被设置触发时间时,称其处于挂起状态,当报警器设置好触发时间时,称其处于激活状态。报警器从挂起状态向激活状态的转换称为激活。
S102:判断当前报警就绪队列是否为空,如果是,表明没有处于激活状态的报警器,此时结束报警检测及响应流程;如果否,则转入步骤S103。
S103:判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致,如果系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间一致,则转入步骤S104;否则,表明当前报警就绪队列中没有需要触发的报警器,此时,结束报警检测及响应流程。
S104:触发当前报警就绪队列中排在队首的报警器发生报警。
S105:将当前报警就绪队列中排在队首的报警器移除。
本发明实施例一提供的报警检测及响应方法中,获取的当前报警就绪队列中,位于队首的报警永远为最先要发生报警的报警器,这样,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,因此,本发明提供的方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间,减少了嵌入式操作系统的系统资源,提高了操作系统的实时性。
实施例二
本发明实施例二提供了一种报警检测及响应方法,图2示出了该方法的流程示意图,该方法可以包括:
S201:当系统计数器加1时,获取当前报警就绪队列。
其中,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器。
需要说明的是,报警器有两个状态,即挂起状态和激活状态。当报警器未被设置触发时间时,称其处于挂起状态,当报警器设置好触发时间时,称其处于激活状态。报警器从挂起状态向激活状态的转换称为激活。
在本实施例中,当前报警就绪队列优选为利用基于系统绝对时间比较算法和堆排序算法得到的队列。
图3示出了报警中基于系统绝对时间比较算法的示意图。本实施例中报警器的报警时间是一个绝对时间,即所有的报警时间都会转化为相对于系统计数器为零的时间,因此,判断两个报警发生的先后顺序,不是判断两个报警的报警时间值,而是判断报警时间与当前系统计数器计数值的比较值。
图3示出的ALARM1为新插入的报警,ALARM2为被比较的报警(已激活的报警),System Counter为系统计数器当前的计数值。由于系统计数器计到最大值MAX后会归零重新计数,而报警时间已都转化为相对于SystemCounter的绝对时间,因此,如果报警器的报警时间小于系统计数器当前的计数值,则表示该报警在系统计数器的下一个计数周期才能被触发,如果报警大于系统计数器当前的计数值,则表示该报警在当前计数周期被触发,一个计数周期的大小即为MAX值。
在本实施例中,当前报警就绪队列是预先创建的,当报警器被激活时,将报警器插入到当前报警就绪队列中,然后对当前报警就绪队列重新排序。为了保证所有已激活的报警中最先要被触发的报警都能正确的执行到,因此,本实施例优选为采用最小堆排序算法对当前报警就绪队列进行重排,步骤S201中获取的当前报警就绪队列即为将当前报警就绪队列中的报警器利用堆排序算法进行重排序后得到的队列,这样能保证位于队首的报警都是最先被执行的报警,最小堆排序算法能够满足报警检测的功能需求,并且,最小堆排序的时间复杂度为O(nlogn),大大减少了激活排序过程中的运算时间。
S202:判断当前报警就绪队列是否为空,如果当前报警就绪队列为空,则表明没有处于激活状态的报警器,此时,结束报警检测及响应流程;否则,转入步骤S203。
S203:判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致,如果系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间一致,则转入步骤S204;否则,表明当前报警就绪队列中没有需要触发的报警器,此时结束报警检测及响应流程。
S204:触发当前报警就绪队列中排在队首的报警器发生报警。
S205:将当前报警就绪队列中排在队首的报警器移除。
S206:对当前报警就绪队列利用堆排序算法进行重新排序。
需要说明的是,由于与系统计数器关联的报警器有多个,因此,在某些时候可能存在同一个系统计数值时有多个报警器需要触发的情况,此时,重复执行步骤S203-S206,直至当前报警就绪队列中不存在与系统计数器当前值一致的报警器。
本发明实施例二提供的报警检测及响应方法中,获取的当前报警就绪队列为利用基于系统绝对时间比较算法和堆排序算法得到的队列,这使得位于队首的报警永远为最先要发生报警的报警器,因此,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,因此,本发明提供的方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间,减少了嵌入式操作系统的系统资源,提高了操作系统的实时性。
实施例三
本发明实施例三提供了一种报警检测及响应方法,图4示出了该方法的流程示意图,该方法可以包括:
S301:当系统计数器加1时,获取当前报警就绪队列。
其中,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器。
需要说明的是,报警器有两个状态,即挂起状态和激活状态。当报警器未被设置触发时间时,称其处于挂起状态,当报警器设置好触发时间时,称其处于激活状态。报警器从挂起状态向激活状态的转换称为激活。
在本实施例中,当前报警就绪队列优选为利用基于系统绝对时间比较算法和堆排序算法得到的队列。
图3示出了报警中基于系统绝对时间比较算法的示意图。本实施例中报警器的报警时间是一个绝对时间,即所有的报警时间都会转化为相对于系统计数器为零的时间,因此,判断两个报警发生的先后顺序,不是判断两个报警的报警时间值,而是判断报警时间与当前系统计数器计数值的比较值。
图3示出的ALARM1为新插入的报警,ALARM2为被比较的报警(已激活的报警),System Counter为系统计数器当前的计数值。由于系统计数器计到最大值MAX后会归零重新计数,而报警时间已都转化为相对于SystemCounter的绝对时间,因此,如果报警器的报警时间小于系统计数器当前的计数值,则表示该报警在系统计数器的下一个计数周期才能被触发,如果报警大于系统计数器当前的计数值,则表示该报警在当前计数周期被触发,一个计数周期的大小即为MAX值。
在本实施例中,当前报警就绪队列是预先创建的,当报警器被激活时,将报警器插入到当前报警就绪队列中,然后对当前报警就绪队列重新排序。为了保证所有已激活的报警中最先要被触发的报警都能被执行到,因此,本实施例优选为采用最小堆排序算法对当前报警就绪队列进行重排,步骤S201中获取的当前报警就绪队列即为将当前报警就绪队列中的报警器利用堆排序算法进行重排序后得到的队列,这样能保证位于队首的报警都是最先被执行的报警,最小堆排序算法能够满足报警检测的功能需求,并且,最小堆排序的时间复杂度为O(nlogn),大大减少了激活排序过程中的运算时间。
此外,除了上述方式外,当有报警器被激活时,仅将报警器插入到当前报警就绪队列中,当系统计数器加1时,才对当前报警就绪队列利用堆排序算法进行重排序,即获取当前报警就绪队列的过程包括:将当前报警就绪队列利用堆排序算法进行重排序,获取利用堆排序算法进行重排序的当前报警就绪队列。
S302:判断当前报警就绪队列是否为空,如果当前报警就绪队列为空,则表明没有处于激活状态的报警器,此时,结束报警检测及响应流程;否则,转入步骤S303。
S303:判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致,如果系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间一致,则转入步骤S304;否则,表明当前报警就绪队列中没有需要触发的报警器,此时,结束报警检测及响应流程。
S304:触发当前报警就绪队列中排在队首的报警器发生报警。
S305:将当前报警就绪队列中排在队首的报警器移除。
S306:判断已发生报警的报警器是否设置有周期,如果已发生报警的报警器设置有周期,则转入步骤307;否则,转入步骤308。
S307:重新设置该报警器的报警时间,并将该报警器激活并插入当前报警就绪队列中。
S308:对当前报警就绪队列利用堆排序算法进行重新排序。
需要说明的是,由于与系统计数器关联的报警器有多个,因此,在某些时候可能存在同一个系统计数值时有多个报警器需要触发的情况,此时,重复执行步骤S303-S308,直至当前报警就绪队列中不存在与系统计数器当前值一致的报警器。
本发明实施例三提供的报警检测及响应方法中,获取的当前报警就绪队列为利用基于系统绝对时间比较算法和堆排序算法得到的队列,这使得位于队首的报警永远为最先要发生报警的报警器,因此,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,因此,本发明提供的方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间,减少了嵌入式操作系统的系统资源,提高了操作系统的实时性。
实施例四
本发明实施例四提供了一种报警检测及响应装置,图4示出了该装置的结构示意图,该装置包括:获取单元101、第一判断单元102、第二判断单元103和第一处理单元104。其中:
获取单元101,用于当系统计数器加1时,获取当前报警就绪队列。其中,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器。
第一判断单元102,用于判断当前报警就绪队列是否为空。
第二判断单元103,用于当前报警就绪队列不为空时,判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致。
第一处理单元104,用于当系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间一致时,触发当前报警就绪队列中排在队首的报警器发生报警,将当前报警就绪队列中排在队首的报警器移除。
本发明实施例四提供的报警检测及响应装置,获取单元获取的当前报警就绪队列中,位于队首的报警永远为最先要发生报警的报警器,这样,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,因此,本发明提供的装置大大提高了报警检测和响应速度,缩短了报警检测和响应时间。
实施例五
本发明实施例五提供了一种报警检测及响应装置,图5示出了该装置的结构示意图,该装置包括:获取单元201、第一判断单元202、第二判断单元203、第一处理单元204和第二处理单元205。其中:
获取单元201,用于当系统计数器加1时,获取当前报警就绪队列。其中,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器。
优选地,当前报警就绪队列为将当前处于激活状态的报警器利用系统绝对时间比较算法和堆排序算法进行重排序后得到的队列。
第一判断单元202,用于判断当前报警就绪队列是否为空。
第二判断单元203,用于当前报警就绪队列不为空时,判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致。
第一处理单元204,用于当系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间一致时,触发当前报警就绪队列中排在队首的报警器,将当前报警就绪队列中排在队首的报警器移除。
第二处理单元205,用于在将当前报警就绪队列中排在队首的报警器移除后,利用堆排序算法对当前报警就绪队列进行重排序。
本发明实施例五提供的报警检测及响应装置中,获取单元获取的当前报警就绪队列为利用基于系统绝对时间比较算法和堆排序算法得到的队列,这使得位于队首的报警永远为最先要发生报警的报警器,因此,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,因此,本发明提供的方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间,减少了嵌入式操作系统的系统资源,提高了操作系统的实时性。
实施例六
本发明实施例六提供了一种报警检测及响应装置,图6示出了该装置的结构示意图,该装置可以包括:获取单元301、第一判断单元302、第二判断单元303、第一处理单元304、第二处理单元305、第三判断单元306和第三处理单元307。其中:
获取单元301,用于当系统计数器加1时,获取当前报警就绪队列。其中,当前报警就绪队列中的报警器为处于激活状态的报警器,排在当前报警就绪队列队首的报警器为最先要发生报警的报警器。
优选地,当前报警就绪队列为将当前处于激活状态的报警器利用系统绝对时间比较算法和堆排序算法进行重排序后得到的队列。
第一判断单元302,用于判断当前报警就绪队列是否为空。
第二判断单元303,用于当前报警就绪队列不为空时,判断系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间是否一致。
第一处理单元304,用于当系统计数器的当前值与当前报警就绪队列中排在队首的报警器的报警时间一致时,触发当前报警就绪队列中排在队首的报警器,将当前报警就绪队列中排在队首的报警器移除。
第三判断单元306,用于判断已触发报警的报警器是否设置有周期。
第三处理单元307,用于当已触发报警的报警器设置有周期时,重新设置该报警器的报警时间,将该报警器重新激活并插入到当前报警就绪队列中。
第二处理单元305,用于将重新设置报警时间的报警器插入当前报警就绪队列后,利用堆排序算法对当前报警就绪队列进行重新排序。
本发明实施例六提供的报警检测及响应装置中,获取单元获取的当前报警就绪队列为利用基于系统绝对时间比较算法和堆排序算法得到的队列,这使得位于队首的报警永远为最先要发生报警的报警器,因此,当系统计数器加1时,不用遍历所有报警,只需比较系统计数器的当前值与位于当前报警就绪队列队首的报警器的报警时间是否一致,从而决定是否触发报警,因此,本发明提供的方法大大提高了报警检测和响应速度,缩短了报警检测和响应时间,减少了嵌入式操作系统的系统资源,提高了操作系统的实时性。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该嵌入式软件产品可以存储在存储介质中,如ROM、磁碟、光盘等,包括若干指令用以使得嵌入式电子设备执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明可用于众多通用或专用的嵌入式系统环境或配置中。例如:手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种报警检测及响应方法,其特征在于,包括:
当系统计数器加1时,获取当前报警就绪队列,所述当前报警就绪队列中的报警器为处于激活状态的报警器,排在所述当前报警就绪队列队首的报警器为最先要发生报警的报警器;
判断所述当前报警就绪队列是否为空,当所述当前报警就绪队列不为空时,判断所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间是否一致,当所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间一致时,触发所述当前报警就绪队列中排在队首的报警器发生报警,将所述当前报警就绪队列中排在队首的报警器移除。
2.根据权利要求1所述的方法,其特征在于,所述当前报警就绪队列为将当前处于激活状态的报警器利用系统绝对时间比较算法和堆排序算法进行重新排序后得到的队列。
3.根据权利要求1所述的方法,其特征在于,还包括:将所述当前报警就绪队列中排在队首的报警器移除后,对当前报警就绪队列利用堆排序算法进行重新排序。
4.根据权利要求1所述的方法,其特征在于,还包括:判断已发生报警的报警器是否设置有周期,当已发生报警的报警器设置有周期时,重新设置该报警器的报警时间,将该报警器重新激活并插入到当前报警就绪队列中。
5.一种报警检测及响应装置,其特征在于,包括:获取单元、第一判断单元、第二判断单元和第一处理单元;
所述获取单元,用于当系统计数器加1时,获取当前报警就绪队列,所述当前报警就绪队列中的报警器为处于激活状态的报警器,排在所述当前报警就绪队列队首的报警器为最先要发生报警的报警器;
所述第一判断单元,用于判断所述当前报警就绪队列是否为空;
所述第二判断单元,用于当所述当前报警就绪队列不为空时,判断所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间是否一致;
所述第一处理单元,用于当所述系统计数器的当前值与所述当前报警就绪队列中排在队首的报警器的报警时间一致时,触发所述当前报警就绪队列中排在队首的报警器发生报警,将所述当前报警就绪队列中排在队首的报警器移除。
6.根据权利要求5所述的装置,其特征在于,所述当前报警就绪队列为将当前处于激活状态的报警器利用系统绝对时间比较算法和堆排序算法进行重排序后得到的队列。
7.根据权利要求5所述的装置,其特征在于,还包括:第二处理单元;
所述第二处理单元,用于在将所述当前报警就绪队列中排在队首的报警器移除后,利用堆排序算法对当前报警就绪队列进行重排序。
8.根据权利要求5所述的装置,其特征在于,还包括:第三判断单元和第三处理单元;
所述第三判断单元,用于判断已触发报警的报警器是否设置有周期;
所述第三处理单元,用于当已触发报警的报警器设置有周期时,重新设置该报警器的报警时间,将该报警器重新激活并插入到当前报警就绪队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100623101A CN103116523A (zh) | 2013-02-27 | 2013-02-27 | 一种报警检测及响应方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100623101A CN103116523A (zh) | 2013-02-27 | 2013-02-27 | 一种报警检测及响应方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103116523A true CN103116523A (zh) | 2013-05-22 |
Family
ID=48414907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100623101A Pending CN103116523A (zh) | 2013-02-27 | 2013-02-27 | 一种报警检测及响应方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103116523A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154431A (zh) * | 2018-01-17 | 2018-06-12 | 北京网信云服信息科技有限公司 | 一种标的募集状态处理方法及装置 |
CN111918233A (zh) * | 2020-07-03 | 2020-11-10 | 西北工业大学 | 一种适用于无线航空网络的异常检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103520A (zh) * | 2010-12-14 | 2011-06-22 | 深圳市金宏威实业发展有限公司 | 一种定时器的实现方法和装置 |
CN102129393A (zh) * | 2011-03-09 | 2011-07-20 | 南京恩瑞特实业有限公司 | 通用定时任务管理的实现方法 |
CN102750149A (zh) * | 2012-06-13 | 2012-10-24 | 普华基础软件股份有限公司 | 调度表的实现方法及系统 |
-
2013
- 2013-02-27 CN CN2013100623101A patent/CN103116523A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103520A (zh) * | 2010-12-14 | 2011-06-22 | 深圳市金宏威实业发展有限公司 | 一种定时器的实现方法和装置 |
CN102129393A (zh) * | 2011-03-09 | 2011-07-20 | 南京恩瑞特实业有限公司 | 通用定时任务管理的实现方法 |
CN102750149A (zh) * | 2012-06-13 | 2012-10-24 | 普华基础软件股份有限公司 | 调度表的实现方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154431A (zh) * | 2018-01-17 | 2018-06-12 | 北京网信云服信息科技有限公司 | 一种标的募集状态处理方法及装置 |
CN108154431B (zh) * | 2018-01-17 | 2021-07-06 | 北京网信云服信息科技有限公司 | 一种标的募集状态处理方法及装置 |
CN111918233A (zh) * | 2020-07-03 | 2020-11-10 | 西北工业大学 | 一种适用于无线航空网络的异常检测方法 |
CN111918233B (zh) * | 2020-07-03 | 2022-09-27 | 西北工业大学 | 一种适用于无线航空网络的异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430260B2 (en) | Troubleshooting method, computer system, baseboard management controller, and system | |
HRP20201937T1 (hr) | Postupci i uređaj za distribuiranu bazu podataka unutar mreže | |
JP2020512613A5 (zh) | ||
KR101690917B1 (ko) | 가상 시나리오에서 사운드를 시뮬레이션하는 방법 및 장치, 및 단말기 | |
US20100306709A1 (en) | Event monitoring for complex event processing | |
US10289472B2 (en) | Resource leak detection method, apparatus, and system | |
CN202421817U (zh) | 物联网无线智能婴儿监护装置 | |
WO2007109723A3 (en) | Computer automated group detection | |
EP2037368A3 (en) | Simulation of program execution to detect problem such as deadlock | |
US11176014B2 (en) | Prevention of event flooding | |
CN101479706B (zh) | 计算机外板上的反病毒使用模型 | |
CN103116523A (zh) | 一种报警检测及响应方法、装置 | |
CN102495577A (zh) | 物联网无线智能婴儿监护装置 | |
EP3358467A1 (en) | Fault processing method, computer system, baseboard management controller and system | |
JP5623557B2 (ja) | 診断データを収集するためのマルチスレッド化コンピューティング環境における方法、装置、およびコンピュータ・プログラム | |
CN108549578A (zh) | 一种中断聚合装置及其方法 | |
CN103631736A (zh) | 设备资源控制方法和装置 | |
KR20210074541A (ko) | 디지털 트윈 기반 Automotive Intelligence 지식베이스를 이용한 오류 탐지 및 형상화 방법 | |
CN106027306A (zh) | 一种资源监控方法及装置 | |
CN104051038A (zh) | 一种用于数字化核电厂事故程序快速进入的方法 | |
US20140147011A1 (en) | Object removal detection using 3-d depth information | |
CN103246723A (zh) | 一种监控器及方法 | |
CN104217548B (zh) | 燃气轮机首出报警处理方法及装置 | |
CN104462664A (zh) | 一种分布式仿真系统的实时性监控方法 | |
CN108650251A (zh) | 一种网络安全综合态势感知数据的显示处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130522 |