一种抑制告警风暴的方法及装置与流程

文档序号:14574536发布日期:2018-06-02 01:10阅读:185来源:国知局
一种抑制告警风暴的方法及装置与流程

本发明涉及通信领域中的告警处理技术,尤其涉及一种抑制告警风暴的方法及装置。



背景技术:

目前,对网络中发生告警风暴的处理,常见的技术有:告警丢弃,即:直接将处理不了的告警进行丢弃;告警压缩,即:判断相同告警,对重复发送的相同告警进行合并,压缩为一条告警;延迟发送,即:对网络闪断的情况,网络异常的告警状态很快会清除,可设置一定的延迟时间,避免在闪断的情况下发送告警;内容分析,即:对告警级别或其他关键字进行内容匹配,只处理优先级最高的告警,将级别较低的告警进行丢弃处理;以及其他减少告警数量的技术。

现有告警风暴的抑制技术主要着眼点在于告警本身的分析,并告警本身特征进行压缩的技术,但上述技术仍然可能导致在短时间、甚至较长时间内造成告警积压的情况,例如:对于告警压缩、内容分析技术,如果符合发送告警的条件,告警仍然会被发送;对于分析告警场景延迟发送的技术,由于该延迟时间是人为指定,并不能随网络的特征变化而变化,如果定得过大,则正常告警不能及时发送,如果定得过小,则不能起到预期的减少告警发送数量的目的。因此,亟待提出一种更有效的抑制告警风暴的方法。



技术实现要素:

有鉴于此,本发明实施例期望提供一种抑制告警风暴的方法及装置,可实现在及时发送告警信息的同时,达到抑制告警风暴的作用。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种抑制告警风暴的方法,所述方法包括:

判断当前预设周期内未发送的告警信息的数量;

确定所述告警信息的数量大于等于预设值时,则在下一个预设周期内扩大告警信息的发送窗口;

确定所述告警信息的数量大于零且小于所述预设值时,则在下一个预设周期内保持告警信息的发送窗口与当前预设周期内的告警信息的发送窗口大小相同;

确定所述告警信息的数量满足预设条件时,则在下一个预设周期内缩小告警信息的发送窗口。

一个实施例中,所述在下一个预设周期内扩大告警信息的发送窗口,包括:

获取当前预设周期内的单位时间内未发送的告警信息的数量c;

将获取的所述单位时间内未发送的告警信息的数量c与当前预设周期内所述发送窗口的大小S相加,得到所述下一个预设周期内告警信息的发送窗口的大小为S+c。

可选的,该方法还包括:

将所述下一个预设周期内告警信息的发送窗口的大小S+c与预设的发送窗口大小的最大阈值SS进行比较;

确定所述S+c≥SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为SS;

确定所述S+c<SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为S+c。

一个实施例中,所述下一个预设周期内缩小告警信息的发送窗口,包括:

获取当前预设周期内的单位时间内通过所述发送窗口已发送的告警信息的数量s;

确定所述单位时间内通过所述发送窗口已发送的告警信息的数量s小于当前预设周期内所述发送窗口的大小S,则将下一个预设周期内告警信息的发送窗口的大小设置为所述s。

可选的,该方法还包括:

将所述下一个预设周期内告警信息的发送窗口的大小s与预设的发送窗口大小的最小阈值ss进行比较;

确定所述s≥ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为s;

确定所述s<ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为ss。

本发明实施例还提供了一种抑制告警风暴的装置,所述装置包括:

判断模块,用于判断当前预设周期内未发送的告警信息的数量;

第一处理模块,用于确定所述告警信息的数量大于等于预设值时,则在下一个预设周期内扩大告警信息的发送窗口;

第二处理模块,用于确定所述告警信息的数量大于零且小于所述预设值时,则在下一个预设周期内保持告警信息的发送窗口与当前预设周期内的告警信息的发送窗口大小相同;

第三处理模块,用于确定所述告警信息的数量满足预设条件时,则在下一个预设周期内缩小告警信息的发送窗口。

一个实施例中,所述第一处理模块包括:

第一获取单元,用于获取当前预设周期内的单位时间内未发送的告警信息的数量c;

相加处理单元,用于将获取的所述单位时间内未发送的告警信息的数量c与当前预设周期内所述发送窗口的大小S相加,得到所述下一个预设周期内告警信息的发送窗口的大小为S+c。

可选的,所述第一处理模块还包括:

