日志处理方法和通信设备与流程

未命名 07-15 阅读:174 评论:0


1.本技术涉及数据处理技术领域,尤其涉及一种日志处理方法和通信设备。


背景技术:

2.随着科技的迅猛发展,互联网的流量和应用程序的数量呈现爆炸式的增长。通常,互联网和应用程序产生的数据常常部署于数据中心中。因此,数据中心的安全和稳定对于互联网和应用程序而言至关重要。
3.数据中心中的如交换机、路由器、防火墙等基础设施常常会发生软硬件的异常。故,用户(如软件开发者或运维人员)需要持续监控这些基础设施的运行状态,便于及时且准确地检测到这些基础设施的异常,确保维护数据中心的安全和稳定。
4.通常,运维系统可分析数据中心在运行时产生的数据,对网络设备群的运行状态进行监控和维护。日志是数据中心中的基础设施运行时产生的数据,日志记录了基础设施运行时的详细信息。用户(如软件开发者或运维人员)可通过解析日志,以便解决问题。
5.目前,运维系统可采用多种相关技术来实现日志的解析。
6.相关技术1中,运维系统主要依赖于人工制定的如正则表达式或使用工具等规则的方式,来解析日志,前述过程耗时耗力且容易出错。
7.相关技术2中,运维系统采用如机器学习、文本搜索等方式来解析日志,但前述方式针对不同的基础设施、不同语音或格式的日志不具备普遍适用性。


技术实现要素:

8.本技术提供一种日志处理方法和通信设备,以解决由于数据中心中的基础设施的设备多样、日志的种类繁多、日志的数量巨大、日志采用非结构化的文本等因素而无法自动化解析日志的问题,实现了对日志的自动且实时地解析,不仅达到了节省存储空间的目的,还方便对日志进行异常检测。
9.第一方面,本技术提供一种日志处理方法,包括:
10.获取实时日志中的一条日志记录;
11.确定日志记录中的每一个单词的单词类别,其中,单词类别包括模板单词和变量单词;
12.基于日志记录中的每一个单词的单词类别,得到预测日志模板,其中,预测日志模板的单词包括日志记录中单词类别为模板单词的全部单词;
13.对预测日志模板与日志模板库中的每一个日志模板进行匹配,其中,日志模板库中至少存储有一个日志模板的标识和单词,且日志模板库中的不同日志模板的标识不同;
14.基于匹配结果,将日志记录存储为一个标识以及一个单词集合的形式,其中,标识用于表示日志记录的日志模板,单词集合用于存储日志记录的变量部分。
15.通过第一方面提供的日志处理方法,获取实时日志中的一条日志记录,确定该条日志记录中的每一个单词的单词类别,基于该条日志记录中的每一个单词的单词类别,从
该条日志记录中提取单词类别为模板单词的全部单词作为预测日志模板,对预测日志模板与日志模板库中的每一个日志模板进行匹配。基于匹配结果,将该条日志记录存储为一个标识以及一个单词集合的形式,其中,该标识用于表示该条日志记录的日志模板,该单词集合用于存储该条日志记录的变量部分。
16.从而,将相同事件类型的全部日志记录的日志模板皆用一个标识替代,同时借助日志模板库中存储的该日志模板的标识和单词,减少了相同内容占用的存储空间,达到了压缩存储空间的目的,方便回溯数据中心中基础设施的运行状态,还有助于检测数据中心中基础设施的异常/故障。
17.在一种可能的设计中,基于匹配结果,将日志记录存储为一个标识以及一个单词集合的形式,包括:
18.在匹配结果用于表示预测日志模板与日志模板库中的一个日志模板匹配时,确定标识为一个日志模板的标识,确定单词集合包括日志记录中除一个日志模板的单词之外的其余单词;
19.在匹配结果用于表示预测日志模板与日志模板库中的全部日志模板皆不匹配时,确定标识为预测日志模板的标识,确定单词集合包括日志记录中除预测日志模板的单词之外的其余单词,并将预测日志模板的标识和单词添加到日志模板库中,预测日志模板的标识与日志模板库中的任意一个日志模板的标识不同,以更新日志模板库。
20.由此,可基于匹配结果确定出实时日志中的每一条日志记录的存储形式,且还可基于匹配结果实现对日志模板库的更新,丰富了日志模板库中的日志模板的种类,还可为后续快速匹配日志记录的日志模板与日志记录库中的日志模板,提供了充足的日志模板来源。
21.在一种可能的设计中,该方法还包括:
22.获取日志模板库。
23.由此,可离线得到日志模板库,提升了在线解析日志记录的效率。
24.在一种可能的设计中,确定日志模板库,包括:
25.获取历史日志中的多条日志记录;
26.将多条日志记录划分为多组日志记录,每一组日志记录对应一个日志类别;
27.确定每一组日志记录对应的日志模板的标识和单词,其中,不同组日志记录对应的日志模板的标识不同,同一组日志记录中的全部日志记录各自的日志模板的标识相同,每一组日志记录对应的日志模板的单词包括每一组日志记录中单词类别为模板单词的全部单词;
28.将每一组日志记录对应的日志模板的标识和单词作为日志模板库。
29.由此,基于海量的历史日志,离线得到日志模板库,提升了日志模板库中的各个日志模板的准确率,且无需考虑效率和时间成本。
30.在一种可能的设计中,将多条日志记录划分为多组日志记录,包括:
31.对多条日志记录进行句子级向量化处理,得到每一条日志记录的句子特征向量;
32.基于每一条日志记录的句子特征向量,对多条日志记录进行聚类,得到多条日志记录包括的全部日志类别;
33.基于多条日志记录包括的全部日志类别,将多条日志记录划分为多组日志记录。
34.由此,为多条日志记录的聚类提供了一种实现方式。
35.在一种可能的设计中确定每一组日志记录对应的日志模板的单词,包括:
36.针对每一组日志记录中的全部日志记录中的任意一个单词而言,确定单词在一组日志记录中的全部日志记录中的出现频率,并基于单词在一组日志记录中的全部日志记录中的出现频率,确定单词的单词类别;
37.确定每一组日志记录中的全部日志记录中的每一个单词的单词类别;
38.基于每一组日志记录中的全部日志记录中的每一个单词的单词类别,确定每一组日志记录对应的日志模板的单词包括每一组日志记录中的全部日志记录中单词类别为模板单词的全部单词。
39.在一种可能的设计中,基于单词在一组日志记录中的全部日志记录中的出现频率,确定单词的单词类别,包括:
40.在单词的出现频率大于等于预设阈值时,确定单词的单词类别为模板单词;
41.在单词的出现频率小于预设阈值时,确定单词的单词类别为变量单词。
42.由此,为离线识别单词的单词类别提供了一种实现方式,同时,也可作为训练单词识别模型的依据,提升了单词识别模型的准确率。
43.在一种可能的设计中,确定日志记录中的每一个单词的单词类别,包括:
44.对日志记录进行单词级向量化处理,得到日志记录的单词特征向量;
45.将日志记录和日志记录的单词特征向量输入到单词识别模型中,对日志记录中的每一个单词进行识别,得到日志记录中的每一个单词的单词类别,其中,单词识别模型用于确定单词的单词类别为模板单词或变量单词。
46.由此,基于单词识别模型,可确定出每一个单词的单词类别,为实时区分单词的单词类别提供了一种实现方式。
47.在一种可能的设计中,该方法还包括:
48.获取单词识别模型。
49.由此,可离线得到单词识别模型,提升了在线解析日志记录的效率。
50.在一种可能的设计中,确定单词识别模型,包括:
51.对历史日志中的多条日志记录进行单词级向量化处理,得到每一条日志记录的单词特征向量;
52.将每一条日志记录的单词特征向量以及每一条日志记录中的每一个单词的单词类别输入到原始识别模型中,对原始识别模型进行训练,得到单词识别模型。
53.由此,基于海量的历史日志,离线得到单词识别模型,提升了单词识别模型的准确率,且无需考虑效率和时间成本。
54.第二方面,本技术提供一种日志处理装置,包括:
55.第一获取模块,用于获取实时日志中的一条日志记录;
56.第一确定模块,用于确定日志记录中的每一个单词的单词类别,其中,单词类别包括模板单词和变量单词;
57.第一确定模块,还用于基于日志记录中的每一个单词的单词类别,得到预测日志模板,其中,预测日志模板的单词包括日志记录中单词类别为模板单词的全部单词;
58.匹配模块,用于对预测日志模板与日志模板库中的每一个日志模板进行匹配,其
中,日志模板库中至少存储有一个日志模板的标识和单词,且日志模板库中的不同日志模板的标识不同;
59.存储模块,用于基于匹配结果,将日志记录存储为一个标识以及一个单词集合的形式,其中,标识用于表示日志记录的日志模板,单词集合用于存储日志记录的变量部分。
60.在一种可能的设计中,存储模块,具体用于在匹配结果用于表示预测日志模板与日志模板库中的一个日志模板匹配时,确定标识为一个日志模板的标识,确定单词集合包括日志记录中除一个日志模板的单词之外的其余单词;在匹配结果用于表示预测日志模板与日志模板库中的全部日志模板皆不匹配时,确定标识为预测日志模板的标识,确定单词集合包括日志记录中除预测日志模板的单词之外的其余单词;
61.该装置还包括:
62.更新模块,用于在匹配结果用于表示预测日志模板与日志模板库中的全部日志模板皆不匹配时,将预测日志模板的标识和单词添加到日志模板库中,预测日志模板的标识与日志模板库中的任意一个日志模板的标识不同,以更新日志模板库。
63.在一种可能的设计中,该装置还包括:
64.第二获取模块,用于获取日志模板库。
65.在一种可能的设计中,该装置还包括:
66.第二确定模块,用于获取历史日志中的多条日志记录;将多条日志记录划分为多组日志记录,每一组日志记录对应一个日志类别;确定每一组日志记录对应的日志模板的标识和单词,其中,不同组日志记录对应的日志模板的标识不同,同一组日志记录中的全部日志记录各自的日志模板的标识相同,每一组日志记录对应的日志模板的单词包括每一组日志记录中单词类别为模板单词的全部单词;将每一组日志记录对应的日志模板的标识和单词作为日志模板库。
67.在一种可能的设计中,第二确定模块,具体用于对多条日志记录进行句子级向量化处理,得到每一条日志记录的句子特征向量;基于每一条日志记录的句子特征向量,对多条日志记录进行聚类,得到多条日志记录包括的全部日志类别;基于多条日志记录包括的全部日志类别,将多条日志记录划分为多组日志记录。
68.在一种可能的设计中,第二确定模块,具体用于针对每一组日志记录中的全部日志记录中的任意一个单词而言,确定单词在一组日志记录中的全部日志记录中的出现频率,并基于单词在一组日志记录中的全部日志记录中的出现频率,确定单词的单词类别;确定每一组日志记录中的全部日志记录中的每一个单词的单词类别;基于每一组日志记录中的全部日志记录中的每一个单词的单词类别,确定每一组日志记录对应的日志模板的单词包括每一组日志记录中的全部日志记录中单词类别为模板单词的全部单词。
69.在一种可能的设计中,第二确定模块,具体用于在单词的出现频率大于等于预设阈值时,确定单词的单词类别为模板单词;在单词的出现频率小于预设阈值时,确定单词的单词类别为变量单词。
70.在一种可能的设计中,第一确定模块,具体用于对日志记录进行单词级向量化处理,得到日志记录的单词特征向量;将日志记录和日志记录的单词特征向量输入到单词识别模型中,对日志记录中的每一个单词进行识别,得到日志记录中的每一个单词的单词类别,其中,单词识别模型用于确定单词的单词类别为模板单词或变量单词。
71.在一种可能的设计中,该装置还包括:
72.第三获取模块,用于获取单词识别模型。
73.在一种可能的设计中,该装置还包括:
74.第三确定模块,用于对历史日志中的多条日志记录进行单词级向量化处理,得到每一条日志记录的单词特征向量;将每一条日志记录的单词特征向量以及每一条日志记录中的每一个单词的单词类别输入到原始识别模型中,对原始识别模型进行训练,得到单词识别模型。
75.上述第二方面以及上述第二方面的各可能的设计中所提供的日志处理装置,其有益效果可以参见上述第一方面及第一方面任一种可能的设计所带来的有益效果,在此不再赘述。
76.第三方面,本技术提供一种运维系统,包括:至少一个通信设备,至少一个通信设备执行第一方面及第一方面任一种可能的设计中的日志处理方法。
77.第四方面,本技术提供一种通信设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得通信设备执行第一方面及第一方面任一种可能的设计中的日志处理方法。
78.第五方面,本技术提供一种芯片系统,芯片系统应用于包括存储器和传感器的通信设备;芯片系统包括:处理器;当处理器执行存储器中存储的计算机指令时,通信设备执行第一方面及第一方面任一种可能的设计中的日志处理方法。
79.第六方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得通信设备执行时实现第一方面及第一方面任一种可能的设计中的日志处理方法。
80.第七方面,本技术提供一种计算机程序产品,包括:执行指令,执行指令存储在可读存储介质中,通信设备的至少一个处理器可以从可读存储介质读取执行指令,至少一个处理器执行执行指令使得通信设备实现第一方面及第一方面任一种可能的设计中的日志处理方法。
附图说明
81.图1为本技术一实施例提供的一种运维系统的结构示意图;
82.图2为本技术一实施例提供的一种日志处理方法的流程示意图;
83.图3为本技术一实施例提供的一种日志处理方法的流程示意图;
84.图4a-图4b为本技术一实施例提供的一种聚类效果的对比示意图;
85.图5为本技术一实施例提供的一种日志处理方法的流程示意图。
具体实施方式
86.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,单独a,单独b或单独c中的至少一项
(个),可以表示:单独a,单独b,单独c,组合a和b,组合a和c,组合b和c,或组合a、b和c,其中a,b,c可以是单个,也可以是多个。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“中心”、“纵向”、“横向”、“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
87.首先,下面对本技术中的部分用语进行解释说明,以便于本领域技术人员理解。
88.1、日志(logs),也称日志文件,可以理解为:通过在软件源代码中添加的一些特定的代码,可以将软硬件运行的实时状态以非结构化的文本形式记录在文件中,该文件称为日志。本技术提及的非结构化的文本可采用如自然语言,或者包含缩写或简写的非完整语句等形式进行表示。从而,用户(如软件开发者或运维人员)可以通过阅读日志,掌握软硬件运行的实时情况/实时状态,方便进行日志的异常检测等。
89.其中,日志可划分为:历史日志和实时日志两种。历史日志指的是在数据中心的日志库中查询得到的日志。实时日志指的是流式日志,又称日志流(log steam),即实时存储在数据中心的日志库中的日志。
90.其中,日志中可以包括:多条(也称多行)日志记录。例如,日志中的三条日志记录可分别表示为如下内容:
91.neighbour(rid:*,addr:*)on*,changed state from exchange to loading.
92.auth successful for job*(auth:simple).
93.authentication failure;logname=*uid=*euid=*tty=nodevssh riser=*rhost=*.
94.2、日志记录,也称日志消息或日志语句或日志文本,可以理解为:每一条(也称每一行)日志记录用于记录软硬件运行时的一个事件,可全面掌握软硬件运行的全貌。其中,一条日志记录中可包括多个单词(或字符)。本技术提及的单词可采用如字母、数字或符号等至少一种方式进行表示。
95.其中,一条日志记录可转换为:日志模板和变量部分。
96.3、日志模板(schema),也称模板部分或日志模式(pattern),可以理解为:一条日志记录本身的模式或格式,解释了该条日志记录的事件类型(或事件模板)。从而,用户通过识别日志记录的日志模板,可快速掌握软硬件运行的概况。一般情况下,同类事件中的日志模板保持不变。其中,日志模板中可以包括:至少一个单词。
97.4、变量部分可以理解为:携带了该条日志记录记录的事件的实时信息,可快速掌握软硬件运行的具体情况。一般情况下,同类事件中的变量部分可能相同或不同。其中,变量部分中可包括至少一个单词,也可为空,即不存在内容。
98.5、单词可以理解为:一条日志记录的最小表示单元。单词类别可包括:模板单词和变量单词。在一条日志记录中的一个单词的单词类别为模板单词时,该单词包含在该条日志记录的日志模板中。在一条日志记录中的一个单词的单词类别为变量单词时,该单词包含在该条日志记录的变量部分中。
99.例如,一条日志记录可表示为如下内容:
100.jul 10 19:03:03 info interface te-1/1/50,changed state to down.
101.该条日志记录中,日志模板的单词包括:interface*,changed state to down,变量部分的单词包括:te-1/1/50。
102.基于上述描述,本技术提供一种日志处理方法、日志处理装置、通信设备、运维系统、芯片系统、计算机可读存储介质和计算机程序产品,可针对实时获取到的任意一条日志记录,借助离线得到的单词识别模型和日志模板库,确定出该条日志记录的日志模板和变量部分,并将该条日志记录存储为一个标识和一个单词集合的形式,其中,该标识用于表示该条日志记录的日志模板,可确定出该条日志记录的日志模板匹配于日志模板库中的哪一个日志模板,该单词集合用于存储该条日志记录的变量部分,可确定出该单词集合中包括该条日志记录中单词类别为变量单词的全部单词。
103.从而,将每一条日志记录以一个标识和一个单词集合的形式进行表示与存储,使得用户基于每一条日志记录的标识确定出每一条日志记录的事件类型,基于每一条日志记录的单词集合确定出每一条日志记录记录的事件的实时信息,能够准确且快速地对实时日志中的每一条日志记录进行在线(即实时)解析,充分考虑到数据中心中的基础设施的设备多样、日志的种类繁多、日志的数量巨大、日志采用非结构化文本等因素,实现了对日志的自动且实时地解析,实现过程方便、快捷且具有普遍适用性,不仅达到了节省存储空间的目的,还方便对日志进行异常检测。
104.请参阅图1,图1示出了本技术一实施例提供的一种运维系统的结构示意图。
105.如图1所示,本技术提供的运维系统100可以包括:至少一个通信设备。
106.其中,运维系统100用于监控和维护数据中心的运行状况。运维系统100可与数据中心有线通信连接或无线通信连接,有线通信连接可采用如同轴电缆、光纤、数字用户线(digital subscriber line,dsl)等方式,无线通信连接可采用如蓝牙、红外、无线(wi-fi)、微波等方式。从而,运维系统100可从数据中心的日志库中获取历史日志和实时日志,实现对实时日志的在线解析。
107.其中,通信设备主要包括网络设备和/或终端设备。本技术对通信设备的具体类型不作任何限制。
108.网络设备:可以是基站,或者接入点,或者接入网设备,或者可以是指接入网中在空中接口上通过一个或多个扇区与无线终端通信的设备。网络设备可用于将收到的空中帧与ip分组进行相互转换,作为无线终端与接入网的其余部分之间的路由器,其中接入网的其余部分可包括网际协议(ip)网络。网络设备还可协调对空中接口的属性管理。例如,网络设备可以是全球移动通讯(global system of mobile communication,gsm)或码分多址(code division multiple access,cdma)中的基站(base transceiver station,bts),也可以是宽带码分多址(wideband code division multiple access,wcdma)中的基站(nodeb,nb),还可以是长期演进(long term evolution,lte)中的演进型基站(evolutional node b,enb或enodeb),或者中继站或接入点,或者未来5g网络中的基站,例如gnb等,在此并不限定。
109.终端设备:可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经ran与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携
式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(personal communication service,pcs)电话、无绳电话、会话发起协议(session initiation protocol,sip)话机、无线本地环路(wireless local loop,wll)站、个人数字助理(personal digital assistant,pda)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。
110.为了便于说明,图1中,以运维系统100包括第一通信设备101和第二通信设备102,且第一通信设备101和第二通信设备102均采用服务器的表现形式进行举例示意。
111.第一通信设备101与第二通信设备102可有线通信连接或无线通信连接,第一通信设备101与第二通信设备102可分别与数据中心有线通信连接或无线通信连接,前述的有线通信连接或无线通信连接的具体实现方式可参见前文描述,此处不做赘述。
112.第一通信设备101,用于从数据中心的数据库中获取实时日志,并对实时日志中的每一条日志记录进行在线解析。
113.另外,第一通信设备101,还用于在实时日志解析完毕后,可实时日志进行存储。其中,第一通信设备101可将实时日志存储在第一通信设备101中,也可将实时日志存储在第二通信设备102中,也可将实时日志存储在运维系统中的其他通信设备中,也可采用前述任意组合的方式存储实时日志,本技术对此不做限定。
114.第二通信设备102,用于获取历史日志,如可从数据中心的数据库中获取历史日志,也可将第一通信设备101存储的实时日志作为历史日志,也可将第二通信设备102存储的实时日志作为历史日志,也可将运维系统中的其他通信设备存储的实时日志作为历史日志,也可采用前述任意组合的方式获取历史日志,本技术对此不做限定。
115.第二通信设备102,还用于基于历史日志,离线得到日志模板库,并向第一通信设备101提供日志模板库,日志模板库中存储有至少一个日志模板的标识和单词,且日志模板库中不同的日志模板的标识不同,日志模板库中的不同的日志模板的单词完全不同或部分不同。
116.其中,日志模板的标识用于唯一标识一个事件类型。日志模板的单词中包括一个事件类型对应的模板单词,用于与其他的日志模板进行区分。本技术对标识和单词的具体实现方式不做限定。例如,标识可采用如索引标号、数字编号、字符等方式进行表示。
117.其中,本技术提及的一条日志记录的日志模板与日志模板库中的任意一个日志模板匹配可理解为:该条日志记录的模板单词与日志模板库中的任意一个日志模板的单词的重叠比例是否大于等于预设比例。重叠比例可表示该条日志记录的日志模板与日志模板库中的任意一个日志模板的匹配度/相似度,可采用作差和/或作商的方式计算得到。本技术对预设比例的具体数值不做限定。例如,预设比例可设置为80%、90%或100%。
118.例如,日志模板库中存储有日志模板1的标识1、单词11和单词12,以及日志模板2的标识2、单词21、单词22和单词23,且预设比例设置为80%。其中,标识1与标识2不同,标识1用于唯一标识事件类型1,标识2用于唯一标识事件类型2,事件类型1对应的事件与事件类型2对应的事件不同。
119.在日志记录1中的模板单词包括单词11和单词12时,重叠比例为100%,且100%大于80%。可见,日志记录1的日志模板匹配于日志模板1。
120.在日志记录1中的模板单词包括单词11或单词12,或者,日志记录1中的模板单词不包括单词11和单词12时,重叠比例小于80%。可见,日志记录1的日志模板不匹配于日志模板1。
121.在日志记录2中的模板单词包括单词21、单词22和单词23时,重叠比例为100%,且100%大于80%。可见,日志记录2的日志模板匹配于日志模板2。
122.在日志记录2中的模板单词包括单词21、单词22和单词23中的至少一个,或者,日志记录2中的模板单词不包括单词21、单词22和单词23时,重叠比例小于80%。可见,日志记录2的日志模板不匹配于日志模板2。
123.另外,在日志记录1的日志模板匹配于日志模板1,日志记录2的日志模板匹配于日志模板2时,日志记录1记录了事件类型1对应的事件,日志记录1的日志模板可标记为日志模板1的标识1,日志记录2记录了事件类型2对应的事件,日志记录2的日志模板可标记为日志模板2的标识2。
124.另外,在日志记录1的日志模板和日志记录2的日志模板均匹配于日志模板1时,日志记录1记录了事件类型1对应的事件,日志记录1的日志模板可标记为日志模板1的标识1,日志记录2记录了事件类型1对应的事件,日志记录1的日志模板可标记为日志模板1的标识1。其中,日志记录1记录的事件类型1对应的事件与日志记录2记录的事件类型1对应的事件可能为同一事件,也可能为同一事件类型的不同事件。
125.第二通信设备102,还用于基于历史日志,离线得到单词识别模型,并向第一通信设备101提供单词识别模型。
126.其中,单词识别模型用于确定单词的单词类别。单词识别模型可基于海量的历史日志中的日志记录,采用离线学习日志记录中的每一个单词的语义信息与单词类别之间的对应关系的方式,区分出单词的单词类别为模板单词或变量单词。
127.例如,在离线学习的过程中,单词识别模型γ
l
可基于历史日志中的n条日志记录,如n条记录表示为集合(l1,l2,

,ln),学习日志记录li中的每一个单词的单词类别为模板单词或变量单词的判断过程。其中,i为取遍大于等于1且小于等于n的正整数。
128.从而,在在线解析的过程中,运维系统100或第一通信设备101可利用单词识别模型γ
l
对实时获取到的每一条日志记录中的每一个单词进行识别/标记,识别出每一条日志记录中的每一个单词的单词类别,有利于区分出每一条日志记录的日志模板和变量部分。
129.需要说明的是,第二通信设备102可采用同一个通信设备离线得到日志模板库和单词识别模型,也可采用多个通信设备分别离线得到日志模板库和单词识别模型,本技术对第二通信设备102的类型和数量不做限定。另外,本技术对第一通信设备101的类型和数量也不做限定。
130.基于前述描述,本技术以下实施例将以具有图1所示结构的运维系统中的第一通信设备和第二通信设备为例,结合附图和应用场景,对本技术提供的日志处理方法进行详细阐述。
131.请参阅图2,图2示出了本技术一实施例提供的一种日志处理方法的流程示意图。
132.如图2所示,本技术提供的日志处理方法应用于运维系统/第一通信设备。为了便
于说明,采用第一通信设备进行举例说明。本技术提供的日志处理方法可以包括:
133.s101、获取实时日志中的一条日志记录。
134.第一通信设备可调用接口从数据中心中获取实时日志,如批量(batch)且实时的多条日志记录。从而,第一通信设备可将实时日志中获取任意一条日志记录作为待处理的一条日志记录。
135.其中,上述提及的接口指的是数据中心的日志库中实时存储实时日志的接口。
136.s102、确定日志记录中的每一个单词的单词类别,其中,单词类别包括模板单词和变量单词。
137.针对该条日志记录中的任意一个单词而言,第一通信设备可判断该单词的单词类别为模板单词还是为变量单词,使得第一通信设备能够确定该条日志记录中的每一个单词的单词类别。由此,有助于完成该条日志记录的日志模板的实时提取。
138.s103、基于日志记录中的每一个单词的单词类别,得到预测日志模板,其中,预测日志模板的单词包括日志记录中单词类别为模板单词的全部单词。
139.基于s102确定的该条日志记录中的每一个单词的单词类别,第一通信设备可从该条日志记录中提取单词类别为模板单词的全部单词作为预测日志模板的单词。
140.s104、对预测日志模板与日志模板库中的每一个日志模板进行匹配,其中,日志模板库中至少存储有一个日志模板的标识和单词,且日志模板库中的不同日志模板的标识不同。
141.第一通信设备通过匹配预测日志模板的单词与日志模板库中的每一个日志模板的单词,可计算出预测日志模板与日志模板库中的每一个日志模板的重叠比例。
142.在预测日志模板与日志模板库中的一个日志模板的重叠比例大于等于预设比例时,第一通信设备可确定预测日志模板与日志模板库中的该日志模板匹配。
143.在预测日志模板与日志模板库中的一个日志模板的重叠比例小于预设比例时,第一通信设备可确定预测日志模板与日志模板库中的该日志模板不匹配。
144.从而,第一通信设备基于日志模板库中的每一个日志模板的重叠比例与预设比例的大小关系,可确定出预测日志模板与日志模板库中的哪一个日志模板匹配,得到匹配结果。
145.另外,考虑到日志模板库中的不同的日志模板的事件类型可能相似,导致不同的日志模板的单词可能存在重叠。因此,第一通信设备可能确定预测日志模板与日志模板库中的多个日志模板匹配。
146.从而,在确定预测日志模板与日志模板库中的多个日志模板匹配时,第一通信设备可从多个日志模板中选择重叠比例最大的一个日志模板,并确定预测日志模板与该日志模板匹配,得到匹配结果。
147.其中,日志模板库、重叠比例、预设比例以及匹配过程的具体实现方式可参见前文描述,此处不做赘述。需要说明的是,第一通信设备中存储有日志模板库。
148.s105、基于匹配结果,将日志记录存储为一个标识以及一个单词集合的形式,其中,标识用于表示日志记录的日志模板,单词集合用于存储日志记录的变量部分。
149.基于s104得到的匹配结果,第一通信设备可确定日志模板库中是否存储有与预测日志模板匹配的日志模板。从而,第一通信设备可将该条日志记录存储为一个标识以及一
个单词集合的形式。
150.其中,该标识用于表示该条日志记录的日志模板,该单词集合用于存储该条日志记录的变量部分。
151.在匹配结果表示预测日志模板与日志模板库中的一个日志模板匹配时,第一通信设备可确定日志模板库中已存储有与预测日志模板匹配的日志模板。从而,第一通信设备可将预测日志模板标记为日志模板库中的该日志模板的标识,使得该条日志记录的日志模板可采用日志模板库中的该日志模板的标识进行表示和存储,方便快速识别出该条日志记录的事件类型。
152.并且,第一通信设备可从该条日志记录中提取除日志模板库中的该日志模板的单词之外的其余单词,并将前述的其余单词存储在一个单词集合中,使得该条日志记录的变量部分可采用前述单词集合进行表示和存储,方便快速识别出该条日志记录记录的事件的实时信息。
153.综上,第一通信设备可将该条日志记录存储为日志模板库中的该日志模板的标识以及上述单词集合的形式。
154.在匹配结果表示预测日志模板与日志模板库中的全部日志模板皆不匹配时,第一通信设备可确定日志模板库中未存储有与预测日志模板匹配的日志模板。从而,第一通信设备可将预测日志模板的标识和单词添加到日志模板库中,使得预测日志模板作为日志模板库中的一个新的日志模板,可实现对日志模板库的更新,有利于后续从日志模板库中快速且准确地确定出日志记录的日志模板。
155.可见,第一通信设备可将预测日志模板标记为日志模板库中的预测日志模板的标识,使得该条日志记录的日志模板可采用日志模板库中的预测日志模板的标识进行表示和存储,方便快速识别出该条日志记录的事件类型。
156.其中,预测日志模板的标识与日志模板库中的任意一个日志模板的标识不同,可确保日志模板库中的每一个日志模板的标识能够唯一标识一个事件类型。
157.并且,第一通信设备可从该条日志记录中提取除预测日志模板的单词之外的其余单词,并将前述的其余单词存储在一个单词集合中,使得该条日志记录的变量部分可采用前述单词集合进行表示和存储,方便快速识别出该条日志记录记录的事件的实时信息。
158.综上,第一通信设备可将该条日志记录存储为预测日志模板的标识以及上述单词集合的形式。
159.例如,一条日志记录l1可表示为如下内容:
160.jul 10 19:03:03 info interface te-1/1/50,changed state to down.
161.该条日志记录l1中,预测日志模板的单词包括:interface*,changed state to down,变量部分的单词包括:te-1/1/50。
162.在预测日志模板可标记为一个标识t1,一个单词集合包括(te-1/1/50)时,第一通信设备可将该条日志记录l1存储为:(t1,(te-1/1/50))的形式。
163.基于上述描述,针对实时日志中的每一条日志记录而言,第一通信设备可采用一个标识和一个单词集合的形式对实时日志中的每一条日志记进行表示和存储。
164.例如,在一条日志记录li中,预测日志模板的标识为ti,单词类别为变量单词的单词集合为(e1,e2,

,em)。那么,本技术中,该条日志记录li可存储为(ti,(e1,e2,

,em))
的形式。其中,i为取遍大于等于1且小于等于n的正整数,m为正整数。
165.综上,在运维系统中,可将每一条日志记录以一个标识和一个单词集合的形式进行表示和存储。从而,借助同一个标识表示相同事件类型的一条或多条日志记录,与此同时,将每一个标识对应的日志模板的标识和单词进行存储,减少了多条日志记录中相同内容所占用的存储空间,实现了海量的日志在运维系统中的压缩存储,节省了运维系统的存储空间,还方便回溯数据中心中基础设施的运行状态。
166.并且,基于单条日志记录,通过人工总结或自动挖掘的方式,可确定出数据中心出现异常的基础设施与该条日志记录的变量部分之间的关联关系。基于多条日志记录,通过人工总结或自动挖掘的方式,还可确定出数据中心中出现异常的基础设施与异常发生之前、过程中以及之后的多条日志记录各自的日志模板之间的关联关系。
167.借助上述关联关系,可确定出数据中心出现各种异常时所伴随的规律,如日志记录以某种固定的顺序出现等,有助于在数据中心中的基础设施出现异常时,通过查找单条或多条日志记录,能够迅速提示、及时反映、快速修复以及提前预警。
168.本技术提供的日志处理方法,通过获取实时日志中的一条日志记录,确定该条日志记录中的每一个单词的单词类别,基于该条日志记录中的每一个单词的单词类别,从该条日志记录中提取单词类别为模板单词的全部单词作为预测日志模板,对预测日志模板与日志模板库中的每一个日志模板进行匹配。基于匹配结果,将该条日志记录存储为一个标识以及一个单词集合的形式,其中,该标识用于表示该条日志记录的日志模板,该单词集合用于存储该条日志记录的变量部分。
169.从而,将相同事件类型的全部日志记录各自的日志模板用同一个标识替代,同时借助日志模板库中存储的该日志模板的标识和单词,减少了相同内容占用的存储空间,达到了压缩存储空间的目的,方便回溯数据中心中基础设施的运行状态,还有助于检测数据中心中基础设施的异常/故障。
170.另外,在在线解析的过程中,基于实时日志中的日志记录,还可对日志模板库进行更新,丰富了日志模板库中的日志模板的种类,还可为后续快速匹配日志记录的日志模板与日志记录库中的日志模板,提供了充足的日志模板来源。
171.基于上述描述,第一通信设备可从第二通信设备接收日志模板库,也可从第二通信设备中获取日志模板库,使得第一通信设备能够事先存储日志模板库,有助于第一通信设备能够在线对实时日志中的每一条日志记录进行解析。
172.本技术中,第二通信设备可采用多种方式离线得到日志模板库。
173.下面,结合图3,对第二通信设备离线得到日志模板库的具体实现方式进行举例说明。
174.请参阅图3,图3示出了本技术一实施例提供的一种日志处理方法的流程示意图。
175.如图3所示,本技术提供的日志处理方法应用于运维系统/第二通信设备。为了便于说明,采用第二通信设备进行举例说明。本技术提供的日志处理方法可以包括:
176.s201、获取历史日志中的多条日志记录。
177.第二通信设备通过用户的下载指令或关键词搜索等方式,可从数据中心的日志库中获取历史日志中的多条日志记录。
178.s202、将多条日志记录划分为多组日志记录,每一组日志记录对应一个日志类别。
179.其中,任意一条日志记录的日志类别用于表示该条日志记录的事件类型,即该条日志记录的日志模板。
180.第二通信设备可采用多种方式,对多条日志记录进行日志类别的划分。
181.在一些实施例中,第二通信设备可使用语言模型(language model),对多条日志记录进行句子级向量化处理,得到每一条日志记录的句子特征向量。
182.其中,语言模型适用于自然语言处理(nlp)领域,语言模型可包括但不限于:预训练的语言表征模型(bidirectional encoder representation from transformers,bert),通用语义表示模型(embeddings from language model,elmo),roberta(robustly optimized bert approach)模型等。
183.其中,每一条日志记录的句子特征向量用于表示每一条日志记录的日志类别。
184.从而,第二通信设备可将每一条日志记录的句子特征向量输入到聚类模型,对多条日志记录进行聚类,可将日志标识相同的日志记录划分成一组日志记录,使得第二通信设备能够将多条日志记录划分为多组日志记录。
185.其中,聚类模型可采用如基于密度的聚类算法(density-based spatial clustering of applications with noise,dbscan)、基于欧式距离的聚类算法k-means、bi-karan’s聚类算法、optics聚类算法(ordering points to identify the clustering structure)等。
186.另外,基于上述描述,不同类型的运维系统皆可采用本技术的日志处理方法,将历史日志中的多条日志记录进行日志类别的划分,可实现多条日志记录的聚类。
187.下面,结合图4a-图4b,对多种类型的运维系统分别采用本技术的日志处理方法,对历史日志中的多条日志记录的聚类结果进行对比说明。
188.请参阅图4a-图4b,图4a-图4b示出了多种类型的运维系统分别采用本技术的日志处理方法对历史日志中的多条日志记录的聚类效果的对比示意图。
189.图4a-图4b中,横坐标代表多种类型的运维系统中的本技术的日志处理方法,纵坐标代表兰德指数(randindex)。
190.其中,兰德指数为聚类方法的评价指标,表示聚类结果,兰德指数的取值范围是[0,1],兰德指数的值越大意味着聚类结果与真实情况越吻合。
[0191]
多种类型的运维系统可包括:分布式文件系统(hadoop distributed file system,hdfs)、proxifier(即socks5客户端)、分布式系统的可靠协调系统zookeeper、bgl和hadoop。
[0192]
为了便于说明,图4a-图4b中,前述的多种类型的运维系统依次分别采用数字11、12、13、14和15进行举例示意。
[0193]
如图4a所示,每一种类型的运维系统中,采用本技术的日志处理方法对多条日志记录进行日志类别的划分所得到的聚类结果更接近于1。可见,本技术的日志处理方法对应的聚类结果很准确,且适用于各种类型的运维系统。
[0194]
另外,对比图4a和图4b,图4b中的历史日志是图4a中的历史日志的10%。可见,本技术的日志处理方法对应的聚类结果仍具备较高的准确率,且适用于各种类型的运维系统。
[0195]
综上,本技术对s202中的历史日志中的日志记录的具体数量不做限定。
[0196]
s203、确定每一组日志记录对应的日志模板的标识和单词,其中,不同组日志记录对应的日志模板的标识不同,同一组日志记录中的全部日志记录各自的日志模板的标识相同,每一组日志记录对应的日志模板的单词包括每一组日志记录中单词类别为模板单词的全部单词。
[0197]
基于s202提及的多组日志记录,第二通信设备可确定每一组日志记录对应的日志模板的标识和单词。
[0198]
其中,任意一组日志记录中的每一条日志记录的日志类别相同,即任意一组日志记录中的每一条日志记录的日志模板相同。
[0199]
可见,任意一组日志记录对应的日志模板的标识用于表示该组日志记录中的每一条日志记录的事件类型,即该组日志记录的事件类型。任意一组日志记录对应的日志模板的单词可包括该组日志记录中的每一条日志记录中单词类别为模板单词的全部单词,可用于表示事件的实时信息。
[0200]
针对每一组日志记录对应的日志模板的标识而言,第二通信设备可对每一组日志记录进行编号,使得不同组日志记录对应的日志模板的标识不同,相同组日志记录对应的日志模板的标识相同,可得到每一组日志记录对应的日志模板的标识。
[0201]
例如,假设多条日志记录可划分为5组日志记录。那么,5组日志记录对应的日志模板的标识可分别为1、2、3、4和5,或者,5组日志记录对应的日志模板的标识可分别为a、b、c、d和e,或者,5组日志记录对应的日志模板的标识可分别为t1、t2、t3、t4和t5。
[0202]
针对每一组日志记录对应的日志模板的单词而言,第二通信设备在每一组日志记录包含的全部日志记录中,可确定单词类别为模板单词的全部单词,并将单词类别为模板单词的全部单词确定为每一组日志记录对应的日志模板的单词。
[0203]
s204、将每一组日志记录对应的日志模板的标识和单词作为日志模板库。
[0204]
第二通信设备可将每一组日志记录对应的日志模板的标识和单词作为日志模板库。
[0205]
综上,第二通信设备可基于历史日志离线得到日志模板库,无需考虑效率和时间成本,且考虑到历史日志中的日志记录的数量庞大,使得日志模板库中的各个日志模板的准确率高。
[0206]
s203中,第二通信设备可采用多种方式确定每一组日志记录对应的日志模板的单词。
[0207]
下面,结合图5,对第二通信设备确定每一组日志记录对应的日志模板的单词的具体实现方式进行举例说明。
[0208]
请参阅图5,图5示出了本技术一实施例提供的一种日志处理方法的流程示意图。
[0209]
如图5所示,本技术提供的日志处理方法应用于运维系统/第二通信设备。为了便于说明,采用第二通信设备进行举例说明。本技术提供的日志处理方法可以包括:
[0210]
s301、针对每一组日志记录中的全部日志记录中的任意一个单词而言,确定单词在一组日志记录中的全部日志记录中的出现频率,并基于单词在一组日志记录中的全部日志记录中的出现频率,确定单词的单词类别。
[0211]
针对每一组日志记录中的全部日志记录中的任意一个单词而言,第二通信设备可确定该单词在该组日志记录中的全部日志记录中的出现频率。
[0212]
在单词的出现频率大于等于预设阈值时,第二通信设备可确定该单词的单词类别为模板单词。在单词的出现频率小于预设阈值时,第二通信设备可确定单词的单词类别为变量单词。其中,本技术对预设阈值的具体数值不做限定。
[0213]
s302、确定每一组日志记录中的全部日志记录中的每一个单词的单词类别。
[0214]
基于s301的描述,第二通信设备可确定每一组日志记录中的全部日志记录中的每一个单词的单词类别。
[0215]
s303、基于每一组日志记录中的全部日志记录中的每一个单词的单词类别,确定每一组日志记录对应的日志模板的单词包括每一组日志记录中的全部日志记录中单词类别为模板单词的全部单词。
[0216]
第二通信设备基于每一组日志记录中的全部日志记录中的每一个单词的单词类别,可从每一组日志记录中的全部日志记录中提取单词类别为模板单词的全部单词,并可确定每一组日志记录对应的日志模板的单词包括每一组日志记录中的全部日志记录中单词类别为模板单词的全部单词。
[0217]
需要说明的是,除了上述方式之外,第二通信设备可采用其余方式离线得到日志模板库。
[0218]
在一些实施例中,第二通信设备可执行如下步骤:
[0219]
步骤11、获取历史日志。
[0220]
步骤12、计算历史日志中的任意两条日志记录之间的相似度。
[0221]
针对历史日志中的任意两条日志记录而言,第二通信设备可利用分词方法,对这两条日志记录进行分词,去除这两条日志记录中单词类别为变量单词的全部单词,计算这两条日志记录中其余单词之间的重叠比例,得到这两条日志记录之间的相似度。
[0222]
步骤13、基于计算出的相似度,将历史日志中的多条日志记录进行分组。
[0223]
针对历史日志中的任意一条日志记录而言,第二通信设备可从该条日志记录分别与其余条日志记录之间的相似度中,确定最大的相似度。在最大的相似度高于相似度阈值时,第二通信设备可确定该条日志记录与最大的相似度对应的那一条日志记录归为同一组。在最大的相似度低于相似度阈值时,第二通信设备可确定该条日志记录单独归为同一组。
[0224]
步骤14、基于历史日志的分组结果,提取每一组日志记录对应的日志模板。
[0225]
针对任意一组日志记录而言,第二通信设备可将单词的数量最多的日志记录作为参考日志记录,判断参考日志记录中的每一个单词的单词类别是否为模板单词。针对任意一个单词而言,在该单词的单词类别为模板单词,且该单词存在于同一组日志记录包括的其他日志记录中时,第二通信设备可确定该单词是日志模板的单词。否则,第二通信设备可确定该单词不是日志模板的单词。
[0226]
步骤15、将每一组日志记录对应的日志模板作为日志模板库。
[0227]
综上,第二通信设备可基于历史日志离线得到日志模板库,无需考虑效率和时间成本,且考虑到历史日志中的日志记录的数量庞大,使得日志模板库中的各个日志模板的准确率高。
[0228]
在另一些实施例中,第二通信设备可执行如下步骤:
[0229]
步骤21、获取历史日志。
[0230]
步骤22、对历史日志中的每一条日志记录进行预处理,如删除指定字符。
[0231]
步骤23、基于处理后的每一条日志记录,将历史日志中的多条日志记录进行分组。
[0232]
在处理后的任意一条日志记录中,第二通信设备可从第一指定位置开始,将连续m个非空词条进行拼接,得到第一字符签名,m为正整数。第二通信设备基于第一字符签名的第一哈希码,可确定该条日志记录的第一数字签名。由此,第二通信设备可得到每一条日志记录的第一数字签名。
[0233]
第二通信设备可基于每一条日志记录的第一数字签名,对历史日志中的每一条日志记录进行分组,得到至少一组日志记录。其中,每一组日志记录包含的所有日志记录对应的第一数字签名相同。
[0234]
步骤24、提取每一组日志记录对应的日志模板。
[0235]
针对任意一组日志记录中的任意一条日志记录而言,第二通信设备可基于该条日志记录和该组日志记录的历史日志模板,生成备选日志模板,判断该条日志记录是否与备选日志模板匹配。若匹配,则第二通信设备可确定备选日志模板为该条日志记录的日志模板。若不匹配,则第二通信设备可将该条日志记录对应的日志模板添加为新的日志模板。
[0236]
步骤25、将每一组日志记录对应的日志模板作为日志模板库。
[0237]
综上,第二通信设备可基于历史日志离线得到日志模板库,无需考虑效率和时间成本,且考虑到历史日志中的日志记录的数量庞大,使得日志模板库中的各个日志模板的准确率高。
[0238]
基于上述描述,第一通信设备可从第二通信设备获取日志模板库。
[0239]
s102中,在一些实施例中,第一通信设备可使用语言模型(language model),对实时日志中的一条日志记录进行单词级向量化处理,得到该条日志记录的单词特征向量。
[0240]
其中,语言模型的具体实现方式可参见前文描述,此处不做赘述。
[0241]
其中,该条日志记录的单词特征向量用于表示该条日志记录中的每一单词的单词类别。
[0242]
从而,第一通信设备可将该条日志记录和该条日志记录的单词特征向量输入到单词识别模型中,对日志记录中的每一个单词进行识别,得到日志记录中的每一个单词的单词类别。其中,单词识别模型用于确定单词的单词类别。
[0243]
其中,单词识别模型的具体实现方式可参见前文描述,此处不做赘述。
[0244]
基于上述描述,第一通信设备可从第二通信设备接收单词识别模型,也可从第二通信设备中获取单词识别模型,使得第一通信设备能够事先存储单词识别模型,有助于第一通信设备能够在线对实时日志中的每一条日志记录进行解析。
[0245]
本技术中,第二通信设备可采用多种方式离线获取单词识别模型。
[0246]
在一些实施例中,第二通信设备可使用语言模型(language model),对历史日志中的多条日志记录进行单词级向量化处理,得到每一条日志记录的单词特征向量。
[0247]
其中,语言模型的具体实现方式可参见前文描述,此处不做赘述。
[0248]
其中,每一条日志记录的单词特征向量用于表示每一条日志记录中的每一单词的单词类别。
[0249]
从而,第二通信设备可将每一条日志记录的单词特征向量以及每一条日志记录中的每一个单词的单词类别输入到原始识别模型中,对原始识别模型进行训练,得到单词识
别模型。
[0250]
其中,本技术对原始识别模型的具体实现方式不做限定。
[0251]
其中,每一条日志记录中的每一个单词的单词类别可通过图5所示的s301实施例的描述进行确定,此处不做赘述。
[0252]
示例性地,本技术提供一种日志记录装置,包括:执行前文实施例中的日志记录方法的至少一个模块。
[0253]
示例性地,本技术提供一种运维系统,包括:至少一个通信设备;至少一个通信设备执行前文实施例中的日志记录方法。
[0254]
示例性地,本技术提供一种通信设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得通信设备执行前文实施例中的日志处理方法。
[0255]
示例性地,本技术提供一种芯片系统,芯片系统应用于包括存储器和传感器的通信设备;芯片系统包括:处理器;当处理器执行存储器中存储的计算机指令时,通信设备执行前文实施例中的日志记录方法。
[0256]
示例性地,本技术提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得通信设备执行时实现前文实施例中的日志处理方法。
[0257]
示例性地,本技术提供一种计算机程序产品,包括:执行指令,执行指令存储在可读存储介质中,通信设备的至少一个处理器可以从可读存储介质读取执行指令,至少一个处理器执行执行指令使得通信设备实现前文实施例中的日志处理方法。
[0258]
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0259]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。

技术特征:
1.一种日志处理方法,其特征在于,包括:获取实时日志中的一条日志记录;确定所述日志记录中的每一个单词的单词类别,其中,单词类别包括模板单词和变量单词;基于所述日志记录中的每一个单词的单词类别,得到预测日志模板,其中,所述预测日志模板的单词包括所述日志记录中单词类别为模板单词的全部单词;对所述预测日志模板与日志模板库中的每一个日志模板进行匹配,其中,所述日志模板库中至少存储有一个日志模板的标识和单词,且所述日志模板库中的不同日志模板的标识不同;基于匹配结果,将所述日志记录存储为一个标识以及一个单词集合的形式,其中,所述标识用于表示所述日志记录的日志模板,所述单词集合用于存储所述日志记录的变量部分。2.根据权利要求1所述的方法,其特征在于,基于匹配结果,将所述日志记录存储为一个标识以及一个单词集合的形式,包括:在所述匹配结果用于表示所述预测日志模板与所述日志模板库中的一个日志模板匹配时,确定所述标识为所述一个日志模板的标识,确定所述单词集合包括所述日志记录中除所述一个日志模板的单词之外的其余单词;在所述匹配结果用于表示所述预测日志模板与所述日志模板库中的全部日志模板皆不匹配时,确定所述标识为所述预测日志模板的标识,确定所述单词集合包括所述日志记录中除所述预测日志模板的单词之外的其余单词,并将所述预测日志模板的标识和单词添加到所述日志模板库中,所述预测日志模板的标识与所述日志模板库中的任意一个日志模板的标识不同,以更新所述日志模板库。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述日志模板库。4.根据权利要求3所述的方法,其特征在于,确定所述日志模板库,包括:获取历史日志中的多条日志记录;将所述多条日志记录划分为多组日志记录,每一组日志记录对应一个日志类别;确定每一组日志记录对应的日志模板的标识和单词,其中,不同组日志记录对应的日志模板的标识不同,同一组日志记录中的全部日志记录各自的日志模板的标识相同,每一组日志记录对应的日志模板的单词包括每一组日志记录中单词类别为模板单词的全部单词;将每一组日志记录对应的日志模板的标识和单词作为所述日志模板库。5.根据权利要求4所述的方法,其特征在于,所述将所述多条日志记录划分为多组日志记录,包括:对所述多条日志记录进行句子级向量化处理,得到每一条日志记录的句子特征向量;基于每一条日志记录的句子特征向量,对所述多条日志记录进行聚类,得到所述多条日志记录包括的全部日志类别;基于所述多条日志记录包括的全部日志类别,将所述多条日志记录划分为多组日志记录。
6.根据权利要求4所述的方法,其特征在于,所述确定每一组日志记录对应的日志模板的单词,包括:针对每一组日志记录中的全部日志记录中的任意一个单词而言,确定所述单词在所述一组日志记录中的全部日志记录中的出现频率,并基于所述单词在所述一组日志记录中的全部日志记录中的出现频率,确定所述单词的单词类别;确定每一组日志记录中的全部日志记录中的每一个单词的单词类别;基于每一组日志记录中的全部日志记录中的每一个单词的单词类别,确定每一组日志记录对应的日志模板的单词包括每一组日志记录中的全部日志记录中单词类别为模板单词的全部单词。7.根据权利要求6所述的方法,其特征在于,基于所述单词在所述一组日志记录中的全部日志记录中的出现频率,确定所述单词的单词类别,包括:在所述单词的出现频率大于等于预设阈值时,确定所述单词的单词类别为模板单词;在所述单词的出现频率小于预设阈值时,确定所述单词的单词类别为变量单词。8.根据权利要求1-7任一项所述的方法,其特征在于,所述确定所述日志记录中的每一个单词的单词类别,包括:对所述日志记录进行单词级向量化处理,得到所述日志记录的单词特征向量;将所述日志记录和所述日志记录的单词特征向量输入到单词识别模型中,对所述日志记录中的每一个单词进行识别,得到所述日志记录中的每一个单词的单词类别,其中,所述单词识别模型用于确定单词的单词类别为模板单词或变量单词。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:获取所述单词识别模型。10.根据权利要求9所述的方法,其特征在于,确定所述单词识别模型,包括:对历史日志中的多条日志记录进行单词级向量化处理,得到每一条日志记录的单词特征向量;将每一条日志记录的单词特征向量以及每一条日志记录中的每一个单词的单词类别输入到原始识别模型中,对所述原始识别模型进行训练,得到所述单词识别模型。11.一种通信设备,其特征在于,包括:存储器和处理器;所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令使得所述通信设备执行权利要求1-10任一项所述的日志处理方法。12.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在通信设备上运行时,使得所述通信设备执行如权利要求1-10任一项所述的日志处理方法。13.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-10任一项所述的日志处理方法。

技术总结
本申请提供一种日志处理方法和通信设备。该方法包括:获取实时日志中的一条日志记录;确定日志记录中的每一个单词的单词类别;基于日志记录中的每一个单词的单词类别,得到预测日志模板;对预测日志模板与日志模板库中的每一个日志模板进行匹配;基于匹配结果,将日志记录存储为一个标识以及一个单词集合的形式,其中,标识用于表示日志记录的日志模板,单词集合用于存储日志记录的变量部分。从而,能够准确且快速地对实时日志中的每一条日志记录进行在线解析,实现过程方便、快捷且具有普遍适用性,不仅达到了节省存储空间的目的,还方便对日志进行异常检测。便对日志进行异常检测。便对日志进行异常检测。


技术研发人员:陶仕敏 陈一萌 杨浩 孟伟彬
受保护的技术使用者:华为技术有限公司
技术研发日:2021.12.25
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