[发明专利]一种数据压缩方法及装置有效
申请号: | 201711215441.3 | 申请日: | 2017-11-28 |
公开(公告)号: | CN107947799B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 刘卯银 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;G06F12/02 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据压缩 方法 装置 | ||
本发明公开了一种数据压缩方法,该方法包括以下步骤:接收按照预设的第一长度输入的待压缩的块数据;对块数据进行压缩,获得压缩后的压缩块数据;将压缩块数据按照压缩顺序进行衔接排布,获得衔接压缩块数据;将衔接压缩块数据划分给多个长度为预设的第二长度的数据块,以使系统以数据块为单位进行空间释放。应用本发明实施例所提供的技术方案,通过定长输入、变长输出的块数据压缩方式,并对变长输出的压缩后的块数据按压缩顺序进行衔接排布,将衔接排布后的块数据划分给多个长度为预设的第二长度的block,可以减少对空间的浪费,提高块数据的压缩效率,简化了对元数据的索引。本发明还公开了一种数据压缩装置,具有相应技术效果。
技术领域
本发明涉及数据压缩技术领域,特别是涉及一种数据压缩方法及装置。
背景技术
随着数据压缩技术的发展,较大地缩减了存储系统中的数据量,从而减少了存储空间,提高了系统传输、存储和处理效率。
现有的数据压缩的方法主要包括两种,方法一是定长块数据到定长块数据的压缩,如图1所示,比如64KB的块数据压缩成8KB的整数倍,或者将8KB的块数据压缩成1KB的整数倍。将主机下发的块数据切分成8KB对齐的块数据,若不对齐则进行补齐读,使待压缩块数据圆整成8KB,然后将8KB的块数据进行压缩,压缩后的块数据按照1KB向上圆整,比如压缩后的块数据是1.1KB,则按照2KB进行存储。通过圆整的方式,解决压缩后的块数据变长带来的逻辑盘上的空间分配的碎片问题。方法二是变长块数据到定长块数据的压缩,如图2所示,将同一时间内主机下发的多个块数据拼接成一个大的块数据进行压缩,压缩后的块数据按照固定的粒度8KB存储到下面的逻辑盘上。
以上两种数据压缩方法均存在一定的缺点,其中,方法一压缩后的块数据是定长的,必须以一定的粒度进行圆整,存在较大的空间浪费,影响数据的压缩效率。其次,方法二由于各块数据的长度不同,所以需要记录各块数据包括各块数据输入到压缩处理器的地址的元数据信息,元数据的索引复杂。
发明内容
为解决上述技术问题,本发明提供如下技术方案:
一种数据压缩方法,包括:
接收按照预设的第一长度输入的待压缩的块数据;
对所述块数据进行压缩,获得压缩后的压缩块数据;
将所述压缩块数据在预设的多个物理卷中按照压缩顺序进行衔接排布,获得衔接压缩块数据;
将所述衔接压缩块数据划分给多个长度为预设的第二长度的数据块,以使系统以所述数据块为单位进行空间释放;
其中,所述第二长度为对所述衔接压缩块数据进行存储的磁盘阵列条带的长度的整数倍。
在本发明的一种具体实施方式中,所述接收按照预设的第一长度输入的待压缩的块数据,包括:
接收通过补齐读的方式按照预设的第一长度输入的待压缩的块数据。
在本发明的一种具体实施方式中,所述对所述块数据进行压缩,包括:
利用在线无损压缩的方式对所述块数据进行压缩。
在本发明的一种具体实施方式中,在所述将所述衔接压缩块数据划分给多个长度为预设的第二长度的数据块之后,还包括:
为每个数据块设置相应的元数据区;
将每个数据块中所述衔接压缩块数据的元数据信息存储到对应的元数据区中;
其中,所述元数据信息包括每个第一长度的待压缩的块数据的地址与对应的所述衔接压缩块数据所在的物理卷的ID和所述物理卷的地址的对应关系。
在本发明的一种具体实施方式中,所述系统以所述数据块为单位进行空间释放,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711215441.3/2.html,转载请声明来源钻瓜专利网。