一种数据卷压缩率的评估方法和系统与流程

文档序号:12270799阅读:232来源:国知局
一种数据卷压缩率的评估方法和系统与流程

本发明涉及存储系统技术领域,特别是涉及一种数据卷压缩率的评估方法和系统。



背景技术:

随着科学技术的发展,人们已经进入了信息时代。在信息时代,最为关键的技术即为数据的处理。

在对数据处理的过程中往往要采用存储设备对数据进行存储。但是随着大数据时代的到来,数据量越来越大,这就要求提高存储系统的使用效率,目前,常见的存储系统均提供有数据压缩的功能,以在存储时将占用存储空间较大的数据块压缩为占用存储空间相对较小的数据块。但是,数据压缩往往耗时较长,且占用CPU资源较高,对于不同类型的数据来说,压缩效率的差异也是很大的。若对于某些压缩效率较低的数据块进行压缩,其节省的存储空间较小,但是却耗费了大量的时间和CPU资源,往往得不偿失。

因而,如何获知数据块压缩后所能够带来的节省的空间成本,以判断该数据块是否值得进行数据压缩,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种数据卷压缩率的评估方法和系统,可以在对数据卷进行压缩前,获知数据块压缩后所能够带来的节省的空间成本,以判断该数据块是否值得进行数据压缩,为用户提供决策依据。

为解决上述技术问题,本发明提供了如下技术方案:

一种数据卷压缩率的评估方法,包括:

预先设置n个数据抽样线程,n为不小于2的整数;

将目标卷划分为n个不同的目标卷区域,各所述数据抽样线程和各所述目标卷区域一一对应;

通过各所述数据抽样线程对对应的目标卷区域进行随机抽样;

通过预设压缩算法对各抽样的数据块进行压缩计算;

对各抽样的数据块相应的压缩计算结果进行汇总,计算所述目标卷的压缩率评估结果。

优选地,所述通过各所述数据抽样线程对对应的目标卷区域进行随机抽样,包括:

预先确定每个样本的数据块的大小信息;

通过各所述抽样线程对对应的目标卷区域按照所确定的每个数据块的大小信息循环读入数据块。

优选地,所述通过预设压缩算法对各抽样的数据块进行压缩计算,为:

通过VIFO压缩算法对各抽样的数据块进行压缩计算。

优选地,所述对各抽样的数据块相应的压缩计算结果进行汇总,包括:

判断抽样总量是否达到预设的抽样总量下限阈值;

若否,则保存每次抽样时所述VIFO压缩算法的输入数据大小、输出数据大小和压缩率;

若是,则将所有保存的数据进行汇总。

优选地,还包括:

判断各所述数据抽样线程对对应目标卷区域的IO读取失败次数是否超过预设读取失败次数阈值;

若是,则停止各所述数据抽样线程对对应的目标卷区域进行抽样动作。

优选地,还包括:

判断各所述数据抽样线程对所述目标卷进行随机抽样时的样本的空数据块数目是否达到预设空数据块数目上限阈值;

若是,则停止各所述数据抽样线程对对应的目标卷区域进行抽样动作。

一种数据卷压缩率的评估系统,包括:数据抽样线程模块、区域划分模块和压缩率评估模块;

其中,所述数据抽样线程模块包括n个数据抽样线程单元,n为不小于2的整数,所述区域划分模块用于根据所述数据抽样线程单元的数目将目标卷划分为n个不同的目标卷区域,且各所述数据抽样线程单元和各所述目标卷区域一一对应;

所述数据抽样线程单元用于对对应的目标卷区域进行随机抽样,并根据预设压缩算法对各抽样的数据块进行压缩计算;

所述压缩率评估模块用于汇总各抽样的数据块相应的压缩计算结果,并计算所述目标卷的压缩率评估结果。

优选地,所述数据抽样线程单元包括:

样本数据块大小设定子单元,用于确定每个样本的数据块的大小信息;

抽样功能子单元,用于根据每个数据块的大小信息循环读入数据块,进行随机抽样,并根据预设压缩算法对各抽样的数据块进行压缩计算。

优选地,还包括:

