技术新讯 > 计算推算,计数设备的制造及其应用技术 > 日志压缩方法、日志还原方法、装置、电子设备及介质与流程  >  正文

日志压缩方法、日志还原方法、装置、电子设备及介质与流程

  • 国知局
  • 2024-07-31 22:55:15

本技术涉及计算机,特别是涉及一种日志压缩方法、日志还原方法、装置、电子设备及介质。

背景技术:

1、日志文件中记录有操作系统或其他软件系统在运行过程中发生的事件的相关信息。随着系统的运行,产生的日志文件越来越多,日志文件占用的存储空间也越来越大,导致日志文件占用大量的存储资源。因此,如何减小日志文件占用的存储空间,节约存储资源成为亟待解决的问题。

技术实现思路

1、本技术实施例的目的在于提供一种日志压缩方法、日志还原方法、装置、电子设备及介质,以减小日志文件占用的存储空间,节约存储资源。具体技术方案如下:

2、本技术实施的第一方面,提供了一种日志压缩方法,所述方法包括:

3、获取需要压缩日志数据的指定时间范围内第一日志周期的原始日志数据,并进行存储;

4、针对所述指定时间范围内除所述第一日志周期外的每一第二日志周期,比较该第二日志周期和该第二日志周期在所述指定时间范围内对应的参考日志周期的原始日志数据;其中,至少存在一个第二日志周期对应的参考日志周期为所述第一日志周期;

5、在该第二日志周期与对应的参考日志周期的原始日志数据存在差异的情况下,确定该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据;

6、存储该第二日志周期的差异日志数据。

7、可选的,所述第一日志周期包含所述指定时间范围内的第一个日志周期;一个第二日志周期对应的参考日志周期在该第二日志周期之前;

8、针对所述指定时间范围内除所述第一日志周期外的每一第二日志周期,比较该第二日志周期和该第二日志周期在所述指定时间范围内对应的参考日志周期的原始日志数据,包括:

9、针对所述指定时间范围内除所述第一日志周期外的每一第二日志周期,当达到该第二日志周期的终止时刻时,比较该第二日志周期和该第二日志周期在所述指定时间范围内对应的参考日志周期的原始日志数据。

10、可选的,一个第二日志周期对应的参考日志周期为:该第二日志周期的前一个日志周期。

11、可选的,一个日志周期的原始日志数据包括:该日志周期内的至少一条日志内容,以及所述至少一条日志内容的内容标识;针对同一对象的多条日志内容的内容标识相同;

12、所述比较该第二日志周期和该第二日志周期在所述指定时间范围内对应的参考日志周期的原始日志数据,包括:

13、针对该第二日志周期的原始日志数据中每一个内容标识,获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容;

14、比较该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容;

15、所述在该第二日志周期与对应的参考日志周期的原始日志数据存在差异的情况下,确定该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据,包括:

16、在该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容存在差异的情况下,确定该内容标识对应的差异日志内容;其中,该内容标识对应的差异日志内容表示:该第二日志周期的原始日志数据中该内容标识对应的日志内容与所述参考日志内容之间的差异部分;

17、基于各内容标识对应的差异日志内容,得到该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据;

18、所述存储该第二日志周期的差异日志数据,包括:

19、针对该第二日志周期的原始日志数据中每一个内容标识,存储该内容标识和该内容标识对应的差异日志内容的对应关系。

20、可选的,在所述获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容之前,所述方法还包括:

21、针对该第二日志周期的原始日志数据中每一个内容标识,判断该第二日志周期对应的参考日志周期的原始日志数据中是否存在该内容标识;

22、所述获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容,包括:

23、在该第二日志周期对应的参考日志周期的原始日志数据中存在该内容标识的情况下,获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容;

24、在所述基于各内容标识对应的差异日志内容,得到该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据之前,所述方法还包括:

25、在该第二日志周期对应的参考日志周期的原始日志数据中不存在该内容标识的情况下,获取该第二日志周期的原始日志数据中该内容标识对应的日志内容,作为该内容标识对应的差异日志内容。

26、可选的,针对该第二日志周期的原始日志数据中每一个内容标识,该内容标识所属对应关系中记录有:该内容标识、该内容标识对应的差异日志内容,以及该内容标识对应的差异标识;

27、其中,针对该第二日志周期的原始日志数据中每一个内容标识,在该第二日志周期对应的参考日志周期的原始日志数据中不存在该内容标识的情况下,该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为该第二日志周期的原始日志数据中该内容标识对应的日志内容;

28、在该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容存在差异的情况下,该内容标识对应的差异标识表示:该内容标识对应的差异日志内容在所述参考日志内容中的位置;

29、在该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容不存在差异的情况下,该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为空。

30、本技术实施的第二方面,提供了一种日志还原方法,所述方法包括:

31、获取已存储的指定时间范围内的日志压缩数据;其中,所述日志压缩数据包含:所述指定时间范围内第一日志周期的原始日志数据,以及所述指定时间范围内除所述第一日志周期外的每一第二日志周期的差异日志数据;一个第二日志周期的差异日志数据表示:该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的部分;至少存在一个第二日志周期对应的参考日志周期为所述第一日志周期;

32、基于所述第一日志周期的原始日志数据,以及每一第二日志周期的差异日志数据,得到每一第二日志周期的原始日志数据。

33、可选的,基于所述第一日志周期的原始日志数据,以及每一第二日志周期的差异日志数据,得到每一第二日志周期的原始日志数据,包括:

34、确定以已还原日志的日志周期为参考日志周期的其他未还原日志的日志周期,作为当前待还原日志的日志周期;

35、基于已还原日志的日志周期的原始日志数据,以及当前待还原日志的日志周期的差异日志数据,得到当前待还原日志的日志周期的原始日志数据;

36、返回执行所述确定以已还原日志的日志周期为参考日志周期的其他未还原日志的日志周期,作为当前待还原日志的日志周期的步骤,直至得到所有日志周期的原始日志数据。

37、可选的,所述第一日志周期包含所述指定时间范围内的第一个日志周期,一个第二日志周期对应的参考日志周期为:该第二日志周期的前一个日志周期。

38、可选的,一个日志周期的原始日志数据包括:该日志周期内的至少一条日志内容,以及所述至少一条日志内容的内容标识;针对同一对象的多条日志内容的内容标识相同;

39、在所述基于已还原日志的日志周期的原始日志数据,以及当前待还原日志的日志周期的差异日志数据,得到当前待还原日志的日志周期的原始日志数据之前,所述方法还包括:

40、获取存储的当前待还原日志的日志周期的原始日志数据中每一内容标识所属的对应关系;其中,每一内容标识所属的对应关系包含:该内容标识和该内容标识对应的差异日志内容;一个内容标识对应的差异日志内容表示:该第二日志周期的原始日志数据中与对应的参考日志周期的原始日志数据中该内容标识对应的日志内容之间的差异部分;

41、所述基于已还原日志的日志周期的原始日志数据,以及当前待还原日志的日志周期的差异日志数据,得到当前待还原日志的日志周期的原始日志数据,包括:

42、针对当前待还原日志的日志周期的原始日志数据中每一内容标识,基于该内容标识对应的差异日志内容,以及参考日志内容,得到当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;其中,所述参考日志内容为已还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

43、基于当前待还原日志的日志周期的原始日志数据中各内容标识对应的日志内容,得到当前待还原日志的日志周期的原始日志数据。

44、可选的,在已还原日志的日志周期的原始日志数据中不存在该内容标识的情况下,该内容标识对应的差异日志内容为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

45、在所述基于当前待还原日志的日志周期的原始日志数据中各内容标识对应的日志内容,得到当前待还原日志的日志周期的原始日志数据之前,所述方法还包括:

46、针对当前待还原日志的日志周期的原始日志数据中每一内容标识,在已还原日志的日志周期的原始日志数据中不存在该内容标识的情况下,将该内容标识对应的差异日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容。

47、可选的,针对当前待还原日志的日志周期的原始日志数据中每一内容标识,该内容标识所属的对应关系中记录有:该内容标识、该内容标识对应的差异日志内容,以及该内容标识对应的差异标识;

48、所述基于该内容标识对应的差异日志内容,以及参考日志内容,得到当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容,包括:

49、在该内容标识对应的差异标识表示:该内容标识对应的差异日志内容在所述参考日志内容中的位置的情况下,将所述参考日志内容中该内容标识对应的差异标识表示的位置处的日志内容,替换为该内容标识对应的差异日志内容,得到当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

50、在该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为空的情况下,将所述参考日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

51、所述在已还原日志的日志周期的原始日志数据中不存在该内容标识的情况下,将该内容标识对应的差异日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容,包括:

52、在该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容的情况下,将该内容标识对应的差异日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容。

53、本技术实施的第三方面,提供了一种日志压缩装置,所述装置包括:

54、原始日志数据获取模块,用于获取需要压缩日志数据的指定时间范围内第一日志周期的原始日志数据,并进行存储;

55、日志数据比较模块,用于针对所述指定时间范围内除所述第一日志周期外的每一第二日志周期,比较该第二日志周期和该第二日志周期在所述指定时间范围内对应的参考日志周期的原始日志数据;其中,至少存在一个第二日志周期对应的参考日志周期为所述第一日志周期;

56、差异日志数据确定模块,用于在该第二日志周期与对应的参考日志周期的原始日志数据存在差异的情况下,确定该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据;

