日志分析方法、装置、终端设备及可读存储介质与流程

文档序号:16998573发布日期:2019-03-02 01:34阅读:157来源:国知局
日志分析方法、装置、终端设备及可读存储介质与流程

本发明涉及数据分析技术,尤其涉及一种日志分析方法、装置、终端设备及可读存储介质。



背景技术:

随着计算机技术和互联网技术的发展,计算机的应用越来越广泛。特别的,当用户通过计算机访问互联网或通过计算机使用应用时,互联网服务器或应用服务器会产生大量的日志数据,这些日志数据记录着用户的访问内容、访问时间等信息。对这些日志数据进行分析能够有效为开发者和运行商提供服务器运行状态的反馈信息和市场的需求导向信息,有利于提高服务器的服务质量。

在现有技术中,日志数据是存储在数据服务器中的,在对日志数据进行分析时,需要读取全部的日志数据,并对其进行汇聚,以实现对日志数据的分析。但是,由于日志数据的数据极大,在每次的日志数据分析需对存储的全部的日志数据进行分析,这使得其所需的分析时间较长,效率较低。同时,由于在每次分析时,部分日志数据是前一次分析时的日志数据是相同的,即对这部分日志数据的分析是重复的,也就是说,现有技术中对同一日志数据将进行多次分析,进一步降低了分析效率。



技术实现要素:

针对上述提及的现有日志数据的分析中,在每一次的日志数据分析均是针对存储的全部日志数据进行的,其分析所需时间较长,分析效率较低的问题,本发明提供了一种日志分析方法、装置、终端设备及可读存储介质。

一方面,本发明提供了一种日志分析方法,包括:

按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;

对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;

按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

在其中一种可选的实施方式中,所述获得日志文件的分析结果之后,还包括:

存储所述日志文件的分析结果以及所述日志文件的分析结果的存储时间;

所述存储的所述日志文件的分析结果作为下一次日志分析的历史日志数据的分析结果,将当前的日志数据作为下一次的已分析的历史日志数据。

在其中一种可选的实施方式中,所述未分析的增量日志数据和所述已分析的历史日志数据中分别包括属性信息和数据类型;

所述按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行加权处理,包括:

根据所述增量日志数据的数据类型确定与其具备相同数据类型的历史日志数据以及分析结果;

根据所述增量日志数据的属性信息确定预设规则,并对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,所述预设规则包括加权处理规则和合并处理规则。

在其中一种可选的实施方式中,所述按照存储时间对获取的日志文件进行拆分之前,包括:

按照预设的时间间隔检测日志文件中是否存储有增量数据;

若是,则读取所述日志文件,并执行按照存储时间对读取的日志文件进行拆分的步骤。

另一方面,本发明提供了一种日志分析装置,包括:

拆分单元,用于按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;

分析单元,用于对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;

处理单元,用于按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

在其中一种可选的实施方式中,还包括:存储单元;

所述存储单元,还用于在获得日志文件的分析结果之后存储所述日志文件的分析结果以及所述日志文件的分析结果的存储时间;所述存储的所述日志文件的分析结果作为下一次日志分析的历史日志数据的分析结果,将当前的日志数据作为下一次的已分析的历史日志数据。

在其中一种可选的实施方式中,所述未分析的增量日志数据和所述已分析的历史日志数据中分别包括属性信息和数据类型;

所述处理单元具体用于:根据所述增量日志数据的数据类型确定与其具备相同数据类型的历史日志数据以及分析结果;根据所述增量日志数据的属性信息确定预设规则,并对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,所述预设规则包括加权处理规则和合并处理规则。

在其中一种可选的实施方式中,还包括读取单元;

所述检测单元用于在按照存储时间对获取的日志文件进行拆分之前,按照预设的时间间隔检测日志文件中是否存储有增量数据;若是,则读取所述日志文件,以使所述拆分单元执行按照存储时间对读取的日志文件进行拆分。

再一方面,本发明提供了一种终端设备,包括:存储器、与所述存储器连接的处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,

所述处理器运行所述计算机程序时执行如前任一项所述的方法。

最后一方面,本发明提供了一种可读存储介质,包括程序,当其在终端设备上运行时,使得终端设备执行如前任一项所述的方法。

本发明提供的日志分析方法、装置、终端设备及可读存储介质,通过按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果,从而使得在对日志进行分析时,仅需对增量日志数据进行分析,并将增量日志数据的分析结果和存储的历史日志数据的分析结果进行整合处理,以得到最终的分析结果,其相对于现有的日志分析方法,其分析数据量大大降低,进而降低了分析时间,提高分析效率,也更有效的利用了分析资源。

