一种压缩方法、系统及电子设备和存储介质技术方案

技术编号:26970163 阅读:24 留言:0更新日期:2021-01-05 23:59
本申请公开了一种压缩方法、系统及一种电子设备和计算机可读存储介质,该方法包括:获取待压缩数据块,并确定所述待压缩数据块的数据大小级别;其中,所述数据大小级别与所述待压缩数据块的数据大小呈负相关;若所述数据大小级别为一级,则确定抽样点数量和抽样区域大小;根据所述抽样点数量和所述抽样区域大小对所述待压缩数据块进行抽样得到抽样数据;计算所述抽样数据的信息熵,当所述信息熵小于信息熵阈值时对所述待压缩数据块进行压缩。由此可见,本申请提供的压缩方法通过识别和避免压缩不可压缩数据,在不显著增加存储开销的条件下,提升压缩吞吐率,降低资源开销。

【技术实现步骤摘要】
一种压缩方法、系统及电子设备和存储介质
本申请涉及存储
,更具体地说,涉及一种压缩方法、系统及一种电子设备和一种计算机可读存储介质。
技术介绍
随着数据总量的爆炸式增长,大规模数据存储成为挑战,同时企业购买存储设备的成本也不断增加。由于数据压缩技术能够消除冗余数据,进而减少磁盘等存储设备的I/O(中文全称:输入/输出,英文全称:Input/Output)时间和增加缓存数据的容量,因此数据压缩已经广泛地应用到各级存储系统中。然而,压缩算法需要消耗系统资源,如果压缩空间节省能带来的优势超过压缩开销,系统的整体性能能够提升。相反,如果压缩率低甚至增加存储开销,压缩就会降低性能和浪费资源。为了降低压缩的资源开销,需要识别可压缩与不可压缩数据,避免压缩不可压缩的数据。在现有技术中,可以基于前缀预测,即通过压缩局部数据块来推测整体的压缩率。当数据冗余度较低且缺乏局部性时,基于前缀预测的压缩方案存在误判和预测不准确的问题,导致损失较多的压缩率。因此,如何以较低的压缩率损失为代价,降低压缩的资源开销是本领域技术人员需要解决的技术问题。
技术实现思路
本申请的目的在于提供一种压缩方法、系统及一种电子设备和一种计算机可读存储介质,以较低的压缩率损失为代价,降低了压缩的资源开销。为实现上述目的,本申请提供了一种压缩方法,包括:获取待压缩数据块,并确定所述待压缩数据块的数据大小级别;其中,所述数据大小级别与所述待压缩数据块的数据大小呈负相关;若所述数据大小级别为一级,则确定抽样点数量和抽样区域大小;根据所述抽样点数量和所述抽样区域大小对所述待压缩数据块进行抽样得到抽样数据;计算所述抽样数据的信息熵,若所述信息熵小于信息熵阈值则对所述待压缩数据块进行压缩。其中,所述确定所述待压缩数据块的数据大小级别,包括:判断所述待压缩数据块的数据大小是否小于第一数据大小阈值;若所述数据大小小于所述第一数据大小阈值,则将所述待压缩数据块的数据大小级别确定为一级;若所述数据大小大于或等于所述第一数据大小阈值,则将所述数据大小级别确定为二级。其中,所述判断所述数据大小是否小于第一数据大小阈值之前,还包括:判断所述待压缩数据块的数据大小是否小于第二数据大小阈值;其中,所述第一数据大小阈值大于所述第二数据大小阈值;若所述数据大小小于所述第二数据大小阈值,则将所述数据大小级别确定为三级,并对所述待压缩数据块进行压缩;若所述数据大小大于或等于所述第二数据大小阈值,则执行所述判断所述数据大小是否小于第一数据大小阈值的步骤。其中,还包括:若所述数据大小级别为二级,则根据预设前缀大小读取所述待压缩数据块的前缀数据;对所述前缀数据进行压缩,并计算压缩率;若所述压缩率小于压缩率阈值,则对所述待压缩数据块进行压缩。其中,所述计算所述抽样数据的信息熵,包括:根据所述抽样数据的符号总数和所述抽样数据中每个独立符号的计数计算所述抽样数据的信息熵。其中,所述计算所述抽样数据的信息熵之前,还包括:统计所述抽样数据中的独立符号数量,并判断所述独立符号数量是否小于第一符号总数阈值;若所述独立符号数量小于所述第一符号总数阈值,则对所述待压缩数据块进行压缩;若所述独立符号数量大于或等于所述第一符号总数阈值,则执行所述计算所述抽样数据的信息熵的步骤。其中,所述计算所述抽样数据的信息熵之前,还包括:判断所述独立符号数量是否大于第二符号总数阈值;若所述独立符号数量大于所述第二符号总数阈值,则直接存储所述待压缩数据块;若所述独立符号数量小于或等于所述第二符号总数阈值,则执行所述计算所述抽样数据的信息熵的步骤。为实现上述目的,本申请提供了一种压缩系统,包括:获取模块,用于获取待压缩数据块,并确定所述待压缩数据块的数据大小级别;其中,所述数据大小级别与所述待压缩数据块的数据大小呈负相关;确定模块,用于若所述数据大小级别为一级,则确定抽样点数量和抽样区域大小;抽样模块,用于根据所述抽样点数量和所述抽样区域大小对所述待压缩数据块进行抽样得到抽样数据;第一压缩模块,用于计算所述抽样数据的信息熵,当所述信息熵小于信息熵阈值时对所述待压缩数据块进行压缩。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述压缩方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述压缩方法的步骤。通过以上方案可知,本申请提供的一种压缩方法,包括:获取待压缩数据块,并确定所述待压缩数据块的数据大小级别;其中,所述数据大小级别与所述待压缩数据块的数据大小呈负相关;若所述数据大小级别为一级,则确定抽样点数量和抽样区域大小;根据所述抽样点数量和所述抽样区域大小对所述待压缩数据块进行抽样得到抽样数据;计算所述抽样数据的信息熵,当所述信息熵小于信息熵阈值时对所述待压缩数据块进行压缩。本申请提供的压缩方法,对于待压缩数据块,采用全局的随机抽样方式,通过计算抽样数据的信息熵来评估待压缩数据块是否可压缩。基于抽样预测的方法预测准确度更高,且由于抽样区域大小与待压缩数据块的数据大小无关,因此可以提升数据压缩的吞吐率。由此可见,本申请提供的压缩方法通过识别和避免压缩不可压缩数据,在不显著增加存储开销的条件下,提升压缩吞吐率,降低资源开销。本申请还公开了一种压缩系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1为根据一示例性实施例示出的第一种压缩方法的流程图;图2为根据一示例性实施例示出的第二种压缩方法的流程图;图3为根据一示例性实施例示出的第三种压缩方法的流程图;图4为根据一示例性实施例示出的第四种压缩方法的流程图;图5为根据一示例性实施例示出的一种压缩系统的结构图;图6为根据一示例性实施例示出的一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人本文档来自技高网...

