一种基于效果优选的组合数据压缩方法技术

技术编号:11018861 阅读:87 留言:0更新日期:2015-02-11 09:25
本发明专利技术涉及一种基于效果优选的组合数据压缩方法,包括:根据待压缩数据类型、主要特征和/或时间限制因素选取多种压缩算法,构成压缩算法集,获取多种压缩算法对应的解压算法的平均解压速度Di;分析待压缩数据需求,将其分成多个数据块,获取计算机系统的公共参数;计算每个数据块使用多种压缩算法的压缩效果值;比较多种压缩算法的压缩效果值,选取压缩效果值最小的算法作为最优算法;根据每个数据块对应的最优算法进行数据压缩计算。本发明专利技术基于效果优选的组合压缩算法融合了多种压缩算法的优点,同时考虑了数据读取速度和磁盘空间资源的影响,能够最大化的提高数据压缩效果,并提高数据实际读取的性能。

【技术实现步骤摘要】
一种基于效果优选的组合数据压缩方法
本专利技术涉及计算机算法
,尤其涉及一种基于效果优选的组合数据压缩方法。
技术介绍
目前,程序算法原理存在差异性,不同的压缩算法对同一类型数据的压缩效果并不相同,同理,相同的压缩算法对于不同类型数据的压缩效果也不相同。由于具体数据特征的不可预知,导致任何单一数据压缩算法都无法达到最优压缩效果。针对不同数据类型的压缩,如何才能达到理想的压缩效果,是目前人们一直研究和探讨的热点问题。我们实验统计的数据表明,基于特征值的组合压缩算法会使得15%左右的数据选择的压缩算法不能达到最优压缩效果,其压缩效果大约在最优压缩效果的40%~80%之间。因此,就总体数据而言,基于特征值的组合压缩算法存在15%*(1-60%)=6%的优化空间。在压缩和解压的次数差别不大的场景下,上述的6%的优化空间的优化价值并不大,而在解压次数远大于压缩次数的场景中,如分析型数据库,牺牲一定的压缩性能,从而提高上述6%的压缩效果,能够在多次解压过程中,极大的提高整体的解压读取性能。本专利技术针对基于特征值的组合压缩算法存在的优化空间,提出了基于效果优选的组合压缩算法,本算法通过对实际压缩结果的对比,从备选压缩算法选择最优压缩算法,能最大限度的提高数据的实际压缩效果。
技术实现思路
本专利技术所要解决的技术问题是如何解决目前基于特征值的压缩算法存在部分数据无法达到压缩最优化的关键问题。为此目的,本专利技术提出了一种基于效果优选的组合数据压缩方法,包括以下具体步骤:S1:根据待压缩数据类型、主要特征和/或时间限制因素选取多种压缩算法,构成压缩算法集,以及获取所述多种压缩算法对应的解压算法的平均解压速度Di;S2:分析所述待压缩数据需求,将其分成多个数据块,以及获取所述计算机系统的公共参数;S3:计算所述每个数据块使用所述多种压缩算法的压缩效果值;S4:比较所述多种压缩算法的所述压缩效果值,选取压缩效果值最小的算法作为最优算法;S5:根据所述每个数据块对应的所述最优算法进行数据压缩计算。进一步地,所述步骤S3还包括:S31:对于所述多个数据块,预设数据大小为C0;S32:遍历所述压缩算法集其中的所述多种压缩算法对所述每个数据块进行压缩计算,并统计压缩结果的大小CRi。进一步地,所述步骤S3还包括:S31’:计算得到所述多种压缩算法对于所述每个数据块的压缩结果的总读取时间Ti;S32’:计算所述每个数据块中的数据不进行压缩时的读取总时间T0以及压缩效果值。具体地,通过公式:Ti=(CRi/Di)+(CRi/V)计算得到所述多种压缩算法对于所述每个数据块的压缩结果的总读取时间Ti,其中,所述压缩结果的大小CRi,所述多种压缩算法中的每种算法的平均解压速率为Di,平均I/O的读取速度为V。具体地,通过公式:T0=C0/V计算得到所述多种压缩算法对于所述每个数据块中的数据不进行压缩时的读取总时间T0。具体地,通过公式:CEV0=(T0/T0)+C0*DSR=1+C0*DSR计算得到所述多种压缩算法对于所述每个数据块中的数据不进行压缩时的压缩效果值,其中,所述预设数据大小为C0,磁盘敏感系数为DSR。进一步地,所述步骤S3还包括:通过公式:CEVi=(Ti/T0)+CRi*DSR计算所述每个数据块使用所述多种压缩算法的压缩效果值,其中,计算得到所述多种压缩算法对于所述每个数据块的压缩结果的总读取时间Ti,计算所述每个数据块中的数据不进行压缩时的读取总时间T0,所述压缩结果的大小CRi,所述磁盘敏感系数为DSR。进一步地,所述步骤S5之后还包括:记录所述每个数据块压缩结果,以及所述最优算法信息。本专利技术公开了一种基于效果优选的组合数据压缩方法,基于效果的组合压缩方法融合了多种压缩算法的优点,同时考虑了数据读取速度和磁盘空间资源的影响,能够最大化的提高数据压缩效果,并能提高数据实际读取的性能;进一步地,组合压缩方法结合了LZ4、哈夫曼算法、gzip压缩三种压缩算法的优点,能够最大化的提高数据压缩效果,从而有效的提高数据的读取性能。附图说明通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:图1示出了本专利技术实施例中的一种基于效果优选的组合数据压缩方法的步骤流程图;图2示出了本专利技术另一实施例中的一种基于效果优选的组合数据压缩方法的步骤流程图。具体实施方式首先对以下名词进行详细解释:1)压缩算法集:多种压缩算法组成的集合,根据不同的数据特点、场景等,可以选择不同的压缩算法构成压缩算法集;2)平均解压速率:使用压缩算法对应的解压算法执行解压操作时,单位时间内能够处理的压缩数据的平均数据量;DSR(DiskSensitivityRatio,磁盘敏感系数):一定数量的数据在磁盘进行存储时的敏感系数,该系数的值为TDV(TotalDiskVolume:磁盘总容量)的倒数与ES(ExpertScore:专家打分)的积:DSR=ES/TDV。其中,TDV是系统硬件的参数,ES是由专家对应用场景及系统进行综合评价后给出的打分。DSR越小,表示对于系数越不敏感。极端情况下,当磁盘无穷大时,DSR为0;4)CEV(CompressEffectValue:压缩效果值)通过计算得出的评价压缩效果的数值,单位为1。下面将结合附图对本专利技术的实施例进行详细描述。如图1所示,本专利技术提供了一种基于效果优选的组合数据压缩方法,包括以下具体步骤:步骤S1:根据待压缩数据类型、主要特征和/或时间限制因素选取多种压缩算法,构成压缩算法集,以及获取多种压缩算法对应的解压算法的平均解压速度Di。步骤S2:分析待压缩数据需求,将待压缩数据分成多个数据块,以及获取计算机系统的公共参数。步骤S3:计算每个数据块使用多种压缩算法的压缩效果值。具体地,步骤S3还包括:步骤S31:对于多个数据块,预设数据大小为C0。步骤S32:遍历压缩算法集其中的多种压缩算法对每个数据块进行压缩计算,并统计压缩结果的大小CRi。进一步地,步骤S3还包括:步骤S31’:计算得到多种压缩算法对于多个数据块的压缩结果的总读取时间Ti。步骤S32’:计算多个数据块中的数据不进行压缩时的读取总时间T0以及压缩效果值。具体地,通过公式:Ti=(CRi/Di)+(CRi/V)计算得到多种压缩算法对于每个数据块的压缩结果的总读取时间Ti,其中,压缩结果的大小CRi,多种压缩算法中的每种算法的平均解压速率为Di,平均I/O的读取速度为V。进一步地,通过公式:T0=C0/V计算得到多种压缩算法对于每个数据块中的数据不进行压缩时的读取总时间T0。更进一步地,通过公式:CEV0=(T0/T0)+C0*DSR=1+C0*DSR计算得到多种压缩算法对于每个数据块中的数据不进行压缩时的压缩效果值,其中,预设数据大小为C0,磁盘敏感系数为DSR。更进一步地,由于数据压缩的最终目的是为了能够更快的读取可用的数据,当数据不进行压缩时,虽然数据量比压缩后数据更大,但是读取时不需要解压,存在着总读取时间更小的可能,即在选择压缩算法时,需要将不压缩数据的数据总读取时间加入参考备选算法中。具体地,通过公式:CEVi=(Ti/T0)+CRi*DSR计算每个数据块使用多种压缩算法的压缩效果值,其中本文档来自技高网...
一种基于效果优选的组合数据压缩方法

