一种频次类实时统计模型系统及方法与流程

文档序号:11548484阅读:623来源:国知局

本发明涉及数据统计领域,尤其涉及一种频次类实时统计模型系统及方法。



背景技术:

随着互联网技术的发展和更新,基于网络的应用越来越多。企事业单位内部信息化程度越来越高,很多关键信息都存放在信息系统中,企业内部发生的频繁访问有可能是内部员工在盗取数据;互联网应用和网站越来越多,其中出现的频繁访问有可能是正常的用户使用,也有可能是黑客攻击。

例如,根据某个业务系统中的访问日志记录,员工a在5分钟内进行了1000次访问操作,正常情况下,不可有人达到如此高的操作频率,出现这个情况有可能是此员工正在通过第三方的插件或程序对系统进行数据盗取。

又例如,根据某网站的用户访问日志记录,某ip在1分钟内进行了100次登录操作,正常情况下不可能有人进行这样的操作,出现这个情况有可能是黑客程序正在暴力破解用户密码。

传统的解决方案是使用定时任务,定期对用户访问和操作日志进行统计,统计一分钟或5分钟内的操作数量,超过阀值进行告警。但是这样的解决方案有不少弊端,具体如下:

1、延迟较大,当发现超阀值时,实际可能已经过去了一段时间。

2、如果访问和操作日志采集来自多个系统,数据来源延迟时,统计数量会存在遗漏的情况。

3、如果为减少定时任务延迟性,可能会将定时任务执行周期调短,但是不管如何调短,仍然会存在跨周期超阀值而统计盲点的情况,比如:执行周期1分钟进行1次统计,设定阀值为1分钟100次操作,用户在3:31:59进行了60次操作,在3:32:01进行了60次操作,根据统计来看,每一个分钟片段都没有超阀值,但实际上用户是在3秒内进行了120次操作,类似此种情况,传统的统计任务无法识别。如果设定周期为1秒钟1次,则会存在大量的无用查询,增加数据库压力。



技术实现要素:

本发明解决的问题是现有的对用户访问和操作日志的统计方法会有延迟较大,且存在统计遗漏等问题。

为解决上述问题,本发明实施例提供了一种数据记录处理方法,包括如下步骤:

在每一条数据记录入库时,确定当前数据记录的产生时间;

分别对以所述当前数据记录的产生时间为基准的前一频次周期和后一频次周期内的数据记录数进行更新。

可选的,数据记录处理方法还包括如下步骤:

在查询超阈值的频次计数时,遍历各个以当前数据记录的产生时间为基准的前一频次周期和后一频次周期内的数据记录数;

筛选出大于所述阈值的数据记录数所在的频次周期及其对应的当前数据记录的产生时间,以确定频次计数超阈值的时间段。

可选的,所述当前数据记录的产生时间是当前数据记录的入库时间或者是早于当前数据记录的入库时间。

可选的,所述分别对以所述当前数据记录的产生时间为基准的前一频次周期和后一频次周期内的数据记录数进行更新包括:

将以所述当前数据记录的产生时间为基准的前一频次周期内的数据记录数加1;

将以所述当前数据记录的产生时间为基准的后一频次周期内的数据记录数加1。

可选的,各个以当前数据记录的产生时间为基准的频次周期的时长相等。

与现有技术相比,本发明技术方案具有以下有益效果:

在每一条数据记录入库时,同步更新以该条数据记录的产生时间为基准的向前频次周期和向后频次周期内的数据记录数,从而可以解决存在跨周期超阀值的统计盲点问题。

进一步,针对各条数据记录的入库时间和产生时间可能不一致(因延误导致)的问题,由于是以数据记录的产生时间为基准对前后两个频次周期内的数据记录数进行更新,因此对于延迟入库的数据记录,也不会出现遗漏统计的情况。

而在查询超阈值的频次计数时,只需要对各个频次周期内的数据记录数进行筛选就可以得到频次计数超阀值产生的时间段,无需对每个分片时间段再次进行统计。

附图说明

