System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据压缩,特别是涉及一种数据压缩方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
技术介绍
1、随着待存储数据量的增长,需用更多存储空间存储照片、视频、文档和应用程序等对应的数据。通过数据压缩去除冗余信息和优化存储格式,能够使得压缩后的数据占用较少的存储空间。
2、通常,采用合并压缩的方式进行数据压缩,即将多个数据块合并在一起再进行压缩,以得到比单个数据块压缩更高的压缩率,然而,传统技术中存在数据压缩的效率比较低的问题。
技术实现思路
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、上述数据压缩方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,服务器根据多个待压缩的数据块确定初始数据块组,初始数据块组包括多个目标数据块,且各目标数据块之间的数据相似度大于预设阈值,然后,根据各目标数据块的初始压缩率,确定初始数据块组对应的第一预测压缩率,而后,根据第一预测压缩率,获取初始数据块组对应的目标数据块组,并对目标数据块组进行合并压缩处理,目标数据块组对应的第二预测压缩率大于或等于预设的压缩率阈阈值,该数据压缩方法中,服务器在进行合并压缩处理之前,能够先获取初始数据块组对应的第一预测压缩率,并根据第一预测压缩率得到大于或等于压缩率阈值的目标数据块组,使得目标数据块组对应的第二预测压缩率能够满足预期的压缩率,从而能够在对目标数据块组进行合并压缩处理后,使得合并压缩处理后的压缩率大于或等于压缩率阈值,避免压缩率过低导致读放大,或压缩率多高导致压缩无效的问题,提高合并压缩处理的成功率,进而能够提高数据压缩的效率。
本文档来自技高网...【技术保护点】
1.一种数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测压缩率,获取所述初始数据块组对应的目标数据块组,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个数据块中除各所述目标数据块之外的其他数据块,对所述初始数据块组进行更新,得到所述目标数据块组,包括:
4.根据权利要求3所述的方法,其特征在于,所述从所述其他数据块中确定替换数据块,并利用所述替换数据块更新当前数据块组,直至得到所述目标数据块组,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述将所述初始数据块组作为当前数据块组,进行至少一次数据块更新之前,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,所述对所述目标数据块组进行合并压缩处理之后,所述方法还包括:
9.根据权利要求1-7任一项所述的方法,其特征在于,所述
10.一种数据压缩装置,其特征在于,所述装置包括:
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测压缩率,获取所述初始数据块组对应的目标数据块组,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个数据块中除各所述目标数据块之外的其他数据块,对所述初始数据块组进行更新,得到所述目标数据块组,包括:
4.根据权利要求3所述的方法,其特征在于,所述从所述其他数据块中确定替换数据块,并利用所述替换数据块更新当前数据块组,直至得到所述目标数据块组,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述将所述初始数据块组作为当前数据块组,进行至少一次数据块更新之前,所述方法还包括:
7.根据权利要求6所述的...
【专利技术属性】
技术研发人员:黎少雄,何振,陈建春,杨维,滕明轩,
申请(专利权)人:曙光信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。