CN102761339B - 数据压缩方法及装置 - Google Patents

数据压缩方法及装置 Download PDF

Info

Publication number
CN102761339B
CN102761339B CN201210175013.3A CN201210175013A CN102761339B CN 102761339 B CN102761339 B CN 102761339B CN 201210175013 A CN201210175013 A CN 201210175013A CN 102761339 B CN102761339 B CN 102761339B
Authority
CN
China
Prior art keywords
data
compressed
compression
compact model
compressed configuration
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
Application number
CN201210175013.3A
Other languages
English (en)
Other versions
CN102761339A (zh
Inventor
阮卫挺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210175013.3A priority Critical patent/CN102761339B/zh
Publication of CN102761339A publication Critical patent/CN102761339A/zh
Application granted granted Critical
Publication of CN102761339B publication Critical patent/CN102761339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种数据压缩方法及装置。该装置包括:设置模块,用于设置压缩配置与压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式;确定模块,用于确定需要进行压缩的待压缩数据;查找模块,用于根据用户选择的压缩模式,查找对应的压缩配置;压缩模块,用于根据对应的压缩配置对待压缩数据进行压缩,生成压缩后数据包。借助于本发明的技术方案,能够根据用户的需要,自动为用户匹配最合适的压缩配置,从而达到压缩速度最快或压缩体积最小的目的,提高了用户的使用感受。

Description

数据压缩方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据压缩方法及装置。
背景技术
在现有技术中,压缩工具通过一定的压缩算法改变文件内容和数据,使得数据占用更小的存储空间。具体地,普通文件一般都包含一定的重复数据,这些重复的数据往往占据多倍的存储空间,压缩工具需要查找文件内的这些重复数据,通过合适的算法将数据进行重建,让多个重复数据只占用一个存储空间,在解压缩时,再通过相应的解压算法将压缩后的文件进行还原,这种压缩算法一般属于无损压缩。例如,在文本文件中包含多个相同的词"中华人民共和国",通过压缩工具压缩之后,只需占用一个存储空间进行存储,从而达到缩小文件的目的。
此外,压缩工具不仅能够帮助用户节省空间,同时也能将多个文件打成一个压缩数据包,以方便用户备份、传输和分享。目前,现有技术中有多款压缩工具,例如:winzip压缩工具,winrar压缩工具,7-zip压缩工具等;与压缩工具相对应的压缩格式也有多种,例如:rar格式、zip格式、7z格式、cab格式等。
上述的每个压缩工具和压缩格式都有各自特点。例如:zip格式的优点是使用广泛,压缩速度快,但是压缩率较小;rar格式通常比zip格式的压缩率要高,但是压缩速度较慢,并且winrar压缩工具对于文本、声音、以及图像在32位和64位英特尔(Intel)微处理器上能够执行程序压缩特殊优化算法,进一步提高了压缩率;7z格式通常比zip格式和rar格式压缩率都要高,同时压缩时间也比zip格式和rar格式都要长。
普通用户在使用压缩软件时,有时仅仅需要快速对多个文件进行打包,对压缩率并没有过多的要求;有时用户在考虑到传输的需要时,对压缩率会有比较高的要求,但对于压缩时间并没有过多的要求,图1是现有技术中使用压缩软件进行参数配置的示意图,如图1所示,用户在使用压缩软件时,对话框中包括压缩文件格式选项,提示用户选择相应的压缩算法,然而,关于上述压缩软件的专业知识对于普通用户来说并不了解,因此,普通用户不知道如何配置压缩算法才能获取合适的压缩文件。
发明内容
本发明提供一种数据压缩方法及装置,以解决现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题。
本发明提供一种数据压缩方法,包括:设置压缩配置与压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式;确定需要进行压缩的待压缩数据;根据用户选择的压缩模式,查找对应的压缩配置;根据对应的压缩配置对待压缩数据进行压缩,生成压缩后数据包。
优选地,设置压缩配置与压缩模式之间的对应关系具体包括:通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系;
优选地,根据用户选择的压缩模式,查找对应的压缩配置具体包括:根据用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
优选地,根据用户选择的压缩模式查找对应的压缩配置之前,方法还包括:根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
优选地,根据对应的压缩配置对待压缩数据进行压缩之后,上述方法还包括:将过滤出的已被压缩过的数据直接存储到压缩后数据包中。
优选地,压缩配置包括:压缩算法、以及压缩参数。
本发明还提供一种数据压缩方法,包括:设置数据格式、压缩配置、以及压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式;确定需要进行压缩的待压缩数据;根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置;根据对应的压缩配置对待压缩数据进行压缩,生成压缩后数据包。
优选地,设置数据格式、压缩配置、以及压缩模式之间的对应关系具体包括:通过压缩数据统计表保存设置的数据格式、压缩配置、以及压缩模式之间的对应关系;
优选地,根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置具体包括:根据待压缩数据的数据格式和用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
优选地,根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置之前,上述方法还包括:根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
优选地,根据对应的压缩配置对待压缩数据进行压缩之后,方法还包括:将过滤出的已被压缩过的数据直接存储到压缩后数据包中。
优选地,压缩配置包括:压缩算法、以及压缩参数。
优选地,待压缩数据包括一个或多个不同数据格式的数据;
优选地,根据对应的压缩配置对待压缩数据进行压缩,获取压缩后数据包具体包括:根据各个不同数据格式对应的压缩配置分别对待压缩数据中各个不同数据格式的数据进行压缩,获取压缩后数据包。
优选地,根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置具体包括:在用户选择的压缩模式为压缩速度优先模式的情况下,获取待压缩数据的数据格式;并查找与数据格式和压缩速度优先模式相对应的压缩配置;在用户选择的压缩模式为压缩体积优先模式的情况下,获取待压缩数据的数据格式;查找与数据格式和压缩体积优先模式相对应的压缩配置。
本发明还提供了一种数据压缩装置,包括:设置模块,用于设置压缩配置与压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式;确定模块,用于确定需要进行压缩的待压缩数据;查找模块,用于根据用户选择的压缩模式,查找对应的压缩配置;压缩模块,用于根据对应的压缩配置对待压缩数据进行压缩,生成压缩后数据包。
优选地,设置模块具体用于:通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系;
优选地,查找模块具体用于:根据用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
优选地,装置还包括:过滤模块,用于在查找模块根据用户选择的压缩模式查找对应的压缩配置之前,根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;存储模块,用于在压缩模块根据对应的压缩配置对待压缩数据进行压缩之后,将过滤出的已被压缩过的数据直接存储到压缩后数据包中。
优选地,压缩配置包括:压缩算法、以及压缩参数。
本发明还提供了一种数据压缩装置,包括:设置模块,用于设置数据格式、压缩配置、以及压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式;确定模块,用于确定需要进行压缩的待压缩数据;查找模块,用于根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置;压缩模块,用于根据对应的压缩配置对待压缩数据进行压缩,获取压缩后数据包。
优选地,设置模块具体用于:通过压缩数据统计表保存设置的数据格式、压缩配置、以及压缩模式之间的对应关系;
优选地,查找模块具体用于:根据待压缩数据的数据格式和用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
优选地,上述装置还包括:过滤模块,用于在查找模块根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置之前,根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;存储模块,用于在压缩模块根据对应的压缩配置对待压缩数据进行压缩之后将过滤出的已被压缩过的数据直接存储到压缩后数据包中。
优选地,压缩配置包括:压缩算法、以及压缩参数。
优选地,待压缩数据包括一个或多个不同数据格式的数据;
优选地,压缩模块具体用于:根据各个不同数据格式对应的压缩配置分别对待压缩数据中各个不同数据格式的数据进行压缩,获取压缩后数据包。
优选地,查找模块具体用于:在用户选择的压缩模式为压缩速度优先模式的情况下,获取待压缩数据的数据格式;并查找与数据格式和压缩速度优先模式相对应的压缩配置;在用户选择的压缩模式为压缩体积优先模式的情况下,获取待压缩数据的数据格式;查找与数据格式和压缩体积优先模式相对应的压缩配置。
本发明有益效果如下:
通过在压缩文件时智能匹配与用户选择的压缩模式相对应的压缩配置对用户的数据进行压缩,解决了现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题,本发明实施例的技术方案能够根据用户的需要,自动为用户匹配最合适的压缩配置,从而达到压缩速度最快或压缩体积最小的目的,提高了用户的使用感受。
附图说明
图1是现有技术中使用压缩软件进行参数配置的示意图;
图2是本发明方法实施例一的数据压缩方法的流程图;
图3是本发明方法实施例二的数据压缩方法的流程图;
图4是本发明装置实施例一的数据压缩装置的结构示意图;
图5是本发明装置实施例二的数据压缩装置的结构示意图。
具体实施方式
为了解决现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题,本发明提供了一种数据压缩方法及装置,本发明实施例的技术方案能够根据用户选择的压缩模式,自动地为用户选择合适的压缩配置,从而达到用户的压缩目的。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例一
根据本发明的实施例,提供了一种数据压缩方法,图2是本发明方法实施例一的数据压缩方法的流程图,如图2所示,根据本发明实施例的数据压缩方法包括如下处理:
步骤201,设置压缩配置与压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式,所述速度优先模式是指采用较快处理速度的压缩方式,所述体积优先模式是指采用压缩后数据包体积较小的压缩方式;
上述压缩配置包括:压缩算法、以及压缩参数。在实际应用中,压缩算法包括:压缩数据包为rar格式的rar压缩算法、压缩数据包为zip格式的zip压缩算法、压缩数据包为7z格式的7z压缩算法、以及压缩数据包为cab格式的cab压缩算法等。压缩参数包括:是否加密、固实(Solid)压缩参数、以及压缩后是否删除源文件等参数。其中,固实压缩文件是一种特殊压缩方式存储的压缩文件,它把压缩文件中的全部文件都当成一个连续数据流来看待,其支持RAR、7Z格式,不支持ZIP格式压缩。
在实际应用中,可以通过人工/自动配置的对应关系图、压缩配置数据库、压缩数据统计数据表、配置文件以及其他类似形式来保存设置的压缩配置与压缩模式之间的对应关系。
优选地,下面以通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系为例,进行具体说明,具体地,压缩数据统计表是在大量的实验中对各种不同的文件格式(即,上述数据格式)在不同的压缩算法下的表现进行统计而获取的,压缩数据统计表对文件进行压缩时智能匹配最合适的压缩配置提供依据,从而达到速度最快或压缩率最低(压缩后体积最小)的目的。需要说明的是,在本发明实施例中,压缩率的计算方法为:压缩率=压缩后数据包大小/待压缩数据大小。根据本发明实施例的压缩数据统计表如表1所示:
表1
需要说明的是,表1中的各个数据仅为举例说明,并不是实际测得的实验数据。
步骤202,确定需要进行压缩的待压缩数据;具体地,在实际应用中,可以根据用户的选择,确定需要进行压缩的待压缩数据。
步骤203,根据用户选择的压缩模式,查找对应的压缩配置;
具体地,在实际应用中,可以根据用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
在实际应用中,对于速度最快模式,可以选取压缩配置中的压缩格式为ZIP、压缩方式为标准,以及勾选“对压缩率很低的文件直接存储”。对于体积最小模式,可以选取压缩配置中的压缩格式为7Z、压缩方式为最好,以及勾选“创建固实压缩文件”。
在本发明实施例中,压缩速度优先模式并不是完全不考虑文件压缩率,而是在以压缩方式为标准的前提下进行计算,在牺牲压缩率不是很大的前提下获得最快的速度。具体实现如下:
根据实验统计,对于大部分格式的待压缩数据,压缩速度最快的是zip压缩算法,而对于一部分已经被压缩的图片、音视频文件、文档等数据,再进行压缩时的压缩率非常高,当压缩率高到预先设置的阈值(例如,阈值为98%)时,在压缩速度优先模式下会智能跳过这些文件类型,即,不对上述文件进行压缩。
具体地,在用户选择的压缩模式为压缩速度优先模式的情况下,在调用压缩数据统计表之前,首先根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据(例如,已经被压缩的图片、音视频文件、文档等数据),获取没有被压缩过的数据。随后,对获取的没有被压缩过的待压缩数据执行步骤201。例如:本发明实施例的技术方案自动地跳过rmvb格式的文件(或者跳过已压缩过的其他文件),对其他文件采用标准的zip压缩算法。
优选地,在本发明实施例中,用户还可以手动对压缩配置进行选择。
步骤204,根据对应的压缩配置对待压缩数据进行压缩,获取压缩数据包。
需要说明的是,如果在调用压缩数据统计表之前,对待压缩数据进行了过滤操作,那么,在对待压缩数据进行压缩之后,需要将过滤出的已被压缩过的数据直接存储到该压缩数据包中。
综上所述,借助于本发明实施例的技术方案,通过在压缩文件时智能匹配与用户选择的压缩模式相对应的压缩配置对用户的数据进行压缩,解决了现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题,本发明实施例的技术方案能够根据用户的需要,自动为用户匹配最合适的压缩配置,从而达到压缩速度最快或压缩体积最小的目的,提高了用户的使用感受。
方法实施例二
根据本发明的实施例,提供了一种数据压缩方法,图3是本发明方法实施例二的数据压缩方法的流程图,如图3所示,根据本发明实施例的数据压缩方法包括如下处理:
步骤301,设置数据格式、压缩配置、以及压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式,所述速度优先模式是指采用较快处理速度的压缩方式,所述体积优先模式是指采用压缩后数据包体积较小的压缩方式;
优选地,上述压缩配置包括:压缩算法、以及压缩参数;在实际应用中,压缩算法包括:压缩数据包为rar格式的rar压缩算法、压缩数据包为zip格式的zip压缩算法、压缩数据包为7z格式的7z压缩算法、以及压缩数据包为cab格式的cab压缩算法等。压缩参数包括:是否加密、固实(Solid)压缩参数、以及压缩后是否删除源文件等参数。
在实际应用中,可以通过人工/自动配置的对应关系图、压缩配置数据库、压缩数据统计数据表、配置文件以及其他类似形式来保存设置的压缩配置与压缩模式之间的对应关系。
优选地,下面以通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系为例,进行具体说明:压缩数据统计表是在大量的实验中对各种不同的文件格式(即,上述数据格式)在不同的压缩算法下的表现进行统计而获取的,压缩数据统计表对文件进行压缩时智能匹配最合适的压缩配置提供依据,从而达到速度最快或压缩率最低(压缩后体积最小)的目的。需要说明的是,在本发明实施例中,压缩率的计算方法为:压缩率=压缩数据包大小/待压缩数据大小。根据本发明实施例的压缩数据统计表如表1所示:
表1
需要说明的是,表1中的各个数据仅为举例说明,并不是实际测得的实验数据。
步骤302,确定需要进行压缩的待压缩数据;具体地,在实际应用中,可以根据用户的选择,确定需要进行压缩的待压缩数据。
步骤303,根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置;
优选地,根据待压缩数据的数据格式和用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
在以下实施例中,用户选择压缩速度优先模式的方案。在用户选择的压缩模式为压缩速度优先模式的情况下,步骤303具体包括如下处理:
1、获取待压缩数据的数据格式,例如,数据格式为.gif;
2、从所述压缩数据统计表中获取与所述数据格式和所述压缩速度优先模式相对应的压缩配置,例如,如表1所示,压缩模式为压缩速度优先模式、且数据格式为.gif时,压缩配置为rar压缩算法。
通过上述处理,可以帮助用户智能地选择最优的压缩配置从而实现压缩速度最快的目的。
在本发明实施例中,压缩速度优先模式并不是完全不考虑文件压缩率,而是在以压缩方式为标准的前提下进行计算,在牺牲压缩率不是很大的前提下获得最快的速度。具体实现如下:
根据实验统计,对于大部分格式的待压缩数据,压缩速度最快的是zip压缩算法,而对于一部分已经被压缩的图片、音视频文件、文档等数据,再进行压缩时的压缩率非常高,当压缩率高到预先设置的阈值(例如,阈值为98%)时,在压缩速度优先模式下会智能跳过这些文件类型,即,不对上述文件进行压缩。
具体地,在用户选择的压缩模式为压缩速度优先模式的情况下,在调用压缩数据统计表之前,首先根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据(例如,已经被压缩的图片、音视频文件、文档等数据),获取没有被压缩过的数据。随后,对获取的没有被压缩过的待压缩数据执行步骤301。例如:本发明实施例的技术方案自动地跳过rmvb格式的文件(或者跳过已压缩过的其他文件),对其他文件采用标准的zip压缩算法。
在以下实施例中,用户选择压缩体积优先模式的方案。在用户选择的压缩模式为压缩体积优先模式的情况下,步骤303具体包括如下处理:
1、获取待压缩数据的数据格式;例如,数据格式为.gif;
2、从所述压缩数据统计表中获取与所述数据格式和所述压缩体积优先模式相对应的压缩配置;例如,如表1所示,压缩模式为压缩体积优先模式、且数据格式为.gif时,压缩配置为zip压缩算法。
需要说明的是,根据实验统计,固实压缩参数可以让压缩率更低,因此,压缩数据统计表中的实验统计的都是固实压缩的数据。并且对于大部分格式文件,压缩率最高的都是7z格式,只有个别图片、音视频文件、文档等文件类型,rar格式的压缩率更胜一筹。例如,本发明实施例的技术方案对于个别图片、音视频文件、文档等数据类型使用rar压缩算法,并配置固实压缩参数进行压缩,对其他文件采用7z压缩算法,并配置固实压缩参数进行压缩。
通过上述处理,可以帮助用户智能地选择最优的压缩配置从而实现压缩数据包最小的目的。
优选地,在本发明实施例中,用户还可以手动对压缩配置进行选择。
步骤304,根据对应的压缩配置对待压缩数据进行压缩,获取压缩数据包。
需要说明的是,如果在调用压缩数据统计表之前,对待压缩数据进行了过滤操作,那么,在对待压缩数据进行压缩之后,需要将过滤出的已被压缩过的数据直接存储到该压缩数据包中。
需要说明的是,待压缩数据可以包括一个或多个不同数据格式的数据,因此,在实际应用中,需要从压缩数据统计表中获取与待压缩数据中各个数据格式分别对应的压缩配置,在待压缩数据进行压缩时,需要根据各个不同数据格式对应的压缩配置对待压缩数据中各个不同数据格式的数据分别进行压缩,获取压缩数据包。
综上所述,借助于本发明实施例的技术方案,通过在压缩文件时智能匹配与用户选择的压缩模式相对应的压缩配置对用户的数据进行压缩,解决了现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题,本发明实施例的技术方案能够根据用户的需要,自动为用户匹配最合适的压缩配置,从而达到压缩速度最快或压缩体积最小的目的,提高了用户的使用感受。
装置实施例一
根据本发明的实施例,提供了一种数据压缩装置,图4是本发明装置实施例一的数据压缩装置的结构示意图,如图4所示,根据本发明实施例的数据压缩装置包括:第一设置模块40、第一确定模块42、第一查找模块44、以及第一压缩模块46,以下对本发明实施例的各个模块进行详细的说明。
第一设置模块40,用于设置压缩配置与压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式,所述速度优先模式是指采用较快处理速度的压缩方式,所述体积优先模式是指采用压缩后数据包体积较小的压缩方式;
上述压缩配置包括:压缩算法、以及压缩参数。在实际应用中,压缩算法包括:压缩数据包为rar格式的rar压缩算法、压缩数据包为zip格式的zip压缩算法、压缩数据包为7z格式的7z压缩算法、以及压缩数据包为cab格式的cab压缩算法等。压缩参数包括:是否加密、固实(Solid)压缩参数、以及压缩后是否删除源文件等参数。
在实际应用中,第一设置模块40可以通过人工/自动配置的对应关系图、压缩配置数据库、压缩数据统计数据表、配置文件以及其他类似形式来保存设置的压缩配置与压缩模式之间的对应关系。
优选地,下面以第一设置模块40通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系为例,进行具体说明:压缩数据统计表是在大量的实验中对各种不同的文件格式(即,上述数据格式)在不同的压缩算法下的表现进行统计而获取的,压缩数据统计表对文件进行压缩时智能匹配最合适的压缩配置提供依据,从而达到速度最快或压缩率最低(压缩后体积最小)的目的。需要说明的是,在本发明实施例中,压缩率的计算方法为:压缩率=压缩数据包大小/待压缩数据大小。根据本发明实施例的压缩数据统计表如表1所示:
表1
需要说明的是,表1中的各个数据仅为举例说明,并不是实际测得的实验数据。
第一确定模块42,用于确定需要进行压缩的待压缩数据;具体地,在实际应用中,第一确定模块42可以根据用户的选择,确定需要进行压缩的待压缩数据。
第一查找模块44,用于根据用户选择的压缩模式,查找对应的压缩配置;
第一查找模块44具体用于:根据用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
在实际应用中,对于速度最快模式,可以选取压缩配置中的压缩格式为ZIP、压缩方式为标准,以及勾选“对压缩率很低的文件直接存储”。对于体积最小模式,可以选取压缩配置中的压缩格式为7Z、压缩方式为最好,以及勾选“创建固实压缩文件”。
优选地,上述装置还包括:
第一过滤模块,用于在第一查找模块44根据用户选择的压缩模式查找对应的压缩配置之前,根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
第一存储模块,用于在第一压缩模块46根据对应的压缩配置对待压缩数据进行压缩之后,将过滤出的已被压缩过的数据直接存储到压缩数据包中。
具体地,在本发明实施例中,压缩速度优先模式并不是完全不考虑文件压缩率,而是在以压缩方式为标准的前提下进行计算,在牺牲压缩率不是很大的前提下获得最快的速度。具体实现如下:
根据实验统计,对于大部分格式的待压缩数据,压缩速度最快的是zip压缩算法,而对于一部分已经被压缩的图片、音视频文件、文档等数据,再进行压缩时的压缩率非常高,当压缩率高到预先设置的阈值(例如,阈值为98%)时,在压缩速度优先模式下会智能跳过这些文件类型,即,不对上述文件进行压缩。
具体地,在用户选择的压缩模式为压缩速度优先模式的情况下,在调用压缩数据统计表之前,首先根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据(例如,已经被压缩的图片、音视频文件、文档等数据),获取没有被压缩过的数据。随后,对获取的没有被压缩过的待压缩数据调用本装置。例如:本发明实施例的技术方案自动地跳过rmvb格式的文件(或者跳过已压缩过的其他文件),对其他文件采用标准的zip压缩算法。
优选地,在本发明实施例中,用户还可以手动对压缩配置进行选择。
第一压缩模块46,用于根据对应的压缩配置对待压缩数据进行压缩,获取压缩数据包。
需要说明的是,如果在调用压缩数据统计表之前,对待压缩数据进行了过滤操作,那么,在对待压缩数据进行压缩之后,需要调用第一存储模块将过滤出的已被压缩过的数据直接存储到该压缩数据包中。
综上所述,借助于本发明实施例的技术方案,通过在压缩文件时智能匹配与用户选择的压缩模式相对应的压缩配置对用户的数据进行压缩,解决了现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题,本发明实施例的技术方案能够根据用户的需要,自动为用户匹配最合适的压缩配置,从而达到压缩速度最快或压缩体积最小的目的,提高了用户的使用感受。
装置实施例二
根据本发明的实施例,提供了一种数据压缩装置,图5是本发明装置实施例二的数据压缩装置的结构示意图,如图5所示,根据本发明实施例的数据压缩装置包括:第二设置模块50、第二确定模块52、第二查找模块54、以及第二压缩模块56,以下对本发明实施例的各个模块进行详细的说明。
第二设置模块50,用于设置数据格式、压缩配置、以及压缩模式之间的对应关系,压缩模式包括:速度优先模式、以及体积优先模式,所述速度优先模式是指采用较快处理速度的压缩方式,所述体积优先模式是指采用压缩后数据包体积较小的压缩方式;
优选地,上述压缩配置包括:压缩算法、以及压缩参数;在实际应用中,压缩算法包括:压缩数据包为rar格式的rar压缩算法、压缩数据包为zip格式的zip压缩算法、压缩数据包为7z格式的7z压缩算法、以及压缩数据包为cab格式的cab压缩算法等。压缩参数包括:是否加密、固实(Solid)压缩参数、以及压缩后是否删除源文件等参数。
在实际应用中,第二设置模块50可以通过人工/自动配置的对应关系图、压缩配置数据库、压缩数据统计数据表、配置文件以及其他类似形式来保存设置的压缩配置与压缩模式之间的对应关系。
优选地,下面以第二设置模块50通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系为例,进行具体说明:压缩数据统计表是在大量的实验中对各种不同的文件格式(即,上述数据格式)在不同的压缩算法下的表现进行统计而获取的,压缩数据统计表对文件进行压缩时智能匹配最合适的压缩配置提供依据,从而达到速度最快或压缩率最低(压缩后体积最小)的目的。需要说明的是,在本发明实施例中,压缩率的计算方法为:压缩率=压缩数据包大小/待压缩数据大小。根据本发明实施例的压缩数据统计表如表1所示:
表1
需要说明的是,表1中的各个数据仅为举例说明,并不是实际测得的实验数据。
第二确定模块52,用于确定需要进行压缩的待压缩数据;具体地,在实际应用中,第二确定模块52可以根据用户的选择,确定需要进行压缩的待压缩数据。
第二查找模块54,用于根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置;
第二查找模块54具体用于:根据待压缩数据的数据格式和用户选择的压缩模式从压缩数据统计表中获取相对应的压缩配置。
优选地,第二查找模块54具体用于:在用户选择的压缩模式为压缩速度优先模式的情况下,获取待压缩数据的数据格式;并查找与数据格式和压缩速度优先模式相对应的压缩配置;在用户选择的压缩模式为压缩体积优先模式的情况下,获取待压缩数据的数据格式;查找与数据格式和压缩体积优先模式相对应的压缩配置。
在以下实施例中,用户选择压缩速度优先模式的方案。在用户选择的压缩模式为压缩速度优先模式的情况下,具体包括如下处理:
1、获取待压缩数据的数据格式,例如,数据格式为.gif;
2、从所述压缩数据统计表中获取与所述数据格式和所述压缩速度优先模式相对应的压缩配置,例如,如表1所示,压缩模式为压缩速度优先模式、且数据格式为.gif时,压缩配置为rar压缩算法。
通过上述处理,可以帮助用户智能地选择最优的压缩配置从而实现压缩速度最快的目的。
在本发明实施例中,压缩速度优先模式并不是完全不考虑文件压缩率,而是在以压缩方式为标准的前提下进行计算,在牺牲压缩率不是很大的前提下获得最快的速度。具体实现如下:
第二过滤模块,用于在第二查找模块54根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置之前,根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
第二存储模块,用于在第二压缩模块56根据对应的压缩配置对待压缩数据进行压缩之后将过滤出的已被压缩过的数据直接存储到压缩数据包中。
具体地,根据实验统计,对于大部分格式的待压缩数据,压缩速度最快的是zip压缩算法,而对于一部分已经被压缩的图片、音视频文件、文档等数据,再进行压缩时的压缩率非常高,当压缩率高到预先设置的阈值(例如,阈值为98%)时,在压缩速度优先模式下会智能跳过这些文件类型,即,不对上述文件进行压缩。
具体地,在用户选择的压缩模式为压缩速度优先模式的情况下,在调用压缩数据统计表之前,首先根据待压缩数据的数据格式,对待压缩数据进行过滤,过滤出已被压缩过的数据(例如,已经被压缩的图片、音视频文件、文档等数据),获取没有被压缩过的数据。随后,对获取的没有被压缩过的待压缩数据调用本装置。例如:本发明实施例的技术方案自动地跳过rmvb格式的文件(或者跳过已压缩过的其他文件),对其他文件采用标准的zip压缩算法。
在以下实施例中,用户选择压缩体积优先模式的方案。在用户选择的压缩模式为压缩体积优先模式的情况下,具体包括如下处理:
1、获取待压缩数据的数据格式;例如,数据格式为.gif;
2、从所述压缩数据统计表中获取与所述数据格式和所述压缩体积优先模式相对应的压缩配置;例如,如表1所示,压缩模式为压缩体积优先模式、且数据格式为.gif时,压缩配置为zip压缩算法。
需要说明的是,根据实验统计,固实压缩参数可以让压缩率更低,因此,压缩数据统计表中的实验统计的都是固实压缩的数据。并且对于大部分格式文件,压缩率最高的都是7z格式,只有个别图片、音视频文件、文档等文件类型,rar格式的压缩率更胜一筹。例如,本发明实施例的技术方案对于个别图片、音视频文件、文档等数据类型使用rar压缩算法,并配置固实压缩参数进行压缩,对其他文件采用7z压缩算法,并配置固实压缩参数进行压缩。
通过上述处理,可以帮助用户智能地选择最优的压缩配置从而实现压缩数据包最小的目的。
优选地,在本发明实施例中,用户还可以手动对压缩配置进行选择。
第二压缩模块56,用于根据对应的压缩配置对待压缩数据进行压缩,获取压缩数据包。
需要说明的是,如果在调用压缩数据统计表之前,对待压缩数据进行了过滤操作,那么,在对待压缩数据进行压缩之后,需要调用第二存储模块将过滤出的已被压缩过的数据直接存储到该压缩数据包中。
优选地,待压缩数据包括一个或多个不同数据格式的数据;第二压缩模块54具体用于:根据各个不同数据格式对应的压缩配置分别对待压缩数据中各个不同数据格式的数据进行压缩,获取压缩数据包。
也就是说,待压缩数据可以包括一个或多个不同数据格式的数据,因此,在实际应用中,需要从压缩数据统计表中获取与待压缩数据中各个数据格式分别对应的压缩配置,在待压缩数据进行压缩时,需要根据各个不同数据格式对应的压缩配置对待压缩数据中各个不同数据格式的数据分别进行压缩,获取压缩数据包。
综上所述,借助于本发明实施例的技术方案,通过在压缩文件时智能匹配与用户选择的压缩模式相对应的压缩配置对用户的数据进行压缩,解决了现有技术中用户由于缺乏专业知识不能够根据自己的需要选择合适的压缩算法的问题,本发明实施例的技术方案能够根据用户的需要,自动为用户匹配最合适的压缩配置,从而达到压缩速度最快或压缩体积最小的目的,提高了用户的使用感受。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和等同或类似替代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (16)

1.一种数据压缩装置,其特征在于,包括:
设置模块,用于设置压缩配置与压缩模式之间的对应关系,所述压缩模式包括:速度优先模式、以及体积优先模式;所述压缩配置包括:压缩算法、以及压缩参数;所述压缩参数包括以下至少一种:是否加密、固实压缩参数、压缩方式、压缩后是否删除源文件;
确定模块,用于确定需要进行压缩的待压缩数据;
查找模块,用于根据用户选择的压缩模式,自动查找对应的压缩配置;
压缩模块,用于根据所述对应的压缩配置对待压缩数据进行压缩,生成压缩后数据包。
2.如权利要求1所述的装置,其特征在于,
所述设置模块具体用于:通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系;
所述查找模块具体用于:根据用户选择的压缩模式从所述压缩数据统计表中获取相对应的压缩配置。
3.如权利要求1或2所述的装置,其特征在于,所述装置还包括:
过滤模块,用于在所述查找模块根据用户选择的压缩模式查找对应的压缩配置之前,根据所述待压缩数据的数据格式,对所述待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
存储模块,用于在所述压缩模块根据所述对应的压缩配置对待压缩数据进行压缩之后,将过滤出的所述已被压缩过的数据直接存储到所述压缩后数据包中。
4.一种数据压缩装置,其特征在于,包括:
设置模块,用于设置数据格式、压缩配置、以及压缩模式之间的对应关系,所述压缩模式包括:速度优先模式、以及体积优先模式;所述压缩配置包括:压缩算法、以及压缩参数;所述压缩参数包括以下至少一种:是否加密、固实压缩参数、压缩方式、压缩后是否删除源文件;
确定模块,用于确定需要进行压缩的待压缩数据;
查找模块,用于根据待压缩数据的数据格式和用户选择的压缩模式,自动查找对应的压缩配置;
压缩模块,用于根据所述对应的压缩配置对所述待压缩数据进行压缩,获取压缩后数据包。
5.如权利要求4所述的装置,其特征在于,
所述设置模块具体用于:通过压缩数据统计表保存设置的数据格式、压缩配置、以及压缩模式之间的对应关系;
所述查找模块具体用于:根据所述待压缩数据的数据格式和用户选择的压缩模式从所述压缩数据统计表中获取相对应的压缩配置。
6.如权利要求4或5所述的装置,其特征在于,所述装置还包括:
过滤模块,用于在所述查找模块根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置之前,根据所述待压缩数据的数据格式,对所述待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
存储模块,用于在所述压缩模块根据所述对应的压缩配置对待压缩数据进行压缩之后将过滤出的所述已被压缩过的数据直接存储到所述压缩后数据包中。
7.如权利要求4或5所述的装置,其特征在于,所述待压缩数据包括一个或多个不同数据格式的数据;
所述压缩模块具体用于:根据各个不同数据格式对应的压缩配置分别对所述待压缩数据中各个不同数据格式的数据进行压缩,获取所述压缩后数据包。
8.如权利要求4所述的装置,其特征在于,所述查找模块具体用于:
在用户选择的所述压缩模式为压缩速度优先模式的情况下,获取所述待压缩数据的数据格式;并查找与所述数据格式和所述压缩速度优先模式相对应的压缩配置;
在用户选择的所述压缩模式为压缩体积优先模式的情况下,获取所述待压缩数据的数据格式;查找与所述数据格式和所述压缩体积优先模式相对应的压缩配置。
9.一种数据压缩方法,其特征在于,包括:
设置压缩配置与压缩模式之间的对应关系,所述压缩模式包括:速度优先模式、以及体积优先模式;所述压缩配置包括:压缩算法、以及压缩参数;所述压缩参数包括以下至少一种:是否加密、固实压缩参数、压缩方式、压缩后是否删除源文件;
确定需要进行压缩的待压缩数据;
根据用户选择的压缩模式,自动查找对应的压缩配置;
根据所述对应的压缩配置对待压缩数据进行压缩,生成压缩后数据包。
10.如权利要求9所述的方法,其特征在于,
设置压缩配置与压缩模式之间的对应关系具体包括:
通过压缩数据统计表保存设置的压缩配置与压缩模式之间的对应关系;
根据用户选择的压缩模式,查找对应的压缩配置具体包括:
根据用户选择的压缩模式从所述压缩数据统计表中获取相对应的压缩配置。
11.如权利要求9或10所述的方法,其特征在于,
根据用户选择的压缩模式查找对应的压缩配置之前,所述方法还包括:
根据所述待压缩数据的数据格式,对所述待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
根据所述对应的压缩配置对待压缩数据进行压缩之后,所述方法还包括:
将过滤出的所述已被压缩过的数据直接存储到所述压缩后数据包中。
12.一种数据压缩方法,其特征在于,包括:
设置数据格式、压缩配置、以及压缩模式之间的对应关系,所述压缩模式包括:速度优先模式、以及体积优先模式;所述压缩配置包括:压缩算法、以及压缩参数;所述压缩参数包括以下至少一种:是否加密、固实压缩参数、压缩方式、压缩后是否删除源文件;
确定需要进行压缩的待压缩数据;
根据待压缩数据的数据格式和用户选择的压缩模式,自动查找对应的压缩配置;
根据所述对应的压缩配置对所述待压缩数据进行压缩,生成压缩后数据包。
13.如权利要求12所述的方法,其特征在于,
设置数据格式、压缩配置、以及压缩模式之间的对应关系具体包括:
通过压缩数据统计表保存设置的数据格式、压缩配置、以及压缩模式之间的对应关系;
根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置具体包括:
根据所述待压缩数据的数据格式和用户选择的压缩模式从所述压缩数据统计表中获取相对应的压缩配置。
14.如权利要求12或13所述的方法,其特征在于,
根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置之前,所述方法还包括:
根据所述待压缩数据的数据格式,对所述待压缩数据进行过滤,过滤出已被压缩过的数据,获取没有被压缩过的数据;
根据所述对应的压缩配置对待压缩数据进行压缩之后,所述方法还包括:
将过滤出的所述已被压缩过的数据直接存储到所述压缩后数据包中。
15.如权利要求12或13所述的方法,其特征在于,所述待压缩数据包括一个或多个不同数据格式的数据;
根据所述对应的压缩配置对待压缩数据进行压缩,获取压缩后数据包具体包括:
根据各个不同数据格式对应的压缩配置分别对所述待压缩数据中各个不同数据格式的数据进行压缩,获取所述压缩后数据包。
16.如权利要求12所述的方法,其特征在于,根据待压缩数据的数据格式和用户选择的压缩模式,查找对应的压缩配置具体包括:
在用户选择的所述压缩模式为压缩速度优先模式的情况下,获取所述待压缩数据的数据格式;并查找与所述数据格式和所述压缩速度优先模式相对应的压缩配置;
在用户选择的所述压缩模式为压缩体积优先模式的情况下,获取所述待压缩数据的数据格式;查找与所述数据格式和所述压缩体积优先模式相对应的压缩配置。
CN201210175013.3A 2012-05-30 2012-05-30 数据压缩方法及装置 Active CN102761339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210175013.3A CN102761339B (zh) 2012-05-30 2012-05-30 数据压缩方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210175013.3A CN102761339B (zh) 2012-05-30 2012-05-30 数据压缩方法及装置

Publications (2)

Publication Number Publication Date
CN102761339A CN102761339A (zh) 2012-10-31
CN102761339B true CN102761339B (zh) 2015-07-01

Family

ID=47055671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210175013.3A Active CN102761339B (zh) 2012-05-30 2012-05-30 数据压缩方法及装置

Country Status (1)

Country Link
CN (1) CN102761339B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838742B (zh) * 2012-11-21 2017-11-10 新奥特(北京)视频技术有限公司 一种多媒体文件的压缩参数处理方法和装置
CN103034702B (zh) * 2012-12-06 2016-09-28 北京奇虎科技有限公司 用于数据压缩/解压缩的装置、方法和系统
CN102999626B (zh) * 2012-12-06 2016-09-28 北京奇虎科技有限公司 一种数据压缩/解压缩装置及其方法、系统
CN108200091B (zh) 2013-01-17 2021-10-01 华为技术有限公司 一种数据包处理方法和装置
CN105760183A (zh) * 2014-12-15 2016-07-13 北京奇虎科技有限公司 文件处理方法、装置及通信系统
CN108427704B (zh) * 2018-01-05 2022-08-09 平安科技(深圳)有限公司 压缩工具调用方法、装置及存储介质
CN109032506A (zh) * 2018-06-27 2018-12-18 郑州云海信息技术有限公司 一种存储系统数据压缩方法、系统及设备和存储介质
CN112770114B (zh) * 2020-12-29 2023-03-28 平安普惠企业管理有限公司 图像数据的压缩方法、装置、计算机设备以及存储介质
CN115809221A (zh) * 2021-09-15 2023-03-17 华为技术有限公司 一种数据压缩方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731364A (zh) * 2005-08-05 2006-02-08 北京九州软件有限公司 数据库备份数据的压缩和检索方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584875B (zh) * 2004-06-01 2011-08-10 北京九州软件有限公司 批量计算机文件的遍历性压缩和解压缩方法
US7420992B1 (en) * 2005-03-17 2008-09-02 Packeteer, Inc. Adaptive network traffic compression mechanism including dynamic selection of compression algorithms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731364A (zh) * 2005-08-05 2006-02-08 北京九州软件有限公司 数据库备份数据的压缩和检索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
四大压缩高手终极比拼——网络文件传输该选谁;www.itxiaobai.com;《cfan爱好者》;20110128;第1-6页 *

Also Published As

Publication number Publication date
CN102761339A (zh) 2012-10-31

Similar Documents

Publication Publication Date Title
CN102761339B (zh) 数据压缩方法及装置
CN102684705B (zh) 数据压缩方法及装置
CN102761540B (zh) 数据压缩方法、装置、系统以及服务器
CN105204781B (zh) 压缩方法、装置和设备
KR20200105432A (ko) 데이터를 압축하기 위한 방법들 및 장치들
CN104244023B (zh) 视频云编辑系统和方法
CN105787119A (zh) 基于混合引擎的大数据处理方法及系统
CN106202273A (zh) 文件管理方法及系统
CN101398807B (zh) 解压移动终端压缩包的方法和装置
CN105578274A (zh) 智能电视的音量调整方法及装置
CN104427341A (zh) 一种图像处理方法、装置及终端
CN106897280A (zh) 数据查询方法及装置
WO2021203918A8 (zh) 用于处理模型参数的方法和装置
CN104484190A (zh) 音量调节方法及音频设备
CN110601872A (zh) 一种传输方法及装置、存储介质
CN104681047B (zh) 一种自适应视频播放方法、装置及终端
US9552813B2 (en) Self-adaptive intelligent voice device and method
CN101296155B (zh) 对内容分类的方法及系统
CN102999626A (zh) 一种数据压缩/解压缩装置及其方法、系统
KR102642796B1 (ko) 무손실 데이터 압축 및 압축 해제를 위한 방법, 장치 및 컴퓨터 프로그램 제품
CN103544221B (zh) 一种Android系统中视频缩略图的生成方法和系统
CN104133883A (zh) 电话号码归属地数据压缩算法
CN104732979A (zh) 一种音频数据的处理方法及装置
CN103034702A (zh) 用于数据压缩/解压缩的装置、方法和系统
CN102799670A (zh) 压力测试数据处理装置和压力测试数据处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220715

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.