一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种日志分类方法、装置、设备及计算机可读存储介质与流程

2022-10-13 03:03:23 来源:中国专利 TAG:


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.图1为本发明实施例中日志分类方法的一种实施流程图;
42.图2为本发明实施例中日志分类方法的另一种实施流程图;
43.图3为本发明实施例中一种基于朴素贝叶斯算法的日志监测分析流程图;
44.图4为本发明实施例中一种日志分类装置的结构框图;
45.图5为本发明实施例中一种日志分类设备的结构框图;
46.图6为本实施例提供的一种日志分类设备的具体结构示意图。
具体实施方式
47.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.参见图1,图1为本发明实施例中日志分类方法的一种实施流程图,该方法可以包括以下步骤:
49.s101:获取预生成的目标日志。
50.预先设置对生成的日志进行监测,当监测到存在生成的目标日志时,获取预生成的目标日志。
51.目标日志可以为程序运行过程中生成任意一条日志。对于程序日志而言,在程序运行过程中,日志是逐条增加的,所以可以对每条日志作为一个对象进行处理。通过对日志的监测,将增加的每条日志作为一个输入数据。
52.s102:利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果。
53.预先训练对正常日志和异常日志进行自动分类的目标朴素贝叶斯模型。在获取到预生成的目标日志之后,利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果,从而得到预生成的目标日志具体为正常日志还是异常日志。
54.朴素贝叶斯算法(naive bayesian algorithm)是应用最为广泛的分类算法之一。朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。也就是说没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。极大地简化了贝叶斯方法的复杂性。
55.贝叶斯算法:贝叶斯方法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的。贝叶斯方法的特点是结合先验概率和后验概率,既避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。贝叶斯分类算法在数据集较大的情况下表现出较高的准确率,同时算法本身也比较简单。
56.s103:对日志分类结果输出操作。
57.在利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果之后,对日志分类结果输出操作。从而开发人员或运维人员能够根据输出的日志分类结果清楚地了解到程序当前运行是否正常。通过预先训练能够对日志进行自动分类的目标朴素贝叶斯模型,在获取到预生成的目标日志之后,直接利用目标朴素贝叶斯模型对所述目标日志进行分类,即可得到目标日志具体是异常日志还是正常日志的分类结果。相较于现
有的人工对日志逐条的阅读、分析的方式,较大地节省了人力,提升了异常日志定位效率。
58.在本发明的一种具体实施方式中,步骤s103可以包括以下步骤:
59.当日志分类结果为异常日志时,输出日志异常提示信息。
60.在利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果之后,判断日志分类结果是否为异常日志,如可以根据预先设置的正常日志和异常日志分别对应的类别标识符确定日志分类结果是否为异常日志。当日志分类结果为异常日志时,说明程序当前可能处于运行异常状态,输出日志异常提示信息。从而开发人员或运维人员能够根据输出的日志异常提示信息快速定位到异常日志,并根据异常日志进行后续维护操作。
61.在本发明的一种具体实施方式中,输出日志异常提示信息,可以包括以下步骤:
62.步骤一:获取日志等级对应的目标异常提示手段;
63.步骤二:利用目标异常提示手段输出日志异常提示信息。
64.为方便描述,可以将上述两个步骤结合起来进行说明。
65.预先对异常日志进行等级划分,并分别设置各等级的异常日志分别对应的异常提示手段,如可以将异常日志划分为轻度异常、一般异常和严重异常三个等级,相应地,各异常提示手段可以设置为轻度提示、一般提示、紧急提示,并预先设置轻度异常对应轻度提示,一般异常对应一般提示,严重异常对应紧急提示。如可以设置当确定异常日志为轻度异常时,通过向开发人员或运维人员发送邮件的方式提示当前程序运行异常,当确定异常日志为一般异常时,通过向开发人员或运维人员发送短信的方式提示当前程序运行异常,当确定异常日志为严重异常时,通过向声光报警的方式提示开发人员或运维人员当前程序运行异常。
66.当确定目标日志为异常日志时,说明需要提示开发人员或运维人员当前程序运行存在异常,获取日志等级对应的目标异常提示手段,利用目标异常提示手段输出日志异常提示信息。通过预先设置日志等级与异常提示手段之间的对应关系,能够对目标日志的异常情况进行更加精确地提示,以便开发人员或运维人员根据相应的提示信息准确判断程序当前运行状态。
67.本发明所提供的日志分类方法,获取预生成的目标日志;利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果;对日志分类结果输出操作。通过预先训练能够对日志进行自动分类的目标朴素贝叶斯模型,在获取到预生成的目标日志之后,直接利用目标朴素贝叶斯模型对目标日志进行分类,即可得到目标日志具体是异常日志还是正常日志的分类结果。相较于现有的人工对日志逐条的阅读、分析的方式,较大地节省了人力,提升了异常日志定位效率。
68.需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
69.在本发明的一种具体实施方式中,该方法还可以包括对目标朴素贝叶斯模型的训练过程,目标朴素贝叶斯模型的训练过程包括:
70.步骤一:获取训练日志集;
71.步骤二:获取预设的错误日志特征值和正常日志特征值;
72.步骤三:利用错误日志特征值对训练日志集中的错误日志进行标注,并利用正常日志特征值对训练日志集中的正常日志进行标注;
73.步骤四:利用标注完成的训练日志集对原始朴素贝叶斯模型进行训练,得到目标朴素贝叶斯模型。
74.为方便描述,可以将上述四个步骤结合起来进行说明。
75.预先收集日志信息作为训练日志集,并预先设置错误日志特征值和正常日志特征值。在对目标朴素贝叶斯模型进行训练时,获取训练日志集,获取预设的错误日志特征值和正常日志特征值,利用错误日志特征值对训练日志集中的错误日志进行标注,并利用正常日志特征值对训练日志集中的正常日志进行标注,利用标注完成的训练日志集对原始朴素贝叶斯模型进行训练,得到目标朴素贝叶斯模型。
76.参见图2,图2为本发明实施例中日志分类方法的另一种实施流程图,该方法可以包括以下步骤:
77.s201:获取预生成的目标日志。
78.s202:利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果。
79.朴素贝叶斯算法原理如下:
80.a)设有样本数据集d={d1,d2,

,dn},对应样本数据的特征属性集为x={x1,x2,

,xd}类变量为y={y1,y2,

,ym},即d可以为ym类别。在对于日志分类过程中,每条日志视为一个样本数据,对应样本数据的特征属性集则为每条日志信息中包含的文本单词;类变量在日志分类中只有两种,即正常日志与异常日志。其中x1,x2,

