发明内容
有鉴于此,本发明提供一种阈值自适应的方法、装置、电子设备和可读介质,能够根据当前时刻之前的n个数据采集间隔时间的环比增长率获取动态阈值,进而阈值会随事件的变化而变化,可以自学习,减少人工频繁调整的麻烦。
为实现上述目的,根据本发明的一个方面,提供了一种阈值自适应的方法。
本发明的一种阈值自适应的方法包括:计算在当前时刻之前的n个采集间隔时间的监控数据的环比增长率;根据下列公式,计算用于报警的动态阈值;
其中,fabs表示求绝对值;
Ri为当前时刻之前的n个采集间隔时间的监控数据的环比增长率;
i的取值为1,2,…,n;
k为固定阈值的占比系数;
min为最低阈值。
可选地,本发明的方法还包括计算当前时刻的监控数据的环比增长率;
若所述当前时刻的监控数据的环比增长率大于所述动态阈值,则进行报警。
可选地,n的取值范围为1至15。
可选地,本发明的方法还包括根据监控对象和监控效果,设置固定阈值的占比系数。
可选地,所述占比系数在大于等于0且小于1的范围内取值。
为实现上述目的,根据本发明的另一方面,提供了一种阈值自适应的装置。
本发明的一种阈值自适应的装置包括先前环比增长率计算模块和动态阈值计算模块。当前环比增长率计算模块用于计算当前时刻的监控数据的环比增长率;先前环比增长率计算模块用于计算在所述当前时刻之前的n个采集间隔时间的监控数据的环比增长率;动态阈值计算模块用于根据下列公式,计算用于报警的动态阈值;
其中,fabs表示求绝对值;
Ri为当前时刻之前的n个采集间隔时间的监控数据的环比增长率;
i的取值为1,2,…,n;
k为固定阈值的占比系数;
min为最低阈值。
可选地,本发明的装置还包括当前环比增长率计算模块和报警模块,当前环比增长率计算模块用于计算当前时刻的监控数据的环比增长率;报警模块用于在所述当前时刻的监控数据的环比增长率大于所述动态阈值时,进行报警。
可选地,n的取值范围为1至15。
可选地,本发明的装置还包括阈值设置模块,用于根据监控对象和监控效果,设置固定阈值的占比系数。
可选地,所述占比系数在大于等于0且小于1的范围内取值。
为实现上述目的,根据本发明的再一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的阈值自适应的方法。
为实现上述目的,根据本发明的再一方面,提供了一种非暂态计算机可读存储介质。
本发明的一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现本发明所提供的阈值自适应的方法。
根据本发明的技术方案,根据当前时刻之前的n个数据采集间隔时间的环比增长率,以及固定阈值和最低阈值,计算出用于报警的动态阈值。若当前时刻的环比增长率大于计算出的动态阈值,则进行报警。相较于现有技术中固定的阈值,本发明可实时获取动态阈值,由于阈值会随监控对象的变化而变化,可进行自适应调整,减少了人工频繁调整的问题。并且,在监控对象发出波动时,n个采集间隔时间的监控数据的环比增长率绝对值的平均值会发生相对应的变化,进而本发明中的动态阈值也会变化,即可发现微小的环比变化,并且也可以在有较大变化时只报警一次,避免了固定阈值导致的频繁报警的问题。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是现有技术中通过固定阈值进行监控的方法的示意图。
如图1所示,现有技术中通过固定阈值进行监控的方法通过当前时刻点数据a和之前同时刻点数据b计算出环比增长率,并且将环比增长率与固定阈值进行比较,如果大于,则进行报警。因而,报警状况不能随着监控对象的变动状况进行自适应地报警。
图2是根据本发明实施例的阈值自适应的方法主要步骤的示意图。
如图2所示,本发明实施例的阈值自适应的方法主要包括如下步骤:
计算在当前时刻之前的n个采集间隔时间的监控数据的环比增长率;以及根据下列公式,计算用于报警的动态阈值;
其中,Ri为当前时刻之前的n个采集间隔时间的监控数据的环比增长率;i的取值为1,2,…,n;
fabs:表示求绝对值;
k为固定阈值的占比系数;
min为最低阈值。
本发明实施例阈值自适应的方法还包括:计算当前时刻的监控数据的环比增长率;若当前时刻的监控数据的环比增长率大于上述计算出的动态阈值,则进行报警。
本发明实施例中的环比增长率包括日环比增长率、周环比增长率和月环比增长率等。以日环比增长率为例,在计算当前时刻的日环比增长率时,获取当前时刻的监控数据为a以及前一天同时刻数据为b,日环比增长率则为(a-b)/b。监控数据为监控对象的运行数据,在监控过程过程中,可对监控数据进行统计、计算和比较等。在计算动态阈值时,先根据监控对象和监控效果,设置固定阈值的占比系数k,一般占比系数k在大于等于0且小于1的范围内取值,在监控数据会波动较大的情况下,k也可取1以上的值或者负值。并且,设置监控数据的采集间隔和n(n取任何自然数,一般取1至15)的值,以及固定阈值和最低阈值。其中,最低阈值一般是最低经验值,主要是防止用户误把固定阈值设为0或相对比较低时,系统自动算出来的动态阈值太低,引发大量报警。n表示对所有时刻的环比增长率的绝对值求平均,没有n,则是对原始数据的一个综合同比值。选择有n的原因是因为想适应监控数据毛刺波动的情况,当监控数据波动很大的情况下,动态计算出来的阈值就会高,避免一些无效报警。
将监控数据的采集间隔时间设置为5分钟,固定阈值设置为10,固定阈值的占比系数设置为0.2,最低阈值min设置为2,n取3,并且假如最后一个数据的时间点是09-20 23:30,则按照上述公式进行计算3个采集间隔时间的监控数据的环比增长率:
R1=(09-20 23:25数据减去09-19 23:25数据)除以(09-19 23:25数据)
R2=(09-20 23:20数据减去09-19 23:20数据)除以(09-19 23:20数据)
R3=(09-20 23:15数据减去09-19 23:15数据)除以(09-19 23:15数据)
其中,例如09-20 23:25数据指的是时间点为9月20日的23:25的监控对象的监控数据。
最终可计算动态阈值为:
(|R1|+|R2|+|R3|)/3+10×0.2+2
=(|R1|+|R2|+|R3|)/3+4。
并且,获取当前时刻点09-20 23:30的数据为a,取得前一天同时刻09-19 23:30数据为b,计算当前时刻的日环比增长率rate=(a-b)/b,判断该日环比增长率rate的绝对值是否大于上述计算出来的动态阈值,如果大于,则报警。
计算环比增长率的顺序和计算动态阈值的顺序是不分先后的,只要最终获取到动态阈值和计算出环比增长率,然后判断环比增长率是否大于动态阈值。如果大于,则进行报警即可。对于动态阈值的计算,是通过环比增长率绝对值的平均值和固定阈值以及最低阈值来得出的。在监控的数据发生较大波动时,例如周一跟周日做日环比,一般来数周一和周日的数据相差相对较大,则对数据监控时,周一和周日的数据和同一个固定阈值进行比较的话,则不合理,并且会发生频繁报警的情况。若是使用动态阈值的话,则会对监控对象进行更加严密以及真实的监控。根据实施例中数据日环比增长率的变化,预估自适应的阈值可以很好地捕捉数据微小变化,如图3所示,a线表示当天变化趋势,b线表示昨天变化趋势。假如突变时刻的日环比增长率是-7%,动态算出来的动态阈值是6%,会触发报警。但是,当触发报警一次后,后续时间点的报警检测算出来的动态阈值就会提高,如提高到9%,那后面时间点的日环比增长率必须大于9%,才会再次报警,否则不会连续报警。而且,根据前几段时刻的数据变化趋势去预估当前时刻的阈值,固定阈值设置一次,无需再调整,每次报警检测时的阈值都是动态算出来的。进而省去人工频繁调整阈值的麻烦,提升了线上问题的召回率,降低了线上问题的误报率。并且,对于不同的监控对象,或是达到某种监控效果,可通过设置固定阈值的系数或是最低阈值实现。
图4是根据本发明实施例的阈值自适应的装置的主要模块的示意图。如图4所示,本发明实施例的阈值自适应的装置包括当前环比增长率计算模块、先前环比增长率计算模块和动态阈值计算模块。其中,当前环比增长率计算模块用于计算当前时刻的监控数据的环比增长率;先前环比增长率计算模块用于计算在当前时刻之前的n个监控数据采集间隔时间的监控数据的环比增长率;动态阈值计算模块用于根据下列公式,计算用于报警的动态阈值;
其中,fabs表示求绝对值;
Ri为当前时刻之前的n个采集间隔时间的监控数据的环比增长率,n的取值范围为1至15;
i的取值为1,2,…,n;
k为固定阈值的占比系数,在大于等于0且小于1的范围内取值;
min为最低阈值。
本发明实施例的阈值自适应的装置还包括当前环比增长率计算模块和报警阈值,其中,当前环比增长率计算模块用于计算当前时刻的监控数据的环比增长率;报警模块用于在当前时刻的监控数据的环比增长率大于上述计算出的动态阈值时,进行报警。
本发明实施例的阈值自适应的装置的当前环比增长率计算模块计算出当前时刻的环比增长率,以及先前环比增长率计算模块计算出动态阈值。对于动态阈值的计算,可根据监控对象和监控效果,设置固定阈值的占比系数。并且,防止用户误把固定阈值设为0或者相对较低的数值,使得自动算出来的动态阈值太低,引发大量报警,可根据最低经验值设置最低阈值,还可根据实际需求和监控效果等对最低阈值进行调整。
通过当前时刻之前的n个数据采集间隔时间的监控数据的环比增长率的绝对值的平均值,可构成动态阈值的自适应。根据监控对象和实际需求,设置数据采集间隔时间和采集数据的个数n,根据数据采集间隔时间采集n个先前环比增长率所需的数据,则进一步计算出n个数据采集间隔时间的监控数据的环比增长率的绝对值的平均值。动态阈值可根据监控对象的变化自适应的进行调整,避免了人工频繁调整的麻烦,以及解决了固定阈值导致的连续频繁报警的问题。
图5是根据本发明实施例的阈值自适应的电子设备的示意图。如图5所示,本发明实施例的阈值自适应的电子设备5包括存储器51和至少一个处理器52,其中,存储器51与至少一个处理器52通过总线连接,存储器51存储有可被一个处理器执行的指令,当本实施例的装置5运行时,指令被至少一个处理器执行,以使至少一个处理器能够执行阈值自适应的方法的流程。
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考步骤图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括当前环比增长率计算模块、先前环比计算模块和动态阈值计算模块。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,当前环比增长率技术模块还可以被描述为“计算模块”,用于计算当前时刻的监控数据的环比增长率。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
计算在当前时刻之前的n个采集间隔时间的监控数据的环比增长率;
根据下列公式,计算用于报警的动态阈值;
其中,fabs表示求绝对值;
Ri为当前时刻之前的n个采集间隔时间的监控数据的环比增长率;
i的取值为1,2,…,n;
k为固定阈值的占比系数;
min为最低阈值。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。