一种日志压缩存储方法、电子装置制造方法及图纸

技术编号:28871278 阅读:17 留言:0更新日期:2021-06-15 23:03
本发明专利技术涉及一种日志压缩存储方法、电子装置。所述方法包括如下流程:步骤一、预先定义日志存储结构;所定义的日志存储结构分为参数区、索引区、日志区;索引区包含N条索引;N为整数,N等于一天的总时长与所定义的最小日志切割时间单位的比值;步骤二、确定日志压缩自定义参数,并存储到参数区;步骤三、根据日志压缩自定义参数对需要压缩的原始日志进行压缩。本发明专利技术按照时段对日志进行同步压缩解压和展示,提升使用人员查看日志的便捷程度,提高定位问题的效率。

【技术实现步骤摘要】
一种日志压缩存储方法、电子装置
本专利技术涉及数据压缩处理
,特别是一种日志压缩存储方法、电子装置。
技术介绍
各种网站和软件都会生成各种日志,为了方便查找和定位问题,往往需要对这些日志进行备份和归档。归档的时候,为了降低日志占用的存储空间,往往会对历史日志进行压缩存储。但是,压缩存储和日志查询还是存在相互矛盾的地方,不压缩日志,日志量比较大的话,需要浪费较多的存储空间,不利于节约企业成本;但是压缩日志之后,查看日志又非常不方便,一般需要先解压之后才能正常浏览,耗时且不方便。1、如果日志内容较大,压缩和解压花费的时间很长;解压的文件如果过多,则同样会造成比较严重的磁盘空间的浪费;如果日志查询人员对日志的日期不是特别确定,或者需要的日志可能发生在日期交替的时间点,则往往需要对多个文件进行解压才能看到需要的日志,这对于定位和分析问题而言,都存在较大的时间成本。2、elk等技术本身存在一定的学习成本;另外,其用来存储的elasticsearch并没有解决占用存储空间过多的问题;如果自建则存在一定的维护成本,如果采用云服务则需要支付相应的存储成本。
技术实现思路
为解决上述问题,本专利技术提供了1.一种日志压缩存储方法,其特征在于,包括如下流程:步骤一、预先定义日志存储结构;所定义的日志存储结构分为参数区、索引区、日志区;索引区包含N条索引;N为整数,N等于一天的总时长与所定义的最小日志切割时间单位的比值;步骤二、确定日志压缩自定义参数,并存储到参数区;所述日志压缩自定义参数包括时间参数、存储路径;所述时间参数包括最小日志切割时间单位、时间戳精度;步骤三、根据日志压缩自定义参数对需要压缩的原始日志进行压缩;处理后的各条日志及其相关信息作为一条日志信息顺次存储到日志区;时间戳属于同一个最小日志切割时间单元内的所有日志对应同一条索引,每条索引内存在有其所对应日志区的相关信息;日志区按条存储日志信息。进一步的,日志压缩自定义参数还包括日志总条数、日志总行数。进一步的,每条索引信息包含其所对应日志信息中,第一条日志的文件偏移量、该索引区的日志条数、第一条日志的时间戳。进一步的,每条日志信息包含该条日志的时间戳、上一条日志的相对偏移量、下一条日志的相对偏移量、日志中的行数、日志的内容。进一步的,日志压缩自定义参数还包括日志压缩最低长度阈值,每条日志信息还包括日志压缩标志,当带压缩的日志字节长度大于或者等于日志压缩最低长度阈值时,日志压缩标志为压缩标志,否则为未压缩标志。进一步的,日志压缩自定义参数还包含表示具体压缩算法类型的标志。进一步的,还包括压缩日志的流程,包括:S1:预定义浏览日志的自定义参数;包括日志开始时间、结束时间、一次查看的日志条数;S2:根据浏览日志的自定义参数,按照时间顺序解压日志区内对应时间段内的日志信息;当日志条数超过或者等于一次查看的日志条数时,解压对应数量的压缩日志,否则全部解压;S3:按照时间顺序显示各条日志。进一步的,还包括S4:日志浏览者向下浏览日志,则按照时间顺序依次解压日志区内对应时间段内的剩余日志信息并进行显示。本专利技术还公开了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行上述方法。本专利技术的有益效果为:1、本专利技术按照时段对日志进行同步解压缩和浏览,提升使用人员查看日志的便捷程度,提高定位问题的效率。2、查看日志时不对服务器增加额外的存储空间要求,不对服务器产生过高的负载。3、操作简单,且不需要增加额外的服务搭建和使用成本。附图说明图1为日志存储结构示意图。具体实施方式本专利技术的设计构思为:本专利技术将现有技术中针对整个文件压缩的方式,变成按时间分段进行压缩存储,并且对其进行索引,提升查询效率。使用者浏览日志的时候,则能够根据时间段对该时间段的日志进行检索和查看。由于每次解压的日志量很少,因此可以达到边解压边浏览的效果,而不用再等到所有内容都解压后才能查看。下面对本方法进行详细说明。本专利技术所述日志压缩存储方法,包括如下步骤:步骤一、预先定义日志存储结构;所定义的日志存储结构分为参数区、索引区、日志区。索引区包含N条索引;N为整数,N等于一天的总时长与所定义的最小日志切割时间单位的比值;索引与日志信息具有对应关系,且均按照时间顺序排列。同一个日志切割最小单位内的日志记录对应同一条索引。如图1所示为日志存储结构的实例,其中A:参数区;B:索引区;日志区。参数区只有一条记录,用于存储日志压缩自定义参数。索引区和日志区都由多条日志构成。索引区条数决定于日志切割最小单位。具体而言,比如日志切割最小单位为10秒,那么索引信息的数量是24*3600/10份。日志区则由多条日志记录构成。如图1,通过标号区分了不同的存储单元,标号下方的数字则是表示该存储单元占据的空间大小,单位都为bit。值得注意的是,这里给出的存储大小是根据一般情况下进行的经验评估,在具体使用过程中使用,可能会对其进行调整,比如对每个存储单元的大小进行调整,或者对存储单元的顺序进行调整等,使得和具体的应用场景更加贴合。下面分别对图1中存储单元进行展开介绍:A1:日志切割最小单位,单位为秒钟,最多为24*3600秒。A2:日志时间戳格式。取值可以为0或者1。本实施例中,时间戳格式为秒,取值为0。当然,也可以取其他单位,如毫秒,取值为1。A3:日志压缩算法。可根据实际需要进行调整。如0:gzip,1:deflate等。可以定义4种算法,或根据实际使用场景调整。A4:保留位。本实施例为6bit,留作自定义或者扩展使用。A5:日志总条数。本实施例中中,总条数最大2^34-1,约171亿条。A6:日志总行数。本实施例中中,总行数最大2^36-1,约687亿条。B1:本区间第一条日志的时间戳。B2:对应的文件偏移量,单位:Byte。B3:日志条数,该区间到下一区间的日志条数。C1:该条日志的时间戳,根据A2来决定存储到秒或者毫秒。C2:上一条日志的相对偏移量,单位:Byte最多可以表示16M的偏移量。C2=本日志的文件偏移量-上一条日志的文件偏移量,如果是第一条日志,则该值为0。C3:下一条日志的相对偏移量,单位:Byte最多可以表示16M的偏移量。C3=下一条日志的文件偏移量-本条日志的文件偏移量,也就是该日志一共占据的字节数。如果是最后一条日志,最后一条日志的偏移量相当于该日志文件的总字节数。C4:日志标志位。1bit,表示是否压缩如1表示压缩,0表示不压缩,或者与此相反。C5:日志的行数,最多可以是2^12-1=4095行。C6:日志的实际内容,会根据C4的第一位来决定是否对内容本文档来自技高网...

