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

日志模板提取方法、装置、电子设备及计算机存储介质与流程

2021-10-29 22:36:00 来源:中国专利 TAG:电子设备 提取 装置 文本 模板


1.本技术属于文本处理领域,具体涉及一种日志模板提取方法、装置、电子设备及计算机存储介质。


背景技术:

2.设备的应用系统对本设备上已经发生的动作行为进行记录,并按照某种规范表达出来后形成的数据即为日志(log)数据。后台工作人员可以根据针对日志数据进行分析,从而对系统异常进行定位及诊断、建立系统工作流程等。
3.在实际操作过程中,一台设备每天都会产生海量的日志数据,且日志数据所包含的信息量也较多,应用系统往往是通过日志模板来从海量日志数据中匹配到有效信息做日志分析;此外,对于非结构化日志,计算机无法对其进行准确地分析,通常需要对其提取日志模板后再对日志模板进行日志分析,因此,有针对日志数据提取日志模板的需求。
4.在现有技术中,一般是由运维人员根据实际的日志数据来手动提取日志模板,较为耗时,导致效率较低。


技术实现要素:

5.有鉴于此,本技术的目的在于提供一种日志模板提取方法、装置、电子设备及计算机存储介质,可以提高日志模板的提取效率。
6.本技术的实施例是这样实现的:
7.第一方面,本技术实施例提供一种日志模板提取方法,所述方法包括:采集日志数据;对所述日志数据进行简化,得到简化日志数据;计算所述简化日志数据的日志长度;根据所述日志长度对所述简化日志数据进行分组;针对组内成员数量大于1的每个分组,对其进行文本聚类,输出与该组对应的日志模板。
8.在本实施例中,通过对日志数据进行简化处理后,得到简化日志数据,通过将具有相同日志长度的多个简化日志数据进行文本聚类处理,从而可以自动提取到具有相同日志长度的简化日志数据的日志模板,相较于传统的只能通过人工提取日志模板的方式,可以提高日志模板的提取效率。
9.结合第一方面实施例,在一种可能的实施方式中,所述根据所述日志长度对所述简化日志数据进行分组,包括:将所述日志长度相同的简化日志数据加入到同一个分组。
10.结合第一方面实施例,在一种可能的实施方式中,所述计算所述简化日志数据的日志长度,包括:计算所述简化日志数据所包括的字符数;所述字符数为所述简化日志数据的日志长度。
11.结合第一方面实施例,在一种可能的实施方式中,所述对所述日志数据进行简化,包括:将所述日志数据中用于表示网址的字段替换为第一预设字符;将所述日志数据中用于表示百分比的数字替换为第二预设字符。
12.在本实施例中,通过将日志数据中用于表示网址的字段替换为第一预设字符,将
日志数据中用于表示百分比的数字替换为第二预设字符,当第一预设字符以及第二预设字符的字符数较少时,有助于简化日志数据的复杂度,减少后续进行行文本聚类时的计算量。
13.结合第一方面实施例,在一种可能的实施方式中,所述针对组内成员数量大于1的每个分组,对其进行文本聚类,包括:针对待文本聚类的每个分组,将该组内的所有成员的最长公共子序列确定为与该组对应的日志模板。
14.结合第一方面实施例,在一种可能的实施方式中,所述采集日志数据,包括:通过定时轮询与本设备通信连接的其他网络设备,采集到所述日志数据。
15.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:针对组内成员数量不大于1的每个分组,对其进行标记并反馈给后台。
16.第二方面,本技术实施例提供一种日志模板提取装置,所述装置包括:采集模块、简化模块、计算模块、分组模块以及提取模块。
17.采集模块,用于采集日志数据;
18.简化模块,用于对所述日志数据进行简化,得到简化日志数据;
19.计算模块,用于计算所述简化日志数据的日志长度;
20.分组模块,用于根据所述日志长度对所述简化日志数据进行分组;
21.提取模块,用于针对组内成员数量大于1的每个分组,对其进行文本聚类,输出与该组对应的日志模板。
22.结合第二方面实施例,在一种可能的实施方式中,所述分组模块,用于将所述日志长度相同的简化日志数据加入到同一个分组。
23.结合第二方面实施例,在一种可能的实施方式中,所述计算模块,用于计算所述简化日志数据所包括的字符数;所述字符数为所述简化日志数据的日志长度。
24.结合第二方面实施例,在一种可能的实施方式中,所述简化模块,用于将所述日志数据中用于表示网址的字段替换为第一预设字符;将所述日志数据中用于表示百分比的数字替换为第二预设字符。
25.结合第二方面实施例,在一种可能的实施方式中,所述提取模块,用于针对待文本聚类的每个分组,将该组内的所有成员的最长公共子序列确定为与该组对应的日志模板。
26.结合第二方面实施例,在一种可能的实施方式中,所述采集模块,用于通过定时轮询与本设备通信连接的其他网络设备,采集到所述日志数据。
27.结合第二方面实施例,在一种可能的实施方式中,所述装置还包括反馈模块,用于针对组内成员数量不大于1的每个分组,对其进行标记并反馈给后台。
28.第三方面,本技术实施例还提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
29.第四方面,本技术实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
30.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例而了解。本技术的目的和其他优点可通过在所写的
说明书以及附图中所特别指出的结构来实现和获得。
附图说明
31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本技术的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本技术的主旨。
32.图1示出本技术实施例提供的一种日志模板提取方法的流程图。
33.图2示出本技术实施例提供的一种日志模板提取装置的结构框图。
34.图3示出本技术实施例提供的一种电子设备的结构示意图。
35.图标:100

