CN116804981A - 日志数据的处理方法、装置、设备、存储介质及程序 - Google Patents

日志数据的处理方法、装置、设备、存储介质及程序 Download PDF

Info

Publication number
CN116804981A
CN116804981A CN202210266559.3A CN202210266559A CN116804981A CN 116804981 A CN116804981 A CN 116804981A CN 202210266559 A CN202210266559 A CN 202210266559A CN 116804981 A CN116804981 A CN 116804981A
Authority
CN
China
Prior art keywords
log
log information
information
vector
preset
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
CN202210266559.3A
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202210266559.3A priority Critical patent/CN116804981A/zh
Publication of CN116804981A publication Critical patent/CN116804981A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开实施例提供一种日志数据的处理方法、装置、设备、存储介质及程序,该方法包括:获取电子设备运行过程中产生的第一异常事件对应的多条日志信息,从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示日志信息中的固定类型的关键信息、以及日志信息中的动态类型的关键信息与固定类型的关键信息之间的位置关系;根据每条日志信息及其对应的目标日志模板,确定日志信息对应的特征向量;根据所述多条日志信息各自对应的特征向量,确定第一异常事件的归因结果。通过上述过程,能够提高日志分析效率,还能降低人力成本。

Description

日志数据的处理方法、装置、设备、存储介质及程序
技术领域
本公开实施例涉及数据处理技术领域,尤其涉及一种日志数据的处理方法、装置、设备、存储介质及程序。
背景技术
电子设备在运行过程中,会将运行状态以日志的形式记录下来。在电子设备运行出现异常事件时,通过专业人员对日志进行分析,可以确定出异常事件的归因结果(即异常事件产生的原因)。
然而,实际应用中,电子设备所记录的日志量级非常多,从异常事件发生到异常事件上报时间段内的日志量级可能达到几十万条。通过人工对日志进行分析,效率较低。
发明内容
本公开实施例提供一种日志数据的处理方法、装置、设备、存储介质及程序,用以提高日志分析的效率。
第一方面,本公开实施例提供一种日志数据的处理方法,包括:
获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
第二方面,本公开实施例提供一种日志数据的处理方法,包括:
获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
第三方面,本公开实施例提供一种日志数据的处理装置,包括:
获取模块,用于获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
第一确定模块,用于从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
第二确定模块,用于根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
第三确定模块,用于根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
第四方面,本公开实施例提供一种日志数据的处理装置,包括:
获取模块,用于获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
模板提取模块,用于将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
存储模块,用于将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
第五方面,本公开实施例提供一种电子设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述计算机执行指令,实现如第一方面以及第一方面各种可能的实现方式中的日志数据的处理方法,或者,实现如第二方面以及第二方面各种可能的实现方式中的日志数据的处理方法。
第六方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实现方式中的日志数据的处理方法,或者,实现如第二方面以及第二方面各种可能的实现方式中的日志数据的处理方法。
第七方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面以及第一方面各种可能的实现方式中的日志数据的处理方法,或者,实现如第二方面以及第二方面各种可能的实现方式中的日志数据的处理方法。
本公开实施例提供的日志数据的处理方法、装置、设备、存储介质及程序,可以获取电子设备运行过程中产生的第一异常事件对应的多条日志信息,从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。通过上述过程,实现了利用预设日志模板自动化的对第一异常事件对应的多条日志信息进行分析,以确定出第一异常事件的归因结果,从而不需要专业人员进行人工分析,能够提高日志分析效率,还能降低人力成本。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种应用场景的示意图;
图2为本公开实施例提供的一种日志数据的处理方法的流程示意图;
图3为本公开实施例提供的另一种日志数据的处理方法的流程示意图;
图4为本公开实施例提供的又一种日志数据的处理方法的流程示意图;
图5为本公开实施例提供的又一种日志数据的处理方法的流程示意图;
图6为本公开实施例提供的一种日志数据的处理过程的示意图;
图7为本公开实施例提供的一种日志数据的处理装置的结构示意图;
图8为本公开实施例提供的另一种日志数据的处理装置的结构示意图;
图9为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
首先,对本公开实施例中涉及的术语和概念进行解释。
日志用于记录软件运行的实时状态,通过分析日志,可以掌握电子设备运行的实时情况,或者进行日志的异常检测等。
作为一个示例,日志数据的内容可以如下所示:
[Time]2021-08-25 12:08:19.343[Tag]Tag1[Content]MainActivityonCreated;
[Time]2021-08-25 12:08:19.344[Tag]Tag1[Content]MusicActivityonCreated;
[Time]2021-08-25 12:08:19.345[Tag]Tag1[Content]VidioActivityonCreated;
……
上述日志数据中的每一行(也称每一条)用于记录电子设备运行过程中的一个事件/动作。每一行可以称为一条日志信息。每一行的日志信息中包括多个字符串。其中,[Time]后的字符串表示该条日志信息的上报时刻,[Tag]后的字符串表示该条日志信息对应的日志类型。不同日志类型的日志信息的用途可能所有不同。例如,在不同应用场景中,日志类型划分方式有所不同。一些场景中,可以根据日志信息对电子设备的影响程度进行类型划分。另一些场景中,还可以根据上报日志信息的模块/单元进行类型划分。本公开实施例对于日志类型的划分方式不作限定。[Content]后的字符串为日志信息中的文本内容。参见上述日志数据,每条日志信息的文本内容可以存在多个字符串。
本实施例中,如无特别说明,日志信息是指上述示例中[Content]后的文本内容。日志信息可以包括多个关键信息。一个关键信息是指用于描述某个关键内容的信息。一个关键信息可以对应一个或者多个字符串。
本实施例中,可以将日志信息中的关键信息分为两类,分别为固定类型和动态类型。固定类型的关键信息是指在多条日志信息中固定不变的关键信息。动态类型的关键信息是指在不同日志信息中可能会发生变化的关键信息。应理解的是,固定类型也可以称为常量类型,动态类型也可以称为变量类型。
举例而言,结合图1所示的日志数据,针对第1条日志信息,“onCreated”可以称为固定类型的关键信息,“MainActivity”可以称为动态类型的关键信息。针对第2条日志信息,“onCreated”可以称为固定类型的关键信息,“MusicActivity”可以称为动态类型的关键信息。针对第3条日志信息,“onCreated”可以称为固定类型的关键信息,“VidioActivity”可以称为动态类型的关键信息。
示例性的,可以通过对大量的日志信息进行分析统计,确定出日志信息中的哪些关键信息为静态类型,哪些静态信息为动态类型。
示例性的,还可以根据代码中输出日志信息的方式,确定哪些关键信息为静态类型,哪些静态信息为动态类型。举例而言,假设输出日志信息的伪代码为:
“INFO('%s'onCreated,$funName)”
该伪代码中的“$”用来定义动态类型的关键信息。从该伪代码中可以看出,该日志记录包含了固定类型的关键信息“onCreated”以及动态类型的关键信息“$funName”。动态类型的关键信息用于记录每一次输出日志信息时对应的函数名称。
本公开实施例中,日志模板是指日志信息的格式/模式。通常,可以将日志信息中的固定类型的关键信息保留,并将动态类型的关键信息替换为变量标识符,得到日志信息的模板。例如,上述变量标识符可以为通配符“*”。举例而言,上述示例的日志数据中,各条日志信息对应的日志模板为“*on onCreated”。
类似的,下面几条日志信息对应的日志模板可以为“*on onStarted”。
[Time]2021-08-25 12:08:19.343[Tag]Tag1[Content]MainActivityonStarted;
[Time]2021-08-25 12:08:19.344[Tag]Tag1[Content]MusicActivityonStarted;
[Time]2021-08-25 12:08:19.345[Tag]Tag1[Content]VidioActivityonStarted;
……
为了便于理解本公开的技术方案,下面结合图1对本公开实施例的应用场景进行说明。
图1为本公开实施例提供的一种应用场景的示意图。如图1所示,该应用场景中包括:电子设备、日志模板提取装置和日志分析装置。其中,电子设备可以为终端设备或者服务器。电子设备在运行过程中可以产生并输出日志,日志用于记录电子设备的运行状态。日志分析装置可以为软件和/或硬件的形式。日志分析装置用于对电子设备的某个异常事件对应的多条日志信息进行分析,确定出异常事件的归因结果。日志模板提取装置可以为软件和/或硬件的形式。日志模板提取装置可以对日志数据库中的各日志信息进行分析、以及模板提取,得到多个日志模板。日志模板用于表征日志信息的格式/模式。
参见图1,日志数据的处理过程可以包括如下两个阶段。第一阶段为日志模板提取阶段,第一阶段的日志数据处理过程由日志模板提取装置执行。第二阶段为日志分析阶段,第二阶段的日志数据处理过程由日志分析装置执行。
示例性的,在第一阶段,日志模板提取装置通过对日志数据库中的日志信息进行分析,提取得到的日志模板,并将日志模板存储到日志模板数据库中。日志模板数据库可以部署到日志分析装置中。在第二阶段,当电子设备在运行过程中产生异常事件时,可以将异常事件对应的多条日志信息输出至日志分析装置,日志分析装置利用日志模板数据库中的多个日志模板,对各日志信息进行分析,得到异常事件产生的原因。
由此可见,本公开实施例中,可以由日志分析装置自动化进行日志分析,从而不需要专业人员进行人工分析,因此,能够提高日志分析效率,还能降低人力成本。
需要说明的是,图1所示的应用场景仅为示例,本公开实施例对此不作限定。一些可能的场景中,日志分析装置可以部署到图1所示的电子设备中。日志分析装置可以对电子设备的运行状态进行监测,当监测到电子设备发生异常事件后,可以实时获取异常事件对应的日志信息,并对日志信息进行分析,识别出异常事件产生的原因。该场景可用于在线日志分析。
另一些可能的场景中,日志分析装置也可以部署到与图1中电子设备通信连接的其他电子设备。例如,图1所示的电子设备可以为终端设备,日志分析装置可以部署到服务器中。这样,当终端设备发生异常事件后,可以自动或者人工触发将异常事件对应的日志信息发送至服务器中,由服务器对日志信息进行分析,得到异常事件产生的原因。该场景可用于在线日志分析,或者离线日志分析。
需要说明的是,图1中的日志分析装置和日志模板提取装置可以部署到同一电子设备中,也可以分别部署到不同的电子设备中,本实施例对此不作限定。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本公开实施例提供的一种日志数据的处理方法的流程示意图。本实施例的方法可以由图1中的日志模板提取装置执行。如图2所示,本实施例的方法包括:
S201:获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数。
本实施例中,待处理的K条样本日志信息可以来自于日志数据库。示例性的,样本日志信息可以是电子设备在某个历史时间段内产生的历史日志信息。
每条样本日志信息中包括多个关键信息,每个关键信息可以为一个或者多个字符串。每个关键信息的类型可以为固定类型或者动态类型。其中,固定类型的关键信息是指在多条日志信息中固定不变的关键信息。动态类型的关键信息是指在不同日志信息中可能会发生变化的关键信息。应理解的是,固定类型也可以称为常量类型,动态类型也可以称为变量类型。
S202:将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系。
也就是说,本实施例中,可以根据各样本日志信息对应的日志格式,将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板。其中,日志格式包括固定类型的关键信息、以及固定类型的关键信息与动态类型的关键信息之间的位置关系。经过划分集合之后,每个日志信息集合中的各样本日志信息对应的日志格式相同,不同日志信息集合中的样本日志信息对应的日志格式不同。
由于每个日志信息集合中的各样本日志信息对应的日志格式相同,可以根据该日志信息集合中的各样本日志信息对应的日志格式,确定该日志信息集合对应的日志模板。换言之,该日志信息集合对应的日志模板用于指示该日志信息集合中的各样本日志信息对应的日志格式。
需要说明的是,本实施例对于日志模板的表达方式不作限定,只要可用于指示该日志信息集合中的各样本日志信息对应的日志格式(即固定类型的关键信息、以及固定类型的关键信息与动态类型的关键信息之间的位置关系)即可。
可选的,每个日志信息集合对应的日志模板包括:固定类型的关键信息、以及动态类型的关键信息相对于固定类型的关键信息的位置关系。
示例性的,假设某个日志信息集合中包括如下3条样本日志信息:
MainActivity onCreated;
MusicActivity onCreated;
VidioActivity onCreated;
则该日志信息集合对应的日志模板可以表达为“*onCreated”。其中,“onCreated”表示固定类型的关键信息,“*”表示动态类型的关键信息。也就是说,只要某个日志信息中包括关键信息“onCreated”,且关键信息“onCreated”左侧为动态类型的关键信息,则说明该日志信息与日志模板匹配。
一种可能的实现方式中,可以采用如下方式对K条样本日志信息进行集合划分,并确定个日志信息集合对应的日志模板:
(1)生成第1个日志信息集合,将第1条样本日志信息加入第1个日志信息集合,并根据第1条样本日志信息,确定第1个日志信息集合对应的日志模板。
应理解,初始时,日志信息集合的数量为0,即不存在任何日志信息集合。
针对第1条样本日志信息,先生成第1个日志信息集合,并将第1条样本日志信息加入到第1个日志信息集合中。由于此时第1个日志信息集合中仅包含第1条样本日志信息,因此,可以根据第1条样本日志信息,确定第1个日志信息集合对应日志模板。
可选的,可以根据第1条样本日志信息中的固定类型的关键信息,以及动态类型的关键信息相对于固定类型的关键信息的位置关系,生成第1个日志信息集合对应的日志模板。例如,假设第1条样本日志信息为“MainActivity onCreated”,则可以确定第1个日志信息集合对应的日志模板为“*onCreated”。
(2)将第i条样本日志信息分别与已有的日志信息集合对应的日志模板进行匹配,得到匹配结果;若所述匹配结果为成功,则将第i条样本日志信息加入匹配成功的日志信息集合,并根据第i条样本日志信息,对所述匹配成功的日志信息集合对应的日志模板进行更新;若所述匹配结果为失败,则生成新的日志信息集合,将第i条样本日志信息加入至所述新的日志信息集合中,并根据第i条样本日志信息,确定所述新的日志信息集合对应的日志模板。
上述步骤(1)中,其中,所述i依次取2、3、……、K。
具体而言,针对第2条样本日志信息,由于此时只存在第1个日志信息集合,因此,将第2条样本日志信息与第1个日志信息集合对应的日志模板进行匹配。匹配结果分为成功和失败两种情况。
其中,匹配成功是指:第2个样本日志信息中的固定类型的关键信息均能够与日志模板匹配,且第2个样本日志信息中的固定类型的关键信息与动态类型的关键信息之间的位置关系也可能够与日志模板匹配。匹配失败是指:第2个样本日志信息中存在至少部分固定类型的关键信息不能与日志模板匹配,或者,第2个样本日志信息中的固定类型的关键信息与动态类型的关键信息之间的位置关系不能与日志模板匹配。
情况1:假设第2条样本日志信息为“MusicActivity onCreated”,则第2条样本日志信息与第1个日志信息集合对应的日志模板“*onCreated”匹配成功。
情况2:假设第2条样本日志信息为“MusicActivity onStarted”则第2条样本日志信息与第1个日志信息集合对应的日志模板“*onCreated”匹配失败,因为第2条样本日志信息中不存在固定类型的关键信息“onCreated”。假设第2条样本日志信息为“onCreatedMusicActivity”,则第2条样本日志信息与第1个日志信息集合对应的日志模板“*onCreated”匹配失败,因为第2条样本日志信息中虽然存在固定类型的关键信息“onCreated”,但是固定类型的关键信息与动态类型的关键信息之间的位置关系不能与日志模板“*onCreated”匹配。
能够理解的是,若第2条样本日志信息与第1个日志信息集合对应的日志模板匹配成功,则将第2条样本日志信息加入到第1个日志信息集合。进一步的,根据第2条样本日志信息,对第1个日志信息集合对应的日志模板进行更新。
可选的,对日志模板进行更新的方式可以为:获取第2条样本日志信息与第1条样本日志信息之间的最长公共子串,根据该最长公共子串,确定更新后的日志模板。示例性的,将最长公共子串中的固定类型的关键信息保留,并将动态类型的关键信息替换为通配符“*”,从而得到更新后的日志模板。
若第2条样本日志信息与第1个日志信息集合对应的日志模板匹配失败,则生成新的日志信息集合(即第2个日志信息集合),并将第2条样本日志信息加入到新的日志信息集合中,并根据第2条样本日志信息,确定该新的日志信息集合对应的日志模板。应理解,此处确定日志模板的方式与步骤(1)中确定第1个日志信息集合对应的日志模板的方式是类似的,此处不作赘述。
针对第3条样本日志信息,对第3条样本日志信息的处理过程与第2条样本日志信息的处理过程是类似的,此处不作赘述。需要说明的是,此时可能存在两个日志信息集合(即第1个日志信息集合和第2个日志信息集合),因此,需要将第3条样本日志信息分别与已有的两个日志信息集合对应的日志模板分别匹配。若与其中的一个日志信息集合对应的日志模板匹配成功,则说明匹配结果为成功,将第3条样本日志信息加入至匹配成功的日志信息集合中。若与两个日志信息集合对应的日志模板均匹配失败,则说明匹配结果为失败,生成新的日志信息集合,将第3条样本日志信息加入至新的日志信息集合中。
后续针对各条样本日志信息的处理过程均类似,此处不作赘述。直至对第K条样本日志信息处理之后,得到至少一个日志信息集合,并得到各日志信息集合对应的日志模板。
一些可能的实现方式中,上述S202中从K条样本日志信息中提取得到多个日志模板的过程,还可以采用最长公共子串(longest common subsequence,LCS)算法实现。
作为一些示例,本实施例提取得到的日志模板可以如下所示,其中每一行作为一个日志模板。
['continueDetectionTask','runnable','=','*','pageHashCode','=','*'];
['userRegion','=','*']
['VESDK-TEAudioCaptureProxy',':','mic','release','cost',':','*','ms']
['*','onCreated']
['*','onStarted']
S203:将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
本实施例中,将提取得到的各日志模板存储至日志模板数据库中。后续日志模板数据库可以被部署到日志分析装置中,从而日志分析装置可以利用日志模板数据库进行日志分析。
本实施例提供的日志数据的处理方法包括:获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;将K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括固定类型的关键信息、以及所述固定类型的关键信息和动态类型的关键信息之间的位置关系;将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。通过上述过程,实现了从K条样本日志信息中提取得到一个或者多个日志模板,从而这些日志模板可用于后续的日志分析过程,便于提高日志分析的效率。
在图2所示实施例的基础上,下面结合一个更具体的实施例,对日志模板的提取过程进行更详细的说明。图3为本公开实施例提供的另一种日志数据的处理方法的流程示意图。如图3所示,本实施例的方法包括:
S301:从日志数据库中获取预设异常事件对应的多条待选日志信息,并确定每条待选日志信息对应的日志类型。
本实施例中,日志数据库中存储有电子设备在历史时间段内运行过程中产生的历史日志信息。假设电子设备在某个时刻发生预设异常事件,则可以根据预设异常事件的发生时刻,从日志数据库中获取预设异常事件对应的多条待选日志信息。
可选的,可以根据预设异常事件的发生时刻和预设异常事件的上报时刻,确定历史时间段,该历史时间段的起始时刻早于预设异常事件的发生时刻,且该历史时间段的结束时刻晚于预设异常事件的上报时刻。举例而言,假设预设异常事件的发生时刻为T1,预设异常事件的上报时刻为T2,则可以确定历史时间段包括:T1之前的两个小时、T1至T2之间的时间间隔、以及T2之后的半小时。进而,从日志数据库中获取该历史时间段内上报的日志信息作为待选日志信息。
每条待选日志信息中通常携带有日志类型字段,因此,可以根据待选日志信息中的日志类型字段,确定每条待选日志信息对应的日志类型。
S302:获取所述预设异常事件对应的预设日志类型集合,所述预设日志类型集合中包括至少一个日志类型。
实际应用中,预设异常事件对应的多条待选日志信息中,可能存在多种日志类型的日志信息。例如,多条待选日志信息中一部分待选日志信息对应的日志类型为“Tag1”、一部分待选日志信息对应的日志类型为“Tag2”、另一部分待选日志信息对应的日志类型为“Tag3”。
该情况下,可能存在一部分日志类型与预设异常事件的归因无关,另一部分日志类型与预设异常事件的归因有关。本实施例中,为了减小后续的计算量,可以删除与预设异常事件归因无关的日志类型对应的待选日志信息,仅对与预设异常事件的归因有关的日志类型进行日志模板提取。
本实施例中,预设异常事件对应的预设日志类型集合中包括的各日志类型,是与该预设异常事件的归因有关的日志类型。可选的,可以通过预先人工分析统计的方式,确定出哪些日志类型与预设异常事件的归因有关,并将这些日志类型加入到预设日志类型集合中。
举例而言,假设预设异常事件对应的待选日志信息中,存在3种日志类型,分别为“Tag1”、“Tag2”、“Tag3”。其中,日志类型“Tag1”与预设异常事件的归因无关,日志类型“Tag2”、“Tag3”与预设异常事件的归因相关,则该预设异常事件对应的预设日志类型集合为{“Tag2”、“Tag3”}。
S303:根据所述预设日志类型集合,从所述多条待选日志信息中,确定所述待处理的K条样本日志信息;其中,每条样本日志信息对应的日志类型属于预设日志类型集合。
举例而言,假设预设异常事件对应的待选日志信息中,存在3种日志类型,分别为“Tag1”、“Tag2”、“Tag3”。其中,日志类型“Tag1”与预设异常事件的归因无关,日志类型“Tag2”、“Tag3”与预设异常事件的归因相关,则该预设异常事件对应的预设日志类型集合为{“Tag2”、“Tag3”}。
这样,针对多条待选日志信息中的每条待选日志信息,若该待选日志信息对应的日志类型属于预设日志类型集合为{“Tag2”、“Tag3”},则将该待选日志信息确定为样本日志信息。
本实施例中,通过根据预设异常事件对应的预设日志类型集合,对预设异常事件的多条待选日志信息进行筛选,能够在保证日志模板提取准确性的前提下,降低数据处理量,提高日志模板的提取效率。
S304:对每条样本日志信息进行预处理,得到预处理后的样本日志信息。
示例性的,可以对样本日志信息进行如下预处理中的一种或者多种:
(1)在所述样本日志信息中的第一预设信息的前后添加预设字符。
其中,第一预设信息包括但不限于:“=”、“+”、“-”、“*”、“/”等。预设字符可以为空格等起分隔作用的字符。
举例而言,样本日志信息中的固定类型的关键信息和动态类型的关键信息之间可能会通过“=”字符连接,比如“runnable=true”。该示例中,runnable为固定类型的关键信息,true为动态类型的关键信息。在不添加空格的情况下,可能会将“runnable=true”识别为一个字符串,这样,无法准确识别出固定类型的关键信息和动态类型的关键信息。因此,可以对样本日志信息中的“=”字符的前后添加空格,得到“runnable=true”,这样,后续在日志模板提取时能够准确的识别出固定类型的关键信息和动态类型的关键信息。
(2)将所述样本日志信息中的第二预设信息替换为第三预设信息。
其中,“第二预设信息”包括但不限于:时间字符串、函数名称字符串等。
例如,样本日志信息中可能存在类似于“2021-08-25 12:08:19.343GMT+01:00”的时间字符串,这些字符串既不作为固定类型的关键信息,也不作为动态类型的关键信息。因此,可以将这些时间字符串替换为统一的字符串“TIMESTAMP_INFO”,这样,可以降低后续日志模板提取过程的计算量,提高日志模板提取效率。
又例如,样本日志信息中可能存在类似于“com.ss.android.ugc.aweme.shortvideo.ui.VideoActivity”的函数名称字符串,这些字符串既不作为固定类型的关键信息,也不作为动态类型的关键信息。因此,可以将这些函数名称字符串替换为统一的字符串“METHOD_INFO”,这样,可以降低后续日志模板提取过程的计算量,提高日志模板提取效率。
本实施例中,通过对样本日志信息进行预处理,一方面可以提高日志模板提取效率,另一方面还能提高提取到的日志模板的质量。
S305:将K条预处理后的样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板。
S306:将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
应理解,S305、S306的实现方式与图2中的S202、S203类似,此处不作赘述。
在一些可能的实现方式中,在S305中对K条样本日志信息进行日志模板提取处理时,可以区分日志类型进行日志模板提取。
举例而言,假设S303中确定出的K条样本日志信息中,存在两种日志类型,分别为日志类型“Tag2”和“Tag3”,则可以针对日志类型为“Tag2”的样本日志信息,进行日志模板提取处理,得到一个或者多个日志模板;并针对日志类型为“Tag3”的样本日志信息,进行日志模板提取处理,得到一个或者多个日志模板。进而,将每个日志类型的标识,以及该日志类型对应的日志模板存储到日志模板数据库中。应理解,通过区分日志类型,针对每种日志类型分别提取日志模板,提高了日志模板的准确性。
上述图2和图3所示的实施例描述了日志模板的提取过程,下面结合几个具体的实施例详细说明如何利用日志模板对日志进行分析。
图4为本公开实施例提供的又一种日志数据的处理方法的流程示意图。本实施例的方法可以由图1中的日志分析装置执行。如图4所示,本实施例的方法包括:
S401:获取电子设备运行过程中产生的第一异常事件对应的多条日志信息。
示例性的,在检测到电子设备产生第一异常事件时,确定第一异常事件的产生时刻T1,以及第一异常事件的上报时刻T2,根据第一异常事件的产生时刻T1和第一异常事件的上报时刻T2,确定第一时间段。第一时间段的起始时刻位于时刻T1之前,第一时间段的结束时刻位于时刻T2之后。例如,第一时间段可以包括时刻T1之前的两个小时、时刻T1和时刻T2之间的间隔、以及时刻T2之后的半小时。进而,获取电子设备在该第一时间段内产生的多条日志信息。
S402:从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系。
本实施例中,多个预设日志模板可以来自于日志模板数据库。日志模板数据库中包括多个预设日志模板,这些预设日志模板可以是采用图2或图3所示的方法提取得到的。
其中,每个预设日志模板用于指示一种日志格式,例如,指示该日志格式中包括哪些固定类型的关键信息,以及动态类型的关键信息与固定类型的关键信息之间的位置关系。
本实施例中,可以通过将每条日志信息对多个预设日志模板进行匹配,确定出该日志信息与各预设日志模板之间的相似度;根据各预设日志模板对应的相似度,在多个预设日志模板中确定出该日志信息对应的目标日志模板。例如,将最高相似度对应的预设日志模板,确定为目标日志模板。
一种可能的实现方式中,日志模板数据库可以包括多个日志类型各自对应的多个预设日志模板,例如,日志模板数据库的内容如表1所示。
这样,针对每条日志信息,可以采用如下方式确定该日志信息对应的目标日志模板:确定日志信息对应的第一日志类型;根据第一日志类型,从日志模板数据库中获取与第一日志类型对应的多个预设日志模板,分别获取该日志信息与多个预设日志模板之间的相似度,将最高相似度对应的预设日志模板,确定为目标日志模板。
表1
举例而言,假设某个日志信息对应的日志类型为A,则可以从表1所示的日志模板数据库中获取4个预设日志模板,分别为:日志模板A0、日志模板A1、日志模板A2、日志模板A3。进而,计算该日志信息与上述4个日志模板之间的相似度,假设该日志信息与日志模板A3之间的相似度最高,则将日志模板A3作为该日志信息对应的目标日志模板。
S403:根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量。
在本实施例中,在确定出每条日志信息对应的目标日志模板之后,可以根据该日志信息及其对应的目标日志模板,确定出该日志信息对应的特征向量。其中,特征向量表征的是该日志信息中的关键信息的特征,例如,表征该日志信息中包括哪些固定类型的关键信息以及哪些动态类型的关键信息,还可以表征固定类型的关键信息以及动态类型的关键信息之间的位置关系。
由于目标日志模板用于指示日志信息中的固定类型的关键信息、以及日志信息中的动态类型的关键信息与固定类型的关键信息之间的位置关系。因此,可以利用目标日志模板对日志信息进行解析处理,确定出日志信息中的固定类型的关键信息、以及动态类型的关键信息。进而,根据日志信息中的固定类型的关键信息、以及动态类型的关键信息,确定出日志信息对应的特征向量。
一种可能的实现方式中,可以采用如下方式确定日志信息对应的特征向量:根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量。其中,第一向量用于指示所述日志信息中的固定类型的关键信息的特征,第二向量用于指示所述日志信息中的动态类型的关键信息的特征。进而,根据第一向量和第二向量,生成日志信息对应的特征向量。
实施例中,通过利用目标日志模板对日志信息进行处理,实现了将原本数量级很高、难以直接被计算机处理的日志信息,转化为数据量较小、便于被计算机处理的特征向量的形式,从而后续的归因分析。
S404:根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
本实施例中,日志分析装置可以通过对各条日志信息对应的特征向量进行分析,确定出第一异常事件的归因结果。
一种可能的实现方式中,可以采用如下方式确定第一异常事件的归因结果:将所述多条日志信息各自对应的特征向量输入预设模型中,得到所述预设模型的输出结果。示例性的,预设模型的输出结果可以包括多个预设异常事件原因对应的概率。进一步的,可以根据所述预设模型的输出结果确定所述第一异常事件的归因结果。示例性的,可以将最大概率对应的预设异常事件原因确定为第一异常事件的归因结果。
其中,预设模型是采用机器学习技术预先训练得到的模型。所述预设模型是通过对多组训练样本训练得到的,每组训练样本中包括:多个样本日志信息各自对应的样本特征向量,以及所述多个样本日志信息对应的样本异常原因。需要说明的是,本实施例对于预设模型的网络结构以及训练过程不作限定。
本实施例提供的日志数据的处理方法包括:获取电子设备运行过程中产生的第一异常事件对应的多条日志信息,从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。通过上述过程,使得日志分析装置可以利用预设日志模板自动化的对第一异常事件对应的多条日志信息进行分析,以确定出第一异常事件的归因结果,从而不需要专业人员进行人工分析,因此,能够提高日志分析效率,还能降低人力成本。
在图4所示实施例的基础上,下面结合一个更具体的实施例对S403的实现方式进行更详细的说明。图5为本公开实施例提供的又一种日志数据的处理方法的流程示意图。如图5所示,本实施例的方法包括:
S501:对目标日志模板的标识进行编码处理,得到第一向量。
本实施例中,由于目标日志模板中指示了日志信息中所包括的固定类型的关键信息,因此,通过对目标日志模板的标识进行编码处理,可以得到第一向量,并用于表征日志信息中的固定类型的关键信息的特征。
一种可能的实现方式中,可以采用如下方式得到第一向量:
(1)根据所述多个预设日志模板的数量N,生成第一初始向量,所述第一初始向量为N维向量,所述第一初始向量中的N个元素均为第一预设值。可选的,第一预设值可以为0。
举例而言,假设N=5,则第一初始向量可以为[0,0,0,0,0]。
(2)将第一初始向量中的第k个元素更新为第二预设值,得到第一向量。其中,k为目标日志模板的标识。可选的,第二预设值可以为1。
举例而言,假设N(N=5)个预设日志模板的标识分别为0、1、2、3、4;目标日志模板的标识k=2,则采用上述方式得到的第一向量为[0,0,1,0,0]。
S502:利用目标日志模板对日志信息进行解析处理,得到日志信息中的动态类型的关键信息。
本实施例中,由于目标日志模板中指示了日志信息中所包括的固定类型的关键信息、以及日志信息中所包括的动态类型的关键信息与固定类型的关键信息之间的位置信息,因此,通过利用目标日志模板对日志信息进行解析处理,可以得到日志信息中的动态类型的关键信息。
举例而言,假设目标日志模板为“*onCreated”,日志信息为“MainActivityonCreated”,则利用目标日志模板对该日志信息进行解析处理,可以确定出日志信息中的动态类型的关键信息为“MainActivity”。
S503:对日志信息中的动态类型的关键信息进行编码处理,得到第二向量。
在解析得到日志信息中的动态类型的关键信息之后,可以对日志信息中的动态类型的关键信息进行编码处理,得到第二向量,用以表征日志信息中的动态类型的关键信息的特征。
一种可能的实现方式中,可以采用如下方式得到第二向量:
(1)根据多个预设关键信息的数量M,生成第二初始向量,所述第二初始向量为M维向量,所述第二初始向量中的M个元素均为第一预设值。
本实施例中,可以事先对大量的日志信息进行统计,找到这些日志信息中的所有出现过的动态类型的关键信息,对这些所有出现过的动态类型的关键信息进行去重处理,得到多个预设关键信息。
假设多个预设关键信息的数量为M,则可以生成M维的第二初始向量。该第二初始向量中的M个元素均为第一预设值。可选的,第一预设值可以为0。
举例而言,假设经过统计得到的多个预设关键信息分别为:“MainActivity”、“MusicActivity”、“VideoActivity”,即M=3,则第二初始向量可以为[0,0,0]。
(2)在所述多个预设关键信息中查找所述动态类型的关键信息,得到所述动态类型的关键信息在所述多个预设关键信息中的索引t。
继续上述举例,假设M=3,3个预设关键信息分别为:“MainActivity”、“MusicActivity”、“VideoActivity”。S502中确定出的日志信息中的动态类型的关键信息为“MainActivity”,则在上述3个预设关键信息中查找“MainActivity”,得到索引t=0。
(3)将所述第二初始向量中的第t个元素更新为第二预设值,得到所述第二向量。
可选的,第二预设值可以为1。
继续上述举例,假设t=0,将第二初始向量[0,0,0]中的第0个元素更新为1,从而,得到第二向量[1,0,0]。
应理解的是,本实施例对S501、S502-S503之间的执行顺序不作限定,还可以先执行S502-S503,再执行S501,或者,还可以同时执行S501、S502-503。
S504:根据所述第一向量和所述第二向量,生成所述日志信息对应的特征向量。
一种可能的实现方式中,可以将第一向量和第二向量进行拼接处理,得到特征向量。
举例而言,假设第一向量为[0,0,1,0,0],第二向量为[1,0,0],则拼接得到特征向量[0,0,1,0,0,1,0,0]。
另一种可能的实现方式中,可以对第一向量和第二向量进行预设运算处理,得到特征向量。其中,预设运算处理包括但不限于:点积运算、叉积运算等。
由于第一向量指示了日志信息中的固定类型的关键信息的特征,第二向量指示了日志信息中的动态类型的关键信息的特征,因此,根据第一向量和第二向量,得到日志信息对应的特征向量,使得特征向量既指示了固定类型的关键信息的特征,也指示了动态类型的关键信息的特征,从而特征向量能够准确的描述日志信息的特征。
为了便于理解,下面结合几个具体的示例对特征向量的构建方式进行举例说明。
示例一,假设日志类型A对应有四个日志模板,分别为:
日志模板A0:[*onCreated]
日志模板A1:[*onStarted]
日志模板A2:[*onPaused]
日志模板A3:[*onResumed]
日志类型A的日志信息中所有可能出现的动态类型的关键信息包括:“MainActivity”、“MusicActivity”、“VideoActivity”。
(1)针对日志信息“MainActivity onCreated”,其对应的日志模板为A0,编码得到第一向量为[1,0,0,0]。利用日志模板A0对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”,编码得到第二向量[1,0,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[1,0,0,0,1,0,0]。
(2)针对日志信息“MainActivity onStarted”,其对应的日志模板为A1,编码得到第一向量为[0,1,0,0]。利用日志模板A1对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”,编码得到第二向量[1,0,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[0,1,0,0,1,0,0]。
(3)针对日志信息“MainActivity onPaused”,其对应的日志模板为A2,编码得到第一向量为[0,0,1,0]。利用日志模板A2对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”,编码得到第二向量[1,0,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[0,0,1,0,1,0,0]。
(4)针对日志信息“MainActivity onResumed”,其对应的日志模板为A3,编码得到第一向量为[0,0,0,1]。利用日志模板A3对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”,编码得到第二向量[1,0,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[0,0,0,1,1,0,0]。
(5)针对日志信息“VideoActivity onCreated”,其对应的日志模板为A0,编码得到第一向量为[1,0,0,0]。利用日志模板A0对日志信息进行解析处理,得到动态类型的关键信息“VideoActivity”,编码得到第二向量[0,0,1]。进而,将第一向量和第二向量进行拼接得到的特征向量为[1,0,0,0,0,0,1]。
(6)针对日志信息“VideoActivity onResumed”,其对应的日志模板为A3,编码得到第一向量为[0,0,0,1]。利用日志模板A3对日志信息进行解析处理,得到动态类型的关键信息“VideoActivity”,编码得到第二向量[0,0,1]。进而,将第一向量和第二向量进行拼接得到的特征向量为[0,0,0,1,0,0,1]。
示例二,假设日志类型B对应有两个日志模板,分别为:
日志模板B0:[*:check privacy:*]
日志模板B1:[*:privacyCert:null]
日志类型B的日志信息中所有可能出现的动态类型的关键信息包括:“MainActivity”、“VideoActivity”、“true”、“false”。
(1)针对日志信息“MainActivity:check privacy:true”,其对应的日志模板为B0,编码得到第一向量为[1,0]。利用日志模板B0对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”、“true”,编码得到第二向量[1,0,1,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[1,0,1,0,1,0]。
(2)针对日志信息“MainActivity:check privacy:false”,其对应的日志模板为B0,编码得到第一向量为[1,0]。利用日志模板B0对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”、“false”,编码得到第二向量[1,0,0,1]。进而,将第一向量和第二向量进行拼接得到的特征向量为[1,0,1,0,0,1]。
(3)针对日志信息“VideoActivity:check privacy:true”,其对应的日志模板为B0,编码得到第一向量为[1,0]。利用日志模板B0对日志信息进行解析处理,得到动态类型的关键信息“VideoActivity”、“true”,编码得到第二向量[0,1,1,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[1,0,0,1,1,0]。
(4)针对日志信息“MainActivity:privacyCert:null”,其对应的日志模板为B1,编码得到第一向量为[0,1]。利用日志模板B1对日志信息进行解析处理,得到动态类型的关键信息“MainActivity”,编码得到第二向量[1,0,0,0]。进而,将第一向量和第二向量进行拼接得到的特征向量为[0,1,1,0,0,0]。
上述示例中,通过采用0-1形式的特征向量对日志信息进行表征,简化了编码过程,在保证特征向量准确性的前提下,降低了预设模型的数据处理难度,进而提高了日志分析效率。
图6为本公开实施例提供的一种日志数据的处理过程的示意图。如图6所示,本实施例的日志数据的处理过程包括:
(1)在检测到电子设备产生异常事件时,确定异常事件发生时刻T1,以及异常事件上报时刻T2。
(2)根据异常事件发生时刻T1和异常事件上报时刻T2,获取第一时间段内电子设备输出的日志信息。
示例性的,参见图6,第一时间段的起始时刻为T1-Δt1,第一时间段的结束时刻为T2+Δt2。假设该第一时间段内电子设备输出的日志信息包括:日志信息1、日志信息2、日志信息3、…、日志信息x、等。
(3)针对每个日志信息,从日志模板数据库中确定与其匹配的目标日志模板,并利用目标日志模板对该日志信息进行处理,得到该日志信息对应的特征向量。
应理解,具体可以参见图4或图5所示实施例的详细描述,此处不作赘述。参见图6,对上述日志信息1、日志信息2、日志信息3、…、日志信息x分别进行处理,得到特征向量1、特征向量2、特征向量3、…、特征向量x等。
(4)将各日志信息对应的特征向量输入至预设模型中,得到异常事件的归因结果。
一些可能的实现方式中,日志分析装置设置有显示屏幕,在确定出异常事件的归因结果之后,可以显示异常事件的归因结果。
另一些可能的实现方式中,日志分析装置在确定出异常事件的归因结果之后,可以向预设设备发送异常事件的归因结果。示例性的,预设设备可以为电子设备,或者为电子设备对应的服务器。
通过显示异常事件的归因结果,或者向预设设备发送异常事件的归因结果,可以使得相关人员及时获知异常事件的归因结果,并采取相应的解决措施,使得电子设备能够快速恢复正常运行。
图7为本公开实施例提供的一种日志数据的处理装置的结构示意图。该装置可以为软件和/或硬件的形式。该装置可以为电子设备,或者为集成到电子设备中的处理器、芯片、芯片模组、模块、单元、应用程序等。本实施例的装置可以为图1中的日志模板提取装置。
如图7所示,本实施例提供的日志数据的处理装置700,包括:获取模块701、模板提取模块702、存储模块703。其中,
获取模块701,用于获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
模板提取模块702,用于将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
存储模块703,用于将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
一些可能的实现方式中,所述模板提取模块702具体用于:
生成第1个日志信息集合,将第1条样本日志信息加入第1个日志信息集合,并根据第1条样本日志信息,确定第1个日志信息集合对应的日志模板;
将第i条样本日志信息分别与已有的日志信息集合对应的日志模板进行匹配,得到匹配结果;若所述匹配结果为成功,则将第i条样本日志信息加入匹配成功的日志信息集合,并根据第i条样本日志信息,对所述匹配成功的日志信息集合对应的日志模板进行更新;若所述匹配结果为失败,则生成新的日志信息集合,将第i条样本日志信息加入至所述新的日志信息集合中,并根据第i条样本日志信息,确定所述新的日志信息集合对应的日志模板;
其中,所述i依次取2、3、……、K。
一些可能的实现方式中,所述获取模块701具体用于:
从日志数据库中获取预设异常事件对应的多条待选日志信息,并确定每条待选日志信息对应的日志类型;
获取所述预设异常事件对应的预设日志类型集合,所述预设日志类型集合中包括至少一个日志类型;
根据所述预设日志类型集合,从所述多条待选日志信息中,确定所述待处理的K条样本日志信息;其中,每条样本日志信息对应的日志类型属于预设日志类型集合。
一些可能的实现方式中,所述模板提取模块702还用于:
对每条样本日志信息进行如下一种或者多种预处理:
在所述样本日志信息中的第一预设信息的前后添加预设字符;
将所述样本日志信息中的第二预设信息替换为第三预设信息。
本实施例提供的日志数据的处理装置,可用于执行上述图2或图3所示方法实施例中的日志数据的处理方法,其实现原理和技术效果类似,此处不作赘述。
图8为本公开实施例提供的另一种日志数据的处理装置的结构示意图。该装置可以为软件和/或硬件的形式。该装置可以为电子设备,或者为集成到电子设备中的处理器、芯片、芯片模组、模块、单元、应用程序等。本实施例的装置可以为图1中的日志分析装置。
如图8所示,本实施例提供的日志数据的处理装置800,包括:获取模块801、第一确定模块802、第二确定模块803、第三确定模块804。其中,
获取模块801,用于获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
第一确定模块802,用于从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
第二确定模块803,用于根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
第三确定模块804,用于根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
一些可能的实现方式中,针对所述多条日志信息中的任意一条日志信息,所述第二确定模块803具体用于:
根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量,所述第一向量用于指示所述日志信息中的固定类型的关键信息的特征,所述第二向量用于指示所述日志信息中的动态类型的关键信息的特征;
根据所述第一向量和所述第二向量,生成所述特征向量。
一些可能的实现方式中,所述第二确定模块803具体用于:
对所述目标日志模板的标识进行编码处理,得到所述第一向量;
利用所述目标日志模板对所述日志信息进行解析处理,得到所述日志信息中的动态类型的关键信息;
对所述日志信息中的动态类型的关键信息进行编码处理,得到所述第二向量。
一些可能的实现方式中,所述第二确定模块803具体用于:
根据所述多个预设日志模板的数量N,生成第一初始向量,所述第一初始向量为N维向量,所述第一初始向量中的N个元素均为第一预设值;
将所述第一初始向量中的第k个元素更新为第二预设值,得到所述第一向量,所述k为所述目标日志模板的标识。
一些可能的实现方式中,所述第二确定模块803具体用于:
根据多个预设关键信息的数量M,生成第二初始向量,所述第二初始向量为M维向量,所述第二初始向量中的M个元素均为第一预设值;
在所述多个预设关键信息中查找所述动态类型的关键信息,得到所述动态类型的关键信息在所述多个预设关键信息中的索引t;
将所述第二初始向量中的第t个元素更新为第二预设值,得到所述第二向量。
一些可能的实现方式中,所述第二确定模块803具体用于:
将所述第一向量和所述第二向量进行拼接处理,得到所述特征向量;或者,
对所述第一向量和所述第二向量进行预设运算处理,得到所述特征向量。
一些可能的实现方式中,针对所述多条日志信息中的任意一条日志信息,所述第一确定模块802具体用于:
确定所述日志信息对应的第一日志类型;
根据所述第一日志类型,从日志模板数据库中获取与所述第一日志类型对应的所述多个预设日志模板;
分别获取所述日志信息与所述多个预设日志模板之间的相似度;
将最高相似度对应的预设日志模板,确定为所述目标日志模板。
一些可能的实现方式中,所述第三确定模块804具体用于:
将所述多条日志信息各自对应的特征向量输入预设模型中,得到所述预设模型的输出结果;
根据所述预设模型的输出结果确定所述第一异常事件的归因结果;
其中,所述预设模型是通过对多组训练样本训练得到的,每组训练样本中包括:多个样本日志信息各自对应的样本特征向量,以及所述多个样本日志信息对应的样本异常原因。
本实施例提供的日志数据的处理装置,可用于执行图4至图6所示实施例提供的日志数据的处理方法,其实现原理和技术效果类似,此处不作赘述。
为了实现上述实施例,本公开实施例还提供了一种电子设备。
图9为本公开实施例提供的一种电子设备的结构示意图。参考图9,其示出了适于用来实现本公开实施例的电子设备900的结构示意图,该电子设备900可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable AndroidDevice,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(Read Only Memory,简称ROM)902中的程序或者从存储装置908加载到随机访问存储器(Random Access Memory,简称RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种日志数据的处理方法,包括:
获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
根据本公开的一个或多个实施例,针对所述多条日志信息中的任意一条日志信息,根据所述日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量,包括:
根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量,所述第一向量用于指示所述日志信息中的固定类型的关键信息的特征,所述第二向量用于指示所述日志信息中的动态类型的关键信息的特征;
根据所述第一向量和所述第二向量,生成所述特征向量。
根据本公开的一个或多个实施例,根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量,包括:
对所述目标日志模板的标识进行编码处理,得到所述第一向量;
利用所述目标日志模板对所述日志信息进行解析处理,得到所述日志信息中的动态类型的关键信息;
对所述日志信息中的动态类型的关键信息进行编码处理,得到所述第二向量。
根据本公开的一个或多个实施例,对所述目标日志模板的标识进行编码处理,得到所述第一向量,包括:
根据所述多个预设日志模板的数量N,生成第一初始向量,所述第一初始向量为N维向量,所述第一初始向量中的N个元素均为第一预设值;
将所述第一初始向量中的第k个元素更新为第二预设值,得到所述第一向量,所述k为所述目标日志模板的标识。
根据本公开的一个或多个实施例,对所述日志信息中的动态类型的关键信息进行编码处理,得到所述第二向量,包括:
根据多个预设关键信息的数量M,生成第二初始向量,所述第二初始向量为M维向量,所述第二初始向量中的M个元素均为第一预设值;
在所述多个预设关键信息中查找所述动态类型的关键信息,得到所述动态类型的关键信息在所述多个预设关键信息中的索引t;
将所述第二初始向量中的第t个元素更新为第二预设值,得到所述第二向量。
根据本公开的一个或多个实施例,根据所述第一向量和所述第二向量,生成所述特征向量,包括:
将所述第一向量和所述第二向量进行拼接处理,得到所述特征向量;或者,
对所述第一向量和所述第二向量进行预设运算处理,得到所述特征向量。
根据本公开的一个或多个实施例,针对所述多条日志信息中的任意一条日志信息,从多个预设日志模板中确定所述日志信息对应的目标日志模板,包括:
确定所述日志信息对应的第一日志类型;
根据所述第一日志类型,从日志模板数据库中获取与所述第一日志类型对应的所述多个预设日志模板;
分别获取所述日志信息与所述多个预设日志模板之间的相似度;
将最高相似度对应的预设日志模板,确定为所述目标日志模板。
根据本公开的一个或多个实施例,根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果,包括:
将所述多条日志信息各自对应的特征向量输入预设模型中,得到所述预设模型的输出结果;
根据所述预设模型的输出结果确定所述第一异常事件的归因结果;
其中,所述预设模型是通过对多组训练样本训练得到的,每组训练样本中包括:多个样本日志信息各自对应的样本特征向量,以及所述多个样本日志信息对应的样本异常原因。
第二方面,根据本公开的一个或多个实施例,提供了一种日志数据的处理方法,包括:
获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
根据本公开的一个或多个实施例,将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板,包括:
生成第1个日志信息集合,将第1条样本日志信息加入第1个日志信息集合,并根据第1条样本日志信息,确定第1个日志信息集合对应的日志模板;
将第i条样本日志信息分别与已有的日志信息集合对应的日志模板进行匹配,得到匹配结果;若所述匹配结果为成功,则将第i条样本日志信息加入匹配成功的日志信息集合,并根据第i条样本日志信息,对所述匹配成功的日志信息集合对应的日志模板进行更新;若所述匹配结果为失败,则生成新的日志信息集合,将第i条样本日志信息加入至所述新的日志信息集合中,并根据第i条样本日志信息,确定所述新的日志信息集合对应的日志模板;
其中,所述i依次取2、3、……、K。
根据本公开的一个或多个实施例,获取待处理的K条样本日志信息,包括:
从日志数据库中获取预设异常事件对应的多条待选日志信息,并确定每条待选日志信息对应的日志类型;
获取所述预设异常事件对应的预设日志类型集合,所述预设日志类型集合中包括至少一个日志类型;
根据所述预设日志类型集合,从所述多条待选日志信息中,确定所述待处理的K条样本日志信息;其中,每条样本日志信息对应的日志类型属于预设日志类型集合。
根据本公开的一个或多个实施例,将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板之前,还包括:
对每条样本日志信息进行如下一种或者多种预处理:
在所述样本日志信息中的第一预设信息的前后添加预设字符;
将所述样本日志信息中的第二预设信息替换为第三预设信息。
第三方面,根据本公开的一个或多个实施例,提供了一种日志数据的处理装置,包括:
获取模块,用于获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
第一确定模块,用于从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
第二确定模块,用于根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
第三确定模块,用于根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
根据本公开的一个或多个实施例,针对所述多条日志信息中的任意一条日志信息,所述第二确定模块具体用于:
根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量,所述第一向量用于指示所述日志信息中的固定类型的关键信息的特征,所述第二向量用于指示所述日志信息中的动态类型的关键信息的特征;
根据所述第一向量和所述第二向量,生成所述特征向量。
根据本公开的一个或多个实施例,所述第二确定模块具体用于:
对所述目标日志模板的标识进行编码处理,得到所述第一向量;
利用所述目标日志模板对所述日志信息进行解析处理,得到所述日志信息中的动态类型的关键信息;
对所述日志信息中的动态类型的关键信息进行编码处理,得到所述第二向量。
根据本公开的一个或多个实施例,所述第二确定模块具体用于:
根据所述多个预设日志模板的数量N,生成第一初始向量,所述第一初始向量为N维向量,所述第一初始向量中的N个元素均为第一预设值;
将所述第一初始向量中的第k个元素更新为第二预设值,得到所述第一向量,所述k为所述目标日志模板的标识。
根据本公开的一个或多个实施例,所述第二确定模块具体用于:
根据多个预设关键信息的数量M,生成第二初始向量,所述第二初始向量为M维向量,所述第二初始向量中的M个元素均为第一预设值;
在所述多个预设关键信息中查找所述动态类型的关键信息,得到所述动态类型的关键信息在所述多个预设关键信息中的索引t;
将所述第二初始向量中的第t个元素更新为第二预设值,得到所述第二向量。
根据本公开的一个或多个实施例,所述第二确定模块具体用于:
将所述第一向量和所述第二向量进行拼接处理,得到所述特征向量;或者,
对所述第一向量和所述第二向量进行预设运算处理,得到所述特征向量。
根据本公开的一个或多个实施例,针对所述多条日志信息中的任意一条日志信息,所述第一确定模块具体用于:
确定所述日志信息对应的第一日志类型;
根据所述第一日志类型,从日志模板数据库中获取与所述第一日志类型对应的所述多个预设日志模板;
分别获取所述日志信息与所述多个预设日志模板之间的相似度;
将最高相似度对应的预设日志模板,确定为所述目标日志模板。
根据本公开的一个或多个实施例,所述第三确定模块具体用于:
将所述多条日志信息各自对应的特征向量输入预设模型中,得到所述预设模型的输出结果;
根据所述预设模型的输出结果确定所述第一异常事件的归因结果;
其中,所述预设模型是通过对多组训练样本训练得到的,每组训练样本中包括:多个样本日志信息各自对应的样本特征向量,以及所述多个样本日志信息对应的样本异常原因。
第四方面,根据本公开的一个或多个实施例,提供了一种日志数据的处理装置,包括:
获取模块,用于获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
模板提取模块,用于将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
存储模块,用于将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
根据本公开的一个或多个实施例,所述模板提取模块具体用于:
生成第1个日志信息集合,将第1条样本日志信息加入第1个日志信息集合,并根据第1条样本日志信息,确定第1个日志信息集合对应的日志模板;
将第i条样本日志信息分别与已有的日志信息集合对应的日志模板进行匹配,得到匹配结果;若所述匹配结果为成功,则将第i条样本日志信息加入匹配成功的日志信息集合,并根据第i条样本日志信息,对所述匹配成功的日志信息集合对应的日志模板进行更新;若所述匹配结果为失败,则生成新的日志信息集合,将第i条样本日志信息加入至所述新的日志信息集合中,并根据第i条样本日志信息,确定所述新的日志信息集合对应的日志模板;
其中,所述i依次取2、3、……、K。
根据本公开的一个或多个实施例,所述获取模块具体用于:
从日志数据库中获取预设异常事件对应的多条待选日志信息,并确定每条待选日志信息对应的日志类型;
获取所述预设异常事件对应的预设日志类型集合,所述预设日志类型集合中包括至少一个日志类型;
根据所述预设日志类型集合,从所述多条待选日志信息中,确定所述待处理的K条样本日志信息;其中,每条样本日志信息对应的日志类型属于预设日志类型集合。
根据本公开的一个或多个实施例,所述模板提取模块还用于:
对每条样本日志信息进行如下一种或者多种预处理:
在所述样本日志信息中的第一预设信息的前后添加预设字符;
将所述样本日志信息中的第二预设信息替换为第三预设信息。
第五方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实现方式所述的日志数据的处理方法,或者,执行如上第二方面以及第二方面各种可能的实现方式所述的日志数据的处理方法。
第六方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实现方式所述的日志数据的处理方法,或者,实现如上第二方面以及第二方面各种可能的实现方式所述的日志数据的处理方法。
第七方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面以及第一方面各种可能的实现方式所述的日志数据的处理方法,或者,实现如上第二方面以及第二方面各种可能的实现方式所述的日志数据的处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (17)

1.一种日志数据的处理方法,其特征在于,包括:
获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
2.根据权利要求1所述的方法,其特征在于,针对所述多条日志信息中的任意一条日志信息,根据所述日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量,包括:
根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量,所述第一向量用于指示所述日志信息中的固定类型的关键信息的特征,所述第二向量用于指示所述日志信息中的动态类型的关键信息的特征;
根据所述第一向量和所述第二向量,生成所述特征向量。
3.根据权利要求2所述的方法,其特征在于,根据所述日志信息及其对应的所述目标日志模板,确定第一向量和第二向量,包括:
对所述目标日志模板的标识进行编码处理,得到所述第一向量;
利用所述目标日志模板对所述日志信息进行解析处理,得到所述日志信息中的动态类型的关键信息;
对所述日志信息中的动态类型的关键信息进行编码处理,得到所述第二向量。
4.根据权利要求3所述的方法,其特征在于,对所述目标日志模板的标识进行编码处理,得到所述第一向量,包括:
根据所述多个预设日志模板的数量N,生成第一初始向量,所述第一初始向量为N维向量,所述第一初始向量中的N个元素均为第一预设值;
将所述第一初始向量中的第k个元素更新为第二预设值,得到所述第一向量,所述k为所述目标日志模板的标识。
5.根据权利要求3所述的方法,其特征在于,对所述日志信息中的动态类型的关键信息进行编码处理,得到所述第二向量,包括:
根据多个预设关键信息的数量M,生成第二初始向量,所述第二初始向量为M维向量,所述第二初始向量中的M个元素均为第一预设值;
在所述多个预设关键信息中查找所述动态类型的关键信息,得到所述动态类型的关键信息在所述多个预设关键信息中的索引t;
将所述第二初始向量中的第t个元素更新为第二预设值,得到所述第二向量。
6.根据权利要求2至5任一项所述的方法,其特征在于,根据所述第一向量和所述第二向量,生成所述特征向量,包括:
将所述第一向量和所述第二向量进行拼接处理,得到所述特征向量;或者,
对所述第一向量和所述第二向量进行预设运算处理,得到所述特征向量。
7.根据权利要求1至6任一项所述的方法,其特征在于,针对所述多条日志信息中的任意一条日志信息,从多个预设日志模板中确定所述日志信息对应的目标日志模板,包括:
确定所述日志信息对应的第一日志类型;
根据所述第一日志类型,从日志模板数据库中获取与所述第一日志类型对应的所述多个预设日志模板;
分别获取所述日志信息与所述多个预设日志模板之间的相似度;
将最高相似度对应的预设日志模板,确定为所述目标日志模板。
8.根据权利要求1至7任一项所述的方法,其特征在于,根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果,包括:
将所述多条日志信息各自对应的特征向量输入预设模型中,得到所述预设模型的输出结果;
根据所述预设模型的输出结果确定所述第一异常事件的归因结果;
其中,所述预设模型是通过对多组训练样本训练得到的,每组训练样本中包括:多个样本日志信息各自对应的样本特征向量,以及所述多个样本日志信息对应的样本异常原因。
9.一种日志数据的处理方法,其特征在于,包括:
获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
10.根据权利要求9所述的方法,其特征在于,将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板,包括:
生成第1个日志信息集合,将第1条样本日志信息加入第1个日志信息集合,并根据第1条样本日志信息,确定第1个日志信息集合对应的日志模板;
将第i条样本日志信息分别与已有的日志信息集合对应的日志模板进行匹配,得到匹配结果;若所述匹配结果为成功,则将第i条样本日志信息加入匹配成功的日志信息集合,并根据第i条样本日志信息,对所述匹配成功的日志信息集合对应的日志模板进行更新;若所述匹配结果为失败,则生成新的日志信息集合,将第i条样本日志信息加入至所述新的日志信息集合中,并根据第i条样本日志信息,确定所述新的日志信息集合对应的日志模板;
其中,所述i依次取2、3、……、K。
11.根据权利要求9或10所述的方法,其特征在于,获取待处理的K条样本日志信息,包括:
从日志数据库中获取预设异常对应的多条待选日志信息,并确定每条待选日志信息对应的日志类型;
获取所述预设异常对应的预设日志类型集合,所述预设日志类型集合中包括至少一个日志类型;
根据所述预设日志类型集合,从所述多条待选日志信息中,确定所述待处理的K条样本日志信息;其中,每条样本日志信息对应的日志类型属于预设日志类型集合。
12.根据权利要求9至11任一项所述的方法,其特征在于,将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板之前,还包括:
对每条样本日志信息进行如下一种或者多种预处理:
在所述样本日志信息中的第一预设信息的前后添加预设字符;
将所述样本日志信息中的第二预设信息替换为第三预设信息。
13.一种日志数据的处理装置,其特征在于,包括:
获取模块,用于获取电子设备运行过程中产生的第一异常事件对应的多条日志信息;
第一确定模块,用于从多个预设日志模板中分别确定每条日志信息对应的目标日志模板;其中,每条日志信息对应的目标日志模板用于指示所述日志信息中的固定类型的关键信息、以及所述日志信息中的动态类型的关键信息与所述固定类型的关键信息之间的位置关系;
第二确定模块,用于根据每条日志信息及其对应的所述目标日志模板,确定所述日志信息对应的特征向量;
第三确定模块,用于根据所述多条日志信息各自对应的特征向量,确定所述第一异常事件的归因结果。
14.一种日志数据的处理装置,其特征在于,包括:
获取模块,用于获取待处理的K条样本日志信息,每条样本日志信息中包括多个关键信息,每个关键信息的类型为固定类型或者动态类型;所述K为大于1的整数;
模板提取模块,用于将所述K条样本日志信息划分为至少一个日志信息集合,并根据每个日志信息集合包括的各样本日志信息,确定该日志信息集合对应的日志模板;其中,每个日志信息集合中的各样本日志信息对应的日志格式相同,每个日志信息集合对应的日志模板用于指示所述日志格式;所述日志格式包括所述固定类型的关键信息、以及所述固定类型的关键信息与所述动态类型的关键信息之间的位置关系;
存储模块,用于将所述至少一个日志信息集合各自对应的日志模板存储至日志模板数据库中。
15.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述计算机执行指令,实现如权利要求1至8任一项所述的方法,或者,如权利要求9至12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的方法,或者,如权利要求9至12任一项所述的方法。
17.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法,或者,如权利要求9至12任一项所述的方法。
CN202210266559.3A 2022-03-17 2022-03-17 日志数据的处理方法、装置、设备、存储介质及程序 Pending CN116804981A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210266559.3A CN116804981A (zh) 2022-03-17 2022-03-17 日志数据的处理方法、装置、设备、存储介质及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210266559.3A CN116804981A (zh) 2022-03-17 2022-03-17 日志数据的处理方法、装置、设备、存储介质及程序

Publications (1)

Publication Number Publication Date
CN116804981A true CN116804981A (zh) 2023-09-26

Family

ID=88079837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210266559.3A Pending CN116804981A (zh) 2022-03-17 2022-03-17 日志数据的处理方法、装置、设备、存储介质及程序

Country Status (1)

Country Link
CN (1) CN116804981A (zh)

Similar Documents

Publication Publication Date Title
US20200257659A1 (en) Method and apparatus for determing description information, electronic device and computer storage medium
CN111343161B (zh) 异常信息处理节点分析方法、装置、介质及电子设备
US11734954B2 (en) Face recognition method, device and electronic equipment, and computer non-volatile readable storage medium
CN110941978B (zh) 一种未识别身份人员的人脸聚类方法、装置及存储介质
CN110674360B (zh) 一种用于数据的溯源方法和系统
CN113382279A (zh) 直播推荐方法、装置、设备、存储介质以及计算机程序产品
CN111369980A (zh) 语音检测方法、装置、电子设备及存储介质
CN115346686A (zh) 关系图谱生成方法及装置、存储介质及电子设备
CN115061874A (zh) 日志信息验证方法、装置、设备及介质
CN111831750A (zh) 一种区块链数据分析方法、装置、计算机设备及存储介质
CN116821903A (zh) 检测规则确定及恶意二进制文件检测方法、设备及介质
EP4246365A1 (en) Webpage identification method and apparatus, electronic device, and medium
CN113742450B (zh) 用户数据等级落标的方法、装置、电子设备和存储介质
CN112699272B (zh) 信息输出方法、装置和电子设备
CN116804981A (zh) 日志数据的处理方法、装置、设备、存储介质及程序
US20210271720A1 (en) Method and apparatus for sending information
CN114169318A (zh) 进程识别方法、装置、设备、介质和程序
CN112464237B (zh) 一种静态代码安全诊断方法及装置
CN114842476A (zh) 水印检测方法及装置、模型训练方法及装置
CN114550255A (zh) 一种未知身份人员的身份确定方法及储存介质
CN113553309A (zh) 一种日志模板的确定方法、装置、电子设备及存储介质
CN110502630B (zh) 信息处理方法及设备
CN110083807B (zh) 合同的修改影响自动预测方法、装置、介质及电子设备
CN110378378B (zh) 事件检索方法、装置、计算机设备及存储介质
CN111753548A (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