文件的压缩、解压方法及装置与流程

文档序号:12666447阅读:185来源:国知局
文件的压缩、解压方法及装置与流程
本发明涉及一种信息
技术领域
,特别是涉及一种文件的压缩、解压方法及装置。
背景技术
:随着信息技术的不断发展,通过发送、接收文件进行数据传输已经成为信息处理中的重要手段。其中,在发送文件之前,通过对原始文件进行压缩得到比原始文件大小相对较小的压缩包,将压缩包进行传输,在接收到压缩包之后,通过对压缩包进行解压得到原始文件,以便在文件传输时减少资源损耗。一般地,在压缩过程中,会出现将多个文件一起压缩的情况。目前,现有的多个文件进行压缩时,通常是将大量相似的所有文件进行压缩,但是,大量相似文件的数量较大时,若对所有文件进行压缩,会造成压缩时间较长,导致文件的压缩效率较低,且生成压缩文件的压缩率较高。技术实现要素:有鉴于此,本发明提供一种文件的压缩、解压方法及装置,主要目的在于能够减少大量文件的压缩时间,从而能够提升大量文件的压缩效率。依据本发明一个方面,提供了一种文件的压缩方法,包括:获取基准文件及差异文件;解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比;根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容;将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。进一步地,所述方法还包括:从所述基准文件及所述差异文件中分别提取基准数据及差异数据;按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容。进一步地,所述方法还包括:按照预设查找顺序,记录所述不同的数据内容位于所述基准数据,以及所述差异数据中的起始位置信息及结束位置信息。进一步地,所述方法还包括:将所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置为一一对应的映射关系;根据所述映射关系生成差异增量列表。依据本发明另一个方面,提供了一种文件的解压方法,包括:加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表;根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容;根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。进一步地,所述方法还包括:解析基准文件的基准数据;从所述差异增量列表中提取与所述基准数据对应的差异内容。进一步地,所述方法还包括:从所述差异增量列表中识别出所述差异内容中相对于基准数据不同的数据内容,以及所述不同数据内容位于差异数据中的起始位置信息及结束位置信息。进一步地,所述方法还包括:解析所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置的一一对应的映射关系;按照解析后的映射关系将所述不同的数据内容及所述基准文件合并添加至目标解压文件,得到所述差异文件。依据本发明又一个方面,提供了一种文件的压缩装置,包括:获取单元,用于获取基准文件及差异文件;解析单元,用于解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比;生成单元,用于根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容;压缩单元,用于将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。进一步地,所述装置还包括:提取模块,用于从所述基准文件及所述差异文件中分别提取基准数据及差异数据;查找模块,用于按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容。进一步地,所述装置还包括:所述查找模块,具体用于按照预设查找顺序,记录所述不同的数据内容位于所述基准数据,以及所述差异数据中的起始位置信息及结束位置信息。进一步地,所述装置还包括:配置模块,用于将所述不同的数据内容与根据所述起始位置及所述结束位置计算的所述不同的数据内容的长度配置为一一对应的映射关系;生成模块,用于根据所述映射关系生成差异增量列表。依据本发明再一个方面,提供了一种文件的解压装置,包括:加载单元,用于加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表;解析单元,用于根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容;添加单元,用于根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。进一步地,所述装置还包括:解析模块,用于解析基准文件的基准数据;提取模块,用于从所述差异增量列表中提取与所述基准数据对应的差异内容。进一步地,所述装置还包括:所述提取模块,具体用于从所述差异增量列表中识别出所述差异内容中相对于基准数据不同的数据内容,以及所述不同数据内容位于差异数据中的起始位置信息及结束位置信息。进一步地,所述装置还包括:解析模块,用于解析所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置的一一对应的映射关系;添加模块,用于按照解析后的映射关系将所述不同的数据内容及所述基准文件合并添加至目标解压文件,得到所述差异文件。借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:本发明提供了一种文件的压缩、解压方法及装置,与目前对大量相似文件中的所有文件进行压缩相比,本发明能够从大量相似文件中选取基准文件及差异文件,并通过对比基准文件及差异文件中的数据得到差异内容,生成包含有不同差异文件对应的差异内容的差异增量列表,通过对基准文件及差异增量列表进行压缩,实现了只压缩基准文件以及差异增量列表,就能完成大量相似文件的压缩,避免了对大量相似文件中相同文件的重复压缩,减少了大量相似文件压缩的数据量,从而减少了大量相似文件压缩时间,进而提升了大量相似文件的压缩效率,同时降低了生成压缩文件的压缩率。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明实施例提供的一种文件的压缩方法流程图;图2示出了本发明实施例提供的另一种文件的压缩方法流程图;图3示出了本发明实施例提供的一种文件的解压方法流程图;图4示出了本发明实施例提供的另一种文件的解压方法流程图;图5示出了本发明实施例提供的一种文件的压缩装置结构示意图;图6示出了本发明实施例提供的另一种文件的压缩装置结构示意图;图7示出了本发明实施例提供的一种文件的压缩装置结构示意图;图8示出了本发明实施例提供的另一种文件的压缩装置结构示意图;具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明实施例提供了一种文件的压缩方法,如图1所示,所述方法包括:101、获取基准文件及差异文件。其中,所述基准文件为从多个相似文件中获取的,所述差异文件为所述多个相似文件中与所述基准文件相似但不同的文件,所述基准文件可以为多个相似文件中的任意一个,或者为多个文件中与其他文件相似度最大的文件,本发明实施例不做具体限定。所述文件可以为数据文件、图像文件、视频文件、安装包文件等,本发明实施例不做具体限定。需要说明的是,在获取基准文件之前,可以先对待压缩的所有文件进行筛选,得到多个文件中与其他文件相似度最大的文件,还可以通过技术人员对多个相似文件中的一个进行设置,设置为基准文件,本发明实施例不做具体限定,基准文件相对于其他的差异文件是不可缺少的。例如,对于图像文件而言,第一个图像文件中的数据为“小明站在树旁边”,第二个图像文件中的数据为“小明和小红站在树旁边”,第三个图像文件中的数据为“小明和小雷站在树旁边”,第一个图像文件与第二个和第三相似度最大,则将第一个图像文件作为基准文件进行获取,其他文件作为差异文件。102、解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比。其中,所述基准数据为基准文件中作为对比基准的数据,所述差异数据为差异文件中需要找出差异内容的数据。需要说明的是,在基准数据与差异数据进行对比时,是按照一对一的形式进行对比,即基准数据中的第一个数据与差异中的第一个数据进行对比,基准数据中的第二个数据与差异中的第二个数据进行对比,以此类推,直至找到不同的数据为止。另外,在对比的过程可以直接选取适合文件类型的对比算法,以便通过对比算法直接得到对比结果。例如,基准文件的基准数据为abcdfefghijklm,差异文件的差异数据为abcdjfkeiqe,将基准数据与差异数据按照一对一进行对比,可以得到对比的结果为差异数据中与基准数据不同的数据内容为jfkeiqe。103、根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表。其中,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容,所述对比后得到的差异内容包含基准数据与差异数据之间不同的数据内容,不同的数据内容出现在基准数据中的位置,以及为不同的数据内容的数据长度,差异增量列表中存储的不同的数据内容为一个基准文件相对于多个差异文件所得到的多个不同的数据内容。需要说明的是,差异增量列表保存的不同的数据内容形式是以表格的形式存储,差异文件的标识或名称对应差异文件中不同的数据内容,差异内容的形式由文件的类型所决定,可以为二进制数据、文本数据等,本发明实施例不做具体限定。例如,对比后得到的差异内容为差异文件1的差异数据相对于基准数据不同的数据内容为4534,数据长度为4个单位,位于基准文件中第5个数据的位置,差异文件2的差异数据相对于基准数据不同的数据内容为6756778,数据长度为7个单位,位于基准文件中第5个数据的位置,差异文件3的差异数据相对于基准数据不同的数据内容为7896744,数据长度为7个单位,位于基准文件中第5个数据的位置,生成的差异增量列表如表1所示。表1104、将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。需要说明的是,对基准文件及差异增量列表进行压缩,得到的压缩格式可以为ZIP、RAR、7Z、GZ及BZ2等,本发明实施例不做具体限定。通过对基准文件及差异增量列进行压缩,实现减少大量相识文件的压缩数量。本发明提供了一种文件的压缩方法,与目前对大量相似文件中的所有文件进行压缩相比,本发明能够从大量相似文件中选取基准文件及差异文件,并通过对比基准文件及差异文件中的数据得到差异内容,生成包含有不同差异文件对应的差异内容的差异增量列表,通过对基准文件及差异增量列表进行压缩,实现了只压缩基准文件以及差异增量列表,就能完成大量相似文件的压缩,避免了对大量相似文件中相同文件的重复压缩,减少了大量相似文件压缩的数据量,从而减少了大量相似文件压缩时间,进而提升了大量相似文件的压缩效率,同时降低了生成压缩文件的压缩率。本发明实施例提供了另一种文件的压缩方法,如图2所示,所述方法包括:201、获取基准文件及差异文件。本步骤与图1所述步骤101所述的方法相同,这里不再赘述。202、从所述基准文件及所述差异文件中分别提取基准数据及差异数据。其中,所述基准数据及差异数据的数据形式与基准文件及差异文件相对应,如,基准文件为图像文件,基准数据则为像素数据,本发明实施例不做具体限定。需要说明的是,提取的基准数据及差异数据是按照数据的存储顺序或在文件中的访问顺序进行提取的,以便在对比阶段进行逐一对比。203、按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容。其中,所述预设查找顺序为按照数据的访问顺序或存储顺序依次进行查找的顺序,按照预设查找顺序进行对比即是以基准数据为准,按照一一对应的关系将差异数据与基准数据进行对比,然后得到不同的数据内容。对于本发明实施例,步骤203具体可以为:按照预设查找顺序,记录所述不同的数据内容位于所述基准数据,以及所述差异数据中的起始位置信息及结束位置信息。其中,所述记录的起始位置为差异数据相对于基准数据开始出现不同数据内容时的位置,所述记录的结束位置为差异数据相对于基准数据中出现的不同数据内容结束的位置。需要说明的是,基准数据与差异数据对比后可以得到很多段不同的数据内容,即每个差异文件中的差异数据均可以在基准数据中对比得到多个不同的内容数据。可以通过计算起始位置与结束位置得到差异内容的长度。例如,基准数据为324534gdfg,差异数据为324334gagg,在按照预设查找顺序进行查找后,记录不同数据内容5的起始位置为第4个单位位置,结束位置为第5个单位位置,说明数据长度为1,不同数据内容ag的起始位置为第8个单位位置,结束位置为第10个单位位置,说明数据长度为2。通过记录不同数据内容的起始位置及结束位置,可以准确的确定差异数据中的差异内容位于基准数据中的位置。204、将所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置为一一对应的映射关系。其中,所述一一对应的映射关系为根据不同的数据内容可以确定起始位置、结束位置及长度,或根据起始位置及结束位置可以确定不同的数据内容及长度,通过配置映射关系,以便在差异增量列表中快速查找对应的数据。205、根据所述映射关系生成差异增量列表。其中,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容,由于根据基准数据及多个差异数据可以对比出大量的差异内容,所以差异增量列表中存储的映射关系也是多个。206、将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。本步骤与图1所述步骤103所述的方法相同,这里不再赘述。对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:待压缩的文件1、文件2、文件3、文件4,对应的数据内容分别为:abcdefg12345、abcdkjs12345、abcdefg14985、abojygg12785技术人员预先设定了文件1为基准文件,文件2、文件3、文件4为差异文件,按照一一对应的顺序对应基准文件中基准数据与差异文件中差异数据的不同的数据内容及起始位置、结束位置,存储在差异增量列表中,如表2所示,将差异增量列表及文件1进行压缩。在解压过程中,可以根据差异增量列表将不同的数据内容添加至文件1中,得到文件2、文件3、文件4。表2文件标识不同的数据内容起始位置及结束位置2kjs5-734989-114ojyg、783-6、10-11本发明提供了另一种文件的压缩方法,本发明能够从大量相似文件中选取基准文件及差异文件,并通过对比基准文件及差异文件中的数据得到不同的数据内容、位于基准数据中的起始位置及结束位置,然后将这些数据存储在差异增量列表,通过对基准文件及差异增量列表进行压缩,实现了只压缩基准文件以及差异增量列表,就能完成大量相似文件的压缩,避免了对大量相似文件中相同文件的重复压缩,实现了大量相似文件快速压缩。本发明实施例提供了一种文件的解压方法,如图3所示,所述方法包括:301、加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表件。其中,所述差异增量列表用于存储差异文件相对于所述基准文件中不同的数据内容,所述差异文件为所述多个相似文件中与所述基准文件相似但不同的文件,所述基准文件可以为多个相似文件中的任意一个,或者为多个文件中与其他文件相似度最大的文件,本发明实施例不做具体限定。所述文件可以为数据文件、图像文件、视频文件、安装包文件等,本发明实施例不做具体限定。302、根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容。其中,所述差异内容为基准文件与差异文件进行对比后得到不同的数据内容,不同的数据内容的长度,以及不同的数据内容位于基准文件中的位置等本发明实施例不做具体限定。需要说明的是,差异内容的形式由文件的类型所决定,可以为二进制数据、文本数据等,本发明实施例不做具体限定。差异增量列表中可以存储有多个差异文件的标识或名称,以及不同差异文件对应的差异内容。例如,差异列表为如表3所示,可以解析出差异文件1相对于基准文件的差异内容为sdgdah,位于基准文件中第4个数据的位置,差异文件2相对于基准文件的差异内容为iklff,位于基准数据中第2个数据的位置。表3303、根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。需要说明的是,根据每一个差异内容中的位置及不同的数据内容,将不同的数据内容添加在基准文件中对应的位置中,即可得到差异文件,一个差异内容可以对应得到一个差异文件。本发明提供了一种文件的解压方法,与目前对所有压缩后的文件进行解压相比,本发明能够从压缩包中的差异增量列表中得到相对于基准文件的差异内容,然后将差异内容添加找到基准文件中,得到差异文件,通过对基准文件及差异增量列表进行解压,实现了只解压基准文件以及差异增量列表,就能完成大量相似文件的解压,避免了对大量相似文件中相同文件的重复解压,减少了大量相似文件解压的数据量,从而减少了大量相似文件解压时间,进而提升了大量相似文件的解压效率。本发明实施例提供了另一种文件的解压方法,如图4所示,所述方法包括:401、加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表件。本步骤与图3所述步骤301所述的方法相同,这里不再赘述。402、解析基准文件的基准数据。其中,所述基准文件中的基准数据包含了所有差异文件中的相同的数据内容。对于不同的差异文件,基准文件的基准数据中的相同数据可以相同也可以不同,本发明实施例不做具体限定。403、从所述差异增量列表中提取与所述基准数据对应的差异内容。其中,所述差异增量列表中保存了多个差异文件中的大量差异内容。对于本发明实施例,步骤403具体可以为:从所述差异增量列表中识别出所述差异内容中相对于基准数据不同的数据内容,以及所述不同数据内容位于差异数据中的起始位置信息及结束位置信息。其中,所述差异增量列表中每一个不同的数据内容均会对应一对起始位置及结束位置,所述起始位置为差异数据相对于基准数据开始出现不同数据内容时的位置,所述结束位置为差异数据相对于基准数据中出现的不同数据内容结束的位置。需要说明的是,由于在基准数据中可以对比出大量的差异内容,所以在差异增量列表中存储有大量的不同的数据内容对应的起始位置及结束位置。404、解析所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置的一一对应的映射关系。需要说明的是,一个差异文件中对比得到的一个不同的数据内容会唯一对应一个出现差异的起始位置及结束位置,即可以根据不同的数据内容确认数据内容位于基准文件中的起始位置、结束位置及长度,或根据不同的数据内容位于基准文件中的起始位置及结束位置确定数据内容。通过解析数据内容与起始位置、结束位置及长度的映射关系,实现快速找到差异内容需要添加在基准文件中的位置,从而实现快速解压的过程。405、按照解析后的映射关系将所述不同的数据内容及所述基准文件合并添加至目标解压文件,得到所述差异文件。需要说明的是,按照映射关系即可以将不同的数据内容添加在基准文件中对应的起始位置,根据长度确定需要结束的位置,实现解压过程的快速合并。本发明提供了另一种文件的解压方法,本发明能够从压缩包中的差异增量列表中得到相对于基准文件的不同的数据内容、数据内容相对于基准数据中的起始位置、结束位置及长度,然后根据起始位置及结束位置将不同的数据内容添加找到基准文件中,得到差异文件,通过对基准文件及差异增量列表进行解压,实现了只解压基准文件以及差异增量列表,就能完成大量相似文件的解压,避免了对大量相似文件中相同文件的重复解压,减少了大量相似文件解压的数据量,从而实现了大量相似文件的快速解压。进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种文件的压缩装置,如图5所示,该装置包括:获取单元51、解析单元52、生成单元53、压缩单元54。获取单元51,用于获取基准文件及差异文件;获取单元51为文件的压缩装置执行获取基准文件及差异文件的功能模块。解析单元52,用于解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比;解析单元52为文件的压缩装置执行解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比的功能模块。生成单元53,用于根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容;生成单元53为文件的压缩装置执行根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表的功能模块。压缩单元54,用于将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。压缩单元54为文件的压缩装置执行将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件的功能模块。本发明提供了一种文件的压缩装置,包括:获取单元、解析单元、生成单元、压缩单元。与目前对大量相似文件中的所有文件进行压缩相比,本发明能够从大量相似文件中选取基准文件及差异文件,并通过对比基准文件及差异文件中的数据得到差异内容,生成包含有不同差异文件对应的差异内容的差异增量列表,通过对基准文件及差异增量列表进行压缩,实现了只压缩基准文件以及差异增量列表,就能完成大量相似文件的压缩,避免了对大量相似文件中相同文件的重复压缩,减少了大量相似文件压缩的数据量,从而减少了大量相似文件压缩时间,进而提升了大量相似文件的压缩效率,同时降低了生成压缩文件的压缩率。进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种文件的压缩装置,如图6所示,该装置包括:获取单元61、解析单元62、生成单元63、压缩单元64。获取单元61,用于获取基准文件及差异文件;解析单元62,用于解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比;生成单元63,用于根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容;压缩单元64,用于将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。进一步地,通过提取基准数据及差异数据,以便通过对比得到差异内容,所述解析单元62包括:提取模块6201,用于从所述基准文件及所述差异文件中分别提取基准数据及差异数据;查找模块6202,用于按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容。所述查找模块6202,具体用于按照预设查找顺序,记录所述不同的数据内容位于所述基准数据,以及所述差异数据中的起始位置信息及结束位置信息。进一步地,为了是不同的数据内容存储于差异增量列表中的对应位置,所述生成单元63包括:配置模块6301,用于将所述不同的数据内容与根据所述起始位置及所述结束位置计算的所述不同的数据内容的长度配置为一一对应的映射关系;生成模块6302,用于根据所述映射关系生成差异增量列表。本发明提供了另一种文件的压缩装置,本发明能够从大量相似文件中选取基准文件及差异文件,并通过对比基准文件及差异文件中的数据得到不同的数据内容、位于基准数据中的起始位置及结束位置,然后将这些数据存储在差异增量列表,通过对基准文件及差异增量列表进行压缩,实现了只压缩基准文件以及差异增量列表,就能完成大量相似文件的压缩,避免了对大量相似文件中相同文件的重复压缩,实现了大量相似文件快速压缩。进一步的,作为对上述图3所示方法的实现,本发明实施例提供了一种文件的解压装置,如图7所示,该装置包括:加载单元71、解析单元72、添加单元73。加载单元71,用于加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表;加载单元71为文件的解压装置执行加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表的功能模块。解析单元72,用于根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容;解析单元72为文件的解压装置执行根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容的功能模块。添加单元73,用于根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。添加单元73为文件的解压装置执行根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件的功能模块。本发明提供了一种文件的解压装置,包括:加载单元、解析单元、添加单元。与目前对所有压缩后的文件进行解压相比,本发明能够从压缩包中的差异增量列表中得到相对于基准文件的差异内容,然后将差异内容添加找到基准文件中,得到差异文件,通过对基准文件及差异增量列表进行解压,实现了只解压基准文件以及差异增量列表,就能完成大量相似文件的解压,避免了对大量相似文件中相同文件的重复解压,减少了大量相似文件解压的数据量,从而减少了大量相似文件解压时间,进而提升了大量相似文件的解压效率。进一步的,作为对上述图4所示方法的实现,本发明实施例提供了另一种文件的解压装置,如图8所示,该装置包括:加载单元81、解析单元82、添加单元83。加载单元81,用于加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表;解析单元82,用于根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容;添加单元83,用于根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。进一步地,所述解析单元82包括:解析模块8201,用于解析基准文件的基准数据;提取模块8202,用于从所述差异增量列表中提取与所述基准数据对应的差异内容。所述提取模块8202,具体用于从所述差异增量列表中识别出所述差异内容中相对于基准数据不同的数据内容,以及所述不同数据内容位于差异数据中的起始位置信息及结束位置信息。进一步地,所述添加单元83包括:解析模块8301,用于解析所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置的一一对应的映射关系;添加模块8302,用于按照解析后的映射关系将所述不同的数据内容及所述基准文件合并添加至目标解压文件,得到所述差异文件。本发明提供了另一种文件的解压装置,本发明能够从压缩包中的差异增量列表中得到相对于基准文件的不同的数据内容、数据内容相对于基准数据中的起始位置、结束位置及长度,然后根据起始位置及结束位置将不同的数据内容添加找到基准文件中,得到差异文件,通过对基准文件及差异增量列表进行解压,实现了只解压基准文件以及差异增量列表,就能完成大量相似文件的解压,避免了对大量相似文件中相同文件的重复解压,减少了大量相似文件解压的数据量,从而实现了大量相似文件的快速解压。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件的压缩、解压方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本发明的实施例公开了:A1、一种文件的压缩方法,其特征在于,包括:获取基准文件及差异文件;解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比;根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容;将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。A2、根据权利要求A1所述的方法,其特征在于,所述解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比包括:从所述基准文件及所述差异文件中分别提取基准数据及差异数据;按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容。A3、根据权利要求A1或A2所述的方法,其特征在于,所述按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容包括:按照预设查找顺序,记录所述不同的数据内容位于所述基准数据,以及所述差异数据中的起始位置信息及结束位置信息。A4、根据权利要求A1-A3任一项所述的方法,其特征在于,所述根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表包括:将所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置为一一对应的映射关系;根据所述映射关系生成差异增量列表。B5、一种文件的解压方法,其特征在于,包括:加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表件;根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容;根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。B6、根据权利要求B5所述的方法,其特征在于,所述根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容包括:解析基准文件的基准数据;从所述差异增量列表中提取与所述基准数据对应的差异内容。B7、根据权利要求B5或B6所述的方法,其特征在于,所述从所述差异增量列表中提取与所述基准数据对应的差异内容包括:从所述差异增量列表中识别出所述差异内容中相对于基准数据不同的数据内容,以及所述不同数据内容位于差异数据中的起始位置信息及结束位置信息。B8、根据权利要求B5-B7任一项所述的方法,其特征在于,所述根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件包括:解析所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置的一一对应的映射关系;按照解析后的映射关系将所述不同的数据内容及所述基准文件合并添加至目标解压文件,得到所述差异文件。C9、一种文件的压缩装置,其特征在于,包括:获取单元,用于获取基准文件及差异文件;解析单元,用于解析所述基准文件中的基准数据以及所述差异文件中的差异数据,并将所述基准数据与所述差异数据进行对比;生成单元,用于根据对比后得到的差异内容生成所述差异数据相对于基准数据的差异增量列表,所述差异增量列表用于存储所述基准文件和所述差异文件之间不同的数据内容;压缩单元,用于将所述基准文件及所述差异增量列表进行压缩,得到目标压缩文件。C10、根据权利要求C9所述的装置,其特征在于,所述解析单元包括:提取模块,用于从所述基准文件及所述差异文件中分别提取基准数据及差异数据;查找模块,用于按照预设查找顺序从所述基准数据中查找与所述差异数据不同的数据内容。C11、根据权利要求C9或C10所述的装置,其特征在于,所述查找模块,具体用于按照预设查找顺序,记录所述不同的数据内容位于所述基准数据,以及所述差异数据中的起始位置信息及结束位置信息。C12、根据权利要求C9-C11任一项所述的装置,其特征在于,所述生成单元包括:配置模块,用于将所述不同的数据内容与根据所述起始位置及所述结束位置计算的所述不同的数据内容的长度配置为一一对应的映射关系;生成模块,用于根据所述映射关系生成差异增量列表。D13、一种文件的解压装置,其特征在于,包括:加载单元,用于加载目标压缩文件,并从所述目标压缩文件中解压出多个相似文件中的基准文件及差异增量列表;解析单元,用于根据所述差异增量列表,解析所述差异文件相对于所述基准文件的差异内容;添加单元,用于根据所述差异内容及所述基准文件的基准数据添加目标解压文件,得到所述差异文件。D14、根据权利要求D13所述的装置,其特征在于,所述解析单元包括:解析模块,用于解析基准文件的基准数据;提取模块,用于从所述差异增量列表中提取与所述基准数据对应的差异内容。D15、根据权利要求D13或D14所述的装置,其特征在于,所述提取模块,具体用于从所述差异增量列表中识别出所述差异内容中相对于基准数据不同的数据内容,以及所述不同数据内容位于差异数据中的起始位置信息及结束位置信息。D16、根据权利要求D13-D15任一项所述的装置,其特征在于,所述添加单元包括:解析模块,用于解析所述不同的数据内容,以及根据所述起始位置及所述结束位置计算所述不同的数据内容的长度配置的一一对应的映射关系;添加模块,用于按照解析后的映射关系将所述不同的数据内容及所述基准文件合并添加至目标解压文件,得到所述差异文件。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1