图1是本发明实施例的一种数据记录处理方法的具体实施方式的流程示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

如图1所示的是本发明实施例的一种数据记录处理方法的具体实施方式的流程示意图。参考图1,数据记录处理方法包括如下步骤:

步骤s1:在每一条数据记录入库时,确定当前数据记录的产生时间;

步骤s2:分别对以所述当前数据记录的产生时间为基准的前一频次周期和后一频次周期内的数据记录数进行更新。

在本实施例中,以数据库作为存储介质以统计用户对业务系统或网站的访问记录数。

与现有技术不同,本发明实施例提供了一个频次类实时统计模型。在该模型中,对需要统计的频次周期设定一个向前计数字段和一个向后计数字段。其中,所述向前计数字段用于保存当前数据记录入库时,该数据记录的产生时间到向前推一个周期的时间分片内累计的数据记录数。所述向后计数字段用于保存当前数据记录入库时,该数据记录的产生时间到向后推一个周期的时间分片内累计的数据记录数。

如步骤s1所述,在每一条数据记录入库时,首先确定当前数据记录的产生时间。需要说明的是,在实际应用中,当前数据记录的产生时间与该当前数据记录的入库时间可能不同。如果数据记录入库存在延迟(例如数据记录来源于第三方系统等),则当前数据记录的产生时间是要早于该当前数据记录的入库时间。如果数据记录在产生的同时入库,则当前数据记录的产生时间是该当前数据记录的入库时间。

如步骤s2所述,针对当前入库的该条数据记录,分别对以所述当前数据记录的产生时间为基准的前一频次周期和后一频次周期内的数据记录数进行更新。

具体来说,频次周期可以根据不同的应用场景设定不同的周期时长,例如1分钟、1个小时等。在本实施例中,针对各个时间基准的前后两个频次周期的时长都相等。

例如,当前数据记录的产生时间为12:10:02,频次周期为1分钟,则该当前数据记录的前一频次周期为12:09:02-12:10:02,该当前数据记录的后一频次周期为12:10:02-12:11:02。

在当前数据记录入库时,将以所述当前数据记录的产生时间为基准的前一频次周期内的数据记录数加1,即在频次类实时统计模型中的当前数据记录的产生时间为基准的向前计数字段内的数据记录数加1。其中,该向前计数字段的初始值为前一个周期内的记录数。同时,将以所述当前数据记录的产生时间为基准的后一频次周期内的数据记录数加1,即在频次类实时统计模型中的当前数据记录的产生时间为基准的向后计数字段内的数据记录数加1。其中,该向后计数字段的初始值为后一个周期内的记录数。

在本实施例中,由于在每一条数据记录入库时,同步更新以该条数据记录的产生时间为基准的向前频次周期和向后频次周期内的数据记录数,从而可以解决存在跨周期超阀值的统计盲点问题。进一步,由于是以数据记录的产生时间为基准对前后两个频次周期内的数据记录数进行更新,因此对于延迟入库的数据记录,也不会出现遗漏统计的情况。

进一步,在本实施例中,数据记录处理方法还包括如下步骤:

在查询超阈值的频次计数时,遍历各个以当前数据记录的产生时间为基准的前一频次周期和后一频次周期内的数据记录数;

筛选出大于所述阈值的数据记录数所在的频次周期及其对应的当前数据记录的产生时间,以确定频次计数超阈值的时间段。

具体来说,在需要进行超阀值统计时,只需要对频次类实时统计模型中各个频次周期的向前计数字段和向后计数字段进行查询,过滤出超过阀值的数据记录数。在筛选出的这些数据记录数中,若是一个频次周期的向前计数字段超阀值,说明是从该频次周期对应的当前数据记录的产生时间到向前一个周期时间内,操作频次超阀值;若是一个频次周期的向后计数字段超阀值,说明是从该频次周期对应的当前数据记录的产生时间到向后一个周期时间内,操作频次超阀值。

综上所述,本技术方案解决了现有技术中对用户访问和操作日志的统计方法会有延迟较大,且存在统计遗漏等问题。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的试验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

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