CN105893225A - 一种错误自动处理方法及装置 - Google Patents
一种错误自动处理方法及装置 Download PDFInfo
- Publication number
- CN105893225A CN105893225A CN201510526459.XA CN201510526459A CN105893225A CN 105893225 A CN105893225 A CN 105893225A CN 201510526459 A CN201510526459 A CN 201510526459A CN 105893225 A CN105893225 A CN 105893225A
- Authority
- CN
- China
- Prior art keywords
- error
- reason
- error reason
- grader
- characteristic word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 13
- 230000003252 repetitive effect Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 230000002354 daily effect Effects 0.000 description 16
- 238000012423 maintenance Methods 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000008034 disappearance Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种错误的自动处理方法。当检测到调度任务运行错误时,获取所述调度任务的错误日志;根据所述错误日志,获取与所述错误日志对应的错误特征词;根据所述获取的错误特征词,查询错误原因分类器,获取与所述错误特征词对应的错误原因,所述错误原因分类器中保存有所述错误特征词与错误原因的对应关系;根据所述错误原因,执行与所述错误原因对应的错误处理预案,从而实现了错误的自动处理,节约了人力成本,同时也提高了调度系统的失败重算效率,确保了大数据任务的及时完成。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种错误自动处理方法。
背景技术
在大数据调度系统中,每天运行成百上千个任务,且任务依赖性高,一旦出错,需要大量人工处理,分析错误日志、通过日志定位错误原因的工作,仍然需要开发人员的人工干预。所以本发明实施例,试图通过对错误日志进行文本挖掘,自动定位错误原因,根据不同的错误原因执行相应的错误处理预案,并且通过系统使用人员的反馈,不断的修正错误的结果,经过反复训练直至达到专业开发人员的分析能力。这样便能够降低开发人员对每一个作业的维护成本,提升工作效率。
发明内容
本发明实施例提供一种错误的自动处理方法及设备,用以解决现有技术中用户需开发人员分析错误日志、通过日志定位错误原因的缺陷,实现了调度任务的错误原因的自动查询和自动处理。
本发明实施例提供一种错误的自动处理方法,包括:
当检测到调度任务运行错误时,获取所述调度任务的错误日志;
获取与所述错误日志对应的错误特征词;
调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,所述错误原因分类器中保存有错误特征词与错误原因的对应关系;
根据所述错误原因,执行与所述错误原因对应的错误处理预案。
本发明实施例提供一种错误的自动处理装置,包括:
错误日志获取模块,用于当检测到调度任务运行错误时,获取所述调度任务的错误日志;
错误特征词获取模块,用于获取与所述错误日志对应的所述错误特征词;
错误原因查询模块,用于调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,其中,所述错误原因分类器中保存有所述错误特征词与所述错误原因的对应关系;
错误处理模块,用于根据所述错误原因,执行与所述错误原因对应的错误处理预案。
本发明实施例提供的错误自动处理方法及装置,将数据挖掘算法运用到调度算法中,对出错情况自动分类,估算分类概率。然后根据分类概率执行对应的预案,大大节约了开发人员对每一个作业的维护成本,避免了人在重复劳动过程中易犯错的特点,提升开发人员的工作效率。同时也提高了调度系统的失败重算效率,确保了每天及时完成大数据计算任务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的技术流程图;
图2为本发明实施例二的技术流程图;
图3为本发明实施例三的技术流程图;
图4为本发明实施例四的技术流程图;
图5为本发明实施例五的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了便于阅读者理解此方案,本申请的实施例以数据处理为应用场景来描述,但是,本申请的具体应用领域不限制于此,例如,还可以是:通信、支付等有大量处理任务的场景。
实施例一:
图1为本发明实施例一的技术流程图,如图1所示,本发明实施例一可包括如下步骤:
步骤101:当检测到调度任务运行错误时,获取所述调度任务的错误日志;
所述错误日志是软件用来记录运行时出错信息的文本文件。编程人员和维护人员等可以利用错误日志对系统进行调试和维护。每个运行失败的作业的运行日志中都包含了错误的信息,开发人员根据错误信息很容易地将错误原因进行归类,比如:标记错误原因标签。
步骤102:根据所述错误日志,获取与所述错误日志对应的错误特征词;
每一个调度任务运行失败的错误日志都有着一定的特征,开发人员能 够通过分析这些特征,根据某些关键词汇定位任务运行失败的原因,这些关键词汇就是所述的错误日志对应的错误特征词。当然,这些表征错误原因的关键词分布在错误日志的各个字段中。
步骤103:调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,所述错误原因分类器中保存有错误特征词与错误原因的对应关系;
大数据调度系统作业时,每个计算作业运行失败都对应着一定的错误原因,本发明实施例中将这几种失败的原因进行总结,主要列举如下种类:
(1)任务运行超时。调度任务中,每一个计算作业的运行时间都是一定的。为了能够保证作业不会因为异常原因无限期的执行下去,使得开发人员无法及时的获取到任务的异常状态,开发人员会根据经验为每个计算作业配置超时时间:如果作业不能在指定时间内完成,便认为是失败的。作业运行超时的原因有很多种,可能是由于Hadoop本身软件不稳定,导致某一个MapReduce的Task迟迟无法结束,也有可能是因为集群计算资源不足,导致某个计算作业花费了比平时更长的时间来完成。这种情况通过错误日志可以很容易的看出来,因为这种错误日志的文本中包含有明显的特征词汇,比如build timed out,Marking the build as failed等;
(2)运行环境异常。一个作业能够正常的运行一般都对其所运行的环境有一定的要求。比如,MapReduce作业依赖与Hadoop的运行环境,所以在作业的执行节点必须安装有Hadoop程序。Hadoop程序必须配置了集群的NameNode和JobTracker的hostname,作业运行节点自身的/etc/hosts文件也必须含有集群NameNode和JobTracker的hostname和它们ip地址的映射。这样配置完成后,该运行节点上才能成功的运行一个MapReduce任务。通常一个计算作业的上线,都需要开发人员与运维人员配合,对作 业执行节点进行指定的配置,包括安装一些程序,添加环境变量,添加本地依赖库,向DBA申请运算节点对某一些数据库的访问权限等等。可是由于某些原因执行节点的环境可能会出现异常,比如运维人员新增加了运行节点却遗漏了某些配置,或是由于程序bug导致某些依赖文件被误删,此时作业运行就会出错。对于本地依赖库缺失或是环境变量缺失的情况,通常会导致作业无法找到指定的文件或是程序路径而出错,表现在运行日志里会出现类似与problem accessing file,command not found的错误。而对于例如集群访问权限或是数据库访问权限的缺失,通常在运行日志里会出现not permited,access denied的字样。
(3)程序bug。最常见的作业出错原因还是程序本身的bug。新上线的作业通常由于测试不充分存在或多或少的bug,在运行的过程中可能出现各种较多的失败情况。而已经在线上运行的作业也有可能因为需求的变更导致程序被修改,引入了bug,使得原本能够正常运行的作业也出现了失败的情况。这种情况下,作业一般都会由于程序抛出了runtime exception而异常中止,错误日志中一般都会打印出异常的堆栈信息。
本发明实施例中,所述错误原因分类器利用现有的大量错误日志样本进行训练得到,所述错误原因分类器中的每种分类的类别分别与不同的错误原因一一对应,每当有计算作业出错的时候,通过获取计算作业的所述错误日志,根据所述错误原因分类器查询其属于哪一种错误原因的可能性最大,就可知道所述计算作业的错误原因。
步骤104:根据所述错误原因,执行与所述错误原因对应的错误处理预案。
当得到计算作业错误的所述错误原因之后,判断错误原因类别,如果是由于作业超时造成的,则发邮件通知集群管理人员,并且自动在一段时 间后试图重新计算该作业;如果是由于环境错误造成的,则需要发邮件通知运维人员,由运维人员排除环境故障后,再手动重算该作业;如果是由于程序bug造成的,则应该通知该作业的开发人员检查程序错误。
当然,本发明实施例中所述的三种计算作业的错误原因类别和所述错误处理预案仅仅是计算作业的所述错误原因和所述错误处理预案的一部分,本发明实施例并不仅限于此。
实施例二
图2为本发明实施例二的技术流程图,所述错误特征词是错误日志的文本中可能包含错误原因的词汇,但是错误日志通常是以文本的形式出现,因此需通过一定的策略提取出所述错误特征词。根据图2,本发明实施例获得所述错误特征词的步骤如下:
步骤201:根据正则表达式对所述错误日志样本的文本进行词汇分割;
为了提取出所述错误特征词,需要对每个文本进行词汇分割。由于计算作业运行的日志都是Hadoop、Hive框架或是Linux操作系统生成的,所以日志内容都是英文的,这大大降低了词汇分割的难度。
本发明实施例中采用正则表达式[^a-z]+作为文本分割的标准,由于英文中不同词汇之间都是由空格或者其他标点符号分割开来的,所以只需要以非字母字符作为分隔符号,即可将每一个词汇提取出来。
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。本发明实施例中采用正则表达式[^a-z]+作为文本分割的标准,在所述错误日志的文本中,将除a~z之外的非字母字符作为分割符,即当文本中出现除a~z之外的非字母字符就进行分割,这样便得到所述错误日志的文本中 的词汇集合。
优选的,本发明实施例还可以包括步骤202:将所有词汇转换为小写;
所述错误日志的文本中同一个词汇若是以不同的大小写形式出现,应该被认为是同一个词汇,所以本发明实施例在处理样本数据时将所有词汇转换成小写,这样能够提高训练样本的质量以及所述特征词的准确性。
优选的,本发明实施例还可以包括步骤203:获取所述词汇分割操作后的文本中的最后N个词汇;
本发明实施例中对每个日志文本词汇分割的结果进行进一步筛选才能够使得不同错误原因类别中的词汇分布各具有独特性,从而有效的提升分类器的性能。
本实施例中取N=300,即首先获取每个错误日志文本最后300个词汇作为真正的错误信息;
其中,300个词汇这是通过对大量日志进行观察、测试后得出来的经验数值,通常错误日志文本中的最后300个词汇能囊括几乎全部错误日志中真正表达错误原因的信息。
优选的,本发明实施例还可以包括步骤204:滤除停用词;
停用词主要包括两类,一类是人类语言中被大量使用的功能词,比如′the′,′is′,′at′等,这些功能词没有什么实际含义。另一类词包括在特定领域里被广泛使用的词汇,比如在搜索领域里,′want′等词出现的频率很高,但是对这样的词让搜索引擎难以给出真正相关的搜索结果,所以通常会被去除掉。
错误日志文本不同与一般的英文文章,不会出现大量语言中的功能词,所以第一类停用词不需要考虑。可是大数据相关的计算作业一般都是 MapReduce任务或是hive建表、查询的工作,其日志文本具有很大的相似性。例如,每个hive相关的操作都会产生类似下面的日志内容“WARNING:org.apache.hadoop.metrics.jvm.EventCounter is deprecated”,“Time taken:…seconds”。而MapReduce的运行记录“INFO mapred.JobClient:map...%reduce...%”更是会在每一个作业的日志中大量重复的出现。所以如果直接将日志文本进行词汇分割然后进行训练,无疑会因为这些高频且无法表达出各个类别之间区别的词汇,而影响到所述错误原因分类器的性能。
进一步对日志文本分析,发现每个日志文本的开始都会出现大量的任务初始化日志,例如,MapReduce任务的启动日志“Starting Job=job...Tracking URL=http://hadoopNN1.com:50030/jobdetails.jsp?…Kill Command=/usr/local/hadoop/bin/hadoop job-kill...”。这些日志对于作业出错原因的识别毫无帮助。而只有日志的最末端才会记录下导致作业中止的异常原因。
通过对训练样本数据的文本进行词频统计,将一些在每个类别中都出现较多且与错误原因无关的词汇提取出来,具体包括”org”,“apache”,“hadoop”,“metrics”,“jvm”,“eventcounter”,“log”,“log4j”,“hive”,“history”,“jenkins”,“time”,“mapreduce”,“job”,“mapper”,“reducer”,“stage”,“map”,“reduce”,“cumulative”,“cpu”,“sec”,“lanuch”,“mapred”,“info”,“jobclient”,“seconds”,“finished”等等,将这些词滤除掉能够极大程度的提升所述错误原因分类器的性能。
优选的,本发明实施例还可以包括步骤205:对所述错误日志样本进行噪音数据滤除操作,滤除所述错误日志样本中的邮件发送日志。
错误日志的最后往往都会有邮件发送的日志,比如“Sending e-mails to:mail@abcd.com”,其中mail@abcd.com在数据预处理进行词汇分割的时候 会被拆分成mail、abcd、com三个词汇,其中abcd和com在不同错误原因类别中出现的频次基本一致,可是mail这个词汇只在某一类别中出现过几次。如果测试数据中出现有mail@abcd.com的字样,就都会有很大概率被分配到所述某一类别中,反而降低了真正错误关键字在分类时的判断比重,造成分类错误。
因此为了提升分类效果,本发明实施例在数据预处理的过程中对词汇进行过滤时必须将符合{.*?@abcd.com}正则匹配规则的词语过滤掉再进行分类训练。
值得注意的是,本发明实施例中的优选步骤202、步骤203、步骤204、步骤205之间并没有特定的先后顺序,可以是按照上述所描述的顺序,也可以是这几个步骤的任意排序,本发明实施例并不限于此。
实施例三
图3是本发明实施例三的技术流程图,根据获取的所述错误特征词,查询错误原因分类器之前,需要对所述错误原因分类器进行训练,训练所述错误原因分类器进一步包括如下步骤:
步骤301:以现有的调度任务产生的错误日志为样本进行所述错误原因分类器训练的数据准备;
针对不同的错误,选取相应的错误日志作为数据样本,在样本选取时尽可能覆盖所有的错误种类,且要注意数据分布的均匀性。因样本的质量在很大程度上决定了分类器的质量。
步骤302:对每个错误日志样本的文本进行所述词汇分割、以及所述词汇过滤操作,从而获取所述错误日志样本的所述错误特征词。
本发明实施例中,采用朴素贝叶斯算法进行所述错误原因分类器的训练,此步骤是为了获得朴素贝叶斯分类器训练样本的特征属性。在本发明实施例中,所述特征属性就是所述错误日志样本的文本中的所述错误特征词。获取所述错误特征词的具体步骤与实施例二的步骤无异,此处不再赘述。
步骤303:根据预设的错误原因划分策略,将所述错误特征词划分到对应的所述错误原因类别下,形成所述错误原因分类器的训练样本集合;
本发明实施例中所述预设的错误原因划分策略预先由人工根据经验进行划分,如本发明实施例一中所述,每一种错误原因对应的一类错误日志总会反复出现一些表征错误原因的关键词,这些关键词就是划分类别的根据。
本发明实施例中,将调度任务的所有错误原因作为类别集合,每一种错误原因类即是所述类别集合下的一个元素项;每一种错误原因类下对应的所述错误特征词即是其特征属性。
本发明实施例中,将所述类别集合定义为C={y1,y2……yn},其中yi是n种错误原因类,i∈[1,n];
本发明实施例中,设错误日志为x={a1,a2……am},其中,aj是x的特征属性,在本发明实施例中为每一类型错误日志的错误特征词,j∈[1,m]。
步骤304:计算每个所述错误原因类在训练样本集合的出现频率,即计算P(yi),其中i∈[1,n];
步骤305:计算每个所述特征词对每种所述错误原因类的条件概率, 即计算P(aj|yi);
本步骤中,需进行计算的各项如下所述:
P(a1|y1)、P(a2|y1)……P(am|y1);
P(a1|y2)、P(a2|y2)……P(am|y2);
……
P(a1|yn)、P(a2|yn)……P(am|yn);
根据朴素贝叶斯分类原理:
若P(yk|x)=max{P(y1|x),P(y2|x),…P(yn|x)},则x∈yk。
因此需要计算出每个P(yi|x),从而寻求最大值来判断x应属的类别。根据贝叶斯定理:
公式1中分母P(x)对所有类别可视为常数,因此将分子最大化皆可,并不影响结果的比较。又因各个特征属性相互独立,所以有:
公式2
因此在上一步计算出P(yi)的基础上,本步骤中要分别计算出每个所述特征词对每个所述错误原因类的条件概率P(aj|yi),这便是所述错误原因分类器的训练。
本发明实施例中,采用Newlisp作为数据分析的有效工具,因Newlisp默认提供了朴素贝贝叶斯训练的方法。训练代码如下:
(bayes-train e1 e2 e3 ′L)
其中,e1 e2 e3分别代表三类错误原因对应的错误日志样本,训练出的模型保留在Context L中,当然本发明实施例的错误类别不限于三种。
步骤306:根据所述错误原因预设对应的所述错误原因处理预案,并将所述错误原因与所述错误处理预案的对应关系保存在所述错误原因分类器中。
本法明实施例中,可以对所述错误原因处理预案进行如下设计,若错误原因是由于作业超时造成的,则发邮件通知集群管理人员,并且自动在一段时间后试图重新计算该作业;若错误原因是由于环境错误造成的,则需要发邮件通知运维人员,由运维人员排除环境故障后,再手动重算该作业;如果是由于程序bug造成的,则应该通知该作业的开发人员检查程序错误等等。本发明实施例包括但并不限于此。
实施例四
如图4所示是本发明实施例四的技术流程图,根据图4,本发明实施例根据获取的所述错误特征词,查询错误原因分类器,获取与所述错误特征词对应的错误原因执行与所述错误原因对应的错误处理预案,进一步包括如下步骤:
步骤401:根据已知的P(yi)对每个错误原因类别计算P(x|yi)P(yi);
本发明实施例中,将待分类的错误日志记为x,x是待分类的所述特征词的集合,在训练好的所述错误原因分类器中进行查询后得到x中的所述特征词对每种错误原因类的条件概率,即假设所述特征词为a1、a3、a5,则此处需在分类器中查询P(a1|yi)、P(a3|yi)、P(a5|yi)的值,根据公式2可得:
P(x|yi)P(yi)=P(yi)P(a1|yi)P(a3|yi)P(a5|yi)
得到每一个P(x|yi)P(yi)后,根据如下公式1:
便可得到每一个P(yi|x),即:
P(y1|x),P(y2|x),…P(yn|x)
步骤402:以P(x|yi)P(yi)的最大项作为x的所属错误原因类别;
若:
P(yk|x)=max{P(y1|x),P(y2|x),…P(yn|x)}
则:
x∈yk
本发明实施例中,若是出现一条从错误日志中提取出来的词汇集合,只需要通过Newlisp自带的查询方法,就可以计算所述词汇集合分属与不同种类错误类别的概率。承接实施例三中的例子,分类代码示例如下:
(bayes-query e4 ′L)
→(0.8 0.2 0)
代码中,e4是新获取的所述错误日志,由概率计算结果显示,新获取的所述错误日志e4属于所述错误原因类别1的概率为0.8,属于所述错误原因类别2的概率为0.2,因此可以认定e4的错误原因是类别1。
步骤403:根据所述错误原因查询相应的处理预案并执行。
根据所述错误原因分类器训练时为每种错误原因预设的处理预案,即可实现错误的自动处理,为整个调度系统节省运维成本。
优选的,每个错误预案的处理结果都需进行反馈从而实现对所述错误原因分类器的迭代训练。若判断所述处理预案错误,则对所述处理预案对应的所述错误日志进行所述错误原因的重新分类并在分类正确后将所述错误日志的所述错误特征词作为新样本进入所述错误原因分类器继续训练从而更新所述错误原因分类器。这样做能够通过进一步地对数据进行挖掘提高所述错误原因分类器的工作能力,提升错误处理系统对大数据的处 理效率。
具体做法为,为所述错误原因分类器设置反馈机制,接收用户对所述错误处理预案的反馈,若反馈结果显示所述错误处理预案不能够正确地解决问题,则重新对所述错误日志的原因进行正确分类,将所述错误日志作为新的样本,因所述错误日志已经进行了错误原因特征词的提取操作,因此迭代训练的过程只需要将这个错误日志对应的x’={a1,a2……am}再计算每个所述特征词对每种所述错误原因类的条件概率P(aj|yi),其余步骤同本发明实施例三中所描述的方法,此处不再赘述。
值得注意的是,若是在所述错误原因分类器的查询过程中,无法查询出错误原因,即现有训练出的类别中没有所述错误原因对应的类别,则将对错误原因增加新的分类类别,即所述类别集合C={y1,y2……yn}中将继续增加新的类别项,此时还需为这一错误原因类别以及已有的错误原因类别重新计算P(yi)、P(aj|yi)等,步骤仍如本发明实施例三中所示,此处不再赘述。
实施例五
如图5所示,本发明实施例一种错误自动处理装置,包括如下几个模块:错误日志获取模块501,错误特征词获取模块502,错误原因查询模块503,错误处理模块504,错误原因分类器训练模块505。
其中,所述错误日志获取模块501,用于当检测到调度任务运行错误时,获取所述调度任务的错误日志;
所述错误特征词获取模块502,用于获取与所述错误日志对应的错误特征词;
所述错误特征词获取模块502进一步还用于,根据正则表达式对错误日志的文本进行词汇分割,得到若干词汇组成的词汇序列;
对所述词汇序列进行词汇过滤从而获取所述错误特征词,所述错误特征词是能够表示错误原因的词汇。其中,所述词汇过滤进一步包括获取所述词汇序列中的最后N个词汇,并滤除停用词与噪音数据,其中,所述停用词是与错误原因无关且出现频率高于某一特定阈值的词汇。
所述错误原因查询模块503,用于调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,所述错误原因分类器中保存有错误特征词与错误原因的对应关系;
所述错误原因查询模块503进一步用于,根据朴素贝叶斯算法,计算所述获取的错误特征词属于不同的错误原因的概率值,将最大的概率值对应的错误原因作为所述获取的错误特征词对应的错误原因。
所述错误处理模块504,用于根据所述错误原因,执行与所述错误原因对应的错误处理预案。
所述装置进一步包括错误原因分类器训练模块505,所述错误原因分类器训练模块503用于根据错误日志样本的样本训练所述错误原因分类器。
所述错误原因分类器训练模块503还用于对所述错误日志的文本进行所述词汇分割以及所述词汇过滤操作,从而获取所述错误日志的所述特征词;根据所述错误日志的所述特征词进行错误原因分类器的查询,计算所述特征词分属于所述不同错误原因类别的概率值,将所述概率的最大类别作为所述调度任务运行错误的原因。
优选地,所述装置还包括:错误原因分类器迭代训练模块506,用于根据处理预案的反馈结果,重新确定错误原因类别,并将所述错误日志的错误特征词加入重新确定的错误原因类别的样本集合,重新训练从而更新所述错误原因分类器。对每个所述调度任务的所述错误日志的查询结果均要进行反馈修正以实现对所述错误原因分类器的不断地迭代训练,其中,反馈修正是指根据用户针对所述错误处理预案的反馈内容对所述错误日 志进行错误原因的正确分类,同时将所述错误日志作为自动增量式训练的新的所述样本进入所述错误原因分类器继续训练从而更新所述错误原因分类器。若判断所述处理预案错误,则对所述处理预案对应的所述错误日志进行所述错误原因的重新分类并在分类正确后将所述错误日志的所述错误特征词作为新样本进入所述错误原因分类器继续训练从而更新所述错误原因分类器。
以上所描述的装置实施例仅仅是示意性的,最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征词进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种错误自动处理方法,其特征在于,包括如下步骤:
当检测到调度任务运行错误时,获取所述调度任务的错误日志;
获取与所述错误日志对应的错误特征词;
调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,所述错误原因分类器中保存有错误特征词与错误原因的对应关系;
根据所述错误原因,执行与所述错误原因对应的错误处理预案。
2.根据权利要求1所述的方法,其特征在于,根据所述错误日志,获取与所述错误日志对应的错误特征词,进一步包括:
根据正则表达式对错误日志的文本进行词汇分割,得到若干词汇组成的词汇序列;
对所述词汇序列进行词汇过滤从而获取所述错误特征词,所述错误特征词是能够表示错误原因的词汇。
3.根据权利要求2所述的方法,其特征在于,所述对所述词汇序列进行词汇过滤,进一步包括:
获取所述词汇序列中的最后N个词汇,并滤除停用词与噪音数据,其中,所述停用词是与错误原因无关且出现频率高于某一特定阈值的词汇。
4.根据权利要求1所述的方法,所述调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,进一步包括:
根据朴素贝叶斯算法,计算所述获取的错误特征词属于不同的错误原因的概率值,将最大的概率值对应的错误原因作为所述获取的错误特征词对应的错误原因。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述调用预先训练的错误原因分类器对获取的所述错误特征词进行识别之前,进一步包括:
对预先采集的每个错误日志样本的文本进行词汇分割操作、以及词汇过滤操作,获取每个错误日志样本的错误特征词;
根据预设的错误原因划分策略,将每个错误日志样本的错误特征词划分到对应的错误原因类别下,形成所述错误原因分类器的训练样本集合;
根据朴素贝叶斯分类法对所述训练样本集合进行错误原因训练,得到所述错误原因分类器;
根据所述错误原因预设对应的所述错误原因处理预案,并将所述错误原因与所述错误处理预案的对应关系保存在所述错误原因分类器中。
6.根据权利要求1-4所述的方法,其特征在于,所述调用预先训练的错误原因分类器对获取的所述错误特征词进行识别之后,进一步包括:
根据处理预案的反馈结果,重新确定错误原因类别,并将所述错误日志的错误特征词加入重新确定的错误原因类别的样本集合,重新训练从而更新所述错误原因分类器。
7.一种错误自动处理装置,其特征在于,包括如下模块:
错误日志获取模块,用于当检测到调度任务运行错误时,获取所述调度任务的错误日志;
错误特征词获取模块,用于获取与所述错误日志对应的所述错误特征词;
错误原因查询模块,用于调用预先训练的错误原因分类器对获取的所述错误特征词进行识别,获取与所述错误特征词对应的错误原因,其中,所述错误原因分类器中保存有所述错误特征词与所述错误原因的对应关系;
错误处理模块,用于根据所述错误原因,执行与所述错误原因对应的错误处理预案。
8.根据权利要求7所述的装置,其特征在于,所述装置进一步包括:错误原因分类器训练模块,所述错误原因分类器训练模块用于对预先采集的每个错误日志样本的文本进行词汇分割操作、以及词汇过滤操作,获取每个错误日志样本的错误特征词;
根据预设的错误原因划分策略,将每个错误日志样本的错误特征词划分到对应的错误原因类别下,形成所述错误原因分类器的训练样本集合;
根据朴素贝叶斯分类法对所述训练样本集合进行错误原因训练,得到所述错误原因分类器;
根据所述错误原因预设对应的所述错误原因处理预案,并将所述错误原因与所述错误处理预案的对应关系保存在所述错误原因分类器中。
9.根据权利要求7所述的装置,其特征在于,所述装置进一步包括错误原因分类器迭代训练模块,所述错误原因分类器迭代训练模块用于根据处理预案的反馈结果,重新确定错误原因类别,并将所述错误日志的错误特征词加入重新确定的错误原因类别的样本集合,重新训练从而更新所述错误原因分类器。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述错误特征词获取模块进一步用于,
根据正则表达式对错误日志的文本进行词汇分割,得到若干词汇组成的词汇序列;
对所述词汇序列进行词汇过滤从而获取所述错误特征词,所述错误特征词是能够表示错误原因的词汇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510526459.XA CN105893225A (zh) | 2015-08-25 | 2015-08-25 | 一种错误自动处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510526459.XA CN105893225A (zh) | 2015-08-25 | 2015-08-25 | 一种错误自动处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105893225A true CN105893225A (zh) | 2016-08-24 |
Family
ID=57002177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510526459.XA Pending CN105893225A (zh) | 2015-08-25 | 2015-08-25 | 一种错误自动处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893225A (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411579A (zh) * | 2016-09-13 | 2017-02-15 | 深圳市金立通信设备有限公司 | 一种运行错误信息的处理方法及终端和系统 |
CN106407350A (zh) * | 2016-09-05 | 2017-02-15 | 广州视睿电子科技有限公司 | 错误日志信息过滤方法及装置 |
CN107276814A (zh) * | 2017-06-30 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种分布式存储故障恢复信息管理系统及方法 |
CN108304868A (zh) * | 2018-01-25 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 模型训练方法、数据类型识别方法和计算机设备 |
CN108733469A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种分布式系统任务执行的方法和装置 |
CN109117115A (zh) * | 2018-07-16 | 2019-01-01 | 精硕科技(北京)股份有限公司 | 数据运算调度处理方法及装置、存储介质、处理器 |
CN109344060A (zh) * | 2018-09-20 | 2019-02-15 | 迈普通信技术股份有限公司 | 一种自动化测试的分析方法及装置 |
CN109542591A (zh) * | 2018-10-17 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 工作任务补偿处理方法、装置、计算机设备及存储介质 |
CN109684095A (zh) * | 2018-12-26 | 2019-04-26 | 北京奇艺世纪科技有限公司 | 一种任务处理方法及任务分配设备 |
CN109843206A (zh) * | 2016-09-20 | 2019-06-04 | 奥林巴斯株式会社 | 集中控制装置 |
CN110543375A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
CN110796153A (zh) * | 2018-08-01 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种训练样本的处理方法、装置 |
CN110825560A (zh) * | 2018-08-10 | 2020-02-21 | 北京嘀嘀无限科技发展有限公司 | 执行错误处理方法、装置、设备及计算机可读存储介质 |
CN110955551A (zh) * | 2019-11-26 | 2020-04-03 | 上海新炬网络技术有限公司 | 一种基于tomcat中间件的故障智能诊断装置 |
CN111708681A (zh) * | 2020-06-15 | 2020-09-25 | 北京优特捷信息技术有限公司 | 一种日志处理方法、装置、设备及存储介质 |
CN111930549A (zh) * | 2020-08-14 | 2020-11-13 | 腾讯音乐娱乐科技(深圳)有限公司 | 功能错误检测的方法、装置、设备及存储介质 |
JP2020194498A (ja) * | 2019-05-30 | 2020-12-03 | Kddi株式会社 | 学習装置、情報処理装置、学習方法、及びプログラム |
WO2021082780A1 (zh) * | 2019-11-01 | 2021-05-06 | 深圳前海微众银行股份有限公司 | 一种日志分类方法及装置 |
CN113254329A (zh) * | 2021-04-30 | 2021-08-13 | 展讯通信(天津)有限公司 | 基于机器学习的Bug处理方法、系统、设备及存储介质 |
CN113420155A (zh) * | 2021-08-25 | 2021-09-21 | 深圳市信润富联数字科技有限公司 | 轮毂缺陷成因预测方法、电子装置、装置及可读存储介质 |
CN117370284A (zh) * | 2023-12-08 | 2024-01-09 | 和元达信息科技有限公司 | 一种日志错误数据追踪方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077107A1 (en) * | 2008-09-19 | 2010-03-25 | Oracle International Corporation | Storage-side storage request management |
CN103516563A (zh) * | 2013-10-18 | 2014-01-15 | 北京奇虎科技有限公司 | 一种用于监控命令是否异常的设备和方法 |
CN103761173A (zh) * | 2013-12-28 | 2014-04-30 | 华中科技大学 | 一种基于日志的计算机系统故障诊断方法及装置 |
-
2015
- 2015-08-25 CN CN201510526459.XA patent/CN105893225A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077107A1 (en) * | 2008-09-19 | 2010-03-25 | Oracle International Corporation | Storage-side storage request management |
CN103516563A (zh) * | 2013-10-18 | 2014-01-15 | 北京奇虎科技有限公司 | 一种用于监控命令是否异常的设备和方法 |
CN103761173A (zh) * | 2013-12-28 | 2014-04-30 | 华中科技大学 | 一种基于日志的计算机系统故障诊断方法及装置 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407350A (zh) * | 2016-09-05 | 2017-02-15 | 广州视睿电子科技有限公司 | 错误日志信息过滤方法及装置 |
CN106411579A (zh) * | 2016-09-13 | 2017-02-15 | 深圳市金立通信设备有限公司 | 一种运行错误信息的处理方法及终端和系统 |
CN109843206B (zh) * | 2016-09-20 | 2021-07-13 | 奥林巴斯株式会社 | 集中控制装置 |
CN109843206A (zh) * | 2016-09-20 | 2019-06-04 | 奥林巴斯株式会社 | 集中控制装置 |
CN108733469A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种分布式系统任务执行的方法和装置 |
CN107276814A (zh) * | 2017-06-30 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种分布式存储故障恢复信息管理系统及方法 |
CN108304868A (zh) * | 2018-01-25 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 模型训练方法、数据类型识别方法和计算机设备 |
CN109117115A (zh) * | 2018-07-16 | 2019-01-01 | 精硕科技(北京)股份有限公司 | 数据运算调度处理方法及装置、存储介质、处理器 |
CN110796153B (zh) * | 2018-08-01 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种训练样本的处理方法、装置 |
CN110796153A (zh) * | 2018-08-01 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种训练样本的处理方法、装置 |
CN110825560A (zh) * | 2018-08-10 | 2020-02-21 | 北京嘀嘀无限科技发展有限公司 | 执行错误处理方法、装置、设备及计算机可读存储介质 |
CN110825560B (zh) * | 2018-08-10 | 2022-11-01 | 北京嘀嘀无限科技发展有限公司 | 执行错误处理方法、装置、设备及计算机可读存储介质 |
CN109344060A (zh) * | 2018-09-20 | 2019-02-15 | 迈普通信技术股份有限公司 | 一种自动化测试的分析方法及装置 |
CN109542591A (zh) * | 2018-10-17 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 工作任务补偿处理方法、装置、计算机设备及存储介质 |
CN109684095A (zh) * | 2018-12-26 | 2019-04-26 | 北京奇艺世纪科技有限公司 | 一种任务处理方法及任务分配设备 |
CN109684095B (zh) * | 2018-12-26 | 2021-03-23 | 北京奇艺世纪科技有限公司 | 一种任务处理方法及任务分配设备 |
JP7372055B2 (ja) | 2019-05-30 | 2023-10-31 | Kddi株式会社 | 情報処理システム及び学習方法 |
JP2020194498A (ja) * | 2019-05-30 | 2020-12-03 | Kddi株式会社 | 学習装置、情報処理装置、学習方法、及びプログラム |
CN110543375A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
CN110543375B (zh) * | 2019-07-22 | 2023-03-10 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
WO2021082780A1 (zh) * | 2019-11-01 | 2021-05-06 | 深圳前海微众银行股份有限公司 | 一种日志分类方法及装置 |
CN110955551A (zh) * | 2019-11-26 | 2020-04-03 | 上海新炬网络技术有限公司 | 一种基于tomcat中间件的故障智能诊断装置 |
CN111708681A (zh) * | 2020-06-15 | 2020-09-25 | 北京优特捷信息技术有限公司 | 一种日志处理方法、装置、设备及存储介质 |
CN111930549A (zh) * | 2020-08-14 | 2020-11-13 | 腾讯音乐娱乐科技(深圳)有限公司 | 功能错误检测的方法、装置、设备及存储介质 |
CN113254329A (zh) * | 2021-04-30 | 2021-08-13 | 展讯通信(天津)有限公司 | 基于机器学习的Bug处理方法、系统、设备及存储介质 |
CN113420155A (zh) * | 2021-08-25 | 2021-09-21 | 深圳市信润富联数字科技有限公司 | 轮毂缺陷成因预测方法、电子装置、装置及可读存储介质 |
CN117370284A (zh) * | 2023-12-08 | 2024-01-09 | 和元达信息科技有限公司 | 一种日志错误数据追踪方法及系统 |
CN117370284B (zh) * | 2023-12-08 | 2024-03-15 | 和元达信息科技有限公司 | 一种日志错误数据追踪方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893225A (zh) | 一种错误自动处理方法及装置 | |
US10938678B2 (en) | Automation plan generation and ticket classification for automated ticket resolution | |
US20200293946A1 (en) | Machine learning based incident classification and resolution | |
US20150019513A1 (en) | Time-series analysis based on world event derived from unstructured content | |
US20170109676A1 (en) | Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
WO2021083713A1 (en) | Ml-based event handling | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
US10783453B2 (en) | Systems and methods for automated incident response | |
CN109270915A (zh) | 用于飞机现场可替换单元(lru)维护优化的分析系统 | |
US10146762B2 (en) | Automated classification of business rules from text | |
JP6868416B2 (ja) | 障害対応支援システム | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
CN113626241B (zh) | 应用程序的异常处理方法、装置、设备及存储介质 | |
WO2021204013A1 (zh) | 智能派工方法、装置、设备及存储介质 | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
US9706005B2 (en) | Providing automatable units for infrastructure support | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
Shah et al. | Towards benchmarking feature type inference for automl platforms | |
US12112388B2 (en) | Utilizing a machine learning model for predicting issues associated with a closing process of an entity | |
US11188405B1 (en) | Similar alert identification based on application fingerprints | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
CN107908525B (zh) | 告警处理方法、设备及可读存储介质 | |
CN117592450A (zh) | 基于员工信息整合的全景档案生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160824 |
|
WD01 | Invention patent application deemed withdrawn after publication |