日志处理方法、电子装置、存储介质与流程

文档序号:33147988发布日期:2023-02-03 22:11阅读:30来源:国知局
日志处理方法、电子装置、存储介质与流程

1.本发明涉及信息处理技术领域,具体涉及一种日志处理方法、电子装置、存储介质。


背景技术:

2.当前的各类计算机应用中,大多保存有记录应用操作的过程的日志,不少后续的应用开发或操作都要基于这些日志来实现。例如越来越多的车机使用开发者比较熟悉的基于安卓日志系统的开发模块,开发者在开发中几乎都会用到接口打印日志,通过查看日志来解决问题。然而,由于很多计算机应用所在的电子装置如一些手持终端,或通信模块等,其自身存储空间并不大,这样就会导致同时进行保存的日志容量有限,限制了对于历史日志进行回溯的范围。又或者虽然电子装置自身存储空间较大,如服务器、阵列存储设备等,但其应用生成的日志也是海量,于是相应地也会产生上述问题。


技术实现要素:

3.本发明要解决的技术问题是为了克服现有技术中由于存储空间的相对限制导致存储的日志数量有限,难以满足对历史日志进行回溯的缺陷,提供一种日志处理方法、电子装置、存储介质。
4.本发明是通过下述技术方案来解决上述技术问题:
5.本发明提供了一种日志处理方法,应用于电子装置,所述处理方法包括步骤:
6.若所述电子装置的存储空间中存储的日志符合预设条件,则对所述存储空间中存储的日志进行压缩处理,得到压缩文件;
7.生成与所述压缩文件对应的索引信息,所述索引信息用于建立对所述被压缩的日志的索引;
8.关联存储所述压缩文件和所述索引信息。
9.本发明还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述的日志处理方法。
10.本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的日志处理方法。
11.本发明的积极进步效果在于:通过在满足预设条件时对存储空间中的日志进行压缩处理得到压缩文件,并生成与压缩文件关联的日志索引信息,能够在大幅提升存储空间利用率的同时,保证对于日志进行查找定位的便捷度和准确度,从而能够较好地改善由于存储空间限制导致的日志难以满足回溯要求的问题。
附图说明
12.图1为本发明实施例1中的日志处理方法的流程示意图。
13.图2为本发明实施例1中的文件名包含索引信息的压缩文件示意图。
14.图3为本发明实施例1中采用现有技术的日志处理方法的流程示意图。
15.图4为本发明实施例1中的日志处理方法的流程示意图。
16.图5为本发明的实施例2的电子装置的结构框图。
具体实施方式
17.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
18.实施例1
19.参见图1,本实施例具体提供了一种日志处理方法,应用于电子装置,该电子装置包括但不限于手机、平板电脑、服务器或终端电脑、通信模块等;参见图1,该方法包括步骤以下步骤:
20.s1.若电子装置的存储空间中存储的日志符合预设条件,则对存储空间中存储的日志进行压缩处理,得到压缩文件。
21.其中,日志的类型包括但不限于二进制日志、错误日志、慢查询日志等,日志可以以文本形式存储于存储空间中,也可以以图片或者其他形式存储于存储空间中。
22.随着日志及压缩后的压缩文件的数量增加,当存储空间趋于饱和时,在进行增量日志压缩的同时,还要对存量压缩文件进行一定的处理,因此需要保持对于剩余存储空间的可控。
23.对于存储的日志设定的预设条件可以根据存储的日志的特点进行设定。
24.在一个可选的实施方式中,将存储空间中存储的日志的容量作为判断存储的日志是否符合预设条件的判据。例如,预设条件为当存储的日志的总容量达到第一阈值时,对存储的日志进行压缩处理,得到至少一个压缩文件。
25.其中,第一阈值可以根据实际情况自行设置。举例来说,假设用于存储日志的存储空间为500m,一份日志容量为1m左右,第一阈值可以设置为50m,也即当存储空间中的日志容量达到50m的时候,开始进行压缩处理。需要说明的是,第一阈值不限于上述例子中的50m,还可以是60m、70m等,对此本发明实施例不作特别限定。基于同样原理,也可以将预设条件设定为当未经压缩的日志的总容量达到存储空间的预设容量比例时,对未经压缩的日志进行压缩处理。通过基于日志容量设定进行压缩处理的预设条件,能够较为合理地对于存储空间的剩余量进行控制,防止因存储空间占满产生的系统错误,实现日志处理的安全机制。
26.在另一种可选的实施方式中,将存储空间中存储的未经压缩的日志数量作为判断存储的日志是否符合预设条件的判据。例如,当每个日志的大小均为1m左右,可将预设条件设定为当未经压缩的日志数量达到预设数量值时,对未经压缩的日志进行压缩处理。
27.另一种可选的实施方式中,将特定的时间作为存储的日志的压缩时机。例如,可以设定在一定的时间间隔或特定的时间节点对存储的日志进行压缩处理,如每隔一小时对未经压缩的日志进行压缩处理,或每天的12:00对未经压缩的日志进行压缩处理。
28.对于上述三种预设条件的判据,可以单独使用,也可以结合使用。例如,可以设定预设条件为:当未经压缩的日志的总容量大于100m且时间到达中午12:00则进行一次压缩处理。
29.具体地,可以通过安装于电子装置内的压缩工具来进行压缩文件处理。并且可以选择不同的压缩比,对于同样的日志,压缩比越大,则压缩后的压缩文件越小,而压缩处理的耗时越长。具体选用何种压缩比,可以根据历史查询日志的频率来确定。例如,假设查询日志的频率较高,则由于压缩处理时会降低对于日志的查询速度,因此可以设定较低的压缩比,缩短压缩处理的耗时,提高日志的查询速度。假设查询日志的频率较低,则可以设定较高的压缩比,这样能够更好地利用存储空间,同时由于查询日志频率较低也不容易发生影响查询日志的情况。
30.在一个可选的实施方式中,处于对日志的安全考虑,压缩日志时,可以为压缩文件设置密码。
31.s2.生成与压缩文件对应的索引信息,索引信息用于建立对被压缩的日志的索引。
32.由于考虑存储空间中的压缩文件数量可能较大,为了当需要调取某个日志时能够相对高效地查找到该日志,需要确定该日志当前被压缩至哪个压缩文件。因此对于电子装置存储空间中已经被压缩的日志,其与所在的压缩文件有对应的关系。步骤s2中基于这种对应关系生成索引信息,在此基础上,步骤s3关联存储压缩文件和索引信息,从而实现快速高效地进行日志查询。
33.作为可选的实施方式,索引信息包括压缩文件的生成时间和/或至少一个被压缩的日志的生成时间。
34.在一种可选的实施方式中,索引信息为压缩文件的生成时间。考虑到日志是用于记录系统操作事件的记录文件,无论是为事件日志还是消息日志都具有处理历史数据、诊断问题追踪等作用,因此日志是以时间轴为序生成,也必然包含有时间信息。
35.而对于本实施例中的压缩文件生成场景,每个压缩文件和其中包含的若干个被压缩的日志,其时序关系也是相应的,即压缩文件的生成时间晚于所有其包括的日志,同时要早于生成时间早于该压缩文件的其他压缩文件中的日志。因此将索引信息设为压缩文件的生成时间就能够根据压缩文件的生成来划分不同的日志;同样以上述例子中的情况予以说明:
36.当设定预设条件为当达到50个日志的时候开始进行压缩处理,生成压缩包a,则压缩包a的生成时间作为索引信息,可以通过关联到压缩包a的同时快速关联到其包括的50个日志。
37.在一种可选的实施方式中,将至少一个被压缩的日志的生成时间作为索引信息。在这种生成方式中,同样基于日志连续、依次生成的特性,可以将压缩文件内的日志的生成时间来作为索引信息,其方式也包括但不限于单个日志生成时间、两个日志生成时间组成的时间段、两个或以上日志生成时间中间数、同一压缩文件中按生成时间排列在首尾的两个文件的生成时间均值等。同样以上述例子中的情况予以说明:
38.当设定预设条件为当达到50个日志的时候开始进行压缩处理,生成压缩包a,则压缩包a中的日志n的生成时间作为索引信息,可以快速关联日志n及其他49个日志所在的压缩文件a。
39.在一种可选的实施方式中,结合压缩文件的生成时间和至少一个被压缩的日志的生成时间作为索引信息,例如,当预设条件为每天进行一次压缩处理,则索引信息可以包括压缩文件生成时间的日期信息,同时还包括被压缩的日志的具体时间信息,这样有利于进
行快速结合搜索。
40.本实施方式通过利用日志的特点,将索引信息为压缩文件的生成时间和/或至少一个被压缩的日志的生成时间,从而在进行日志回溯的过程中能够基于索引信息快速地将目标日志关联至其所在的压缩文件,而无需在整个存储空间中进行遍历搜索,从而尤其在海量数据的情况下有助于提升日志查找效率,方便相关人员进行日志回溯处理。
41.s3.关联存储压缩文件和索引信息。
42.作为关联存储压缩文件和索引信息的一种实现方式,可以将索引信息作为压缩文件的文件名的至少一部分,也即使得压缩文件的文件名中包括索引信息。
43.本实施方式提供一种压缩文件和索引信息的关联存储的较佳实现,即将生成的索引信息包含于压缩文件的文件名中。考虑到大多数搜索过程中会采用设置文件名作为关键字段进行查询操作,将索引信息置于文件名中较为直接和便于进行操作;不仅如此,即使不进行关键字查询,参见图2所示,在文件目录中按照文件名排序也能较为直观地以时间轴为序列出当前的所有压缩文件,可以快速地找到某个时间(段)对应的压缩文件。
44.当然,对于压缩文件和索引信息的关联存储包括但不限于上述方式,例如也可以按顺序编号命名压缩文件,而在另外建立的数据表中存储压缩文件的文件名(编号)与其中包含的日志的对应关系,例如编号为5的压缩文件对应于生成时间段为2021/4/16 9:15:23~2021/4/16 9:36:22的日志。
45.本实施方式通过将索引信息包含于压缩文件文件名中的方式对于压缩文件和索引信息进行关联存储,从而能够直观快速地关联到日志所在的压缩文件。
46.作为可选的实施方式,步骤s1之前还包括:若当前压缩文件的总容量已经达到第二阈值,则对当前的压缩文件进行处理,以使处理后的压缩文件的总容量低于所述第二阈值,第二阈值不大于电子装置的存储空间减去步骤s1中第一阈值得到的差值。例如,日志的存储空间为500m,第一阈值设置为50m,则为了确保生成至少一个压缩文件(约3m),则应当预留至少500m-50m-3m=447m,即第一阈值和第二阈值之和小于存储空间。
47.当存储空间趋于饱和时,可能导致无法继续写入日志的错误,也可能因为空间不够而导致无法进行压缩处理,甚至引起系统告警或错误。因此,为了避免上述情况的出现,在写入日志以及对增量日志进行压缩处理的过程中还需要监控当前的存储空间剩余量。本实施方式通过对于当前压缩文件的总容量进行控制,目的在于维持剩余存储空间。检测当前压缩文件的总容量是否达到了第二阈值,如可设定为存储空间的90%。
48.若达到第二阈值,可对当前的压缩文件进行下述处理:
49.在一种可选的实施方式中,对当前的压缩文件进行处理的步骤为删除至少一个压缩文件。本实施方式中,可以在检测当前压缩文件的总容量达到了第二阈值时删除至少一个压缩文件,如按照当前的压缩文件的生成时间,删除最早生成的一个或多个压缩文件。这样可以保证当前的存量压缩文件中相对保存有较新的日志。
50.在另一种可选的实施方式中,也可以对至少两个压缩文件进行二次压缩处理,并将二次压缩处理后形成的压缩文件导出存储空间。本实施方式采用另一种方式,即对于压缩文件进行二次压缩,进一步地,可以导出存储空间另行存档。二次压缩的时机,可以是周期性的进行,也可是当压缩文件的容量达到容量阈值时进行。例如当前的每个压缩文件为根据每天生成的日志压缩得到,则二次压缩文件可以考虑对于每个月的压缩文件进行一次
二次压缩,生成基于月度单位的时间跨度的压缩文件后,将其导出存储空间进行存档。
51.当然,本实施例对于压缩文件的处理包括但不限于上述方式及其组合,也可以灵活地设置其他方式对于压缩文件进行处理。本实施方式对于当前压缩文件的总容量控制,保证了存储空间能够进行正常的日志读写以及压缩处理操作,避免了因剩余存储空间不够而导致的问题;并通过及时地对当前存量压缩文件进行处理,有利于释放存储空间,以便保证后续的日志存档和相关处理。
52.作为可选的实施方式,压缩文件的格式可以为rar格式、zip格式或者7z格式。本实施方式描述了日志处理方法中的压缩文件的具体格式,可包括但不限于rar、zip、7z、tar、gz、bz2、lha、rpm、deb等。
53.其中,以rar格式为例,其压缩处理或需要调用日志时的解压缩处理通常是使用winrar压缩工具实现,其特点在于压缩比通常较高,但压缩或解压缩速度较慢。zip格式文件格式由三部分组成:zip压缩数据段、中央目录区、中央目录区尾部。其中zip压缩数据段又分为zip文件头信息和压缩数据。其压缩比通常低于rar格式,但压缩处理速度更快。7z是一种主流高效的压缩格式,可以使用多种压缩算法进行数据压缩的档案格式,具有压缩比高、可更改和配置压缩的算法、支持超大文件、支持档案文件头压缩、支援多线程压缩等优点,通常用7-zip工具进行压缩或解压缩处理。
54.本实施方式提供了几种各自具有优势的压缩文件格式,能够适应于不同的操作系统和日志系统,使用户能够根据需要选择使用。
55.以下示出本实施例的一种实现过程,当然本领域技术人员可知,本实施例的实现方式并不限于此。
56.图3示出了采用现有技术的日志处理方法进行日志处理的流程示意图,图4示出了采用本发明实施例的日志处理方法进行日志处理的流程示意图。
57.其中,假设存储空间用于存储日志的容量为500m。
58.参见图3,优化前一份日志为约1m,可以存储约500个,合计可以存储500m的日志。当文件达到约500个的时候,从当前最早生成的日志开始进行覆盖写入,总存储量保持接近500m的日志。
59.参见图4,优化后一份日志约为1m,当存储数量达到50个日志时开始进行压缩处理。由于日志均是文字形式存在,压缩后整体大小通常为3m左右;则当日志数量每次达到50个的时候进行压缩处理,当压缩文件数目到达100个的时候,约占用300m的存储空间,此时删除当前最早生成的压缩文件并继续进行日志写入和后续压缩处理。
60.此时,总存储的日志大小约为50*100+50=5050m。
61.实际占用磁盘空间的大小为(3~4)*100+50=350m~450m。相比优化前,可以存储多达10倍的日志。
62.本实施例通过在满足预设条件时对存储空间中的日志进行压缩处理得到压缩文件,并生成与压缩文件关联的日志索引信息,能够在大幅提升存储空间利用率的同时,保证对于日子进行查找定位的便捷度和准确度,从而能够较好地改善由于存储空间限制导致的日志难以满足回溯要求的问题。
63.实施例2
64.参见图5所示,本实施例提供了一种电子装置30,包括第二处理器31、第二存储器
32及存储在第二存储器32上并可在第二处理器31上运行的计算机程序,第二处理器31执行程序时实现实施例1中的日志处理方法。电子装置30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
65.电子装置30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子装置30的组件可以包括但不限于:上述至少一个第二处理器31、上述至少一个第二存储器32、连接不同系统组件(包括第二存储器32和第二处理器31)的总线33。
66.总线33包括数据总线、地址总线和控制总线。
67.第二存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
68.第二存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
69.第二处理器31通过运行存储在第二存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1中的日志处理方法。
70.电子装置30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器36通过总线33与模型生成的设备30的其它模块通信。可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
71.应当注意,尽管在上文详细描述中提及了电子装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
72.实施例3
73.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1中日志处理方法中的步骤。
74.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
75.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1中日志处理方法中的步骤。
76.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
77.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和
修改均落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1