【技术保护点】
一种基于效果优选的组合数据压缩算法,其特征在于,包括以下具体步骤:S1:根据待压缩数据类型、主要特征和/或时间限制因素选取多种压缩算法,构成压缩算法集,以及获取所述多种压缩算法对应的解压算法的平均解压速度Di;S2:分析所述待压缩数据需求,将其分成多个数据块,以及获取所述计算机系统的公共参数;S3:计算所述每个数据块使用所述多种压缩算法的压缩效果值;S4:比较所述多种压缩算法的所述压缩效果值,选取压缩效果值最小的算法作为最优算法;S5:根据所述每个数据块对应的所述最优算法进行数据压缩计算。

【技术特征摘要】
1.一种基于效果优选的组合数据压缩方法,其特征在于,包括以下具体步骤:S1:根据待压缩数据类型、主要特征和/或时间限制因素选取多种压缩算法,构成压缩算法集,以及获取所述多种压缩算法对应的解压算法的平均解压速度Di;S2:分析所述待压缩数据需求,将其分成多个数据块,以及获取计算机系统的公共参数;S3:计算所述每个数据块使用所述多种压缩算法的压缩效果值;S4:比较所述多种压缩算法的所述压缩效果值,选取压缩效果值最小的算法作为最优算法;S5:根据所述每个数据块对应的所述最优算法进行数据压缩计算;其中,所述步骤S3还包括:通过公式:CEVi=(Ti/T0)+CRi*DSR计算所述每个数据块使用所述多种压缩算法的压缩效果值,其中,计算得到所述多种压缩算法对于所述每个数据块的压缩结果的总读取时间Ti,计算所述每个数据块中的数据不进行压缩时的读取总时间T0,所述压缩结果的大小CRi,所述DSR为磁盘敏感系数;所述DSR是一定数量的数据在磁盘进行存储时的敏感系数,是通过公式:DSR=ES/TDV计算得到的,其中,TDV为磁盘总容量,是系统硬件的参数;ES为由专家对应用场景及系统进行综合评价后给出的打分;DSR越小,表示对于系数越不敏感。2.如权利要求1所述的一种基于效果优选的组合数据压缩方法,其特征在于,所述步骤S3还包括:S31:对于所述多个数据块,预设数据大小为C0;S32:遍历所述压缩算法集其中的...

【专利技术属性】
技术研发人员:张烨霍卫平周群年郭志弘金正皓
申请(专利权)人:北京东方国信科技股份有限公司
类型:发明
国别省市:北京;11

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

1