,xd相互独立且随机,则y的先验概率pprior=p(y),y的后验概率ppost=p(y|x),由朴素贝叶斯算法可得,后验概率可以有先验概率pprior=p(y)、证据p(x)、类条件概率p(x|y)计算出:
81.p(y|x)=p(y)p(x|y)/p(x);
82.b)朴素贝叶斯基于各特征之间相互独立,在给定类别y的情况下,上式可以进一步表达为下式:
[0083][0084]
c)由以上两式可以计算出后验概率为:
[0085][0086]
d)由于p(x)的大小是固定不变的,因此在比较后验概率时,只比较上式的分子部分即可。因此可以得到一个样本数据属于类别ym的朴素贝叶斯计算:
[0087][0088]
通过朴素贝叶斯算法,可以计算出每条日志的属于类变量y中正常日志和异常日志的概率,进而判断日志的分类。
[0089]
s203:对日志分类结果输出操作。
[0090]
s204:判断日志分类结果是否为异常日志,若是,则执行步骤s205,若是,则不做处
理。
[0091]
在利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果之后,判断日志分类结果是否为异常日志,若是,则说明后续需要根据该异常日志进行问题定位,执行步骤s205中进行日志关键信息提取的步骤,若是,则说明当前程序运行正常,不需要做任何处理。
[0092]
s205:利用正则表达式对目标日志的关键信息进行提取操作,得到日志信息提取结果。
[0093]
预先设置用于对目标日志的关键信息进行提取的正则表达式,当确定日志分类结果为异常日志时,说明后续需要根据该异常日志进行问题定位,对于异常日志的处理,由于日志输出信息的种类较多,并且没有固定的信息模板,所以日志信息被视为半结构化数据。针对半结构化数据,利用正则表达式对目标日志的关键信息进行提取操作,得到日志信息提取结果。通过预先设置正则表达式对目标日志的关键信息进行提取,较大地提升了对目标日志的关键信息提取效率,提升了关键信息提取准确性。
[0094]
需要说明的是,用于对目标日志的关键信息进行提取的可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如可以根据需要提取的关键信息的项数或者关键信息的内容变化进行调整。
[0095]
正则表达式:又称规则表达式,(regular expression,在代码中常简写为regex、regexp或re),是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。
[0096]
在本发明的一种具体实施方式中,利用正则表达式对目标日志的关键信息进行提取操作,可以包括以下步骤:
[0097]
利用正则表达式对目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行提取操作。
[0098]
预先设置对日志的日志时间、日志地址、代码模块、日志等级及日志内容进行提取的正则表达式。当确定日志分类结果为异常日志时,说明后续需要根据该异常日志进行问题定位,利用正则表达式对目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行提取操作。通过对目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行提取,从而提取到目标日志最关键的信息,便于开发人员或运维人员基于获取到的目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行问题定位。
[0099]
s206:对日志信息提取结果进行输出操作。
[0100]
在利用正则表达式对目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行提取操作之后,对日志信息提取结果进行输出操作。通过输出目标日志的日志时间、日志地址、代码模块、日志等级及日志内容,方便开发人员或运维人员进行问题定位及异常维护。
[0101]
在本发明的一种具体实施方式中,对日志信息提取结果进行输出操作,可以包括以下步骤:
[0102]
步骤一:获取预设文本输出格式;
[0103]
步骤二:按照预设文本输出格式对日志信息提取结果进行输出操作。
[0104]
为方便描述,可以将上述两个步骤结合起来进行说明。
[0105]
预先设置标准的文本输出格式,获取预设文本输出格式,按照预设文本输出格式对日志信息提取结果进行输出操作。通过按照标准的预设文本输出格式对目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行输出操作,提升了日志关键信息提取效率,提升了关键信息提取准确性,方便开发人员或运维人员进行问题定位及异常维护。
[0106]
由上述技术方案可知,通过预先训练能够对日志进行自动分类的目标朴素贝叶斯模型,在获取到预生成的目标日志之后,直接利用目标朴素贝叶斯模型对目标日志进行分类,即可得到目标日志具体是异常日志还是正常日志的分类结果。相较于现有的人工对日志逐条的阅读、分析的方式,较大地节省了人力,提升了异常日志定位效率。
[0107]
在一种具体实例应用中,参见图3,图3为本发明实施例中一种基于朴素贝叶斯算法的日志监测分析流程图,实现基于朴素贝叶斯算法的日志监测分析方法,主要包括如下几个步骤:
[0108]
步骤一、使用日志中可能出现的错误日志和正常日志根据特征值进行标注区分,作为训练数据对朴素贝叶斯算法进行训练;
[0109]
步骤二、对于程序日志而言,在程序运行过程中,日志是逐条增加的,所以可以对每条日志作为一个对象进行处理。通过对日志的监测,将增加的每条日志作为一个输入数据,使用朴素贝叶斯算法对其进行判断分类为正常日志或者异常日志;
[0110]
步骤三、使用正则表达式对每条异常日志的时间、日志地址、代码模块、日志等级和具体的日志内容进行识别提取,并存到固定格式的文本中。
[0111]
相应于上面的方法实施例,本发明还提供了一种日志分类装置,下文描述的日志分类装置与上文描述的日志分类方法可相互对应参照。
[0112]
参见图4,图4为本发明实施例中一种日志分类装置的结构框图,该装置可以包括:
[0113]
日志获取单元41,用于获取预生成的目标日志;
[0114]
日志分类单元42,用于利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果;
[0115]
分类结果输出单元43,用于对日志分类结果输出操作。
[0116]
本发明所提供的日志分类装置,获取预生成的目标日志;利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果;对日志分类结果输出操作。通过预先训练能够对日志进行自动分类的目标朴素贝叶斯模型,在获取到预生成的目标日志之后,直接利用目标朴素贝叶斯模型对目标日志进行分类,即可得到目标日志具体是异常日志还是正常日志的分类结果。相较于现有的人工对日志逐条的阅读、分析的方式,较大地节省了人力,提升了异常日志定位效率。
[0117]
在本发明的一种具体实施方式中,该装置还可以包括模型训练单元,模型训练单元包括:
[0118]
日志获取子单元,用于获取训练日志集;
[0119]
特征值获取子单元,用于获取预设的错误日志特征值和正常日志特征值;
[0120]
日志标注子单元,用于利用错误日志特征值对训练日志集中的错误日志进行标注,并利用正常日志特征值对训练日志集中的正常日志进行标注;
[0121]
模型训练子单元,用于利用标注完成的训练日志集对原始朴素贝叶斯模型进行训
练,得到目标朴素贝叶斯模型。
[0122]
在本发明的一种具体实施方式中,该装置还可以包括:
[0123]
判断单元,用于在得到日志分类结果之后,判断日志分类结果是否为异常日志;
[0124]
关键信息提取单元,用于当确定日志分类结果为异常日志时,利用正则表达式对目标日志的关键信息进行提取操作,得到日志信息提取结果;
[0125]
提取结果输出单元,用于对日志信息提取结果进行输出操作。
[0126]
在本发明的一种具体实施方式中,关键信息提取单元具体为利用正则表达式对目标日志的日志时间、日志地址、代码模块、日志等级及日志内容进行提取操作的单元。
[0127]
在本发明的一种具体实施方式中,分类结果输出单元43具体为当日志分类结果为异常日志时,输出日志异常提示信息的单元。
[0128]
在本发明的一种具体实施方式中,分类结果输出单元43包括:
[0129]
提示手段获取子单元,用于获取日志等级对应的目标异常提示手段;
[0130]
结果输出子单元,用于利用目标异常提示手段输出日志异常提示信息。
[0131]
在本发明的一种具体实施方式中,提取结果输出单元包括:
[0132]
输出格式获取子单元,用于获取预设文本输出格式;
[0133]
提取结果输出子单元,用于按照预设文本输出格式对日志信息提取结果进行输出操作。
[0134]
相应于上面的方法实施例,参见图5,图5为本发明所提供的日志分类设备的示意图,该设备可以包括:
[0135]
存储器332,用于存储计算机程序;
[0136]
处理器322,用于执行计算机程序时实现上述方法实施例的日志分类方法的步骤。
[0137]
具体的,请参考图6,图6为本实施例提供的一种日志分类设备的具体结构示意图,该日志分类设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在日志分类设备301上执行存储器332中的一系列指令操作。
[0138]
日志分类设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
[0139]
上文所描述的日志分类方法中的步骤可以由日志分类设备的结构实现。
[0140]
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
[0141]
获取预生成的目标日志;利用预训练得到的目标朴素贝叶斯模型对目标日志进行分类,得到日志分类结果;对日志分类结果输出操作。
[0142]
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143]
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在
此不做赘述。
[0144]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0145]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献