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

技术编号:21224232 阅读:34 留言:0更新日期:2019-05-29 04:59
本申请提供一种数据压缩方法及装置,方法包括:依据热度统计表确定属于冷点数据区的LBA;选择一个条块;针对每一LBA,在地址映射表中查找该LBA对应的PBA,读取该PBA上的冷点数据;对读取的冷点数据压缩,判断当前所选条块空闲空间大小是否大于压缩后的冷点数据大小;若是,则将压缩后的冷点数据保存至当前所选条块;若否,则重新选择一个条块,并返回执行判断所选条块的空闲空间大小是否大于压缩后的冷点数据的大小的步骤。通过热度统计表获得属于冷点数据区的冷点数据,无需每条数据都占用一个条块,从而可对冷点数据进行压缩并进行拼接存储,尽量填满所选的条块,使得条块的剩余空间达到最小,提升存储的整体压缩比。

Data Compression Method and Device

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上的冷点数据;采用第一压缩算法对读取的冷点数据进行压缩,并判断当前所选条块的空闲空间大小是否大于压缩后的冷点数据的大小;若是,则将压缩后的冷点数据保存至当前所选条块的空闲空间中,并利用当前所选条块对应的PBA更新地址映射表中该LBA对应的PBA;若否,则从所述存储空间中重新选择一个条块,并返回执行判断所选条块的空闲空间大小是否大于压缩后的冷点数据的大小的步骤。根据本申请实施例的第二方面,提供一种数据压缩装置,所述装置应用于存储设备,所述存储设备设有的存储空间被划分为多个条块,且每个条块对应有一个物理区块地址PBA,所述装置包括:LBA确定模块,用于依据预先建立的热度统计表确定至少一个属于冷点数据区的LBA,所述热度统计表包括LBA与热度值的对应关系,所述属于冷点数据区的LBA对应的热度值位于第一预设范围;选择模块,用于从所述存储空间中选择一个条块;压缩及存储模块,用于针对获取的每一LBA,在地址映射表中查找该LBA对应的PBA,并读取该PBA上的冷点数据,并采用第一压缩算法对读取的冷点数据进行压缩;判断当前所选条块的空闲空间大小是否大于压缩后的冷点数据的大小;若是,则将压缩后的冷点数据保存至当前所选条块的空闲空间中,并利用当前所选条块对应的PBA更新地址映射表中该LBA对应的PBA;若否,则从所述存储空间中重新选择一个条块,并返回执行判断所选条块的空闲空间大小是否大于压缩后的冷点数据的大小的步骤。应用本申请实施例,通过预先建立的热度统计表(包括LBA与热度值的对应关系)确定至少一个属于冷点数据区的LBA,所述属于冷点数据区的LBA对应的热度值位于第一预设范围,然后从存储空间中选择一个条块,进而针对获取的每一LBA,在地址映射表中查找该LBA对应的PBA并读取该PBA上的冷点数据,采用第一压缩算法对读取的冷点数据进行压缩,并判断当前所选条块的空闲空间大小是否大于压缩后的冷点数据的大小;若是,则将压缩后的冷点数据保存至当前所选条块的空闲空间中,并利用当前所选条块对应的PBA更新地址映射表中该LBA对应的PBA;若否,则从所述存储空间中重新选择一个条块,并返回执行判断所选条块的空闲空间大小是否大于压缩后的冷点数据的大小的步骤。基于上述描述可知,通过热度统计表获得属于冷点数据区的冷点数据,即用户很少访问的数据,无需每条数据都占用一个条块,从而可以对这些冷点数据进行压缩并进行拼接存储,以尽量填满所选的条块,使得条块的剩余空间达到最小,从而提升存储的整体压缩比。附图说明图1为本申请根据一示例性实施例示出的一种相关技术中的压缩结构图;图2为本申请根据一示例性实施例示出的一种数据压缩方法的实施例流程图;图3为本申请根据一示例性实施例示出的一种存储设备的硬件结构图;图4为本申请根据一示例性实施例示出的一种数据压缩装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1为本申请根据一示例性实施例示出的一种相关技术中的压缩结构图,存储设备上设有的存储空间包括有1KB、4KB、8KB、16KB以及32KB的条块,当接收到写IO时,对写IO携带的数据进行压缩处理后,如果压缩后数据量小于等于1KB,则选择1KB的条块来存储压缩后数据;如果压缩后数据量大于16KB但小于等于32KB,则选择32KB的条块来存储压缩后数据;如果压缩后数据量大于1KB但小于等于4KB,则选择4KB的条块来存储压缩后数据;如果压缩后数据量大于8KB但小于等于16KB,则选择16KB的条块来存储压缩后数据;如果压缩后数据量大于4KB但小于等于8KB,则选择8KB的条块来存储压缩后数据。由此可知,这种对任何数据都统一压缩存储的方式,并未考虑数据的自身特性,每条压缩后数据单独占用一个条块,且被占用条块中的剩余空间不能被重复利用,从而降低了存储的整体压缩比。为解决上述问题,本申请提出一种数据压缩方法,先通过预先建立的热度统计表(包括LBA与热度值的对应关系)确定至少一个属于冷点数据区的LBA(LogicalBlockAddress,逻辑区块地址),所述属于冷点数据区的LBA对应的热度值位于第一预设范围,然后从存储空间中选择一个条块,进而针对获取的每一LBA,在地址映射表中查找该LBA对应的PBA(PhysicsBlockAddress,物理区块地址)并读取该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

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

1