CN113179265A - 一种日志压缩加密方法、装置、设备及存储介质 - Google Patents
一种日志压缩加密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113179265A CN113179265A CN202110454054.5A CN202110454054A CN113179265A CN 113179265 A CN113179265 A CN 113179265A CN 202110454054 A CN202110454054 A CN 202110454054A CN 113179265 A CN113179265 A CN 113179265A
- Authority
- CN
- China
- Prior art keywords
- log
- code
- constant
- log code
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006835 compression Effects 0.000 title claims abstract description 94
- 238000007906 compression Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 230000009467 reduction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 10
- 238000011423 initialization method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种日志压缩加密方法,包括:获取原始日志的第一日志代码;将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。本发明还提供了一种日志压缩加密装置。采用本发明,可以提高压缩效率。
Description
技术领域
本发明涉及加密领域,特别是涉及一种日志压缩加密方法、装置、设备及存储介质。
背景技术
日志通常用来记录运行状态,运行过程,用户操作埋点,错误信息等。开发人员可通过日志信息针对运行过程中出现的不良状态进行优化,以及利用日志进行业务功能相关分析。由于能够记录的内容太多,而要想记录所有则会导致完整的日志内容过于巨大,如果记录到本地,则过于占用存储空间,如果是上传到服务端,则过于占用网络,因此在编写的过程中,往往会有选择地将日志进行输出,一旦开发者需要查找相关信息,则有可能无法根据片面的日志进行现场还原。
日志如果留存在客户端,假如不加密,则会比较容易被一些技术人员获得其中的关键信息,暴露业务细节,这往往会带来一些安全性问题。常用的加密手段有对称、非对称加密、SHA1加密等,常见的压缩方案有哈夫曼编码、算术编码等。常见的文件压缩方案是遍历整个日志文件,将日志文件中重复的片段提取,然后进行压缩。这种压缩方式会将压缩信息保存在压缩文件中,且文件压缩算法为了达到最终压缩效果,会综合考虑压缩后文本以及压缩信息的长度,而这种考虑往往无法达到极致的压缩。
手机使用移动流量会消耗流量和电量,传输的内容越大,消耗的流量和电量就会越大,特别是在使用流量而非wifi的情况下,耗电量会比较明显,而在网络不好的场景下,传输的数据越大,转换成的包越多,传输也越容易失败,反之,传输的包越少,越容易成功。常规的压缩算法只包含压缩,压缩后内容与压缩信息共同存在客户端,在不进行额外加密的情况下,可以被任何人进行暴力恢复,且压缩方式只符合随机文本的特征,不符合日志文件特征,无法达到很好的压缩效率。
发明内容
为了解决上述问题,本发明的目的是提供一种日志压缩加密方法、装置、设备及存储介质,具有良好的压缩效率。
基于此,本发明提供了一种日志压缩加密方法,所述方法包括:
获取原始日志的第一日志代码;
将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;
将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;
根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;
将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。
其中,通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息还包括:
读取第一常量日志代码中的hashMap;
根据所述第一常量日志代码中的value来获取所述hashMap中的唯一的key,所述key为原始日志常量内容,并记录所述第一常量日志代码中的索引值;
根据所述索引值获取所述变量日志代码中的原始日志变量内容;
将所述原始日志常量内容与原始文件变量内容进行格式还原。
其中,所述第一常量日志代码包括索引序号和value,所述变量日志代码包括索引序号和原始日志变量内容。
其中,若所述key不存在所述hashmap中,根据预设value生成算法生成唯一的value,将所述value保存在hashMap中。
其中,所述索引信息包括:索引序号、原始日志常量内容或原始日志变量内容。
其中,所述方法还包括对第一日志代码进行调整,使其符合所述预设日志代码输出格式,所述预设日志代码输出格式为第一常量日志代码和变量日志代码按照顺序依次排列。
其中,所述对第一日志代码进行调整包括:将所述第一日志代码进行代码语法分析,将第一日志代码转换为所述预设日志代码输出格式。
本发明实施例还提供了一种日志压缩加密装置,包括:
获取模块,用于获取原始日志的第一日志代码;
划分索引模块,用于将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;
映射模块,用于将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在开发者本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;
重构模块,用于根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;
替换模块,用于将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。
本发明实施例还提供了一种日志压缩加密设备,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述日志压缩加密方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述日志压缩加密方法。
采用本发明,可以具有如下有益效果:
1、根据日志的特点,对日志进行划分成两个部分,常量部分和参数部分,常量和参数在日志中所占比例通常情况下常量部分更大,本发明对常量部分进行更优化的压缩,日志内容和大小不同,压缩效率不同。对压缩信息寻找算法进行优化,不再遍历整个生成的日志文件去寻找重复文本作为压缩信息,本发明认为所有的日志都可以拆分出常量,每个常量都认为是一种重复文本,即压缩信息。
2、日志内容的压缩和压缩信息的去除可以减少本地存储空间消耗和网络传输耗时,一定程度上提高在弱网环境的稳定性。
3、日志内容输出后直接就是加密且压缩之后的结果。
4、映射关系密钥于开发阶段生成,且不存在于源码中,只被程序开发者知道,程序使用者无法得到密钥相关信息。
5、日志压缩和加密以及日志压缩信息的去除都为前置进行,即在发版之前,日志代码就已经完成日志内容的压缩和加密,压缩信息已经去除,压缩后的内容不包含压缩关键信息,用户生成的每一条日志的常量部分都为压缩后日志,最终得到的常量日志文件也为压缩后日志文件,且不包含压缩关键信息。客户端不包含压缩关键信息,也就无法进行日志恢复,达到了日志加密效果。
6、本发明不包含日志文件内容压缩,只对日志代码即日志输出内容的常量字符串模版部分进行压缩,可根据需要进行二次压缩。
7、本发明在不采取额外压缩措施的情况下,后续进行压缩日志恢复的时候可以只读部分日志文件就能与密钥结合进行解析,而不用全量日志文件读取。
8、本发明由于采用前置压缩,因此对于后台维护用户上传日志的时候,该部分日志内容可根据需要决定是否进行二次压缩,也可不再进行压缩。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的日志压缩加密方法的示意图;
图2是本发明实施例提供的日志压缩加密装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的日志压缩加密方法的示意图,所述方法包括:
S101、获取原始日志的第一日志代码;
S102、将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;
第一日志代码包括若干个字符串,所有的字符串都可以拆分成两个部分,一个是可带参数的常量字符串模版部分即第一常量日志代码,一个是参数字符串部分即变量日志代码,若将变量日志代码放入带参常量字符串中并进行解析,即是原始日志。
参数部分即变量日志代码是可变的,可能和业务数据有关的。举例来讲,原始日志文本为“本次获取到的数据为:数据量1000”,则其中的参数为“数据量1000”,这个参数往往在每次输出都不一样,具有不确定性。
常量部分即第一常量日志代码是日志代码中的字符串,通常用于描述日志信息,比如日志文本为“本次获取到的数据为:数据量1000”,则常量字符串:“本次获取到的数据为:%1s”。如果日志代码不带参数,即每次输出的日志都是同样的内容,则常量字符串与日志文本相同:“本次获取到的数据为:数据量1000”。
其中,所述索引信息包括:索引序号、原始日志常量内容或原始日志变量内容。
第一日志代码每次输出都会带有常量字符串和0到有限个参数,其中,参数的个数在编码完成之后是确定的。对本次输出的常量字符串和参数建立索引,比如自增型的整数作为每一条日志的序号。输出的内容为“序号/内容”格式,其中序号代表索引,用于关联每条日志的常量和参数两个部分,内容则为常量或参数。
其中,所述方法还包括对第一日志代码进行调整,使其符合所述预设日志代码输出格式,所述预设日志代码输出格式为第一常量日志代码和变量日志代码按照顺序依次排列。
所述对第一日志代码进行调整包括:将所述第一日志代码进行代码语法分析,将第一日志代码转换为所述预设日志代码输出格式。
对于不规范的第一日志代码比如一行第一日志代码中多个常量和参数交错的代码,可通过分析字符串中代码语法的方式比如判断冒号和加号将不规范第一日志代码转为规范格式。
S103、将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;
遍历项目源代码即第一日志代码的每一个文件。注意,此步骤不可遍历非源代码文件。
在遍历的过程中,找到所有的第一常量日志代码。
将提取出来的常量日志代码作为key保存在一个hashMap中.其中,若所述key不存在所述hashmap中,根据预设value生成算法生成唯一的value,将所述value保存在hashMap中。
如果该key不存在hashMap中,则生成一个唯一的字符串作为value,保存在hashMap中,该value生成算法可自定义,只需要保证每次生成的value唯一即可。比如ASCII码作为生成字符串value的每一位。举例:日志常量内容“初始化方法开始遗留数据为%1s条”替换成“a”。在不进行二次压缩的情况下,生成的value字符串长度越短,则压缩效率越高(如果使用ASCII码作为映射,一位字符就可以代表250多种日志);如果该key存在于hashMap中,则本步骤可跳过处理。
如果日志代码为“Log.i(初始化方法开始遗留数据为100条)”,替换之后的日志代码为“Log.i(a,100)”,hashMap中的key为“初始化方法开始遗留数据为%1s条”,value为“a”。
S104、根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;
其中,所述第一日志代码包括索引序号和value,所述第二日志代码包括索引序号和原始日志变量内容。
比如原始即第一日志代码“Log.i(初始化方法开始遗留数据为100条)”,替换后第二日志代码为“Log.i(a,100)”,该日志第一次输出为“1/a”和“1/100”,第二次输出为“2/a”和“2/100”,每一条日志都分成两个部分,保存在两个不同的日志文件即第一日志文件和第二日志文件中,比如content.log和arg.log两个文件。
S105、将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。
在所有源码都遍历结束之后,则将所有原始日志中常量内容都记录到了hashMap里面,并且所有源代码都已经替换完毕,此时可将hashMap输出到开发者的本地文件,作为映射关系密钥文件proj.key。
由于开发人员需要接收用户日志用于跟踪用户使用过程中遇到的问题,因此日志内容还需要进行恢复,以便于查看。
其中,所述方法还包括:
读取密钥文件中的hashMap;
读取生成proj.key密钥中的内容为hashMap,根据密钥大小决定是否分片段读取,避免内存占用过大。
根据所述第一日志文件中的value来获取所述hashMap中的唯一的key,所述key为原始日志常量内容,并记录所述第一日志文件中的索引值;
根据读取到的密钥内容,将content.log中日志记录作为value,寻找到hashMap中的唯一key,此key即为原始日志内容。在前面例子中,则是将“a”还原成“初始化方法开始遗留数据为%1s条”,并记录此条日志索引。其中,需要说明的是%1s表示该常量字符串中的第一个参数,相应的,如果有两个参数,则%2s就是第二个参数。由于key和value在生成的时候都保证了唯一,因此这里的寻找方式即上述所述的寻找到hashMap中的唯一key包括但不限于该方法:反转key和value,即有一个新的hashMap,该hashMap的key=原始的value,该hashMap的value=原始的key。从而利用hashMap的特性进行快速查找。
根据所述索引值获取变量日志代码中的原始日志变量内容;
将所述原始日志常量内容与原始文件变量内容进行格式还原。
根据索引,在arg.log中寻找值,并将日志进行格式还原,即将找到的参数100和常量“初始化方法开始遗留数据为%1s条”进行还原,变成“初始化方法开始遗留数据为100条”。通常由于文件读取的顺序性,读取参数日志时候,该记录会在本次读取位置。
作为本发明的一个完整示例,如下:
日志原始代码为“MyLog.i("初始化方法开始,遗留数据为%1s条",number)”,其中number在第一次为100,第二次为200。
发版前使用本方案替换之后的代码为“MyLog.i("a",number)”,生成的proj.key中内容为“初始化方法开始,遗留数据为%1s条a”;proj.key文件保存在开发者手中。
两次调用之后的content.log日志文件中内容为:“1/a 2/a”,arg.log日志文件中的内容为“1/1002/200”。
在本例中,若不使用本发明的压缩方法,输出日志内容为:“初始化方法开始,遗留数据为100条初始化方法开始,遗留数据为200条”,得出字符串长度为35,若使用本发明压缩后,content.log文件内容为:“1/a 2/a”,arg.log日志文件中的内容为“1/1002/200”,总字符串长度为18。由此可见,本发明大大提高了压缩效率。
需要特别说明的是,本发明与传统日志压缩方案区别为:
1、压缩对象不一样;
传统方案在程序运行阶段针对生成的日志文件进行压缩;
本方案在程序开发阶段针对日志代码进行处理达到压缩效果,不针对日志文件进行压缩;
程序源码和日志文件包含内容不一样;
本方案最终发布的程序不论是代码还是程序运行生成的日志,都不包含常量日志信息,不包含明显映射信息。
2、压缩流程不一样;
传统方案程序发布后,日志生成后进行日志文件压缩,需要遍历文件,根据压缩算法进行压缩;
本方案在程序发布之前进行压缩处理,在程序发布之后程序运行时直接输出的就是压缩后的日志;
3、压缩思路不一样;
传统压缩方案,是程序运行时通过压缩流程执行压缩算法达到压缩效果,需要使用额外的cpu和内存资源;
本方案认为,在程序运行过程中无需执行压缩算法就能达到压缩效果,即源码中就已经是压缩后的结果,不再消耗额外的cpu和内存资源;
本方案针对日志文件特点,优化重复信息寻找算法和流程,在抽象层面上认为程序运行时日志的输出过程就是压缩数据的解压过程,因此在程序发布之前,就可以将压缩数据提取出来,认为每一行日志代码中的常量都是一条将会重复多次的信息,并将压缩流程在开发阶段完成,运行阶段不再进行压缩。且客户使用的程序源码和生成的日志都不包含常量日志;
采用本发明,可以具有如下有益效果:
1、根据日志的特点,对日志进行划分成两个部分,常量部分和参数部分,常量和参数在日志中所占比例通常情况下常量部分更大,本发明对常量部分进行更优化的压缩,日志内容和大小不同,压缩效率不同。对压缩信息寻找算法进行优化,不再遍历整个生成的日志文件去寻找重复文本作为压缩信息,本发明认为所有的日志都可以拆分出常量,每个常量都认为是一种重复文本,即压缩信息。
2、日志内容的压缩和压缩信息的去除可以减少本地存储空间消耗和网络传输耗时,一定程度上提高在弱网环境的稳定性。
3、日志内容输出后直接就是加密且压缩之后的结果。
4、映射关系密钥于开发阶段生成,且不存在于源码中,只被程序开发者知道,程序使用者无法得到密钥相关信息。
5、日志压缩和加密以及日志压缩信息的去除都为前置进行,即在发版之前,日志代码就已经完成日志内容的压缩和加密,压缩信息已经去除,压缩后的内容不包含压缩关键信息,用户生成的每一条日志的常量部分都为压缩后日志,最终得到的常量日志文件也为压缩后日志文件,且不包含压缩关键信息。客户端不包含压缩关键信息,也就无法进行日志恢复,达到了日志加密效果。
6、本发明不包含日志文件内容压缩,只对日志代码即日志输出内容的常量字符串模版部分进行压缩,可根据需要进行二次压缩。
7、本发明在不采取额外压缩措施的情况下,后续进行压缩日志恢复的时候可以只读部分日志文件就能与密钥结合进行解析,而不用全量日志文件读取。
8、本发明由于采用前置压缩,因此对于后台维护用户上传日志的时候,该部分日志内容可根据需要决定是否进行二次压缩,也可不再进行压缩。
图2是本发明实施例提供的日志压缩加密装置的示意图,所述装置包括:
获取模块201,用于获取原始日志的日志代码;
划分索引模块202,用于所述日志代码根据预设日志代码输出格式来划分为参数日志代码和常量日志代码,并通过对所述参数日志代码和常量日志代码建立索引,获取索引信息;
保存模块203,用于将所述常量日志代码作为key保存在一个hashMap中;
替换划分模块204,用于对所述日志代码进行替换,根据所述value、索引信息将所述日志代码划分为第一日志文件和第二日志文件;
输出模块205,用于将所述hashMap输出为本地文件,作为密钥文件。
本发明实施例提出的一种日志压缩加密装置的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。
本发明实施例还提供了一种日志压缩加密设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述的日志压缩加密方法。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的日志压缩加密方法。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (10)
1.一种日志压缩加密方法,其特征在于,包括:
获取原始日志的第一日志代码;
将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;
将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;
根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;
将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。
2.如权利要求1所述的日志压缩加密方法,其特征在于,通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息还包括:
读取第一常量日志代码中的hashMap;
根据所述第一常量日志代码中的value来获取所述hashMap中的唯一的key,所述key为原始日志常量内容,并记录所述第一常量日志代码中的索引值;
根据所述索引值获取所述变量日志代码中的原始日志变量内容;
将所述原始日志常量内容与原始文件变量内容进行格式还原。
3.如权利要求2所述的日志压缩加密方法,其特征在于,所述第一常量日志代码包括索引序号和value,所述变量日志代码包括索引序号和原始日志变量内容。
4.如权利要求2所述的日志压缩加密方法,其特征在于,若所述key不存在所述hashmap中,根据预设value生成算法生成唯一的value,将所述value保存在hashMap中。
5.如权利要求1所述的日志压缩加密方法,其特征在于,所述索引信息包括:索引序号、原始日志常量内容或原始日志变量内容。
6.如权利要求1所述的日志压缩加密方法,其特征在于,所述方法还包括对第一日志代码进行调整,使其符合所述预设日志代码输出格式,所述预设日志代码输出格式为第一常量日志代码和变量日志代码按照顺序依次排列。
7.如权利要求4所述的日志压缩加密方法,其特征在于,所述对第一日志代码进行调整包括:将所述第一日志代码进行代码语法分析,将第一日志代码转换为所述预设日志代码输出格式。
8.一种日志压缩加密装置,其特征在于,包括:
获取模块,用于获取原始日志的第一日志代码;
划分索引模块,用于将所述第一日志代码根据预设日志代码输出格式来划分为变量日志代码和第一常量日志代码,并通过对所述变量日志代码和第一常量日志代码建立索引,获取索引信息;
映射模块,用于将所述第一常量日志代码进行映射为第二常量日志代码,并将映射关系保存在本地文件中,其中,所述第二常量日志代码的字符小于所述第一常量日志代码字符;
重构模块,用于根据所述映射关系重构第二日志代码,其中,所述第二日志代码不包括所述常量日志代码;
替换模块,用于将所述第二日志代码替换第一日志代码,所述第二日志代码生成的日志为压缩日志。
9.一种日志压缩加密设备,其特征在于,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述日志压缩加密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述日志压缩加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110454054.5A CN113179265A (zh) | 2021-04-26 | 2021-04-26 | 一种日志压缩加密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110454054.5A CN113179265A (zh) | 2021-04-26 | 2021-04-26 | 一种日志压缩加密方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113179265A true CN113179265A (zh) | 2021-07-27 |
Family
ID=76926571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110454054.5A Pending CN113179265A (zh) | 2021-04-26 | 2021-04-26 | 一种日志压缩加密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179265A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836031A (zh) * | 2021-09-29 | 2021-12-24 | 长江存储科技有限责任公司 | 用于嵌入式系统测试的系统、方法、设备以及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178709A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 日志记录系统和方法 |
US20090007065A1 (en) * | 2007-06-29 | 2009-01-01 | Alcatel-Lucent | Logging system and method for computer software |
CN103092742A (zh) * | 2011-10-31 | 2013-05-08 | 国际商业机器公司 | 程序日志记录优化方法和系统 |
CN104331487A (zh) * | 2014-11-13 | 2015-02-04 | 携程计算机技术(上海)有限公司 | 日志的处理方法及装置 |
CN106547470A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 日志存储优化方法和设备 |
US20200134029A1 (en) * | 2018-10-29 | 2020-04-30 | EMC IP Holding Company LLC | Compression of Log Data Using Pattern Recognition |
CN112286896A (zh) * | 2020-11-19 | 2021-01-29 | 北京百家科技集团有限公司 | 一种日志文件处理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-04-26 CN CN202110454054.5A patent/CN113179265A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178709A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 日志记录系统和方法 |
US20090007065A1 (en) * | 2007-06-29 | 2009-01-01 | Alcatel-Lucent | Logging system and method for computer software |
CN103092742A (zh) * | 2011-10-31 | 2013-05-08 | 国际商业机器公司 | 程序日志记录优化方法和系统 |
CN104331487A (zh) * | 2014-11-13 | 2015-02-04 | 携程计算机技术(上海)有限公司 | 日志的处理方法及装置 |
CN106547470A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 日志存储优化方法和设备 |
US20200134029A1 (en) * | 2018-10-29 | 2020-04-30 | EMC IP Holding Company LLC | Compression of Log Data Using Pattern Recognition |
CN112286896A (zh) * | 2020-11-19 | 2021-01-29 | 北京百家科技集团有限公司 | 一种日志文件处理方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836031A (zh) * | 2021-09-29 | 2021-12-24 | 长江存储科技有限责任公司 | 用于嵌入式系统测试的系统、方法、设备以及介质 |
CN113836031B (zh) * | 2021-09-29 | 2024-05-10 | 长江存储科技有限责任公司 | 用于嵌入式系统测试的系统、方法、设备以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2464630C2 (ru) | Двухпроходное хеш извлечение текстовых строк | |
JP4364790B2 (ja) | バイト・レベルのファイル相違検出および更新アルゴリズム | |
CN107395209B (zh) | 数据压缩方法、数据解压缩方法及其设备 | |
CN110781155A (zh) | 基于ipfs的数据存储读取方法、系统、设备和介质 | |
CN110995273B (zh) | 电力数据库的数据压缩方法、装置、设备及介质 | |
CN114731162A (zh) | 压缩数据的部分下载 | |
Aronson et al. | Towards an engineering approach to file carver construction | |
CN113179265A (zh) | 一种日志压缩加密方法、装置、设备及存储介质 | |
CN111125018B (zh) | 一种文件异常溯源方法、装置、设备及存储介质 | |
CN113297208A (zh) | 数据处理方法及装置 | |
CN112131202B (zh) | 一种分布式文件存储和读取方法、终端设备及存储介质 | |
US11017155B2 (en) | Method and system for compressing data | |
US8463759B2 (en) | Method and system for compressing data | |
CN110032432B (zh) | 实例的压缩方法和装置、实例的解压方法和装置 | |
CN115765754A (zh) | 一种数据编码方法及一种编码数据比较方法 | |
CN107832341B (zh) | Agnss用户去重统计方法 | |
US11789708B2 (en) | Compression of firmware updates | |
CN108829872A (zh) | 无损压缩文件的快速处理方法、设备、系统及存储介质 | |
CN110187385B (zh) | 地震数据获取方法、地震数据处理方法及装置 | |
CN110262752B (zh) | 一种用于存储流媒体数据的方法、装置、存储介质 | |
JP2009128945A (ja) | データ処理装置及び方法並びにプログラム | |
CN114302425B (zh) | 设备配网方法、装置、存储介质及电子设备 | |
CN113595557B (zh) | 一种数据处理的方法和装置 | |
CN114302425A (zh) | 设备配网方法、装置、存储介质及电子设备 | |
CN116737460A (zh) | 文件自动备份方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210727 |