57、差异日志数据存储模块,用于存储该第二日志周期的差异日志数据。

58、可选的,所述第一日志周期包含所述指定时间范围内的第一个日志周期;一个第二日志周期对应的参考日志周期在该第二日志周期之前;

59、所述日志数据比较模块,具体用于针对所述指定时间范围内除所述第一日志周期外的每一第二日志周期,当达到该第二日志周期的终止时刻时,比较该第二日志周期和该第二日志周期在所述指定时间范围内对应的参考日志周期的原始日志数据。

60、可选的,一个第二日志周期对应的参考日志周期为:该第二日志周期的前一个日志周期。

61、可选的,一个日志周期的原始日志数据包括:该日志周期内的至少一条日志内容,以及所述至少一条日志内容的内容标识;针对同一对象的多条日志内容的内容标识相同;

62、所述日志数据比较模块,包括:

63、参考日志内容获取子模块,用于针对该第二日志周期的原始日志数据中每一个内容标识,获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容;

64、日志内容比较子模块,用于比较该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容;

65、所述差异日志数据确定模块,具体用于在该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容存在差异的情况下,确定该内容标识对应的差异日志内容;其中,该内容标识对应的差异日志内容表示:该第二日志周期的原始日志数据中该内容标识对应的日志内容与所述参考日志内容之间的差异部分;基于各内容标识对应的差异日志内容,得到该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据;

66、所述差异日志数据存储模块,具体用于针对该第二日志周期的原始日志数据中每一个内容标识,存储该内容标识和该内容标识对应的差异日志内容的对应关系。

67、可选的,所述装置还包括:

68、内容标识判断模块,用于在所述获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容之前,针对该第二日志周期的原始日志数据中每一个内容标识,判断该第二日志周期对应的参考日志周期的原始日志数据中是否存在该内容标识;

69、所述参考日志内容获取子模块,具体用于在该第二日志周期对应的参考日志周期的原始日志数据中存在该内容标识的情况下,获取该第二日志周期对应的参考日志周期的原始日志数据中该内容标识对应的日志内容,作为参考日志内容;

70、差异日志内容确定模块,用于在所述基于各内容标识对应的差异日志内容,得到该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据之前,在该第二日志周期对应的参考日志周期的原始日志数据中不存在该内容标识的情况下,获取该第二日志周期的原始日志数据中该内容标识对应的日志内容,作为该内容标识对应的差异日志内容。

71、可选的,针对该第二日志周期的原始日志数据中每一个内容标识,该内容标识所属对应关系中记录有:该内容标识、该内容标识对应的差异日志内容,以及该内容标识对应的差异标识;

72、其中,针对该第二日志周期的原始日志数据中每一个内容标识,在该第二日志周期对应的参考日志周期的原始日志数据中不存在该内容标识的情况下,该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为该第二日志周期的原始日志数据中该内容标识对应的日志内容;

73、在该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容存在差异的情况下,该内容标识对应的差异标识表示:该内容标识对应的差异日志内容在所述参考日志内容中的位置;

74、在该第二日志周期的原始日志数据中该内容标识对应的日志内容和所述参考日志内容不存在差异的情况下,该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为空。

75、本技术实施的第四方面,提供了一种日志还原装置,所述装置包括:

76、日志压缩数据获取模块,用于获取已存储的指定时间范围内的日志压缩数据;其中,所述日志压缩数据包含:所述指定时间范围内第一日志周期的原始日志数据,以及所述指定时间范围内除所述第一日志周期外的每一第二日志周期的差异日志数据;一个第二日志周期的差异日志数据表示:该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的部分;至少存在一个第二日志周期对应的参考日志周期为所述第一日志周期;

77、日志数据还原模块,用于基于所述第一日志周期的原始日志数据,以及每一第二日志周期的差异日志数据,得到每一第二日志周期的原始日志数据。

78、可选的,所述日志数据还原模块,包括:

79、日志周期确定子模块,用于确定以已还原日志的日志周期为参考日志周期的其他未还原日志的日志周期,作为当前待还原日志的日志周期;

80、日志还原子模块,用于基于已还原日志的日志周期的原始日志数据,以及当前待还原日志的日志周期的差异日志数据,得到当前待还原日志的日志周期的原始日志数据;并触发所述日志周期确定子模块,直至得到所有日志周期的原始日志数据。

81、可选的,所述第一日志周期包含所述指定时间范围内的第一个日志周期,一个第二日志周期对应的参考日志周期为:该第二日志周期的前一个日志周期。

82、可选的,一个日志周期的原始日志数据包括:该日志周期内的至少一条日志内容,以及所述至少一条日志内容的内容标识;针对同一对象的多条日志内容的内容标识相同;

83、所述装置还包括:

