CN114337680B - 一种压缩处理方法、装置、存储介质及电子设备 - Google Patents
一种压缩处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114337680B CN114337680B CN202111432892.9A CN202111432892A CN114337680B CN 114337680 B CN114337680 B CN 114337680B CN 202111432892 A CN202111432892 A CN 202111432892A CN 114337680 B CN114337680 B CN 114337680B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- data
- compression
- current optimal
- data file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供的压缩处理方法、装置、存储介质及电子设备,获取待压缩数据文件,基于待压缩数据文件所属数据类别选择该数据类别下平均压缩率最优的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法,来对待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中,能够为用户提供不同数据场景中压缩率更优的压缩算法,以提高数据压缩效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种压缩处理方法、装置、存储介质及电子设备。
背景技术
数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储空间的一种技术方法。数据压缩包括有损压缩和无损压缩。
在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据位元(或者其它信息相关的单位)表示信息的过程。例如,如果将“compression”编码为“comp”那么同样一篇文章可以用较少的数据位表示。
然而,不同类型的数据采用同一压缩算法进行压缩处理的压缩率通常不同,同一类型的数据采用不同压缩算法进行压缩处理的压缩率通常也不同,因此,本领域亟需解决寻找不同数据场景中压缩率更优的压缩算法,以提高数据压缩效果。
发明内容
本发明提供一种压缩处理方法、装置、存储介质及电子设备,解决了寻找不同数据场景中压缩率更优的压缩算法,以提高数据压缩效果的问题。
第一方面,本发明实施例提供一种压缩处理方法,包括:
获取待压缩数据文件;
基于所述待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法,所述最优算法为该数据类别下平均压缩率最优的算法;
利用当前最优算法对所述待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中。
在一些实施方式中,所述方法还包括:
获取待解压数据文件,所述待解压数据文件包括所述压缩后的数据文件;
提取所述待解压数据文件中保存的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法;
利用当前最优算法对所述待解压数据文件进行解压。
在一些实施方式中,所述压缩数据文件携带有一个或多个数据类别标签,以标识其所属的一个或多个数据类别;
所述待压缩数据携带有多个数据类别标签时,选择其中一个数据类别标签,执行所述基于所述待压缩数据文件所属数据类别,选择该数据类别下的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法的步骤。
在一些实施方式中,还包括:
训练并记录每一数据类别下的当前最优算法;
所述训练并记录每一数据类别下的当前最优算法,包括:
获取目标数据类别的训练数据集合,所述训练数据集合包括至少一个数据文件;
获取预存算法集合,所述预存算法集合包括至少一个压缩算法;
利用预存算法集合中的不同压缩算法对所述训练数据集合中的各数据文件进行压缩处理,并计算每一压缩算法对所述训练数据集合中各数据文件的压缩率;
基于所述每一压缩算法对所述训练数据集合中各数据文件的压缩率,计算得到每一压缩算法在所述目标数据类别下的平均压缩率;
将在所述目标数据类别下的平均压缩率最优的算法作为候选算法,与已记录的当前最优算法在所述目标数据类别下的平均压缩率进行比较;
若所述候选算法在所述目标数据类别下的平均压缩率优于已记录的当前最优算法在所述目标数据类别下的平均压缩率,则将所述候选算法更新为当前最优算法并记录。
在一些实施方式中,在满足预设条件时,执行所述训练并记录每一数据类别下的当前最优算法的步骤;
所述预设条件包括以下之一:
至少一个目标数据类别下的当前最优算法不存在;
至少一个目标数据类别存在新的数据文件或训练数据集合;
至少产生一个新的压缩算法注入预存算法集合。
第二方面,本发明实施例提供一种压缩处理装置,包括:
获取模块,用于获取待压缩数据文件;
算法选择模块,用于基于所述待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,根据所述当前最优算法编号在预存算法集合中选择相应的算法,所述最优算法为该数据类别下平均压缩率最优的算法;
处理模块,用于利用当前最优算法对所述待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中。
在一些实施方式中,所述获取模块还用于:获取待解压数据文件,所述待解压数据文件包括所述压缩后的数据文件;
所述算法选择模块还用于:提取所述待解压数据文件中保存的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法;
所述处理模块还用于:利用当前最优算法对所述待解压数据文件进行解压。
在一些实施方式中,所述装置还包括:
算法训练模块,用于训练并记录每一数据类别下的当前最优算法;
所述训练并记录每一数据类别下的当前最优算法,包括:
获取目标数据类别的训练数据集合,所述训练数据集合包括至少一个数据文件;
获取预存算法集合,所述预存算法集合包括至少一个压缩算法;
利用预存算法集合中的不同压缩算法对所述训练数据集合中的各数据文件进行压缩处理,并计算每一压缩算法对所述训练数据集合中各数据文件的压缩率;
基于所述每一压缩算法对所述训练数据集合中各数据文件的压缩率,计算得到每一压缩算法在所述目标数据类别下的平均压缩率;
将在所述目标数据类别下的平均压缩率最优的算法作为候选算法,与已记录的当前最优算法在所述目标数据类别下的平均压缩率进行比较;
若所述候选算法在所述目标数据类别下的平均压缩率优于已记录的当前最优算法在所述目标数据类别下的平均压缩率,则将所述候选算法更新为当前最优算法并记录。
第三方面,本发明实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如第一方面所述的方法。
第四方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法。
与现有技术相比,本发明的一个或多个实施例至少能够带来如下有益效果:
本发明提供的压缩处理方法、装置、存储介质及电子设备,基于待压缩数据文件所属数据类别选择该数据类别下平均压缩率最优的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法,来对待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中,能够为用户提供不同数据场景中压缩率更优的压缩算法,以提高数据压缩效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的一种压缩处理方法流程图;
图2是本发明实施例提供的一种压缩处理方法流程图;
图3是本发明实施例提供的一种压缩处理方法流程图;
图4是本发明实施例提供的一种压缩处理方法流程图;
图5是本发明实施例提供的在一个应用实例中训练每一数据类别下的当前最优算法的流程示意图;
图6是本发明实施例提供的一种压缩处理装置示意图;
图7是本发明实施例提供的一种压缩处理装置应用实例示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一相关技术中,ZIP文件格式不仅仅提供了压缩的功能,而且还可作为归档工具(Archiver)使用,能够将许多文件存储到同一个文件中。
在一相关技术中,行程长度编码使用数据及数据长度这种简单的编码代替同样的连续数据,行程长度编码是无损数据压缩的一个实例,通常用于办公计算机以更好地利用磁盘空间、或者更好地利用计算机网络中的带宽。对于电子表格、文本、可执行文件等这样的符号数据来说,无损是一个非常关键的要求,因为除了一些有限的情况外,大多数情况下即使是一个数据位的变化都是无法接受的。
压缩的理论基础是信息论(它与算法信息论密切相关)以及率失真理论,这个领域的研究工作主要是由Claude Shannon奠定的,他在二十世纪四十年代末期及五十年代早期发表了这方面的基础性的论文。Doyle和Carlson在2000年写道数据压缩“有所有的工程领域最简单、最优美的设计理论之一”。密码学与编码理论也是密切相关的学科,数据压缩的思想与统计推断也有很深的渊源。
许多无损数据压缩系统都可以看作是四步模型,有损数据压缩系统通常包含更多的步骤,例如它包括预测、频率变换以及量化。
Lempel-Ziv(LZ)压缩方法是最流行的无损存储算法之一。DEFLATE是LZ的一个变体,它针对解压速度与压缩率进行了优化,虽然它的压缩速度可能非常缓慢,PKZIP、gzip以及PNG都在使用DEFLATE。
LZW(Lempel-Ziv-Welch)是Unisys的专利,直到2003年6月专利到期限,这种方法用于GIF图像。另外值得一提的是LZR(LZ-Renau)方法,它是Zip方法的基础。LZ方法使用基于表格的压缩模型,其中表格中的条目用重复的数据串替换。对于大多数的LZ方法来说,这个表格是从最初的输入数据动态生成的。这个表格经常采用霍夫曼编码维护(例如,SHRI、LZX)。一个性能良好基于LZ的编码机制是LZX,它用于微软公司的CAB格式。
最好的压缩工具将概率模型预测结果用于算术编码。算术编码由Jorma Rissanen发明,并且由Witten、Neal以及Cleary将它转变成一个实用的方法。这种方法能够实现比众人皆知的哈夫曼算法更好的压缩,并且它本身非常适合于自适应数据压缩,自适应数据压缩的预测与上下文密切相关。算术编码已经用于二值图像压缩标准JBIG、文档压缩标准DejaVu。文本输入系统Dasher是一个逆算术编码器。
数据压缩可分成两种类型,一种叫做无损压缩,另一种叫做有损压缩。
无损压缩是指使用压缩后的数据进行重构(或者叫做还原,解压缩),重构后的数据与原来的数据完全相同;无损压缩用于要求重构的信号与原始信号完全一致的场合。一个很常见的例子是磁盘文件的压缩。无损压缩算法一般可以把普通文件的数据压缩到原来的1/2~1/4。一些常用的无损压缩算法有霍夫曼(Huffman)算法和LZW(Lenpel-Ziv&Welch)压缩算法。
然而,不同类型的数据采用同一压缩算法进行压缩处理的压缩率通常不同,同一类型的数据采用不同压缩算法进行压缩处理的压缩率通常也不同,因此,本领域亟需解决寻找不同数据场景中压缩率更优的压缩算法,以提高数据压缩效果。本发明实施例提供了一种压缩处理方法、装置、存储介质及电子设备。
实施例一
图1示出了一种压缩处理方法流程图,如图1所示,本发明实施例提供一种压缩处理方法,包括:
步骤S101、获取待压缩数据文件。
步骤S102、基于待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法。
其中,最优算法为该数据类别下平均压缩率最优的算法。
步骤S103、利用当前最优算法对待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中。
本实施例中,基于待压缩数据文件所属数据类别选择该数据类别下平均压缩率最优的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法,来对待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中,能够为用户提供不同数据场景中压缩率更优的压缩算法,以提高数据压缩效果。
图2示出了一种压缩处理方法流程图,如图2所示,在一些实施方式中,本实施例的方法还包括:
步骤S104、获取待解压数据文件,待解压数据文件包括压缩后的数据文件。
步骤S105、提取待解压数据文件中保存的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法。
步骤S105、利用当前最优算法对待解压数据文件进行解压。
在一些实施方式中,压缩数据文件携带有一个或多个数据类别标签,以标识其所属的一个或多个数据类别;相应地,基于待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,也可以是基于待压缩数据文件的数据类别标签,选择该数据类别标签下的当前最优算法编号。
待压缩数据携带有多个数据类别标签时,选择其中一个数据类别标签,作为影响算法选择的主标签,执行基于待压缩数据文件所属数据类别,选择该数据类别下的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法的步骤S101。
在实际应用中,待压缩数据文件可以是不同用户的数据和/或不同行为的数据,在待压缩的数据可能被打上一个或者多个数据类别标签,以标识数据类别,在进行当前最优算法的选择,可以基于从多个数据类别标签所确定的主标签来进行,举例来说,某一数据携带有文本数据、银行数据两个数据类别标签,此数据在训练每一数据类别下的当前最优算法时可以分别作为文本数据、银行数据这两个数据类别标签下的训练数据集合中的数据文件,但在进行压缩处理时选择当前最优算法时仅以银行数据作为主标签来进行选择。应当理解的是,可以根据不同的应用场景确定不同的主标签,例如,侧重于为不同行业分类时,则可以选择银行数据作为主标签,若输入待压缩数据的业务系统为通用业务系统,则侧重于数据格式分类,则可以选择文本数据作为主标签。
图3示出了另一种方法流程图,如图3所示,在一些实施方式中,本实施例的方法还包括:
步骤S100、训练并记录每一数据类别下的当前最优算法。
图4示出了另一种方法流程图,如图4所示,在一种实现方式中,步骤S100训练并记录每一数据类别下的当前最优算法,包括步骤S100a~步骤S100f:
步骤S100a、获取目标数据类别的训练数据集合,训练数据集合包括至少一个数据文件。
步骤S100b、获取预存算法集合,预存算法集合包括至少一个压缩算法。
步骤S100c、利用预存算法集合中的不同压缩算法对训练数据集合中的各数据文件进行压缩处理,并计算每一压缩算法对训练数据集合中各数据文件的压缩率。
步骤S100d、基于每一压缩算法对训练数据集合中各数据文件的压缩率,计算得到每一压缩算法在目标数据类别下的平均压缩率。
步骤S100e、将在目标数据类别下的平均压缩率最优的算法作为候选算法,与已记录的当前最优算法在所述目标数据类别下的平均压缩率进行比较。
步骤S100f、若候选算法在目标数据类别下的平均压缩率优于已记录的当前最优算法在目标数据类别下的平均压缩率,则将候选算法更新为当前最优算法并记录。
在一个应用实例中,训练每一数据类别下的当前最优算法可以按照如下图5所示的流程执行:
(1)选取目标数据类别的训练数据集合中的第一文件,其中,训练数据集合包括至少一个数据文件,第一文件可以是训练数据集合中的任一数据文件;
(2)选定预存算法集合的第一算法,预存算法集合包括至少一个压缩算法,第一算法可以是预存算法集合中的任一压缩算法;
(3)判断第一文件是否已经使用第一算法处理过:若已经使用第一算法处理过,则执行步骤(4);否则,执行步骤(7);
(4)判断第一算法是否为预存算法集合中的最后一个压缩算法:若是,则执行步骤(5);若否,则执行步骤(6);
(5)判断第一文件是否为训练数据集合的最后一个数据文件:若是,则结束;若否,则选择训练数据集合中的下一个数据文件,作为第一文件,返回执行步骤(2);
(6)选择预存算法集合中的下一个压缩算法,作为第一算法,返回执行步骤(3);
(7)用第一算法对第一文件进行压缩处理,并计算压缩率;
(8)更新这一目标数据类别下第一算法的平均压缩率;
(9)判断第一算法是否比记录中的当前最优算法更好(实际应用中初始的最优算法可以随机指定):若是,则将该目标数据类别下的当前最优算法编号替换成第一算法的编号,并执行步骤(4);若否,则直接执行步骤(4)。
其中,第一算法是否比记录中的当前最优算法更好,是指针对当前的目标数据类别而言,第一算法的平均压缩率是否比记录中的当前最优算法的平均压缩率更好。
在一些实施方式中,在满足预设条件时,执行训练并记录每一数据类别下的当前最优算法的步骤S100;
其中,预设条件包括以下之一:
至少一个目标数据类别下的当前最优算法不存在;
至少一个目标数据类别存在新的数据文件或训练数据集合;
至少产生一个新的压缩算法注入预存算法集合。
具体地,在利用原始训练数据集合训练并记录每一数据类别下的当前最优算法时,由于目标数据类别下还不存在当前最优算法,触发步骤S100的执行。当需要有新的数据文件加入以更新训练数据集合,或者更新了一个新的训练数据集合时,触发步骤S100的执行。当有新的压缩算法注入预存算法集合时,触发步骤S100的执行,从而随着训练数据集合的不断更新、压缩算法的不断更新,不断更新各数据类别下的最优算法,以向用户提供其输入的待压缩数据所属数据类别的当前最优算法,提高数据压缩的效率,针对不同数据类别的数据都能够达到最佳压缩效果。
实施例二
图6示出了一种压缩处理装置示意图,如图6所示,本实施例提供一种压缩处理装置,包括:
获取模块610,用于获取待压缩数据文件;
算法选择模块620,用于基于待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,根据所述当前最优算法编号在预存算法集合中选择相应的算法,最优算法为该数据类别下平均压缩率最优的算法;
处理模块630,用于利用当前最优算法对待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中。
在一些实施方式中,获取模块610还用于:获取待解压数据文件,待解压数据文件包括上述压缩后的数据文件;
算法选择模块620还用于:提取待解压数据文件中保存的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法;
处理模块630还用于:利用当前最优算法对待解压数据文件进行解压。
在一些实施方式中,本装置还包括:
算法训练模块600,用于训练并记录每一数据类别下的当前最优算法;
训练并记录每一数据类别下的当前最优算法,包括:
获取目标数据类别的训练数据集合,训练数据集合包括至少一个数据文件;
获取预存算法集合,预存算法集合包括至少一个压缩算法;
利用预存算法集合中的不同压缩算法对训练数据集合中的各数据文件进行压缩处理,并计算每一压缩算法对训练数据集合中各数据文件的压缩率;
基于每一压缩算法对训练数据集合中各数据文件的压缩率,计算得到每一压缩算法在目标数据类别下的平均压缩率;
将在目标数据类别下的平均压缩率最优的算法作为候选算法,与已记录的当前最优算法在目标数据类别下的平均压缩率进行比较;
若候选算法在目标数据类别下的平均压缩率优于已记录的当前最优算法在目标数据类别下的平均压缩率,则将候选算法更新为当前最优算法并记录。
本发明实施例提供的压缩处理方法、装置、存储介质及电子设备,先根据数据业务对训练数据进行分类,在各自的数据类别对应的训练数据集合中,选取额定或全部的训练数据使用不同的压缩算法进行计算并统计压缩率,从而找到最适用于该数据类别的压缩算法。在通过对原始采样数据的不断变换,动态找到比当前的压缩算法更优的压缩算法。
在图7所示的一个应用实例中,算法选择模块实现为算法选择器,待压缩/待解压数据文件在进入算法选择器之前,先异步地传递给数据采集器进行采集,以更新当前最优算法。数据采集器主要作用是对原始输入的待压缩/待解压数据文件进行选择分组和淘汰:1)分组:可以同时分析处理不同用户及不同行为的数据文件,输入的数据文件可以打上一个或者多个标签(只有主标签影响算法选择),这样同一数据文件虽然只被每种算法计算一次,但是可以出现在不同数据类别的训练数据集合中,分别统计计算压缩效果。2)淘汰:数据采集器可根据采集时间及数据长度对训练数据集合进行淘汰,例如可配置过滤掉小于一定长度的数据文件,或同一时间段只记录固定条目的数据文件,从而减少因为特例数据或特例事件对训练结果的影响。训练数据集合用于记录用以判断衡量算法好坏的原始训练数据和各已知算法对原始训练数据的运算结果统计。运算结果集合是训练数据集合运算完训练数据的一个快照,理想化的运算结果集合里的数据表征这某一个阶段的数据,对于所有已知算法的压缩运算结果的集合,由于训练速度永远比不上压缩的速度(训练的过程是对同一数据用不同算法压缩多次),所以运算结果集合提供一個相对静止的结果集合,用来计算和统计某个标签下的最优算法的。算法产生器,用来不断生成注入新的算法。算法选择器,根据主标签,选择运算结果集合中改标签下统计的平均压缩率最优的算法标号。预存算法集合,存储至少一个压缩算法,例如存储每一压缩算法的算法编号、算法参数(G(x)数组)及基础算法实现的集合,可以根据算法标号,选择算法执行函数进行压缩和解压缩的运算,其中G(X)数组的产生过程,即为随机产生全排列产生过程。算法生成器可以随时接收不同可逆变换函数F(X),来产生新的压缩算法,产生的压缩算法存入算法集合中。
在一种可能的实现方式中,算法产生过程可以使用基础压缩算法(如DEFLATE)和可逆数据变换的组合产生新的压缩算法,例如,产生过程如下:
外部注册一个变换数租G(x),并限定变换的数据长度(如8bit)。遍历数据长度内可能出现的所有取值(对8bit而言为0-255),使用G(x)对其进行计算,得到一组变换后的值,记录映射关系0->G(0)…255->G(255)为变换关系,G(0)->0…G(255)->255为该变换的逆变换,则压缩时使用变换关系对待压缩数据的每个8bit进行变换后再进行压缩,解压时使用解压算法解压后再对数据使用逆变换的这种处理方式即为组合产生的新的压缩算法。
应当理解的是,变换的方式包括但不限于使用不同的本原多项式构造线性移位寄存器,并使用移位寄存器产生的小m序列中数字的错位关系产生变换,用随机排列构造S盒P盒变换等现有成熟技术手段,在此不做赘述。
本领域的技术人员应当明白,上述各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何限定的硬件和软件结合。
实施例三
本实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现实施例一的方法。
本实施例中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。方法的内容详见实施例一,此次不再赘述。
实施例四
本实施例提供一种电子设备,包括存储器和处理器,存储器上存储有计算机程序,计算机程序被处理器执行时实现实施例一的方法。
本实施例中,处理器可以是专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(ProgrammableLogic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例中的方法。在处理器上运行的计算机程序被执行时所实现的方法可参照本发明前述实施例提供的方法的具体实施例,此处不再赘述。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统和方法实施例仅仅是示意性的。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (9)
1.一种压缩处理方法,其特征在于,包括:
获取待压缩数据文件;所述待压缩数据文件携带有一个或多个数据类别标签,以标识其所属的一个或多个数据类别;基于所述待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法,所述最优算法为该数据类别下平均压缩率最优的算法;
利用当前最优算法对所述待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中;
其中,所述待压缩数据携带有多个数据类别标签时,根据应用场景选择与所述应用场景对应的主标签,之后再执行所述基于所述待压缩数据文件所属数据类别,选择该数据类别下的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法的步骤。
2.根据权利要求1所述的压缩处理方法,其特征在于,还包括:
获取待解压数据文件,所述待解压数据文件包括所述压缩后的数据文件;
提取所述待解压数据文件中保存的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法;
利用当前最优算法对所述待解压数据文件进行解压。
3.根据权利要求1所述的压缩处理方法,其特征在于,还包括:
训练并记录每一数据类别下的当前最优算法;
所述训练并记录每一数据类别下的当前最优算法,包括:
获取目标数据类别的训练数据集合,所述训练数据集合包括至少一个数据文件;
获取预存算法集合,所述预存算法集合包括至少一个压缩算法;
利用预存算法集合中的不同压缩算法对所述训练数据集合中的各数据文件进行压缩处理,并计算每一压缩算法对所述训练数据集合中各数据文件的压缩率;
基于所述每一压缩算法对所述训练数据集合中各数据文件的压缩率,计算得到每一压缩算法在所述目标数据类别下的平均压缩率;
将在所述目标数据类别下的平均压缩率最优的算法作为候选算法,与已记录的当前最优算法在所述目标数据类别下的平均压缩率进行比较;
若所述候选算法在所述目标数据类别下的平均压缩率优于已记录的当前最优算法在所述目标数据类别下的平均压缩率,则将所述候选算法更新为当前最优算法并记录。
4.根据权利要求3所述的压缩处理方法,其特征在于,在满足预设条件时,执行所述训练并记录每一数据类别下的当前最优算法的步骤;
所述预设条件包括以下之一:
至少一个目标数据类别下的当前最优算法不存在;
至少一个目标数据类别存在新的数据文件或训练数据集合;
至少产生一个新的压缩算法注入预存算法集合。
5.一种压缩处理装置,其特征在于,包括:
获取模块,用于获取待压缩数据文件;所述待压缩数据文件携带有一个或多个数据类别标签,以标识其所属的一个或多个数据类别;
算法选择模块,用于基于所述待压缩数据文件所属数据类别选择该数据类别下的当前最优算法编号,根据所述当前最优算法编号在预存算法集合中选择相应的算法,所述最优算法为该数据类别下平均压缩率最优的算法;
处理模块,用于利用当前最优算法对所述待压缩数据文件进行压缩,并将当前最优算法编号保存于压缩后的数据文件中;
其中,所述算法选择模块在所述待压缩数据携带有多个数据类别标签时,根据应用场景选择与所述应用场景对应的主标签,之后再执行所述基于所述待压缩数据文件所属数据类别,选择该数据类别下的当前最优算法编号,并根据所述当前最优算法编号在预存算法集合中选择相应的算法的步骤。
6.根据权利要求5所述的压缩处理装置,其特征在于,所述获取模块还用于:获取待解压数据文件,所述待解压数据文件包括所述压缩后的数据文件;
所述算法选择模块还用于:提取所述待解压数据文件中保存的当前最优算法编号,并根据当前最优算法编号在预存算法集合中选择相应的算法;
所述处理模块还用于:利用当前最优算法对所述待解压数据文件进行解压。
7.根据权利要求5所述的压缩处理装置,其特征在于,还包括:
算法训练模块,用于训练并记录每一数据类别下的当前最优算法;
所述训练并记录每一数据类别下的当前最优算法,包括:
获取目标数据类别的训练数据集合,所述训练数据集合包括至少一个数据文件;
获取预存算法集合,所述预存算法集合包括至少一个压缩算法;
利用预存算法集合中的不同压缩算法对所述训练数据集合中的各数据文件进行压缩处理,并计算每一压缩算法对所述训练数据集合中各数据文件的压缩率;
基于所述每一压缩算法对所述训练数据集合中各数据文件的压缩率,计算得到每一压缩算法在所述目标数据类别下的平均压缩率;
将在所述目标数据类别下的平均压缩率最优的算法作为候选算法,与已记录的当前最优算法在所述目标数据类别下的平均压缩率进行比较;
若所述候选算法在所述目标数据类别下的平均压缩率优于已记录的当前最优算法在所述目标数据类别下的平均压缩率,则将所述候选算法更新为当前最优算法并记录。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求1至4中任一项所述的方法。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432892.9A CN114337680B (zh) | 2021-11-29 | 2021-11-29 | 一种压缩处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432892.9A CN114337680B (zh) | 2021-11-29 | 2021-11-29 | 一种压缩处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114337680A CN114337680A (zh) | 2022-04-12 |
CN114337680B true CN114337680B (zh) | 2023-03-28 |
Family
ID=81046469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111432892.9A Active CN114337680B (zh) | 2021-11-29 | 2021-11-29 | 一种压缩处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114337680B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296407B2 (en) * | 2003-03-31 | 2012-10-23 | Alcatel Lucent | Calculation, representation, and maintenance of sharing information in mesh networks |
CN108197168A (zh) * | 2017-12-18 | 2018-06-22 | 中国移动通信集团广东有限公司 | 一种数据压缩方法、设备和计算机可读存储介质 |
-
2021
- 2021-11-29 CN CN202111432892.9A patent/CN114337680B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114337680A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Townsend et al. | Practical lossless compression with latent variables using bits back coding | |
US10979071B2 (en) | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation | |
EP1832000B1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
US5045852A (en) | Dynamic model selection during data compression | |
US5959560A (en) | Data compression via alphabet partitioning and group partitioning | |
KR100281165B1 (ko) | 효율적 처리를 위한 데이터의 다중 해상도의 무손실/유손실 압축 및 기억 방법 및 그 시스템 | |
KR101049699B1 (ko) | 데이터의 압축방법 | |
JP3989485B2 (ja) | バイナリ状態を符号化および復号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータで読取可能な情報記憶媒体 | |
US5650783A (en) | Data coding/decoding device and method | |
US5857036A (en) | System and method for the fractal encoding of datastreams | |
Wahba et al. | Lossless image compression techniques comparative study | |
JP2020053820A (ja) | 量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラム | |
WO2004051863A1 (en) | Automated method for lossless data compression and decompression of a binary string | |
JP3593884B2 (ja) | 符号化装置および復号装置 | |
CN114337680B (zh) | 一种压缩处理方法、装置、存储介质及电子设备 | |
Goyal et al. | On optimal permutation codes | |
Djusdek et al. | Adaptive image compression using adaptive Huffman and LZW | |
Niemi et al. | Burrows‐Wheeler post‐transformation with effective clustering and interpolative coding | |
Asolkar et al. | Review of data compression and different techniques of data compression | |
Jindal et al. | A novel lossless image compression algorithm for optimized memory storage | |
Rahman et al. | Text compression based on an alternative approach of run-length coding using Burrows-Wheeler transform and arithmetic coding | |
Babu et al. | Efficient approach of run length coding technique using lossless grayscale image compression (E-RLC) | |
JP2612343B2 (ja) | データ圧縮方式 | |
Pannirselvam et al. | A Comparative Analysis on Different Techniques in Text Compression | |
JP2578966B2 (ja) | 網点画像データ圧縮装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |