一种日志查询方法和装置与流程

文档序号:11918609阅读:196来源:国知局
一种日志查询方法和装置与流程

本发明涉及数据处理领域,特别是一种日志查询方法和装置。



背景技术:

目前,对同一安全事件的分析依赖于对多条安全日志的关联分析,而多条安全日志往往来自不同的安全设备和安全软件。为了保证数据的完整性,安全日志往往采用文件结构进行快速存储,给后续的分析查找带来困难。随着日志数据量的增加,查询的时间也会逐渐增长,因此如今海量数据的发展趋势对于日志查找的效率提出了更高的要求。对海量非结构化的安全日志实现快速查找已成为大数据安全分析技术的热点。



技术实现要素:

本发明的一个目的在于提出一种提高日志查询效率的方案。

根据本发明的一个方面,提出一种日志查询方法,包括:获取事件查询请求,事件查询请求包括流量源地址、目的地址、源端口号、目的端口号和/或事件信息;根据事件查询请求按照预定策略生成事件查询向量;比较事件查询向量与日志向量,获取日志查询结果,其中,日志向量为根据预定策略为每条日志记录生成的向量化信息。

进一步地,根据事件查询请求按照预定策略生成事件查询向量包括:将事件查询请求中的每种信息按照预定策略生成对应向量,包括源IP地址向量、目的IP地址向量、源端口号向量、目的端口号向量和/或事件名称向量;向量的维数与对应种类信息中的不相同信息的个数相等,每种信息中不相同的信息对应的向量不相同,且相同信息对应的向量相同;事件查询向量为事件查询请求中多种信息的对应向量按照预定策略生成的向量组。

进一步地,比较事件查询向量与日志向量,获取日志查询结果包括:获取事件查询向量与每条日志向量的相关度;按照与事件查询向量间相关度从大到小的顺序排列日志向量对应的日志记录。

进一步地,获取事件查询向量与每条日志向量的相关度为:获取事件查询向量与每条日志向量的汉明距离;按照与事件查询向量间相关度从大到小的顺序排列日志记录为:按照日志向量与事件查询向量间汉明距离从小到大的顺序排列日志向量对应的日志记录。

进一步地,还包括:预处理日志文件,按照预定策略为每条日志记录生成日志向量。

进一步地,还包括:采集日志信息,按照预定模板存储日志文件;预处理日志文件,按照预定策略为每条日志记录生成日志向量包括:根据预定模板获取日志记录索引信息,日志记录索引信息包括源IP地址、目的IP地址、源端口号、目的端口号和/或事件名称;将日志记录索引信息中的每种信息按照预定策略生成对应向量,包括源IP地址向量、目的IP地址向量、源端口号向量、目的端口号向量和/或事件名称向量;向量的维数与对应种类信息中的不相同信息的个数相等,每种信息中不相同的信息对应的向量不相同,且相同信息对应的向量相同;日志向量为多种索引信息的对应向量按照预定策略生成的向量组。

进一步地,日志向量还包括日志采集时间和/或原始日志记录文件地址。

采用此方法能够根据事件查询请求以预定策略生成事件查询向量,并通过与日志向量的运算获取日志记录与事件查询请求的相关性,从而得到查询结果,提高了日志查询的效率,符合大数据分析的需求。

根据本发明的另一个方面,提出一种日志查询装置,包括:请求获取模块,用于获取事件查询请求,事件查询请求包括流量源地址、目的地址、源端口号、目的端口号和/或事件信息;查询向量生成模块,用于根据事件查询请求按照预定策略生成事件查询向量;查询模块,用于比较事件查询向量与日志向量,获取日志查询结果,其中,日志 向量为根据预定策略为每条日志记录生成的向量化信息。

进一步地,根据查询向量生成模块还用于:将事件查询请求中的每种信息按照预定策略生成对应向量,包括源IP地址向量、目的IP地址向量、源端口号向量、目的端口号向量和/或事件名称向量;向量的维数与对应种类信息中的不相同信息的个数相等,每种信息中不相同的信息对应的向量不相同,且相同信息对应的向量相同;事件查询向量为事件查询请求中多种信息的对应向量按照预定策略生成的向量组。

进一步地,查询模块包括:相关度获取单元,用于获取事件查询向量与每条日志向量的相关度;排序单元,用于按照与事件查询向量间相关度从大到小的顺序排列日志向量对应的日志记录。

进一步地,相关度获取单元,还用于获取事件查询向量与每条日志向量的汉明距离;排序单元,还用于按照日志向量与事件查询向量间汉明距离从小到大的顺序排列日志向量对应的日志记录。

进一步地,还包括:预处理模块,用于预处理日志文件,按照预定策略为每条日志记录生成日志向量。

