一种数据压缩方法及装置制造方法及图纸

技术编号:35545231 阅读:14 留言:0更新日期:2022-11-12 15:23
本申请提供一种数据压缩方法及装置,在本申请中,服务器获取压缩后的数据,该数据至少包括第一部分和第二部分。服务器对第一部分进行解压缩,在对第一部分解压缩之后,对第二部分进行解压缩,其中,所述第一部分的热度值高于所述第二部分的热度值。由于第一部分排在第二部分前面,并且第一部分的热度值相较于第二部分的热度值高,第一部分被访问的概率也比较高,因此,可以降低解压缩第一部分的读放大比率,而解压缩第二部分的放大比率相对于现有的压缩方式大致相同,从而降低了服务器的平均读放大比率。放大比率。放大比率。

【技术实现步骤摘要】
一种数据压缩方法及装置


[0001]本申请涉及计算机
,尤其涉及一种数据压缩方法及装置。

技术介绍

[0002]目前,全世界每天产生的新增计算机数据,以及巨大的存量数据,将会带来更高的存储效率和存储资源需求,数据缩减技术正是因此而发展和成熟的技术。
[0003]数据缩减技术的原理可以理解为,对于频繁使用的数据可以使用较短的代码代替,每个数据的代码不同,基于该原理,可以对待压缩的多个对象中存在的重复数据进行压缩,以此减少该多个对象所占用的存储空间。
[0004]常用的数据缩减技术包括合并压缩和差量压缩。图1为一种合并压缩的流程示意图。如图1所示,合并压缩的过程可以包括:通过相似指纹的方式识别多个相似对象,将该多个相似对象进行合并,其中,每个对象中存在多个字节,示例性地,可以以字节为粒度对每个对象进行扫描,如果在后的数据(字节)与在先的数据(字节)重复,则可以使用该数据对应的代码替换在后的数据。差量压缩与合并压缩不同之处在于,差量压缩在多个相似对象中,选取一个标准对象,将其余每个对象与该标准对象进行比对,保留与标准对象中的数据不同的数据,压缩掉与标准对象中的数据重复的数据,以此减少该多个对象所占用的存储空间。
[0005]数据缩减技术鉴于其能够有效节省存储空间而被广泛使用,但从上述合并压缩的过程中可以看出合并压缩中被压缩掉的数据与压缩后的数据之间存在一定关联的,这就导致需要对基于合并压缩后的数据解压时,需要整块解压,也即会造成读放大,例如,在对最后一个对象进行解压时,需要将其之前的全部对象一起解压,根据最后一个对象中的代码去前面的对象中找到被压缩掉的数据,从而恢复至该最后一个对象中。读放大也可以理解为,需要读取n字节的数据,但是却读取了大于n字节的数据量。
[0006]其中,受限于每秒的读写次数(Input/Output Operations Per Second,IOPS)等约束条件的限制,在对基于差量压缩后的数据解压时也存在读放大的问题,其中,IOPS是指每秒钟执行读IO的次数,例如,基于差量压缩后的数据,在读第8个对象时,一种可实施的解压方式为,给出标准对象的起始地址和长度,以及第8个对象的起始地址和长度,单独执行该两个对象的解压,该方式读IO的数量为2。在另一种可实施的解压方式中,可以给出标准对象的起始地址至第8个对象的长度,这种方式,读IO的数量为1。一般的,相对于8个对象整体解压的方式,单独解压(读)两个对象的方式,即IOPS为2相对于IOPS为1时所耗费的调度、计算等资源均较多,因此,对于差量压缩后的数据,通常也采用整块解压的方式,也因此存在读放大、以及因读放大导致的读带宽开销大等问题。

技术实现思路