第一比较单元,用于将所述下一个预设周期内告警信息的发送窗口的大小S+c与预设的发送窗口大小的最大阈值SS进行比较;

第一结果处理单元,用于确定所述S+c≥SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为SS;确定所述S+c<SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为S+c。

一个实施例中,所述第三处理模块包括:

第二获取单元,用于获取当前预设周期内的单位时间内通过所述发送窗口已发送的告警信息的数量s;

确定单元,用于确定所述单位时间内通过所述发送窗口已发送的告警信息的数量s小于当前预设周期内所述发送窗口的大小S,则将下一个预设周期内告警信息的发送窗口的大小设置为所述s。

可选的,所述第三处理模块还包括:

第二比较单元,用于将所述下一个预设周期内告警信息的发送窗口的大小s与预设的发送窗口大小的最小阈值ss进行比较;

第二结果处理单元,用于确定所述s≥ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为s;确定所述s<ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为ss。

本发明实施例中,判断当前预设周期内未发送的告警信息的数量;确定所述告警信息的数量大于等于预设值时,则在下一个预设周期内扩大告警信息的发送窗口;确定所述告警信息的数量大于零且小于所述预设值时,则在下一个预设周期内保持告警信息的发送窗口与当前预设周期内的告警信息的发送窗口大小相同;确定所述告警信息的数量满足预设条件时,则在下一个预设周期内缩小告警信息的发送窗口。可见,本发明实施例中,告警信息的发送窗口可跟随网络变化导致的告警信息数量的变化而自动调整大小,在及时发送告警信息的同时,可达到减少告警信息发送数量,抑制告警风暴的作用。

附图说明

图1为本发明实施例所述抑制告警风暴的方法实现流程图;

图2为本发明实施例所述抑制告警风暴的装置结构示意图;

图3为本发明实施例所述第一处理模块的结构示意图一;

图4为本发明实施例所述第一处理模块的结构示意图二;

图5为本发明实施例所述第三处理模块的结构示意图一;

图6为本发明实施例所述第三处理模块的结构示意图二;

图7为本发明应用场景实施例中告警系统的结构示意图;

图8为本发明应用场景实施例中告警发送窗口区调整示意图;

图9为本发明应用场景实施例中告警发送窗口区调整方法流程示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

图1为本发明实施例所述抑制告警风暴的方法实现流程图,如图1所示,该方法包括:

步骤101:判断当前预设周期内未发送的告警信息的数量;

步骤102:确定所述告警信息的数量大于等于预设值时,则在下一个预设周期内扩大告警信息的发送窗口;

步骤103:确定所述告警信息的数量大于零且小于所述预设值时,则在下一个预设周期内保持告警信息的发送窗口与当前预设周期内的告警信息的发送窗口大小相同;

步骤104:确定所述告警信息的数量满足预设条件时,则在下一个预设周期内缩小告警信息的发送窗口。

这里,需要说明的是所述步骤102至步骤104的执行顺序不分先后。其中,所述发送窗口的大小可通过字节数表征,也可通过告警信息的发送速率表征,例如:每秒发送的告警信息的条数,本文以发送速率表征。所述预设周期可根据系统处理能力以及网络状态等条件进行设置。

本发明实施例中,告警信息的发送窗口可跟随网络变化导致的告警信息数量的变化而自动调整大小,在及时发送告警信息的同时,可达到减少告警信息发送数量,抑制告警风暴的作用。

可选的,所述确定所述告警信息的数量满足预设条件,可为:确定所述告警信息的数量为零。当然,除了告警信息的数量为零的预设条件外,还可依据实际网络状况进行其他设置。例如,预设条件可以是设定一个大于零的预设值,当警告信息的数量少于或等于该预设值时满足预设条件。

一个实施例中,所述在下一个预设周期内扩大告警信息的发送窗口,包括:

获取当前预设周期内的单位时间内未发送的告警信息的数量c;

将获取的所述单位时间内未发送的告警信息的数量c与当前预设周期内所述发送窗口的大小S相加,得到所述下一个预设周期内告警信息的发送窗口的大小为S+c。

这里,所述c可为一秒内未发送的告警信息的数量,即为:当前预设周期内未发送的告警信息的数量(总量)/预设周期。

可选的,该方法还包括:

将所述下一个预设周期内告警信息的发送窗口的大小S+c与预设的发送窗口大小的最大阈值SS进行比较;

确定所述S+c≥SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为SS;

