【技术实现步骤摘要】
日志压缩、日志还原方法、装置、计算机设备和存储介质
[0001]本申请涉及计算机
,特别是涉及一种日志压缩、日志还原方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
[0002]随着计算机技术的发展,出现了日志,日志是用于记录系统或应用操作事件的文件,对于处理历史数据、定位问题以及理解系统的活动等具有重要作用。
[0003]传统技术中,通常是直接将原始日志进行存储或传输。然而日志的数量通常是比较庞大的,目前的日志处理方式日志压缩率较低,会增加存储压力和传输压力。
技术实现思路
[0004]基于此,有必要针对上述技术问题,提供一种能够提高日志压缩率的日志压缩、日志还原方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]本申请提供了一种日志压缩方法。所述方法包括:
[0006]获取目标日志;
[0007]将所述目标日志对应的日志字符串排列信息和候选日志模板对应的模板字符串排列信息进行匹配,将匹配成功的候选日志模板作为初始日志模板;
[0008]从所述目标日志的各个日志字符串中,将与所述初始日志模板中的变量类模板字符串匹配的日志字符串作为第一初始字符串,将与所述初始日志模板中的常量类模板字符串匹配的日志字符串作为第二初始字符串;
[0009]获取各个第一初始字符串分别对应的第一编码数据;
[0010]基于所述初始日志模板对应的模板标识、各个第一编码数据、所述目标日志中第一初始字符串和第二初始字符串之间的第一位置关 ...
【技术保护点】
【技术特征摘要】
1.一种日志压缩方法,其特征在于,所述方法包括:获取目标日志;将所述目标日志对应的日志字符串排列信息和候选日志模板对应的模板字符串排列信息进行匹配,将匹配成功的候选日志模板作为初始日志模板;从所述目标日志的各个日志字符串中,将与所述初始日志模板中的变量类模板字符串匹配的日志字符串作为第一初始字符串,将与所述初始日志模板中的常量类模板字符串匹配的日志字符串作为第二初始字符串;获取各个第一初始字符串分别对应的第一编码数据;基于所述初始日志模板对应的模板标识、各个第一编码数据、所述目标日志中第一初始字符串和第二初始字符串之间的第一位置关系,生成所述目标日志对应的日志压缩数据。2.根据权利要求1所述的方法,其特征在于,所述将所述目标日志对应的日志字符串排列信息和候选日志模板对应的模板字符串排列信息进行匹配,将匹配成功的候选日志模板作为初始日志模板,包括:当所述目标日志包含候选日志模板中的各个常量类模板字符串、且常量类模板字符串在所述目标日志和候选日志模板中的出现顺序一致、且所述目标日志中存在与变量类模板字符串匹配的日志字符串时,确定所述目标日志和候选日志模板匹配成功。3.根据权利要求1所述的方法,其特征在于,所述获取各个第一初始字符串分别对应的第一编码数据,包括:获取动态字典;所述动态字典包括候选字符串和候选字符串对应的候选编码数据,所述候选字符串对应的目标词频信息大于预设词频信息,所述候选编码数据的数据量小于对应的候选字符串的数据量,所述动态字典中的候选字符串数量是动态更新的;在所述动态字典中,查询各个第一初始字符串分别对应的编码数据;基于动态字典中与第一初始字符串匹配的候选字符串所对应的候选编码数据,得到查询成功的各个第一初始字符串分别对应的第一编码数据,将查询失败的各个第一初始字符串作为查询失败的各个第一初始字符串分别对应的第一编码数据。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在每次获取日志时,确定当前日志对应的各个当前字符串;在所述动态字典中已存在当前字符串的情况下,基于当前日志,更新当前字符串在所述动态字典中的词频信息;在所述动态字典中不存在当前字符串的情况下,基于当前日志更新当前字符串对应的历史词频信息,得到当前字符串对应的目标词频信息,在当前字符串对应的目标词频信息大于预设词频信息时,生成当前字符串对应的编码数据,在所述动态字典中添加当前字符串和对应的编码数据、目标词频信息。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述目标日志对应的日志字符串数量分别和各个初始日志模板对应的模板字符串数量进行匹配,将匹配成功的初始日志模板作为中间日志模板;从所述目标日志的各个日志字符串中,将与所述中间日志模板中的变量类模板字符串匹配的日志字符串作为第一中间字符串,将与所述中间日志模板中的常量类模板字符串匹
配的日志字符串作为第二中间字符串;获取各个第一中间字符串分别对应的第二编码数据;基于所述中间日志模板对应的模板标识、各个第二编码数据、所述目标日志中第一中间字符串和第二中间字符串之间的第二位置关系,生成所述目标日志对应的日志压缩数据。6.根据权利要求5所述的方法,其特征在于,所述将所述目标日志对应的日志字符串数量分别和各个初始日志模板对应的模板字符串数量进行匹配,将匹配成功的初始日志模板作为中间日志模板,包括:将所述日志字符串数量和模板匹配阈值进行融合,得到所述目标日志对应的第一融合数据;当初始日志模板对应的模板字符串数量大于或等于所述第一融合数据时,确定所述目标日志和初始日志模板匹配成功,将匹配成功的初始日志模板作为所述中间日志模板;当初始日志模板对应的模板字符串数量小于所述第一融合数据时,确定所述目标日志和初始日志模板匹配失败。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述目标日志和所述候选日志模板匹配失败或所述目标日志和所述初始日志模板匹配失败时,将所述目标日志中各个日志字符串分为变量类日志字符串和常量类日志字符串,基于所述变量类日志字符串和所述常量类日志字符串,生成所述目标日志对应的目标日志模板;所述变量类日志字符串对应的目标词频信息小于所述常量类日志字符串对应的目标词频信息;获取属于变量类日志字符串的各个日志字符串分别对应的第三编码数据;基于所述目标日志模板对应的模板标识、各个第三编码数据、所述目标日志中所述变量类日志字符串和所述常量类日志字符串之间的第三位置关系,生成所述目标日志对应的日志压缩数据。8.根据权利要求7所述的方法,其特征在于,所述基于所述变量类日志字符串和所述常量类日志字符串,生成所述目标日志对应的目标日志模板,包括:将所述日志字符串数量和模板生成阈值进行融合,得到所述目标日志对应的第二融合数据;对所述目标日志中的变量类日志字符串和常量类日志字符串进行数量统计,得到所述目标日志对应的参考字符串数量;其中,当所述目标日志中相邻常量类日志字符串之间存在变量类日志字符串时,相邻常量类日志字符串之间的变量类日志字符串的数量统计为预设数量,当所述目标日志中起始常量类日志字符串之前或结尾常量类日志字符串之后存在变量类日志字符串时,起始常量类日志字符串之前或结尾常量类日志字符串之后的变量类日志字符串的数量统计为预设数量;当所述参考字符串数量大于或等于所述第二融合数据时,基于所述变量类日志字符串和所述常量类日志字符串,生成所述目标日志模板;所述目标日志模板对应的模板字符串数量为所述参考字符串数量;当所述参考字符串数量小于所述第二融合数据时,基于所述目标日志中各个日志字符串分别对应的编码数据,得到所述目标日志对应的日志压缩数据。
9.根据权利要求8所述的...
【专利技术属性】
技术研发人员:李春花,谢青,蔡宝清,周可,毕杰山,姜国强,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。