84、对应关系获取模块,用于在所述基于已还原日志的日志周期的原始日志数据,以及当前待还原日志的日志周期的差异日志数据,得到当前待还原日志的日志周期的原始日志数据之前,获取存储的当前待还原日志的日志周期的原始日志数据中每一内容标识所属的对应关系;其中,每一内容标识所属的对应关系包含:该内容标识和该内容标识对应的差异日志内容;一个内容标识对应的差异日志内容表示:该第二日志周期的原始日志数据中与对应的参考日志周期的原始日志数据中该内容标识对应的日志内容之间的差异部分;

85、所述日志还原子模块,包括:

86、日志内容获取单元,用于针对当前待还原日志的日志周期的原始日志数据中每一内容标识,基于该内容标识对应的差异日志内容,以及参考日志内容,得到当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;其中,所述参考日志内容为已还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

87、日志数据还原单元,用于基于当前待还原日志的日志周期的原始日志数据中各内容标识对应的日志内容,得到当前待还原日志的日志周期的原始日志数据。

88、可选的,在已还原日志的日志周期的原始日志数据中不存在该内容标识的情况下,该内容标识对应的差异日志内容为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

89、所述装置还包括:

90、日志内容获取模块,用于在所述基于当前待还原日志的日志周期的原始日志数据中各内容标识对应的日志内容,得到当前待还原日志的日志周期的原始日志数据之前,针对当前待还原日志的日志周期的原始日志数据中每一内容标识,在已还原日志的日志周期的原始日志数据中不存在该内容标识的情况下,将该内容标识对应的差异日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容。

91、可选的,针对当前待还原日志的日志周期的原始日志数据中每一内容标识,该内容标识所属的对应关系中记录有:该内容标识、该内容标识对应的差异日志内容,以及该内容标识对应的差异标识;

92、所述日志内容获取单元,具体用于在该内容标识对应的差异标识表示:该内容标识对应的差异日志内容在所述参考日志内容中的位置的情况下,将所述参考日志内容中该内容标识对应的差异标识表示的位置处的日志内容,替换为该内容标识对应的差异日志内容,得到当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

93、在该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为空的情况下,将所述参考日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容;

94、所述在已还原日志的日志周期的原始日志数据中不存在该内容标识的情况下,将该内容标识对应的差异日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容,包括:

95、在该内容标识对应的差异标识表示:该内容标识对应的差异日志内容为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容的情况下,将该内容标识对应的差异日志内容,作为当前待还原日志的日志周期的原始日志数据中该内容标识对应的日志内容。

96、本技术实施例还提供了一种电子设备,包括:

97、存储器,用于存放计算机程序;

98、处理器,用于执行存储器上所存放的程序时,实现上述任一所述的日志压缩方法或者日志还原方法。

99、本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的日志压缩方法或者日志还原方法。

100、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的日志压缩方法或者日志还原方法。

101、本技术实施例提供的一种日志压缩方法,可以获取需要压缩日志数据的指定时间范围内第一日志周期的原始日志数据,并进行存储;针对指定时间范围内除所述第一日志周期外的每一第二日志周期,比较该第二日志周期和该第二日志周期在指定时间范围内对应的参考日志周期的原始日志数据;其中,至少存在一个第二日志周期对应的参考日志周期为第一日志周期;在该第二日志周期与对应的参考日志周期的原始日志数据存在差异的情况下,确定该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的差异日志数据;存储该第二日志周期的差异日志数据。

102、基于上述处理,可以在需要压缩日志数据的时间范围(即指定时间范围)内选择第一日志周期,存储第一日志周期的完整的原始日志数据。在指定时间范围内,针对除第一日志周期外的每一日志周期(即第二日志周期),可以确定该第二日志周期对应的参考日志周期。进而,比较该第二日志周期和对应的参考日志周期的原始日志数据,也就可以确定该第二日志周期与对应的参考日志周期的原始日志数据是否存在差异。当存在差异时,可以确定出该第二日志周期与对应的参考日志周期的原始日志数据之间存在差异的日志数据(即差异日志数据),并进行存储。

103、且由于至少存在一个第二日志周期对应的参考日志周期为第一日志周期,因此,可以保证通过存储的差异日志数据和第一日志周期的原始日志数据,得到指定时间范围内各日志周期的原始日志数据。如此,针对与对应的参考日志周期存在差异的第二日志周期,可以存储差异日志数据,而无需存储第二日志周期的完整的原始日志数据。且最少只需要存储一个日志周期的完整的原始日志数据,其他日志周期均只存储差异日志数据。可以减少需要存储的日志数据,也就可以减小日志文件占用的存储空间,节约存储资源。

104、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。

本文地址:https://www.jishuxx.com/zhuanli/20240730/195319.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。