确定所述S+c<SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为S+c。

可以预见,当扩大告警信息的发送窗口后,告警信息的积压得到缓解。同时考虑到系统可接受有一定告警信息的缓存(未发送的告警信息),只有当缓存的告警信息超过预设值时,才扩大发送窗口,以避免网络闪断带来的频繁更新发送窗口的情况。

一个实施例中,所述下一个预设周期内缩小告警信息的发送窗口,包括:

获取当前预设周期内的单位时间内通过所述发送窗口已发送的告警信息的数量s;

确定所述单位时间内通过所述发送窗口已发送的告警信息的数量s小于当前预设周期内所述发送窗口的大小S,则将下一个预设周期内告警信息的发送窗口的大小设置为所述s。

可选的,该方法还包括:

将所述下一个预设周期内告警信息的发送窗口的大小s与预设的发送窗口大小的最小阈值ss进行比较;

确定所述s≥ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为s;

确定所述s<ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为ss。

这里,为了避免告警信息的发送窗口过小,根据经验取系统可处理的发送窗口的最小阈值ss。可以预见,当缩小了发送窗口,更符合告警风暴已过去之后的网络状态。

本领域技术人员可知,传统的TCP拥塞控制需要通信双方进行协商以调整滑动窗口大小,发送方根据接收方的反馈消息判断网络是否产生拥塞,从而调整下一个发送窗口的大小。而从本发明实施例的上述描述可见,本申请中告警信息的发送窗口调整过程中,不需依据对端的反馈消息,仅依据未发送的告警信息的数量即可实现对发送窗口的调整,因此TCP滑动窗口机制不适用于本文。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上文所述各个步骤的程序代码。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供了一种抑制告警风暴的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。如图2所示,该装置包括:

判断模块201,用于判断当前预设周期内未发送的告警信息的数量;

第一处理模块202,用于确定所述告警信息的数量大于等于预设值时,则在下一个预设周期内扩大告警信息的发送窗口;

第二处理模块203,用于确定所述告警信息的数量大于零且小于所述预设值时,则在下一个预设周期内保持告警信息的发送窗口与当前预设周期内的告警信息的发送窗口大小相同;

第三处理模块204,用于确定所述告警信息的数量满足预设条件时,则在下一个预设周期内缩小告警信息的发送窗口。

这里,所述发送窗口的大小可通过字节数表征,也可通过告警信息的发送速率表征,例如:每秒发送的告警信息的条数,本文以发送速率表征。所述预设周期可根据系统处理能力以及网络状态等条件进行设置。

本发明实施例中,告警信息的发送窗口可跟随网络变化导致的告警信息数量的变化而自动调整大小,在及时发送告警信息的同时,可达到减少告警信息发送数量,抑制告警风暴的作用。

可选的,所述确定所述告警信息的数量满足预设条件,可为:确定所述告警信息的数量为零。当然,除了告警信息的数量为零的预设条件外,还可依据实际网络状况进行其他设置。例如,预设条件可以是设定一个大于零的预设值,当警告信息的数量少于或等于该预设值时满足预设条件。

一个实施例中,如图3所示,所述第一处理模块202包括:

第一获取单元2021,用于获取当前预设周期内的单位时间内未发送的告警信息的数量c;

相加处理单元2022,用于将获取的所述单位时间内未发送的告警信息的数量c与当前预设周期内所述发送窗口的大小S相加,得到所述下一个预设周期内告警信息的发送窗口的大小为S+c。

这里,所述c可为一秒内未发送的告警信息的数量,即为:当前预设周期内未发送的告警信息的数量(总量)/预设周期。

可选的,如图4所示,所述第一处理模块202还包括:

第一比较单元2023,用于将所述下一个预设周期内告警信息的发送窗口的大小S+c与预设的发送窗口大小的最大阈值SS进行比较;

第一结果处理单元2024,用于确定所述S+c≥SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为SS;确定所述S+c<SS时,则取所述下一个预设周期内告警信息的发送窗口的大小为S+c。

可以预见,当扩大告警信息的发送窗口后,告警信息的积压得到缓解。同时考虑到系统可接受有一定告警信息的缓存(未发送的告警信息),只有当缓存的告警信息超过预设值时,才扩大发送窗口,以避免网络闪断带来的频繁更新发送窗口的情况。

一个实施例中,如图5所示,所述第三处理模块204包括:

