CN116795977A - 数据处理方法、装置、设备和计算机可读存储介质 - Google Patents
数据处理方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116795977A CN116795977A CN202211035755.6A CN202211035755A CN116795977A CN 116795977 A CN116795977 A CN 116795977A CN 202211035755 A CN202211035755 A CN 202211035755A CN 116795977 A CN116795977 A CN 116795977A
- Authority
- CN
- China
- Prior art keywords
- log
- template
- preset
- log data
- library
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000003672 processing method Methods 0.000 title abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000013145 classification model Methods 0.000 claims abstract description 56
- 239000013598 vector Substances 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012216 screening Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 239000002356 single layer Substances 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 56
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 33
- 238000012549 training Methods 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 17
- 239000010410 layer Substances 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009933 burial Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、设备和计算机可读存储介质。该方法包括:获取日志数据集;将日志数据集与预设日志模板库进行匹配,得到匹配度;根据匹配度,确定日志聚类结果。通过构建日志模板库对大规模数据进行聚合操作,得到匹配度,提高了日志聚类结果的准确性和灵活性。在收到报警信息之后,根据日志聚类结果和预设多标签分类模型,确定日志聚类结果对应的故障预测信息,无需运维人员根据自身技术和业务进行经验化的问题估计,提高了故障定位的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备和计算机可读存储介质。
背景技术
由于现代网络系统非常庞大,随着应用程序和系统规模的数量不断增加,高端计算系统快速发展,大量需求的存储服务,在硬件通信网络中也往往部署了大规模设备来保障整个系统的稳定运行,通常设置有数百甚至数千个处理器的大规模集群。复杂系统在运行过程中会产生海量的日志,在系统运维领域和业务场景中,当有问题发生时,运维人员一般需要通过查看错误日志,定位故障原因。
现有技术中,通过人工设计规则提取日志文本中的关键字段,并通过各字段的关键词设计正则表达式,对日志文本进行匹配,以获得运维人员需要关注的日志信息,运维人员通过分析日志信息,并结合自身技术与业务层面的经验来定位到最终的故障原因。
然而,故障定位方法依赖于运维人员的技术知识水平和业务知识水平,当错误发生时,通过设置条件筛选日志文本并定位原因,非常耗时,不利于问题的解决和系统的恢复,降低了故障定位的效率。
发明内容
本发明实施例提供一种数据处理方法、装置、设备和计算机可读存储介质,提高了故障定位的效率。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种数据处理方法,所述方法包括:获取日志数据集;将所述日志数据集与预设日志模板库进行匹配,得到匹配度;根据所述匹配度,确定日志聚类结果;在收到报警信息之后,根据所述日志聚类结果和预设多标签分类模型,确定所述日志聚类结果对应的故障预测信息。
第二方面,本发明实施例提供一种数据处理装置,所述装置包括:获取模块,用于获取日志数据集;匹配模块,用于将所述日志数据集与预设日志模板库进行匹配,得到匹配度;聚类模块,用于根据所述匹配度,确定日志聚类结果;预测模块,用于在收到报警信息之后,根据所述日志聚类结果和预设多标签分类模型,确定所述日志聚类结果对应的故障预测信息。
第三方面,本发明实施例提供一种数据处理设备,所述设备包括:存储器,用于存储可执行计算机程序;处理器,用于执行所述存储器中存储的可执行计算机程序时,实现上述数据处理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时,实现上述数据处理方法。
本发明实施例提供了一种数据处理方法、装置、设备和计算机可读存储介质。根据本发明实施例提供的方案,获取日志数据集;将日志数据集与预设日志模板库进行匹配,得到匹配度;根据匹配度,确定日志聚类结果。通过构建日志模板库对大规模数据进行聚合操作,得到匹配度,根据匹配度的大小确定日志聚类结果,若匹配度较高,则直接确定日志聚类结果,若匹配度较低,则构建的日志模板库支持增量式的学习,进而确定日志聚类结果,提高了日志聚类结果的准确性和灵活性。在收到报警信息之后,根据日志聚类结果和预设多标签分类模型,确定日志聚类结果对应的故障预测信息,在采集日志数据的同时,提前对日志数据进行处理和聚类,当出现故障报警时,可以能够快速根据日志聚类结果进行故障预测,并且无需运维人员根据自身技术和业务进行经验化的问题估计,提高了故障定位的效率。
附图说明
图1为本发明实施例提供的一种数据处理方法的可选的步骤流程图;
图2为本发明实施例提供的一种日志数据集预处理的可选的示意图;
图3为本发明实施例提供的另一种数据处理方法的可选的步骤流程图;
图4为本发明实施例提供的一种日志模板库的匹配过程的可选的示意图;
图5为本发明实施例提供的再一种数据处理方法的可选的步骤流程图;
图6为本发明实施例提供的一种数据处理系统的可选的框架图;
图7为本发明实施例提供的一种序列结构的可选的示意图;
图8为本发明实施例提供的一种模板树结构的可选的示意图;
图9为本发明实施例提供的另一种模板树结构的可选的示意图;
图10为本发明实施例提供的再一种模板树结构的可选的示意图;
图11为本发明实施例提供的一种模板序列向量化的可选的示意图;
图12为本发明实施例提供的一种问题根因预测的可选的示意图;
图13为本发明实施例提供的一种对应关系的可选的示意图;
图14为本发明实施例提供的一种维度转换的可选的示意图;
图15为本发明实施例提供的一种数据处理装置的可选的结构示意图;
图16为本发明实施例提供的一种数据处理设备组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。应当理解的是,此处所描述的一些实施例仅仅用以解释本发明的技术方案,并不用于限定本发明的技术范围。
为了更好地理解本发明实施例中提供的数据处理方法,在对本发明实施例的技术方案进行介绍之前,先对应用背景进行说明。
本发明实施例中的日志数据也可以称为日志文本、日志信息等,本发明实施例中的故障也可以称为问题、异常、错误、报错、报警、警告等,对此本发明实施例不做限制。
本发明实施例提供的数据处理方法涉及互联网技术(Internet Technology,IT)应用领域、系统运维领域、机器学习以及深度学习领域。在系统运维领域和业务场景中,当有问题发生时,运维人员一般需要通过查看错误日志定位故障原因,业务流量小、逻辑复杂度低时,应用出现故障时错误日志一般较少,运维人员根据错误日志迅速定位到问题。但随着业务逻辑的迭代,系统接入的依赖服务不断增多、引入的组件不断增多,当系统出现故障时,错误日志的量级急剧增加。极端情况下出现“疯狂报错”的现象,这时错误日志的内容会存在相互掩埋、相互影响的问题,运维人员面对报错一时难以理清逻辑,会失去焦点。当错误发生时,如果仅仅是依靠人工书写的规则来定位到故障原因,会导致非常耗时,降低了实际业务场景中故障定位的效率。
相关技术中,可以使用机器学习方法或者深度学习方法,将日志文本向量化。其中,机器学习方法可以是词频逆文本频率指数(Term Frequency Inverse DocumentFrequency,TF-IDF),TF-IDF是一种用于信息检索与数据挖掘的常用加权技术;深度学习方法可以是用来产生词向量的相关模型,包括但不限于深度神经网络模型和word2vec(wordto vector)。然后,采用余弦相似度计算序列间的相似度,或者,采用聚类算法方法聚合日志文本,以减少运维人员的分析量,运维人员分析聚合汇总后的日志信息定位到故障原因。其中,聚类算法包括但不限于k均值聚类算法(k-means clustering algorithm,K-means)和基于密度的聚类算法(Density-Based Spatial Clustering of Applications withNoise,DBSCAN)。
然而,单一地使用聚类方法,虽然可以减少运维人员的分析量,但是不管是使用机器学习方法或深度学习方法都存在一些问题。机器学习方法在面对复杂的业务场景时聚类结果不准确,进而影响运维人员的分析和判断。深度学习方法在面对海量的日志数据时,无法大规模应用,而且聚类后本质上仍然需要运维人员的业务层面的经验最终定位到故障原因,降低了故障定位的效率。
当错误发生时,相关技术中对一段时间内的日志报警信息进行聚类处理,将具有相同根因的日志报警信息归纳为能够涵盖报警内容的泛化报警,最终形成仅有几条或者数十条的泛化报警摘要。具体做法仍需要运维人员根据线上问题排查的经验,通过技术手段抽取日志报警信息中的重要属性,例如,机器、环境、时间等,结合异常来源、报警日志信息提示、故障所在位置(例如,代码行数、接口、类)等,形成报警信息泛化层次结构。然而,运维人员通过对一段时间内的报警日志信息进行泛化处理,得到报警日志摘要,需要丰富的线上问题排查经验。运维人员选取的日志属性和关键特征,需要足够准确才能使这些泛化层次结构生效,另外,随着时间的推移会有新的报警问题产生,对整个报警泛化层次结构进行更新的过程太过复杂。
在系统运维领域和业务场景中,当运维人员面对海量的日志数据时,主要的难点在于快速而精确地筛选出可疑的日志数据。在真实业务场景中,有些故障通过数值型指标是难以发现的,只能通过分析日志的文本内容发现。而日志数量繁多,常规的关键字筛查只适用于已知的故障原因,对于未知的故障原因无法处理,另外,其他故障分析和定位手段都基于解析后的日志信息,并且无法将运维人员本身的排查经验泛化,难以形成一套完备的方法和系统。
本发明实施例提供一种数据处理方法,如图1所示,图1为本发明实施例提供的一种数据处理方法的步骤流程图,数据处理方法包括以下步骤:
S101、获取日志数据集。
S102、将日志数据集与预设日志模板库进行匹配,得到匹配度。
在本发明实施例中,预设日志模板库为预先设置的标准日志模板库,其包括多个日志模板,用于与日志数据集中的多个日志数据进行匹配,从而得到匹配成功的日志数据的数量以及未匹配成功的日志数据的数量。根据匹配成功的日志数据的数量以及未匹配成功的日志数据的数量,计算匹配度,匹配度反映日志数据与日志模板的匹配指数。
在本发明实施例中,在计算日志数据与日志模板是否匹配时,可以通过计算日志数据对应的序列与日志模板对应的序列之间的相似度,根据相似度判断是否匹配成功。示例性的,当相似度大于预设阈值时,确定日志数据匹配成功,当相似度小于或等于预设阈值时,确定日志数据未匹配成功。该预设阈值可以由本领域技术人员根据实际需求进行适当设置,能够有效判别是否匹配即可,示例性的,可以是根据大量的相似度的计算过程中,对使用的大量的阈值分析进行确定。
需要说明的是,预设日志模板库在初始构建时,其所包括日志模板的数量是0,此时,在首次将日志数据集与预设日志模板库进行匹配时,日志数据均未匹配成功,需要根据日志数据集对预设日志模板库进行更新,然后再根据更新后的日志模板库进行匹配,得到匹配度。也就是说,预设日志模板库可以是在匹配过程中进行构建和不断的更新,不需要提前进行训练或者通过大量的日志数据样本进行更新等处理,实现了日志数据匹配的灵活性和多样性。而且,预设日志模板库不局限于某些系统产生的日志数据,可以处理大量的增量数据,增量数据可以来源于不同的系统,实现了多种系统产生的日志数据的兼容性。当日志数据集中的未匹配成功的日志数据的数量较多时,可以根据未匹配成功的日志数据直接对预设日志模板库进行更新,然后继续根据更新后的日志模板库进行匹配,无需将预设日志模板库进行额外的训练,提高了匹配效率。
S103、根据匹配度,确定日志聚类结果。
在本发明实施例中,根据匹配度的大小确定日志聚类结果,若匹配度较高,则说明预设日志模板库适用于此次匹配计算过程,无需进行更新,直接将匹配成功的日志数据作为日志聚类结果。若匹配度较低,则说明预设日志模板库不太适用于此次匹配计算过程,需要进行更新操作,构建的日志模板库支持增量式的学习,进而确定日志聚类结果,避免了人工干预,提高了日志聚类结果的准确性和灵活性。
在本发明实施例中,通过日志聚类将成千上万的日志数据无损压缩聚合为几十条模板,每种模板代表一种类型的日志数据。日志聚类结果包括属于多种不同类型的日志模板。在采集系统的日志数据的同时,提前对日志数据进行汇总、抽象,当发生异常(即收到报警信息)时,能够使运维人员快速掌握日志数据的全貌,且使得关键报错信息不易被忽略,并使得运维人员能够通过聚合后的日志模板和日志数据间的关联可以初步定位故障,提高了故障定位的效率。
S104、在收到报警信息之后,根据日志聚类结果和预设多标签分类模型,确定日志聚类结果对应的故障预测信息。
本发明实施例提供的数据处理方法应用于日常日志数据的汇总过程,用于向运维人员实时提供日志数据的聚类结果,方便运维人员快速掌握日志数据的全貌。在收到报警信息之后或者收到报警信息时,启动预测功能,降低资源消耗。在根据日志聚类结果进行故障预测时,将日志聚类结果输入预设多标签分类模型,得到日志聚类结果对应的故障预测信息,故障预测信息辅助运维人员进行参考,提高了故障定位的效率。
在本发明实施例中,预设多标签分类模型用于预测故障信息,是结合运维人员解决问题的经验进行训练得到的,本发明实施例对于预设多标签分类模型的具体结构不做限制,只要是能够根据日志聚类结果预测故障信息即可。预设多标签分类模型可以是神经网络(Neural Network,NN),包括但不限于卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、前馈神经网络(Feed forwardneural network,FNN)、全连接神经网络(Full Connect Neural Network)等等。
根据本发明实施例提供的方案,获取日志数据集;将日志数据集与预设日志模板库进行匹配,得到匹配度;根据匹配度,确定日志聚类结果。通过构建日志模板库对大规模数据进行聚合操作,得到匹配度,根据匹配度的大小确定日志聚类结果,若匹配度较高,则直接确定日志聚类结果,若匹配度较低,则构建的日志模板库支持增量式的学习,进而确定日志聚类结果,提高了日志聚类结果的准确性和灵活性。在收到报警信息之后,根据日志聚类结果和预设多标签分类模型,确定日志聚类结果对应的故障预测信息,在采集日志数据的同时,提前对日志数据进行处理和聚类,当出现故障报警时,可以能够快速根据日志聚类结果进行故障预测,并且无需运维人员根据自身技术和业务进行经验化的问题估计,提高了故障定位的效率。
在一些实施例中,如图2所示,图2为本发明实施例提供的一种日志数据集预处理的可选的示意图。上述S101还可以通过以下方式实现。获取原始日志数据集;对原始日志数据集进行规则化,得到目标日志数据集;对目标日志数据集进行去重,得到日志数据集。
在本发明实施例中,采集到的原始日志数据中往往存在许多无效的信息,会干扰后续的日志模板的匹配和更新,以及会影响到后续日志模板向量化的计算,因此,本发明实施例通过一些规则化处理,以避免上述情况。在本发明实施例中,原始日志数据中日志日期、时间戳信息、数字化的网络互连协议(Internet Protocol,IP)类、端口类都属于对原始日志数据的聚合产生扰动的信息。在对原始日志数据进行规则化处理时,将上述干扰信息采用另一种规范化的形式表示,示例性的,如图2所示,将不同的端口信息均规则化为port,不展示具体的端口;将不同的IP网段信息均规则化为IP,不展示具体的网段;将不同的时间戳信息均规则化为time,不展示具体的时间。从而减少不相关信息的干扰,提高日志数据匹配结果的准确性。
在本发明实施例中,在面对大规模的原始日志数据时,在规范化日志数据之后,对于某些没有实质差别的原始日志数据,还需要进行去重操作。示例性的,如图2所示,对于两个或两个以上具有不同端口信息(或者不同IP网段信息,或者不同时间戳信息)的原始日志数据,在规则化之后,其对应的信息相同,本质上属于一个日志数据,将重复的日志数据进行去重,减少数据数量。可以采用哈希集(HashSet)进行去重处理,HashSet是一个没有重复元素的集合;也可以采用布隆过滤器(Bloom Filter)进行去重处理,对此本发明实施例不做限制,只要是能够实现对原始日志数据进行去重操作即可。需要说明的是,在海量数据面前,HashSet消耗的存储空间比较大,读写效率也一般,因此,本发明实施例可以采用布隆过滤器对原始日志数据进行去重,从而减少数据计算量。
在本发明实施例中,使用规则化单元对当前的日志数据进行规则化处理,得到目标日志数据,并对目标日志数据进行去重处理,得到日志数据(图2中以处理后数据表示日志数据),减少不相关信息的干扰,减少数据计算量,提高数据处理效率。
在一些实施例中,上述S102还可以包括S1021-S1023。如图3所示,图3为本发明实施例提供的另一种数据处理方法的可选的步骤流程图。
S1021、对日志数据集中多个日志数据进行分词,得到多个日志数据对应的多个词频信息。
S1022、根据多个词频信息,将多个日志数据按照预设词频库进行排序,得到多个日志数据对应的多个序列。
S1023、根据多个序列,以及预设日志模板库对应的多个模板序列进行匹配,得到匹配度。
在本发明实施例中,针对各个日志数据,在对日志数据进行匹配时,对日志数据进行分词处理,提取日志数据中的单词或关键词,得到多个单词出现的频率信息(即词频信息),将日志数据的多个词频信息,按照预设词频库进行降序排列,得到该日志数据对应的序列。
在本发明实施例中,预设词频库与预设日志模板库的构建和更新过程类似,可以是在对日志数据的分词过程中进行构建和不断更新,不需要提前进行训练或者通过大量的单词样本进行更新等处理,实现了词频库的单词灵活性和单词多样性。
在本发明实施例中,在系统运维中所采集到的系统的日志数据,通常是程序运行过程中由代码打印出的一些程序完成的任务和系统的状态。属于非结构文本的数据,无法单一地采用自然语言处理(Natural Language Processing,NLP)方法或者统计学的方法,从这些非结构化文本的日志数据中学习特征和规律。而这些海量的日志数据中有许多重复的日志模板和规律,因此,本发明实施例采用模板序列表示日志模板,然后不断更新,形成预设日志模板库。模板序列可以理解为频繁出现的单词间的组合。
在本发明实施例中,日志数据对应的序列是多个词频信息降序排列得到的,实质上也是多个单词之间的组合,因此,计算日志数据对应的序列,与多个日志模板对应的多个模板序列之间的单词之间的匹配度,可以确定日志数据是否与日志模板匹配成功。依次类推,在计算完多个日志数据之后,可以得到匹配度。
在本发明实施例中,通过对日志数据进行分词,得到词频信息,并按照预设词频库进行排序,得到序列,然后与多个模板序列进行匹配,提高了匹配准确度。
在一些实施例中,上述图3的S1023中预设日志模板库对应的多个模板序列可以通过以下方式确定。根据预设日志模板库,重建模板树结构中的根节点和子节点;根据模板树结构中的根节点和子节点,确定模板树的多个路径;根据模板树的多个路径,确定预设日志模板库对应的多个模板序列。
在本发明实施例中,对模板匹配功能以及对日志匹配结果的一些后处理步骤进行说明,如图4所示,图4为本发明实施例提供的一种日志模板库的匹配过程的可选的示意图。从预设日志模板库(图4中以预设日志模板库包括300个日志模板(templates)为例示出)中获取所需要的多个日志模板,然后,载入日志模板,重建日志模板树,该日志模板树匹配日志数据;日志模板是用于存储日志数据,因此还需要对日志模板进行重建,以得到模板树结构,模板树结构包括根节点和子节点,模板树结构可以理解为用于表征各个日志数据之间的关联关系。根据模板树结构中的根节点和子节点,可以计算得到模板树的多个路径,将模板树的多个路径,作为多个模板序列。
在本发明实施例中,利用模板匹配功能对日志数据集(Date)和日志模板库中的多个日志模板(300个日志模板)进行匹配,得到匹配度,判断当前的匹配度是否大于预设匹配度(图4中以>95%为例进行示出)并由图4中的后处理模块进行后处理步骤。其中,当匹配度大于95%,输出日志匹配结果;当匹配度小于或等于95%,执行预设日志模板库的更新操作(图4中未示出)。由于上述对原始日志数据进行规则化处理和去重处理后,得到日志数据,是为了减少数据计算量,但是,日志聚类结果需要向运维人员进行展示,以便运维人员能够快速掌握日志数据的全貌,因此,在得到日志匹配结果之后,图4中的后处理模块还对日志匹配结果进行后续的操作。日志匹配结果本质上是多个属于同一类日志模板的日志数据聚合在一起的结果,将日志匹配结果中日志数据的信息(例如,日志日期、时间戳信息、数字化的IP类、端口类等)进行变换,实现对日志匹配结果进行后处理,输出最终的日志聚类结果,便于向运维人员展示和存储。
在一些实施例中,在上述图1中S103可以包括S1031-S1033。如图5所示,图5为本发明实施例提供的再一种数据处理方法的可选的步骤流程图。
S1031、若匹配度大于预设匹配度,则将匹配成功的日志数据作为日志聚类结果。
S1032、若匹配度小于或等于预设匹配度,则根据未匹配的日志数据对预设日志模板库进行更新,得到更新后的日志模板库。
S1033、将日志数据集与更新后的日志模板库进行匹配,得到日志聚类结果。
本发明实施例提供的数据处理方法可以由数据处理系统(即数据处理装置)执行,数据处理系统也可以称为故障定位系统或问题定位系统。数据处理系统包括原始数据处理模块(也可以称为数据处理模块)、模板匹配模块(即匹配模块)、模板更新维护模块(也可以称为更新模块)和问题根因预测模块(即预测模块),其中,原始数据处理模块包括规则化单元和去重单元。
示例性的,如图6所示,基于上述图4,图6为本发明实施例提供的一种数据处理系统的可选的框架图。(1)数据处理模块对日志采集系统输入的原始日志数据进行预处理,通过规则化单元规范日志数据,然后通过去重单元进行去重操作,减少整体的数据计算量。(2)经过处理后的日志数据(即日志数据集,图6中以数据示出)与当前的日志模板库(图6中以当前的日志模板库包括300个日志模板(300templates)为例示出)进行匹配,当前的日志模板库表示最新的日志模板库(可以是预设日志模板库或更新后的日志模板库)。若整体的匹配度大于预设匹配度(图6中以>95%为例进行示出),将剩余未匹配的日志数据自成一类,或者将剩余未匹配的日志数据删除,并输出最终的日志聚类结果。该步骤中的具体实现和所达到的技术效果可以参照上述图4中的描述,在此不再赘述。(3)若日志数据与日志模板库的匹配度小于或等于预设匹配度(图6中以≤95%为例进行示出),则将未匹配的日志数据进行增量学习,即日志模板计算,然后进行日志模板库的更新维护。(4)在日志模板库更新完毕后,将日志数据与更新后的日志模板库再次进行匹配,输出最终的聚类结果。(5)对当前时间段内系统中的候选问题模板(即日志聚类结果,日志聚类结果包括属于多种不同类型的日志模板)进行向量化,并根据向量化后的候选问题模板进行问题根因预测(即预测故障信息)。
在本发明实施例中,针对系统运维领域中海量的日志数据,通过构建日志模板库对大规模的日志数据进行了聚合操作,提高了日志数据的聚合高效性。在应对新增日志数据上,日志模板计算步骤支持增量式的学习,避免了人工干预,提高了日志数据聚类的准确性,在聚类实现方式上灵活多变,可以兼容多种系统框架语言,提高了日志模板库的适用场景。
在一些实施例中,上述图5的S1032中根据未匹配的日志数据对预设日志模板库进行更新,得到更新后的日志模板库,还可以通过以下方式实现。对未匹配的日志数据进行分词,得到未匹配的日志数据对应的词频信息;根据未匹配的日志数据对应的词频信息,对预设词频库进行更新,得到更新后的词频库;根据未匹配的日志数据对应的词频信息,将未匹配的日志数据,按照更新后的词频库进行排序,得到未匹配的日志数据对应的序列;将未匹配的日志数据对应的序列,与预设日志模板库对应的多个模板序列进行合并,得到更新后的日志模板库。
在本发明实施例中,对于输入的日志数据,若匹配度小于或等于预设匹配度,则需要根据未匹配的日志数据进行日志模板的增量学习,其过程如下:对未匹配的日志数据进行分词处理以计算单词的出现频率,得到未匹配的日志数据对应的词频信息;并根据该词频信息更新当前的词频字典(即预设词频库),WFRE{}→NEW_WFRE{},WFRE{}表示预设词频库,NEW_WFRE{}表示更新后的词频库;本步骤中的分词处理可以参考上述S1021的相关描述。根据该词频信息对未匹配的日志数据进行处理,按照更新后的词频库NEW_WFRE{}进行降序排列,排列后的所有序列作为新增的模板序列(即未匹配的日志数据对应的序列)。本步骤中的排序可以参考上述S1022的相关描述。将新增的模板序列与已有的日志模板库对应的模板序列Patterns{}(即预设日志模板库对应的多个模板序列)进行合并,执行日志模板的计算过程以重建模板树结构,最终计算新的模板树的所有路径,路径保存后得到新的日志模板库对应的模板序列NEW_Patterns{},从而得到更新后的日志模板库。
在本发明实施例中,对日志模板的计算过程进行介绍,也就是通过构建模板树结构对降序排列后的序列(包括新增的模板序列和预设日志模板库对应的多个模板序列)进行合并,在此以两个序列的合并为例进行说明,如图7所示,图7为本发明实施例提供的一种序列结构的可选的示意图。(1)创建模板树的根节点,然后对图7中所示的序列S1和序列S2进行合并,其中,序列S1包括节点W11、节点W12、节点W13、节点W14和节点W15,序列S2包括节点W11、节点W12、节点W13、节点W24和节点W25。(2)当处理序列S1时,不断的将S1序列中的节点插入模板树中,当处理序列S2时,若是同样的节点则直接跳过,遇到不同的节点则在模板树中开辟新的路径,模板树结构如图8所示,图8为本发明实施例提供的一种模板树结构的可选的示意图。图8中包括两个路径,一个路径是节点W11→节点W12→节点W13→节点W14→节点W15,另一个路径是节点W11→节点W12→节点W13→节点W24→节点W25。(3)同理对于剩下的序列合并也采用同样的方式,不断的完善当前的模板树,得到的完整的模板树可以如图9所示,图9为本发明实施例提供的另一种模板树结构的可选的示意图,从而完成模板树构建过程。图9中ROOT表示根节点,路径包括节点W11→节点W12→节点W13→节点W14→节点W15,节点W11→节点W12→节点W13→节点W24→节点W25,节点W31→节点W32,节点W31→节点W33→节点W34→节点W35→节点W36,节点W31→节点W33→节点W34→节点W35→节点W37,节点W31→节点W33→节点W34→节点W35→节点W38。(4)合并完所有序列后得到最终的模板树结构,而经过所有子节点的路径代表了不同的日志模板。另外,本发明实施例还设置一个剪枝机制,若当前层的子节点树大于或等于设定的阈值,则对其进行剪枝,可以防止模板树冗余。如图10所示,图10为本发明实施例提供的再一种模板树结构的可选的示意图。图10中节点W36、节点W37和节点W38位于同一层,子节点树的数量等于设定的阈值(图10中以3为例),则需要对该层中的节点W36、节点W37和节点W38进行剪枝(CUT)操作,也就是模板树中没有该层,从而防止模板树冗余。剪枝完成后,图10中路径包括节点W11→节点W12→节点W13→节点W14→节点W15,节点W11→节点W12→节点W13→节点W24→节点W25,节点W31→节点W32,节点W31→节点W33→节点W34→节点W35。(5)计算当前模板树的所有路径,将路径保存得到新的日志模板库对应的模板序列NEW_Patterns{},实现日志模板的增量式学习。
需要说明的是,上述日志模板计算为整个日志模板库更新和维护的基础。预设日志模板库在初始构建时,其所包括日志模板的数量是0,此时,在首次将日志数据集与预设日志模板库进行匹配时,日志数据均未匹配成功,匹配过程之前,还需要根据日志数据集完成对预设日志模板库的初始构建过程,初始构建过程实质上就是一次日志模板的增量式学习过程。预设日志模板库的初始构建过程如下,对日志数据集进行分词处理以计算单词的出现频率,得到词频字典WFRE{}(即预设词词频库)以及每个日志数据对应的词频信息,根据该词频信息再次对日志数据集中每个日志数据进行处理,将日志数据按照词频字典WFRE{}进行降序排列,排列后的所有序列都作为候选日志模板。执行上述日志模板的计算过程中,得到模板树结构,计算当前模板树的所有路径,将路径保存得到所需要的日志模板库对应的模板序列Patterns{}(即预设日志模板库对应的模板序列)。
在本发明实施例中,在构建日志模板库时,不依赖于任何先验知识,能够自动地从系统日志数据中提取日志模板,日志模板可以表示系统日志数据中详细信息字段的子类型,提高了日志模板库的准确性。而且,增量式的日志模板的学习避免了手动控制日志模板库的更新,提高了日志模板库的适用场景。
在一些实施例中,在预设时间段之后,或者,在上述图5中S1032中得到更新后的日志模板库之后,该数据处理方法还包括S201和S202。
S201、若日志模板库对应的多个模板序列的数量大于预设数量,则根据各个模板序列的日志命中数量和日志命中时间,确定各个模板序列的支持度,从而得到多个支持度;日志模板库为预设日志模板库或更新后的日志模板库。
S202、根据多个支持度,对日志模板库对应的多个模板序列进行筛选,得到维护后的日志模板库,维护后的日志模板库用于下一个日志数据集的匹配过程。
在一些实施例中,上述S202还可以通过以下方式实现。将多个支持度中大于预设支持度的模板序列,作为多个候选模板序列;若多个候选模板序列的数量小于或等于预设数量,则根据多个候选模板序列,确定维护后的日志模板库;若多个候选模板序列的数量大于预设数量,则计算多个支持度中小于或等于预设支持度的模板序列,与多个候选模板序列之间的向量相似度,得到多个向量相似度;根据多个向量相似度,在多个候选模板序列中筛选出多个目标模板序列;多个目标模板序列的数量小于或等于预设数量;根据多个目标模板序列,确定维护后的日志模板库。
在本发明实施例中,随着时间的推移,日志模板库中的模板数量会越来越多,而日志模板数量过多也就失去了对日志数据进行聚合的意义,因此,本发明实施例中数据处理系统还设置有日志模板维护引擎,以避免日志模板的爆发式增长。在对日志模板库的维护进行介绍之前,先对维护过程中所用到的模板序列的支持度进行介绍,每个作为日志模板的子序列都有其自身的“支持度”,只有“支持度”足够大的子序列,才能加入日志模板库,而计算整个序列的“支持度”是基于当前日志数据中不同的单词组合排列,因此,将单词频率作为计算“支持度”的基础。根据日志模板的日志命中数量与日志模板的最近命中时间进行计算得到日志模板的支持度,即模板序列的支持度。
γ=lnβ*(log2α+1) (1)
上述公式(1)中α表示日志命中数量,β表示日志模板的最近命中时间(时间戳为浮点秒数),γ表示日志模板的支持度。
在本发明实施例中,维护日志模板库的过程是清理过期模板或“不重要”的模板;对日志模板库的总数设定上限N(即预设数量)。将多个支持度与预设支持度进行对比,删除小于或等于预设支持度的模板序列,若删除后得到的模板序列的数量小于或等于预设数量N,则得到维护后的日志模板库。若删除后得到的模板序列的数量大于预设数量N,则执行以下步骤。
在本发明实施例中,在计算向量相似度时,需要先对日志模板进行文本序列化,得到小于或等于预设支持度的模板序列的句向量,以及候选模板序列(即大于预设支持度的模板序列)的句向量。此处采用预训练模型对日志模板进行文本序列化,提取日志模板句向量。如图11所示,图11为本发明实施例提供的一种模板序列向量化的可选的示意图,图11中日志模板文本表示模板序列,模板序列包括多个子序列,例如Flig、Time和Bas_set等等。预训练模型可以是编码器(encoder),将日志模板文本输入预训练模型,得到模板序列的向量化表示,从而完成模板序列的向量化过程。
在本发明实施例中,预设训练模型的具体结构可以参考Transformer的编解码结构或者Deformable DETR(Deformable Transformers for end-to-end objectdetection)网络的编解码结构,在此不再赘述。
在本发明实施例中,将支持度小于或等于预设支持度的日志模板的句向量,与日志模板库中候选模板序列的句向量,使用余弦距离,计算两者之间的向量相似度。
上述公式(2)中θ表示剔除日志模板的阈值。Similarity表示向量相似度,A和B表示两个向量,分别是小于或等于预设支持度的模板序列的句向量和候选模板序列的句向量。
需要说明的是,通常采用距离度量计算两个向量之间的相似度,常用距离度量包括但不限制于:余弦相似度(cosine)、欧氏距离(Euclidean Distance)、曼哈顿距离(Manhattan Distance)、皮尔逊相关系数(Pearson Correlation coefficient,PC)、斯皮尔曼(等级)相关系数(Spearman Rank Correlation,SRC)、杰卡德相似系数(Jaccard距离)、SimHash+汉明距离(Hamming Distance)等。在此仅是以上述公式(2)余弦距离的计算为例进行示出。
示例性的,在得到多个向量相似度之后,按照向量相似度从大到小的顺序,在多个候选模板序列中筛选出靠后的预设数量N的目标模板序列;或者,按照向量相似度从小到大的顺序,在多个候选模板序列中筛选出靠前的预设数量N的目标模板序列,本发明实施例对于具体的筛选方式不做限制。小于或等于预设支持度的模板序列已被删除,说明其不符合加入日志模板库的标准,与支持度较低(小于或等于预设支持度)的日志模板之间向量相似度较高的模板序列,同样不符合加入日志模板库的标准,因此,上述筛选过程是将与支持度较低的日志模板之间向量相似度较高的模板序列删除,也可以理解为包括与支持度较低的日志模板之间向量相似度较低的模板序列。
在本发明实施例中,在得到多个向量相似度之后,进行向量相似度的比较,根据向量相似度进行排序后删除topk的日志模板,直到满足日志模板库总数量≤N。上述日志模板维护引擎所需要的相关参数包括α、β、γ、N、θ。
在本发明实施例中,模板更新维护功能可以自动地从系统日志数据中提取日志模板,日志模板可以表示系统日志消息中详细信息字段的模式(pattern),提高了日志模板库的准确性。日志模板支持增量式地学习,针对日志模板的更新维护,提出了日志模板维护引擎,通过日志的命中数量和最近命中时间计算日志模板的模板序列的支持度,并结合预训练模型进行模板序列的向量化,根据向量相似度来维护日志模板库,避免了日志模板库的无限制增长,在日志模板库不断更新的基础上保证了日志模板库在当前数据处理系统长时间运作下的时效性。日志模板库的更新维护是整个系统中的重要部分之一,保证了从日志聚合到整个日志模板库更新维护的闭环操作,从而提高了后续日志聚类结果的准确性,以及后续问题根因预测的准确性。
在一些实施例中,预设多标签分类模型为单层级模型;上述图1中S104还可以通过以下方式实现。对日志聚类结果进行嵌入编码,得到待分类特征;将待分类特征输入预设多标签分类模型,得到潜在问题标签和问题类型;故障预测信息为多层级预测结果,故障预测信息包括潜在问题标签和问题类型。
在本发明实施例中,当前实际业务场景下,在进行故障定位时,既需要问题类型(出现问题的层级,例如,网络层、虚拟层、物理层和软件层)也需要潜在问题标签(问题的类型,例如,Label-1、Label-2和Label-3),而两者又存在对应关系,实际上是一种层级多标签分类,但是不同于一般的层级多标签分类。此处,模型预测结果需要保证“潜在问题标签”与“问题类型”能够完全对应,同时又需要保证预测给出的“问题类型”的准确性。在一些实施例中,可以采用由多个子网络构成的多层级模型来实现多标签分类的预测效果,多层级模型第一个子网络和第二个子网络,第一个子网络用于根据日志聚类结果预测“潜在问题标签”,第二个子网络用于根据第一个子网络输出的“潜在问题标签”预测“问题类型”,从而得到日志聚类结果对应的潜在问题标签和问题类型,上述由多个子网络构成的多层级模型所预测的潜在问题标签和问题类型具有对应关系,但是容易出现潜在问题标签和问题类型同时出错的情况,而且多层级模型的复杂度较高,训练效果较差。因此,本发明实施例中数据处理系统设置了单层级模型,即使用单层级的多标签分类模型来实现多层级的预测效果,能够降低模型复杂性。该预设多标签分类模型采用的是少量层数的预训练模型结合(embedding)轻量级卷积神经网络,对日志聚类结果进行嵌入编码,得到待分类特征;将待分类特征输入单层级模型,输出多层级预测结果,即潜在问题标签和问题类型。
在本发明实施例中,通过日志模板库的不断更新维护,以及对日志数据进行不断的匹配过程中,已经将海量的日志数据压缩为一些特定的日志模板,减少了运维人员的数据分析量,提高了数据处理效率。但是对于问题产生的故障定位,还需要通过运维人员分析日志模板内容和日志文本内容进行判断,因此,在日志聚类功能的基础上,本发明实施例中的数据处理系统还设置了问题根因预测功能,在汇总泛化后的日志层面,设计一种可迭代优化的问题定位机制,其提供了一个在线学习更新的多标签分类模型,在问题发生后提前对潜在的问题日志模板进行标签的预测,可以将运维人员本身的技术与业务层面的经验泛化,快速定位到故障原因。从而实现对日志聚类结果进行故障信息的预测,辅助运维人员进行故障位置的定位,提高了故障定位的效率。
在一些实施例中,该数据处理方法还包括模型训练步骤,包括S301和S302。
S301、获取日志聚类结果对应的故障信息真值。
S302、根据故障信息真值和故障预测信息,采用预设损失函数,对预设多标签分类模型进行更新,得到更新后的多标签分类模型,更新后的多标签分类模型用于确定下一个日志聚类结果的故障预测信息。
在本发明实施例中,如图12所示,图12为本发明实施例提供的一种问题根因预测的可选的示意图,当运维人员收到日志采集系统的报警信息(WARNING)后,可以通过问题定位功能给出的预测标签进行问题根因分析,预测标签包括当前日志模板对应的问题类型以及潜在问题标签。若预测标签有误差或者有新的模板标签对(候选模板、潜在问题的纠正标签、问题类型的纠正标签三者之间的对应关系),运维人员可以在线为预测标签进行标签纠正(即日志聚类结果对应的故障信息真值)。图12中预测标签是通过将日志模板库所包括的N个日志模板(N Templates)输入多标签分类模型中,得到的预测结果,图12中的010 010110表示日志模板库对应的嵌入向量,日志聚类结果本质上是多种类型的日志模板,标签纠正是对潜在问题标签和问题类型进行纠正,从而对多标签分类模型进行模型更新,并将模板标签对存储在问题标签库。图12中问题标签库示出了四个候选模板(pattern1、pattern2、pattern3、pattern4),其中,pattern1对应的潜在问题标签是Label-1和Label-2,对应的问题类型是网络层,pattern2对应的潜在问题标签是Label-2和Label-3,对应的问题类型是虚拟层,pattern3对应的潜在问题标签是Label-3,对应的问题类型是物理层,pattern4对应的潜在问题标签是Label-4,对应的问题类型是软件层。
示例性的,当有问题报警信息产生时,运维人员根据实际业务场景中问题分析结果,针对出现问题的日志模板进行标记,或者根据已有的预测结果(即,故障预测信息)进行标签纠正,并将模板标签对存储在问题标签库;对多标签分类模型进行在线更新。
在本发明实施例中,根据故障信息真值、故障预测信息和预设损失函数,获得损失值;根据损失值对预设多标签分类模型进行持续进行训练,直至达到训练终止条件,例如,训练次数达到预设次数,或者,损失值达到预设阈值等,得到更新后的多标签分类模型。
需要说明的是,预设损失函数(loss function)可以由本领域技术人员根据实际情况进行适当设置的损失函数,可以是以下任意一项:交并比值(DiceLoss)、平滑SmoothL1损失函数、对数损失函数(logLoss,LR)、合页损失函数(hinge loss,SVM)、指数损失函数(exp-loss,AdaBoost)、交叉熵损失函数(cross-entropy loss,Softmax)、平方误差损失函数(quadratic loss)、绝对值损失函数(absolution loss)和0-1损失函数(0-1loss)等,对此本发明实施例不做限制。
在一些实施例中,故障信息真值包括潜在问题标签真值和问题类型真值;上述S302还可以通过以下方式实现。对问题类型真值和潜在问题标签真值分别进行嵌入编码,得到类型向量和初始标签向量;对初始标签向量进行维度转换,得到标签向量,使得标签向量与类型向量的维度一致;根据日志聚类结果对应的类型向量和标签向量,以及故障预测信息,采用预设损失函数,对预设多标签分类模型进行更新,得到更新后的多标签分类模型。
在本发明实施例中,对于模型的更新需要进行额外的步骤,以保证模型预测的准确性和在线训练的需求,从而达到使用单层级多标签分类模型达到多层级的预测效果。如图13所示,图13为本发明实施例提供的一种对应关系的可选的示意图。图13示出了将模板标签对(候选模板、潜在问题标签和问题类型之间对应关系)存储在问题标签库。本发明实施例中的问题类型是由潜在问题标签反推得到,这个可以保证两者之间完全对应,即多标签分类模型直接输出的预测标签为“潜在问题标签”,而“问题类型”通过对应关系表后处理得到。将日志模板输入多标签分类模型,输出潜在问题标签,根据对应关系表,反推得到问题类型,将潜在问题标签和问题类型按照对应关系存储在问题标签库,具体描述可参见上述图12的描述,在此不再赘述。
在本发明实施例中,需要使用额外的步骤让“问题类型”也参与到多标签分类模型的训练过程,以保证“问题类型”的准确性,避免出现潜在问题标签和问题类型同时出错的情况。在数据处理过程中,将“潜在问题标签”的数字标签的独热编码(onehot_labels)维度转换,得到与“问题类型”对应的标签编码,转换过程可通过矩阵之间的计算得到,如图14所示,图14为本发明实施例提供的一种维度转换的可选的示意图。图14中M*N表示预设矩阵,将预设矩阵与初始标签向量(图14中以Labels×M示出)进行相乘,得到标签向量(图14中以Labels_v1×M示出),标签向量的维度与类型向量的维度一致。
需要说明的是,如上述图12和图13所示,由于问题类型真值唯一,而潜在问题标签真值不唯一,因此在进行维度转换时,是将潜在问题标签真值对应的初始标签向量进行维度转换,以使得到的标签向量的维度与类型向量的维度一致。
在本发明实施例中,通过维度转换,实现同时将问题类型真值和潜在问题标签真值参与到多标签分类模型的训练过程中以及多标签分类模型的更新过程中,使得多标签分类模型可以输出问题类型和潜在问题标签,提高问题类型的准确性。多标签分类模型在线更新后,对日志模板库的问题根因进行推理预测,输出候选模板对应潜在问题标签与问题类型,可以向运维人员提供多样性的参考信息,从而提高问题定位效率。
在一些实施例中,预设损失函数为潜在问题标签对应的损失函数和第一预设系数的乘积,与问题类型对应的损失函数和第二预设系数的乘积之和。
示例性的,以采用交叉熵损失函数作为预设多标签分类模型的优化目标函数为例进行说明,在模型训练过程中创建与“问题类型”相关的损失函数,损失函数公式如公式(3)所示。
上述公式(3)中LK表示问题类型对应的损失函数,Li表示候选模板i对应的损失函数,N表示候选模板的数量,yic表示候选模板i是问题类型c的数量,pic候选模板i是问题类型c的概率,M表示问题类型的数量。在模型梯度下降过程中将LK计入总的损失函数Loss中,如公式(4)所示。
Loss=α*LK+(1-α)*LP (4)
上述公式(4)中,Loss表示预设损失函数,LP表示潜在问题标签对应的损失函数,同样采取交叉熵损失函数,具体可参见上述公式(3)的描述,在此不再赘述,α表示调整系数(即第二预设系数),范围在0~1之间,1-α为第一预设系数。
本发明实施例针对海量日志数据智能化运维的需求,提供了一种基于日志模板库结合根因预测的问题定位方法,首先对海量的日志数据进行规则化和去重处理,然后对日志数据进行日志模板计算,将日志数据压缩成少量的日志模板;并且通过设置增量式学习和日志模板维护引擎,不断更新维护日志模板库,从而达到日志聚合的目的;不仅能够提高日志聚类结果的准确性,而且还能保证日志模板库在当前系统长时间运作下的时效性。然后在日志聚类结果的基础上,将运维人员解决问题的本身的技术和业务经验泛化,通过结合运维人员解决问题的经验,对候选问题模板进行标签标注与纠正。并使用了轻量级的预训练模型embedding结合卷积神经网络,在线更新多标签分类模型,通过对模型训练与预测步骤的额外设计,使得单层级的多标签分类模型实现了多层级的预测效果,构建了问题根因预测功能。不仅是简单的日志聚类结果的展示,所形成的根因预测功能可以计算候选问题模板的问题标签和潜在问题标签,供运维人员参考,辅助运维人员对故障原因进行定位,提高了问题定位的效率。
为实现本发明实施例的数据处理方法,本发明实施例还提供一种数据处理装置,如图15所示,图15为本发明实施例提供的一种数据处理装置的可选的结构示意图,该数据处理装置150包括:获取模块1501,用于获取日志数据集;匹配模块1502,用于将日志数据集与预设日志模板库进行匹配,得到匹配度;聚类模块1503,用于根据匹配度,确定日志聚类结果;预测模块1504,用于在收到报警信息之后,根据日志聚类结果和预设多标签分类模型,确定日志聚类结果对应的故障预测信息。
在一些实施例中,匹配模块1502,还用于对日志数据集中多个日志数据进行分词,得到多个日志数据对应的多个词频信息;根据多个词频信息,将多个日志数据按照预设词频库进行排序,得到多个日志数据对应的多个序列;根据多个序列,以及预设日志模板库对应的多个模板序列进行匹配,得到匹配度。
在一些实施例中,匹配模块1502,还用于根据预设日志模板库,重建模板树结构中的根节点和子节点;根据模板树结构中的根节点和子节点,确定模板树的多个路径;根据模板树的多个路径,确定预设日志模板库对应的多个模板序列。
在一些实施例中,数据处理装置150还包括更新模块1505;
聚类模块1503,还用于若匹配度大于预设匹配度,则将匹配成功的日志数据作为日志聚类结果;
更新模块1505,用于若匹配度小于或等于预设匹配度,则根据未匹配的日志数据对预设日志模板库进行更新,得到更新后的日志模板库;
聚类模块1503,还用于将日志数据集与更新后的日志模板库进行匹配,得到日志聚类结果。
在一些实施例中,更新模块1505,还用于对未匹配的日志数据进行分词,得到未匹配的日志数据对应的词频信息;根据未匹配的日志数据对应的词频信息,对预设词频库进行更新,得到更新后的词频库;根据未匹配的日志数据对应的词频信息,将未匹配的日志数据,按照更新后的词频库进行排序,得到未匹配的日志数据对应的序列;将未匹配的日志数据对应的序列,与预设日志模板库对应的多个模板序列进行合并,得到更新后的日志模板库。
在一些实施例中,更新模块1505,还用于若日志模板库对应的多个模板序列的数量大于预设数量,则根据各个模板序列的日志命中数量和日志命中时间,确定各个模板序列的支持度,从而得到多个支持度;日志模板库为预设日志模板库或更新后的日志模板库;根据多个支持度,对日志模板库对应的多个模板序列进行筛选,得到维护后的日志模板库,维护后的日志模板库用于下一个日志数据集的匹配过程。
在一些实施例中,更新模块1505,还用于将多个支持度中大于预设支持度的模板序列,作为多个候选模板序列;若多个候选模板序列的数量小于或等于预设数量,则根据多个候选模板序列,确定维护后的日志模板库;若多个候选模板序列的数量大于预设数量,则计算多个支持度中小于或等于预设支持度的模板序列,与多个候选模板序列之间的向量相似度,得到多个向量相似度;根据多个向量相似度,在多个候选模板序列中筛选出多个目标模板序列;多个目标模板序列的数量小于或等于预设数量;根据多个目标模板序列,确定维护后的日志模板库。
在一些实施例中,预设多标签分类模型为单层级模型;
预测模块1504,还用于对日志聚类结果进行嵌入编码,得到待分类特征;将待分类特征输入预设多标签分类模型,得到潜在问题标签和问题类型;故障预测信息为多层级预测结果,故障预测信息包括潜在问题标签和问题类型。
在一些实施例中,数据处理装置150还包括训练模块1506;
获取模块1501,还用于获取日志聚类结果对应的故障信息真值;
训练模块1506,用于根据故障信息真值和故障预测信息,采用预设损失函数,对预设多标签分类模型进行更新,得到更新后的多标签分类模型,更新后的多标签分类模型用于确定下一个日志聚类结果的故障预测信息。
在一些实施例中,故障信息真值包括潜在问题标签真值和问题类型真值;
训练模块1506,还用于对问题类型真值和潜在问题标签真值分别进行嵌入编码,得到类型向量和初始标签向量;对初始标签向量进行维度转换,得到标签向量,使得标签向量与类型向量的维度一致;根据日志聚类结果对应的类型向量和标签向量,以及故障预测信息,采用预设损失函数,对预设多标签分类模型进行更新,得到更新后的多标签分类模型。
在一些实施例中,预设损失函数为潜在问题标签对应的损失函数和第一预设系数的乘积,与问题类型对应的损失函数和第二预设系数的乘积之和。
在一些实施例中,数据处理装置150还包括数据处理模块1507;
获取模块1501,还用于获取原始日志数据集;
数据处理模块1507,用于对原始日志数据集进行规则化,得到目标日志数据集;对目标日志数据集进行去重,得到日志数据集。
需要说明的是,上述实施例提供的数据处理装置在进行数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程及有益效果详见方法实施例,这里不再赘述。对于本装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
在本发明实施例中,图16为本发明实施例提出的数据处理设备组成结构示意图,如图16所示,本发明实施例提出的设备160包括处理器1601、存储可执行计算机程序的存储器1602,处理器1601,用于执行存储器1602中存储的可执行计算机程序时,实现本发明实施例提供的数据处理方法。在一些实施例中,数据处理设备160还可以包括通信接口1603,以及用于连接处理器1601、存储器1602和通信接口1603的总线1604。
在本发明实施例中,上述处理器1601可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明实施例中,总线1604用于连接通信接口1603、处理器1601以及存储器1602,实现这些器件之间的相互通信。
存储器1602用于存储可执行计算机程序和数据,该可执行计算机程序包括计算机操作指令,存储器1602可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。在实际应用中,上述存储器1602可以是易失性存储器(volatilememory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flashmemory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器1601提供可执行计算机程序和数据。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时实现如上任一实施例所述的数据处理方法。
示例性的,本实施例中的一种数据处理方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种数据处理方法对应的程序指令被一电子设备读取或被执行时,可以实现如上述任一实施例所述的数据处理方法。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法包括:
获取日志数据集;
将所述日志数据集与预设日志模板库进行匹配,得到匹配度;
根据所述匹配度,确定日志聚类结果;
在收到报警信息之后,根据所述日志聚类结果和预设多标签分类模型,确定所述日志聚类结果对应的故障预测信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述日志数据集与预设日志模板库进行匹配,得到匹配度,包括:
对所述日志数据集中多个日志数据进行分词,得到所述多个日志数据对应的多个词频信息;
根据所述多个词频信息,将所述多个日志数据按照预设词频库进行排序,得到所述多个日志数据对应的多个序列;
根据所述多个序列,以及所述预设日志模板库对应的多个模板序列进行匹配,得到所述匹配度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个序列,以及所述预设日志模板库对应的多个模板序列进行匹配,得到所述匹配度之前,所述方法还包括:
根据所述预设日志模板库,重建模板树结构中的根节点和子节点;
根据所述模板树结构中的根节点和子节点,确定模板树的多个路径;
根据所述模板树的多个路径,确定所述预设日志模板库对应的所述多个模板序列。
4.根据权利要求1所述的方法,其特征在于,所述根据所述匹配度,确定日志聚类结果,包括:
若所述匹配度大于预设匹配度,则将匹配成功的日志数据作为日志聚类结果;
若所述匹配度小于或等于所述预设匹配度,则根据未匹配的日志数据对所述预设日志模板库进行更新,得到更新后的日志模板库;
将所述日志数据集与所述更新后的日志模板库进行匹配,得到所述日志聚类结果。
5.根据权利要求4所述的方法,其特征在于,所述根据未匹配的日志数据对所述预设日志模板库进行更新,得到更新后的日志模板库,包括:
对所述未匹配的日志数据进行分词,得到所述未匹配的日志数据对应的词频信息;
根据所述未匹配的日志数据对应的词频信息,对预设词频库进行更新,得到更新后的词频库;
根据所述未匹配的日志数据对应的词频信息,将所述未匹配的日志数据,按照所述更新后的词频库进行排序,得到所述未匹配的日志数据对应的序列;
将所述未匹配的日志数据对应的序列,与所述预设日志模板库对应的多个模板序列进行合并,得到所述更新后的日志模板库。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
若日志模板库对应的多个模板序列的数量大于预设数量,则根据各个模板序列的日志命中数量和日志命中时间,确定所述各个模板序列的支持度,从而得到多个支持度;所述日志模板库为所述预设日志模板库或所述更新后的日志模板库;
根据所述多个支持度,对所述日志模板库对应的多个模板序列进行筛选,得到维护后的日志模板库,所述维护后的日志模板库用于下一个日志数据集的匹配过程。
7.根据权利要求6所述的方法,其特征在于,所述根据所述多个支持度,对所述日志模板库对应的多个模板序列进行筛选,得到维护后的日志模板库,包括:
将所述多个支持度中大于预设支持度的模板序列,作为多个候选模板序列;
若所述多个候选模板序列的数量小于或等于所述预设数量,则根据所述多个候选模板序列,确定所述维护后的日志模板库;
若所述多个候选模板序列的数量大于所述预设数量,则计算所述多个支持度中小于或等于预设支持度的模板序列,与所述多个候选模板序列之间的向量相似度,得到多个向量相似度;
根据所述多个向量相似度,在所述多个候选模板序列中筛选出多个目标模板序列;所述多个目标模板序列的数量小于或等于所述预设数量;
根据所述多个目标模板序列,确定所述维护后的日志模板库。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述预设多标签分类模型为单层级模型;
所述根据所述日志聚类结果和预设多标签分类模型,确定所述日志聚类结果对应的故障预测信息,包括:
对所述日志聚类结果进行嵌入编码,得到待分类特征;
将所述待分类特征输入所述预设多标签分类模型,得到潜在问题标签和问题类型;所述故障预测信息为多层级预测结果,所述故障预测信息包括所述潜在问题标签和所述问题类型。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
获取所述日志聚类结果对应的故障信息真值;
根据所述故障信息真值和所述故障预测信息,采用预设损失函数,对所述预设多标签分类模型进行更新,得到更新后的多标签分类模型,所述更新后的多标签分类模型用于确定下一个日志聚类结果的故障预测信息。
10.根据权利要求9所述的方法,其特征在于,所述故障信息真值包括潜在问题标签真值和问题类型真值;
所述根据所述故障信息真值和所述故障预测信息,采用预设损失函数,对所述预设多标签分类模型进行更新,得到更新后的多标签分类模型,包括:
对所述问题类型真值和所述潜在问题标签真值分别进行嵌入编码,得到类型向量和初始标签向量;
对所述初始标签向量进行维度转换,得到标签向量,使得所述标签向量与所述类型向量的维度一致;
根据所述日志聚类结果对应的类型向量和标签向量,以及所述故障预测信息,采用所述预设损失函数,对所述预设多标签分类模型进行更新,得到所述更新后的多标签分类模型。
11.根据权利要求10所述的方法,其特征在于,所述预设损失函数为所述潜在问题标签对应的损失函数和第一预设系数的乘积,与所述问题类型对应的损失函数和第二预设系数的乘积之和。
12.根据权利要求1-5任一项所述的方法,其特征在于,所述获取日志数据集,包括:
获取原始日志数据集;
对所述原始日志数据集进行规则化,得到目标日志数据集;
对所述目标日志数据集进行去重,得到所述日志数据集。
13.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取日志数据集;
匹配模块,用于将所述日志数据集与预设日志模板库进行匹配,得到匹配度;
聚类模块,用于根据所述匹配度,确定日志聚类结果;
预测模块,用于在收到报警信息之后,根据所述日志聚类结果和预设多标签分类模型,确定所述日志聚类结果对应的故障预测信息。
14.一种数据处理设备,其特征在于,所述设备包括:
存储器,用于存储可执行计算机程序;
处理器,用于执行所述存储器中存储的可执行计算机程序时,实现权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有计算机程序,用于被处理器执行时,实现权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035755.6A CN116795977A (zh) | 2022-08-26 | 2022-08-26 | 数据处理方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035755.6A CN116795977A (zh) | 2022-08-26 | 2022-08-26 | 数据处理方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795977A true CN116795977A (zh) | 2023-09-22 |
Family
ID=88036660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211035755.6A Pending CN116795977A (zh) | 2022-08-26 | 2022-08-26 | 数据处理方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795977A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215902A (zh) * | 2023-11-09 | 2023-12-12 | 北京集度科技有限公司 | 日志解析方法、装置、设备及存储介质 |
CN117389854A (zh) * | 2023-11-13 | 2024-01-12 | 北京驭数华创科技有限公司 | 性能分析方法、装置、电子设备及介质 |
-
2022
- 2022-08-26 CN CN202211035755.6A patent/CN116795977A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215902A (zh) * | 2023-11-09 | 2023-12-12 | 北京集度科技有限公司 | 日志解析方法、装置、设备及存储介质 |
CN117215902B (zh) * | 2023-11-09 | 2024-03-08 | 北京集度科技有限公司 | 日志解析方法、装置、设备及存储介质 |
CN117389854A (zh) * | 2023-11-13 | 2024-01-12 | 北京驭数华创科技有限公司 | 性能分析方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427720B (zh) | 系统日志分类方法 | |
Aiello et al. | Machine Learning with R and H2O | |
CN116795977A (zh) | 数据处理方法、装置、设备和计算机可读存储介质 | |
CN109933778B (zh) | 分词方法、装置以及计算机可读存储介质 | |
WO2022227388A1 (zh) | 日志异常检测模型训练方法、装置及设备 | |
CN111881671B (zh) | 一种属性词提取方法 | |
CN114785666B (zh) | 一种网络故障排查方法与系统 | |
Zhang et al. | Log sequence anomaly detection based on local information extraction and globally sparse transformer model | |
US10997495B2 (en) | Systems and methods for classifying data sets using corresponding neural networks | |
Bursic et al. | Anomaly detection from log files using unsupervised deep learning | |
WO2020211720A1 (zh) | 数据处理方法和代词消解神经网络训练方法 | |
WO2022010575A1 (en) | Automatic recognition of entities related to cloud incidents | |
CN116361788A (zh) | 一种基于机器学习的二进制软件漏洞预测方法 | |
US12001423B2 (en) | Method and electronic device for obtaining hierarchical data structure and processing log entries | |
Han et al. | Skdlog: self-knowledge distillation-based cnn for abnormal log detection | |
US20220405623A1 (en) | Explainable artificial intelligence in computing environment | |
Mayer et al. | Streamlearner: Distributed incremental machine learning on event streams: Grand challenge | |
Li et al. | Logspy: System log anomaly detection for distributed systems | |
CN115034278A (zh) | 性能指标异常检测方法、装置、电子设备和存储介质 | |
CN114139636B (zh) | 异常作业处理方法及装置 | |
Feng et al. | Web service QoS classification based on optimized convolutional neural network | |
CN116822491A (zh) | 日志解析方法及装置、设备、存储介质 | |
Dhawas et al. | Big Data Preprocessing, Techniques, Integration, Transformation, Normalisation, Cleaning, Discretization, and Binning | |
CN117573956B (zh) | 元数据管理方法、装置、设备及存储介质 | |
Zhang et al. | Log Anomaly Detection Based on Bi-LSTM Feature Extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |