本发明涉及日志管理,特别是涉及一种日志压缩方法、装置、设备及介质。
背景技术:
1、linux系统的日志功能强大且灵活,它将系统内核和关键程序产生的错误信息、警告和其他提示信息记录在日志文件中。这些日志对于系统审计、监测追踪和分析统计至关重要,有助于管理员了解系统的运行状态。
2、然而,linux日志的处理也存在一些挑战。首先,日志文件通常以文本形式存储,随着系统运行时间的增加,日志文件会变得越来越大,这给查找关键信息带来了困难。其次,由于系统和应用程序内部的函数调用关系,当某个底层问题发生时,可能会产生大量的重复日志信息,进一步增加了分析的复杂性。对于用户来说,认真读取和分析日志文件是确保系统正常运行和及时解决问题的关键任务,但是受制于linux日志包含的大量重复日志,增加了用户查找日志中关键信息的难度。
3、鉴于上述问题,如何解决当前linux日志中包含大量重复日志,不利于用户查找日志中关键信息,是该领域技术人员亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种日志压缩方法、装置、设备及介质,以解决当前linux日志中包含大量重复日志,不利于用户查找日志中关键信息的问题。
2、为解决上述技术问题,本发明提供一种日志压缩方法,包括:
3、获取目标日志,并提取所述目标日志中出现多次的目标重复单条日志;
4、根据所述目标重复单条日志在所述目标日志中的位置,判断所述目标重复单条日志之后的各单条日志中是否存在多个相同的所述单条日志;
5、若存在多个相同的所述单条日志,则确认所述目标重复单条日志和多个相同的所述单条日志构成一个重复日志段落;
6、获取所述重复日志段落的首行日志在所述目标日志中出现的重复行数;
7、根据所述重复行数将所述目标日志中的所述重复日志段落进行标记替换,以得到压缩后的所述目标日志。
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、此外,本发明还提供了一种日志压缩装置、设备及介质,效果同上。
1.一种日志压缩方法,其特征在于,包括:
2.根据权利要求1所述的日志压缩方法,其特征在于,在所述提取所述目标日志中出现多次的目标重复单条日志之前,还包括:
3.根据权利要求2所述的日志压缩方法,其特征在于,所述根据所述目标重复单条日志在所述目标日志中的位置,判断所述目标重复单条日志之后的各单条日志中是否存在多个相同的所述单条日志,包括:
4.根据权利要求3所述的日志压缩方法,其特征在于,所述确认所述目标重复单条日志和多个相同的所述单条日志构成一个重复日志段落,包括:
5.根据权利要求4所述的日志压缩方法,其特征在于,在所述获取所述重复日志段落的首行日志在所述目标日志中出现的重复行数之前,在所述确认所述目标重复单条日志和多个相同的所述单条日志构成一个重复日志段落之后,还包括:
6.根据权利要求4或5所述的日志压缩方法,其特征在于,在所述确认所述目标重复单条日志和多个相同的所述单条日志构成一个重复日志段落之后,还包括:
7.根据权利要求5所述的日志压缩方法,其特征在于,在所述基于所述目标日志,获取预设数量的重复单条日志之后,还包括:
8.一种日志压缩装置,其特征在于,包括:
9.一种日志压缩设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的日志压缩方法的步骤。