进一步地,还包括:日志采集模块,用于采集日志信息,并按照预定模板生成日志文件;预处理模块包括:信息获取单元,用于根据预定模板获取日志记录索引信息,日志记录索引信息包括源IP地址、目的IP地址、源端口号、目的端口号和/或事件名称;日志向量生成单元,用于将日志记录索引信息中的每种信息按照预定策略生成对应向量,包括源IP地址向量、目的IP地址向量、源端口号向量、目的端口号向量和/或事件名称向量;向量的维数与对应种类信息中的不相同信息的个数相等,每种信息中不相同的信息对应的向量不相同,且相同信息对应的向量相同;日志向量为多种索引信息的对应向量按照预定策略生成的向量组。

进一步地,日志向量还包括日志采集时间和/或原始日志记录文件地址。

本装置能够根据事件查询请求以预定策略生成事件查询向量,并 通过与日志向量的运算获取日志记录与事件查询请求的相关性,从而得到查询结果,提高了日志查询的效率,符合大数据分析的需求。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的日志查询方法的一个实施例的流程图。

图2为本发明的日志查询方法的另一个实施例的流程图。

图3为本发明的日志查询方法的又一个实施例的流程图。

图4为本发明的日志查询方法的再一个实施例的流程图。

图5为本发明的日志查询装置的一个实施例的示意图。

图6为本发明的日志查询装置的另一个实施例的示意图。

图7为本发明的日志查询装置的又一个实施例的示意图。

图8为本发明的日志查询装置的再一个实施例的示意图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明的日志查询方法的一个实施例的流程图如图1所示。

在步骤101中,获取事件查询请求。根据实际应用场景或用户实际需求,事件查询请求中包括的信息种类可以不同。事件查询请求中可以包括流量源地址、目的地址、源端口号、目的端口号、事件信息中的一种或多种信息。

在步骤102中,按照预定策略将接收到的事件查询请求以向量的方式表示,生成事件查询向量。

在步骤103中,将生成的事件查询向量与日志向量进行比较或运算,获取日志查询结果。日志向量为日志信息的向量方式的表示,日志向量的生成策略与生成事件查询向量的策略相同。

采用此方法能够根据事件查询请求以预定策略生成事件查询向量,并通过与日志向量的运算获取日志记录与事件查询请求的相关性,从而得到查询结果,提高了日志查询的效率,符合大数据分析的需求。

在一个实施例中,事件查询向量中包括事件查询请求中的每种信息按照预定策略生成的对应向量,具体可以包括源IP地址向量、目的IP地址向量、源端口号向量、目的端口号向量、事件名称向量中的一种或多种,事件查询向量为事件查询请求中多种信息的对应向量按照预定策略生成的向量组。每种信息的对应向量的维数与对应种类信息中的不相同信息的个数相等,每种信息中不相同的信息对应的向量不相同,且相同信息对应的向量相同。如,源IP地址共有100中可能性,则源IP地址向量为100维向量,每个源IP地址用唯一的源IP地址向量表示,且不同源IP地址对应的向量不同;其他种类的信息采用类似的预定策略生成对应向量。

此方法能够保证每种信息中每个不相同信息均能用唯一的向量表示,且通过将事件查询向量和日志向量中对应向量的对应元素的比较,能够提高查询的效率和准确度。

在一个实施例中,以事件查询请求中的关键字段为特征,为每个关键字段生成对应向量。查询请求的向量化格式可以为:{<源IP的地址>,<目的IP地址>,<源端口号>,<目的端口号>,<事件种类>,日志采集时间、原始日志记录文件地址},其中,流量源地址、目的地址、源端口号、目的端口号、事件种类可以向量化。如,日志文件中共有500个不同的源IP地址,则生成500维向量,分别为<1,0,0……,0>、<0,1,0……,0>、<0,0,1……,0>……<0,0,0……,1>。其他关键信息可以以相同的方式完成向量化。一个事件查询请求在经过向量化后,可以表示为{<0,1,0,0,…,0>,<1,0,0,0,…,0>,<0,0,0,0,…,0>,<0,0,0,0,…,0>、<0,0,0,0,…,0>,0,0}类似的格式。

该方法产生的事件查询向量格式清晰,且采用二进制表示,便于机器按位运算,进一步提高了事件查询的效率。

本发明的日志查询方法的另一个实施例的流程图如图2所示。

在步骤201中,获取事件查询请求。事件查询请求中可以包括流量源地址、目的地址、源端口号、目的端口号、事件信息中的一种或多种信息。

在步骤202中,按照预定策略将接收到的事件查询请求以向量的方式表示,生成事件查询向量。

