数据压缩方法、装置、系统以及服务器转让专利

申请号 : CN201210175371.4

文献号 : CN102761540B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 向明王海洋郑相振阮卫挺

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明公开了一种数据压缩方法、装置、系统以及服务器。该装置包括:调用模块,用于调用预先存储的压缩方式配置表,其中,压缩方式配置表包括:文件类型与压缩方式之间的对应关系;获取模块,用于获取数据的文件类型,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式,如果存在,则获取与文件类型相对应的压缩方式;压缩模块,用于根据获取模块获取的压缩方式对待压缩数据进行压缩。借助于本发明的技术方案,能够自动为用户配置合适的压缩方式,在基本不损失压缩率的情况下,提升压缩速度,从而节约压缩时间、节省系统资源。

权利要求 :

1.一种数据压缩装置,其特征在,包括:

调用模块,用于调用预先存储的压缩方式配置表,其中,所述压缩方式配置表具体包括:文件类型、压缩算法、统计完成标识符、平均压缩率、以及压缩方式之间的一一对应关系;

获取模块,用于获取所述数据的文件类型,根据所述压缩方式配置表确定是否存在与所述文件类型相对应的压缩方式,如果存在,则获取与所述文件类型相对应的压缩方式;

压缩模块,用于根据所述获取模块获取的压缩方式对待压缩数据进行压缩。

2.如权利要求1所述的装置,其特征在于,

所述待压缩数据包括一个或多个文件。

3.如权利要求1所述的装置,其特征在于,所述压缩方式包括:标准压缩方式、快速压缩方式、以及存储压缩方式,其中,所述标准压缩方式采用默认的压缩算法对文件进行压缩,所述快速压缩方式采用压缩时间最短的压缩算法对文件进行压缩,所述存储压缩方式采用直接将文件存储在压缩包中的方式。

4.如权利要求1所述的装置,其特征在于,

所述压缩模块还用于:在不存在与所述文件类型相对应的压缩方式的情况下,采用标准压缩方式对所述待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,所述压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。

5.如权利要求2所述的装置,其特征在于,

所述获取模块还用于:根据所述压缩方式配置表获取与所述文件类型相对应的统计完成标识符,在所述统计完成标识符表示已完成的情况下,确定所述压缩方式配置中存在与所述文件类型相对应的压缩方式;

所述压缩模块还用于:在所述统计完成标识符表示未完成的情况下,采用所述标准压缩方式对所述待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,所述压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。

6.一种服务器,其特征在于,包括:

处理模块,用于对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对所述压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据所述平均压缩率确定相应的压缩方式;

存储模块,用于将所述不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与所述文件类型相对应的位置中;

同步模块,用于将所述压缩方式配置表同步到用户计算机中。

7.如权利要求6所述的服务器,其特征在于,所述处理模块具体用于:在所述平均压缩率大于等于95%且小于等于100%的情况下,确定所述压缩方式为存储压缩方式;在所述平均压缩率大于等于90%且小于95%的情况下,确定所述压缩方式为快速压缩方式;在所述平均压缩率小于90%的情况下,确定所述压缩方式为标准压缩方式;

所述存储模块还用于:在将所述不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与所述文件类型相对应的位置中之后,将所述压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成。

8.如权利要求6所述的服务器,其特征在于,所述服务器为云端服务器。

9.一种数据压缩系统,其特征在于,包括:权利要求1至5任一项所述的数据压缩装置、以及权利要求6至8任一项所述的服务器。

10.一种数据压缩方法,其特征在于,包括:

调用预先存储的压缩方式配置表,其中,所述压缩方式配置表具体包括:文件类型、压缩算法、统计完成标识符、平均压缩率、以及压缩方式之间的一一对应关系;

获取所述数据的文件类型,根据所述压缩方式配置表确定是否存在与所述文件类型相对应的压缩方式,如果存在,则获取与所述文件类型相对应的压缩方式;

根据获取的压缩方式对待压缩数据进行压缩。

11.如权利要求10所述的方法,其特征在于,所述方法还包括:

所述压缩方式配置表中的信息与服务器同步,所述服务器统计各文件类型的平均压缩率,根据平均压缩率设置所述压缩方式配置表中的文件类型与压缩方式之间的对应关系。

