一种防止日志洪水的方法及系统与流程

文档序号:15492512发布日期:2018-09-21 20:54阅读:132来源:国知局

本发明涉及计算机网络安全技术领域,具体来说涉及一种防止日志洪水的方法及系统。



背景技术:

在计算机的安全防护过程中,如果遭到恶意攻击或者操作者使用不当,会造成大量的违规日志产生。譬如在ssr的网络防护中,如果防护主机遭到网络攻击,会在短时间内产生大量相同的违规日志,用户在分析违规日志时过多的重复日志会严重影响用户的正常审计,导致用户因无法识别关键日志而不能做出正确的判断。

现有技术中,常用的防止日志洪水的方法有两种:一种是在日志产生的源头处进行控制,即把特征值相同的日志过滤掉后上传给日志审计端,这种方案存在的缺点是被过滤掉的日志无法上传,管理端看不到滤掉日志具体产生的时间;第二种是将全部日志上传至审计端存储,审计端在审计时将全部日志进行提取,然后在内存中合并后展示,这种方案的缺点是当数据量较大时,从数据库查询合并会降低审计性能。

针对现有技术存在的上述不足,本发明提出一种防止日志洪水的方法及系统,该方法或系统根据用户设定的时间段和依据字段对日志进行合并,然后显示最新的日志,避免了重复日志对用户造成的干扰。



技术实现要素:

本发明实施例中提供一种防止日志洪水的方法及系统,便于用户查看一段时间内产生的日志总数及具体日志产生的时间,同时降低了从大量日志中抽取相同日志的时间,提高了审计性能。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方面提供了一种防止日志洪水的方法,所述方法包括以下步骤:

定义数据结构,包括特性字段、日志产生时间字段、最新日志标识符字段以及合并日志数字段;

计算合并日志,将计算机接收的日志在内存中计算并进行合并;

展示合并日志,对内存中合并的日志进行查询展示。

基于上述方案,本方法做如下优化:

作为一种优化,所述定义的数据结构中,特性字段的值为判断日志重复的各个字段拼接后字符串的哈希值;日志产生时间字段的值为日志产生时的时间戳;最新日志标识符字段标识合并日志中的最新日志;合并日志数字段的值为合并日志的总数量。

作为一种优化,所述将计算机接收的日志在内存中进行计算合并的过程,包括:

接收日志的特性字段和最新日志标识符字段,并根据字段信息查询已存在的合并日志的最新日志;

将上述最新日志作为基础,查找新接收的日志中与特性字段相匹配的日志,按照时间顺序进行记录,且每记录一条日志,合并日志数字段的数值加一;

查找完毕后,将最新一条日志记录的最新日志标识符字段置为最新,并将之前查到的日志记录的最新日志标识符置为非最新;

将计算合并后的日志一并插入数据库中。

如上所述的防止日志洪水的方法,在对内存中合并的日志进行查询展示时,通过查询特性字段进行详细日志展示,且查询的时间跨度包含合并的时间段。

本发明第二方面提供了一种防止日志洪水的系统,所述系统包括:

数据结构定义模块,用于设置管理日志的数据结构,数据结构包括特性字段、日志产生时间字段、最新日志标识符字段以及合并日志数字段;

计算合并日志模块,用于将计算机接收的日志在内存中计算并进行合并;

展示合并日志模块,用于对计算合并日志模块合并后的日志进行查询展示。

基于上述的防止日志洪水的系统,所述数据结构定义模块设置的数据结构中,特性字段的值为判断日志重复的各个字段拼接后字符串的哈希值;日志产生时间字段的值为日志产生时的时间戳;最新日志标识符字段标识合并日志中的最新日志;合并日志数字段的值为合并日志的总数量。

所述计算合并日志模块在内存中计算合并日志的过程包括:根据接收日志的特性字段和最新日志标识符字段查询已存在的合并日志的最新日志;然后以查询的最新日志为基础,查找新接收的日志中与特性字段相匹配的日志,按照时间顺序进行记录,且每记录一条日志合并日志数字段的数值加一;待全部查找完毕后,将最新一条日志记录的最新日志标识符字段置为最新,并将之前查到的日志记录的最新日志标识符置为非最新;最后将计算合并后的日志一并插入到数据库中。

进一步的,所述展示合并日志模在对计算合并日志模块合并后的日志进行查询展示时,通过查询特性字段进行详细日志展示,且查询的时间跨度包含合并的时间段。

本申请的实施例提供的技术方案包括以下有益效果:

本申请实施例提供的一种防止日志洪水的方法,包括定义数据结构;计算合并日志,将计算机接收的日志在内存中计算并合并;展示合并日志,对内存中合并的日志进行查询展示。本申请实施例的防止日志洪水的方法,有效防止了大量重复日志对用户造成的干扰。在存储日志时,通过内存数据判断是否存在重复日志,而不是在查询时计算日志是否重复,从而将计算日志重复的时间分散,提高了计算性能。此外,本方法使用特性字段标识日志的唯一性,提高了计算重复日志的准确性,并且判断日志重复的特性和时间段可随时调整,方便用户根据需要作出调整,提高了操作的灵活性。