[0007]本申请提供一种数据处理方法及装置,用于在保证存储资源利用率的基础上,减少解压数据的开销。
[0008]第一方面,本申请实施例提供了一种数据压缩方法,该方法可以由服务器执行,在该方法中,该服务器可以先获取压缩后的数据,如可以从服务器的存储介质中获取,也可以是从其他设备接收到的。该压缩后的数据至少包括两部分:第一部分和第二部分,当对该压缩后的数据进行解压缩时,首先对第一部分进行解压缩,之后,对第二部分进行解压缩,其中,第一部分的热度值高于第二部分。
[0009]按照第一方面提供的方法,服务器在对压缩后的数据进行解压缩时,由于第一部分排在第二部分前面,并且第一部分的热度值相较于第二部分的热度值高,第一部分被访问的概率也比较高,因此,可以降低解压缩第一部分的读放大比率,而解压缩第二部分的放大比率相对于现有的压缩方式大致相同,从而降低了服务器的平均读放大比率。
[0010]在一种可能的设计中,第一部分的热度值用于指示第一部分所包括的数据的被访问频次和/或访问时间;第二部分的热度值用于指示第二部分所包括的数据的被访问频次和/或访问时间。
[0011]在一种可能的设计中,该服务器至少包括一级存储器和二级存储器,一级存储器的性能高于所述二级存储器;例如,一级存储器为DRAM,二级存储器为SCM;又例如,一级存储器是SSD,二级存储器是HDD;再例如,一级存储器是SCM,二级存储器是SSD,等。其中,压缩后的数据中的第一部分存储于一级存储器中,压缩后的数据中的第二部分存储于二级存储器中。
[0012]上述方法,可以实现冷热数据分级存储,在降低服务器平均读放大比率的基础上,进一步降低高性能层的存储资源开销,降低成本,提升系统性能。
[0013]第二方面,本申请实施例提供了一种数据压缩方法,该方法可以由服务器执行,在该方法中,该服务器可以先获取待压缩的多个对象,该对象例如是数据块,示例性地,可以从服务器的存储介质如内存或硬盘中获取;之后,确定每个对象的热度值,并将该多个对象按照热度值由高到低的顺序进行排序,最后,对排序后的多个对象进行压缩,得到压缩后的数据,在压缩后的数据中热度值高的对象内的数据排在热度值低的对象内的数据之前。
[0014]按照第二方面提供的方法,服务器在对多个对象进行压缩之前,按照对象的热度值进行降序排序,这样热度值高的对象,即频繁读的热点数据由于排在前面在数据解压缩时读放大比率将会减少,而热度值低的对象,即冷数据由于较少被读到放大比率相对于现有的压缩方式大致相同,从而降低了服务器的平均读放大比率。
[0015]在一种可能的设计中,服务器可以是在合并该多个对象的过程中,同步将多个对象按照热度值由高到低的顺序进行排序,令合并后多个对象按照热度值由高到低连续地存储在一段目标存储空间中。
[0016]上述方法,若多个对象的初始存储空间不连续,则可以将该多个对象进行合并,这样得到的压缩后的数据也是连续的,方便进行解压缩,更进一步地,可以在合并的过程中按照热度值的排序进行对象迁移,减少资源开销。
[0017]在一种可能的设计中,多个对象中每两个对象之间的相似度超过预设阈值。可选的,相似度是通过对象的相似指纹确定的。
[0018]上述方法,相似度越高,则两个对象之间重复的数据可能越多,则缩减率越高。
[0019]在一种可能的设计中,该服务器至少包括一级存储器和二级存储器,一级存储器的性能高于所述二级存储器;例如,一级存储器为DRAM,二级存储器为SCM;又例如,一级存
储器是SSD,二级存储器是HDD;再例如,一级存储器是SCM,二级存储器是SSD,等。
[0020]该服务器可以将压缩后的数据中热度值超过第一预设阈值的部分存储在一级存储器;将所述第二数据中热度值低于第二预设阈值的部分存储在二级存储器。
[0021]上述方法,可以实现冷热数据分级存储,在降低服务器平均读放大比率的基础上,进一步降低高性能层的存储资源开销,降低成本,提升系统性能。
[0022]第三方面,本申请实施例提供了一种数据处理装置,该装置包括:获取模块,用于获取压缩后的数据,所述数据至少包括第一部分和第二部分;解压缩模块,用于对所述第一部分进行解压缩;所述解压缩模块在对所述第一部分解压缩之后,对所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取压缩后的数据,所述数据至少包括第一部分和第二部分;对所述第一部分进行解压缩;在所述第一部分解压缩之后,对所述第二部分进行解压缩;其中,所述第一部分的热度值高于所述第二部分的热度值。2.如权利要求1所述的方法,其特征在于,所述第一部分的热度值用于指示所述第一部分的被访问频次和/或访问时间;所述第二部分的热度值用于指示所述第二部分的被访问频次和/或访问时间。3.如权利要求1或2所述的方法,其特征在于,所述方法应用于存储设备,所述存储设备至少包括一级存储器和二级存储器,所述一级存储器的性能高于所述二级存储器;所述第一部分存储于所述一级存储器中,所述第二部分存储于所述二级存储器中。4.一种数据处理方法,其特征在于,所述方法包括:获取待压缩的多个对象;确定每个所述对象的热度值;将所述多个对象按照热度值由高到低的顺序进行排序,并对排序后的所述多个对象进行压缩。5.如权利要求4所述的方法,其特征在于,将所述多个对象按照热度值由高到低的顺序进行排序,还包括:合并所述多个对象,令合并后所述多个对象按照热度值由高到低连续地存储在一段目标存储空间中。6.如权利要求4或5所述的方法,其特征在于,所述多个对象中每两个对象之间的相似度超过预设阈值。7.如权利要求4

6任一项所述的方法,其特征在于,所述相似度是通过所述对象的相似指纹确定的。8.如权利要求4

7任一项所述的方法,其特征在于,所述方法应用于存储设备,所述存储设备至少包括一级存储器和二级存储器,所述一级存储器的性能高于所述二级存储器;该方法还包括:将压缩后的数据中热度值超过第一预设阈值的部分存储在所述一级存储器;将所述第二数据中热度值低于第二预设阈值的部分存储在所述二级存储器。9.一种数据处理装置,其特征在于,所述装置包括:获取模块,用于获取压缩后的数据,所述数据至少包括第一部分和第二部分;解压缩模块,用于对所述第一部分进行解压缩;在对所述第一部分解压缩之后,对所述第二部分进行解压缩;其中,所述第一部分的热度值高于所述第二部分的热度值。10.如权利要求9所述的装置...

【专利技术属性】
技术研发人员:程桢黄增士
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1