本技术实施例涉及数据存储,特别涉及一种数据压缩方法、装置、计算机设备及存储介质。
背景技术:
1、随着互联网技术的发展,计算机设备通常需要存储大量的数值型数据。比如,环境监测系统需要将某个城市每天在各个时间点的温度存储在计算机设备中。为了提高数据存储效率,可以将这类数据压缩之后存储,从而节省存储空间。
2、相关技术中,对于待存储的数据流,可以根据每个数据与相邻的前一个数据之间的关系,来压缩当前数据,以消除相邻数据之间的冗余。比如,可以将当前数据与相邻的前一个数据作差,根据作差结果压缩当前数据。这样可以将数据流中相邻数据之间的冗余进行去除。
3、但是相关技术中只能对相邻数据之间的冗余进行消除,压缩灵活性较低。
技术实现思路
1、本技术实施例提供了一种数据压缩方法、装置、计算机设备及存储介质,可以对数据进行分类,然后对分类后的每类数据进行压缩,这样不仅可以消除相邻数据之间的冗余,还可以消除非相邻数据之间的冗余,提高了压缩灵活性。所述技术方案如下:
2、第一方面,提供了一种数据压缩方法,在该方法中,获取待压缩的数据流,数据流包括多个数据;基于多个数据中每个数据的上下文信息,从多个数据中确定多类数据,多类数据中每类数据包括多个数据中至少一个数据,每个数据的上下文信息指示数据流中位于相应数据之前和/或之后的数据;压缩多类数据中至少一类数据。
3、在本技术实施例中,可以对数据流中的数据进行分类,以便于后续对分类后的每类数据进行压缩,这样不仅可以消除相邻数据之间的冗余,还可以消除非相邻数据之间的冗余,提高了压缩灵活性。
4、基于第一方面提供的方法,在一种可能的实现方式中,基于多个数据中每个数据的上下文信息,从多个数据中确定多类数据的实现过程可以为:确定多个数据中的至少一个第一数据,第一数据为数据流中非首次出现的数据,将每个第一数据作为一类相同数据;将多个数据中除至少一个第一数据之外的至少一个第二数据按照相似性进行分类,得到至少一类相似数据。
5、考虑到数据流中的相同数据和相似数据采用的压缩方式可以不同,因此,在本技术实施例中,对数据流中的数据进行分类可以从相同和相似两个维度进行挖掘。并且,压缩相同数据比压缩相似数据的压缩率要高些,因此通过相同数据的挖掘和相似数据的挖掘,可以进一步提高数据的压缩率。
6、基于第一方面提供的方法,在一种可能的实现方式中,压缩多类数据中至少一类数据的实现过程可以为:对于每个第一数据,将每个第一数据的重复出现规则确定为相应第一数据的压缩数据,重复出现规则指示相应第一数据与第三数据之间的关联,第三数据为数据流中位于第一数据之前且与第一数据相同的数据;对于至少一类相似数据中任一类相似数据,如果任一类相似数据包括多个第二数据,则确定任一类相似数据对应的压缩算法,按照任一类相似数据对应的压缩算法对任一类相似数据进行压缩,得到任一类相似数据中每个第二数据对应的压缩数据。
7、在对数据流进行相同数据挖掘和相似数据挖掘之后,还可以对相同数据和相似数据采用不同的压缩方式,以提高数据的压缩率。
8、基于第一方面提供的方法,在一种可能的实现方式中,确定多个数据中的至少一个第一数据的实现过程可以为:将多个数据依次输入至至少一个预测器中每个预测器,每个预测器用于基于当前时间之前输入的数据预测当前输入的数据的预测值;对于多个数据中第i个数据,如果至少一个预测器中存在第一预测器输出的预测值与第i个数据之间的差值为0,则将第i个数据确定为一个第一数据。
9、在本技术实施例中,可以通过预测器来实现对数据流中的相同数据的挖掘。
10、基于第一方面提供的方法,在一种可能的实现方式中,压缩多类数据中至少一类数据的实现过程可以为:将第一预测器的标识确定为第i个数据的压缩数据。
11、其中,通过第一预测器的标识可以明确第一预测器的预测算法,基于该预测算法后续便可恢复出该第i个数据。因此,当第一数据是通过第一预测器挖掘得到时,第一数据的重复出现规则可以为第一预测器的标识。也即,将第一预测器的标识确定为第i个数据的压缩数据。
12、基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,如果至少一个预测器中每个预测器输出的预测值与第i个数据之间的差值均不为0,则从至少一个哈希表中的每个哈希表中查找与第i个数据相同的数据;如果至少一个哈希表中存在第一哈希表中存储有与第i个数据相同的数据,则将第i个数据确定为一个第一数据。
13、在本技术实施中,可以同时通过预测器和哈希表来实现相同数据的挖掘,以充分挖掘数据流中的相同数据。
14、基于第一方面提供的方法,在一种可能的实现方式中,压缩多类数据中至少一类数据的实现过程可以为:将第一哈希表的标识以及第i个数据在第一哈希表中的哈希值确定为第i个数据的压缩数据。
15、其中,通过第一哈希表的标识可以明确第一哈希表的具体为哪个哈希表,基于第i个数据在第一哈希表中的哈希值后续便可恢复出该第i个数据。因此当第一数据是通过第一哈希表挖掘得到时,第一数据的重复出现规则可以为第一哈希表的标识以及第一数据在第一哈希表中对应的哈希值。也即,将第一哈希表的标识以及第i个数据在第一哈希表中的哈希值确定为第i个数据的压缩数据。
16、基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,如果至少一个预测器中每个预测器输出的预测值与第i个数据之间的差值均不为0,则更新至少一个预测器,更新后的至少一个预测器存在第二预测器输出的预测值与第i个数据之间的差值为0。
17、在至少一个预测器中每个预测器输出的预测值与第i个数据之间的差值均不为0的情况下,还可以对至少一个预测器进行更新,以便于后续出现与第i个数据相同的数据时能够基于更新后的至少一个预测器挖掘出该重复出现的数据。
18、基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,如果至少一个哈希表中均不存在与第i个数据相同的数据,更新至少一个哈希表,更新后的至少一个哈希表存在第二哈希表中存储有与第i个数据相同的数据。
19、如果至少一个哈希表中均没有存储有与第i个数据相同的数据,则表明当前预测器和哈希表均未挖掘出与第i个数据相同的数据,此时还可以对至少一个哈希表进行更新,以便于后续出现与第i个数据相同的数据时能够基于更新后的至少一个哈希表挖掘出该重复出现的数据。
20、基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,如果至少一个哈希表中均不存在与第i个数据相同的数据,生成第i个数据的标记信息,标记信息指示第i个数据为一个第二数据。
21、如果至少一个哈希表中均没有存储与第i个数据相同的数据,则表明当前预测器和哈希表均未挖掘出与第i个数据相同的数据,此时还可以生成第i个数据的标记信息,该标记信息指示第i个数据为一个第二数据。以便于后续对剩下的第二数据按照相似性进行分类。
22、基于第一方面提供的方法,在一种可能的实现方式中,对于至少一类相似数据中任一类相似数据,任一类相似数据中任意两个数据之间的距离小于参考距离。
23、对于多个第二数据,可以按照不同第二数据之间的距离对多个第二数据进行分类。
24、第二方面,提供了一种数据压缩装置,所述数据压缩装置具有实现上述第一方面中数据压缩方法行为的功能。所述数据压缩装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的数据压缩方法。
25、第三方面,提供了一种计算机设备,所述计算机设备的结构中包括处理器和存储器,所述存储器用于存储支持计算机设备执行上述第一方面所提供的数据压缩方法的程序,以及存储用于实现上述第一方面所提供的数据压缩方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
26、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据压缩方法。
27、第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据压缩。方法。
28、上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
1.一种数据压缩方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述多个数据中每个数据的上下文信息,从所述多个数据中确定多类数据,包括:
3.如权利要求2所述的方法,其特征在于,所述压缩所述多类数据中至少一类数据,包括:
4.如权利要求2或3所述的方法,其特征在于,所述确定所述多个数据中的至少一个第一数据,包括:
5.如权利要求4所述的方法,其特征在于,所述压缩所述多类数据中至少一类数据,包括:
6.如权利要求4或5所述的方法,其特征在于,所述方法还包括:
7.如权利要求6所述的方法,其特征在于,所述压缩所述多类数据中至少一类数据,包括:
8.如权利要求4-7任一所述的方法,其特征在于,所述方法还包括:
9.如权利要求6-8任一所述的方法,其特征在于,所述方法还包括:
10.如权利要求6-9任一所述的方法,其特征在于,所述方法还包括:
11.如权利要求2-10任一所述的方法,其特征在于,
12.一种数据压缩装置,其特征在于,所述装置包括:
13.如权利要求12所述的装置,其特征在于,所述确定模块包括:
14.如权利要求13所述的装置,其特征在于,所述压缩模块用于:
15.如权利要求13或14所述的装置,其特征在于,所述确定子模块用于:
16.如权利要求15所述的装置,其特征在于,所述压缩模块用于:
17.如权利要求15或16所述的装置,其特征在于,所述确定子模块还用于:
18.如权利要求17所述的装置,其特征在于,所述压缩模块用于:
19.如权利要求15-18任一所述的装置,其特征在于,所述装置还包括:
20.如权利要求17-19任一所述的装置,其特征在于,所述装置还包括:
21.如权利要求17-20任一所述的装置,其特征在于,所述装置还包括:
22.如权利要求13-21任一所述的装置,其特征在于,
23.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-11任一项所述的方法。
