一种存储压缩方法及系统与流程

文档序号:20092196发布日期:2020-03-13 07:05阅读:364来源:国知局
一种存储压缩方法及系统与流程

本发明涉及计算机存储技术领域,具体地说是一种存储压缩方法及系统。



背景技术:

在当前信息化应用越来越广的社会背景下,云计算、大数据带来了数据的海量增长,各企业在数据存储上的投资也越来越大,为了在有限的存储设备上能够存储更多的数据,达到节省存储空间的目的,各企业级存储厂商陆续推出了存储压缩技术。压缩即将一个大字符串中的子串用一个很简短的数字来标记,然后检索该字符串出现的位置,用个简单的字符来替代。从而来减少数据表达所需要的空间,达到空间节省的目的。

由于存储压缩技术存在着压缩前后数据字节长度改变的情况,因此对数据的读写方式和存储方式都带来了影响,影响的最大表现就是开启压缩后存储性能的下降。压缩导致的存储性能下降主要体现在:由于数据压缩导致数据块大小发生变化,每个压缩后的块都需要单独存储一次地址的映射关系,而且还要额外维护一次元数据的写,在进行数据读取时还需要对压缩数据的一个解压过程。

所以当前压缩一方面带来了空间节省,另一方面导致了存储性能的下降。



技术实现要素:

本发明实施例中提供了一种存储压缩方法及系统,以解决现有技术中数据压缩导致存储性能下降的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方面提供了一种存储压缩方法,包括以下步骤:

设置负载阈值,当主机向存储写入io数据时,判断当前负载是否超过所述负载阈值;

若否,对数据进行在线压缩处理,并写入磁盘;

若是,将数据标记为未压缩,直接写入磁盘;

持续判断当前负载是否超过所述负载阈值;

在未超过负载阈值时,对所述标记为未压缩的数据进行离线压缩处理。

进一步地,所述对数据进行在线压缩处理的具体过程为:

检测数据是否为热数据;

若是,则不进行压缩,直接将数据写入磁盘;

若否,检测io的压缩比是否小于压缩阈值;

若是,则不进行压缩,直接将数据写入磁盘;

若否,对数据进行压缩,将压缩后的数据写入磁盘。

进一步地,所述对所述标记为未压缩的数据进行离线压缩处理的具体过程为:

扫描磁盘,得到磁盘中未压缩的数据,检测未压缩的数据是否为热数据;

若是,则不作处理;

若否,检测未压缩数据io的压缩比是否小于压缩阈值;

若是,则不作处理;

若否,对磁盘中未压缩数据进行压缩。

进一步地,对检测为热数据的数据进行标记,并存入热数据库中,用于下次热数据的检测。

本发明第二方面提供了一种存储压缩系统,所述系统包括:

判断比较单元,用于当主机向存储写入io数据时,判断当前负载是否超过设置的负载阈值;

第一处理单元,用于在未超过负载阈值时,对数据进行在线压缩处理,并写入磁盘;

第二处理单元,用于在超过负载阈值时,将数据标记为未压缩,直接写入磁盘;

第三处理单元,用于在未超过负载阈值时,对磁盘中所述标记为未压缩的数据进行离线压缩处理。

进一步地,所述第一处理单元包括:

第一检测模块,用于检测数据是否为热数据;

第一数据处理模块,用于将热数据写入磁盘;

第二检测模块,用于检测非热数据io的压缩比是否小于压缩阈值;

第二数据处理模块,用于将小于压缩阈值的数据写入磁盘;

第三数据处理模块,用于对不小于压缩阈值的数据进行压缩,并写入磁盘。

进一步地,所述第三处理单元包括:

扫描检测模块,用于扫描磁盘,得到磁盘中未压缩的数据,检测未压缩的数据是否为热数据;

第三检测模块,用于检测非热数据io的压缩比是否小于压缩阈值;

第四数据处理模块,用于对不小于压缩阈值的未压缩数据进行压缩。

进一步地,所述系统还包括热数据库,所述热数据库用于存储热数据。

本发明第二方面的所述存储压缩装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

1、在进行数据存储前,根据当前存储负载,将数据分为在线压缩和离线压缩相结合的处理方式,减小负载压力,以达到压缩数据节省存储空间避开存储负载高峰期,将对存储性能的影响降到最小。

2、在压缩过程中采用压缩比检测,并根据实时存储性能动态选择压缩方式。通过在线压缩避免连续io经离线压缩产生无效块而带来的垃圾回收性能损耗,通过设置压缩比,在数据进行压缩前,对达不到压缩比的数据不进行压缩直接写入存储磁盘,从而减少压缩后元数据写盘和数据读取时解压缩带来的性能损耗,同时也保证了能够高效压缩的数据被压缩而节省存储空间。