第一判断模块,用于判断抽样总量是否达到预设的抽样总量下限阈值,并在判定抽样总量达到预设的抽样总量下限阈值时,控制所述压缩率评估模块执行汇总功能动作。

优选地,还包括:

第二判断模块,用于判断所述数据抽样线程模块对所述目标卷的IO读取失败次数是否超过预设读取失败次数阈值,并在判断结果为是时,控制所述数据抽样线程模块停止抽样动作;

第三判断模块,用于判断所述数据抽样线程模块对所述目标卷进行随机抽样时的样本的空数据块数目是否达到预设空数据块数目上限阈值,并在判定结果为是时,控制所述数据抽样线程模块停止抽样动作。

与现有技术相比,上述技术方案具有以下优点:

本发明实施例所提供的数据卷压缩率的评估方法,包括:预先设置n个数据抽样线程,n为不小于2的整数;将目标卷划分为n个不同的目标卷区域,各数据抽样线程和各目标卷区域一一对应;通过各数据抽样线程对对应的目标卷区域进行随机抽样;通过预设压缩算法对各抽样的数据块进行压缩计算;对各抽样的数据块相应的压缩计算结果进行汇总,计算目标卷的压缩率评估结果。在对数据卷进行压缩之前,通过上述的技术方案对数据卷的压缩率进行评估,采用数学方法和统计学方法对目标卷的压缩率进行随机抽样分析,调查简单节约成本,保证了评估的准确可靠性,减少了对系统资源的占用,无需漫长的的数据压缩过程即可对目标卷压缩后的空间节约进行预估,为用户是否进行压缩的决策提供了数据支持。

附图说明

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

图1为本发明一种具体实施方式所提供的数据卷压缩率的评估方法流程图;

图2为本发明一种具体实施方式所提供的数据卷压缩率的评估系统结构示意图。

具体实施方式

本发明的核心是提供一种数据卷压缩率的评估方法和系统,可以在对数据卷进行压缩前,获知数据块压缩后所能够带来的节省的空间成本,以判断该数据块是否值得进行数据压缩,为用户提供决策依据。

为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。

请参考图1,图1为本发明一种具体实施方式所提供的数据卷压缩率的评估方法流程图。

本发明的一种具体实施方式提供了一种数据卷压缩率的评估方法,包括:

S11:预先设置n个数据抽样线程,n为不小于2的整数;

S12:将目标卷划分为n个不同的目标卷区域,各数据抽样线程和各目标卷区域一一对应;

S13:通过各数据抽样线程对对应的目标卷区域进行随机抽样;

S14:通过预设压缩算法对各抽样的数据块进行压缩计算;

S15:对各抽样的数据块相应的压缩计算结果进行汇总,计算目标卷的压缩率评估结果。

在本实施方式中,为了提高评估方法的评估算法效率和随机抽样的准确性,采用了多线程架构,即预设了n个数据抽样线程,对目标卷按线程数划分为不同的区域,每个线程独立负责一个区域进行随机抽样。其中,每个目标卷区域相当于统计学整群抽样中的一个群,因此,本实施方式中的技术方案就具有调查方便、节约成本的优点。通过预设的压缩算法对抽样的数据块进行压缩计算,从而可以计算出样本的压缩率。这样对多个抽样计算结果进行汇总即可得出目标卷压缩率的评估结果。

在对数据卷进行压缩之前,通过上述的技术方案对数据卷的压缩率进行评估,采用数学方法和统计学方法对目标卷的压缩率进行随机抽样分析,调查简单节约成本,保证了评估的准确可靠性,减少了对系统资源的占用,无需漫长的的数据压缩过程即可对目标卷压缩后的空间节约进行预估,为用户是否进行压缩的决策提供了数据支持,若评估出当前目标卷压缩后能够节省较大的空间成本,则用户即可对该目标卷进行压缩,否则,不必对该目标卷进行压缩,可以避免对CPU资源的占用,节省时间。

在上述实施方式的基础上,本发明一种实施方式中,通过各数据抽样线程对对应的目标卷区域进行随机抽样,包括:

预先确定每个样本的数据块的大小信息;

通过各抽样线程对对应的目标卷区域按照所确定的每个数据块的大小信息循环读入数据块。