附图说明

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

图1为本发明基于的网络架构示意图;

图2为本发明实施例一提供的一种日志分析方法的流程示意图;

图3为本发明实施例二提供的一种日志分析方法的流程示意图;

图4为本发明实施例三提供的一种日志分析装置的结构示意图;

图5为本发明实施例四提供的一种终端设备的硬件结构示意图。

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

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本申请提供的日志分析方法、装置、终端设备及可读存储介质可运用在对各类日志进行分析的场景中,这些场景包括但不限于:对应用程序的日志进行分析,对服务器的运行日志进行分析,对各种web服务器如apachetomcat、oracleweblogic、ibmwebsphere等产生的用户访问日志进行分析等。

图1为本发明基于的网络架构示意图,如图1所示,本发明基于的网络架构至少包括:终端设备1、安装在终端设备1上的日志分析装置2以及数据服务器3。其中,日志分析装置2采用c/c++、java、shell或python等语言编写;终端设备1则可例如台式电脑、平板电脑等。数据服务器3则可为云端服务器或服务器集群,其内存储有大量的日志文件。

图2为本发明实施例一提供的一种日志分析方法的流程示意图。

如图2所示,该日志分析方法包括:

步骤101、按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果。

步骤102、对所述增量日志数据进行分析,获得所述增量日志数据的分析结果。

步骤103、按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

需要说明的是,本发明提供的日志分析方法的执行主体具体可为图1所示的日志分析装置2。该日志分析装置2是安装在终端设备1上的,终端设备1可与数据服务器3取得通信连接以及进行数据交互。

为了避免现有技术中对日志分析中,在每一次的日志数据分析均是针对存储的全部日志数据进行的,其分析所需时间较长,分析效率较低的问题。本实施例一提供的日志分析方法首先可读取来自数据服务器的日志文件,日志分析装置将按照存储时间对读取的日志文件进行拆分。具体来说,在存储日志时,一般会将存储时间一并进行存储,以便于后续整理,其中存储时间可采用时间戳的方式。在本实施方式中,利用日志文件中各数据的存储时间,可将日志文件中的各数据进行划分,以使日志文件被划分为未分析的增量日志数据和已分析的历史日志数据。其中,历史日志数据是指前一次日志分析过程中已分析过的日志数据,一般来说,这些日志数据的存储时间应早于前一次日志分析的分析时间;而增量日志数据是指前一次日志分析中未被分析的日志数据,一般来说,这些日志数据的存储时间应晚于前一次日志分析的分析时间。此外,对于历史日志数据,还可获取其相应的分析结果,该分析结果可为前一次日志分析时获得的。

随后,对所述增量日志数据进行分析,获得所述增量日志数据的分析结果。具体来说,对增量日志数据进行分析的过程可采用各类日志分析方法,本实施方式对此不进行限制。

最后,按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

通过采用本实施方式提供的日志分析方法,从而使得在对日志进行分析时,仅需对增量日志数据进行分析,并将增量日志数据的分析结果和存储的历史日志数据的分析结果进行整合处理,以得到最终的分析结果,其相对于现有的日志分析方法,其分析数据量大大降低,进而降低了分析时间,提高分析效率,也更有效的利用了分析资源。

可选的,在获得日志文件的分析结果之后,该日志分析方法还包括存储所述日志文件的分析结果以及所述日志文件的分析结果的存储时间;所述存储的所述日志文件的分析结果作为下一次日志分析的历史日志数据的分析结果,将当前的日志数据作为下一次的已分析的历史日志数据。

此外,需要说明的是,每一日志数据中可包括多种类型的信息,这些信息的类型包括但不限于属性信息和数据类型。相应的,所述按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行加权处理,包括:根据所述增量日志数据的数据类型确定与其具备相同数据类型的历史日志数据以及分析结果;根据所述增量日志数据的属性信息确定预设规则,并对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,所述预设规则包括加权处理规则和合并处理规则。

其中,需要说明的是,该属性信息和数据类型是在对日志数据进行存储时预先设置的,当日志分析装置获取到日志数据时,可直接获取该属性信息,以确定相应的处理规则,对分析结果进行处理。进一步来说。首先确定增量日志数据的数据类型,从历史日志数据中找到与之数据类型一致的数据,根据增量日志数据的属性信息确定采用加权处理规则或合并处理规则对分析结果进行处理。

其中的加权处理规则可例如,如公式(1)所示:

result(t)=α·increres(t)+(1-α)·historyres(t)公式(1)

其中,α为权重因子,且α∈[0,1],α值越接近1,表明增量日志数据的分析结果所占权重也越大,相应的历史日志数据的分析结果的权重就会越小。其中的increres(t)为在t时刻的全部的增量日志数据的分析结果;historyres(t)为在t时刻的全部历史日志数据的分析结果,result(t)为在t时刻的日志文件的分析结果。其中需要说明的是,由于存储时刻的差异,increres(t)中可能包括有多个时刻的增量日志数据的分析结果,而historyres(t)中可能包括有多个时刻的历史日志数据的分析结果。此外。权重α根据分析结果对时间敏感度的不同,进行不同的设置,α通常取经验值0.6。在本实施方式中,权重的设置体现了历史日志数据和增量日志数据的重要程度的关系:当数据量非常大时,通常认为越接近当前时间所采集的增量日志数据的分析结果其对整个日志文件的分析结果产生影响的可能性也会越大。因此,对于增量日志数据的分析结果所占权重会相应的设置较大。

其中的合并处理规则可例如,如公式(2)所示:

result(t)=increres(t)+historyres(t)公式(2)

在某些场景下如当分析获得的分析结果为枚举类型或者统计某个数据项的集合时,加权处理是没有实际意义的,只能通过合并处理的方式实现分析结果的获取。

本发明提供的日志分析方法,通过按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果,从而使得在对日志进行分析时,仅需对增量日志数据进行分析,并将增量日志数据的分析结果和存储的历史日志数据的分析结果进行整合处理,以得到最终的分析结果,其相对于现有的日志分析方法,其分析数据量大大降低,进而降低了分析时间,提高分析效率,也更有效的利用了分析资源。

在实施例一的基础上,图3为本发明实施例二提供的一种日志分析方法的流程示意图。

如图3所示,该日志分析方法包括:

步骤201、按照预设的时间间隔检测日志文件中是否存储有增量数据。

步骤202、当日志文件中存储有增量数据时,读取所述日志文件。

步骤203、按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果。

步骤204、对所述增量日志数据进行分析,获得所述增量日志数据的分析结果。

步骤205、按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

与实施例一类似的是,本发明提供的日志分析方法的执行主体具体可为图1所示的日志分析装置2。该日志分析装置2是安装在终端设备1上的,终端设备1可与数据服务器3取得通信连接以及进行数据交互。

与实施例以不同的是,在本实施例二中,日志分析装置还将按照预设的时间间隔检测日志文件中是否存储有增量数据,并在当日志文件中存储有增量数据时,读取所述日志文件。

具体来说,日志分析装置可通过监听机制或触发机制,按照预设的时间间隔触发检测功能,以检测日志文件中是否包括有增量日志数据,并在存储增量日志数据时,读取并拆分日志文件。其中,预设的时间间隔可例如60秒,当实时性要求较高时,时间间隔的设置较短,相反设置的时间间隔适当增加,以便尽量降低不必要的系统开销。

随后,与实施例一类似的是日志分析装置将按照存储时间对读取的日志文件进行拆分。具体来说,在存储日志时,一般会将存储时间一并进行存储,以便于后续整理,其中存储时间可采用时间戳的方式。在本实施方式中,利用日志文件中各数据的存储时间,可将日志文件中的各数据进行划分,以使日志文件被划分为未分析的增量日志数据和已分析的历史日志数据。其中,历史日志数据是指前一次日志分析过程中已分析过的日志数据,一般来说,这些日志数据的存储时间应早于前一次日志分析的分析时间;而增量日志数据是指前一次日志分析中未被分析的日志数据,一般来说,这些日志数据的存储时间应晚于前一次日志分析的分析时间。此外,对于历史日志数据,还可获取其相应的分析结果,该分析结果可为前一次日志分析时获得的。

随后,对所述增量日志数据进行分析,获得所述增量日志数据的分析结果。具体来说,对增量日志数据进行分析的过程可采用各类日志分析方法,本实施方式对此不进行限制。

最后,按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

可选的,在获得日志文件的分析结果之后,该日志分析方法还包括存储所述日志文件的分析结果以及所述日志文件的分析结果的存储时间;所述存储的所述日志文件的分析结果作为下一次日志分析的历史日志数据的分析结果,将当前的日志数据作为下一次的已分析的历史日志数据。

