CN115484179A - 一种设备告警数据防抖方法 - Google Patents
一种设备告警数据防抖方法 Download PDFInfo
- Publication number
- CN115484179A CN115484179A CN202211126914.3A CN202211126914A CN115484179A CN 115484179 A CN115484179 A CN 115484179A CN 202211126914 A CN202211126914 A CN 202211126914A CN 115484179 A CN115484179 A CN 115484179A
- Authority
- CN
- China
- Prior art keywords
- time
- timertask
- alarm
- wheel
- interval
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000011084 recovery Methods 0.000 claims abstract description 42
- 238000001914 filtration Methods 0.000 claims abstract description 18
- 230000001960 triggered effect Effects 0.000 claims description 9
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 claims 1
- 238000006731 degradation reaction Methods 0.000 claims 1
- 230000000593 degrading effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 7
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Measurement Of Predetermined Time Intervals (AREA)
- Electric Clocks (AREA)
Abstract
本发明公开了一种设备告警数据防抖方法,属于数据处理技术领域,包括对状态量相关波动数据的过滤、对采集数据值相关波动数据的过滤,其特征在于:步骤1:通过设置时间间隔过滤状态量相关波动数据;步骤2:通过设置告警值、恢复值过滤采集数据值相关波动数据;本发明有效地减少了因数据波动产生的大量无效告警,显著的提升了对设备监测的效果及数据处理的效率。
Description
技术领域
本发明涉及数据处理技术领域,具体是一种设备告警数据防抖方法。
背景技术
物联网快速发展的时代涉及大量对数据的处理工作,这其中就包括对设备进行监测并获取数据,以及对数据分析后的告警,目前,这种告警包括两种:(1)状态量告警,即监测到单一状态变更时发送告警信息;(2)采集数据值告警,即采集的数据达到某阈值时发送告警信息;但上述两种告警方式都存在一个问题,即,当数据出现极端波动时,会产生很多无效的告警,比如,被监测设备采用的4G流量卡,在网络较差的环境下会出现频繁的状态变更,在离线状态和在线状态之间频繁变化,被监测设备的电表监测电压的阈值是242V,负载小的时候电压可能会在242V上下波动,设备监测的数据一般在15分钟上报一次,网络信号的波动也不会影响数据上报,如此就会频繁出现状态量告警和电压越上限告警,当监测到的状态和数据在短时间内恢复时,大量频繁的告警就形成无效告警,而无效告警对数据的处理并无益处,甚至会占用过多的空间,增加无谓的工作,基于这种情况,如何才能对数据波动产生的无效告警进行有效过滤,越来越成为相关技术人员急需解决的问题。
发明内容
为了解决上述技术问题,本发明提供一种设备告警数据防抖方法。
一种设备告警数据防抖方法,包括对状态量相关波动数据的过滤、对采集数据值相关波动数据的过滤,其特征在于:
步骤1:通过设置时间间隔过滤状态量相关波动数据;
步骤2:通过设置告警值、恢复值过滤采集数据值相关波动数据;
关于步骤1,针对状态量告警,设置一个时间间隔,在该时间间隔内状态恢复,则将该状态变更视为数据波动,不触发状态量告警,在该时间间隔内状态未恢复,则触发状态量告警;
关于步骤2,针对采集数据值告警,设置告警阈值和告警恢复阈值,其中,告警阈值包括上限告警阈值、下限告警阈值,告警恢复阈值包括上限恢复阈值、下限恢复阈值,上限告警阈值大于上限恢复阈值,下限告警阈值小于下限恢复阈值;
所采集数据值第一次达到上限告警阈值时,则触发越上限告警,所采集数据值在上限告警阈值附近波动并且不达到上限恢复阈值时,不触发任何告警,所采集数据值第一次达到上限恢复阈值时,触发上限恢复告警;
所采集数据值第一次达到下限告警阈值时,则触发越下限告警,所采集数据值在下限告警阈值附近波动并且不达到下限恢复阈值时,不触发任何告警,所采集数据值第一次达到下限恢复阈值时,触发下限恢复告警。
进一步的,一种设备告警数据防抖方法,包括缓存,所述缓存包括不指定过期时间的缓存、指定过期时间的缓存,此时需要引入相关概念:
定义一:不指定过期时间的缓存,将所有需要缓存的信息保存在一个对象中,格式为{“唯一key”:{“缓存内容”}},通过“唯一key”查询、保存和删除对应的缓存信息;
定义二:指定过期时间的缓存,使用时间轮(TimingWheel)模式,将缓存任务存储在环形队列,底层采用数组实现,数组中的每个元素存放一个定时任务列表(TimerTaskList),TimerTaskList是一个环形的双向链表,链表中的每一项都表示定时任务项(TimerTaskEntry),其中封装真正的定时任务(TimerTask);
时间轮包括时间格、表盘指针(currentTime),每个时间格代表当前时间轮的基本时间跨度(tickMs),时间轮的时间格的个数(wheelSize)固定,那么整个时间轮的总体时间跨度(interval)即为tickMs×wheelSize,currentTime是tickMs的整数倍,用于表示时间轮当前所处的时间,currentTime将整个时间轮划分为到期部分和未到期部分,currentTime当前指向的时间格属于到期部分,表示刚好到期,需要处理此时间格所对应的TimerTaskList的所有任务;
定义三:时间轮的运行方法如下
(1)假设时间轮的tickMs=1ms,wheelSize=20,那么interval=tickMs×wheelSize=20ms,初始状态下,currentTime指向时间格0;
假设此时一个定时为2ms的TimerTask插入进来,则存放到时间格为2的TimerTaskList中;
随着时间推移,currentTime不断向前推进,2ms后,即到达时间格2;
此时即需对时间格2所对应的TimeTaskList中的TimerTask做相应的到期操作;
此时若有另一个定时为8ms的TimerTask插入进来,则存放到时间格为10的TimerTaskList中,currentTime再过8ms后即指向时间格10,此时即需对时间格10所对应的TimeTaskList中的TimerTask做相应的到期操作;
如果在定时为8ms的TimerTask插入的同时,有一个定时为19ms的TimerTask插入进来,新插入的TimerTask所在的TimerTaskEntry即复用与定时为8ms的TimerTask相同的TimerTaskList,故其插入位置为原本已经到期的时间格1中;
整个时间轮的总体跨度不变,随着currentTime的不断推进,当前时间轮所能处理的时间段也在不断后移,总体时间范围在currentTime和currentTime+interval之间;
(2)为满足时间跨度更大的TimerTask,时间轮可设置多层,设置方法如下:
第一层时间轮的tickMs=1ms,wheelSize=20,interval=20ms,每一层时间轮的wheelSize均固定为20,第二层时间轮的tickMs为第一层时间轮的interval,即为20ms,如此第二层时间轮的interval为400ms,以此类推,第三层时间轮的tickMs为第二层时间轮的interval,即为400ms,第三层时间轮的interval为8000ms;
假设此时一个定时为350ms的TimerTask插入进来,显然第一层时间轮不能满足条件,故升级至第二层时间轮,最终被插入到第二层时间轮中时间格17所对应的TimerTaskList中;
如果此时另有一个定时为450ms的TimerTask插入进来,那么显然第二层时间轮也无法满足条件,故升级至第三层时间轮,最终被插入到第三层时间轮中时间格1所对应的TimerTaskList中,需要说明的是,到期时间在[400ms,800ms)区间的任务(比如定时为446ms、455ms以及473ms的TimerTask)均被放入第三层时间轮的时间格1对应的TimerTaskList中,时间格1对应的TimerTaskList的超时时间为400ms;
随着时间流逝,当次TimerTaskList到期之时,原本定时为450ms的TimerTask还剩50ms的时间,还不能执行该TimerTask的到期操作,此时即涉及到时间轮降级的操作,剩余时间为50ms的TimerTask需重新提交到相应层级的时间轮,此时第一层时间轮的interval不够,而第二层时间轮的interval足够,所以该剩余时间为50ms的TimerTask被放到第二层时间轮到期时间为[40ms,60ms)的时间格中,再经历40ms后,该TimerTask最终剩余10ms,仍然不能立即执行到期操作,故再一次进行时间轮的降级,该TimerTask被添加到第一层时间轮到期时间为[10ms,11ms)的时间格中,之后再经历10ms后,该TimerTask真正到期,最终执行相应的到期操作;
定理:执行特定的TimerTask时,通过“唯一key”在不指定过期时间的缓存中获取对应的缓存信息,如果缓存信息为空,则视为该信息已被删除,不执行内容直接跳过,否则根据缓存信息执行对应操作。
本发明的一种设备告警数据防抖方法的有益效果为:
通过设置时间间隔有效地实现了对状态量相关波动数据的过滤,通过设置告警值、恢复值有效地实现了对采集数据值相关波动数据的过滤,如此有效地减少了因数据波动产生的大量无效告警,显著的提升了对设备监测的效果及数据处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,但并不是对本发明保护范围的限制。
图1为本发明的单个时间轮示意图;
图2为本发明的多个时间轮示意图;
图3为本发明的状态变更流程图;
图4为本发明的设备告警流程图;
具体实施方式
为使说明更加清楚,结合说明书附图图1至图4,对本发明的一种设备告警数据防抖方法作进一步描述。
一种设备告警数据防抖方法,包括对状态量相关波动数据的过滤、对采集数据值相关波动数据的过滤,其特征在于:
步骤1:通过设置时间间隔过滤状态量相关波动数据;
步骤2:通过设置告警值、恢复值过滤采集数据值相关波动数据;
关于步骤1,针对状态量告警,设置一个时间间隔,在该时间间隔内状态恢复,则将该状态变更视为数据波动,不触发状态量告警,在该时间间隔内状态未恢复,则触发状态量告警;
关于步骤2,针对采集数据值告警,设置告警阈值和告警恢复阈值,其中,告警阈值包括上限告警阈值、下限告警阈值,告警恢复阈值包括上限恢复阈值、下限恢复阈值,上限告警阈值大于上限恢复阈值,下限告警阈值小于下限恢复阈值;
所采集数据值第一次达到上限告警阈值时,则触发越上限告警,所采集数据值在上限告警阈值附近波动并且不达到上限恢复阈值时,不触发任何告警,所采集数据值第一次达到上限恢复阈值时,触发上限恢复告警;
所采集数据值第一次达到下限告警阈值时,则触发越下限告警,所采集数据值在下限告警阈值附近波动并且不达到下限恢复阈值时,不触发任何告警,所采集数据值第一次达到下限恢复阈值时,触发下限恢复告警。
进一步的,一种设备告警数据防抖方法,包括缓存,所述缓存包括不指定过期时间的缓存、指定过期时间的缓存,此时需要引入相关概念:
定义一:不指定过期时间的缓存,将所有需要缓存的信息保存在一个对象中,格式为{“唯一key”:{“缓存内容”}},通过“唯一key”查询、保存和删除对应的缓存信息;
定义二:指定过期时间的缓存,使用时间轮(TimingWheel)模式,将缓存任务存储在环形队列,底层采用数组实现,数组中的每个元素存放一个定时任务列表(TimerTaskList),TimerTaskList是一个环形的双向链表,链表中的每一项都表示定时任务项(TimerTaskEntry),其中封装真正的定时任务(TimerTask);
时间轮包括时间格、表盘指针(currentTime),每个时间格代表当前时间轮的基本时间跨度(tickMs),时间轮的时间格的个数(wheelSize)固定,那么整个时间轮的总体时间跨度(interval)即为tickMs×wheelSize,currentTime是tickMs的整数倍,用于表示时间轮当前所处的时间,currentTime将整个时间轮划分为到期部分和未到期部分,currentTime当前指向的时间格属于到期部分,表示刚好到期,需要处理此时间格所对应的TimerTaskList的所有任务;
定义三:时间轮的运行方法如下
(1)假设时间轮的tickMs=1ms,wheelSize=20,那么interval=tickMs×wheelSize=20ms,初始状态下,currentTime指向时间格0;
假设此时一个定时为2ms的TimerTask插入进来,则存放到时间格为2的TimerTaskList中;
随着时间推移,currentTime不断向前推进,2ms后,即到达时间格2;
此时即需对时间格2所对应的TimeTaskList中的TimerTask做相应的到期操作;
此时若有另一个定时为8ms的TimerTask插入进来,则存放到时间格为10的TimerTaskList中,currentTime再过8ms后即指向时间格10,此时即需对时间格10所对应的TimeTaskList中的TimerTask做相应的到期操作;
如果在定时为8ms的TimerTask插入的同时,有一个定时为19ms的TimerTask插入进来,新插入的TimerTask所在的TimerTaskEntry即复用与定时为8ms的TimerTask相同的TimerTaskList,故其插入位置为原本已经到期的时间格1中;
整个时间轮的总体跨度不变,随着currentTime的不断推进,当前时间轮所能处理的时间段也在不断后移,总体时间范围在currentTime和currentTime+interval之间;
(2)为满足时间跨度更大的TimerTask,时间轮可设置多层,设置方法如下:
第一层时间轮的tickMs=1ms,wheelSize=20,interval=20ms,每一层时间轮的wheelSize均固定为20,第二层时间轮的tickMs为第一层时间轮的interval,即为20ms,如此第二层时间轮的interval为400ms,以此类推,第三层时间轮的tickMs为第二层时间轮的interval,即为400ms,第三层时间轮的interval为8000ms;
假设此时一个定时为350ms的TimerTask插入进来,显然第一层时间轮不能满足条件,故升级至第二层时间轮,最终被插入到第二层时间轮中时间格17所对应的TimerTaskList中;
如果此时另有一个定时为450ms的TimerTask插入进来,那么显然第二层时间轮也无法满足条件,故升级至第三层时间轮,最终被插入到第三层时间轮中时间格1所对应的TimerTaskList中,需要说明的是,到期时间在[400ms,800ms)区间的任务(比如定时为446ms、455ms以及473ms的TimerTask)均被放入第三层时间轮的时间格1对应的TimerTaskList中,时间格1对应的TimerTaskList的超时时间为400ms;
随着时间流逝,当次TimerTaskList到期之时,原本定时为450ms的TimerTask还剩50ms的时间,还不能执行该TimerTask的到期操作,此时即涉及到时间轮降级的操作,剩余时间为50ms的TimerTask需重新提交到相应层级的时间轮,此时第一层时间轮的interval不够,而第二层时间轮的interval足够,所以该剩余时间为50ms的TimerTask被放到第二层时间轮到期时间为[40ms,60ms)的时间格中,再经历40ms后,该TimerTask最终剩余10ms,仍然不能立即执行到期操作,故再一次进行时间轮的降级,该TimerTask被添加到第一层时间轮到期时间为[10ms,11ms)的时间格中,之后再经历10ms后,该TimerTask真正到期,最终执行相应的到期操作;
定理:执行特定的TimerTask时,通过“唯一key”在不指定过期时间的缓存中获取对应的缓存信息,如果缓存信息为空,则视为该信息已被删除,不执行内容直接跳过,否则根据缓存信息执行对应操作。
本发明的一种设备告警数据防抖方法的工作原理为:
(1)监测设备状态变更
当系统监测到设备状态发生变更后,如果设备是离线,则将该设备和当前时间缓存,如:A设备编号为T123,在2022-06-30 08:57:33时间离线,如果需要缓存10s,即时间间隔为10s,则时间为:1656550653000+10*1000=1656550663000,缓存信息为{“expireMs”:1656550663000,”deviceOffLine-T123”:{“id”:”T123”,”event”:”deviceOffLine”,”time”:”2022-06-30 08:57:33”}},该信息缓存时分为定时和缓存两部分,定时部分为{“expireMs”:1656550663000,”key”:”deviceOffLine-T123”},缓存部分为{”deviceOffLine-T123”:{“id”:”T123”,”event”:”deviceOffLine”,”time”:”2022-06-3008:57:33”}},时间大于等于1656550663000之后通过deviceOffLine-T123获取缓存信息,正产返回{“id”:”T123”,”event”:”deviceOffLine”,”time”:”2022-06-30 08:57:33”},通过事件(event)知道该信息需要做离线告警,通过id知道设备,通过time知道时间,此时就可以知道设备T123在2022-06-30 08:57:33离线,如果返回数据为空则视为该数据已经被清除且不做任何处理,如果设备状态是上线,则通过使用deviceOffLine-加上设备编号形成唯一key从缓存获取设备信息和离线时间,如果获取不到则直接跳过,否则将当前时间和缓存中的时间(time)对比,如果当前时间减去离线时间大于时间间隔(10s),说明已经产生离线告警,需要推送离线告警恢复,然后删除缓存信息,如果时间间隔小于时间间隔(10s),则直接删除缓存信息;
(2)处理设备采集数据值告警
以设备电压的采集数据值为例说明该流程,系统采集到设备(编号:T123)电压数据后,如果电压大于242V,从缓存中查找该设备是否有告警信息,缓存告警信息电压越上限缓存为:{“deviceUUp-T123”:{“event”:”deviceUUP”,“time”:”2022-06-30 10:54:30”}},电压越下限缓存为:{“deviceUDown-T123”:{“event”:”deviceUDown”,“time”:”2022-06-30 10:54:30”}},如果有告警信息则判断当前上报的电压值是否满足告警恢复值,通过设备编号查看是否有电压越上限key为deviceUUp-T123,如果有则判断当前电压是否小于240V,如果小于则推送告警恢复且通过key删除缓存电压越上限信息,电压越下限也是同理,通过电压越下限key:deviceUDown-T123查看是否有电压越下限,如果没有则跳过,如果有则判断当前电压是否大于199V,如果大于则推送电压告警恢复且通过key删除缓存电压越下限信息。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (2)
1.一种设备告警数据防抖方法,包括对状态量相关波动数据的过滤、对采集数据值相关波动数据的过滤,其特征在于:
步骤1:通过设置时间间隔过滤状态量相关波动数据;
步骤2:通过设置告警值、恢复值过滤采集数据值相关波动数据;
关于步骤1,针对状态量告警,设置一个时间间隔,在该时间间隔内状态恢复,则将该状态变更视为数据波动,不触发状态量告警,在该时间间隔内状态未恢复,则触发状态量告警;
关于步骤2,针对采集数据值告警,设置告警阈值和告警恢复阈值,其中,告警阈值包括上限告警阈值、下限告警阈值,告警恢复阈值包括上限恢复阈值、下限恢复阈值,上限告警阈值大于上限恢复阈值,下限告警阈值小于下限恢复阈值;
所采集数据值第一次达到上限告警阈值时,则触发越上限告警,所采集数据值在上限告警阈值附近波动并且不达到上限恢复阈值时,不触发任何告警,所采集数据值第一次达到上限恢复阈值时,触发上限恢复告警;
所采集数据值第一次达到下限告警阈值时,则触发越下限告警,所采集数据值在下限告警阈值附近波动并且不达到下限恢复阈值时,不触发任何告警,所采集数据值第一次达到下限恢复阈值时,触发下限恢复告警。
2.根据权利要求1所述的一种设备告警数据防抖方法,其特征在于,包括缓存,所述缓存包括不指定过期时间的缓存、指定过期时间的缓存,此时需要引入相关概念:
定义一:不指定过期时间的缓存,将所有需要缓存的信息保存在一个对象中,格式为{“唯一key”:{“缓存内容”}},通过“唯一key”查询、保存和删除对应的缓存信息;
定义二:指定过期时间的缓存,使用时间轮(TimingWheel)模式,将缓存任务存储在环形队列,底层采用数组实现,数组中的每个元素存放一个定时任务列表(TimerTaskList),TimerTaskList是一个环形的双向链表,链表中的每一项都表示定时任务项(TimerTaskEntry),其中封装真正的定时任务(TimerTask);
时间轮包括时间格、表盘指针(currentTime),每个时间格代表当前时间轮的基本时间跨度(tickMs),时间轮的时间格的个数(wheelSize)固定,那么整个时间轮的总体时间跨度(interval)即为tickMs×wheelSize,currentTime是tickMs的整数倍,用于表示时间轮当前所处的时间,currentTime将整个时间轮划分为到期部分和未到期部分,currentTime当前指向的时间格属于到期部分,表示刚好到期,需要处理此时间格所对应的TimerTaskList的所有任务;
定义三:时间轮的运行方法如下
(1)假设时间轮的tickMs=1ms,wheelSize=20,那么interval=tickMs×wheelSize=20ms,初始状态下,currentTime指向时间格0;
假设此时一个定时为2ms的TimerTask插入进来,则存放到时间格为2的TimerTaskList中;
随着时间推移,currentTime不断向前推进,2ms后,即到达时间格2;
此时即需对时间格2所对应的TimeTaskList中的TimerTask做相应的到期操作;
此时若有另一个定时为8ms的TimerTask插入进来,则存放到时间格为10的TimerTaskList中,currentTime再过8ms后即指向时间格10,此时即需对时间格10所对应的TimeTaskList中的TimerTask做相应的到期操作;
如果在定时为8ms的TimerTask插入的同时,有一个定时为19ms的TimerTask插入进来,新插入的TimerTask所在的TimerTaskEntry即复用与定时为8ms的TimerTask相同的TimerTaskList,故其插入位置为原本已经到期的时间格1中;
整个时间轮的总体跨度不变,随着currentTime的不断推进,当前时间轮所能处理的时间段也在不断后移,总体时间范围在currentTime和currentTime+interval之间;
(2)为满足时间跨度更大的TimerTask,时间轮可设置多层,设置方法如下:
第一层时间轮的tickMs=1ms,wheelSize=20,interval=20ms,每一层时间轮的wheelSize均固定为20,第二层时间轮的tickMs为第一层时间轮的interval,即为20ms,如此第二层时间轮的interval为400ms,以此类推,第三层时间轮的tickMs为第二层时间轮的interval,即为400ms,第三层时间轮的interval为8000ms;
假设此时一个定时为350ms的TimerTask插入进来,显然第一层时间轮不能满足条件,故升级至第二层时间轮,最终被插入到第二层时间轮中时间格17所对应的TimerTaskList中;
如果此时另有一个定时为450ms的TimerTask插入进来,那么显然第二层时间轮也无法满足条件,故升级至第三层时间轮,最终被插入到第三层时间轮中时间格1所对应的TimerTaskList中,需要说明的是,到期时间在[400ms,800ms)区间的任务(比如定时为446ms、455ms以及473ms的TimerTask)均被放入第三层时间轮的时间格1对应的TimerTaskList中,时间格1对应的TimerTaskList的超时时间为400ms;
随着时间流逝,当次TimerTaskList到期之时,原本定时为450ms的TimerTask还剩50ms的时间,还不能执行该TimerTask的到期操作,此时即涉及到时间轮降级的操作,剩余时间为50ms的TimerTask需重新提交到相应层级的时间轮,此时第一层时间轮的interval不够,而第二层时间轮的interval足够,所以该剩余时间为50ms的TimerTask被放到第二层时间轮到期时间为[40ms,60ms)的时间格中,再经历40ms后,该TimerTask最终剩余10ms,仍然不能立即执行到期操作,故再一次进行时间轮的降级,该TimerTask被添加到第一层时间轮到期时间为[10ms,11ms)的时间格中,之后再经历10ms后,该TimerTask真正到期,最终执行相应的到期操作;
定理:执行特定的TimerTask时,通过“唯一key”在不指定过期时间的缓存中获取对应的缓存信息,如果缓存信息为空,则视为该信息已被删除,不执行内容直接跳过,否则根据缓存信息执行对应操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211126914.3A CN115484179B (zh) | 2022-09-16 | 2022-09-16 | 一种设备告警数据防抖方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211126914.3A CN115484179B (zh) | 2022-09-16 | 2022-09-16 | 一种设备告警数据防抖方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115484179A true CN115484179A (zh) | 2022-12-16 |
CN115484179B CN115484179B (zh) | 2024-04-16 |
Family
ID=84424299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211126914.3A Active CN115484179B (zh) | 2022-09-16 | 2022-09-16 | 一种设备告警数据防抖方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115484179B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302455A (zh) * | 2023-05-23 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | 定时任务的处理方法及装置、存储介质、计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115826A (en) * | 1997-09-16 | 2000-09-05 | Tandem Computers, Inc. | Interval-timing facility using overbuilt hierarchical timing wheels |
CN101014179A (zh) * | 2007-02-14 | 2007-08-08 | 中兴通讯股份有限公司 | 一种通信系统中告警防抖的实现装置和实现方法 |
CN101917303A (zh) * | 2010-07-28 | 2010-12-15 | 中兴通讯股份有限公司 | 告警防抖动的处理方法及装置 |
CN103378981A (zh) * | 2012-04-16 | 2013-10-30 | 中兴通讯股份有限公司 | 网管系统中振荡告警的处理方法及装置 |
CN105891686A (zh) * | 2016-04-11 | 2016-08-24 | 国网上海市电力公司 | 一种局部放电无线监测系统的告警方法 |
CN111130867A (zh) * | 2019-12-12 | 2020-05-08 | 青岛聚好联科技有限公司 | 一种基于物联网的智能家居设备告警方法及装置 |
CN111782414A (zh) * | 2020-05-12 | 2020-10-16 | 北京皮尔布莱尼软件有限公司 | 一种延时消息处理方法及系统 |
CN111865709A (zh) * | 2020-06-12 | 2020-10-30 | 新奇点智能科技集团有限公司 | 一种设备状态监控方法及智能交通云管理平台 |
WO2022068549A1 (zh) * | 2020-09-30 | 2022-04-07 | 中国银联股份有限公司 | 异常告警方法、装置、设备及存储介质 |
-
2022
- 2022-09-16 CN CN202211126914.3A patent/CN115484179B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115826A (en) * | 1997-09-16 | 2000-09-05 | Tandem Computers, Inc. | Interval-timing facility using overbuilt hierarchical timing wheels |
CN101014179A (zh) * | 2007-02-14 | 2007-08-08 | 中兴通讯股份有限公司 | 一种通信系统中告警防抖的实现装置和实现方法 |
CN101917303A (zh) * | 2010-07-28 | 2010-12-15 | 中兴通讯股份有限公司 | 告警防抖动的处理方法及装置 |
US20130177310A1 (en) * | 2010-07-28 | 2013-07-11 | Zte Corporation | Process method and apparatus for preventing alarm jitter |
CN103378981A (zh) * | 2012-04-16 | 2013-10-30 | 中兴通讯股份有限公司 | 网管系统中振荡告警的处理方法及装置 |
CN105891686A (zh) * | 2016-04-11 | 2016-08-24 | 国网上海市电力公司 | 一种局部放电无线监测系统的告警方法 |
CN111130867A (zh) * | 2019-12-12 | 2020-05-08 | 青岛聚好联科技有限公司 | 一种基于物联网的智能家居设备告警方法及装置 |
CN111782414A (zh) * | 2020-05-12 | 2020-10-16 | 北京皮尔布莱尼软件有限公司 | 一种延时消息处理方法及系统 |
CN111865709A (zh) * | 2020-06-12 | 2020-10-30 | 新奇点智能科技集团有限公司 | 一种设备状态监控方法及智能交通云管理平台 |
WO2022068549A1 (zh) * | 2020-09-30 | 2022-04-07 | 中国银联股份有限公司 | 异常告警方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
ID:字节武装: "一张图理解Kafka时间轮(TimingWheel), 看不懂算我输!", pages 1, Retrieved from the Internet <URL:HTTPS://ZHUANLAN.ZHIHU.COM/P/121483218> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302455A (zh) * | 2023-05-23 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | 定时任务的处理方法及装置、存储介质、计算机设备 |
CN116302455B (zh) * | 2023-05-23 | 2023-09-01 | 深圳前海环融联易信息科技服务有限公司 | 定时任务的处理方法及装置、存储介质、计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115484179B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656590B (zh) | 一种网络设备告警消息风暴的处理方法和装置 | |
CN115484179A (zh) | 一种设备告警数据防抖方法 | |
US20030110007A1 (en) | System and method for monitoring performance metrics | |
CN110213125A (zh) | 一种云环境下基于时序数据的异常检测系统 | |
CN101018157A (zh) | 一种告警处理方法及告警系统 | |
WO2007075638A2 (en) | System and method for monitoring system performance levels across a network | |
CN1278516C (zh) | 网络管理系统中闪断告警的处理方法 | |
CN112600740B (zh) | 一种车联网can数据上传漏帧率的自动检测方法 | |
WO2017185976A1 (zh) | 银行卡交换中心的运营保障系统 | |
CN103378981B (zh) | 网管系统中振荡告警的处理方法及装置 | |
CN113377559A (zh) | 基于大数据的异常处理方法、装置、设备及存储介质 | |
CN106941458A (zh) | 数据传输的方法及装置 | |
CN102891761A (zh) | 设备性能预测处理方法及装置 | |
CN114283590B (zh) | 车流量高峰预测方法及装置、电子设备 | |
CN105721719A (zh) | 呼叫中心的故障检测系统及方法 | |
CN115208059A (zh) | 一种变电站动力与环境监控告警处理系统及方法 | |
CN114253806A (zh) | 一种接入层日志收集分析预警系统 | |
CN113760669A (zh) | 问题数据的告警方法及装置、电子设备、存储介质 | |
CN113746862A (zh) | 一种基于机器学习的异常流量检测方法、装置和设备 | |
CN113347045A (zh) | 一种告警消息处理方法及装置 | |
JP2991137B2 (ja) | 警報データ記録方式 | |
CN116433347A (zh) | 一种业务交易监测告警系统、方法、设备、存储介质 | |
KR102664564B1 (ko) | 장애 복구 시간을 예측할 수 있는 ami 장애 진단 시스템 및 그 방법 | |
CN115834696B (zh) | 一种数据库性能监控平台数据采集装置 | |
CN113849337B (zh) | 一种系统异常的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |