CN115454702A - 日志故障分析方法、装置、存储介质及电子设备 - Google Patents

日志故障分析方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN115454702A
CN115454702A CN202211134771.0A CN202211134771A CN115454702A CN 115454702 A CN115454702 A CN 115454702A CN 202211134771 A CN202211134771 A CN 202211134771A CN 115454702 A CN115454702 A CN 115454702A
Authority
CN
China
Prior art keywords
log
fault
processed
templates
fault log
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
Application number
CN202211134771.0A
Other languages
English (en)
Inventor
王杰
阮若夷
于一鸣
卫新洁
张守峰
左婉晴
宋顾杨
孙昌爱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202211134771.0A priority Critical patent/CN115454702A/zh
Publication of CN115454702A publication Critical patent/CN115454702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书公开了一种日志故障分析方法、装置、存储介质及电子设备,其方法包括:对日志进行故障分析时先获取待处理日志集合,基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该待处理日志集合进行匹配,得到匹配结果,并根据该匹配结果确定待处理日志集合的故障信息。

Description

日志故障分析方法、装置、存储介质及电子设备
技术领域
本说明书属于软件处理技术领域,特别的涉及一种日志故障分析方法、装置、存储介质及电子设备。
背景技术
软件常会因故障问题导致无法正常运行,因此开发人员会在软件维护上投入大量时间和精力,其中软件故障分析是一种极为重要的软件维护手段。
软件故障分析技术可利用程序和测试信息,通过分析测试过程的软件行为和测试结果,以及定位包含故障的代码片段,来提高软件整体质量。由于软件规模和复杂性的不断增加,传统的软件故障分析耗费大量精力和成本,且无法保障定位的准确性,因此需要提供使软件故障分析效率更高的技术方案。
发明内容
本说明书实施例提供了一种日志故障分析方法、装置、存储介质及电子设备,其技术方案如下:
第一方面,本说明书实施例提供了一种日志故障分析方法,包括:
获取待处理日志集合;
基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果;
根据匹配结果确定待处理日志集合的故障信息。
第二方面,本说明书实施例提供了一种日志故障分析装置,包括:
获取模块,用于获取待处理日志集合;
处理模块,用于基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果;
分析模块,用于根据匹配结果确定待处理日志集合的故障信息。
第三方面,本说明书实施例提供了一种电子设备,包括处理器以及存储器,处理器与存储器相连,存储器用于存储可执行程序代码,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行如上述的日志故障分析方法步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机或处理器上运行时,使得计算机或处理器执行如上述的日志故障分析方法步骤。
第五方面,本说明书实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行如上述的日志故障分析方法步骤。
本说明书一些实施例提供的技术方案带来的有益效果至少包括:
在本说明书一个或多个实施例中,可在对日志进行故障分析时先获取待处理日志集合,基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该待处理日志集合进行匹配,得到匹配结果之后并可根据该匹配结果确定待处理日志集合的故障信息。通过结合故障日志数据库与待处理日志集合匹配的结果来准确判断出待处理日志集合中是否包含故障日志数据库所涉及的故障,并可在确定存在故障的情况下基于故障日志数据库得到与故障对应的具体故障信息,进而还可保障对故障诊断结果的准确性,以提升用户的处理体验。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的一种机器学习模型的结构示意图;
图2为本说明书实施例提供的一种基于Ray***的故障流程示意图;
图3为本说明书实施例提供的一种日志故障分析***的架构示意图;
图4为本说明书实施例提供的一种日志故障分析方法的流程示意图
图5为本说明书实施例提供的又一种日志故障分析方法的流程示意图;
图6为本说明书实施例提供的一种日志模板库的结构示意图;
图7为本说明书实施例提供的一种日志清洗处理的效果展示图;
图8为本说明书实施例提供的又一种日志故障分析方法的流程示意图;
图9为本说明书实施例提供的一种日志故障分析方法的效果展示图;
图10为本说明书实施例提供的一种日志故障分析装置的结构示意图;
图11为本说明书实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述。
本说明书的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
由于软件故障会带来比较严重的损失,且随着软件规模和复杂性的不断增加,对于软件故障的检测愈发困难,基于此在现有技术中已应用有多种对软件故障进行分析定位的技术。可能的,常见的对软件故障进行分析定位的技术可为构建分布式计算***,通过将软件在发生故障时所产生的日志输入至分布式计算***以对该软件故障进行分析定位,但该方式涉及计算设施规模巨大以及运算数据量庞大,且该分布式计算***中各组件关联关系多样化,无法保障分析结果的效率以及准确性。可能的,常见的对软件故障进行分析定位的技术还可为构建跟踪程序运行轨迹技术,通过对软件在发生故障时所产生的日志进行运行根轨迹跟踪以判断软件运行方式是否正确,但其无法满足对软件故障的行为分析需求。
可能的,常见的对软件故障进行分析定位的技术还可为构建机器学习模型(例如本领域公知的各种类型的深度学习神经网络),通过将软件在发生故障时所产生的日志输入至该训练好的机器学习模型中,得到用于表征软件故障的数据。此处可参阅图1示出的本说明书实施例提供的一种机器学习模型的结构示意图。如图1所示,该机器学习模型100至少可以包括收集数据模块101、分析预测模块102以及数据展示模块103,其中:
当机器学习模型100在进行训练时,可由收集数据模块101获取多种包含已知软件故障类型的初始日志集合,并从该初始日志集合中根据抽样逻辑提取出与软件故障所对应的日志集合,作为该机器学习模型100的训练样本集合。可以理解的是,收集数据模块101可从不同类型的软件中获取包含已知软件故障类型的初始日志集合,例如可在软件A中获取包含已知软件故障类型为a的初始日志集合,可在软件B中获取包含已知软件故障类型为b的初始日志集合,可在软件C中获取包含已知软件故障类型为c的初始日志集合,且为了减少获取的数据量,还可按照与软件发生故障所并对应的时间段来获取各个类型的软件中处于故障发生所对应的时间段内的初始日志集合,本说明书实施例不限定于此。
还可以理解的是,在确定出训练样本集合之后,还可对该训练样本集合进行规则描述,例如但不局限于对于软件故障类型为a的初始日志集合可对应添加用于表征软件故障类型为a的描述信息以及该初始日志集合中软件故障类型为a的关联信息,对于软件故障类型为b的初始日志集合可对应添加用于表征软件故障类型为b的描述信息以及该初始日志集合中软件故障类型为b的关联信息,对于软件故障类型为c的初始日志集合可对应添加用于表征故障类型为c的描述信息以及该初始日志集合中软件故障类型为c的关联信息。
进一步的,在确定出训练样本集合之后,可由分析预测模块102对该训练样本集合进行扁平化特征提取,并对提取出的特征进行结果预测,此处结果可以但不局限于包括用于表征与提取的特征对应的软件故障类型的描述信息以及初始日志集合中该软件故障类型的关联信息。当分析预测模块102根据提取出的特征预测出结果之后,可将该结果与上述提到的对训练样本集合进行规则描述所确定的用于表征软件故障类型的描述信息以及初始日志集合中软件故障类型的关联信息进行比较,并根据比较的结果对该机器学习模型100进行训练。其中,比较方式可以但不局限于计算输出结果与实际规则描述结果之间的相似度,此处当对软件故障类型为a的初始日志集合进行特征提取时,可先对该软件故障类型为a的初始日志集合进行规则描述得到描述信息x1以及关联信息y1,根据分析预测模块102预测出描述信息x2以及关联信息y2,再分别计算描述信息x1与描述信息x2之间的相似度以及关联信息y1与关联信息y2之间的相似度,通过相似度的结果来判断预测出的结果是否与实际规则描述结果相似。
进一步的,在机器学习模型100训练完成之后,数据展示模块103可根据分析预测模块102预测出的结果按照预设条件进行展示。可以理解的是,预设条件可根据用户需求自行设定,可能的,当用户想得到软件故障对应的故障类型时,可直接输出用于表征软件故障类型的描述信息。可能的,当用户想得到软件故障对应的关联信息时,可直接输出软件故障对应的关联信息。当然,本说明书可以但不局限于上述提到的预设条件,不限定于此。
但上述提到的利用机器学习模型所得到的软件故障分析结果不具备可解释性,也即是说虽然该机器学习模型可通过训练挖掘出大规模日志中潜在的关联信息,但无法获取该关联信息的真实含义,易导致该机器学习模型输出的数据无法具象化表示软件运行情况,无法准确得出故障的根因以及运行轨迹。
可能的,常见的对软件故障进行分析定位的技术还可为人工对特定***中的故障进行分析定位,也即在特定***中出现故障时,通过人工对该特定***所上报的故障日志进行分析,以得到具体的故障分析信息。其中,特定***在本说明书中可以但不局限于为任何应用Ray项目的大数据***(也可称为Ray***),该Ray可理解为一种简单通用的分布式计算框架,目前Ray项目发展迅速,已被广泛应用各个领域。此处可参阅图2示出的本说明书实施例提供的一种基于Ray***的故障流程示意图。如图2所示,在该Ray***中的驱动程序执行程序时会依次调用执行程序1、执行程序2以及执行程序3,其中可由驱动程序调用执行程序1,再由执行程序1调用执行程序2,再由执行程序2调用执行程序3。当执行程序3在执行程序时发生类型为内存不足的故障,此时驱动程序会向Ray***上报任务失败的提示信息,同时会将该驱动程序在整个过程产生的日志上传至Ray***。进一步的,维护人员在检测到该任务失败的提示信息之后,会先根据该任务失败的提示信息获取该驱动程序在整个过程产生的日志,通过查看与驱动程序对应的日志可确定类型为内存不足的故障所对应的任务,再根据该类型为内存不足的故障所对应的任务查看与存在关联的执行程序所对应的日志。若在查看与该类型为内存不足的故障所对应的任务存在关联的执行程序所对应的日志之后仍无法定位出故障根因,则可通过查看进程曲线的方式来得到故障根因。
需要说明的是,上述提到的在Ray***中的日志可分布在不同的机器节点,涉及不同类型的日志,且不同类型不同集群的日志通常会存在于不同的平台,其故障定位数据源丰富,进而易导致维护人员进行故障定位的难度很大且时间成本投入过高。
为了解决上述提到的对于软件故障检测的准确性不高且投入成本过大等问题,本说明书提出了日志故障分析方法、装置、存储介质及电子设备,并通过如下多个实施例进行解释说明。
请参阅图3,图3示出了本说明书实施例提供的一种日志故障分析***的架构示意图。
如图3所示,该日志故障分析***至少可以包括电子设备301以及服务器302,其中:
电子设备301可安装有一个或多个不同类型的第三方应用程序,该第三方应用程序可应用于特定***,例如但不局限于为Ray***。当电子设备301在运行任意至少一个第三方应用程序出现故障时,可基于该出现故障的第三方应用程序获取待处理集合。其中,电子设备301所安装的任意一个第三方应用程序均可对应有日志存储路径,以用于存储该第三方应用程序在运行过程中所产生的日志,基于此当某个第三方应用程序在运行过程中出现故障时可通过与该第三方应用程序对应的日志存储路径获取该第三方应用程序在出现故障时所产生的日志集合。可以理解的是,此处可通过预设条件来确定第三方应用程序在出现故障时所产生的日志集合,可能的,可在第三方应用程序出现故障时记录第一时刻,并按照预设时间间隔确定在与第一时刻对应的第二时刻,以获取该第三方应用程序在该第二时刻与该第一时刻之间的时间段内所产生的日志集合。例如在某第三方应用程序出现故障时可记录当前时刻17:00作为第一时刻,并按照预设时间间隔10分钟确定第二时刻为16:50,进而可通过该某第三方应用程序对应的日志存储路径提取出该某第三方应用程序在16:50至17:00之间所产生的日志集合。
可能的,还可在第三方应用程序出现故障时从该第三方应用程序所产生的所有日志集合中按照预设比例获取部分日志集合,且该部分日志集合可为该第三方应用程序最新产生的日志集合。例如在某第三方应用程序出现故障时可记录当前时刻17:00,通过该某第三方应用程序对应的日志存储路径提取出该某第三方应用程序产生的所有日志集合,并按照预设比例50%将该所有日志集合中提取出50%的日志集合,且该50%的日志集合中包含有该某第三方应用程序在17:00所产生的日志集合。
可以理解的是,在第三方应用程序出现故障时,该第三方应用程序可上报用于表征出现故障的提示信息,以便于电子设备301根据提示信息来获取该第三方应用程序在出现故障时所产生的日志集合。
进一步的,电子设备301可在获取到第三方应用程序在出现故障时所产生的日志集合之后,将该第三方应用程序在出现故障时所产生的日志集合上传至与该第三方应用程序对应的服务器302中。可以理解的是,此处可不局限于服务器302对应于出现故障的第三方应用程序,例如还可对应于电子设备301中所有应用于特定***的第三方应用程序,本说明书实施例不限定于此。
本说明书实施例中涉及的电子设备301可以是智能手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、PC设备、个人数字助理(Personal Digital Assistant,PDA)、虚拟现实设备等。
服务器302在获取到第三方应用程序在出现故障时所产生的日志集合之后,可先确定故障日志数据库,并基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该日志集合进行匹配,以得到匹配结果。其中,故障日志数据库可通过对预设的编译语言进行解析生成,该预设的编译语言可用于对已知的多种故障日志以及与各个故障日志对应的故障信息进行编译,且每个故障日志可对应有多个故障日志模板。也即是说,根据预设的编译语言所生成的故障日志数据库中可包括至少一种故障日志所对应的多个故障日志模板以及与该多个故障日志模板对应的关联信息。此处在故障日志数据库中与故障日志所对应的关联信息可为根据预设的编译语言所编译的与相应故障日志对应的故障信息的一部分,换言之可从预设的编译语言所编译的与故障日志对应的故障信息中提取出与该故障日志所对应的关联信息,且本说明书实施例的与故障日志所对应的关联信息可以但不局限于为每个故障日志对应的多个故障日志模板之间的约束信息以及注解信息等。
可以理解的是,本说明书实施例的故障日志数据库还可基于不同类型的解析语法对预设的编译语言进行解析,例如可通过第一解析语法对预设的编译语言进行解析,以得到第一故障日志数据库;例如还可通过第二解析语法对预设的编译语言进行解析,以得到第二故障日志数据库;例如还可通过第三解析语法对预设的编译语言进行解析,以得到第三故障日志数据库。
还可以理解的是,上述提到的预设的编译语言也可理解为一种领域特定语言(Domain Specific Language,DSL),相比传统通用编程语言(General Purpose Language,GPL),例如但不局限于C、C++、Java以及Python等语言具有很大区别,其虽只能在特定领域解决特定任务,但可通过编程语言来编写计算机程序来表达任何可被计算的逻辑。常见的领域特定语言可包括用于描述Web页面的HTML,用于构造软件***的Ant、RAKE、MAKE,用于表达语法的BNF范式,语法分析器生成语言YACC、Bison、ANTLR,用于数据库结构化查询的SQL,用于描述样式表的CSS或是专用的排版***LaTex等。需要说明的是,此处预设的编译语言可应用于上述提到的Ray***。
服务器302在基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该日志集合进行匹配时,可以但不局限于先对该日志集合进行筛选,得到与多个故障日志模板匹配的日志集合,再结合与多个故障日志模板对应的关联信息对进行筛选后的日志集合进行匹配,以得出匹配结果。可以理解的是,对日志集合进行筛选后所得到的日志集合不仅可与多个故障日志模板匹配,而且该筛选后的日志集合之间也具有关联信息,进而可根据与多个故障日志模板对应的关联信息与进行筛选后的日志集合中包含的关联信息是否匹配来确定出匹配结果。
进一步的,服务器302在得到匹配结果之后,可根据该匹配结果确定日志集合的故障信息。其中,当确定匹配结果为包括至少一条故障日志序列时,可表明由电子设备301发送的日志集合中包含故障日志,且该故障日志可与故障日志数据库中存储的多个故障日志模板以及与多个故障日志模板对应的关联信息进行匹配,进而可将得到的该至少一条故障日志序列作为日志集合中的故障信息。可以理解的是,该故障信息可以但不局限于包括日志集合中从故障根因到故障症状所涉及的所有日志。
当确定匹配结果为不包含任意一条故障日志序列时,可表明由电子设备301发送的日志集合中不包含故障日志,进而可确定该日志集合不存在故障。可以理解的是,上述提到的故障日志可对应为在故障日志数据库中的一种或多种故障日志,也即是说当日志集合中不包含故障日志时可用于表明该日志集合中不包括故障日志数据库中的一种或多种故障日志,但不局限于可能包含其他类型的一种或多种故障日志。基于此,本说明书实施例的故障日志数据库还可按照预设时间周期进行更新,以进一步提高对电子设备301所发送的日志集合进行故障分析的准确性。
本说明书实施例中涉及的服务器302具体但不限于是硬件服务器、虚拟服务器、云服务器等,也可为终端,具体但不局限于是桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)等。
需要说明的是,本说明书实施例的日志故障分析***可以但不局限于应用在上述提出的电子设备以及服务器,例如还可应用在电子设备或是服务器上。可能的,电子设备可在提取出第三方应用程序在出现故障时所产生的日志集合之后,先确定出故障日志数据库,并基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该日志集合进行匹配,以得到匹配结果。可以理解的是,此处故障日志数据库可由电子设备预先对预设的编译语言进行解析生成,且可根据不同类型的解析语法得到对应不同的故障日志数据库。进一步的,在得到匹配结果之后,电子设备还可根据该匹配结果确定日志集合的故障信息。
可能的,服务器可在获取到关于第三方应用程序出现故障的提示信息之后获取与该第三方应用程序在出现故障时所产生的日志集合,并根据确定出的故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该日志集合进行匹配,以得到匹配结果。可以理解的是,此处故障日志数据库可由电子设备预先对预设的编译语言进行解析生成,且可根据不同类型的解析语法得到对应不同的故障日志数据库。进一步的,在得到匹配结果之后,服务器还可根据该匹配结果确定日志集合的故障信息。
请参阅图4,图4示出了本说明书实施例提供的一种日志故障分析方法的流程示意图。
如图4所示,该日志故障分析方法至少可以包括以下步骤:
步骤402、获取待处理日志集合。
具体地,在获取待处理日志集合之前,可先基于某第三方应用程序执行满足用户操作的事件,并根据该某第三方应用程序确定对应的存储路径。此处以某第三方应用程序应用于电子设备为例,该电子设备可预先安装有一个或多个不同类型的第三方应用程序,每个第三方应用程序可应用于特定***,例如但不局限于为Ray***。其中,电子设备所安装的任意一个第三方应用程序均可对应有日志存储路径,以用于存储该第三方应用程序在运行过程中所产生的日志,基于此当电子设备的某第三方应用程序在根据用户需求运行的过程中出现故障时,可通过与该某第三方应用程序对应的日志存储路径获取该某第三方应用程序在出现故障时所产生的待处理日志集合。可以理解的是,本说明书实施例的待处理日志集合可不局限于在某第三方应用程序运行过程中出现故障时,例如还可为在运行的任何时刻。
还可以理解的是,此处可通过预设条件来确定第三方应用程序在出现故障时所产生的日志集合,可能的,可在第三方应用程序出现故障时记录第一时刻,并按照预设时间间隔确定在与第一时刻对应的第二时刻,以获取该第三方应用程序在该第二时刻与该第一时刻之间的时间段内所产生的日志集合。例如在某第三方应用程序出现故障时可记录当前时刻17:00作为第一时刻,并按照预设时间间隔10分钟确定第二时刻为16:50,进而可通过该某第三方应用程序对应的日志存储路径提取出该某第三方应用程序在16:50至17:00之间所产生的日志集合。
可能的,还可在第三方应用程序出现故障时从该第三方应用程序所产生的所有日志集合中按照预设比例获取部分日志集合,且该部分日志集合可为该第三方应用程序最新产生的日志集合。例如在某第三方应用程序出现故障时可记录当前时刻17:00,通过该某第三方应用程序对应的日志存储路径提取出该某第三方应用程序产生的所有日志集合,并按照预设比例50%将该所有日志集合中提取出50%的日志集合,且该50%的日志集合中包含有该某第三方应用程序在17:00所产生的日志集合。
步骤404、基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果。
具体地,在获取到待处理日志集合之后,可先确定出用于匹配的故障日志数据库,再根据该故障数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对该待处理日志集合进行匹配,以确定出相应的匹配结果。其中,故障日志数据库可通过对预设的编译语言进行解析生成,该预设的编译语言可用于对已知的多种故障日志以及与各个故障日志对应的故障信息进行编译,且每个故障日志可对应有多个故障日志模板。也即是说,根据预设的编译语言所生成的故障日志数据库中可包括至少一种故障日志所对应的多个故障日志模板以及与该多个故障日志模板对应的关联信息。此处在故障日志数据库中与故障日志所对应的关联信息可为根据预设的编译语言所编译的与相应故障日志对应的故障信息的一部分,换言之可从预设的编译语言所编译的与故障日志对应的故障信息中提取出与该故障日志所对应的关联信息,且本说明书实施例的与故障日志所对应的关联信息可以但不局限于为每个故障日志对应的多个故障日志模板之间的约束信息以及注解信息等。
可以理解的是,本说明书实施例的故障日志数据库还可基于不同类型的解析语法对预设的编译语言进行解析,例如可通过第一解析语法对预设的编译语言进行解析,以得到第一故障日志数据库;例如还可通过第二解析语法对预设的编译语言进行解析,以得到第二故障日志数据库;例如还可通过第三解析语法对预设的编译语言进行解析,以得到第三故障日志数据库。
步骤406、根据匹配结果确定待处理日志集合的故障信息。
具体地,由于故障日志数据库中包括多个故障日志模板,当确定匹配结果为可满足该多个故障日志模板的一条或多条故障日志序列时,可表明该待处理日志集合中包含故障日志,且该故障日志可与故障日志数据库中存储的多个故障日志模板以及与多个故障日志模板对应的关联信息进行匹配,进而可将得到的该至少一条故障日志序列作为日志集合中的故障信息。可以理解的是,该故障信息可以但不局限于包括日志集合中从故障根因到故障症状所涉及的所有日志。
可以理解的是,此处当确定匹配结果为多条故障日志序列时,可按照顺序依次对每条故障日志进行标号,例如但不局限于可按照与故障信息对应的故障根因到故障症状关联的所有日志的顺序,本说明书不限定于此。
当确定匹配结果为不包含任意一条故障日志序列时,可表明该待处理日志集合中不包含故障日志,进而可确定该待处理日志集合不存在故障。可以理解的是,上述提到的故障日志可对应为在故障日志数据库中的一种或多种故障日志,也即是说当日志集合中不包含故障日志时可用于表明该日志集合中不包括故障日志数据库中的一种或多种故障日志,但不局限于可能包含其他类型的一种或多种故障日志。基于此,本说明书实施例的故障日志数据库还可按照预设时间周期进行更新,以进一步提高对待处理日志集合进行故障分析的准确性。
在本说明书实施例中,通过结合故障日志数据库与待处理日志集合匹配的结果来准确判断出待处理日志集合中是否包含故障日志数据库所涉及的故障,并可在确定存在故障的情况下基于故障日志数据库得到与故障对应的具体故障信息,进而还可保障对故障诊断结果的准确性,以提升用户的处理体验。
作为本说明书实施例的一种可选,基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果之前,还包括:
按照预设第一解析语法对预设编译语言进行解析,得到第一故障日志数据库;其中,预设编译语言用于对多种已知的故障日志以及与各个故障日志对应的故障信息进行编译,第一故障日志数据库包括与各个故障日志对应的多个故障日志模板以及与多个故障日志模板对应的关联信息;
基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果,包括:
基于第一故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果。
具体地,在基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配之前,可先按照预设第一解析语法对预设编译语言进行解析,以得到第一故障日志数据库。其中,预设编译语言可根据待处理日志集合所应用的特定***确定,例如但不局限于当待处理日志集合所对应的第三方应用程序可应用于Ray***时,该预设编译语言可根据该Ray***进行编译,编译的内容可涉及多种已知的故障日志以及与各个故障日志对应的故障信息。可以理解的是,此处故障信息可以但不局限于包含用于表征该故障日志的故障类型信息、用于表征该故障日志的故障根因信息以及用于表征该故障日志所涉及到的所有日志序列等。
此处第一解析语法可为针对预设编译语言所编译的语法,在对该预设编译语言进行解析时可提取出该预设编译语言中每个故障日志所对应的故障日志模板以及与该每个故障日志所对应的故障日志模板的关联信息。其中,每个故障日志所对应的故障日志模板可根据故障日志所包含的类型进行获取,该故障日志所包含的类型可以但不局限于为用于查询提供配置类的日志(也可称为ConfigProvider)、用于查询Event类型的日志(也可称为EventProvider)、用于查询普通log类型的日志(也可称为LogProvider)、用于查询与Metric性能相关的日志(MetricsProvider)以及用于利用事件名查询Event类型以及自定义MakeEvent类型的日志(也可称为FilterProvider)。
为便于更好的理解故障日志模板,此处可参阅如下表1示出的一种故障日志对应表:
表1
Figure BDA0003851468980000091
在表1中可包括有五种类型的故障日志模板,其中log pattern可用于表征log类型的故障日志模板,其对应的标记可为L或l,且可根据用于查询普通log类型的日志获取。event pattern可用于表征event类型的故障日志模板,其对应的标记可为E或e,且可根据用于查询Event类型的日志获取。metric pattern可用于表征metric类型的故障日志模板,其对应的标记可为M或m,且可根据用于查询与Metric性能相关的日志获取。configpattern可用于表征config类型的故障日志模板,其可标记为C或c,且可根据用于查询提供配置类的日志获取。Others可用于表征其它类型的故障日志模板(例如上述提到的利用事件名查询Event类型以及自定义MakeEvent类型的日志所对应的故障日志模板),其可以但不局限于标记为O或o。可以理解的是,每个故障日志模板可表示为包含常量与变量的字符串,常量可理解为上述提到的不同类型的故障日志模板所标记的字符,变量可理解为用
${variable_name}的形式表示。需要说明的是,当变量名为空时,${}还可表示为匿名变量。基于上述,此处还可参阅如下表2示出的一种基于日志模板的日志对应表:
表2
实际日志 "some thing happens,ip=10.0.0.1,node_id=000001"
Pattern "some thing happens,ip=${ip},node_id=${nodeId}"
在表2中第一行可表示为实际日志的内容,第二行可表示为根据故障日志模板匹配得到的日志内容。
结合上述举例提到的一种故障日志的故障类型为内存不足为例,还可参阅如下表3示出的一种基于日志模板的又一种日志对应表:
表3
Figure BDA0003851468980000092
Figure BDA0003851468980000101
在表3中第4行对应的日志可为用于表征log类型的故障日志模板所对应的日志,第6行对应的日志可为用于表征其它类型的故障日志模板所对应的日志,第8行对应的日志可为用于表征event类型的故障日志模板所对应的日志。
其中,与每个故障日志所对应的故障日志模板的关联信息可以但不局限于包括每个故障日志所对应的故障日志模板之间的时序信息、约束信息以及注解信息等。可以理解的是,时序信息可用于表征故障日志模板之间的时序关系,可以但不局限于包括两种类型:“=>”可表示左边的故障日志模板出现的时间先于右边的故障日志模板出现的时间,“<=”可表示右边的故障日志模板出现的时间先于左边的故障日志模板出现的时间。
可以理解的是,约束信息可用于表征故障日志模板之间的变量约束信息或是特殊约束信息,此处变量约束信息可以但不局限于表现为log_selectors->condition->log_selectors或log_selectors<-condition<-log_selectors的形式,其中condition可为前后两条故障日志模板之间的约束表达式,例如"left.getAttribute('actorId')=right.getAttribute('actorId0')",可表示为左侧故障日志模板中的actorId和右侧故障日志模板中的actorId0变量值相等。需要说明的是,当变量名一致时,可直接将该变量名作为约束信息。
此处特殊约束信息的类型可以但不局限于包括非约束信息(对应的字符可表示为!)、或约束信息(对应的字符可表示为||)以及递归约束信息(对应的字符可表示为*/+/INT)。其中,非约束信息可用于表征在第三方应用程序某次运行过程中,该故障日志模板对应的日志不会发生。或约束信息可用于表征两个故障日志模板对应的日志在第三方应用程序某次运行过程中至少出现一个或以上。递归约束信息可用于表征在第三方应用程序某次运行过程中,该故障日志模板对应的日志出现一次以上且满足某种约束。
此处注解信息可用于对故障日志模板增加注释,其注释内容可以但不局限于包括@Pattern、pname、ptags、pdes等。其中,@Pattern为对该故障日志模板的一个注释,标记该行为故障日志模板。pname为用户为该故障日志模板提供的简短命名。ptags为用户为该故障日志模板添加的标记,标记内容为该故障日志模板的类型,比如为symptom或rootcause。pdesc为该故障日志描述的具体内容,例如可支持从日志中抽取相关字段进行填充,且若需要从日志中抽取相关字段,可采用string+自定义算子+string的格式。
本说明书实施例的第一解析语法可以但不局限于为Anomaly语法或是MakeEvent语法。其中,Anomaly语法可理解为对故障日志序列的抽象化描述,例如可参阅如下表4示出的一种基于Anomaly语法的基本示例:
表4
Figure BDA0003851468980000102
Figure BDA0003851468980000111
在表4中第一行可表示为基于Anomaly语法的注解信息,第二行、第四行以及第六行可表示为在预设编译语言中的某个故障日志所对应的多个故障日志模板,第三行可表示为第二行所表示的故障日志模板的发生时间先于第四行所表示的故障日志模板的发生时间,第五行可表示为第四行所表示的故障日志模板与第六行所表示的故障日志模板之间的约束条件。
此处可结合表4,当故障日志的类型为内存不足时,还可参阅如下表5示出的一种基于Anomaly语法的第一故障日志数据库示例:
表5
Figure BDA0003851468980000112
在表5中第一行可表示为基于Anomaly语法的注解信息,第二行可表示为该故障日志对应的根因定义,第三行可表示为该故障日志的根因具体对应的故障日志模板,第四行可表示第三行对应的日志模板所发生的时间先于第六行所表示的日志模板所发生的时间,第五行可表示为该故障日志对应的症状定义,第六行可表示为该故障日志的症状定义具体对应的故障日志模板。
其中,MakeEvent语法可理解为简化Anomaly语法的一种描述,主要通过引入合成事件来将Anomaly语法的描述中多个代表相同含义的日志统一成相同的事件描述。需要说明的是,由于在Anomaly语法中当遇到***升级时,需要对预设编译语言重新编译,进而易使Anomaly语法对应的每个故障日志模板发生改变。而在MakeEvent语法中,只需要根据***变化修改存储的事件即可,因为在预设编译语言中引入了事件,进而在一定程度上避免了需要重新对预设编译语言编译的技术缺陷。
可以理解的是,在MakeEvent语法中引入的合成事件可包括两种定义方式,一种是简单事件定义,也即是说当某条日志发生时可认为对应的某事件发生,例如可参阅如下表6示出的一种基于MakeEvent语法的简单事件示例:
表6
Figure BDA0003851468980000113
在表6中第一行可表示为基于MakeEvent语法的注解信息以及引入的合并事件,第二行和第三行均可表示为引入的该合并事件可对应的故障日志模板。
上述合成事件的另一种定义是复杂事件定义,也即是说涉及的多条故障日志之间具有联系,其可在引入合并事件之后采用与Anomaly语法相同的语法,例如可参阅如下表7示出的一种基于MakeEvent语法的复杂事件示例:
表7
Figure BDA0003851468980000121
在表7中第一行可表示为基于MakeEvent语法的注解信息以及引入的合并事件,从第二行开始可参阅基于Anomaly语法的示例,包括每个故障日志模板以及与该每个故障日志模板之间的约束信息。
请参阅图5,图5示出了本说明书实施例提供的又一种日志故障分析方法的流程示意图。
如图5所示,该日志故障分析方法至少可以包括以下步骤:
步骤502、获取待处理日志集合。
具体地,步骤502可参阅步骤402,此处不过多赘述。
步骤504、从第一故障日志数据库中提取出多个故障日志模板,并根据多个故障日志模板建立日志模板库。
具体地,可在参照上述提出的按照第一预设解析语法对预设编译语言进行解析,得到第一故障日志数据库之后,可先对该第一故障日志数据库进行提取,以提取出与至少一个故障日志所对应的多个故障日志模板,并可根据该多个故障日志模板建立日志模板库。其中,由于第一故障日志数据库可包括与至少一个故障日志所对应的多个故障日志模板以及与该多个故障日志模板对应的关联信息,可依据故障日志的类型分别提取出与每个故障日志所对应的多个故障日志模板,并可通过中添加每个故障日志以及与每个故障日志所对应的多个故障日志模板的对应关系的方式建立该日志模板库。
此处还可参阅图6示出的本说明书实施例提供的一种日志模板库的结构示意图。如图6所示,在该日志模板库中可包括从第一故障日志数据库中提取出的三种类型的故障日志,分别可表示为故障日志A、故障日志B以及故障日志C。其中,与故障日志A对应的多个故障日志模板可分别表示为故障日志模板a1、故障日志模板a2以及故障日志模板a3。与故障日志B对应的多个故障日志模板可分别表示为故障日志模板b1、故障日志模板b2以及故障日志模板b3。与故障日志C对应的多个故障日志模板可分别表示为故障日志模板c1、故障日志模板c2以及故障日志模板c3。当然,本说明书实施例的日志模板库可以但不局限于上述提到的三种类型的故障日志以及分别与每个故障日志所对应的三个故障日志模板,不限定于此。
步骤506、基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合。
具体地,在根据第一故障日志数据库得到日志模板库之后,可基于该日志模板库对待处理日志集合进行清洗处理。其中,清洗处理可理解为筛选处理,也即是说在待处理日志集合中筛选出与日志模板库中任意至少一个故障日志模板可满足正则匹配的日志集合,以作为清洗处理后的待处理日志集合。此处可以日志模板库中某个故障日志模板可表示为“AABB”格式的字符串为例,满足正则匹配可理解为在待处理日志集合中同样包括可表示为“AABB”格式的字符串,且本说明书的实施例中对于该正则匹配可对应的格式不限定于此。
可以理解的是,在清洗处理后的待处理日志集合中每个筛选出来的与故障日志模板匹配的日志之间可存在关联信息,该关联信息可以但不局限于包括每个日志之间的时序信息以及约束信息等。其中,时序信息可用于表征每个日志之间的时序关系,可以但不局限于包括两种类型:“=>”可表示左边的日志出现的时间先于右边的日志出现的时间,“<=”可表示右边的日志出现的时间先于左边的日志出现的时间。
其中,约束信息可用于表征日志之间的变量约束信息,该变量约束信息可以但不局限于表现为log_selectors->condition->log_selectors或log_selectors<-condition<-log_selectors的形式,其中condition可为前后两条故障日志模板之间的约束表达式,例如"left.getAttribute('actorId')=right.getAttribute('actorId0')",可表示为左侧日志中的actorId和右侧日志中的actorId0变量值相等。需要说明的是,当变量名一致时,可直接将该变量名作为约束信息。
步骤508、根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果。
具体地,在得到清洗处理后的待处理日志集合之后,可基于第一故障日志数据库中的多个故障日志模板所对应的关联信息对该清洗处理后的待处理日志集合进行匹配,以判断该清洗处理后的待处理日志集合中是否包含与第一故障日志数据库中存在的关联信息所匹配的日志集合。可以理解的是,当在清洗处理后的待处理日志集合中匹配出与第一故障日志数据库中存在的关联信息对应的日志集合,则可表明该待处理日志集合中包括故障日志,且匹配出的相关日志集合可用于表征该故障的根因日志以及与症状关联的日志。
步骤510、根据匹配结果确定待处理日志集合的故障信息。
具体地,步骤510可参阅步骤406,此处不过多赘述。
在本说明书的实施例中,可在对待处理日志集合进行匹配时先对该待处理日志集合进行清洗,以提高整体对该待处理日志集合的处理效率,可进一步保障匹配结果的准确性。
作为本说明书实施例的一种可选,基于日志模板库对待处理日志集合进行清洗处理之前,还包括:
对待处理日志集合进行结构化处理,得到第一处理日志集合;
基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合,包括:
基于日志模板库对第一处理日志集合进行处理,得到处理后的待处理日志集合。
具体地,在基于日志模板库中的故障日志模板对待处理日志集合进行清洗之前,还可先对该待处理日志集合进行结构化处理。此处结构化处理可理解为将该待处理日志集合的数据进行统一化,例如但不局限于将该待处理日志集合中的所有字符串转换为统一格式,以便于在清洗过程中可对该待处理日志集合完成快速识别和匹配。当对该待处理日志集合进行结构化处理之后,可将处理后的待处理日志集合作为第一处理日志集合,并通过日志模板库中的故障日志模板再对该第一处理日志集合进行清洗。
作为本说明书实施例的又一种可选,基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合之后,根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果之前,还包括:
对清洗处理后的待处理日志集合进行过滤处理,得到第二处理日志集合;
根据所述与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果,包括:
根据与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对第二处理日志集合进行匹配,得到匹配结果。
具体地,在得到经过清洗处理的待处理日志集合之后,还可先对该经过清洗处理的待处理日志集合进行过滤处理,以得到过滤后的待处理日志集合。其中,过滤处理可理解为按照测试人员的需求所设置的过滤条件对该经过清洗处理的待处理日志集合进行过滤。此处以根据测试人员的需求所设置的过滤条件为时间间隔为例,可在得到经过清洗处理的待处理日志集合之后,将该待处理日志集合中处于第一时刻至第二时刻之间的日志集合筛选出以作为第二处理日志集合,该第二时刻可对应为获取待处理日志集合的时刻,第一时刻可依据第二时刻以及预设的时间间隔得到。
可以理解的是,该过滤处理还可根据日志的类型进行过滤。例如在得到经过清洗处理的待处理日志集合之后,可对该经过清洗处理的待处理日志集合进行预设日志类型的筛选,以得到与预设日志类型一致的日志集合,此处预设日志类型可以但不局限于为event类型或是config类型等。
还可以理解的是,上述提到的两种过滤处理方式可同时对经过清洗处理的待处理日志集合进行过滤处理,也即是说,可能的,在得到经过清洗处理的待处理日志集合之后,可先按照测试人员的需求所设置的过滤条件对该经过清洗处理的待处理日志集合进行过滤,再根据日志的类型对该经过第一次过滤处理的待处理日志集合进行过滤。可能的,在得到经过清洗处理的待处理日志集合之后,可先根据日志的类型对该经过清洗处理的待处理日志集合进行过滤,再按照测试人员的需求所设置的过滤条件对该经过第一次过滤处理的待处理日志集合进行过滤。可能的,在得到经过清洗处理的待处理日志集合之后,还可同时按照测试人员的需求所设置的过滤条件以及日志的类型对经过清洗处理的待处理日志集合进行过滤。
此处还可参阅图7示出的本说明书实施例提供的一种日志清洗处理的效果展示图。如图7所示,可先根据第一故障日志数据库中的多个故障日志模板所建立的日志模板库对待处理日志集合进行清洗处理,以得到清洗处理后的待处理日志集合。进一步的,可再结合过滤条件以及event日志类型对该清洗处理后的待处理日志集合进行过滤处理,以得到用于跟第一故障日志数据库中与清洗处理后的待处理日志集合所匹配的多个故障日志模板对应的关联信息进行匹配的待匹配日志集合。其中,过滤条件可理解为按照测试人员的需求所设置的过滤条件对该经过清洗处理的待处理日志集合进行过滤,event日志类型可理解为按照预设的event日志类型对该经过清洗处理的待处理日志集合进行过滤,且两种过滤方式可不限定执行先后顺序。
请参阅图8,图8示出了本说明书实施例提供的又一种日志故障分析方法的流程示意图。
如图8所示,该日志故障分析方法至少可以包括以下步骤:
步骤802、获取待处理日志集合。
具体地,步骤802可参阅步骤402,此处不过多赘述。
步骤804、从第一故障日志数据库中提取出多个故障日志模板,并根据多个故障日志模板建立日志模板库。
具体地,步骤804可参阅步骤504,此处不过多赘述。
步骤806、基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合。
具体地,步骤806可参阅步骤506,此处不过多赘述。
步骤808、从与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息。
具体地,在得到经过清洗处理后的待处理日志集合之后,可先根据该得到经过清洗处理后的待处理日志集合确定出在第一故障日志数据库中与该得到经过清洗处理后的待处理日志集合匹配的多个故障日志模板。可以理解的是,在根据日志模板库对待处理日志集合进行清洗时可存储与待处理日志集合匹配成功的多个故障日志模板,并可将该匹配成功的多个故障日志模板作为在第一故障日志数据库中与该得到经过清洗处理后的待处理日志集合匹配的多个故障日志模板。
进一步的,可将该在第一故障日志数据库中与该得到经过清洗处理后的待处理日志集合匹配的多个故障日志模板所对应的关联信息提取出约束信息,该约束信息可以但不局限于包括每个故障日志模板之间的时序信息以及约束信息等。可以理解的是,第一故障日志数据库中包含的与多个故障日志模板对应的关联信息还可按照有向偏序图的形式将各个故障日志模板之间进行关联,以便于后续快速在该有向偏序图中确定与待处理日志集合存在匹配的故障日志序列,本说明书不限定于此。
步骤810、将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果。
具体地,在与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息之后,可将该约束信息、经过清洗处理的待处理日志集合输入至约束求解器中,以根据输出的结果来判断该待处理日志集合中是否存在故障日志。其中,在将该约束信息、经过清洗处理的待处理日志集合输入至约束求解器之前,还可先对该清洗处理的待处理日志集合进行特殊类型日志的检测,以判断该清洗处理的待处理日志集合是否包含特殊类型日志。可能的,当确定该清洗处理的待处理日志集合包含特殊类型日志(可以但不局限于为metric类型的日志)时,可先从该清洗处理的待处理日志集合中提取出特殊类型日志,再对该特殊类型日志进行单独处理,以确定相应的结果。可能的,当确定该清洗处理的待处理日志集合不包含特殊类型日志时,可继续将该约束信息、经过清洗处理的待处理日志集合输入至约束求解器进行约束求解。
可以理解的是,将该约束信息、经过清洗处理的待处理日志集合输入至约束求解器之前,还可查询该待处理日志集合的配置信息是否满足预设条件。此处以待处理日志集合对应的第三方应用程序在运行过程中包含多个进程为例,可通过查询该进程数量来确定是否达到预设进程数量区间,当进程数量处于预设进程数量区间时,可表明该待处理日志集合不存在故障日志,进而可不需要该约束信息、经过清洗处理的待处理日志集合输入至约束求解器。当进程数量不处于预设进程数量区间时,可表明该待处理日志存在故障日志,接着可将该约束信息、经过清洗处理的待处理日志集合输入至约束求解器。
此处还可参阅图9示出的本说明书实施例提供的一种日志故障分析方法的效果展示图。如图9所示,可先按照预设第一解析语法对预设编译语言进行解析,得到第一故障日志数据库以及根据该第一故障日志数据中的多个故障日志模板所建立的日志模板库,接着可基于该日志模板库对获取的待处理日志集合进行清洗处理,以得到清洗处理后的待处理日志集合。进一步的,可再结合该第一故障日志数据库中与清洗处理后的待处理日志集合所匹配的多个故障日志模板对应的关联信息对该清洗处理后的待处理日志集合进行匹配,并可在确定该待处理日志集合存在故障的同时得到多条用于表征该故障根因以及与症状所涉及的故障日志序列。其中,在基于第一故障日志数据库中与清洗处理后的待处理日志集合所匹配的多个故障日志模板对应的关联信息对该清洗处理后的待处理日志集合进行匹配的过程中,可加入metric检测以判断该清洗处理后的待处理日志集合中是否包含与metric类型相应的故障日志,以及还可加入配置信息以对该待处理日志集合的配置信息进行判断是否满足预设条件。
步骤812、根据匹配结果确定待处理日志集合的故障信息。
具体地,步骤812可参阅步骤510,此处不过多赘述。
作为本说明书实施例的一种可选,从与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息之后,将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果之前,还包括:
检测约束信息中是否存在满足预设条件的约束信息;
若约束信息中存在满足预设条件的约束信息,对满足预设条件的约束信息进行转换处理。
具体地,在将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解之前,还可先检测该约束信息中是否存在满足预设条件的约束信息,该预设条件所对应的约束信息可理解为特殊约束信息,也即上述提到的类型可以但不局限于包括非约束信息(对应的字符可表示为!)、或约束信息(对应的字符可表示为||)以及递归约束信息(对应的字符可表示为*/+/INT)。其中,非约束信息可用于表征在第三方应用程序某次运行过程中,该故障日志模板对应的日志不会发生。或约束信息可用于表征两个故障日志模板对应的日志在第三方应用程序某次运行过程中至少出现一个或以上。递归约束信息可用于表征在第三方应用程序某次运行过程中,该故障日志模板对应的日志出现一次以上且满足某种约束。
可能的,当确定约束信息中存在特殊约束信息时,可对该特殊约束信息进行转换处理,以得到与约束信息中其它约束信息的形式一致的特殊约束信息,并可将该转换处理后的特殊约束信息以及其他约束信息与清洗处理后的待处理日志集合输入至约束求解器进行约束求解。
可能的,当确定约束信息中不存在特殊约束信息时,可再将该约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解。
作为本说明书实施例的一种可选,基于第一故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果,包括:
按照预设第二解析语法对预设编译语言进行解析,得到第二故障日志数据库;其中,第二故障日志数据库包括至少一种故障日志对应的多个故障日志模板以及与多个故障日志模板对应的故障根因信息;
基于第二故障日志数据库对待处理日志集合进行清洗处理,并得到第一结果;
根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到第二结果;
根据第一结果以及第二结果确定目标结果;
根据匹配结果确定待处理日志集合的故障信息,包括:
根据目标结果确定待处理日志集合的故障信息
具体地,在基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配的过程中,还可按照预设第二解析语法对预设编译语言进行解析,得到第二故障日志数据库。其中,预设编译语言可根据待处理日志集合所应用的特定***确定,例如但不局限于当待处理日志集合所对应的第三方应用程序可应用于Ray***时,该预设编译语言可根据该Ray***进行编译,编译的内容可涉及多种已知的故障日志以及与各个故障日志对应的故障信息。可以理解的是,此处故障信息可以但不局限于包含用于表征该故障日志的故障类型信息、用于表征该故障日志的故障根因信息以及用于表征该故障日志所涉及到的所有日志序列等。
此处第二解析语法可为针对预设编译语言所编译的语法,在对该预设编译语言进行解析时可提取出该预设编译语言中每个故障日志所对应的故障日志模板以及与该每个故障日志所对应的故障根因信息。也即是说当基于第二故障日志数据库在对待处理日志集合进行清洗处理时,若存在第二故障日志数据库中任意至少一个故障日志模板可与待处理日志集合匹配,则第一结果可对应为该匹配的任意至少一个故障日志模板所对应的故障根因信息。可以理解的是,此处第二故障日志数据库可用于快速对待处理日志集合进行常规故障的检测,并通过输出故障根因信息来给测试人员带来更直接的检测结果,也即是说该第二故障日志数据库中可包括任意至少一种常规的故障日志所对应的多个故障日志模板以及与多个故障日志模板对应的故障根因信息。
需要说明的是,本说明书的实施例所提到的第二故障日志数据库还可直接用于对待处理日志集合进行故障分析,以满足测试人员对故障进行快速定位的需求,不限定于此。
进一步的,在根据第二故障日志数据库得到第一结果之后,还可继续根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到第二结果。其中,该得到第二结果的方式可参阅上述实施例,此处不过多赘述。需要说明的是,在本说明书的实施例中可以但不局限于得到第一结果与第二结果的先后顺序,可能的,可在先根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到第二结果之后,再根据第二故障日志数据库得到第一结果。可能的,还可在根据第二故障日志数据库得到第一结果的同时,根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到第二结果。
进一步的,可结合得到的第一结果与第二结果确定出目标结果。其中,由于第一结果可分为包含故障根因信息或是无故障,第二结果可分为从故障根因到故障症状所涉及的所有日志或是无故障,可能的,当第一结果与第二结果同为无故障时,可确定目标结果为待处理日志集合无故障。可能的,当第一结果与第二结果为相同的故障类型时,可确定目标结果为待处理日志集合存在故障,故障日志可对应为第二结果。可能的,当第一结果与第二结果不同,且第一结果与第二结果不为相同的故障类型时,可以但不局限于再次对待处理日志集合进行故障分析,以确定出目标结果。
请参阅图10,图10示出了本说明书实施例提供的一种日志故障分析装置的结构示意图。
如图10所示,该日志故障分析装置至少可以包括获取模块1001、处理模块1002以及分析模块1003,其中:
获取模块1001,用于获取待处理日志集合;
处理模块1002,用于基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果;
分析模块1003,用于根据匹配结果确定待处理日志集合的故障信息。
在一些可能的实施例中,分析模块1003包括:
第一分析单元,用于若匹配结果为得到至少一条故障日志序列,根据至少一条故障日志序列确定待处理日志集合的故障信息;
第二分析单元,用于若匹配结果为未得到故障日志序列,则确定待处理日志集合不存在故障。
在一些可能的实施例中,装置还包括:
解析模块,用于在基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果之前,按照预设第一解析语法对预设编译语言进行解析,得到第一故障日志数据库;其中,预设编译语言用于对多种已知的故障日志以及与各个故障日志对应的故障信息进行编译,第一故障日志数据库包括与各个故障日志对应的多个故障日志模板以及与多个故障日志模板对应的关联信息;
处理模块1002具体用于:
基于第一故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果。
在一些可能的实施例中,处理模块1002包括:
第一提取单元,用于从第一故障日志数据库中提取出多个故障日志模板,并根据多个故障日志模板建立日志模板库;
第一清洗单元,用于基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合;
第一匹配单元,用于根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果。
在一些可能的实施例中,处理模块1002还包括:
第一处理单元,用于在基于日志模板库对待处理日志集合进行清洗处理之前,对待处理日志集合进行结构化处理,得到第一处理日志集合;
第一清洗单元具体用于:
基于日志模板库对第一处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合。
在一些可能的实施例中,处理模块1002还包括:
过滤单元,用于在基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合之后,根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果之前,对清洗处理后的待处理日志集合进行过滤处理,得到第二处理日志集合;
第一匹配单元具体用于:
根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对第二处理日志集合进行匹配,得到匹配结果。
在一些可能的实施例中,第一匹配单元具体用于:
从与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息;
将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果。
在一些可能的实施例中,第一匹配单元在从与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息之后,将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果之前,具体还用于:
检测约束信息中是否存在满足预设条件的约束信息;
若约束信息中存在满足预设条件的约束信息,对满足预设条件的约束信息进行转换处理。
在一些可能的实施例中,处理模块1002还包括:
第二解析单元,用于按照预设第二解析语法对预设编译语言进行解析,得到第二故障日志数据库;其中,第二故障日志数据库包括至少一种故障日志对应的多个故障日志模板以及与多个故障日志模板对应的故障根因信息;
第二清洗单元,用于基于第二故障日志数据库对待处理日志集合进行清洗处理,并得到第一结果;
第二匹配单元,用于根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到第二结果;
确定单元,用于根据第一结果以及第二结果确定目标结果;
分析模块1003具体用于:
根据目标结果确定待处理日志集合的故障信息。
请参阅图11,图11示出了本说明书实施例提供的一种电子设备的结构示意图。
如图11所示,该电子设备1100可以包括:至少一个处理器1101、至少一个网络接口1104、用户接口1103、存储器1105以及至少一个通信总线1102。
其中,通信总线1102可用于实现上述各个组件的连接通信。
其中,用户接口1103可以包括按键,可选用户接口还可以包括标准的有线接口、无线接口。
其中,网络接口1104可以但不局限于为蓝牙模块、NFC模块、Wi-Fi模块等。
其中,处理器1101可以包括一个或者多个处理核心。处理器1101利用各种接口和线路连接整个多任务模型训练装置1100内的各个部分,通过运行或执行存储在存储器1105内的指令、程序、代码集或指令集,以及调用存储在存储器1105内的数据,执行多任务模型训练装置1100的各种功能和处理数据。可选的,处理器1101可以采用DSP、FPGA、PLA中的至少一种硬件形式来实现。处理器1101可集成CPU、GPU和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1101中,单独通过一块芯片进行实现。
其中,存储器1105可以包括RAM,也可以包括ROM。可选的,该存储器1105包括非瞬时性计算机可读介质。存储器1105可用于存储指令、程序、代码、代码集或指令集。存储器1105可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1105可选的还可以是至少一个位于远离前述处理器1101的存储装置。如图11所示,作为一种计算机存储介质的存储器1105中可以包括操作***、网络通信模块、用户接口模块以及日志故障分析应用程序。
具体地,处理器1101可以用于调用存储器1105中存储的日志故障应用程序,并具体执行以下操作:
获取待处理日志集合;
基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果;
根据匹配结果确定待处理日志集合的故障信息。
在一些可能的实施例中,处理器1101在根据匹配结果确定待处理日志集合的故障信息时,用于执行:
若匹配结果为得到至少一条故障日志序列,根据至少一条故障日志序列确定待处理日志集合的故障信息;
若匹配结果为未得到故障日志序列,则确定待处理日志集合不存在故障。
在一些可能的实施例中,处理器1101在基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果之前,还用于执行:
按照预设第一解析语法对预设编译语言进行解析,得到第一故障日志数据库;其中,预设编译语言用于对多种已知的故障日志以及与各个故障日志对应的故障信息进行编译,第一故障日志数据库包括与各个故障日志对应的多个故障日志模板以及与多个故障日志模板对应的关联信息;
处理器1101基于故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果时,用于执行:
基于第一故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果。
在一些可能的实施例中,处理器1101基于第一故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果时,用于执行:
从第一故障日志数据库中提取出多个故障日志模板,并根据多个故障日志模板建立日志模板库;
基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合;
根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果。
在一些可能的实施例中,处理器1101在基于日志模板库对待处理日志集合进行清洗处理之前,还用于执行:
对待处理日志集合进行结构化处理,得到第一处理日志集合;
处理器1101基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合时,用于执行:
基于日志模板库对第一处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合。
在一些可能的实施例中,处理器1101在基于日志模板库对待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合之后,根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果之前,还用于执行:
对清洗处理后的待处理日志集合进行过滤处理,得到第二处理日志集合;
处理器1101根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果时,用于执行:
根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对第二处理日志集合进行匹配,得到匹配结果。
在一些可能的实施例中,处理器1101根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到匹配结果时,用于执行:
从与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息;
将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果。
在一些可能的实施例中,处理器1101从与第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息之后,将约束信息以及清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果之前,还用于执行:
检测约束信息中是否存在满足预设条件的约束信息;
若约束信息中存在满足预设条件的约束信息,对满足预设条件的约束信息进行转换处理。
在一些可能的实施例中,处理器1101基于第一故障日志数据库中的多个故障日志模板以及与多个故障日志模板对应的关联信息对待处理日志集合进行匹配,得到匹配结果时,用于执行:
按照预设第二解析语法对预设编译语言进行解析,得到第二故障日志数据库;其中,第二故障日志数据库包括至少一种故障日志对应的多个故障日志模板以及与多个故障日志模板对应的故障根因信息;
基于第二故障日志数据库对待处理日志集合进行清洗处理,并得到第一结果;
根据与第一故障日志数据库中的多个故障日志模板对应的关联信息对清洗处理后的待处理日志集合进行匹配,得到第二结果;
根据第一结果以及第二结果确定目标结果;
处理器1101根据匹配结果确定待处理日志集合的故障信息时,用于执行:
根据目标结果确定待处理日志集合的故障信息。
本说明书实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述图4或图5或图9所示实施例中的一个或多个步骤。上述电子设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本说明书实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(DigitalVersatile Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
以上所述的实施例仅仅是本说明书的优选实施例方式进行描述,并非对本说明书的范围进行限定,在不脱离本说明书的设计精神的前提下,本领域普通技术人员对本说明书的技术方案作出的各种变形及改进,均应落入本说明书的权利要求书确定的保护范围内。

Claims (13)

1.一种日志故障分析方法,包括:
获取待处理日志集合;
基于故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果;
根据所述匹配结果确定所述待处理日志集合的故障信息。
2.根据权利要求1所述的方法,所述根据所述匹配结果确定所述待处理日志集合的故障信息,包括:
若匹配结果为得到至少一条故障日志序列,根据所述至少一条故障日志序列确定所述待处理日志集合的故障信息;
若匹配结果为未得到故障日志序列,则确定所述待处理日志集合不存在故障。
3.根据权利要求1所述的方法,所述基于故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果之前,还包括:
按照预设第一解析语法对预设编译语言进行解析,得到第一故障日志数据库;其中,所述预设编译语言用于对多种已知的故障日志以及与各个故障日志对应的故障信息进行编译,所述第一故障日志数据库包括与所述各个故障日志对应的所述多个故障日志模板以及与所述多个故障日志模板对应的关联信息;
所述基于故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果,包括:
基于第一故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果。
4.根据权利要求3所述的方法,所述基于第一故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果,包括:
从所述第一故障日志数据库中提取出所述多个故障日志模板,并根据所述多个故障日志模板建立日志模板库;
基于所述日志模板库对所述待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合;
根据所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对所述清洗处理后的待处理日志集合进行匹配,得到匹配结果。
5.根据权利要求4所述的方法,所述基于所述日志模板库对所述待处理日志集合进行清洗处理之前,还包括:
对所述待处理日志集合进行结构化处理,得到第一处理日志集合;
所述基于所述日志模板库对所述待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合,包括:
基于所述日志模板库对所述第一处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合。
6.根据权利要求4或5所述的方法,所述基于所述日志模板库对所述待处理日志集合进行清洗处理,得到清洗处理后的待处理日志集合之后,所述根据所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对所述清洗处理后的待处理日志集合进行匹配,得到匹配结果之前,还包括:
对所述清洗处理后的待处理日志集合进行过滤处理,得到第二处理日志集合;
所述根据所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对所述清洗处理后的待处理日志集合进行匹配,得到匹配结果,包括:
根据所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对所述第二处理日志集合进行匹配,得到匹配结果。
7.根据权利要求4所述的方法,所述根据所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对所述清洗处理后的待处理日志集合进行匹配,得到匹配结果,包括:
从所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息;
将所述约束信息以及所述清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果。
8.根据权利要求7所述的方法,所述从所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息中提取出约束信息之后,所述将所述约束信息以及所述清洗处理后的待处理日志集合输入至约束求解器进行约束求解,得到结果之前,还包括:
检测所述约束信息中是否存在满足预设条件的约束信息;
若所述约束信息中存在所述满足预设条件的约束信息,对所述满足预设条件的约束信息进行转换处理。
9.根据权利要求3所述的方法,所述基于第一故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果,包括:
按照预设第二解析语法对所述预设编译语言进行解析,得到第二故障日志数据库;其中,所述第二故障日志数据库包括至少一种故障日志对应的多个故障日志模板以及与所述多个故障日志模板对应的故障根因信息;
基于所述第二故障日志数据库对所述待处理日志集合进行清洗处理,并得到第一结果;
根据所述与所述第一故障日志数据库中的多个故障日志模板对应的关联信息对所述清洗处理后的待处理日志集合进行匹配,得到第二结果;
根据所述第一结果以及所述第二结果确定目标结果;
所述根据所述匹配结果确定所述待处理日志集合的故障信息,包括:
根据所述目标结果确定所述待处理日志集合的故障信息。
10.一种日志故障分析装置,包括:
获取模块,用于获取待处理日志集合;
处理模块,用于基于故障日志数据库中的多个故障日志模板以及与所述多个故障日志模板对应的关联信息对所述待处理日志集合进行匹配,得到匹配结果;
分析模块,用于根据所述匹配结果确定所述待处理日志集合的故障信息。
11.一种电子设备,包括处理器以及存储器;
所述处理器与所述存储器相连;
所述存储器,用于存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1-9任一项所述的方法。
13.一种包含指令的计算机程序产品,当所述计算机程序产品在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1-9任一项所述的方法。
CN202211134771.0A 2022-09-19 2022-09-19 日志故障分析方法、装置、存储介质及电子设备 Pending CN115454702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211134771.0A CN115454702A (zh) 2022-09-19 2022-09-19 日志故障分析方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211134771.0A CN115454702A (zh) 2022-09-19 2022-09-19 日志故障分析方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN115454702A true CN115454702A (zh) 2022-12-09

Family

ID=84305001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211134771.0A Pending CN115454702A (zh) 2022-09-19 2022-09-19 日志故障分析方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115454702A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215902A (zh) * 2023-11-09 2023-12-12 北京集度科技有限公司 日志解析方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215902A (zh) * 2023-11-09 2023-12-12 北京集度科技有限公司 日志解析方法、装置、设备及存储介质
CN117215902B (zh) * 2023-11-09 2024-03-08 北京集度科技有限公司 日志解析方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11797298B2 (en) Automating identification of code snippets for library suggestion models
US20220269594A1 (en) Automating Identification of Test Cases for Library Suggestion Models
US11074047B2 (en) Library suggestion engine
US11507354B2 (en) Blackbox matching engine
US11494181B2 (en) Automating generation of library suggestion engine models
US11740876B2 (en) Method and system for arbitrary-granularity execution clone detection
US10705809B2 (en) Pruning engine
US11340896B2 (en) Library model addition
CN115454702A (zh) 日志故障分析方法、装置、存储介质及电子设备
CN113064811A (zh) 基于工作流的自动化测试方法、装置以及电子设备
CN110928535A (zh) 衍生变量部署方法、装置、设备及可读存储介质
CN117632710A (zh) 测试代码的生成方法、装置、设备及存储介质

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