本发明专利技术涉及一种日志压缩方法及装置,其中方法包括以下步骤:获取包含日志记录的文件;根据日志记录输出优先级遍历所述文件,分别以唯一的编号替代所述文件中每一所述日志记录的字符串,得到已替代日志记录;对所述已替代日志记录进行共时段日志共时间戳编码处理,得到压缩后的日志。本发明专利技术利用日志记录输出优先级遍历所有包含日志记录的文件,分别以唯一的编号替代文件中各条日志记录的字符串,从而减少了字符串所占的字节数,提升了日志的压缩比,同时对字符串替代后的日志记录进行共时段日志共时间戳编码处理,有效降低了日志记录的时间戳信息在日志内容中的比重,进一步提高了日志压缩比和压缩效率。
【技术实现步骤摘要】
本专利技术涉及数据压缩
,特别是涉及一种日志压缩方法及装置。
技术介绍
日志功能是无线通信系统的一项重要功能,在运营商的设备中,由于不能实时观察系统运行信息,当出现用户投诉时,追溯用户投诉的问题原因时只能通过所存储的系统日志来分析解决,因此日志对于系统问题的分析和定位起着至关重要的作用。同时,基于产品成本的考虑,无线通信系统的存储介质空间通常受到严格的限制,因而无法存储大量的系统日志,这给系统问题的分析和定位带来了巨大的挑战,因此,如何进一步提高日志压缩效果,对于在有限的存储介质空间上提升存储的系统日志内容具有重要意义。目前,在日志压缩方面,存在着多种压缩方法,但这些压缩方法仍存在压缩比较低、压缩效果不够理想的问题。
技术实现思路
基于此,有必要针对目前日志压缩比较低、压缩效果不够理想的问题,提供一种日志压缩方法及装置,本专利技术所提出的日志压缩方法及装置通过对日志内容进行智能压缩处理,改善了日志的压缩效率,提升了日志的压缩比。本专利技术采取如下的技术方案:一种日志压缩方法,所述方法包括以下步骤:获取包含日志记录的文件;根据日志记录输出优先级遍历所述文件,分别以唯一的编号替代所述文件中每一所述日志记录的字符串,得到已替代日志记录;对所述已替代日志记录进行共时段日志共时间戳编码处理,得到压缩后的日志。相应地,本专利技术还提出一种日志压缩装置,所述装置包括:获取模块,用于获取包含日志记录的文件;替代模块,用于根据日志记录输出优先级遍历所述文件,分别以唯一的编号替代所述文件中每一所述日志记录的字符串,得到已替代日志记录;编码模块,用于对所述已替代日志记录进行共时段日志共时间戳编码处理,得到压缩后的日志。上述日志压缩方法及装置利用日志记录输出优先级遍历所有包含日志记录的文件,分别以唯一的编号替代文件中每一所述日志记录的字符串,从而缩短日志记录中字符串的长度,减少了字符串所占的字节数,提升了日志的压缩比,同时对字符串替代后的日志记录即已替代日志记录进行共时段日志共时间戳编码处理,即对于共时间段的日志记录,只保留第一条日志记录的时间信息,其他共时间段共时间戳的日志记录的时间信息均采用某一字符替代,因此共时段日志共时间戳编码处理有效降低了时间信息相同的日志记录的时间戳开销,降低了日志记录的时间戳信息在日志内容中的比重,从而进一步提高了日志压缩比和压缩效率。附图说明图1为本专利技术其中一个实施例中日志压缩方法的流程示意图;图2为本专利技术其中一个实施例中日志压缩装置的结构示意图。具体实施方式下面将结合附图及较佳实施例对本专利技术的技术方案进行详细描述。在其中一个实施例中,参见图1所示,一种日志压缩方法,该方法包括以下步骤:S100获取包含日志记录的文件。S200根据日志记录输出优先级遍历所述文件,分别以唯一的编号替代所述文件中每一所述日志记录的字符串,得到已替代日志记录。在本专利技术中,日志记录输出是指开发人员在源代码中插入需要输出系统中某些变量或过程状态的信息,例如…source code…LOG_DEBUG(MOD_AA,macId,\ueNum[%d],throughOutput[%u]MB.state is ideal!\\n\,ueNUm,totalthp);…source code…在步骤S200中,根据日志记录输出优先级遍历所有包含日志记录的文件,按照日志记录输出优先级顺序分别以唯一的编号替代文件中每一所述日志记录的字符串,得到已替代的日志记录,例如,以系统业务日志为例,业务日志输出的格式为“时间+表示日志记录中信息含义的字符串+动态变量的值”,假设字符串替代前的日志记录为:a:[2000-01-01 00:06:53:752]:ueNum[32],total throught[20]MB,state is ideal。其中“a”表示日志记录编号,“[2000-01-01 00:06:53:752]”表示日志记录的时间信息,“32”和“20”均表示动态变量的实时输出值,将上述日志记录中表示日志记录的字符串用唯一的编号进行替代,这里,在其中一种可选的实施方式中,以数值型编号替代日志记录中的字符串,并且根据日志记录的总条数确定数值型编号所占的字节数,优选地,数值型编号所占的字节数小于或者等于4个字节,以满足压缩时日志记录的总条数需求的同时,保证每条日志记录的压缩效果。用唯一的编号替代上述日志记录中表示日志记录的对应的字符串后,得到的已替代日志记录为:a@[2000-01-01 00:06:53:752]:10,32,20即利用数值型编号“10”替代表示日志记录的字符串“ueNum[],total throught[]MB,state is ideal。”显然地,数值型编号“10”所占的字节数远小于替代前表示日志记录的字符串的字节数,因此对表示日志记录的字符串进行替代能够显著地提高日志记录的压缩比。在上述的例子中,仅以数值型编号为例对如何以唯一的编号替代表示日志记录的对应的字符串进行了说明,实际上,以唯一的编号对相应的字符串进行替代,其目的主要是通过所占字节数较少的编号替代所占字节数较多的字符串以减少日志记录整体所占的字节数,并在恢复日志记录内容时,根据压缩时唯一的编号可以对压缩的日志记录进行解压恢复,因此在对表示日志记录的字符串进行替代以提高日志记录压缩比的过程中,用
于替代字符串的编号只要能够满足缩短字符串所占字节并能用于恢复日志记录即可,用于替代字符串的编号并不局限于数值型编号,其他编号如字母型编号、数字与字母相结合的编号或者其他类型的编号等也完全适用于本专利技术中对字符串的替代。当用于替代表示日志记录的字符串的编号为数值型编号时,在其中一个具体的实施方式中,可以根据字符串的输出频率的大小顺序确定字符串对应的数值型编号的取值,当字符串的输出频率越大时,数值型编号的取值越小,即本实施方式可以按照字符串的输出频率从大至小的顺序确定对应的数值型编号从小至大的取值,即对于输出频率较大的字符串,利用取值较小的数值型编号予以替代,由于取值较小的数值型编号所占的字节数相应较小,而且数值型编号较小的日志记录在日志解压恢复的过程中所需遍历的次数少,因此按照字符串的输出频率从大至小的顺序确定对应的数值型编号从小至大的取值不仅有利于提高日志记录的压缩效果,而且同时有利于提高日志解压恢复的速度。由于本实施例的日志压缩方法是根据日志记录输出优先级遍历所有包含日志记录的文件并分别以唯一的编号对文件中每一所述日志记录的字符串进行替代的,因此在解压恢复原日志记录时,根据日志记录输出优先级进行解压恢复即可,减小了遍历所有文件中的日志记录的次数,有利于提高解压恢复日志记录的速度和效率。其中,对于日志记录输出优先级的设定可以有多种方法,例如根据日志记录输出的频繁度或者重要程度等设定日志记录输出的优先级等,这里作为其中一种具体的实施方式,根据日志记录的信息重要等级设定步骤S200中的日志记录输出优先级,当日志记录的信息重要等级越高时,日志记录对应的日志记录输出优先级越高。系统的日志记录能够反映出系统发生的事件的信息,由于发生的事件的重要程度不同,因此记录时间的日记记录所对应的信息重要程度也不尽相同,本实施方式以日志记录的信息重要等级为依据,对日志记录本文档来自技高网...
【技术保护点】
一种日志压缩方法,其特征在于,包括以下步骤:获取包含日志记录的文件;根据日志记录输出优先级遍历所述文件,分别以唯一的编号替代所述文件中每一所述日志记录的字符串,得到已替代日志记录;对所述已替代日志记录进行共时段日志共时间戳编码处理,得到压缩后的日志。
【技术特征摘要】
1.一种日志压缩方法,其特征在于,包括以下步骤:获取包含日志记录的文件;根据日志记录输出优先级遍历所述文件,分别以唯一的编号替代所述文件中每一所述日志记录的字符串,得到已替代日志记录;对所述已替代日志记录进行共时段日志共时间戳编码处理,得到压缩后的日志。2.根据权利要求1所述的日志压缩方法,其特征在于,还包括:根据所述日志记录的信息重要等级设定所述日志记录输出优先级;当所述日志记录的所述信息重要等级越高时,所述日志记录对应的日志记录输出优先级越高。3.根据权利要求1或2所述的日志压缩方法,其特征在于,得到已替代日志记录步骤之后、对所述已替代日志记录进行共时段日志共时间戳编码处理步骤之前还包括以下步骤:将被所述编号替代的所述字符串保存至用于恢复原日志记录的映射文件中。4.根据权利要求1或2所述的日志压缩方法,其特征在于,对所述已替代日志记录进行共时段日志共时间戳编码处理的过程包括:判断当前已替代日志记录的时间信息是否与相邻的上一条已替代日志记录的时间信息相同,若是,则采用预设特殊字符替代所述当前已替代日志记录的时间信息来进行共时段日志共时间戳编码。5.根据权利要求1或2所述的日志压缩方法,其特征在于,所述编号为数值型编号,所述数...
【专利技术属性】
技术研发人员:孙诗元,李伟丹,刘永钦,罗远科,
申请(专利权)人:京信通信系统广州有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。