第二获取单元2041,用于获取当前预设周期内的单位时间内通过所述发送窗口已发送的告警信息的数量s;

确定单元2042,用于确定所述单位时间内通过所述发送窗口已发送的告警信息的数量s小于当前预设周期内所述发送窗口的大小S,则将下一个预设周期内告警信息的发送窗口的大小设置为所述s。

可选的,如图6所示,所述第三处理模块204还包括:

第二比较单元2043,用于将所述下一个预设周期内告警信息的发送窗口的大小s与预设的发送窗口大小的最小阈值ss进行比较;

第二结果处理单元2044,用于确定所述s≥ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为s;确定所述s<ss时,则取所述下一个预设周期内告警信息的发送窗口的大小为ss。

这里,为了避免告警信息的发送窗口过小,根据经验取系统可处理的发送窗口的最小阈值ss。可以预见,当缩小了发送窗口,更符合告警风暴已过去之后的网络状态。

在实际应用时,上述装置中的模块可均位于同一处理器中;或者,上述模块分别位于多个处理器中。

下面结合具体应用场景实施例对本发明进行描述。

在告警系统中设置如下两个模块,如图7所示:

告警发送窗口区:用于对进入该告警发送窗口区的告警信息进行发送,可通过自适应网络状态的方法,自动调整告警发送窗口区的大小,具体调整方法见后续描述;

告警缓存区:主要用于缓存未能进入告警发送窗口区发送的告警信息,可利用现有技术对缓存告警进行压缩等处理,此处不再详细描述。

当发生告警时,如果告警发送窗口区仍有空闲,则直接发送告警信息;

如果告警发送窗口区已无空闲,则对已产生的告警信息进行压缩处理,并进入所述告警缓存区;

当告警缓存区存有告警,则监视告警发送窗口区,有空闲则发送告警信息,无空闲,则在告警缓存区排队;

告警发送窗口区在刷新周期(即上文所述的预设周期)到达时自适应调整告警发送窗口区的大小,详见后续描述。

该告警系统主要功能有两个:一是告警发送窗口区的自适应调整功能,用于告警流量整形以达到告警风暴抑制的作用;二是告警缓存区告警压缩技术,可利用现有技术实现。

下面对告警发送窗口区的自适应调整方法进行描述:

如图8所示,告警发送窗口区刷新周期(预设周期)设为T,初始时间为t1;告警发送窗口区大小为Sn,告警缓存区大小为Cn。

告警发送窗口区的初始设置可根据经验设置系统可承受的大小,例如:5条/秒,下面参照附图9分三种情况进行描述:

第一种情况:扩大告警发送窗口区;

如果在该周期内,发生了告警风暴,则告警缓存区必然积压告警信息,告警缓存区过大。当发送窗口区刷新周期结束时,统计在该周期内告警缓存区积压告警信息的情况(C1),取告警信息平均积压条数c条/秒,c=每秒C1的取值做平均,即:C1/T,当c≥缓存区上限阈值CC,则扩大告警发送窗口区,令S2=S1+c。同时,为了避免告警发送数量过大,超过系统承受能力,可设置窗口区最大上限SS,当S2>SS时,取S2=SS。可以预见,当扩大告警信息的发送窗口后,告警信息的积压得到缓解。同时考虑到系统可接受有一定告警信息的缓存(未发送的告警信息),只有当缓存的告警信息超过预设值时,才扩大发送窗口,以避免网络闪断带来的频繁更新发送窗口的情况。

第二种情况:缩小告警发送窗口区。

如果在该周期内,告警风暴结束,则告警发送窗口区过大,缓存区无告警信息。当发送窗口区刷新周期结束时,检测告警缓存区,如果告警缓存区内告警条数为0,统计告警发送窗口区的情况(S2),取平均发送条数s条/秒,当s<S2,取S3=s。同时,为了避免告警发送窗口区过小,根据经验取系统可处理的发送告警下限阈值ss,当S3<ss时,取S3=ss。可以预见,当缩小了告警发送窗口区,更符合告警风暴已过去之后的网络状态。

第三种情况:告警发送窗口区不变。

如果在该周期内,缓存区有积压c>0,但积压未超阈值c<CC,则告警发送窗口区不需要调整。

经过几个周期的训练,告警发送窗口区大小可与网络状态匹配,并能够根据网络状态的变化实时调整。为了兼顾系统处理能力及实时性,可根据实际情况设置调整刷新周期T。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1