The application provides a data compression method and device, which includes: determining the LBA belonging to the cold-point data area according to the heat statistics table; selecting a block; searching the corresponding PBA of the LBA in the address mapping table for each LBA, reading the cold-point data on the PBA; compressing the read cold-point data to determine whether the free space size of the current selected block is larger than the compressed cold-point. Data size; if so, the compressed cold-point data is saved to the currently selected block; if not, a new block is selected and the steps to determine whether the free space size of the selected block is larger than that of the compressed cold-point data are returned. The cold point data belonging to the cold point data area can be obtained through the heat statistics table, without taking up a block for each data, so that the cold point data can be compressed and stored together, filling the selected blocks as far as possible, so as to minimize the remaining space of the blocks and improve the overall compression ratio of the storage.
【技术实现步骤摘要】
数据压缩方法及装置
本申请涉及数据数据处理
,尤其涉及一种数据压缩方法及装置。
技术介绍
目前的存储系统在保存数据时,通常会对数据进行压缩处理,以减少需要存储的数据量,节省存储空间的使用。对于压缩后数据的大小与数据实际内容有关,如果数据内容重复率高,压缩后数据的大小比较小,如果数据内容重复率低,压缩后数据的大小比较大,因此即使相同大小的数据,经过压缩后的大小也不同,如何分配存储空间存储这些大小不一的数据成为重中之重。在相关技术中,通过采用数据分区方式实现压缩后数据的存储,即将实际的存储空间划分成大小不等的条块(如1KB、4KB、8KB、16KB、32KB等),当获得压缩后数据时,根据压缩后数据的大小选择适合大小的条块进行存储。然而,这种方法对任何数据都是统一压缩再存储,并未考虑数据的自身特性,每条压缩后数据单独占用一个条块,且被占用条块中的剩余空间不能被重复利用,从而降低了存储的整体压缩比。
技术实现思路
有鉴于此,本申请提供一种数据压缩方法及装置,以解决现有的压缩方式的整体压缩比不高的问题。根据本申请实施例的第一方面,提供一种数据压缩方法,所述方法应用于存储设备,所述存储设备设有的存储空间被划分为多个条块,且每个条块对应有一个物理区块地址PBA,所述方法包括:依据预先建立的热度统计表确定至少一个属于冷点数据区的逻辑区块地址LBA,所述热度统计表包括LBA与热度值的对应关系,所述属于冷点数据区的LBA对应的热度值位于第一预设范围;从所述存储空间中选择一个条块;针对获取的每一LBA,在地址映射表中查找该LBA对应的PBA,并读取该PBA上的冷点数据;采用第 ...
【技术保护点】
1.一种数据压缩方法,其特征在于,所述方法应用于存储设备,所述存储设备设有的存储空间被划分为多个条块,且每个条块对应有一个物理区块地址PBA,所述方法包括:依据预先建立的热度统计表确定至少一个属于冷点数据区的逻辑区块地址LBA,所述热度统计表包括LBA与热度值的对应关系,所述属于冷点数据区的LBA对应的热度值位于第一预设范围;从所述存储空间中选择一个条块;针对获取的每一LBA,在地址映射表中查找该LBA对应的PBA,并读取该PBA上的冷点数据;采用第一压缩算法对读取的冷点数据进行压缩,并判断当前所选条块的空闲空间大小是否大于压缩后的冷点数据的大小;若是,则将压缩后的冷点数据保存至当前所选条块的空闲空间中,并利用当前所选条块对应的PBA更新地址映射表中该LBA对应的PBA;若否,则从所述存储空间中重新选择一个条块,并返回执行判断所选条块的空闲空间大小是否大于压缩后的冷点数据的大小的步骤。
【技术特征摘要】
1.一种数据压缩方法,其特征在于,所述方法应用于存储设备,所述存储设备设有的存储空间被划分为多个条块,且每个条块对应有一个物理区块地址PBA,所述方法包括:依据预先建立的热度统计表确定至少一个属于冷点数据区的逻辑区块地址LBA,所述热度统计表包括LBA与热度值的对应关系,所述属于冷点数据区的LBA对应的热度值位于第一预设范围;从所述存储空间中选择一个条块;针对获取的每一LBA,在地址映射表中查找该LBA对应的PBA,并读取该PBA上的冷点数据;采用第一压缩算法对读取的冷点数据进行压缩,并判断当前所选条块的空闲空间大小是否大于压缩后的冷点数据的大小;若是,则将压缩后的冷点数据保存至当前所选条块的空闲空间中,并利用当前所选条块对应的PBA更新地址映射表中该LBA对应的PBA;若否,则从所述存储空间中重新选择一个条块,并返回执行判断所选条块的空闲空间大小是否大于压缩后的冷点数据的大小的步骤。2.根据权利要求1所述的方法,其特征在于,通过如下方式建立热度统计表:接收IO请求,利用所述IO请求携带的LBA查找热度统计表;若查找到所述LBA,则将所述LBA对应的热度值加1;若未查找到所述LBA,则将所述LBA和热度值为1添加到所述热度统计表中。3.根据权利要求2所述的方法,其特征在于,若所述IO请求为写请求,则所述方法还包括:若所述IO请求携带的LBA对应的热度值位于第二预设范围,则根据所述IO请求携带的数据的大小从所述存储空间中选择条块,并将所述数据保存至所选条块,并利用所述LBA、所选条块对应的PBA以及未压缩标识更新地址映射表;若所述IO请求携带的LBA对应的热度值未位于第二预设范围,则以预设压缩粒度对所述数据进行分块,并针对每个分块,采用第二压缩算法对该分块进行压缩,并根据压缩后的分块的大小从所述存储空间中选择一个条块,并将压缩后的分块保存至所选条块,并利用所述LBA、所选条块对应的PBA以及快速压缩标识更新地址映射表;其中,所述第二预设范围大于所述第一预设范围,所述第二压缩算法的压缩速度大于所述第一压缩算法的压缩速度。4.根据权利要求3所述的方法,其特征在于,在读取该PBA上的冷点数据之后,所述方法还包括:若所述地址映射表中记录的该PBA对应的标识为快速压缩标识,则采用所述第二压缩算法对应的解压算法解压该冷点数据。5.根据权利要求3所述的方法,其特征在于,在利用当前所选条块对应的PBA更新地址映射表中该LBA对应的PBA之后,所述方法还包括:将深度压缩标识对应该LBA添加到所述地址映射表中;在依据预先建立的热度统计表确定至少一个属于冷点数据区的逻辑区块地址LBA之后,所述方法还包括:针对获取的每一LBA,在所述地址映射表中查找该LBA对应的标识;若所述标识为深度压缩标识,则将该LBA丢弃。6.一种数据压缩装置,其特征在于,所述装置应用于存储设...
【专利技术属性】
技术研发人员:扈海龙,
申请(专利权)人:杭州宏杉科技股份有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。