本发明第二方面的一种防止日志洪水的系统,能够实现第一方面的设计方法,并取得相同的效果。

附图说明

此处的附图被并入说明书中并构成说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的一种防止日志洪水的方法流程示意图;

图2为本申请实施例提供的一种防止日志洪水的系统结构示意图。

附图标记:1-数据结构定义模块,2-计算合并日志模块,3-展示合并日志模块。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

图1为本申请实施例提供的一种防止日志洪水的方法,由图1可知,本实施例的方法包括以下步骤:

s1、定义数据结构,所定义的数据结构中包括特性字段featurecode、日志产生时间字段logcreatetime、最新日志标识符字段lastedflag以及合并日志数字段mergecount;

s2、计算合并日志,当计算机接收到批量日志时,将所接收的日志在内存中计算并进行合并;

s3、展示合并日志,对内存中合并的日志进行查询展示。

具体地,所述s1中定义的数据结构中,特性字段featurecode的值为判断日志重复的各个字段拼接后字符串的哈希值,例如判断日志重复的字段为违规类型、违规操作源、违规操作目标及时间段,那么特性字段featurecode的值为违规类型、违规操作源、违规操作及时间段(单位为分钟)目标字段值的字符串相加后的哈希值;日志产生时间字段logcreatetime的值为日志产生时的时间戳,精确到秒,且s1中判断日志重复时用到的时间段=logcreatetime/(合并时间段*60);最新日志标识符字段lastedflag标识合并日志中的最新日志,合并日志之后的页面只显示最新的日志;合并日志数字段mergecount的值为合并日志的总数量,每向数据库登录一条合并日志后,合并日志数字段在该字段最大的数值基础上加1。

进一步来说,所述s2中,将计算机接收的日志在内存中进行计算合并的过程,包括:

s21、接收日志的特性字段featurecode和最新日志标识符字段lastedflag,并根据字段信息查询已存在的合并日志的最新日志;

s22、将所述s21中的最新日志作为基础,查找新接收的日志中与特性字段featurecode相匹配的日志,按照时间顺序进行记录,且每记录一条日志,合并日志数字段mergecount的数值加一;

s23、查找完毕后,将最新一条日志记录的最新日志标识符字段lastedflag置为最新,并将之前查到的日志记录的最新日志标识符置为非最新;

s24、将计算合并后的日志一并插入数据库中。

在所述的s3中,可通过查询特性字段featurecode进行详细日志展示,详细日志中记录有每一条日志产生的时间。因为是将一段时间内的日志进行了合并,所以在查询时,时间跨度包含合并的时间段。

图2为本申请实施例提供的一种防止日志洪水的系统,由图2可知,本实施例的系统包括:

数据结构定义模块1,用于设置管理日志的数据结构,所设置的数据结构包括特性字段featurecode、日志产生时间字段logcreatetime、最新日志标识符字段lastedflag以及合并日志数字段mergecount;

计算合并日志模块2,用于当计算机接收到批量日志时,将所接收的日志在内存中计算并进行合并;

展示合并日志模块3,用于对计算合并日志模块2合并后的日志进行查询展示。

具体地,数据结构定义模块1设置的数据结构中,特性字段featurecode的值为判断日志重复的各个字段拼接后字符串的哈希值,例如判断日志重复的字段为违规类型、违规操作源、违规操作目标及时间段,那么特性字段featurecode的值为违规类型、违规操作源、违规操作及时间段(单位为分钟)目标字段值的字符串相加后的哈希值;日志产生时间字段logcreatetime的值为日志产生时的时间戳,精确到秒,且判断日志重复时用到的时间段=logcreatetime/(合并时间段*60);最新日志标识符字段lastedflag标识合并日志中的最新日志,合并日志之后的页面只显示最新的日志;合并日志数字段mergecount的值为合并日志的总数量,每向数据库登录一条合并日志后,合并日志数字段在该字段最大的数值基础上加1。

进一步来说,计算合并日志模块2在内存中计算合并日志的过程包括:根据接收日志的特性字段featurecode和最新日志标识符字段lastedflag查询已存在的合并日志的最新日志;然后以查询的最新日志为基础,查找新接收的日志中与特性字段相匹配的日志,按照时间顺序进行记录,且每记录一条日志合并日志数字段mergecount的数值加一;待全部查找完毕后,将最新一条日志记录的最新日志标识符字段lastedflag置为最新,并将之前查到的日志记录的最新日志标识符置为非最新;最后将计算合并后的日志一并插入到数据库中。展示合并日志模块3在对计算合并日志模块2合并后的日志进行查询展示时,通过查询特性字段featurecode进行详细日志展示,查询的时间跨度包含合并的时间段。

本实施例的防止日志洪水的方法及系统,有效防止了大量重复日志对用户造成的干扰。在存储日志时,通过内存数据判断是否存在重复日志,将计算日志重复的时间分散,提高了计算性能。本方法系统还使用特性字段标识日志的唯一性,提高了计算重复日志的准确性,并且判断日志重复的特性和时间段可随时调整,方便用户根据需要作出调整,提高了操作的灵活性。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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