【技术保护点】
1.一种压缩方法,其特征在于,包括:/n获取待压缩数据块,并确定所述待压缩数据块的数据大小级别;其中,所述数据大小级别与所述待压缩数据块的数据大小呈负相关;/n若所述数据大小级别为一级,则确定抽样点数量和抽样区域大小;/n根据所述抽样点数量和所述抽样区域大小对所述待压缩数据块进行抽样得到抽样数据;/n计算所述抽样数据的信息熵,若所述信息熵小于信息熵阈值则对所述待压缩数据块进行压缩。/n

【技术特征摘要】
1.一种压缩方法,其特征在于,包括:
获取待压缩数据块,并确定所述待压缩数据块的数据大小级别;其中,所述数据大小级别与所述待压缩数据块的数据大小呈负相关;
若所述数据大小级别为一级,则确定抽样点数量和抽样区域大小;
根据所述抽样点数量和所述抽样区域大小对所述待压缩数据块进行抽样得到抽样数据;
计算所述抽样数据的信息熵,若所述信息熵小于信息熵阈值则对所述待压缩数据块进行压缩。


2.根据权利要求1所述压缩方法,其特征在于,所述确定所述待压缩数据块的数据大小级别,包括:
判断所述待压缩数据块的数据大小是否小于第一数据大小阈值;
若所述数据大小小于所述第一数据大小阈值,则将所述待压缩数据块的数据大小级别确定为一级;
若所述数据大小大于或等于所述第一数据大小阈值,则将所述数据大小级别确定为二级。


3.根据权利要求2所述压缩方法,其特征在于,所述判断所述数据大小是否小于第一数据大小阈值之前,还包括:
判断所述待压缩数据块的数据大小是否小于第二数据大小阈值;其中,所述第一数据大小阈值大于所述第二数据大小阈值;
若所述数据大小小于所述第二数据大小阈值,则将所述数据大小级别确定为三级,并对所述待压缩数据块进行压缩;
若所述数据大小大于或等于所述第二数据大小阈值,则执行所述判断所述数据大小是否小于第一数据大小阈值的步骤。


4.根据权利要求2或3所述压缩方法,其特征在于,还包括:
若所述数据大小级别为二级,则根据预设前缀大小读取所述待压缩数据块的前缀数据;
对所述前缀数据进行压缩,并计算压缩率;
若所述压缩率小于压缩率阈值,则对所述待压缩数据块进行压缩。


5.根据权利要求1所述压缩方法,其特征在于,所述计算所述抽样数据的信息熵,包括:
根据所述抽样数据的符号总...

【专利技术属性】
技术研发人员:周玉坤付忞王正古亮
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东;44

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

1