此外,需要说明的是,每一日志数据中可包括多种类型的信息,这些信息的类型包括但不限于属性信息和数据类型。相应的,所述按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行加权处理,包括:根据所述增量日志数据的数据类型确定与其具备相同数据类型的历史日志数据以及分析结果;根据所述增量日志数据的属性信息确定预设规则,并对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,所述预设规则包括加权处理规则和合并处理规则。

其中,需要说明的是,该属性信息和数据类型是在对日志数据进行存储时预先设置的,当日志分析装置获取到日志数据时,可直接获取该属性信息,以确定相应的处理规则,对分析结果进行处理。进一步来说。首先确定增量日志数据的数据类型,从历史日志数据中找到与之数据类型一致的数据,根据增量日志数据的属性信息确定采用加权处理规则或合并处理规则对分析结果进行处理。

其中的加权处理规则如实施例一种的公式(1)所示,其中的合并处理规则如实施例一种的公式(2)所示,在此均不进行赘述。

本发明提供的日志分析方法,通过按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果,从而使得在对日志进行分析时,仅需对增量日志数据进行分析,并将增量日志数据的分析结果和存储的历史日志数据的分析结果进行整合处理,以得到最终的分析结果,其相对于现有的日志分析方法,其分析数据量大大降低,进而降低了分析时间,提高分析效率,也更有效的利用了分析资源。

图4为本发明实施例三提供的一种日志分析装置的结构示意图,如图4所示,该日志分析装置包括:

拆分单元10,用于按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;

分析单元20,用于对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;

处理单元30,用于按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

在其中一种可选的实施方式中,还包括:存储单元;

所述存储单元,还用于在获得日志文件的分析结果之后存储所述日志文件的分析结果以及所述日志文件的分析结果的存储时间;所述存储的所述日志文件的分析结果作为下一次日志分析的历史日志数据的分析结果,将当前的日志数据作为下一次的已分析的历史日志数据。

在其中一种可选的实施方式中,所述未分析的增量日志数据和所述已分析的历史日志数据中分别包括属性信息和数据类型;

所述处理单元30具体用于:根据所述增量日志数据的数据类型确定与其具备相同数据类型的历史日志数据以及分析结果;根据所述增量日志数据的属性信息确定预设规则,并对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,所述预设规则包括加权处理规则和合并处理规则。

在其中一种可选的实施方式中,还包括读取单元;

所述检测单元用于在按照存储时间对获取的日志文件进行拆分之前,按照预设的时间间隔检测日志文件中是否存储有增量数据;若是,则读取所述日志文件,以使所述拆分单元10执行按照存储时间对读取的日志文件进行拆分。

所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明提供的日志分析装置,通过按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果,从而使得在对日志进行分析时,仅需对增量日志数据进行分析,并将增量日志数据的分析结果和存储的历史日志数据的分析结果进行整合处理,以得到最终的分析结果,其相对于现有的日志分析方法,其分析数据量大大降低,进而降低了分析时间,提高分析效率,也更有效的利用了分析资源。

在其他实施方式中,图5为本发明实施例四提供的一种终端设备的硬件结构示意图。如图5所示,该终端设备具体可包括:

处理器42;

用于存储处理器可执行指令的存储器41;

其中,处理器42被配置为:

按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;

对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;

按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果。

其中,上述的存储器41可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。而处理器42可由一个或多个应用专用集成电路(asic)、数字信号处理器架构(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器架构或其他电子元件实现。

上述指令可采用c/c++、java、shell或python等语言编写,本实施例对此不进行限制。

所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明提供的终端设备,通过按照存储时间对读取的日志文件进行拆分,获得未分析的增量日志数据,已分析的历史日志数据以及其分析结果;对所述增量日志数据进行分析,获得所述增量日志数据的分析结果;按照预设规则对所述增量日志数据的分析结果和所述历史日志数据的分析结果进行处理,获得日志文件的分析结果,从而使得在对日志进行分析时,仅需对增量日志数据进行分析,并将增量日志数据的分析结果和存储的历史日志数据的分析结果进行整合处理,以得到最终的分析结果,其相对于现有的日志分析方法,其分析数据量大大降低,进而降低了分析时间,提高分析效率,也更有效的利用了分析资源。

本发明提供了一种计算机可读存储介质,包括指令,当所述指令在所述计算机上运行时,所述计算机可以执行上述实施例一或实施例二中任意所述的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

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