电子设备;110

处理器;120

存储器;400

日志模板提取装置;410

采集模块;420

简化模块;430

计算模块;440

分组模块;450

提取模块。
具体实施方式
36.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
37.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
38.再者,本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
39.此外,针对现有技术中出现的语言学习产品所存在的缺陷(较为耗时,导致效率较低)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本技术实施例针对上述缺陷所提出的解决方案,都应该被认定为是申请人对本技术做出的贡献。
40.为了解决上述问题,本技术实施例提供一种日志模板提取方法、装置、电子设备及计算机存储介质,可以提高日志模板的提取效率。
41.该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本技术实施例进行详细介绍。
42.下面将针对本技术所提供的日志模板提取方法进行介绍。
43.请参照图1,本技术实施例提供一种日志模板提取方法。该方法可以包含以下步骤。
44.步骤s110:采集日志数据。
45.在一些实施方式中,执行本日志模板提取方法的设备可以直接采集本设备上的应用系统所记录的日志数据,并基于此来执行日志模板提取方法。
46.其中,应用系统所记录的日志数据,包括但不限于:应用系统基于自身的日志生成机制所产生的日志数据、根据预先植入的脚本所生成的日志数据、根据用户预先配置的业务指标需求(例如采集硬件cpu的使用率、采集内存的使用率等)所生成的日志数据。
47.在另一些实施方式中,本日志模板提取方法也可以适用于提取由其他设备的应用系统所记录的日志数据。例如,针对多个服务器集群的应用场景,可以在各个服务器上部署agent(代理),并以http服务的形式对外显示。其中,agent用于采集各个服务器上的应用系统所记录的日志数据。
48.在这种实施方式下,可以在执行本日志模板提取方法的设备上部署采集主程序,用于定时轮询各个服务器上的http服务,从而使得执行本日志模板提取方法的设备可以与各个服务器通信连接,以获取到各个服务器上生成的日志数据。
49.在获取到日志数据后,执行本日志模板提取方法的设备可以将日志数据保存在本端的数据库内,也可以将日志数据保存在云端数据库内,以便后续针对日志数据进行日志模板的提取。
50.在一些应用场景中,在针对日志数据进行日志模板的提取时,对各个日志数据的处理时序存在要求,例如在一些实施方式中,要求按照日志数据的生成时间的先后顺序来对日志数据进行日志模板处理。此时,在存储日志数据时,可以将日志数据存储到时序数据库中,以保留日志数据之间的时序信息。
51.步骤s120:对所述日志数据进行简化,得到简化日志数据。
52.值得指出的是,对于多个日志数据而言,当其指示的是同一个事件时,这些日志数据所包括的大部分字段相同,而不相同的字段往往是ip地址、百分比等特殊字段,且这些特殊字段的长度会因设备而异。
53.在本技术实施例中,为了便于后续通过日志长度将属于同一个事件的日志数据划分到同一个组,可以对各个日志数据的特殊字段进行简化,得到简化日志数据。
54.其中,就各个简化日志数据而言,某个具体的特殊字段所包括的长度相同。
55.具体的,在一些实施方式中,在对日志数据进行简化时,可以将各个日志数据中用于表示网址的特殊字段替换为第一预设字符,例如<ip>、<a>等;以及将各个日志数据中用于表示百分比的数字的特殊字段替换为第二预设字符,例如<百分比>、<b>等。
56.当然,值得指出的是,上述第一预设字符为以及上述第二预设字符的具体表现形式仅为举例,在其他实施例中,也可以用其他类似的字符来作为第一预设字符或者第二预设字符。
57.其中,当第一预设字符以及第二预设字符的字符数较少时,有助于简化日志数据的复杂度,以及有利于减少后续的计算量。
58.具体的,假设采集到四个日志数据分别为:
59.hpux服务器:10.134.161.7的磁盘使用率为93%,超过阀值90%;
60.hpux服务器:10.134.212.7的磁盘使用率为95%,超过阀值90%;
61.hpux服务器:10.134.212.1的磁盘使用率为20%,低于阀值20%;
62.hpux服务器:10.134.161.10的内存使用率为98%,超过阀值90%。
63.当按照上述规则(将用于表示网址的特殊字段替换为<ip>,将用于表示百分比的数字的特殊字段替换为<百分比>)对日志数据进行简化后,得到的四个简化日志数据分别为:
64.hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>;
65.hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>;
66.hpux服务器:<ip>的磁盘使用率为<百分比>,低于阀值<百分比>;
67.hpux服务器:<ip>的cpu使用率为<百分比>,超过阀值<百分比>。
68.步骤s130:计算所述简化日志数据的日志长度。
69.在得到简化日志数据后,可以计算各个简化日志数据的日志长度。
70.在一些实施方式中,可以通过计算简化日志数据所包括的字符数,得到简化日志数据的日志长度。其中,简化日志数据所包括的字符数即为简化日志数据的日志长度。
71.例如,以上四个简化日志数据的字符数分别为:34、34、34、35,相应的,以上四个简化日志数据的日志长度分别为:34、34、34、35。
72.步骤s140:根据所述日志长度对所述简化日志数据进行分组。
73.值得指出的是,在本技术实施例中,默认日志长度相同简化日志数据所对应的事件为同一事件。在此前提下,可以将日志长度相同的简化日志数据加入到同一个分组内,从而得到多个分组。
74.其中,属于同一个组内的简化日志数据代表同一个事件。
75.例如针对上述举例所得到的简化日志数据:
76.hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>;
77.hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>;
78.hpux服务器:<ip>的磁盘使用率为<百分比>,低于阀值<百分比>;
79.hpux服务器:<ip>的cpu使用率为<百分比>,超过阀值<百分比>。
80.通过计算可知,hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>、hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>以及hpux服务器:<ip>的磁盘使用率为<百分比>,低于阀值<百分比>这三个简化日志数据的日志长度相同,因此,可以将这三个简化日志数据加入到同一个分组内。
81.步骤s150:针对组内成员数量大于1的每个分组,对其进行文本聚类,输出与该组对应的日志模板。
82.在得到多个分组后,针对组内成员数量大于1的每个分组,可以基于组内的每个成员进行文本聚类,进而输出与该组所代表的事件对应的日志模板。
83.至于基于组内的每个成员进行文本聚类的过程,是针对待文本聚类的每个分组,分析该组内的所有成员的最长公共子序列,并将最长公共子序列确定为与该组对应的日志模板。
84.其中,最长公共子序列即为组内的每个成员所对应的简化日志数据中的最长公共字符。
85.例如针对上述举例,以下三个简化日志数据属于同一个分组,且该分组内的成员数量大于1。
86.hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>;
87.hpux服务器:<ip>的磁盘使用率为<百分比>,超过阀值<百分比>;
88.hpux服务器:<ip>的磁盘使用率为<百分比>,低于阀值<百分比>。
89.在针对该分组内的每个成员进行文本聚类时,分析到的最长公共子序列为:hpux服务器:<ip>的磁盘使用率为<百分比>,相应的,将“hpux服务器:<ip>的磁盘使用率为<百分比>”确定为该分组的日志模板。
90.针对组内成员数量不大于1的每个分组,由于其组内成员较少,不具备提取最长公共子序的条件,在一些实施方式中,可以将其进行标记并反馈给后台,以便后台工作人员可以通过人工的方式提取其日志模板。
91.本技术实施例所提供的一种日志模板提取方法,通过对日志数据进行简化处理后,得到简化日志数据,通过将具有相同日志长度的多个简化日志数据进行文本聚类处理,从而可以自动提取到具有相同日志长度的简化日志数据的日志模板,相较于传统的只能通过人工提取日志模板的方式,可以提高日志模板的提取效率。
92.如图2所示,本技术实施例还提供一种日志模板提取装置400,日志模板提取装置400可以包括:
93.采集模块410,用于采集日志数据;
94.简化模块420,用于对所述日志数据进行简化,得到简化日志数据;
95.计算模块430,用于计算所述简化日志数据的日志长度;
96.分组模块440,用于根据所述日志长度对所述简化日志数据进行分组;
97.提取模块450,用于针对组内成员数量大于1的每个分组,对其进行文本聚类,输出与该组对应的日志模板。
98.在一种可能的实施方式中,所述分组模块440,用于将所述日志长度相同的简化日志数据加入到同一个分组。
99.在一种可能的实施方式中,所述计算模块430,用于计算所述简化日志数据所包括的字符数;所述字符数为所述简化日志数据的日志长度。
100.在一种可能的实施方式中,所述简化模块420,用于将所述日志数据中用于表示网址的字段替换为第一预设字符;将所述日志数据中用于表示百分比的数字替换为第二预设字符。
101.在一种可能的实施方式中,所述提取模块450,用于针对待文本聚类的每个分组,将该组内的所有成员的最长公共子序列确定为与该组对应的日志模板。
102.在一种可能的实施方式中,所述采集模块410,用于通过定时轮询与本设备通信连接的其他网络设备,采集到所述日志数据。
103.在一种可能的实施方式中,所述装置还包括反馈模块,用于针对组内成员数量不大于1的每个分组,对其进行标记并反馈给后台。
104.本技术实施例所提供的日志模板提取装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
105.此外,本技术实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的日志模板提取方法所包含的步骤。
106.此外,请参照图3来描述用于实现本技术实施例的日志模板提取方法、装置的电子设备100。
107.可选的,电子设备100,可以是,但不限于个人电脑(personal computer,pc)、平板电脑、移动上网设备(mobile internet device,mid)、个人数字助理、服务器等设备。其中,服务器可以是,但不限于网络服务器、数据库服务器、云端服务器等。
108.其中,电子设备100可以包括:处理器110、存储器120。
109.应当注意,图3所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。例如,在一些情况下,电子设备100还可以包括显示器,用于显示提取出的日志模板。
110.处理器110、存储器120以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
111.存储器120用于存储程序,例如存储有前文出现的日志模板提取方法对应的程序或者前文出现的日志模板提取装置。可选的,当存储器120内存储有日志模板提取装置时,日志模板提取装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
112.可选的,日志模板提取装置所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,os)中。
113.处理器110用于执行存储器120中存储的可执行模块,例如日志模板提取装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:采集日志数据;对所述日志数据进行简化,得到简化日志数据;计算所述简化日志数据的日志长度;根据所述日志长度对所述简化日志数据进行分组;针对组内成员数量大于1的每个分组,对其进行文本聚类,输出与该组对应的日志模板。
114.当然,本技术任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
115.综上所述,本发明实施例提出的日志模板提取方法、装置、电子设备及计算机存储介质,通过对日志数据进行简化处理后,得到简化日志数据,通过将具有相同日志长度的多个简化日志数据进行文本聚类处理,从而可以自动提取到具有相同日志长度的简化日志数据的日志模板,相较于传统的只能通过人工提取日志模板的方式,可以提高日志模板的提取效率。
116.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
117.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也
可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
118.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
119.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
120.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