在步骤203中,比较事件查询向量和日志向量,获取每条日志向量与事件查询向量的相关度。相关度越高则表明该日志向量对应的日志记录越符合事件查询的结果。

在步骤204中,按照与事件查询向量的相关度从大到小的顺序排列日志向量对应的日志记录,生成日志查询结果。在一个实施例中,可以以日期为基础,按照相关度排列日期相同的日志记录。在一个实施例中,可以将在不同日志文件中查询的结果进行合并排列,从而得到更加全面的查询结果。

此方法能够将查询到的日志记录按照与事件查询请求相关度从大到小的顺序排列,形成全面、完整的日志查询结果,便于用户查看和进一步处理。

在一个实施例中,相关度大小可以用日志向量与事件查询向量之间的汉明距离来表示。汉明距离越大,则说明日志向量与事件查询向量中相同的信息越少,二者的相关度越小。按照与事件查询向量的汉明距离从小到大的顺序排列日志向量对应的日志记录,生成日志查询结果。此方法能够通过向量运算获取日志向量与事件查询向量的相关度,运算的可靠性高,且能为用户提供友好的日志查询信息。

本发明的日志查询方法的又一个实施例的流程图如图3所示。

在步骤301中,对日志文件进行预处理。每个日志文件中可以包含多条日志记录。在预处理过程中,为每个日志文件的日志记录生成相应的日志向量。在一个实施例中,可以将这些日志向量写入索引文件。

在步骤302中,获取事件查询请求。事件查询请求中可以包括流量源地址、目的地址、源端口号、目的端口号、事件信息中的一种或 多种信息。

在步骤303中,按照预定策略将接收到的事件查询请求以向量的方式表示,生成事件查询向量。

在步骤304中,比较事件查询向量和日志向量,获取每条日志向量与事件查询向量的相关度。相关度越高则表明该日志向量对应的日志记录越符合事件查询的结果。

在步骤305中,按照与事件查询向量的相关度从大到小的顺序排列日志向量对应的日志记录,生成日志查询结果。

此方法能够为普通的日志文件生成每条日志记录对应的日志向量,方便与事件查询向量进行比较;能够基于现有的日志文件存储系统进行改进,便于推广应用。

在一个实施例中,以日志文件中关键字段为特征,为每条日志记录的每个关键字段生成对应向量。日志向量的向量化格式可以为:{<源IP的地址>,<目的IP地址>,<源端口号>,<目的端口号>,<事件种类>,日志采集时间、原始日志记录文件地址},其中,流量源地址、目的地址、源端口号、目的端口号、事件种类可以向量化。如,日志文件中共有500个不同的源IP地址,则生成500维向量,分别为<1,0,0……,0>、<0,1,0……,0>、<0,0,1……,0>……<0,0,0……,1>。其他关键信息可以以相同的方式完成向量化。一条日志记录在经过向量化后,可以表示为{<0,1,0,0,…,0>,<1,0,0,0,…,0>,<0,0,0,0,…,0>,<0,0,0,0,…,0>、<0,0,0,0,…,0>,日志采集时间,原始日志记录文件地址}类似的格式。

该方法产生的日志向量格式固定,且采用二进制表示,便于机器按位运算,能够进一步提高事件查询的效率。

在一个实施例中,可以在采集日志时,以预定的模板存储日志信息,将关键的信息,如源IP地址、目的IP地址、端口号、事件、事件戳等放在日志文件的头部,以文本格式进行存储。以预定模板存储的日志文本更便于进行预处理,生成对应的日志向量,从而提高整个系统的执行效率。

在本发明的日志查询方法的再一个实施例的流程图如图4所示。

在步骤401中,采集日志文件,针对每个数据源定制预定模板,将流量源/目的IP地址、端口号、事件、时间戳等关键信息放在文件头部,以文本格式进行存储。

在步骤402中,对文本文件建立索引。按照空间向量模型,以流量源/目IP地址、端口号、事件名称等作为关键字段,保留原始日志的时间戳信息,对每条日志记录建立空间向量表达,写入索引文件。

在步骤403中,当发起事件查询请求时,提取事件查询请求中的关键信息,生成事件查询向量。事件查询请求可用流量源/目的IP地址、端口号、事件名称等关键信息的组合表示。

在步骤404中,在每个索引文件进行检索事件查询向量并反馈结果。系统将各反馈结果进行合并排序,向系统提交最终的检索结果,即文件位置列表。

采用这样的方法,能够通过定制日志预定模板、建立关键字段索引、查找结果合并排序等手段,为进一步的统计分析提供可靠、完整的相关数据源,提升大数据分析平台的分析效率。

