一种日志压缩加密方法、装置、设备及存储介质制造方法及图纸

技术编号:29464948 阅读:16 留言:0更新日期:2021-07-27 17:51
本发明专利技术公开了一种日志压缩加密方法,包括:获取原始日志的第一日志代码;将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。本发明专利技术还提供了一种日志压缩加密装置。采用本发明专利技术,可以提高压缩效率。

【技术实现步骤摘要】
一种日志压缩加密方法、装置、设备及存储介质
本专利技术涉及加密领域,特别是涉及一种日志压缩加密方法、装置、设备及存储介质。
技术介绍
日志通常用来记录运行状态,运行过程,用户操作埋点,错误信息等。开发人员可通过日志信息针对运行过程中出现的不良状态进行优化,以及利用日志进行业务功能相关分析。由于能够记录的内容太多,而要想记录所有则会导致完整的日志内容过于巨大,如果记录到本地,则过于占用存储空间,如果是上传到服务端,则过于占用网络,因此在编写的过程中,往往会有选择地将日志进行输出,一旦开发者需要查找相关信息,则有可能无法根据片面的日志进行现场还原。日志如果留存在客户端,假如不加密,则会比较容易被一些技术人员获得其中的关键信息,暴露业务细节,这往往会带来一些安全性问题。常用的加密手段有对称、非对称加密、SHA1加密等,常见的压缩方案有哈夫曼编码、算术编码等。常见的文件压缩方案是遍历整个日志文件,将日志文件中重复的片段提取,然后进行压缩。这种压缩方式会将压缩信息保存在压缩文件中,且文件压缩算法为了达到最终压缩效果,会综合考虑压缩后文本以及压缩信息的长度,而这种考虑往往无法达到极致的压缩。手机使用移动流量会消耗流量和电量,传输的内容越大,消耗的流量和电量就会越大,特别是在使用流量而非wifi的情况下,耗电量会比较明显,而在网络不好的场景下,传输的数据越大,转换成的包越多,传输也越容易失败,反之,传输的包越少,越容易成功。常规的压缩算法只包含压缩,压缩后内容与压缩信息共同存在客户端,在不进行额外加密的情况下,可以被任何人进行暴力恢复,且压缩方式只符合随机文本的特征,不符合日志文件特征,无法达到很好的压缩效率。
技术实现思路
为了解决上述问题,本专利技术的目的是提供一种日志压缩加密方法、装置、设备及存储介质,具有良好的压缩效率。基于此,本专利技术提供了一种日志压缩加密方法,所述方法包括:获取原始日志的第一日志代码;将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。其中,通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息还包括:读取第一常量日志代码中的hashMap;根据所述第一常量日志代码中的value来获取所述hashMap中的唯一的key,所述key为原始日志常量内容,并记录所述第一常量日志代码中的索引值;根据所述索引值获取所述变量日志代码中的原始日志变量内容;将所述原始日志常量内容与原始文件变量内容进行格式还原。其中,所述第一常量日志代码包括索引序号和value,所述变量日志代码包括索引序号和原始日志变量内容。其中,若所述key不存在所述hashmap中,根据预设value生成算法生成唯一的value,将所述value保存在hashMap中。其中,所述索引信息包括:索引序号、原始日志常量内容或原始日志变量内容。其中,所述方法还包括对第一日志代码进行调整,使其符合所述预设日志代码输出格式,所述预设日志代码输出格式为第一常量日志代码和变量日志代码按照顺序依次排列。其中,所述对第一日志代码进行调整包括:将所述第一日志代码进行代码语法分析,将第一日志代码转换为所述预设日志代码输出格式。本专利技术实施例还提供了一种日志压缩加密装置,包括:获取模块,用于获取原始日志的第一日志代码;划分索引模块,用于将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;映射模块,用于将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在开发者本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;重构模块,用于根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;替换模块,用于将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。本专利技术实施例还提供了一种日志压缩加密设备,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述日志压缩加密方法。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述日志压缩加密方法。采用本专利技术,可以具有如下有益效果:1、根据日志的特点,对日志进行划分成两个部分,常量部分和参数部分,常量和参数在日志中所占比例通常情况下常量部分更大,本专利技术对常量部分进行更优化的压缩,日志内容和大小不同,压缩效率不同。对压缩信息寻找算法进行优化,不再遍历整个生成的日志文件去寻找重复文本作为压缩信息,本专利技术认为所有的日志都可以拆分出常量,每个常量都认为是一种重复文本,即压缩信息。2、日志内容的压缩和压缩信息的去除可以减少本地存储空间消耗和网络传输耗时,一定程度上提高在弱网环境的稳定性。3、日志内容输出后直接就是加密且压缩之后的结果。4、映射关系密钥于开发阶段生成,且不存在于源码中,只被程序开发者知道,程序使用者无法得到密钥相关信息。5、日志压缩和加密以及日志压缩信息的去除都为前置进行,即在发版之前,日志代码就已经完成日志内容的压缩和加密,压缩信息已经去除,压缩后的内容不包含压缩关键信息,用户生成的每一条日志的常量部分都为压缩后日志,最终得到的常量日志文件也为压缩后日志文件,且不包含压缩关键信息。客户端不包含压缩关键信息,也就无法进行日志恢复,达到了日志加密效果。6、本专利技术不包含日志文件内容压缩,只对日志代码即日志输出内容的常量字符串模版部分进行压缩,可根据需要进行二次压缩。7、本专利技术在不采取额外压缩措施的情况下,后续进行压缩日志恢复的时候可以只读部分日志文件就能与密钥结合进行解析,而不用全量日志文件读取。8、本专利技术由于采用前置压缩,因此对于后台维护用户上传日志的时候,该部分日志内容可根据需要决定是否进行二次压缩,也可不再进行压缩。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的日志压缩加密方法的示意图本文档来自技高网
...

【技术保护点】
1.一种日志压缩加密方法,其特征在于,包括:/n获取原始日志的第一日志代码;/n将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;/n将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;/n根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;/n将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。/n

【技术特征摘要】
1.一种日志压缩加密方法,其特征在于,包括:
获取原始日志的第一日志代码;
将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;
将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;
根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;
将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。


2.如权利要求1所述的日志压缩加密方法,其特征在于,通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息还包括:
读取第一常量日志代码中的hashMap;
根据所述第一常量日志代码中的value来获取所述hashMap中的唯一的key,所述key为原始日志常量内容,并记录所述第一常量日志代码中的索引值;
根据所述索引值获取所述变量日志代码中的原始日志变量内容;
将所述原始日志常量内容与原始文件变量内容进行格式还原。


3.如权利要求2所述的日志压缩加密方法,其特征在于,所述第一常量日志代码包括索引序号和value,所述变量日志代码包括索引序号和原始日志变量内容。


4.如权利要求2所述的日志压缩加密方法,其特征在于,若所述key不存在所述hashmap中,根据预设value生成算法生成唯一的value,将所述value保存在hashMap中。


5.如权利要求1所述的日志压缩加密方法,其特征在于,所述索引信息包括:索引序号、原始日志常量内容或原...

【专利技术属性】
技术研发人员:谭升梁王晓斌
申请(专利权)人:湖南蚁坊软件股份有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1