12.如权利要求10或11所述的方法,其特征在于,

所述待压缩数据包括一个或多个文件。

13.如权利要求12所述的方法,其特征在于,所述压缩方式包括:标准压缩方式、快速压缩方式、以及存储压缩方式,其中,所述标准压缩方式采用默认的压缩算法对文件进行压缩,所述快速压缩方式采用压缩时间最短的压缩算法对文件进行压缩,所述存储压缩方式采用直接将文件存储在压缩包中的方式。

14.如权利要求10所述的方法,其特征在于,所述方法还包括:

在不存在与所述文件类型相对应的压缩方式的情况下,采用标准压缩方式对所述待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,所述压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。

15.如权利要求11所述的方法,其特征在于,所述服务器统计各文件类型的平均压缩率,根据平均压缩率设置所述压缩方式配置表中的文件类型与压缩方式之间的对应关系具体包括:所述服务器对接收到的所述压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对所述压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据所述平均压缩率确定相应的压缩方式;

所述服务器将所述不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在所述压缩方式配置表中与所述文件类型相对应的位置中;

所述服务器将所述压缩方式配置表同步到用户计算机中。

16.如权利要求12所述的方法,其特征在于,根据所述压缩方式配置表确定是否存在与所述文件类型相对应的压缩方式还包括:根据所述压缩方式配置表获取与所述文件类型相对应的统计完成标识符,在所述统计完成标识符表示已完成的情况下,确定所述压缩方式配置表中存在与所述文件类型相对应的压缩方式。

17.如权利要求16所述的方法,其特征在于,所述方法还包括:

在所述统计完成标识符表示未完成的情况下,采用标准压缩方式对所述待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,所述压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。

18.如权利要求17所述的方法,其特征在于,所述服务器统计各文件类型的平均压缩率,根据平均压缩率设置所述压缩方式配置表中的文件类型与压缩方式之间的对应关系具体包括:所述服务器对接收到的所述压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对所述压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据所述平均压缩率确定相应的压缩方式;

所述服务器将所述不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在所述压缩方式配置表中与所述文件类型相对应的位置中,并将所述压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成;

所述服务器将所述压缩方式配置表同步到用户计算机中。

19.如权利要求15或18所述的方法,其特征在于,根据所述平均压缩率确定相应的压缩方式具体包括:在所述平均压缩率大于等于95%且小于等于100%的情况下,确定所述压缩方式为存储压缩方式;

在所述平均压缩率大于等于90%且小于95%的情况下,确定所述压缩方式为快速压缩方式;

在所述平均压缩率小于90%的情况下,确定所述压缩方式为标准压缩方式。

说明书 :

数据压缩方法、装置、系统以及服务器

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及一种数据压缩方法、装置、系统以及服务器。

背景技术

[0002] 在现有技术中,压缩工具通过一定的压缩算法改变文件内容和数据,使得数据占用更小的存储空间。具体地,普通文件一般都包含一定的重复数据,这些重复的数据往往占据多倍的存储空间,压缩工具需要查找文件内的这些重复数据,通过合适的算法将数据进行重建,让多个重复数据只占用一个存储空间,在解压缩时,再通过相应的解压算法将压缩后的文件进行还原,这种压缩算法一般属于无损压缩。例如,在文本文件中包含多个相同的词"中华人民共和国",通过压缩工具压缩之后,只需占用一个存储空间进行存储,从而达到缩小文件的目的。
[0003] 此外,压缩工具不仅能够帮助用户节省空间,同时也能将多个文件打成一个压缩包,以方便用户备份、传输和分享。目前,现有技术中有多款压缩工具,例如:winzip压缩工具,winrar压缩工具,7-zip压缩工具等;与压缩工具相对应的压缩算法也有多种,例如:rar格式、zip格式、7z格式、cab格式等。
[0004] 上述的每个压缩工具和压缩算法都有各自特点。例如:zip格式的优点是使用广泛,压缩速度快,但是压缩率较小;rar格式通常比zip格式的压缩率要高,但是压缩速度较慢,并且winrar压缩工具对于文本、声音、以及图像在32位和64位英特尔(Intel)微处理器上能够执行程序压缩特殊优化算法,进一步提高了压缩率;7z格式通常比zip格式和rar格式压缩率都要高,同时压缩时间也比zip格式和rar格式都要长。
[0005] 在现有技术中,有些文件格式的数据是已经进行过压缩的,例如,rmvb格式的视频文件,图1是现有技术中使用压缩软件进行参数配置的示意图,在用户使用压缩工具进行文件压缩时,压缩工具需要对用户选择的所有文件都进行压缩。但是,对于有些已经压缩过的文件格式或者冗余信息比较少的文件格式,通过压缩工具进行压缩后,基本无法减少文件体积,或者减少的文件体积非常有限。如果针对这类文件格式的数据进行压缩,不仅达不到压缩文件的目的,还会浪费很多压缩时间,并且,在压缩这些文件格式时也浪费了较多的CPU、内存等系统资源,却没有达到较好的压缩效果。

