1.本技术涉及计算机技术领域,特别是涉及一种日志分析方法和计算机设备。
背景技术:2.在软硬件产品研发的过程中,当产品出现功能故障时,研发人员会通过产品所答应的调试日志进行故障的分析与定位。
3.研发人员在对日志进行分析时,需要尽可能地了解产品功能,学习每个模块的具体实现,掌握各个模块的逻辑组合,才能开始进行日志分析工作,对日志进行定位分析也要花费足够多的时间。可见,对日志进行人工分析,分析难度高,耗时长。
4.因此,现有技术有待改进。
技术实现要素:5.本发明提供了一种日志分析方法和计算机设备,本发明中确定日志文件的若干特征信息,基于特征信息确定分析信息,基于日志文件生成分析报告的过程不需要人工参与,节省了分析日志所需要的人力,提高了工作效率。
6.第一方面,本发明实施例提供了日志分析方法,包括:
7.获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
8.根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
9.进一步的改进方案中,所述若干特征信息还包括:所述日志文件对应的文件大小和/或日志行数。
10.进一步的改进方案中,所述根据所述若干特征信息确定所述日志文件对应的分析信息,具体包括:
11.将所述若干特征信息输入目标识别模型,通过所述目标识别模型输出目标值,其中,所述目标值用于反映所述日志文件是正常文件的概率;
12.基于预设的目标阈值和所述目标值确定所述日志文件对应的分析信息。
13.进一步的改进方案中,所述分析信息包括正常信息或者异常信息;所述基于预设的目标阈值和所述目标值确定所述日志文件对应的分析信息,具体包括:
14.当所述目标值小于所述目标阈值时,所述日志文件对应的分析信息为正常信息;
15.当所述目标值大于或等于所述目标阈值时,所述日志文件对应的分析信息为异常信息。
16.进一步的改进方案中,所述目标识别模型的生成过程包括:
17.获取预设网络模型;
18.基于训练日志确定所述预设网络模型对应的若干训练特征信息;
19.基于所述若干训练特征信息对所述预设网络模型进行训练,以得到目标识别模
型。
20.进一步的改进方案中,所述目标识别模型的生成过程包括:
21.获取预设网络模型集,其中,预设网络模型集包括若干预设网络模型;
22.对于每个预设网络模型,基于训练日志确定所述预设网络模型对应的若干训练特征信息,基于所述若干训练特征信息对所述预设网络模型进行训练,以得到候选识别模型;
23.基于获取到的所有候选识别模型,确定目标识别模型,其中,所述目标识别模型包含于若干候选识别模型内。
24.进一步的改进方案中,所述若干预设网络模型各自分别配置的映射函数互不相同;对于每个预设网络模型,该预设网络模型配置的映射函数,用于将该预设网络模型对应的若干训练特征信息映射为该预设网络模型对应的训练值。
25.进一步的改进方案中,所述预设网络模型配置有若干预设参数,所述若干特征信息与所述若干预设参数一一对应;所述基于所述若干训练特征信息对所述预设网络模型进行训练,具体包括:
26.将所述若干训练特征信息输入所述预设网络模型,以得到训练值;
27.基于所述训练值和所述训练日志对应的第一真实值确定调整值;
28.对于每个预设参数,确定该预设参数对应的训练特征信息,基于所述调整值和该预设参数对应的训练特征信息,确定该预设参数对应的目标参数,并采用所述目标参数替换该预设参数。
29.进一步的改进方案中,所述基于获取到的所有候选识别模型,确定目标识别模型,具体包括:
30.分别获取所述所有候选识别模型中每个候选识别的模型精度;
31.将模型精度最高的候选识别模型作为目标识别模型。
32.进一步的改进方案中,所述分别获取所述所有候选识别模型中每个候选识别的模型精度,具体包括:
33.获取测试日志,以及所述测试日志对应的第二真实值;
34.对于每个候选识别模型,基于所述测试日志和所述候选识别模型确定所述测试日志对应的测试值,基于所述测试值和所述第二真实值确定所述候选识别模型的模型精度,其中,所述模型精度用于反映所述测试值和所述第二真实值之间的差异。
35.进一步的改进方案中,所述目标阈值的确定过程包括:
36.获取测试日志集,其中,所述测试日志集包括若干测试日志组,若干测试日志组中的每组测试日志组均包括测试日志和所述测试日志对应的第二真实值;
37.对于每个测试日志,确定该测试日志对应的若干测试特征信息,将所述若干测试特征信息输入所述目标识别模型,以得到目标测试值,并基于该测试日志对应的目标测试值和第二真实值,确定候选阈值;
38.确定所有测试日志各自分别对应的候选阈值的平均值,并将所述平均值作为目标阈值。
39.进一步的改进方案中,所述根据所述若干特征信息确定所述日志文件对应的分析信息之后,还包括:
40.基于所述若干特征信息和所述分析信息生成所述日志文件对应的分析报告。
41.第二方面,本发明实施例提供了一种日志分析装置,包括:
42.特征信息提取模块,用于获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
43.分析信息确定模块,用于根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
44.第三方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
45.获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
46.根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
47.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
48.获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
49.根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
50.与现有技术相比,本发明实施例具有以下优点:
51.在本发明实施例中,获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。在本发明中,提取日志文件的特征信息,根据特征信息可以确定日志文件是正常文件或者异常文件。在分析日志的过程中不需要人工参与,节省了分析日志所需要的人力,提高了工作效率。
附图说明
52.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1为本发明实施例中一种日志分析方法的流程示意图;
54.图2为本发明实施例中分析报告的示意图;
55.图3为本发明实施例的第一个示例中,一种日志分析方法的流程示意图;
56.图4为本发明实施例的第二个示例中,一种日志分析方法的流程示意图;
57.图5为本发明实施例的第三个示例中,一种日志分析方法的流程示意图;
58.图6为本发明实施例中一种日志分析装置的结构示意图;
59.图7为本发明实施例中计算机设备的内部结构图。
具体实施方式
60.为了使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
61.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
62.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
63.发明人经过研究发现,在软硬件产品研发的过程中,当产品出现功能故障时,研发人员会通过产品所答应的调试日志进行故障的分析与定位。目前主流的日志分析过程,通常的流程就是:1、产品某功能出现故障;2、学习该产品,学习其功能,学习其内部模块组合及代码实现;3、阅读故障日志;4、撰写分析报告,随着业务的不断扩大,产品出现的故障会越来越多,因此日志分析的投入也会越来越高,在不同的故障发生时,需要学习不同的内容。传统的解决方案是通过更多的研发人员分析日志文件,研发人员需要花费大量时间学习产品功能,学习每个模块的具体实现,掌握各个模块的逻辑组合,分析日志文件,并撰写分析报告,可见,对日志进行人工分析,分析难度高,耗时长。
64.为了解决上述问题,在本发明实施例中,获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。在本发明中,提取日志文件的特征信息,根据特征信息可以确定日志文件是正常文件或者异常文件。在分析日志的过程中不需要人工参与,节省了分析日志所需要的人力,提高了工作效率。
65.本发明实施例提供的一种日志分析方法可以应用于电子设备,所述电子设备包括pc机、服务器、手机、平板电脑、掌上电脑、个人数字助理(personal digital assistant,pda)等。
66.下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
67.参阅图1,本实施例提供了一种日志分析方法,包括:
68.s1、获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量。
69.在本发明实施例中,待分析的日志文件是用于被分析的日志文件,所述一种日志分析方法,用于分析待分析的日志文件是正常文件还是异常文件。日志文件是用于记录系
统操作事件的记录文件。所述若干特征信息用于反映日志文件的内容。
70.在本发明实施例中,所述错误数量是指日志文件中出现错误信息的数量,错误信息是指日志文件中用于表示错误的信息,例如,通过“error”表示出现错误。在系统运行的过程中,若出现请求超时、连接异常、数据未接收完毕连接就已经关闭等情况,则日志文件中会出现错误信息“error”的提示。所述若干特征信息还包括:所述日志文件对应的文件大小和/或日志行数和错误数量。在本发明实施例中,所述文件大小是指日志文件占用内存的大小,所述日志行数是指日志文件中日志的行数。
71.对所述日志文件进行分析,可以确定日志文件对应的若干特征信息。当所述若干特征信息包括文件大小、日志行数和错误数量时,步骤s1包括:
72.s11、调用文件索引接口,以确定所述日志文件对应的文件大小。
73.在本发明实施例中,所述文件大小通过数值表示,可以设定默认单位为兆字节(mb),若文件大小对应的数值为1,则表示日志文件大小为1mb。可以根据日志文件的文件名查找日志文件,并通过大小获取函数确定过文件名对应的日志文件的文件大小。具体的,通过代码1实现获取日志文件的文件大小。
74.代码1:
75.import os
76.return os.path.getsize(filename)
77.其中,filename中是日志文件的文件名,通过getsize获取日志文件的文件大小。
78.s12、调用文件读取接口,以确定日志文件对应的日志行数。
79.在本发明实施例中,所述日志行数通过数值表示,假设日志行数为4400,则表示日志文件包括4400行日志。可以根据日志文件的文件名查找日志文件并打开日志文件,通过readlines确定文件名对应的日志文件的日志行数。具体的,通过代码2实现获取日志的日志行数。
80.代码2:
81.with open(filename)sa f:
82.return len(f.readlines())
83.其中,filename中是日志文件的文件名,通过readlines()确定日志行数。
84.s13、在所述日志文件中查询错误信息,以确定所述日志文件对应的错误数量。
85.在本发明实施例中,所述错误信息是日志文件中用于表示错误的信息,例如,日志文件中出现“error”,或者“null”。查询日志文件中包括的错误信息,并统计错误信息出现的次数,将错误信息出现的次数作为日志文件对应的错误数量。所述错误数量通过数值表示,假设错误数量为51,表示日志文件中出现51处错误信息。
86.在本发明实施例中,所述若干特征信息还可以包括其他日志文件的信息,例如,日志文件中出现错误信息的行数占日志行数的比例。可以针对每个特征信息设计提取特征信息的代码,即对于需要确定的特征信息,只要编写确定特征信息对应的代码即可。
87.在本发明实施例中,通过上述过程确定若干特征信息后,可以基于若干特征信息得到一特征向量,特征向量中包括若干特征信息。例如,若干特征信息对应的特征向量为(x0,x1,
…
,xn),其中,x0表示文件大小,x1表示日志行数。
88.s2、根据所述若干特征信息确定所述日志文件对应的分析信息。
89.在本发明实施例中,所述分析信息用于反映所述日志文件的异常情况。日志文件的异常情况是指日志文件是正常文件或者异常文件,所述分析信息包括正常信息或者异常信息;当所述分析信息为正常信息时,所述日志文件为正常文件,当所述分析信息为异常信息时,所述日志文件为异常文件。所述分析信息可以通过标识表示;例如,分析信息对应的标识为1,则表示分析信息为正常信息,即日志文件为正常文件;分析信息对应的标识为0,则表示分析信息为异常信息,即日志文件为异常文件。
90.通过目标识别模型和若干特征信息确定日志文件对应的分析信息,所述目标识别模型是基于训练日志集训练得到的。接下来介绍目标识别模型的生成过程。
91.所述目标识别模型的生成过程包括:
92.m1、获取预设网络模型。
93.m2、基于训练日志确定所述预设网络模型对应的若干训练特征信息。
94.在本发明实施例中,所述训练日志是训练日志集中的文件。所述训练日志集包括多个训练日志组,多个训练日志组中的每个训练日志组均包括训练日志和所述训练日志对应的第一真实值。所述训练日志集不包括所述待分析的日志文件。所述第一真实值可以表示所述训练日志是异常文件或者正常文件。所述第一真实值,用于在目标识别模型的生成过程中,调整预设网络模型的若干预设参数。所述第一真实值可以通过数字表示,例如,第一真实值为1或0,当第一真实值为1时,表示所述训练日志是正常文件,当第一真实值为0时,表示所述训练日志是异常文件。
95.在本发明实施例中,所述训练特征信息至少包括训练日志的文件大小、训练日志的日志行数和训练日志的错误数量。所述确定该训练日志对应的若干训练特征信息,与步骤s1中“提取所述日志文件对应的若干特征信息”的过程一样,因此,关于确定训练日志对应的若干训练特征信息的具体过程,可以参见步骤s1的具体说明。
96.在本发明实施例中,所述预设网络模型配置有若干预设参数,所述预设网络模型配置的若干预设参数是初始化得到的。所述预设网络模型对应的若干训练特征信息,是指若干训练特征信息的数量与所述预设网络模型的若干预设参数的数量,并且,所述若干训练特征信息与所述若干预设参数一一对应。例如,所述预设网络模型配置有5个预设参数,则确定所述预设网络模型对应的5个训练特征信息。
97.m3、基于所述若干训练特征信息对所述预设网络模型进行训练,以得到目标识别模型。
98.在本发明实施例中,预设网络模型基于训练日志对应的若干训练特征信息得到训练值,所述训练值用于反映预设网络模型认为训练日志为正常文件的概率。根据所述训练日志的第一真实值和所述训练日志对应的训练值对所述预设网络模型进行训练,以得到目标识别模型。
99.具体的,步骤m3包括:
100.m31、将所述若干训练特征信息输入所述预设网络模型,以得到训练值。
101.在本发明实施例中,所述预设网络模型的输入项是若干训练特征信息,所述预设模型基于若干训练特征信息输出训练值。所述预设网络模型配置有映射函数,所述映射函数用于将若干训练特征信息映射为训练值,所述预设网络配置的若干预设参数是映射函数中的预设参数。预设网络模型可以通过公式(1)表示。
102.h(x)=θ0×
x0+θ1×
x1+θ2×
x2+
…
+θn×
xnꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
103.其中,θ0,θ1,
…
,θn均是预设参数,x0,x1,
…
,xn均是训练特征信息,h(x)是训练值。
104.m32、基于所述训练值和所述训练日志对应的第一真实值确定调整值。
105.在本发明实施例中,计算该训练日志对应的训练值,以及该训练日志对应的第一真实值之间的差值,将所述差值作为所述调整值。
106.m33、对于每个预设参数,确定该预设参数对应的训练特征信息,基于所述调整值和该预设参数对应的训练特征信息,确定该预设参数对应的目标参数,并采用所述目标参数替换该预设参数。
107.在本发明实施例中,对预设网络模型进行训练,是指对预设网络模型配置的预设参数进行修改。具体的,对于每个预设参数,根据调整值和该预设参数对应的训练特征信息,对该预设参数进行调整,以得到该预设参数对应的目标参数。
108.具体的,通过公式(2)可以确定预设参数对应的目标参数。
[0109][0110]
其中,θj是第j个预设参数,θj'是θj对应的目标参数,α是预设网络模型的固定参数,xj(i)是基于第i个训练日志得到的θj对应的训练特征信息,h(x(i))是第i个训练日志对应的训练值,y(i)是训练日志对应的第一真实值,n是训练日志集中训练日志的总数。
[0111]
例如,当计算θ1对应的目标参数时,假设θ1=0.5,α=0.1,假设训练日志集中有60个训练日志。则根据公式(2)可以计算θ1对应的目标参数θ1',如公式(3)所示。
[0112][0113]
其中,x
1(i)
是基于第i个训练日志得到的θj对应的训练特征信息,h(x(i))是第i个训练日志对应的训练值,y(i)是训练日志对应的第一真实值。
[0114]
在本发明实施例中,步骤m2至步骤m3只说明了基于一个训练日志对预设网络模型进行训练的过程,在具体实施时,所述训练日志集中包括多个训练日志,对于所述训练日志集中的每个训练日志,均执行步骤m2和步骤m3,以对预设网络模型进行训练,在一次训练后,将目标参数作为预设参数,再进行下一次训练,直至满足预设网络模型的训练条件,得到目标识别模型。
[0115]
在本发明实施例中,所述训练条件包括调整值满足预设要求,或者训练次数达到预设次数。所述预设要求可以是根据预设网络模型的精度来确定,这里不做详细说明,所述预设次数可以为最大训练次数,例如,4000次等。由此,计算调整值后,判断所述调整值是否满足预设要求,若调整值满足预设要求,则结束训练;若调整值不满足预设要求,则判断训练次数是否达到预测次数,若未达到预设次数,则修改预设网络模型的参数;若达到预设次数,则结束训练。
[0116]
在本发明实施例中,步骤m1至m3是对预设网络模型进行训练,以得到目标识别模型。在另一种实现方式中,可以多个网络模型进行训练,以得到多个网络模型中每个网络模型各自对应的候选网络模型,进而在所有候选网络模型中选取表现更好候选网络模型作为目标识别模型。
[0117]
具体的,所述目标识别模型的生成过程包括:
[0118]
k1、获取预设网络模型集,其中,预设网络模型集包括若干预设网络模型。
[0119]
在本发明实施例中,若干预设网络模型各自分别配置的映射函数互不相同。对于每个预设网络模型,该预设网络模型配置的映射函数,用于将该预设网络模型对应的若干训练特征信息映射为该预设网络模型对应的训练值。
[0120]
所述预设网络模型集可以包括两个预设网络模型,分别为第一预设网络模型和第二预设网络模型。将第一预设网络模型配置的映射函数记为第一映射函数,将第二预设网络模型配置的映射函数记为第二映射函数,第一映射函数和第二映射函数不相同。
[0121]
所述预设网络模型集可以包括三个预设网络模型,分别为第一预设网络模型、第二预设网络模型和第三预设网络模型,将第三预设网络模型配置的映射函数记为第三映射函数。第一映射函数、第二映射函数和第三映射函数互不相同。
[0122]
k2、对于每个预设网络模型,基于训练日志确定所述预设网络模型对应的若干训练特征信息,基于所述若干训练特征信息对所述预设网络模型进行训练,以得到候选识别模型。
[0123]
在本发明实施例中,第一预设网络模型、第二预设网络模型和第三预设网络模型均配置有若干预设参数,其中,第一预设网络模型配置的若干第一预设参数的数量等于第二预设网络模型配置的若干第二预设参数的数量,若干第一预设参数的数量小于第三预设网络模型配置的若干第三预设参数的数量。
[0124]
对于第一预设网络模型,基于训练日志,确定所述第一预设网络对应的若干第一训练特征信息;对于第二预设网络模型,基于训练日志,确定所述第二预设网络模型对应的若干第二训练特征信息;对于第三预设网络模型,基于是训练日志,确定所述第三预设网络模型对应的若干第三训练特征信息。
[0125]
由于若干第一预设参数的数量等于若干第二预设参数的数量,若干第一预设参数的数量小于若干第三预设参数的数量,因此,若干第一训练特征信息的数量等于若干第二训练特征信息的数量,若干第一训练特征信息的数量小于若干第三训练特征信息的数量。所述若干第一训练特征信息与所述若干第二训练特征信息可以完全相同。
[0126]
例如,若干第一训练特征信息(若干第二训练特征信息)包括:训练日志对应的文件大小、日志行数和错误数量,若干第三训练特征信息包括:训练日志对应的文件大小、日志行数、错误数量和错误信息的行数占日志行数的比例。
[0127]
其中,基于训练日志确定所述预设网络模型对应的若干训练特征信息的过程,与步骤m2中确定训练日志对应的若干训练特征信息的过程相同,进而,步骤k2的具体过程,可以参考步骤m2的说明。
[0128]
接下来介绍基于所述若干训练特征信息对所述预设网络模型进行训练,以得到候选识别模型的具体过程。
[0129]
对于第一预设网络模型,所述第一预设网络模型与步骤m1至步骤m3中的预设网络模型为同一网络模型,进而,所述第一预设网络模型可以通过公式(1)表示。具体的,将训练日志对应的若干第一训练特征信息输入第一预设网络模型,得到训练日志对应的第一训练值,基于训练日志对应的第一训练值和训练日志对应的第一真实值确定第一调整值,并基于第一调整值和若干第一训练特征信息对第一预设网络模型进行训练。所述第一调整值为第一真实值和所述第一训练值之间的差值。重复执行上述过程,以得到第一预设网络模型
对应的第一候选识别模型。
[0130]
在本发明实施例中,所述基于第一调整值和若干第一训练特征信息对第一预设网络模型进行训练,与步骤m33确定预设参数对应的目标参数的过程相同,进而,基于第一调整值和若干第一训练特征信息对第一预设网络模型进行训练的过程,可以参考步骤m33的说明。
[0131]
对于第二预设网络模型,所述第二预设网络模型配置的若干第二预设参数的数量等于所述第一预设网络模型配的若干第二预设参数的数量,所述第二预设网络模型可以通过公式(4)表示。
[0132]
l(x)=θ0×
x
02
+θ1×
x
12
+θ2×
x
22
+
…
+θn×
x
n2
ꢀꢀꢀꢀꢀꢀ
(4)
[0133]
其中,θ0,θ1,
…
,θn均是第二预设网络模型的第二预设参数,x0,x1,
…
,xn均是训练日志对应的第二特征信息,l(x)是通过第二预设网络模型得到的第二训练值。
[0134]
在本发明实施例中,基于训练日志对应的第一真实值和第二训练值确定第二调整值,并基于第二调整值和若干第二训练特征信息对第二预设网络模型进行训练。所述第二调整值为第一真实值和所述第二训练值之间的差值。重复执行上述过程,以得到第二预设网络模型对应的第二候选识别模型。
[0135]
在本发明实施例中,基于第二调整值和若干第二训练特征信息对第二预设网络模型进行训练,与步骤m33确定预设参数对应的目标参数的过程相同,进而,基于第二调整值和若干第二训练特征信息对第二预设网络模型进行训练的过程,可以参考步骤m33的说明。
[0136]
对于第三预设网络模型,所述第三预设网络模型配置的若干第三预设参数的数量大于所述第二预设网络模型配的若干第二预设参数的数量(若干第三预设参数的数量也大于若干第一预设参数的数量),所述第二预设网络模型可以通过公式(5)表示。
[0137]
f(x)=θ0×
x0+θ1×
x1+θ2×
x2+
…
+θn×
xn+θ
n+1
×
x
n+1
ꢀꢀꢀꢀꢀꢀ
(5)
[0138]
其中,θ0,θ1,
…
,θn均是第三预设网络模型配置的第三预设参数,x0,x1,
…
,xn均是训练日志对应的第三特征信息,f(x)是通过第三预设网络模型得到的第三训练值。
[0139]
在本发明实施例中,基于训练日志对应的第一真实值和第三训练值确定第三调整值,并基于第三调整值和若干第三训练特征信息对第三预设网络模型进行训练。所述第三调整值为第一真实值和所述第三训练值之间的差值。重复执行上述过程,以得到第三预设网络模型对应的第三候选识别模型。
[0140]
在本发明实施例中,基于第三调整值和若干第三训练特征信息对第三预设网络模型进行训练,与步骤m33中确定预设参数对应的目标参数的过程相同,进而,基于第三调整值和若干第三训练特征信息对第三预设网络模型进行训练的过程,可以参考步骤m33的说明。
[0141]
k3、基于获取到的所有候选识别模型,确定目标识别模型,其中,所述目标识别模型包含于若干候选识别模型内。
[0142]
在本发明实施例中,对于所有候选识别模型,确定每个候选识别模型的模型精度,选取模型精度最高的候选识别模型作为目标识别模型。
[0143]
具体的,步骤k3包括:
[0144]
k31、分别获取所述所有候选识别模型中每个候选识别的模型精度。
[0145]
在本发明实施例中,所述模型精度用于反映所述候选识别模型的输入项和输出项
之间的差异。通过测试日志确定每个候选识别模型的模型精度。通过测试日志确定每个候选识别模型的模型精度。
[0146]
具体的,步骤k31包括:
[0147]
k311、获取测试日志,以及所述测试日志对应的第二真实值;
[0148]
在本发明实施例中,测试日志是用于测试模型精度,且内容为日志的文件,所述测试日志不属于训练日志集,所述第二真实值可以表示测试日志是异常文件或者正常文件。例如,第二真实值为1或0,当第二真实值为1时,所述测试日志是正常文件,当第二真实值为0时,所述测试日志是异常文件。所述第二真实值可以用于确定所述候选识别模型的模型精度。
[0149]
在本发明实施例中,可以预先获取多个日志,将多个日志划分为训练日志集、测试日志集和验证日志集,其中,所述训练日志集包括的训练日志的数量,可以占多个日志的60%,所述测试日志集包括的测试日志的数量,可以占多个日志的20%,所述验证日志集包括的日志文件的数量,可以占多个日志的20%。所述待分析的日志文件可以属于验证日志集。每个训练日志均有各自分别对应的第一真实值,每个测试日志均有各自分别对应的第二真实值,而验证日志集包括的日志文件可以没有真实值。
[0150]
k312、对于每个候选识别模型,基于所述测试日志和所述候选识别模型确定所述测试日志对应的测试值,基于所述测试值和所述第二真实值确定所述候选识别模型的模型精度。
[0151]
在本发明实施例中,所有候选识别模型包括第一预设网络模型对应的第一候选识别模型,第二预设网络模型对应的第二候选识别模型,第三预设网络模型对应的第三候选识别模型。
[0152]
对于第一候选识别模型,确定测试日志对应的若干第一测试特征信息,将所述若干第一测试特征信息输入所述第一候选识别模型,以得到训练日志对应的第一测试值。对于第二候选识别模型,确定测试日志对应的若干第二测试特征信息,将所述若干第二测试特征信息输入所述第二候选识别模型,以得到训练日志对应的第二测试值。对于第三候选识别模型,确定测试日志对应的若干第三测试特征信息,将所述若干第三测试特征信息输入所述第三候选识别模型,以得到训练日志对应的第三测试值。其中,所述若干第一测试特征信息和所述若干第二测试特征信息可以相同。
[0153]
在本发明实施例中,所述基于所述测试值和所述第二真实值确定所述候选识别模型的模型精度,包括:对于每个测试值,计算该测试值与第二真实值之间的差值,将该测试值与第二真实值之间的差值,作为输出该测试值的候选识别模型的模型精度。
[0154]
在本发明实施例中,测试值与第二真实值之间的差值越小,表示候选识别模型的输入项和输出项之间的差异越小,即模型精度越高,测试值与第二真实值之间的差值越大,表示候选识别模型的输入项和输出项之间的差异越大,即模型精度越低。
[0155]
k32、将模型精度最高的候选识别模型作为目标识别模型。
[0156]
在本发明实施例中,分别计算所述第一测试值、所述第二测试值和所述第三测试值与所述第二真实值之间的差值,得到第一测试值对应的第一模型精度,第二测试值对应的第二模型精度和第三测试值对应的第三模型精度。在所述第一模型精度、所述第二模型精度和所述第三模型精度中确定最小模型精度,将最小模型精度对应的候选识别模型作为
目标识别模型。
[0157]
在本发明实施例中,当所述第一模型精度为最小模型精度时,选取所述第一候选识别模型为目标识别模型;当所述第二模型精度为最小模型精度时,选取所述第二候选识别模型为目标识别模型;当所述第三模型精度为最小模型精度时,选取所述第三候选识别模型为目标识别模型。
[0158]
在本发明实施例中,确定目标识别模型后,可以根据目标识别模型确定目标阈值,进而可以根据目标阈值,确定待分析的日志的分析信息。
[0159]
接下来介绍通过目标识别模型确定分析信息的具体过程。
[0160]
具体的,步骤s2包括:
[0161]
s21、将所述若干特征信息输入目标识别模型,通过所述目标识别模型输出目标值。
[0162]
在本发明实施例中,所述若干特征信息是待分析的日志文件对应的特征信息,将若干特征信息输入目标识别模型,以得到目标值。所述目标值用于反映所述日志文件是正常文件的概率。
[0163]
s22、基于预设的目标阈值和所述目标值确定所述日志文件对应的分析信息。
[0164]
在本发明实施例中,所述分析信息包括正常信息或者异常信息,分析信息为正常信息,则表示日志文件为正常文件,分析信息为异常信息,则表示日志文件为异常文件。比较目标值和目标阈值之间大小,当所述目标值小于所述目标阈值时,所述日志文件对应的分析信息为正常信息;当所述目标值大于或等于所述目标阈值时,所述日志文件对应的分析信息为异常信息。
[0165]
例如,假设目标值为0.75,目标阈值为0.8,则分析信息为异常信息;假设目标值为0.85,目标阈值为0.8,则分析信息为正常信息。
[0166]
接下来介绍目标阈值的确定过程。
[0167]
所述目标阈值的确定过程包括:
[0168]
l1、获取测试日志集。
[0169]
在本发明实施例中,所述测试日志集包括若干测试日志组,若干测试日志组中的每组测试日志组均包括测试日志和所述测试日志对应的第二真实值。所述第二真实值可以表示测试日志是异常文件或者正常文件。例如,第二真实值为1或0,当第二真实值为1时,所述测试日志是正常文件,当第二真实值为0时,所述测试日志是异常文件。所述第二真实值可以用于确定目标阈值。
[0170]
l2、对于每个测试日志,确定该测试日志对应的若干测试特征信息,将所述若干测试特征信息输入所述目标识别模型,通过所述目标识别模型确定所述测试日志对应的目标测试值,并基于该测试日志对应的目标测试值和第二真实值,确定候选阈值。
[0171]
在本发明实施例中,确定测试日志对应的若干测试特征信息与步骤s1中提取所述日志文件对应的若干特征信息的过程相同,进而,对于确定测试日志对应的若干测试特征信息的过程可以参见s1的具体说明。
[0172]
在本发明实施例中,将若干测试特征信息输入所述目标识别模型,所述目标测试值是目标识别模型的输出项,用于表示目标识别模型认为测试日志是正常文件的概率,通过公式(6)可以计算候选阈值。
[0173][0174]
其中,m0是第二真实值,m是目标测试值,t是候选阈值。
[0175]
例如,m0为1,m为0.5,则t为0.75。
[0176]
l3、确定所有测试日志各自分别对应的候选阈值的平均值,并将所述平均值作为目标阈值。
[0177]
在本发明实施例中,所有候选阈值包括测试日志集中每个测试日志各自分别对应的候选阈值;将所有候选阈值的平均值作为目标阈值。所述目标阈值是正常文件和异常文件之间的分界线。确定目标阈值后,可根据目标阈值确定待分析的日志文件的分析信息。
[0178]
s3、基于所述若干特征信息和所述分析信息生成所述日志文件对应的分析报告。
[0179]
在本发明实施例中,对所述若干特征信息进行文字描述,再结合分析信息生成所述日志文件对应的分析报告。
[0180]
例如,对于若干特征信息:[x0,x1,x2],x0是日志大小,可以描述为:本日志文件大小为xxxmb;x1是日志行数,可以描述为:含有xxx行日志信息,x2是错误数量,可以描述为:本日志文件出现了xxx个error。
[0181]
在本发明实施例中,将若干特征信息转换文字信息后,添加上分析信息,即可生成分析报告。如图2所示,所述分析报告中还可以包括,日志文件对应的日志文件名和分析时间等信息,在具体实施时,获取日志文件对应的日志文件名和分析时间,并将日志文件对应的若干特征信息转换为文字信息,结合分析信息,得到分析报告。
[0182]
在第一个示例中,参见图3,所述日志分析方法包括:
[0183]
第一阶段、获取训练日志集,基于训练日志集中每个训练日志对应的若干训练特征信息,对预设网络模型进行训练,以得到目标识别模型。
[0184]
通过第一阶段,可以得到对日志文件具备分析能力的目标识别模型。
[0185]
第二阶段、获取预设网络模型集,所述预设网络模型集包括第一预设网络模型、第二预设网络模型和第三预设网络模型,其中,所述第一预设网络模型是第一阶段中的预设网络模型;
[0186]
基于训练日志集,分别对第一预设网络模型、第二预设网络模型和第三预设网络模型进行训练,得到第一预设网络模型对应的第一候选识别模型,第二预设网络模型对应的第二候选识别模型,第三预设网络模型对应的第三候选识别模型;在第一候选识别模型、第二候选识别模型和第三候选识别模型中,选择模型精度最高的候选识别模型作为目标识别模型。
[0187]
通过第二阶段,提高了目标识别模型的准确性。
[0188]
第三阶段、基于待分析的日志文件确定若干特征信息,基于若干特征信息和目标识别模型确定日志文件的分析信息,基于若干特征信息和分析信息生成分析报告。
[0189]
在第二个示例中,参见图4,所述日志分析方法包括:
[0190]
步骤a1、获取训练日志集,基于训练日志集对预设网络模型进行训练,得到目标识别模型;
[0191]
步骤b1、获取测试日志集,基于测试日志集和所述目标识别模型确定目标阈值;
[0192]
步骤c1、获取日志文件,基于日志文件和目标识别模型确定目标值,并基于目标阈
值和目标值确定日志文件对应的分析信息。
[0193]
在第三个示例中,参见图5,所述日志分析方法包括:
[0194]
步骤1、获取训练日志集、测试日志集和验证日志集;训练日志集包括多个训练日志,以及每个训练日志对应的第一真实值,测试日志集包括多个测试日志,以及每个测试日志对应的第二真实值,验证日志集包括多个待分析的日志文件;
[0195]
步骤2、确定每个训练日志各自分别对应的若干训练特征信息;
[0196]
步骤3、基于每个训练日志各自分别对应的若干训练特征信息对预设网路模型进行训练,得到目标识别模型;
[0197]
步骤4、确定每个测试日志各自分别对应的若干测试特征信息;
[0198]
步骤5、基于每个测试日志各自分别对应的若干测试特征信息和所述目标识别模型确定目标阈值;
[0199]
步骤6、确定待分析的日志文件对应的若干特征信息;
[0200]
步骤7、将日志文件对应的若干特征信息输入所述目标识别模型,以得到目标值;
[0201]
步骤8、根据目标值和所述目标阈值确定所述日志文件对应的分析信息;
[0202]
步骤9、根据日志文件对应的若干特征信息和日志文件对应的分析信息生成分析报告。
[0203]
在本发明实施例中,获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。在本发明中,提取日志文件的特征信息,根据特征信息可以确定日志文件是正常文件或者异常文件。在分析日志的过程中不需要人工参与,节省了分析日志所需要的人力,提高了工作效率。
[0204]
本发明还提供了一种日志分析装置,参见图6,包括:
[0205]
特征信息提取模块,用于获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
[0206]
分析信息确定模块,用于根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
[0207]
在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络模型接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络模型接口用于与外部的终端通过网络模型连接通信。该计算机程序被处理器执行时以实现一种日志分析方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0208]
本领域技术人员可以理解,图7所示的仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0209]
本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0210]
获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
[0211]
根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
[0212]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0213]
获取待分析的日志文件,并提取所述日志文件对应的若干特征信息,其中,所述若干特征信息至少包括所述日志文件对应的错误数量;
[0214]
根据所述若干特征信息确定所述日志文件对应的分析信息,其中,所述分析信息用于反映所述日志文件的异常情况。
[0215]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0216]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。