[发明专利]数据压缩方法、控制器、设备、介质及程序产品在审
申请号: | 202110341455.X | 申请日: | 2021-03-30 |
公开(公告)号: | CN115145467A | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 张良翔;张希舟;牛进保;尹青云 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F16/174 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 常忠良 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据压缩 方法 控制器 设备 介质 程序 产品 | ||
1.一种数据压缩方法,其特征在于,应用于存储设备,所述存储设备包括控制器和存储介质,所述方法包括:
所述控制器获取多个第一待压缩数据块;
所述控制器根据所述多个第一待压缩数据块的相似度将所述多个第一待压缩数据块中相似度高于第一阈值的第一数据块分至第一组;
对所述第一组中的数据块进行差量压缩,并将压缩后的数据存储至所述存储介质。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述控制器将所述多个第一待压缩数据块中除所述第一数据块之外的数据块中逻辑地址连续的第二数据块分至第二组;
所述控制器对所述第二组中的第二数据块进行压缩。
3.根据权利要求1或2所述的方法,其特征在于,所述第一组预设的第一数据块的个数为N个,所述第一组中包括的第一数据块的个数为M个,N为大于等于2的自然数,M为大于等于1的自然数,当M小于N时,所述方法还包括:
所述控制器获取多个第二待压缩数据块;
所述控制器从所述多个第二待压缩数据块中获取与所述第一数据块相似的第三数据块,所述第三数据块的数量小于等于N-M;
所述控制器解压所述第一组中的第一数据块压缩后的数据,并将所述第三数据块添加至所述第一组后,对所述第一组中的数据块进行差量压缩。
4.根据权利要求1至3任一项所述的方法,其特征在于,对所述第一组中的数据块压缩后,生成第一组的元数据,所述元数据用于记录所述第一组中的数据块的信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收读请求,所述读请求用于请求读取目标数据;
根据所述元数据确定所述目标数据所在的组为第一组;
对所述第一组中的数据块的压缩后的数据进行解压缩;
从解压缩的数据中读取所述目标数据。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收读请求,所述读请求用于请求读取目标数据;
根据所述元数据确定所述目标数据所在的组为第一组;
对所述第一组中的数据块的压缩后的数据逐块进行解压缩,当解压出的数据块包括所述目标数据时,则停止对后续数据块的压缩数据进行解压缩。
7.一种控制器,其特征在于,所述控制器包括:
通信单元,用于获取多个第一待压缩数据块;
分组单元,用于根据所述多个第一待压缩数据块的相似度将所述多个第一待压缩数据块中相似度高于第一阈值的第一数据块分至第一组;
压缩单元,用于对所述第一组中的数据块进行差量压缩;
所述通信单元,还用于并将压缩后的数据存储至存储介质。
8.根据权利要求7所述的控制器,其特征在于,所述分组单元还用于:
将所述多个第一待压缩数据块中除所述第一数据块之外的数据块中逻辑地址连续的第二数据块分至第二组;
所述压缩单元还用于:
对所述第二组中的第二数据块进行压缩。
9.根据权利要求7或8所述的控制器,其特征在于,所述第一组预设的第一数据块的个数为N个,所述第一组中包括的第一数据块的个数为M个,N为大于等于2的自然数,M为大于等于1的自然数;
所述通信单元,还用于当M小于N时,获取多个第二待压缩数据块;
所述通信单元,还用于从所述多个第二待压缩数据块中获取与所述第一数据块相似的第三数据块,所述第三数据块的数量小于等于N-M;
所述控制器还包括:
解压单元,用于解压所述第一组中的第一数据块压缩后的数据;
所述分组单元,还用于将所述第三数据块添加至所述第一组;
所述压缩单元,还用于对所述第一组中的数据块进行差量压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110341455.X/1.html,转载请声明来源钻瓜专利网。