3、在压缩过程中启用热点数据识别和标记热点,在这之后对于热数据直接写盘,不压缩,直接读取,不经过压缩和解压缩流程。这样保证了热数据频繁读写过程中压缩和解压缩带来的性能损耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所述方法的流程示意图;

图2是本发明所述方法中在线压缩的流程示意图;

图3是本发明所述方法中离线压缩的流程示意图;

图4是本发明所述系统实施例1的结构示意图;

图5是本发明所述系统实施例2的结构示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

如图1所示,本发明存储压缩的方法包括以下步骤:

s1,设置负载阈值,当主机向存储写入io数据时,判断当前存储负载是否超过设置的负载阈值;

s2,若否,对数据进行在线压缩处理,并写入磁盘;

s3,若是,将数据标记为未压缩,直接写入磁盘;

s4,持续判断当前负载是否超过所述负载阈值;

s5,在未超过负载阈值时,对所述标记为未压缩的数据进行离线压缩处理。

步骤s2中,对数据进行在线压缩处理的具体过程如图2所示:

s21,检测数据是否为热数据;

若是,执行步骤s22,不进行压缩,直接将数据写入磁盘;

若否,执行步骤s23,检测io的压缩比是否小于压缩阈值;

若是,执行步骤s22,不进行压缩,直接将数据写入磁盘;

若否,执行步骤s24,对数据进行压缩,将压缩后的数据写入磁盘。

在上述在线压缩处理的过程中,对存储负载性能持续判断,若存储负载超过步骤s1中设置的负载阈值,则暂停在线压缩进程,数据直接写入磁盘,待存储负载下降的空闲实际进行自动离线压缩,对已经写入磁盘的数据进行压缩处理,将对存储性能的影响降到最低。

在线压缩过程中,步骤s21对热数据的检测通过热数据库和识别算法进行检测,具体过程为:首先检索热数据库,若数据未存在热数据库中,则利用识别算法,如lru(leastrecentlyused)对数据进行热数据识别,若识别为热数据,则将其存入热数据库中,作为以后热数据检测的依据。

步骤s5中,对所述标记为未压缩的数据进行离线压缩处理的具体过程如图3所示:

s51,扫描磁盘,得到磁盘中未压缩的数据;

s52,检测未压缩的数据是否为热数据;

若是,则执行步骤s54,对数据不作处理;

若否,则执行步骤s53,检测未压缩数据io的压缩比是否小于压缩阈值;

若是,则执行步骤s54,对数据不作处理;

若否,则执行步骤s55,对磁盘中未压缩数据进行压缩。

离线压缩过程中,步骤s52对热数据的检测通过热数据库和识别算法进行检测,具体过程为:首先检索热数据库,若数据未存在热数据库中,则利用识别算法,如lru(leastrecentlyused)对数据进行热数据识别,若识别为热数据,则将其存入热数据库中,作为以后热数据检测的依据。

如图4所示,本发明存储压缩系统包括判断比较单元1、第一处理单元2、第二处理单元3和第三处理单元4。

判断比较单元1用于当主机向存储写入io数据时,判断当前负载是否超过设置的负载阈值;第一处理单元2用于在未超过负载阈值时,对数据进行在线压缩处理,并写入磁盘;第二处理单元3用于在超过负载阈值时,将数据标记为未压缩,直接写入磁盘;第三处理单元4用于在未超过负载阈值时,对磁盘中所述标记为未压缩的数据进行离线压缩处理。

第一处理单元2包括第一检测模块21、第一数据处理模块22、第二检测模块23、第二数据处理模块24和第三数据处理模块25。第一检测模块21用于检测数据是否为热数据;第一数据处理模块22用于将热数据写入磁盘;第二检测模块23用于检测非热数据io的压缩比是否小于压缩阈值;第二数据处理模块24用于将小于压缩阈值的数据写入磁盘;第三数据处理模块25用于对不小于压缩阈值的数据进行压缩,并写入磁盘。

第三处理单元4包括扫描检测模块41、第三检测模块42和第四数据处理模块43。扫描检测模块41用于扫描磁盘,得到磁盘中未压缩的数据,检测未压缩的数据是否为热数据;第三检测模块42用于检测非热数据io的压缩比是否小于压缩阈值;第四数据处理模块43用于对不小于压缩阈值的未压缩数据进行压缩。

如图5所示,系统还包括热数据库5,热数据库5连接第一检测模块21和扫描检测模块41,用于存储热数据。第一检测模块21和扫描检测模块41将通过识别算法新识别出的热数据存储到热数据库中,并在下次识别时从热数据库中获取数据,检测当前数据是否为热数据,提高检测效率。

以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1