在一个实施例中,日志信息为安全日志信息,安全日志信息可能来源于安全设备或安全软件,安全日志文件中存储有源IP地址信息、目的IP地址信息、源端口号信息、目的端口号信息、攻击事件名称以及时间戳等。针对安全日志文件进行快速查找,能够有效提高对当前海量非结构化的安全日志文件的处理效率,为进一步的统计分析快速提供可靠、完整的相关数据源。

本发明的日志查询装置的一个实施例的示意图如图5所示。其中,501为请求获取模块,用于获取事件查询请求。根据实际应用场景或用户实际需求,事件查询请求中包括的信息种类可以不同。事件查询请求中可以包括流量源地址、目的地址、源端口号、目的端口号、事件信息中的一种或多种信息。502为查询向量生成模块,用于按照预定策略将接收到的事件查询请求以向量的方式表示,生成事件查询向量。503为查询模块,用于将生成的事件查询向量与日志向量进行比 较或运算,获取日志查询结果。日志向量为日志信息的向量方式的表示,生成日志向量的策略与生成事件查询向量的策略相同。

此装置能够根据事件查询请求以预定策略生成事件查询向量,并通过与日志向量的运算获取日志记录与事件查询请求的相关性,从而得到查询结果,提高了日志查询的效率,符合大数据分析的需求。

在一个实施例中,查询向量生成模块502能够为事件查询请求中的每种信息按照预定策略生成对应向量,进而生成事件查询向量。事件查询请求中的向量具体可以包括源IP地址向量、目的IP地址向量、源端口号向量、目的端口号向量、事件名称向量中的一种或多种,事件查询向量为事件查询请求中多种信息的对应向量按照所述预定策略生成的向量组。每种信息的对应向量的维数与对应种类信息中的不相同信息的个数相等,每种信息中不相同的信息对应的向量不相同,且相同信息对应的向量相同。如,源IP地址共有100中可能性,则源IP地址向量为100维向量,每个源IP地址用唯一的源IP地址向量表示,且不同源IP地址对应的向量不同;其他种类的信息采用类似的预定策略生成对应向量。

此装置能够保证每种信息中每个不相同信息均能用唯一的向量表示,且通过将事件查询向量和日志向量中对应向量的对应元素的比较,能够提高查询的效率和准确度。

本发明的日志查询装置的另一个实施例的示意图如图6所示。其中,601、602分别为请求获取模块、查询向量生成模块,其结构和功能与图5中相似。查询模块603包括相关度获取单元613和排序单元623,其中,相关度获取单元613用于比较事件查询向量和日志向量,获取每条日志向量与事件查询向量的相关度。相关度越高则表明该日志向量对应的日志记录越符合事件查询的要求。排序单元623用于按照与事件查询向量的相关度从大到小的顺序排列日志向量对应的日志记录,生成日志查询结果。在一个实施例中,可以以日期为基础,按照相关度排列日期相同的日志记录。在一个实施例中,可以将在不同日志文件中查询的结果进行合并排列,从而得到更加全面的查询结果。

此装置能够将查询到的日志记录按照与事件查询请求相关度从大到小的顺序排列,形成全面、完整的日志查询结果,便于用户查看和进一步处理。

在一个实施例中,相关度大小可以用日志向量与事件查询向量之间的汉明距离来表示。汉明距离越大,则说明日志向量与事件查询向量中相同的信息越少,则二者的相关度越小。按照与事件查询向量的汉明距离从小到大的顺序排列日志向量对应的日志记录,生成日志查询结果。此装置能够通过向量运算获取日志向量与事件查询向量的相关度,运算的可靠性高,且能为用户提供友好的日志查询信息。

在一个实施例中,如图7所示,701、702和703分别为请求获取模块、查询向量生成模块和查询模块,其结构和功能与图5、6中相似。704为预处理模块,能够对日志文件进行预处理。每个日志文件中可以包含多条日志记录。在预处理过程中,为每个日志文件的日志记录生成相应的日志向量。在一个实施例中,可以将这些日志向量写入索引文件。

此装置能够为普通的日志文件生成每条日志记录对应的日志向量,方便与事件查询向量进行比较;能够基于现有的日志文件存储系统进行改进,便于推广应用。

在一个实施例中,如图8所示,801、802、803、804分别为请求获取模块、查询向量生成模块、查询模块和预处理模块,其结构和功能与图7中相似。805为采集模块,能够在采集日志时,以预定的模板存储日志信息,将关键的信息,如源IP地址、目的IP地址、端口号、事件、事件戳等放在日志文件的头部,以文本格式进行存储。

本装置以预定模板存储的日志文本更便于进行预处理,生成对应的日志向量,从而提高整个系统的执行效率。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进 行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

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