CN102135912A - 中断抖动的处理方法和设备 - Google Patents
中断抖动的处理方法和设备 Download PDFInfo
- Publication number
- CN102135912A CN102135912A CN2011100833079A CN201110083307A CN102135912A CN 102135912 A CN102135912 A CN 102135912A CN 2011100833079 A CN2011100833079 A CN 2011100833079A CN 201110083307 A CN201110083307 A CN 201110083307A CN 102135912 A CN102135912 A CN 102135912A
- Authority
- CN
- China
- Prior art keywords
- interruption
- type
- filter cycle
- pairing
- time
- 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
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种中断抖动的处理方法和设备,通过应用本发明实施例的技术方案,将所有的中断通过统一中断入口进行接收和判断处理,只有在确定在相应的过滤周期内接收到的相应类型的中断没有超过预设的过滤阈值时,才对该中断执行相应的正常处理流程,从而,避免大量的中断抖动对处理资源的占用,并且,由于通过统一中断入口接收中断,并进行统一的过滤处理,降低了大量冗余的中断处理对处理器资源的占用,因此,即使在出现高频中断抖动的情况下,依旧可以保证处理器有足够的资源进行其他正常的业务处理。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种中断抖动的处理方法和设备。
背景技术
中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU(Central Processing Unit,中央处理器)暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
在实际应用中,设备底层驱动软件的运行,往往是以硬件产生的中断为条件来进行触发的,硬件所产生的中断通知了驱动软件的各种事件的发生,例如:数据的传输事件通知、硬件异常通知等。为了响应中断的产生,进行中断对应的处理,底层驱动软件需要调用操作系统或者BSP(Board Support Package,板级支持软件包)提供的函数,为每一个需要管理的中断注册一个中断处理程序。此后,当硬件中断产生时,操作系统或BSP会调用驱动注册的中断处理程序进行处理。
当发生异常时,中断有可能以非常高的频度频繁产生,这就可能导致系统不断的进入中断的处理程序,在严重的情况下,CPU可能除了反复执行中断处理程序之外,已经没有空闲再去执行其他的程序,此时,就会出现设备的不正常运行,甚至瘫痪。
为了克服这样的问题,需要对过渡频繁的中断进行过滤,即中断去抖。在现有技术提到的中断去抖概念,通常指的是,在中断处理程序及其触发的后续处理流程中,对于中断的频繁产生进行软件流程的去抖,例如,在键盘输入过程中,由于存在按键的抖动,导致虽然操作者感觉只是按了一次键,但是处理器接收到的按键事件产生中断却可能有多个,为了最终将抖动的多次键盘键入识别为一次键入,后续的软件流程可能采用一系列算法进行去抖。
在实现本发明实施例的过程中,申请人发现现有技术至少存在以下问题:
现有技术所涉及的中断去抖操作,只能适用于低频的中断抖动(频率通常在10000HZ以下),这种情况下,CPU仍然有余力执行中断处理程序及其后续软件去抖流程。
而如果出现高频的中断抖动(频率通常在10000HZ以上),CPU只能不断被动响应中断处理程序,已经无力再去处理中断处理程序后续的流程,后续的去抖操作及其正常功能都已经没有条件再得到执行,设备已经失效甚至瘫痪。
对于此种情况,现有技术没有给出有效的保证设备在高频中断抖动的场景下仍然正常工作的方法。
发明内容
本发明实施例提供一种中断抖动的处理方法和设备,解决现有的无法在高频中断抖动场景下进行正常处理的问题。
为达到上述目的,本发明实施例一方面提供了一种中断抖动的处理方法,包括:
通过统一中断入口接收所有的中断;
当接收到一个中断时,查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内;
如果查询结果为是,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到预设的过滤阈值;
如果没有达到,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
另一方面,本发明实施例还提供了一种中断抖动的处理设备,包括:
统一中断入口,用于接收所有的中断;
设置模块,用于设置各中断类型所对应的过滤周期和过滤阈值;
查询模块,用于当所述统一中断入口接收到一个中断时,查询所述中断的接收时间是否处于所述设置模块设置的所述中断的类型所对应的过滤周期内;
判断模块,用于在所述查询模块的查询结果为是时,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到所述设置模块所设置的过滤阈值;
处理模块,用于在所述判断模块的判断结果为没有达到时,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例的技术方案,将所有的中断通过统一中断入口进行接收和判断处理,只有在确定在相应的过滤周期内接收到的相应类型的中断没有超过预设的过滤阈值时,才对该中断执行相应的正常处理流程,从而,避免大量的中断抖动对处理资源的占用,并且,由于通过统一中断入口接收中断,并进行统一的过滤处理,降低了大量冗余的中断处理对处理器资源的占用,因此,即使在出现高频中断抖动的情况下,依旧可以保证处理器有足够的资源进行其他正常的业务处理。
附图说明
图1为本发明实施例提出的一种中断抖动的处理方法的流程示意图;
图2为本发明实施例提出的一种具体应用场景下的中断抖动的处理方法的流程示意图;
图3为本发明实施例提出的一种中断抖动的处理设备的结构示意图。
具体实施方式
如背景技术所述,在各种设备产品中,底层驱动软件的一项重要工作就是对于硬件产生的各种中断进行管理。不可避免的,硬件中断在某些异常的情况下存在发生抖动而频繁产生的可能性(例如,由于虚焊导致的接触不良,或者设备进水导致的硬件故障等),一旦中断产生的频度达到了一定的量级,就可能导致处理器为了不断对其进行处理,而对正常的业务运行造成严重的干扰,甚至导致设备瘫痪。
这样的情况即为中断抖动,为了克服这样的中断抖动,现有的技术方案主要是由CPU进行去抖操作,但这样同样会占用处理资源,在抖动频率较高,尤其对于高频的中断抖动(其频率通常在10000HZ以上,即每100us产生1次以上中断)的情况,现有的技术方案需要占用大量的CPU处理资源,同样可能造成没有足够的处理资源进行其他业务处理,甚至造成设备瘫痪。
为了避免这种情况的发生,本发明实施例提出了对中断,尤其是高频抖动的进行过滤处理的技术方案。
本发明实施例针对高频中断去抖的需求,提出了对中断进行过滤处理的技术方案,其中心思想在于:对于需要进行过滤处理的中断进行注册,对于注册了需要过滤处理的中断,在一定的过滤周期内,无论该中断从硬件上产生多少次,软件上只会对底层驱动软件注册的该中断处理程序进行有限次数的调用。以保证系统不会因为过多的中断抖动而占用过多的处理资源。
如图1所示,为本发明实施例提出的一种中断抖动的处理方法的流程示意图,该方法具体包括以下步骤:
步骤S101、通过统一中断入口接收所有的中断。
统一中断入口的引入主要是为了将所有的中断在上报过程中都经过统一的预处理,从而实现统一的过滤处理。
统一中断入口可以是与后续处理单元相连接的一个逻辑接口,也可以是一个独立的处理单元,或是一个能够应用相应的处理函数的功能实体,具体物理形态的变化并不会影响本发明的保护范围。
步骤S102、当接收到一个中断时,查询该中断的接收时间是否处于该中断的类型所对应的过滤周期内。
在实际应用中,该中断的类型所对应的过滤周期是预先设定的,即前述的对于需要进行过滤处理的中断进行注册,并设置相应的过滤周期,在此过滤周期内,无论该中断从硬件上产生多少次,软件上只会对底层驱动软件注册的该中断处理程序进行有限次数的调用。
如果查询结果为是,执行步骤S103;
如果查询结果为否,执行步骤S104。
在实际应用中,为了在过滤周期内对接收到的中断进行计数,以便进行相应的后续处理,所以,当查询结果为是时,需要进行计数处理,即将在过滤周期内接收到的该类型的中断的次数增加1。
而相反的,当查询结果为否时,表示当前的过滤周期已经过期,无需再对该类型的中断进行过滤,因此,将在过滤周期内接收到的该类型的中断的次数清零。
步骤S103、判断在过滤周期内接收到的该类型的中断的次数是否达到预设的过滤阈值。
如果没有达到,执行步骤S104;
如果已经达到,执行步骤S105。
步骤S104、调用该类型的中断所对应的中断处理程序对该中断进行处理。
步骤S105、结束对所述中断的处理,放弃调用所述类型的中断所对应的中断处理程序。
在实际的应用场景中,对于接收次数达到过滤阈值的中断,一方面,需要执行步骤S105中的结束处理,放弃调用中断处理程序的操作,从而避免对过多次数的中断进行频繁处理而造成的系统资源的浪费,另一方面,当一个类型的中断接收次数达到一定的数量后,则需要对该类型的中断进行直接关闭,即系统对此类型的中断直接忽略,不进行任何处理,不仅不会调用中断处理程序,甚至连前述的步骤S102之后的过滤操作都不会进行,进一步节省系统资源的开销。具体的关闭方式是为此类型的中断添加关闭标识,凡是添加了关闭标识的中断类型,系统将对其直接忽略。
这样的关闭操作将设定一个关闭时间,在此关闭时间内,系统将屏蔽对该类型的中断的响应,不会对其进行任何处理。
由此可知,中断的关闭过程是在前述的过滤过程的基础上进一步加强的中断过滤操作,尤其对于高频中断抖动,将起到更好的过滤效果,进一步的节省系统资源。
在具体的实施场景中,相应的关闭判定过程如下:
在步骤S104判断接收中断的次数已经达到预设的过滤阈值的基础上,进一步判断在所述过滤周期内接收到的所述类型的中断的次数是否达到预设的告警阈值。
如果没有达到,则执行步骤S105,结束对该中断的处理,放弃调用该类型的中断所对应的中断处理程序。
如果达到,则除了执行步骤S105中的处理,关闭该类型的中断,同时,还需要记录该中断的接收时间,并对该类型的中断设置关闭标识和关闭时间。
由于引入了关闭机制,所以,在实际的过滤操作之前,可以优先判断当前是否存在被关闭的中断,如果有,进一步判断是否已经超过关闭时间,即在步骤S102中查询接收时间是否处于过滤周期内的操作之前,需要对当前是否有处于关闭状态的中断的类型进行识别,由于被关闭的中断已经被系统屏蔽,所以,当前的识别过程必然是在其他中断的处理过程中进行的,只有超过了关闭时间,才会开启该类型的中断,从而,系统才会再响应对该类型的中断的处理,具体过程如下:
当接收到一个中断时,判断是否存在设置关闭标识的中断类型。
如果不存在,直接执行步骤S102,启动相应的过滤程序,如果存在,判断当前是否超过设置关闭标识的中断类型的关闭时间。
如果已经超过关闭时间,则删除该关闭标识,开启相应的中断类型的处理过程,在后续的处理过程中,硬件产生的相应类型的中断才会被响应,才会进行具体的后处理过程,相反,如果没有超过关闭时间,则不进行任何处理,直接执行步骤S102,继续对当前的中断进行过滤处理。
需要进一步指出的是,如果系统中同时存在需要过滤的中断,以及不需要过滤的中断,那么,在执行步骤S102的过滤程序之前,需要优先识别是否对当前接收到的中断进行过滤,具体的处理步骤如下:
确定所述中断是否需要进行过滤处理;
如果不需要,调用所述中断所对应的中断处理程序对所述中断进行处理,如果需要,则执行步骤S102,查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例的技术方案,将所有的中断通过统一中断入口进行接收和判断处理,只有在确定在相应的过滤周期内接收到的相应类型的中断没有超过预设的过滤阈值时,才对该中断执行相应的正常处理流程,从而,避免大量的中断抖动对处理资源的占用,并且,由于通过统一中断入口接收中断,并进行统一的过滤处理,降低了大量冗余的中断处理对处理器资源的占用,因此,即使在出现高频中断抖动的情况下,依旧可以保证处理器有足够的资源进行其他正常的业务处理。
下面,结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。
根据本发明的技术思路,在系统中为所有的中断处理程序设置一个统一的入口。即所有的中断产生时,首先执行一个统一的处理函数,在该处理函数内,根据中断所对应的标识(中断号)进行中断的分发,相应的调用驱动所注册的中断处理程序。
这个统一的中断处理的入口成为中断过滤处理的决策点。在该决策点可以完成以下工作:
判断当前产生的中断是否是一个需要进行过滤处理的中断。
判断当前需过滤处理的中断,在本过滤周期内是否已经产生过,或是否产生过预定的次数,以及是否可以触发其中断处理程序的调用和执行。
判断某个需过滤处理的中断的产生次数是否已经达到告警门限,从而需要对该类型的中断进行强制关闭。
判断一个类型的中断的过滤周期是否到期,从而需要复位所有的需过滤处理的中断所对应的控制和统计信息。
综合以上的各判断处理过程,即可配合完成对中断的过滤功能。
为让驱动指示哪些类型的中断需要过滤,及其对应的过滤周期是多长,操作系统或者BSP可以向驱动软件提供以下的API接口,在本发明实施例中,仅描述该接口的原语描述:
函数原语:intFilterRegister(需要过滤的中断的中断号);
功能:指定相对应的中断,并将其注册为需要过滤的中断。
函数原语:intFilterTimeSet(欲过滤中断的中断号,中断过滤周期);
功能:设置指定的需要过滤的中断的过滤周期。
函数原语:intLockTimeSet(欲过滤中断的中断号,中断告警周期);
功能:设置指定的需要过滤的中断的告警周期。
当驱动软件调用上面的接口设置一个中断为需要过滤的中断后,在其设定的过滤周期内,无论硬件产生该中断多少次,相对应的中断处理程序也只会被调用预先限定的次数,避免对该中断处理程序的频繁调度。
下面,详细描述中断的过滤处理过程中的决策点的处理流程。
首先,说明与该过滤处理流程相关的变量设计。
(1)FLAG[N]。
表示各中断是否需要过滤的标志,其中,N表示系统中存在的中断的个数,以下的其他变量中同样存在此种情况,不再重复说明。
(2)T_PERIOD[N]。
各中断的过滤周期的长度。
(3)T_START[N]。
各中断当前的过滤周期的起始时间。
(4)COUNT[N]。
在当前过滤周期内,硬件已经产生各中断的次数。
(5)THRESHOLD1[N]。
在同一个过滤周期内,各中断对应的允许调用驱动中断处理程序的最多次数,即前述的过滤阈值。
(6)THRESHOLD2[N]。
在同一个过滤周期内,各中断所允许的硬件产生次数的告警门限,一旦中断在一个过滤周期内产生的次数超出了该告警门限,则该中断将被关闭,即前述的告警阈值。
(7)LOCK_FLAG[N]。
各中断是否已经被关闭的标志。
(8)T_LOCK_START[N]。
各中断被关闭的起始时间。
(9)T_LOCK[N]。
各中断允许关闭的最长时间,即前述的关闭时间。
在实际的应用场景中,每个中断都可以具有上述的各个变量,当然,也可以只对其中的部分中断设置相应的变量,而对其他不涉及相应的限定的中断则不设置相应的变量,如果一个中断的一个变量为缺省状态,那么,则视为该中断不受此变量所对应的处理规则的限定。
基于上述的变量设定,如图2所示,为本发明实施例所提出的一种具体场景中的的中断抖动的处理方法的流程示意图,具体包括以下步骤:
步骤S201、当硬件中断产生时,该中断进入统一中断入口,交由中断过滤决策程序继续处理。
中断过滤决策处理程序引导该中断进入步骤S202。
步骤S202、获取当前系统时间CurTime。
步骤S203、判断是否存在处于关闭状态的中断。
遍历LOCK_FLAG[N],判断LOCK_FLAG[i](i=0到N-1)是否指示i号中断处于被关闭的状态。
如果存在,执行步骤S204;
如果不存在,执行步骤S205。
步骤S204、判断处于关闭状态的中断是否达到关闭时间。
如果i号中断处于被关闭的状态,则判断(CurTime - T_LOCK_START[i])是否大于等于i号中断关闭最长时间T_LOCK[i]。
如果是,则开启i号中断的处理状态,恢复对i号中断的正常响应,并继续对当前中断的处理。
如果否,则不做任何操作,继续对当前中断的处理。
由于i号中断处于关闭状态,其产生不会被系统感知,因此,上述的判断过程实际上发生在其他中断的处理过程中,当遍历完所有中断并完成相应处理后,进入步骤S205。
步骤S205、判断当前中断是否需要过滤。
设本次接收到的中断的中断号为j,那么,可以根据FLAG[j]判断当前中断是否需要过滤。
如果需要过滤,则执行步骤S206;
否则,如果不需要过滤,则执行步骤S210。
步骤S206、判断当前中断的过滤周期是否到期。
本次中断的中断号为j,则本步骤的处理过程为判断(CurTime - T_START[j])是否大于等于T_PERIOD[j]。
如果是,即过滤周期到期,则执行步骤S207;
如果否,即过滤周期没有到期,则执行步骤S208。
步骤S207、对该中断进行计数清零。
如果(CurTime - T_START[j])大于等于T_PERIOD[j],即当前中断的过滤周期到期了,将COUNT[j]清零,之后,执行步骤S209。
步骤S208、继续对该中断进行计数。
如果(CurTime - T_START[j])小于T_PERIOD[j],即当前中断的过滤周期没有到期,则COUNT[j]加1,之后,执行步骤S209。
步骤S209、判断该中断在本过滤周期内的产生次数是否达到过滤阈值。
即判断COUNT[j]是否大于等于THRESHOLD1[j]。
如果没有达到,则说明当前中断在本过滤周期内产生的次数还没有超出过滤阈值,执行步骤S210;
如果已经达到,则说明当前中断在本过滤周期内产生的次数已经超出了过滤阈值,不应再调用驱动注册的中断处理程序,执行步骤S211。
步骤S210、调用驱动注册的该中断的中断处理程序,进行相应的中断处理。
步骤S211、判断该中断在本过滤周期内的产生次数是否达到告警阈值。
即判断COUNT[j]是否大于等于THRESHOLD2[j]。
如果达到,则执行步骤S212;
如果没有达到,则不做任何操作,该中断处理流程结束。
步骤S212、关闭当前中断,并在T_LOCK_START[j]中记录当前时间。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例的技术方案,将所有的中断通过统一中断入口进行接收和判断处理,只有在确定在相应的过滤周期内接收到的相应类型的中断没有超过预设的过滤阈值时,才对该中断执行相应的正常处理流程,从而,避免大量的中断抖动对处理资源的占用,并且,由于通过统一中断入口接收中断,并进行统一的过滤处理,降低了大量冗余的中断处理对处理器资源的占用,因此,即使在出现高频中断抖动的情况下,依旧可以保证处理器有足够的资源进行其他正常的业务处理。
为了实现本发明实施例的技术方案,本发明实施例还提供了一种中断抖动的处理设备,其结构示意图如图3所示,具体包括:
统一中断入口31,用于接收所有的中断;
设置模块32,用于设置各中断类型所对应的过滤周期和过滤阈值;
查询模块33,用于当所述统一中断入口31接收到一个中断时,查询所述中断的接收时间是否处于所述设置模块32设置的所述中断的类型所对应的过滤周期内;
判断模块34,用于在所述查询模块33的查询结果为是时,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到所述设置模块32所设置的过滤阈值;
处理模块35,用于在所述判断模块34的判断结果为没有达到时,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
其中,所述设置模块32,还用于设置需要进行过滤处理的中断的类型;
所述查询模块33,还用于在查询所述统一中断入口31接收到的中断的接收时间是否处于所述中断的类型所对应的过滤周期内之前,确定所述中断是否需要进行过滤处理,如果需要,则查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内;
所述处理模块35,还用于在所述查询模块33确定所述中断不需要进行过滤处理时,调用所述中断所对应的中断处理程序对所述中断进行处理。
另一方面,所述处理模块35,还用于在所述查询模块33的查询结果为否时,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
进一步的,该处理设备还包括:
计数模块36,用于对所述统一中断入口31在所述设置模块32所设置的过滤周期内接收到的所述类型的中断进行计数,其中,当所述查询模块33查询所述中断的接收时间处于所述中断的类型所对应的过滤周期内时,将在所述过滤周期内接收到的所述类型的中断的次数增加1,或当所述查询模块33查询所述中断的接收时间没有处于所述中断的类型所对应的过滤周期内时,将在所述过滤周期内接收到的所述类型的中断的次数清零。
另一方面,所述处理模块35,还用于在所述判断模块34判断在所述过滤周期内接收到的所述类型的中断的次数已经达到预设的过滤阈值时,结束对所述统一中断入口31所接收到的中断的处理,放弃调用所述类型的中断所对应的中断处理程序。
其中,所述设置模块32,还用于设置告警阈值和最长中断关闭时间;
所述处理模块35,还用于当所述判断模块34判断在所述过滤周期内接收到的所述类型的中断的次数已经达到预设的过滤阈值时,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到设置模块32设置的告警阈值,如果没有达到,结束对所述中断的处理,放弃调用所述类型的中断所对应的中断处理程序,如果达到,关闭所述类型的中断,记录所述中断的接收时间,并对所述类型的中断设置关闭标识和关闭时间。
相应的,所述查询模块33,还用于在查询所述统一中断入口31接收到的中断的接收时间是否处于所述中断的类型所对应的过滤周期内之前,判断是否存在设置关闭标识的中断类型,如果存在,判断当前是否超过设置关闭标识的中断类型的关闭时间,如果已经超过,删除所述关闭标识,开启所述中断类型的处理。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例的技术方案,将所有的中断通过统一中断入口进行接收和判断处理,只有在确定在相应的过滤周期内接收到的相应类型的中断没有超过预设的过滤阈值时,才对该中断执行相应的正常处理流程,从而,避免大量的中断抖动对处理资源的占用,并且,由于通过统一中断入口接收中断,并进行统一的过滤处理,降低了大量冗余的中断处理对处理器资源的占用,因此,即使在出现高频中断抖动的情况下,依旧可以保证处理器有足够的资源进行其他正常的业务处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。
Claims (14)
1.一种中断抖动的处理方法,其特征在于,包括:
通过统一中断入口接收所有的中断;
当接收到一个中断时,查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内;
如果查询结果为是,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到预设的过滤阈值;
如果没有达到,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
2.如权利要求1所述的方法,其特征在于,所述查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内之前,还包括:
确定所述中断是否需要进行过滤处理;
如果不需要,调用所述中断所对应的中断处理程序对所述中断进行处理,如果需要,则查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内。
3.如权利要求1所述的方法,其特征在于,所述查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内之后,还包括:
如果查询结果为否,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
4.如权利要求1或3所述的方法,其特征在于,所述查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内之后,还包括:
如果查询结果为是,将在所述过滤周期内接收到的所述类型的中断的次数增加1;
如果查询结果为否,将在所述过滤周期内接收到的所述类型的中断的次数清零。
5.如权利要求1所述的方法,其特征在于,所述判断在所述过滤周期内接收到的所述类型的中断的次数是否达到预设的过滤阈值之后,还包括:
如果已经达到,结束对所述中断的处理,放弃调用所述类型的中断所对应的中断处理程序。
6.如权利要求5所述的方法,其特征在于,如果在所述过滤周期内接收到的所述类型的中断的次数已经达到预设的过滤阈值,还包括:
判断在所述过滤周期内接收到的所述类型的中断的次数是否达到预设的告警阈值;
如果没有达到,结束对所述中断的处理,放弃调用所述类型的中断所对应的中断处理程序;
如果达到,关闭所述类型的中断,记录所述中断的接收时间,并对所述类型的中断设置关闭标识和关闭时间。
7.如权利要求6所述的方法,其特征在于,所述查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内之前,还包括:
当接收到一个中断时,判断是否存在设置关闭标识的中断类型;
如果存在,判断当前是否超过设置关闭标识的中断类型的关闭时间;
如果已经超过,删除所述关闭标识,开启所述中断类型的处理。
8.一种中断抖动的处理设备,其特征在于,包括:
统一中断入口,用于接收所有的中断;
设置模块,用于设置各中断类型所对应的过滤周期和过滤阈值;
查询模块,用于当所述统一中断入口接收到一个中断时,查询所述中断的接收时间是否处于所述设置模块设置的所述中断的类型所对应的过滤周期内;
判断模块,用于在所述查询模块的查询结果为是时,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到所述设置模块所设置的过滤阈值;
处理模块,用于在所述判断模块的判断结果为没有达到时,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
9.如权利要求8所述的设备,其特征在于,所述设置模块,还用于设置需要进行过滤处理的中断的类型;
所述查询模块,还用于在查询所述统一中断入口接收到的中断的接收时间是否处于所述中断的类型所对应的过滤周期内之前,确定所述中断是否需要进行过滤处理,如果需要,则查询所述中断的接收时间是否处于所述中断的类型所对应的过滤周期内;
所述处理模块,还用于在所述查询模块确定所述中断不需要进行过滤处理时,调用所述中断所对应的中断处理程序对所述中断进行处理。
10.如权利要求8所述的设备,其特征在于,所述处理模块,还用于在所述查询模块的查询结果为否时,调用所述类型的中断所对应的中断处理程序对所述中断进行处理。
11.如权利要求8或10所述的设备,其特征在于,还包括:
计数模块,用于对所述统一中断入口在所述设置模块所设置的过滤周期内接收到的所述类型的中断进行计数,其中,当所述查询模块查询所述中断的接收时间处于所述中断的类型所对应的过滤周期内时,将在所述过滤周期内接收到的所述类型的中断的次数增加1,或当所述查询模块查询所述中断的接收时间没有处于所述中断的类型所对应的过滤周期内时,将在所述过滤周期内接收到的所述类型的中断的次数清零。
12.如权利要求8所述的设备,其特征在于,所述处理模块,还用于在所述判断模块判断在所述过滤周期内接收到的所述类型的中断的次数已经达到预设的过滤阈值时,结束对所述统一中断入口所接收到的中断的处理,放弃调用所述类型的中断所对应的中断处理程序。
13.如权利要求12所述的设备,其特征在于,
所述设置模块,还用于设置告警阈值和最长中断关闭时间;
所述处理模块,还用于当所述判断模块判断在所述过滤周期内接收到的所述类型的中断的次数已经达到预设的过滤阈值时,判断在所述过滤周期内接收到的所述类型的中断的次数是否达到预设的告警阈值,如果没有达到,结束对所述中断的处理,放弃调用所述类型的中断所对应的中断处理程序,如果达到,关闭所述类型的中断,记录所述中断的接收时间,并对所述类型的中断设置关闭标识和关闭时间。
14.如权利要求13所述的设备,其特征在于,
所述查询模块,还用于在查询所述统一中断入口接收到的中断的接收时间是否处于所述中断的类型所对应的过滤周期内之前,判断是否存在设置关闭标识的中断类型,如果存在,判断当前是否超过设置关闭标识的中断类型的关闭时间,如果已经超过,删除所述关闭标识,开启所述中断类型的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100833079A CN102135912A (zh) | 2011-04-02 | 2011-04-02 | 中断抖动的处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100833079A CN102135912A (zh) | 2011-04-02 | 2011-04-02 | 中断抖动的处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102135912A true CN102135912A (zh) | 2011-07-27 |
Family
ID=44295703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100833079A Pending CN102135912A (zh) | 2011-04-02 | 2011-04-02 | 中断抖动的处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102135912A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486100A (zh) * | 2014-11-28 | 2015-04-01 | 华为技术有限公司 | 故障处理装置及方法 |
CN105468497A (zh) * | 2015-12-15 | 2016-04-06 | 迈普通信技术股份有限公司 | 中断异常监控方法和装置 |
CN107544838A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN107608331A (zh) * | 2017-08-24 | 2018-01-19 | 北京龙鼎源科技股份有限公司 | 非随机中断的诊断方法和装置 |
CN108073108A (zh) * | 2016-11-14 | 2018-05-25 | Ls 产电株式会社 | 用于控制逆变器中的中断的方法 |
WO2018103185A1 (zh) * | 2016-12-05 | 2018-06-14 | 华为技术有限公司 | 故障处理的方法、计算机系统、基板管理控制器和系统 |
US10430260B2 (en) | 2016-12-05 | 2019-10-01 | Huawei Technologies Co., Ltd. | Troubleshooting method, computer system, baseboard management controller, and system |
CN112988228A (zh) * | 2019-12-18 | 2021-06-18 | 珠海全志科技股份有限公司 | 处理器中断的控制方法及架构 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61151745A (ja) * | 1984-12-26 | 1986-07-10 | Nec Corp | 割込処理方式 |
JPS62251837A (ja) * | 1986-04-23 | 1987-11-02 | Nec Corp | 割込制御方式 |
CN101086721A (zh) * | 2007-07-12 | 2007-12-12 | 华为技术有限公司 | 中断处理方法和装置 |
CN101276295A (zh) * | 2008-03-19 | 2008-10-01 | 北京星网锐捷网络技术有限公司 | 避免实时操作系统频繁中断占用过多cpu资源的方法 |
-
2011
- 2011-04-02 CN CN2011100833079A patent/CN102135912A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61151745A (ja) * | 1984-12-26 | 1986-07-10 | Nec Corp | 割込処理方式 |
JPS62251837A (ja) * | 1986-04-23 | 1987-11-02 | Nec Corp | 割込制御方式 |
CN101086721A (zh) * | 2007-07-12 | 2007-12-12 | 华为技术有限公司 | 中断处理方法和装置 |
CN101276295A (zh) * | 2008-03-19 | 2008-10-01 | 北京星网锐捷网络技术有限公司 | 避免实时操作系统频繁中断占用过多cpu资源的方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486100A (zh) * | 2014-11-28 | 2015-04-01 | 华为技术有限公司 | 故障处理装置及方法 |
WO2016082523A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 故障处理装置及方法 |
CN104486100B (zh) * | 2014-11-28 | 2018-07-13 | 华为技术有限公司 | 故障处理装置及方法 |
CN105468497A (zh) * | 2015-12-15 | 2016-04-06 | 迈普通信技术股份有限公司 | 中断异常监控方法和装置 |
CN107544838A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN107544838B (zh) * | 2016-06-24 | 2024-02-23 | 中兴通讯股份有限公司 | 一种中断处理方法及装置 |
CN108073108A (zh) * | 2016-11-14 | 2018-05-25 | Ls 产电株式会社 | 用于控制逆变器中的中断的方法 |
WO2018103185A1 (zh) * | 2016-12-05 | 2018-06-14 | 华为技术有限公司 | 故障处理的方法、计算机系统、基板管理控制器和系统 |
US10430260B2 (en) | 2016-12-05 | 2019-10-01 | Huawei Technologies Co., Ltd. | Troubleshooting method, computer system, baseboard management controller, and system |
CN107608331A (zh) * | 2017-08-24 | 2018-01-19 | 北京龙鼎源科技股份有限公司 | 非随机中断的诊断方法和装置 |
CN112988228A (zh) * | 2019-12-18 | 2021-06-18 | 珠海全志科技股份有限公司 | 处理器中断的控制方法及架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102135912A (zh) | 中断抖动的处理方法和设备 | |
KR100609170B1 (ko) | 네트워크 보안 시스템 및 그 동작 방법 | |
US9130983B2 (en) | Apparatus and method for detecting abnormality sign in control system | |
US20140143863A1 (en) | Enhanced network security | |
CN101013461A (zh) | 基于程序行为分析的计算机防护方法 | |
CN102915374A (zh) | 一种控制数据库资源访问的方法、装置及系统 | |
US20090013407A1 (en) | Intrusion detection system/intrusion prevention system with enhanced performance | |
CN101635652A (zh) | 多核系统的故障恢复方法和设备 | |
KR20150042874A (ko) | 소팅 | |
CN106603256B (zh) | 一种流量控制方法及装置 | |
CN113411208A (zh) | 用于分布式流量管理的系统、设备 | |
CN116032629A (zh) | 一种告警流量的分类治理方法、系统电子设备及存储介质 | |
CN101917309A (zh) | 软交换平台下公共服务号码的拒绝服务攻击检测方法 | |
CN101355567B (zh) | 一种对交换路由设备中央处理器进行安全保护的方法 | |
CN101471884A (zh) | 能够通过限制通信减轻拥塞的通信系统 | |
KR20140055897A (ko) | 사용자 단말기, 신뢰성 관리 서버, 부정 원격 조작 방지 방법, 및 부정 원격 조작 방지 프로그램이 기록된, 컴퓨터로 판독 가능한 기록매체 | |
Khan et al. | Queue-based analysis of DoS attacks | |
CN112579396A (zh) | 软件系统动态限流方法、装置及设备 | |
CN103023943A (zh) | 任务处理方法及其装置、终端设备 | |
CN115086081B (zh) | 一种蜜罐防逃逸方法及系统 | |
EP3831031A1 (en) | Listen mode for application operation whitelisting mechanisms | |
CN111897785A (zh) | 工单数量的控制方法、装置及设备 | |
CN115632884A (zh) | 基于事件分析的网络安全态势感知方法与系统 | |
CN113595986B (zh) | 一种基于智能合约防火墙框架的智能合约拦截方法及装置 | |
CN113676455B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110727 |