【技术保护点】
1.一种日志压缩存储方法,其特征在于,包括如下流程:/n步骤一、预先定义日志存储结构;所定义的日志存储结构分为参数区、索引区、日志区;索引区包含N条索引;N为整数,N等于一天的总时长与所定义的最小日志切割时间单位的比值;/n步骤二、确定日志压缩自定义参数,并存储到参数区;所述日志压缩自定义参数包括时间参数、存储路径;所述时间参数包括最小日志切割时间单位、时间戳精度;/n步骤三、根据日志压缩自定义参数对需要压缩的原始日志进行压缩;处理后的各条日志及其相关信息作为一条日志信息顺次存储到日志区;时间戳属于同一个最小日志切割时间单元内的所有日志对应同一条索引,每条索引内存在有其所对应日志区的相关信息;日志区按条存储日志信息。/n

【技术特征摘要】
1.一种日志压缩存储方法,其特征在于,包括如下流程:
步骤一、预先定义日志存储结构;所定义的日志存储结构分为参数区、索引区、日志区;索引区包含N条索引;N为整数,N等于一天的总时长与所定义的最小日志切割时间单位的比值;
步骤二、确定日志压缩自定义参数,并存储到参数区;所述日志压缩自定义参数包括时间参数、存储路径;所述时间参数包括最小日志切割时间单位、时间戳精度;
步骤三、根据日志压缩自定义参数对需要压缩的原始日志进行压缩;处理后的各条日志及其相关信息作为一条日志信息顺次存储到日志区;时间戳属于同一个最小日志切割时间单元内的所有日志对应同一条索引,每条索引内存在有其所对应日志区的相关信息;日志区按条存储日志信息。


2.如权利要求1所述的日志压缩存储方法,其特征在于,日志压缩自定义参数还包括日志总条数、日志总行数。


3.如权利要求1所述的日志压缩存储方法,其特征在于,每条索引信息包含其所对应日志信息中,第一条日志的文件偏移量、该索引区的日志条数、第一条日志的时间戳。


4.如权利要求1或3所述的日志压缩存储方法,其特征在于,每条日志信息包含该条日志的时间戳、上一条日志的相对偏移量、下一条日志的相对偏移量、日志中的行数、日志的内容。


5.如权利要求4所述的日志压缩存储方法,其特征在于,日志压...

【专利技术属性】
技术研发人员:邓小龙元金良罗海斌
申请(专利权)人:北京高因科技有限公司
类型:发明
国别省市:北京;11

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

1