公开/公告号CN113380008B
专利类型发明专利
公开/公告日2022-07-08
原文格式PDF
申请/专利权人 四川新网银行股份有限公司;
申请/专利号CN202110518953.7
申请日2021-05-12
分类号G08B21/18(2006.01);G08B25/00(2006.01);
代理机构成都智言知识产权代理有限公司 51282;
代理人胡文莉
地址 610094 四川省成都市成都高新区吉泰三路8号1栋1单元26楼1-8号
入库时间 2022-08-23 13:59:56
法律状态公告日
法律状态信息
法律状态
2022-07-08
授权
发明专利权授予
技术领域
本发明属于计算机技术领域,尤其涉及一种基于命中数和命中率的动态阈值调整方法。
背景技术
目前非现场监控有许多阈值需要设定,通常通过人工分析几百条数据,或是直接通过人工设置阈值;而通过人工设置阈值时,通常会出现一大堆警告或者不警告;例如非现场监控的重要系统访问监控,如果某人某小时内访问某系统次数超过设定阈值,就会告警一次,如果阈值设置小,可能一周内就会出现很多告警,出现大量的误报,不利于异常问题的追踪或者是数据量过大不利于处理;如果阈值设置过大后,可能会遗漏异常告警;并且通过手动设置阈值不能实现实时更新。
发明内容
本发明提供了一种基于命中数和命中率的动态阈值调整方法,拟解决现有技术中提到的手动设置阈值不能实现实时更新。
为实现上述目的,本发明提供如下技术方案:
一种基于命中数和命中率的动态阈值调整方法,包括以下步骤:
步骤1:计算出每个用户每个周期单元中n个周期访问A系统的平均值m和标准差q;每个周期单元y均包含有n个周期;例如:共有3个周期单元,以一周为一个周期单元,每个周期单元中包含了7个周期,即一天为一个周期,那么平均值就等于一个周期单元内的访问次数除以7,那么就求出了每个周期单元中n个周期的平均值m;标准差q也是计算7天的标准差。
基于上述平均值m和标准差q计算临时阈值,计算公式如下:
临时阈值=W
步骤2:采用临时阈值作为线上规则的阈值去跑历史数据;
步骤3:计算出每个用户所有周期单元y内的命中数,命中数为每个用户所有周期单元内的top数据相加;
步骤4:计算出每个用户的命中率,所述命中率的计算公式如下:
命中率=每个用户所有周期单元命中数之和/所有周期单元内的数据条数;
步骤5:基于步骤3和步骤4中实际所得的命中数和命中率与配置的命中数和命中率对比,若实际所得的命中数和命中率均分别大于配置的命中数和命中率时,则调小放大系数p,并将调小后的放大系数p带入步骤1中的公式中进行临时阈值的计算,并继续执行步骤1到5;直至实际所得的命中数和命中率小于或等于配置的命中数和命中率时,则执行步骤6;
若实际所得的命中数和命中率均分别小于或等于配置的命中数和命中率时,则调大放大系数p,并将调大后的放大系数p带入步骤1中的公式中进行临时阈值的计算,并继续执行步骤1到5;直至实际所得的命中数大于配置的命中数或实际所得的命中率大于配置的命中率时,则执行步骤7;
步骤6:将步骤1中计算出的临时阈值作为最终阈值,将最终阈值给线上规则使用;
步骤7:将上一次步骤1中计算出的临时阈值作为最终阈值,将最终阈值给线上规则使用。
本发明通过上述步骤使得阈值在每个周期内定时计算,及时更新,能够适应数据的变化,并且通过调整放大系数,使得实际命中数和命中率接近配置的命中数和命中率。
与现有技术相比本发明的有益效果是:本发明的阈值通过代码计算能够处理的数据量更多;阈值可以每天进行及时更新,能够适应数据的变化;通过命中数能限制单个维度一段时间的命中规则的最大条数;通过命中率能够控制总的规则命中率,防止造成大量重复的规则命中或者,总命中数太多,人工无法调查梳理,越积越多的问题。
附图说明
图1为本发明的阈值调整流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
步骤1:计算出每个用户每个周期单元中n个周期访问A系统的平均值m和标准差q;每个周期单元y均包含有n个周期;基于上述平均值m和标准差q计算临时阈值,计算公式如下:
临时阈值=W
步骤2:采用临时阈值作为线上规则的阈值去跑历史数据;
步骤3:计算出每个用户所有周期单元内的命中数,命中数为每个用户所有周期单元内的top数据相加;
步骤4:计算出每个用户的命中率,所述命中率的计算公式如下:
命中率=每个用户所有周期单元命中数之和/所有周期单元内的数据条数;
步骤5:基于步骤3和步骤4中实际所得的命中数和命中率与配置的命中数和命中率对比,若实际所得的命中数和命中率均分别大于配置的命中数和命中率时,则调小放大系数p,并将调小后的放大系数p带入步骤1中的公式中进行临时阈值的计算,并继续执行步骤1到5;直至实际所得的命中数和命中率小于或等于配置的命中数和命中率时,则执行步骤6;
若实际所得的命中数和命中率均分别小于或等于配置的命中数和命中率时,则调大放大系数p,并将调大后的放大系数p带入步骤1中的公式中进行临时阈值的计算,并继续执行步骤1到5;直至实际所得的命中数大于配置的命中数或实际所得的命中率大于配置的命中率时,则执行步骤7;
步骤6:将步骤1中计算出的临时阈值作为最终阈值,将最终阈值给线上规则使用;
步骤7:将上一次步骤1中计算出的临时阈值作为最终阈值,将最终阈值给线上规则使用。
上述步骤2中所述的线上规则,就是每个用户在某一周期内访问A系统是否大于临时阈值,如果大于就记录下用户、系统和访问次数。
通过每日执行上述步骤,则可以实现每日对阈值进行更新,能够适应数据的变化。
所述每个周期单元的权重相加之和为1如下公式所示:W
所述放大系数p,初始值为2.8,精度为一位小数,且步骤5中所述的放大系数p每次调大或调小0.1。
优选的,本申请的采用最近3个周期单元内的数据进行计算临时阈值,即一周为一个周期单元,共取最近三周的数据,一天为一个周期;具体如下:n取值7天,一天为一个周期,一共有三个周期单元,即y取值1、2、3;
对应上述步骤1:计算出每个用户在每周7天访问A系统的平均值m和标准差q;基于上述计算出的平均值和标准差计算临时阈值;计算公式如下:
临时阈值=W
对应上述步骤2:采用步骤1中计算出的临时阈值作为线上规则的阈值,若每个用户每小时访问A系统大于临时阈值则记录下用户、系统和访问次数;
对应上述步骤3:分别计算出每周的命中数;
对应上述步骤4:计算出每个用户的命中率,所述命中率的计算公式如下:
命中率=每个用户3周命中数之和/3周内的数据条数;
对应上述步骤5:调整放大系数,放大系数p初始值为2.8,精度为一位小数,基于步骤3和步骤4中实际所得的命中数和命中率与配置的命中数和命中率对比,若实际所得的命中数和命中率均分别大于配置的命中数和命中率时,则调小放大系数p,并将调小后的放大系数p带入步骤1中的公式中进行临时阈值的计算,并继续执行步骤1到5;直至实际所得的命中数和命中率小于或等于配置的命中数和命中率时,则执行步骤6;
若实际所得的命中数和命中率均分别小于或等于配置的命中数和命中率时,则调大放大系数p,并将调大后的放大系数p带入步骤1中的公式中进行临时阈值的计算,并继续执行步骤1到5;直至实际所得的命中数大于配置的命中数或实际所得的命中率大于配置的命中率时,则执行步骤7;优选的,放大系数p每次调大或调小0.1。
对应上述步骤6:将步骤1中的临时阈值作为最终阈值,将最终阈值给线上规则使用。
对应上述步骤7:将上一次步骤1中计算出的临时阈值作为最终阈值,将最终阈值给线上规则使用。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
机译: 通过基于当前缓存命中率动态调整与读取请求关联的预取数据来增强磁盘缓存过程的方法和装置
机译: 具有基于当前缓存命中率的动态调整大小读取请求的磁盘缓存增强器
机译: 基于当前缓存命中率的基于动态读取请求的磁盘缓存增强器