发明内容

[0006] 本发明提供一种数据压缩方法、装置、系统以及服务器,以解决现有技术中对已经压缩过的或者冗余信息比较少的文件格式再进行压缩而导致的压缩时间和系统资源浪费的问题。
[0007] 本发明提供一种数据压缩方法,包括:调用预先存储的压缩方式配置表,其中,压缩方式配置表包括:文件类型与压缩方式之间的对应关系;获取数据的文件类型,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式,如果存在,则获取与文件类型相对应的压缩方式;根据获取的压缩方式对待压缩数据进行压缩。
[0008] 优选地,上述方法还包括:压缩方式配置表中的信息与服务器同步,服务器统计各文件类型的平均压缩率,根据平均压缩率设置压缩方式配置表中的文件类型与压缩方式之间的对应关系。
[0009] 优选地,上述压缩方式配置表具体包括:文件类型、压缩算法、统计完成标识符、平均压缩率、以及压缩方式之间的一一对应关系;
[0010] 优选地,上述待压缩数据包括一个或多个文件。
[0011] 优选地,上述压缩方式包括:标准压缩方式、快速压缩方式、以及存储压缩方式,其中,标准压缩方式采用默认的压缩算法对文件进行压缩,快速压缩方式采用压缩时间最短的压缩算法对文件进行压缩,存储压缩方式采用直接将文件存储在压缩包中的方式。
[0012] 优选地,上述方法还包括:在不存在与文件类型相对应的压缩方式的情况下,采用标准压缩方式对待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0013] 优选地,所述服务器统计各文件类型的平均压缩率,根据平均压缩率设置所述压缩方式配置表中的文件类型与压缩方式之间的对应关系具体:服务器对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据平均压缩率确定相应的压缩方式;服务器将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中;服务器将压缩方式配置表同步到用户计算机中。
[0014] 优选地,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式还包括:根据压缩方式配置表获取与文件类型相对应的统计完成标识符,在统计完成标识符表示已完成的情况下,确定压缩方式配置表中存在与文件类型相对应的压缩方式。
[0015] 优选地,上述方法还包括:在统计完成标识符表示未完成的情况下,采用标准压缩方式对待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0016] 优选地,所述服务器统计各文件类型的平均压缩率,根据平均压缩率设置所述压缩方式配置表中的文件类型与压缩方式之间的对应关系具体包括:服务器对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据平均压缩率确定相应的压缩方式;服务器将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中,并将压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成;服务器将压缩方式配置表同步到用户计算机中。
[0017] 优选地,根据平均压缩率确定相应的压缩方式具体包括:在平均压缩率大于等于95%且小于等于100%的情况下,确定压缩方式为存储压缩方式;在平均压缩率大于等于90%且小于95%的情况下,确定压缩方式为快速压缩方式;在平均压缩率小于90%的情况下,确定压缩方式为标准压缩方式,当然,不局限于上述所举的数值,本领域技术人员还可以根据具体需要采用其他平均压缩率数值,来确定相应的压缩方式。
[0018] 本发明还提供了一种数据压缩装置,包括:调用模块,用于调用预先存储的压缩方式配置表,其中,压缩方式配置表包括:文件类型与压缩方式之间的对应关系;获取模块,用于获取数据的文件类型,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式,如果存在,则获取与文件类型相对应的压缩方式;压缩模块,用于根据获取模块获取的压缩方式对待压缩数据进行压缩。
[0019] 优选地,上述压缩方式配置表具体包括:文件类型、压缩算法、统计完成标识符、平均压缩率、以及压缩方式之间的一一对应关系;
[0020] 优选地,上述待压缩数据包括一个或多个文件;
[0021] 优选地,上述压缩方式包括:标准压缩方式、快速压缩方式、以及存储压缩方式,其中,标准压缩方式采用默认的压缩算法对文件进行压缩,快速压缩方式采用压缩时间最短的压缩算法对文件进行压缩,存储压缩方式采用直接将文件存储在压缩包中的方式。
[0022] 优选地,上述压缩模块还用于:在不存在与文件类型相对应的压缩方式的情况下,采用标准压缩方式对待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0023] 优选地,上述获取模块还用于:根据压缩方式配置表获取与文件类型相对应的统计完成标识符,在统计完成标识符表示已完成的情况下,确定压缩方式配置中存在与文件类型相对应的压缩方式;压缩模块还用于:在统计完成标识符表示未完成的情况下,采用标准压缩方式对待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0024] 本发明还提供了一种服务器,包括:处理模块,用于对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据平均压缩率确定相应的压缩方式;存储模块,用于将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中;同步模块,用于将压缩方式配置表同步到用户计算机中。
[0025] 优选地,上述处理模块具体用于:在平均压缩率大于等于95%且小于等于100%的情况下,确定压缩方式为存储压缩方式;在平均压缩率大于等于90%且小于95%的情况下,确定压缩方式为快速压缩方式;在平均压缩率小于90%的情况下,确定压缩方式为标准压缩方式。
[0026] 优选地,上述存储模块还用于:在将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中之后,将压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成。
[0027] 优选地,上述服务器为云端服务器。
[0028] 本发明还提供了一种数据压缩系统,包括:上述数据压缩装置、以及上述服务器。
[0029] 本发明有益效果如下:
[0030] 通过自动根据压缩方式配置表获取与需要压缩的文件类型匹配的压缩方式对文件进行压缩,解决了现有技术中对已经压缩过的或者冗余信息比较少的文件格式再进行压缩而导致的压缩时间和系统资源浪费的问题,在需要压缩的数据中存在已经压缩过的文件或者冗余信息比较少的文件的情况下,能够自动为用户配置合适的压缩方式,在基本不损失压缩率的情况下,提升压缩速度,此外,现阶段各种类型文件逐渐增多,利用云端统计更新压缩方式配置表使得本发明实施例的技术方案更加适于应用。