在本实施方式中,优选设定每64KB的数据块作为一个样本,这样既保证数据块不会太大或者过小,以提高抽样的效率。

需要说明的是,也可以采用其他大小的数据块作为一个样本,本实施方式对此并不做限定,具体视情况而定。

进一步地,通过预设压缩算法对各抽样的数据块进行压缩计算,为:通过VIFO压缩算法对各抽样的数据块进行压缩计算。

在本实施方式中,采用VIFO压缩算法,即Variable Input Fixed Output压缩算法,该算法输入缓冲长度不定而输出缓冲长度固定,可以尽可能地压缩更多的数据,直到输入数据缓冲区为空或者输出数据缓冲区满。

更进一步地,对各抽样的数据块相应的压缩计算结果进行汇总,包括:

判断抽样总量是否达到预设的抽样总量下限阈值;

若否,则保存每次抽样时VIFO压缩算法的输入数据大小、输出数据大小和压缩率;

若是,则将所有保存的数据进行汇总。

在本实施方式中,设置了抽样总量下限阈值,优选地该抽样总量下限阈值为3400个。抽样总量下限阈值的设定,需要既能满足抽样统计样本量的需求,又能兼顾算法高效快速的基本要求,这是由于采样的数量越多则评估的结果越精确,而为了保证评估的误差率较小,甚至该误差率在5%以内,则最低的采样总数为3400,当然根据实际需求,若需要误差率更小,则设定相应的抽样总量下限阈值即可。在抽样总量没有达到该抽样总量下限阈值时,不进行汇总计算,以保证压缩率评估结果的精确性。

在本发明的一种实施方式中,该方法还包括:

判断各数据抽样线程对对应目标卷区域的IO读取失败次数是否超过预设读取失败次数阈值;

若是,则停止各数据抽样线程对对应的目标卷区域进行抽样动作。

当目标卷正被当前业务应用时,往往会引起数据抽样线程对目标卷的IO读取失败,而此时若强行继续进行抽样评估,会影响当前业务的进行,因此,当各数据抽样线程对对应目标卷区域的IO读取失败次数超过预设读取失败次数阈值时,自动终止抽样操作。优选地,当读取IO失败次数比例达到1%(默认1%,最大为5%)时,自动终止操作,该比例指的是失败次数与抽样总量下限阈值对应的读取IO次数的比。

进一步地,该方法还包括:

判断各数据抽样线程对目标卷进行随机抽样时的样本的空数据块数目是否达到预设空数据块数目上限阈值;

若是,则停止各数据抽样线程对对应的目标卷区域进行抽样动作。

在抽样过程中,若作为样本的数据块大部分为空数据块,如空数据块的抽样比例超过95%时,自动终止操作。这是由于在对目标卷进行抽样计算评估结果时,需要保证评估结果的精确度范围,即保证抽样误差在一定范围内,若空数据块过多会影响抽样结果的准确性,此外,若空数据块过多说明磁盘比较空,可用空间足够,甚至无需进行压缩以及压缩评估。因此,在本实施方式中,根据评估结果结合该结果的精度范围两项指标,能够更加高效精确地评估出目标卷的压缩率。

请参考图2,图2为本发明一种具体实施方式所提供的数据卷压缩率的评估系统结构示意图。

相应地,本发明一种实施方式还提供了一种数据卷压缩率的评估系统,包括:数据抽样线程模块1、区域划分模块2和压缩率评估模块3;其中,数据抽样线程模块1包括n个数据抽样线程单元,n为不小于2的整数,区域划分模块2用于根据数据抽样线程单元的数目将目标卷划分为n个不同的目标卷区域,且各数据抽样线程单元和各目标卷区域一一对应;数据抽样线程单元用于对对应的目标卷区域进行随机抽样,并根据预设压缩算法对各抽样的数据块进行压缩计算;压缩率评估模块3用于汇总各抽样的数据块相应的压缩计算结果,并计算目标卷的压缩率评估结果。

在本实施方式中,压缩率评估模块和区域划分模块可以集成在数据抽样线程模块中。在对数据卷进行压缩之前,通过上述的技术方案对数据卷的压缩率进行评估,采用数学方法和统计学方法对目标卷的压缩率进行随机抽样分析,调查简单节约成本,保证了评估的准确可靠性,减少了对系统资源的占用,无需漫长的的数据压缩过程即可对目标卷压缩后的空间节约进行预估,为用户是否进行压缩的决策提供了数据支持,若评估出当前目标卷压缩后能够节省较大的空间成本,则用户即可对该目标卷进行压缩,否则,不必对该目标卷进行压缩,可以避免对CPU资源的占用,节省时间。

在本发明的一种实施方式中,数据抽样线程单元包括:样本数据块大小设定子单元,用于确定每个样本的数据块的大小信息;抽样功能子单元,用于根据每个数据块的大小信息循环读入数据块,进行随机抽样,并根据预设压缩算法对各抽样的数据块进行压缩计算。

进一步地,该系统还包括:第一判断模块,用于判断抽样总量是否达到预设的抽样总量下限阈值,并在判定抽样总量达到预设的抽样总量下限阈值时,控制压缩率评估模块执行汇总功能动作。

在本实施方式中,设置了每个样本的数据块的大小和抽样总量下限阈值,优选设定每64KB的数据块作为一个样本,这样既保证数据块不会太大或者过小,以提高抽样的效率。优选地该抽样总量下限阈值为3400个。抽样总量下限阈值的设定,需要既能满足抽样统计样本量的需求,又能兼顾算法高效快速的基本要求,这是由于采样的数量越多则评估的结果越精确,而为了保证评估的误差率较小,甚至该误差率在5%以内,则最低的采样总数为3400,当然根据实际需求,若需要误差率更小,则设定相应的抽样总量下限阈值即可。在抽样总量没有达到该抽样总量下限阈值时,不进行汇总计算,以保证压缩率评估结果的精确性。

在本发明的一种实施方式中,该系统还包括:

第二判断模块,用于判断数据抽样线程模块对目标卷的IO读取失败次数是否超过预设读取失败次数阈值,并在判断结果为是时,控制数据抽样线程模块停止抽样动作;

第三判断模块,用于判断数据抽样线程模块对目标卷进行随机抽样时的样本的空数据块数目是否达到预设空数据块数目上限阈值,并在判定结果为是时,控制数据抽样线程模块停止抽样动作。

当目标卷正被当前业务应用时,往往会引起数据抽样线程对目标卷的IO读取失败,而此时若强行继续进行抽样评估,会影响当前业务的进行,因此,采用了第二判断模块,当各数据抽样线程对对应目标卷区域的IO读取失败次数超过预设读取失败次数阈值时,自动终止抽样操作。优选地,当读取IO失败次数比例达到1%(默认1%,最大为5%)时,自动终止操作,该比例指的是失败次数与抽样总量下限阈值对应的读取IO次数的比。在抽样过程中,若作为样本的数据块大部分为空数据块,如空数据块的抽样比例超过95%时,自动终止操作。这是由于在对目标卷进行抽样计算评估结果时,需要保证评估结果的精确度范围,即保证抽样误差在一定范围内,若空数据块过会影响抽样结果的准确性,此外,若空数据块过多说明磁盘比较空,可用空间足够,甚至无需进行压缩以及压缩评估。因此,在本实施方式中,根据评估结果结合该结果的精度范围两项指标,能够更加高效精确地评估出目标卷的压缩率。

综上所述,本发明所提供的数据卷压缩率的评估方法和系统,可以在对数据卷进行压缩前,获知数据块压缩后所能够带来的节省的空间成本,采用数学方法和统计学方法对目标卷的压缩率进行随机抽样分析,调查简单节约成本,保证了评估的准确可靠性,减少了对系统资源的占用,无需漫长的的数据压缩过程即可对目标卷压缩后的空间节约进行预估,为用户是否进行压缩的决策提供了数据支持,若评估出当前目标卷压缩后能够节省较大的空间成本,则用户即可对该目标卷进行压缩,否则,不必对该目标卷进行压缩,可以避免对CPU资源的占用,节省时间。此外,采用评估结果结合该结果的精度范围两项指标,能够以更加高效精确的评估目标卷的压缩率。

以上对本发明所提供一种数据卷压缩率的评估方法和系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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