附图说明

[0031] 图1是现有技术中使用压缩软件进行参数配置的示意图;
[0032] 图2是本发明实施例的数据压缩方法的流程图;
[0033] 图3是本发明实施例的数据压缩装置的结构示意图;
[0034] 图4是本发明实施例的服务器的结构示意图;
[0035] 图5是本发明实施例的数据压缩系统的结构示意图。

具体实施方式

[0036] 为了解决现有技术中对已经压缩过的或者冗余信息比较少的文件格式再进行压缩而导致的压缩时间和系统资源浪费的问题,本发明提供了一种数据压缩方法、装置、系统以及服务器,本发明实施例在基本不损失压缩率的情况下,提升压缩速度,特别是已经压缩过的或者冗余信息比较少的文件较多时,提升的压缩速度更加明显。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0037] 方法实施例
[0038] 根据本发明的实施例,提供了一种数据压缩方法,图2是本发明实施例的数据压缩方法的流程图,如图2所示,根据本发明实施例的数据压缩方法包括如下处理:
[0039] 步骤201,调用预先存储的压缩方式配置表,其中,所述压缩方式配置表包括:文件类型与压缩方式之间的对应关系;
[0040] 具体地,上述压缩方式配置表可以存储在本地,优选地,上述压缩方式配置表还包括:文件类型、压缩算法、统计完成标识符、平均压缩率、以及压缩方式之间的一一对应关系。
[0041] 步骤202,获取数据的文件类型,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式,如果存在,则获取与文件类型相对应的压缩方式;
[0042] 在步骤202中,如果在压缩方式配置表中不包括统计完成标识符时,即,在不存在与所述文件类型相对应的压缩方式的情况下,采用所述标准压缩方式对所述待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,所述压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0043] 在步骤202中,如果在压缩方式配置表中包括统计完成标识符时,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式还包括:根据压缩方式配置表获取与文件类型相对应的统计完成标识符(例如,1表示已完成统计,0表示未完成统计),在统计完成标识符表示已完成的情况下,确定压缩方式配置表中存在与文件类型相对应的压缩方式。
[0044] 在统计完成标识符表示未完成的情况下,需要采用标准压缩方式对待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0045] 优选地,上述压缩方式包括:标准压缩方式、快速压缩方式、以及存储压缩方式,在实际应用中,还可以包括高质量压缩方式。其中,标准压缩方式采用压缩工具默认的压缩算法对文件进行压缩,快速压缩方式采用压缩时间最短的压缩算法对文件进行压缩,存储压缩方式采用直接将文件存储在压缩包中的方式,不对文件进行压缩,高质量压缩方式采用压缩率最低的压缩算法对文件进行压缩。
[0046] 在实际应用中,除了包括标准压缩方式、快速压缩方式、存储压缩方式、以及高质量压缩方式以外,压缩方式还可以包括:较快压缩方式、较高质量压缩方式等。较快压缩方式的压缩时间大于快速压缩方式,但小于标准压缩方式,较高质量压缩方式的压缩体积大于高质量压缩方式,但小于标准压缩方式。
[0047] 步骤203,根据获取的压缩方式对待压缩数据进行压缩。
[0048] 在本发明实施例中,上述待压缩数据可以包括一个或多个文件。
[0049] 需要说明的是,如果数据中包括多个不同文件类型的文件,则需要针对不同的文件类型,分别执行步骤202和步骤203中的处理。因为多个文件最后需要压缩为一个压缩包,因此,在根据压缩方式配置表选择压缩方式时,需要选择压缩算法相同的压缩方式。例如,需要将3个不同文件类型的文件进行压缩,针对该3个文件,分别使用3种不同的压缩方式对相应的文件进行压缩,但是,最后的压缩算法必须相同,例如,将3个文件压缩为.rar格式的压缩包。
[0050] 压缩方式配置表中的信息需要与服务器同步,服务器统计各文件类型的平均压缩率,根据平均压缩率设置压缩方式配置表中的文件类型与压缩方式之间的对应关系。上述服务器可以为云端服务器。
[0051] 具体地,在压缩方式配置表中不包括统计完成标识符时,所述服务器包括如下处理:1、对接收到的所述压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对所述压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据所述平均压缩率确定相应的压缩方式;2、所述服务器将所述不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在所述压缩方式配置表中与所述文件类型相对应的位置中;3、所述服务器将所述压缩方式配置表同步到用户计算机中。
[0052] 在压缩方式配置表中包括统计完成标识符时,在统计完成标识符表示未完成的情况下,将当前的压缩参数信息发送到服务器之后,服务器对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值(例如,10000个)的情况下,对压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据平均压缩率确定相应的压缩方式;最后,服务器将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中,并将压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成,并将压缩方式配置表同步到用户计算机中。
[0053] 优选地,在实际应用中,服务器也可以不将压缩方式配置表同步到用户的计算机中,而是保存在服务器中,在压缩工具需要调用该压缩方式配置表时,可以从服务器中获取。
[0054] 在上述处理中,在平均压缩率大于等于95%且小于等于100%的情况下,确定压缩方式为存储压缩方式;在平均压缩率大于等于90%且小于95%的情况下,确定压缩方式为快速压缩方式;在平均压缩率小于90%的情况下,确定压缩方式为标准压缩方式。
[0055] 实例1,在对数据进行压缩时,其中的rmvb格式的文件的平均压缩率在95%-100%之间,因此,针对rmvb格式的文件需要使用存储压缩方式进行压缩,其他文件的平均压缩率小于90%,则使用zip压缩算法、以及标准压缩方式对其他文件进行压缩。
[0056] 实例2,在对数据进行压缩时,其中的mp3格式的文件的平均压缩率在90%-95%之间,因此,针对mp3格式的文件需要使用zip压缩算法、以及快速压缩方式进行压缩,其他文件的平均压缩率小于90%,则使用zip压缩算法、以及标准压缩方式对其他文件进行压缩。
[0057] 实例3,在对jpg格式的文件进行压缩时,jpg格式的文件的平均压缩率在90%-95%之间,因此,针对jpg格式的文件需要使用7z压缩算法、以及快速压缩方式进行压缩。
[0058] 从上述实例可以看出,本发明实施例在压缩率损失不大于5%的情况下,能够尽可能地提高压缩速度。
[0059] 以下对本发明实施例上述技术方案进行详细说明。根据本发明实施例的数据压缩方法包括如下处理:
[0060] 步骤1、用户在使用压缩工具并且压缩方式设置为“标准压缩方式”时,记录用户的压缩算法、文件格式、该格式的文件总大小、文件数量和压缩率;
[0061] 步骤2,将记录的上述信息发到服务器;
[0062] 步骤3,服务器通过计算得到在不同的压缩算法下,对应文件格式的平均压缩率;
[0063] 步骤4,服务器根据数据计算得到一张配置表(上述压缩方式配置表):将平均压缩率在95%和100%之间的文件格式加入该压缩算法的“存储”压缩方式列表,将平均压缩率在90%和95%之间的文件格式加入该压缩算法的“最快”压缩方式列表。
[0064] 步骤5,将该配置表同步到用户计算机上,用户下次压缩文件时压缩工具会自动调用该配置表,从而达到在基本不损害压缩率(误差控制在5%以内)的前提下,大大地提升压缩速度。
[0065] 需要说明的是,上述平均压缩率与压缩方式对应的数值区间可以不仅限于上面实施例的90%,95%等,压缩方式也不限于上述提及的几种,服务器可以根据不同需求设置与上述实施例不同的平均压缩率数值,例如,85%,70%等,与各种压缩方式对应。
[0066] 综上所述,借助于本发明实施例的技术方案,通过自动根据压缩方式配置表获取与需要压缩的文件类型匹配的压缩方式对文件进行压缩,解决了现有技术中对已经压缩过的或者冗余信息比较少的文件格式再进行压缩而导致的压缩时间浪费的问题,在需要压缩的数据中存在已经压缩过的文件或者冗余信息比较少的文件的情况下,能够自动为用户配置合适的压缩方式,在基本不损失压缩率的情况下,提升压缩速度,此外,现阶段各种类型文件逐渐增多,利用云端统计更新压缩方式配置表使得本发明实施例的技术方案更加适于应用。
[0067] 装置实施例一
[0068] 根据本发明的实施例,提供了一种数据压缩装置,图3是本发明实施例的数据压缩装置的结构示意图,如图3所示,根据本发明实施例的数据压缩装置包括:调用模块30、获取模块32、以及压缩模块34,以下对本发明实施例的各个模块进行详细的说明。
[0069] 调用模块30,用于调用预先存储的压缩方式配置表,其中,所述压缩方式配置表包括:文件类型与压缩方式之间的对应关系;
[0070] 具体地,上述压缩方式配置表可以存储在本地,压缩方式配置表具体包括:文件类型、压缩算法、统计完成标识符、平均压缩率、以及压缩方式之间的一一对应关系。
[0071] 获取模块32,用于获取数据的文件类型,根据压缩方式配置表确定是否存在与文件类型相对应的压缩方式,如果存在,则获取与文件类型相对应的压缩方式;
[0072] 在压缩方式配置表包括统计完成标识符时,获取模块32还用于:根据所述压缩方式配置表获取与所述文件类型相对应的统计完成标识符,在所述统计完成标识符表示已完成的情况下,确定所述压缩方式配置中存在与所述文件类型相对应的压缩方式。
[0073] 优选地,在本发明实施例中,在统计完成标识符表示未完成的情况下,压缩模块33还用于:采用标准压缩方式对待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0074] 上述压缩方式包括:标准压缩方式、快速压缩方式、存储压缩方式、以及高质量压缩方式。其中,标准压缩方式采用压缩工具默认的压缩算法对文件进行压缩,快速压缩方式采用压缩时间最短的压缩算法对文件进行压缩,存储压缩方式采用直接将文件存储在压缩包中的方式,高质量压缩方式采用压缩率最低的压缩算法对文件进行压缩。
[0075] 在实际应用中,除了包括标准压缩方式、快速压缩方式、存储压缩方式、以及高质量压缩方式以外,压缩方式还可以包括:较快压缩方式、较高质量压缩方式等。较快压缩方式的压缩时间大于快速压缩方式,但小于标准压缩方式,较高质量压缩方式的压缩体积大于高质量压缩方式,但小于标准压缩方式。
[0076] 压缩模块34,用于根据获取模块32获取的压缩方式对待压缩数据进行压缩。
[0077] 所述压缩模块还用于:在不存在与所述文件类型相对应的压缩方式的情况下,采用所述标准压缩方式对所述待压缩数据进行压缩,并将当前的压缩参数信息发送到服务器,其中,所述压缩参数信息包括:文件类型、压缩算法、文件大小、文件数量、以及压缩率。
[0078] 在本发明实施例中,上述待压缩数据可以包括一个或多个文件。
[0079] 需要说明的是,如果数据中包括多个不同文件类型的文件,获取模块32和压缩模块34需要对不同文件类型的文件进行分别处理。因为多个文件最后需要压缩为一个压缩包,因此,获取模块32在根据压缩方式配置表选择压缩方式时,需要选择压缩算法相同的压缩方式。例如,需要将3个不同文件类型的文件进行压缩,针对该3个文件,分别使用3种不同的压缩方式对相应的文件进行压缩,但是,最后的压缩算法必须相同,例如,将3个文件压缩为.rar格式的压缩包。
[0080] 实例1,在对数据进行压缩时,其中的rmvb格式的文件的平均压缩率在95%-100%之间,因此,针对rmvb格式的文件需要使用存储压缩方式进行压缩,其他文件的平均压缩率小于90%,则使用zip压缩算法、以及标准压缩方式对其他文件进行压缩。
[0081] 实例2,在对数据进行压缩时,其中的mp3格式的文件的平均压缩率在90%-95%之间,因此,针对mp3格式的文件需要使用zip压缩算法、以及快速压缩方式进行压缩,其他文件的平均压缩率小于90%,则使用zip压缩算法、以及标准压缩方式对其他文件进行压缩。
[0082] 实例3,在对jpg格式的文件进行压缩时,jpg格式的文件的平均压缩率在90%-95%之间,因此,针对jpg格式的文件需要使用7z压缩算法、以及快速压缩方式进行压缩。
[0083] 以下结合实例,对本发明实施例上述技术方案进行详细说明。根据本发明实施例的数据压缩方法包括如下处理:
[0084] 步骤1、用户在使用压缩工具并且压缩方式设置为“标准压缩方式”时,压缩模块34记录用户的压缩算法、文件格式、该格式的文件总大小、文件数量和压缩率;
[0085] 步骤2,压缩模块34将记录的上述信息发到服务器;
[0086] 步骤3,服务器通过计算得到在不同的压缩算法下,对应文件格式的平均压缩率;
[0087] 步骤4,服务器根据数据计算得到一张配置表(上述压缩方式配置表):将平均压缩率在95%和100%之间的文件格式加入该压缩算法的“存储”压缩方式列表,将平均压缩率在90%和95%之间的文件格式加入该压缩算法的“最快”压缩方式列表。
[0088] 步骤5,将该配置表同步到用户计算机上,用户下次压缩文件时调用模块30会自动调用该配置表,从而达到在基本不损害压缩率(误差控制在5%以内)的前提下,大大地提升压缩速度。
[0089] 需要说明的是,上述服务器可以是云端服务器。
[0090] 综上所述,借助于本发明实施例的技术方案,通过自动根据压缩方式配置表获取与需要压缩的文件类型匹配的压缩方式对文件进行压缩,解决了现有技术中对已经压缩过的或者冗余信息比较少的文件格式再进行压缩而导致的压缩时间浪费的问题,在需要压缩的数据中存在已经压缩过的文件或者冗余信息比较少的文件的情况下,能够自动为用户配置合适的压缩方式,在基本不损失压缩率的情况下,提升压缩速度。
[0091] 装置实施例二
[0092] 根据本发明的实施例,提供了一种服务器,图4是本发明实施例的服务器的结构示意图,如图4所示,根据本发明实施例的服务器包括:处理模块40、存储模块42、以及同步模块44,以下对本发明实施例的各个模块进行详细的说明。
[0093] 处理模块40,用于对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值的情况下,对压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据平均压缩率确定相应的压缩方式;
[0094] 优选地,上述处理模块40具体用于:在平均压缩率大于等于95%且小于等于100%的情况下,确定压缩方式为存储压缩方式;在平均压缩率大于等于90%且小于95%的情况下,确定压缩方式为快速压缩方式;在平均压缩率小于90%的情况下,确定压缩方式为标准压缩方式。
[0095] 存储模块42,用于将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中;
[0096] 存储模块42还用于:在将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中之后,将压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成。
[0097] 同步模块44,用于将压缩方式配置表同步到用户计算机中。
[0098] 需要说明的是,上述服务器可以是云端服务器。
[0099] 以下对上述技术方案进行详细说明。
[0100] 服务器对接收到的压缩参数信息进行存储,在相同文件类型的压缩参数信息的数量达到预定阈值(例如,10000个)的情况下,对压缩参数信息进行统计,计算在不同的压缩算法下,该文件类型的平均压缩率,并根据平均压缩率确定相应的压缩方式;最后,服务器将不同的压缩算法、相应的平均压缩率、以及相应的压缩方式存储在压缩方式配置表中与文件类型相对应的位置中,并将压缩方式配置表中与该文件类型相对应的统计完成标识符设置为已完成,并将压缩方式配置表同步到用户计算机中。
[0101] 优选地,在实际应用中,服务器也可以不将压缩方式配置表同步到用户的计算机中,而是保存在服务器中,在压缩工具需要调用该压缩方式配置表时,可以从服务器中获取。
[0102] 在上述处理中,在平均压缩率大于等于95%且小于等于100%的情况下,确定压缩方式为存储压缩方式;在平均压缩率大于等于90%且小于95%的情况下,确定压缩方式为快速压缩方式;在平均压缩率小于90%的情况下,确定压缩方式为标准压缩方式。
[0103] 实例1,在对数据进行压缩时,其中的rmvb格式的文件的平均压缩率在95%-100%之间,因此,针对rmvb格式的文件需要使用存储压缩方式进行压缩,其他文件的平均压缩率小于90%,则使用zip压缩算法、以及标准压缩方式对其他文件进行压缩。
[0104] 实例2,在对数据进行压缩时,其中的mp3格式的文件的平均压缩率在90%-95%之间,因此,针对mp3格式的文件需要使用zip压缩算法、以及快速压缩方式进行压缩,其他文件的平均压缩率小于90%,则使用zip压缩算法、以及标准压缩方式对其他文件进行压缩。
[0105] 实例3,在对jpg格式的文件进行压缩时,jpg格式的文件的平均压缩率在90%-95%之间,因此,针对jpg格式的文件需要使用7z压缩算法、以及快速压缩方式进行压缩。
[0106] 从上述实例可以看出,本发明实施例在压缩率损失不大于5%的情况下,能够尽可能地提高压缩速度。
[0107] 系统实施例
[0108] 根据本发明的实施例,提供了一种数据压缩系统,图5是本发明实施例的数据压缩系统的结构示意图,如图5所示,根据本发明实施例的数据压缩系统包括:数据压缩装置50、以及服务器52。数据压缩装置50和服务器52的处理流程在上述装置实施例一和装置实施例二中已经进行了详细的说明,本发明实施例的技术方案可以参照上述装置实施例一和装置实施例二进行理解,在此不再赘述。
[0109] 综上所述,借助于本发明实施例的技术方案,通过自动根据压缩方式配置表获取与需要压缩的文件类型匹配的压缩方式对文件进行压缩,解决了现有技术中对已经压缩过的或者冗余信息比较少的文件格式再进行压缩而导致的压缩时间浪费的问题,在需要压缩的数据中存在已经压缩过的文件或者冗余信息比较少的文件的情况下,能够自动为用户配置合适的压缩方式,在基本不损失压缩率的情况下,提升压缩速度,此外,现阶段各种类型文件逐渐增多,利用云端统计更新压缩方式配置表使得本发明实施例的技术方案更加适于应用。
[0110] 尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。