掌桥专利:专业的专利平台
掌桥专利
首页

处理方法和装置

文献发布时间:2023-06-19 11:39:06


处理方法和装置

技术领域

本申请涉及信息处理技术领域,更具体地说,涉及一种处理方法和装置。

背景技术

在文件集包括多个文件且数据量较多,因此,经常需要对文件集进行压缩。

而文件集中可能会存在较多相同数据内容的文件。而在应用程序文件存在较多重复内容的情况下,即使对文件进行压缩,也会使得压缩后的压缩文件的数据量相对较大,没有实现最大化的文件压缩。

发明内容

本申请提供一种处理方法和装置。

其中,一种处理方法,包括:

获得待压缩处理的第一文件集,所述第一文件集包括多个带签名的第一类型文件;

对所述带签名的第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集;

生成配置文件,所述配置文件中至少记录有所述数据部分和所述签名部分在所述第一文件集中的配置信息,以能够使得所述第二文件集还原成所述第一文件集;

压缩所述配置文件和所述第二文件集,得到所述第一文件集的压缩文件。

在又一种可能的实现方式中,在所述对所述带签名的第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集之前,还包括:

拆解出所述第一类型文件的数据部分和签名部分。

在一种可能的实现方式中,还包括:

如所述第一类型文件的数据部分为压缩数据部分,解压所述压缩数据部分,得到解压出的带签名的第一类型文件,并针对解压出的第一类型文件,返回执行所述拆解出所述第一类型文件的数据部分和签名部分的操作;

如所述第一类型文件的数据部分不属于压缩数据部分,结束所述第一类型文件的拆解。

在又一种可能的实现方式中,还包括:

对于拆解出的数据部分为压缩数据部分的第一类型文件,确定所述第一类型文件与所述第一类型文件中解压出的第一类型文件之间的文件关联关系;

确定解压得到所述解压出的第一类型文件所采用的解压参数;

所述配置文件中还包括:所述文件关联关系以及所述解压出的第一类型文件对应的解压参数,以能够还原出包含有所述解压出的第一类型文件对应的压缩数据部分的第一类型文件。

在又一种可能的实现方式中,所述对所述带签名的第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集,包括:

确定所述多个第一类型文件中至少一个第一文件组,对所述第一文件组进行文件去重,所述第一文件组包括数据部分和签名部分均相同的第一类型文件;

和/或,

确定所述多个第一类型文件中至少一个第二文件组,对所述第二文件组内的第一类型文件进行数据部分的去重,所述第二文件组包括数据部分相同但签名部分不同的第一类型文件;

和/或,

确定所述多个第一类型文件中至少一个第三文件组,对所述第三文件组内的第一类型文件进行签名部分的去重,所述第三文件组包括数据部分不同但签名部分相同的第一类型文件。

在一种可能的实现方式中,所述第一文件集还包括:不带签名的多个第二类型文件;

所述方法还包括:

对所述多个第二类型文件进行文件去重,以去除重复的第二类型文件;

所述配置文件中还包括:所述第二类型文件的配置信息。

在又一种可能的实现方式中,该方法还包括:

解压所述压缩文件,得到所述配置文件和所述第二文件集;

按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述第二文件集还原为所述第一文件集。

在又一种可能的实现方式中,所述配置文件中还记录有:所述文件关联关系以及所述解压出的第一类型文件对应的解压参数;

所述按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述第二文件集还原为所述第一文件集,包括:

如果根据所述配置文件确定出所述第一文件集中待还原的第一类型文件的数据部分为压缩数据部分,,按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述第二文件集中获得所述第一类型文件关联的各级第一类型文件的数据部分和签名部分,并按照所述文件关联关系和解压参数,分别对所述第一类型文件及所述第一类型文件关联的各级第一类型文件的数据部分和签名部分进行压缩和组装,得到还原出的所述第一类型文件;

如果根据所述配置文件确定出所述第一文件集中待还原的第一类型文件的数据部分不属于压缩数据部分,按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述第二文件集中获得构成所述第一类型文件的数据部分和签名部分并组装,得到还原出的所述第一类型文件;

利用还原出的多个第一类型文件组成所述第一文件集。

其中,又一种处理方法,包括:

获得压缩文件;

解压所述压缩文件,得到配置文件和待恢复的初始文件集,所述配置文件中记录有目标文件集中带签名的第一类型文件内数据部分和签名部分的配置信息,所述初始文件集为至少对所述目标文件集中所述第一类型文件进行数据部分去重和/或签名部分去重后得到的;

按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述初始文件集还原为所述目标文件集。

在又一种可能的实现方式中,所述配置文件中还记录有:数据部分为压缩数据部分的第一类型文件与所述第一类型文件中解压出的第一类型文件之间的文件关联关系;

所述按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述初始文件集还原为所述目标文件集,包括:

对于数据部分为压缩数据部分的第一类型文件,按照配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述初始文件集中获得组成所述第一类型文件关联的各级第一类型文件的数据部分和签名部分,并按照所述文件关联关系,分别对所述第一类型文件及所述第一类型文件关联的各级第一类型文件的数据部分和签名部分进行压缩和组装,得到所述第一类型文件;

对于数据部分不属于压缩数据部分的第一类型文件,按照配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述初始文件集中获得构成所述第一类型文件的数据部分和签名部分并组装,得到所述第一类型文件;

利用多个第一类型文件组成目标文件集。

其中,一种处理装置,包括:

文件获得单元,用于获得待压缩处理的第一文件集,所述第一文件集包括多个带签名的第一类型文件;

数据去重单元,用于对所述带签名的第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集;

配置生成单元,用于生成配置文件,所述配置文件中至少记录有所述数据部分和所述签名部分在所述第一文件集中的配置信息,以能够使得所述第二文件集还原成所述第一文件集;

文件压缩单元,用于压缩所述配置文件和所述第二文件集,得到所述第一文件集的压缩文件。

其中,又一种处理装置,包括:

文件获得单元,用于获得压缩文件;

文件解压单元,用于解压所述压缩文件,得到配置文件和待恢复的初始文件集,所述配置文件中记录有目标文件集中带签名的第一类型文件内数据部分和签名部分的配置信息,所述初始文件集为至少对所述目标文件集中所述第一类型文件进行数据部分去重和/或签名部分去重后得到的;

文件还原单元,用于按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述初始文件集还原为所述目标文件集。

又一方面,本申请还提供了一种电子设备,包括:

处理器和存储器;

其中,所述处理器用于执行如上任意一项所述的处理方法;

所述存储器用于存储所述处理器执行操作所需的程序。

又一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的处理方法。

通过以上方案可知,本申请在获得待压缩处理的第一文件集之后,会对第一文件集中带签名的第一类型文件进行数据部分和/或签名部分的去重,从而可以去除第一文件集中存在重复的数据部分和/或签名部分,使得经过去重得到的第二文件集相对第一文件集的数据量减少。而且,在对第一文件集去重后,还会生成用于将第二文件集还原为第一文件集的配置文件,在此基础上,压缩第二文件集和该配置文件后,既不影响恢复出第一文件集,又可以减少压缩文件的数据量。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的处理方法的一种流程示意图;

图2为本申请实施例提供的处理方法的又一种流程示意图;

图3为本申请实施例提供的拆解带签名的文件的一种示意图;

图4为本申请实施例提供的处理方法的又一种流程示意图;

图5为本申请实施例提供的拆解文件集中带签名的文件的又一种示意图;

图6为本申请对图5拆解后得到的各文件进行数据部分去重的一种示意图;

图7为图5的文件集经过数据部分去重后所剩余的数据部分和签名部分;

图8为本申请实施例提供的又一种处理方法的一种流程示意图;

图9为本申请实施例提供的一种处理装置的一种组成结构示意图;

图10为本申请实施例提供的又一种处理装置的一种组成结构示意图;

图11为本申请实施例提供的一种电子设备的一种组成结构示意图。

说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。

具体实施方式

本申请的方案适用于对至少包括有带签名的文件的程序文件等文件集的压缩处理与恢复,以在保证压缩文件能够有效恢复到压缩前文件状态的前提下,能够实现更为有效的对文件集进行压缩,减少压缩出的文件集的数据量。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参阅图1,图1为本申请实施例提供的处理方法的一种流程示意图,本实施例的方法应用于电子设备,该电子设备可以为手机、笔记本电脑、台式电脑、工作站或者服务器等等,对此不加限制。

本实施例的处理方法可以包括:

S101,获得待压缩处理的第一文件集。

其中,第一文件集包括多个带签名的第一类型文件。

可以理解的是,带签名的文件是指带有数字签名的文件,带签名的文件一般有签名部分和数据部分两部分组成。在文件带有数字签名可以表征文件中数据部分的有效性,比如证明文件或者说文件内的数据没有被修改等。例如,待签名的文件可以为带签名的可执行文件。

其中,包含有多个带签名的第一类型文件的第一文件集也可以有多种可能,本申请对此不加限制。如,该第一文件集可以为应用程序的程序文件,该程序文件中可以包括多个带签名的文件,该多个待签名的文件可以为插件的文件或者是库文件等等,对此不加限制。

在本申请中为了与后续出现的不带签名的文件区分,将带签名的文件称为第一类型文件,而将后续不带签名的文件称为第二类型文件。

S102,对带签名的第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集。

在本申请中,S102可以是分别以第一类型文件中数据部分或者签名部分作为需要进行重复性检测的去重对象,对第一类型文件中数据部分或者签名部分去重,以去重第一文件集中存在重复的数据部分或者存在重复签名部分。

本申请中,该步骤S102还可以是执行:对第一文件集中不同第一类型文件的数据部分去重,以及,对第一文件集中不同第一类型文件的签名部分的去重,从而去重第一文件集中存在重复的数据部分和存在重复的签名部分。

如,以对第一类型文件进行数据部分去重为例,需要确定多个第一类型文件各自包括的数据部分,并去除多个第一类型文件中重复的数据部分,使得经过数据部分去重的第二文件集中不存在属于不同第一类型文件但是重复的数据部分。

类似的,对第一类型文件进行签名部分去重,为去除多个第一类型文件中存在重复的签名部分,使得去重后得到的第二文件集中不存在属于不同第一类型文件但重复的签名部分。

可以理解的是,以第一文件集中数据部分和签名部分中的一种或者两种为去重对象,可以减少由于文件不同但是数据部分或者签名部分相同而无法被去重的情况,从而可以更为有效的减少第一文件集中存在重复的数据。

可以理解的是,在实际应用中,也可以以数据部分和签名部分作为一个整体对第一文件集进行数据部分和签名部分的去重,以去除数据部分和签名部分相同的第一类型文件。当然,在分别对第一文件集进行数据部分和签名部分的去重时,实际上也可以去重签名部分和数据部分完全相同的文件集。

S103,生成配置文件。

其中,配置文件中至少记录有数据部分和签名部分在第一文件集中的配置信息,以能够使得第二文件集还原成第一文件集。

通过该配置文件可以确定出第一文件集中包含的各个第一类型文件以及各第一类型文件所包含的数据部分和签名部分,从而可以利用去重后的第二文件集恢复出第一文件集中包含的各个第一类型文件。

如,在一种可能的情况中,配置文件记录有该第一文件集中包括的各个第一类型文件的标识信息,每个第一类型文件所包含的数据部分的标识信息和签名部分的标识信息。

其中,第一类型文件的标识信息可以为第一类型文件的文件名称或者其他能够唯一标识该第一类型文件的信息。类似的,该数据部分的标识信息可以为数据部分的名称或者唯一编号等,而签名部分的标识信息可以为签名部分的名称或者唯一编号等。

在该种情况下,根据配置文件中记录的信息,可以确定第一文件集包含的各第一类型文件,同时,针对第一文件集中每个第一类型文件,基于该第一类型文件中数据部分的标识信息和签名部分的标识信息,可以从第二文件集中确定出属于该第一类型文件的数据部分和签名部分,从而重构出该第一文件集中每个第一类型文件,也就还原出了该第一文件集。

可以理解的是,第一文件集中各个第一类型文件分别具有各自的文件地址区间,为了能够更为基于第二文件集准确还原出第一文件集,该配置文件中还可以包括:每个第一类型文件中数据部分的地址区间和签名部分中的地址区间。在此基础上,通过配置文件可以反映出第一文件集中各个第一类型文件所处的地址区间,因此,基于配置文件中记录的第一类型文件中数据部分的地址区间和签名部分的地址区间,确定还原出的第一类型文件在第一文件集中的地址区间,以恢复第一类型文件在第一文件集中所处位置。

在又一种可能的实现方式中,该配置文件还可以是记录第一文件集中数据部分和/或签名部分被去重的至少一个第一类型文件以及至少一个第一类型文件中被去重的签名部分和/或数据部分的标识信息。在此基础上,基于配置文件可以确定哪些第一类型文件存在数据部分和签名部分中一个或者两个部分被去除,从而可以恢复出这些第一类型文件中被去除的数据部分和/或签名部分。

S104,压缩配置文件和第二文件集,得到第一文件集的压缩文件。

其中,将配置文件与第二文件集一起压缩,可以使得压缩文件中包含能够恢复出第一文件集的信息,从而可以基于第二文件集和配置文件能够恢复出第一文件集。

本申请的发明人经过研究发现:在压缩文件集的过程中,可以将文件集中各个文件作为去重对象进行文件去重,从而可以去除重复的文件。但是,文件去重方式中,只有不同文件整体完全相同才会被认为是重复文件。而对于带签名的文件而言,很容易出现数据部分完全相同仅仅是由于签名部分不同而导致文件不同的情况,从而使得不同文件之间存在重复的数据部分无法被去重。类似的,不同文件之间存在重复的签名部分也无法被去重。基于此,采用文件整体去重的方式,无法最大程度的去重文件集中重复的数据。

而在本申请的方案中,并非以文件整体作为去重对象,而是将第一类型文件集中的数据部分和签名部分中的任意一个作为去重对象,从而可以去重第一文件集中存在重复的数据部分和签名部分。

在本申请实施例中,压缩第二文件集和配置文件的方式可以有多种可能,本申请对此不加限制。

由以上可知,本申请在获得待压缩处理的第一文件集之后,会对第一文件集中带签名的第一类型文件进行数据部分和/或签名部分的去重,从而可以去除第一文件集中存在重复的数据部分和/或签名部分,使得经过去重得到的第二文件集相对第一文件集的数据量减少。而且,在对第一文件集去重后,还会生成用于将第二文件集还原为第一文件集的配置文件,在此基础上,压缩第二文件集和该配置文件后,既不影响恢复出第一文件集,又可以减少压缩文件的数据量。

可以理解的是,在本申请中对第一文件集中的第一类型文件进行数据部分和/或签名部分去重时,可以先确定哪些第一类型文件中存在数据部分或者签名部分相同,或者是,签名部分和数据部分均相同。

具体的,本申请对第一文件集中的第一类型文件进行数据部分和/或签名部分去重可以包括:

确定多个第一类型文件中至少一个第一文件组,对第一文件组进行文件去重,其中,第一文件组包括数据部分和签名部分均相同的第一类型文件;

和/或,

确定多个第一类型文件中至少一个第二文件组,对第二文件组内的第一类型文件进行数据部分的去重,其中,第二文件组包括数据部分相同但签名部分不同的第一类型文件;

和/或,

确定该多个第一类型文件中至少一个第三文件组,对第三文件组内的第一类型文件进行签名部分的去重,该第三文件组包括数据部分不同但签名部分相同的第一类型文件。

其中,不同类型的文件组以及同一类型的不同文件组中包含的第一类型文件不同。如,不同第一文件组中包含不同的第一类型文件,而第一文件组与任意一个第二文件组和第三文件组内包含的第一类型文件也不相同。

在一种可能的实现方式中,为了能够更为便于比较各个第一类型文件中存在重复的数据部分或者签名部分,本申请在对第一文件集进行去重之前,还可以针对每个第一类型文件,拆解出该第一类型文件的数据部分和签名部分。

其中,拆解文件是指分析并确定出文件的各个组成部分。如,可以基于第一类型文件的数据部分和签名部分各自的组成特征,从第一类型文件中拆解出数据部分和签名部分。

可以理解的是,第一文件集中有些第一类型文件可能是压缩文件,在该种情况下,需要先对第一类型文件进行解压,然后再对解压出的文件进行拆解。其中,在第一类型文件为压缩文件时,第一类型文件中的数据部分为经过压缩的压缩数据部分,因此,需要对压缩数据部分进行解压。同时,对于解压出的带签名的文件,仍需要继续拆解,以便能够在去重时最大程度的去除重复数据。

下面结合一种可能的实现进行说明。如图2所示,其示出了本申请实施例提供的一种处理方法的又一种流程示意图,本实施例可以包括:

S201,获得待压缩处理的第一文件集。

其中,第一文件集包括多个带签名的第一类型文件。

S202,针对每个第一类型文件,拆解出该第一类型文件的数据部分和签名部分。

S203,检测该第一类型文件的数据部分是否为压缩数据部分,如果是,则执行步骤S204;如果否,则结束该第一类型文件的拆解,并执行步骤S205。

其中,压缩数据部分是指经过压缩的数据部分。

S204,解压该第一类型文件的压缩数据部分,得到由该压缩数据部分解压出的带签名的第一类型文件,针对解压出的第一类型文件,返回步骤S202。

可以理解的是,如果第一类型文件的数据部分属于压缩数据部分,那么在对第一压缩数据部分解压之后,仍可能会解压出至少一个带签名的第一类型数据。对于解压出带签名的第一类型文件,仍需要进一步拆解,以便后续分析该解压出的第一类型文件中的数据部分是否与其他第一类型文件中存在重复。

可见,如果第一类型文件的数据部分为压缩数据部分可能会经过一次或者多次迭代解压缩和拆解,直至拆解到出第一类型文件包含的各级第一类型文件的数据部分为止。

为了便于理解,下面以一个带签名的文件:签名文件M为例,假设该签名文件中的数据部分为压缩数据部分,下面结合图3进行说明。

在图3中按照从左到右示出了签名文件M被逐层拆解和解压的过程。

如图3所示,该签名文件M被拆解为签名文件M的签名部分和签名文件M的压缩数据部分。

其中,该签名文件M的压缩数据部分经过解压缩可以得到两个带签名的文件,分别为:签名文件M1和签名文件M2。

在此基础上,还需要分别拆解签名文件M1和签名文件M2。

如图3所示,签名文件M1拆解出签名文件M1的数据部分和签名文件M1的签名部分,假设签名文件M1的数据部分不属于压缩数据部分,则签名文件M1的拆解结束。

签名文件M2拆解出签名文件M2的数据部分和签名文件M2的签名部分,假设签名文件M2的数据部分仍属于压缩数据部分,因此,需要对签名文件M2的数据部分进行解压缩。如图3,签名文件M2的数据部分解压出签名文件M21。

对于签名文件M21仍需要拆解,如图3,签名文件M21拆解出签名文件M21的数据部分和签名文件M21尚未签名部分,假设签名文件M21的数据部分不属于压缩数据部分,则可以结束签名文件M21的拆解。同时,由于签名文件M下的各级签名文件都已经完成拆解,因此,针对签名文件M的所有拆解均结束。

S205,如第一文件集中所有第一类型文件均已完成拆解,对从该第一文件集确定出的多个第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集。

可以理解的是,经过前面几个步骤可以得到拆解出的第一类型文件和原本已经存在于第一文件集中的第一类型文件,因此,需要结合各个第一类型文件中包含的数据部分和签名部分,分别对数据部分和签名部分中一个或者两个进行去重。

具体去重过程与前面实施例相似,对此不再赘述。

为了便于理解,假设第一文件集包括签名文件A和前面图3例子中提到的签名文件M为例,假设签名文件A拆解为签名文件A的数据部分(不属于压缩数据部分)和签名文件A的签名部分。

而该签名文件M经过多层解压缩和拆解最终得到:签名文件M1的签名部分、签名文件M1的数据部分、签名文件M2的签名部分,签名文件M2下层的签名文件M21的数据部分和签名文件M21的签名部分。

在此基础上,在针对数据部分去重时,需要比对签名文件M1的数据部分、签名文件M21的数据部分以及签名文件A的数据部分是否存在重复的数据部分,假设签名文件A与签名文件M21的数据部分重复,则可以去除签名文件A或者签名文件M21的数据部分。

类似的,针对签名部分的去重,可以比对签名文件A的签名部分、签名文件M的签名部分、签名文件M1的签名部分、签名文件M2的签名部分以及签名文件M1的签名部分是否存在重复的签名部分,如果存在重复的签名部分则去重重复的签名部分。

在一种可能的实现方式中,任意一个第一类型文件的签名部分可以包括签名证书公钥和签名结果部分。

其中,签名结果部分为利用签名证书公钥对第一类型文件中的数据部分进行签名得到的,因此,只有数据部分完全相同且签名证书公钥完全相同,该签名结果部分才会完全相同。而签名结果部分相同的两个第一类型文件实际上就是相同的第一类型文件。而对于相同的第一类型文件也可以利用文件去重去除重复文件,当然,也可以是在数据部分和签名部分均相同时,去除重复的数据部分和签名部分的操作时,去除重复的第一类型文件。

为了在对签名部分进行去重时,重复文件去重的操作,本申请中在单独对第一类型文件的签名部分进行去重时,可以对第一类型文件的签名证书公钥去重。

S206,对于拆解出的数据部分为压缩数据部分的第一类型文件,确定该第一类型文件与该第一类型文件中解压出的第一类型文件之间的文件关联关系,以及解压得到该解压出的第一类型文件所采用的解压参数。

该文件关联关系可以保证出第一类型文件拆解出的各层第一类型文件之间的关系。

如,仍以前面图3中的例子说明,由图3中签名文件M的拆解过程可知,各个签名文件之间的文件关联关系至少包括:

签名文件M的压缩数据部分包括:签名文件M1和签名文件M2;

签名文件M2的压缩数据部分包括:签名文件M21。

其中,该解压出的第一类型文件所采用的解压参数也就是解压包含改第一类型文件的压缩数据部分所采用的解压参数。

如仍以图3的例子说明,假设签名文件M的压缩数据部分采用的解压参数可以为解压参数1,即签名文件M1和签名文件M2对应解压参数为解压参数1。而解压签名文件M2的压缩数据部分的解压参数为解压参数2。

可以理解的是,该步骤是206为可选步骤,在仅仅需要确定文件集中各个数据部分或者签名部分,或者是无需关心文件之间关系的情况下,也可以不执行该步骤S206。

S207,生成配置文件。

其中,至少记录有数据部分和签名部分在第一文件集中的配置信息,以能够使得第二文件集还原成第一文件集。

可选的,在步骤S206确定出如上文件关联关系和解压参数的前提下,该配置文件还包括:如上确定的文件关联关系以及该解压出的第一类型文件对应的解压参数,以能够还原出包含有解压出的第一类型文件对应的压缩数据部分的第一类型文件。

S208,压缩配置文件和第二文件集,得到第一文件集的压缩文件。

在一种可能的实现方式,考虑到第一文件集中各个第一类型文件都已经被拆解为签名部分和数据部分,因此,在对第一文件集中各个第一类型文件进行签名部分和/或数据部分的去重后,可以按照第一文件集中去重后剩余的第一类型文件中剩余的签名部分和/或数据部分,对去重后的签名部分和数据部分进行拼接,得到第二文件集。

可以理解的是,本实施例在对第一文件集中带签名的第一类型文件进行数据部分或者签名部分的去重之前,会拆解出第一类型文件中的数据部分和签名部分,并在拆解出的数据部分为压缩数据部分的情况下,会对压缩数据部分进行解压缩后拆解,从而可以更为全面确定出第一文件集中包含的各个数据部分和签名部分,进而能够减少由于部分数据部分或者签名部分处于压缩形态而无法被去重,进一步提高了对第一文件集进行去重的全面性,使得去重得到的第二文件集能够被压缩称为更小数据量的压缩文件。

可以理解的是,对于带签名的文件而言,该类文件中的数据部分有些还可以分为多个部分。如,在一种可能的情况中,第一类型文件的数据部分可以包括:数据主体、签名描述信息以及用于校验该数据主体和签名描述信息的初始数据校验信息。在该种情况中,由于签名描述信息与签名部分有关,因此,在不同第一类型文件的签名部分而数据主体相同的情况,也会由于签名部分不同,而导致第一类型文件的数据部分整体被认为是不同的内容。

为了能够进一步进行重复数据的去除,本申请还可以是基于该第一类型文件中数据部分包括的数据主体,计算数据主体的数据校验信息,将该数据主体和计算出的数据校验信息确定为该第一类型文件中修正后的数据部分。

在此基础上,在对文件集中数据部分去重时,可以对各第一类型文件中修正后的数据部分进行去重,以去除文件集中存在重复的修正后的数据部分。

为了便于理解本申请的方案,下面以对第一文件集中第一类型文件进行数据部分去重为例,并结合文件集为应用程序的文件集为例进行说明。

如图4,其示出了本申请一种文件处理方法的又一种流程示意图,本实施例的方法可以包括:

S401,获得待压缩处理的应用程序的第一文件集。

其中,第一文件集包括该应用程序中多个带签名的第一类型文件。

如图5所示,应用程序的第一文件集可以包括有带签名的文件A、文件B和文件D。

S402,针对每个第一类型文件,拆解出该第一类型文件的数据部分、签名公钥部分和签名结果部分。

在本实施例中,以签名部分包括签名公钥部分和签名结果部分为例说明。

S403,检测该第一类型文件的数据部分是否为压缩数据部分,如果是,则执行步骤S404;如果否,则结束该第一类型文件的拆解,并执行步骤S405。

其中,压缩数据部分是指经过压缩的数据部分。

S404,解压该第一类型文件的压缩数据部分,得到由该压缩数据部分解压出的带签名的第一类型文件,针对解压出的第一类型文件,返回步骤S402。

如图5所示,每个第一文件集中带签名的签名文件A可以拆解为签名文件A的数据部分Aa、签名文件A的签名证书公钥部分Aa和签名结果部分Aa。其中,签名文件A的数据部分Aa不属于压缩数据部分,则签名文件A的拆解过程结束。

与签名文件A的拆解相似,签名文件B被拆解为数据部分Bb、签名证书公钥部分Bb和签名结果部分Bb。

而签名文件D拆解为数据部分Dd、签名证书公钥部分Dd和签名结果部分Dd。其中,数据部分Dd属于压缩数据,因此,对数据部分Dd解压缩,得到签名文件DA和签名文件E。其中,签名文件DA的拆解出数据部分Aa、签名证书部分DA和签名结果部分DA。

而签名文件E拆解为数据部分Ee、签名证书公钥部分Aa和签名结果部分Ee。

其中,数据部分Ee仍属于压缩数据部分,则继续对数据部分Ee解压缩,得到签名文件B,签名文件B经拆解得到同样得到数据部分Bb、签名证书公钥部分Bb和签名结果部分Bb。

S405,如第一文件集中所有第一类型文件均已完成拆解,对确定出的多个第一类型文件进行数据部分去重,并对该多个第一类型文件进行签名证书公钥部分去重。

S406,将经过去重后的第一文件集中剩余的数据部分和签名部分拼接为一个文件,得到第二文件集。

如图5所示,签名文件D经过一层或者多层拆解得到的签名文件DB中的数据部分Aa与上面第一文件集直接得到的签名文件A中的数据部分Aa重复,则可以删除一个数据部分Aa,如图6所示,去除了签名文件DB中的数据部分Aa。

类似的,签名文件E拆解和解压出的签名文件B与上面签名文件B中数据签名部分和签名证书公钥部分的等均相同,则可以去除一个签名文件B,在图6中去除了签名文件E分解出的签名文件B的数据部分和签名部分。

同时,签名文件E拆解出的签名证书公钥部分Aa也与上面签名文件A中签名证书公钥部分Aa去除,因此,需要去除一个签名证书公钥Aa。如图6所示,去除了签名文件E中的签名证书公钥部分Aa。

将去重后得到的图6中各个签名文件剩余的各个部分进行拼接之后,得到的第二文件集包含的内容如图7所示。

S407,对于拆解出的数据部分为压缩数据部分的第一类型文件,确定该第一类型文件与该第一类型文件中解压出的第一类型文件之间的文件关联关系,以及解压得到该解压出的第一类型文件所采用的解压参数。

可以理解的是,该文件关联关系和解压参数可以在拆解第一文件集中各第一类型文件以及解压缩压缩数据部分的过程中得到。

如图5所示,文件关联关系可以包括:签名文件D拆解出的数据压缩部分包括签名文件DA和签名文件E;而签名文件E的数据压缩部分可以包括签名文件B。

解压参数可以为解压各签名文件的数据压缩部分所采用的参数,其中,不同签名文件的数据压缩部分的解压参数可以相同也可以不同,对此不加限制。

S408,生成配置文件。

该配置文件中,第一文件集中包括的各第一类型文件的标识信息;每个第一类型文件中包含的数据部分、签名证书公钥部分和签名结果部分各自对应的标识信息和地址区间;文件关联关系;以及压缩参数。

如,以上图5和6为例,配置文件中需要记录签名文件A、签名文件B和签名文件D的文件名称及包含的数据部分或者数据部分的组成,以及签名证书公钥部分和签名结果部分的标识,其中,数据部分的组成可以通过文件关联关系体现。

同时,针对图5和6每个签名文件,还可以记录该签名文件中各个组成部分的地址空间。如,以签名文件A为例,签名文件A包括数据部分Aa、签名证书公钥部分Aa和签名结果部分Aa,基于此,配置文件中针对该签名文件A需要记录其各组成部分的地址空间的信息如下:

{

“签名文件A”:{

签名文件A数据部分“0-10000”,

签名文件A签名证书公钥部分“10000-10500”,

签名文件A签名结果部分“10500-10700”,

}

·······

}。

当然,其他签名文件A对应的配置信息也可以采用如上方式记录,在此不再赘述。

S409,压缩该配置文件和第二文件集,得到应用程序的压缩文件。

可以理解的是,在本申请以上实施例中,该第一文件集中还可能会包括不带签名的多个第二类型文件。

如果该第一文件集包括多个不带签名的第二类型文件,本申请还可以对多个第二类型文件进行文件去重,以去除该第一文件集中重复的第二类型文件,从而使得得到的第二文件集中包括经过去重的至少一个第二类型文件。

在此基础上,该配置文件中还可以记录有第二类型文件的配置信息。其中,基于该第二类型文件的配置信息以及第二文件集,可以还原出第一文件集中包含的各个第二类型文件。

可以理解的是,以上处理方法的实施例中是从对第一文件集去重并压缩的角度进行介绍。

在以上实施例的基础上,如果得到第一文件集的压缩文件之后,如果需要基于该压缩文件还原出第一文件集,可以先从压缩文件解压出配置文件和第二文件集,然后再结合配置文件对第二文件集进行还原处理,得到第一文件集。由第二文件集还原出第一文件集的过程为对第一文件集进行去重得到第二文件集的逆过程。

如,在一种可能的实现方式中,可以解压该压缩文件,得到配置文件和第二文件集。相应的,可以按照该配置文件中第一类型文件的数据部分和签名部分的配置信息,将该第二文件集还原为第一文件集。

在一种可能的实现方式中,配置文件中还记录有:数据部分为压缩数据部分的第一类型文件与该第一类型文件中解压出的第一类型文件之间的文件关联关系和解压参数。

其中,如果根据配置文件确定出第一文件集中待还原的第一类型文件的数据部分为压缩数据部分,按照配置文件中该第一类型文件的数据部分和签名部分的配置信息,从该第二文件集中获得构成该第一类型文件的数据部分和签名部分并组装,得到还原出的该第一类型文件。具体可以参见前面的相关介绍,在此不再赘述。

如果根据配置文件确定出第一文件集中待恢复的第一类型文件的数据部分不属于压缩数据部分,按照配置文件中该第一类型文件的数据部分和签名部分的配置信息,从该第二文件集中获得该第一类型文件关联的各级第一类型文件的数据部分和签名部分,并按照该文件关联关系和解压参数,分别对该第一类型文件及该第一类型文件关联的各级第一类型文件的数据部分和签名部分进行压缩和组装,得到还原出的该第一类型文件。

基于配置文件,并利用还原出的多个第一类型文件组成第一文件集。

下面结合流程图对基于前面实施例得到的压缩文件还原出该第一文件集的过程进行介绍,如图8所示,其示出了本申请又一种处理方法的一种流程示意图,本实施例的方法可以包括:

S801,获得压缩文件。

该压缩文件可以为通过前面任意一个实施例提到的方式生成的第一文件集的压缩文件。

S802,解压该压缩文件,得到配置文件和待恢复的初始文件集。

其中,该配置文件中记录有目标文件集中带签名的第一类型文件内数据部分和签名部分的配置信息。

该初始文件集为至少对目标文件集中该第一类型文件进行数据部分去重和/或签名部分去重后得到的。该初始文件集就相当于前面实施例提到的第二文件集,具体可以参照前面实施例的相关介绍,在此不再赘述。

S803,按照该配置文件中第一类型文件的数据部分和签名部分的配置信息,将该初始文件集还原为目标文件集。

可以理解的是,由于该配置文件中记录有目标文件集中带签名的第一类型文件内数据部分和签名部分的配置信息,因此,根据该配置文件可以确定出目标文件集中每个第一类型文件所包含的数据部分和签名部分,从而重构出该目标文件集中各个第一类型文件,也就还原出该目标文件集。

其中,该目标文件集就相当于前面实施例中提到的第一文件集。

如,以配置信息至少包括第一类型文件中数据部分和签名部分的标识信息为例。由于初始文件集中包括了去重后的第一类型文件,那么初始文件集中包括了目标文件集经过数据部分和/或签名部分去重后剩余的各个第一类型文件所包含的数据部分和签名部分。而目标文件集中被去除的数据部分和签名部分都可以从初始文件集中剩余的数据部分和签名部分中找到。

由此可知,在配置文件中指示出的目标文件集所包含的第一类型文件以及每个第一类型文件中数据部分和签名部分的标识信息的情况下,针对每个第一类型文件,可以从初始文件集中获得构成该第一类型文件的数据部分和签名部分,从而还原出该第一类型文件。相应的,基于还原出的各个第一类型文件可以组成目标文件集。

可以理解的是,如果配置文件中记录有各个第一类型文件以及第一类型文件中数据部分和签名部分的地址区间,那么在还原每个第一类型文件时,可以按照该第一类型文件中数据部分和签名部分各自的地址区域,组装数据部分和签名部分,以还原该第一类型文件。相应的,在还原出各个第一类型文件之后,可以按照各第一类型文件的地址区间,对多个第一类型文件进行组合,从而还原出该目标文件集。

当然,以上仅仅是以一种还原方式为例,在实际应用中,还可以有其他还原方式,对此不加限制。

在一种可能的实现方式中,配置文件中还记录有:数据部分为压缩数据部分的第一类型文件与该第一类型文件中解压出的第一类型文件之间的文件关联关系。

其中,如果根据配置文件确定出目标文件集中待还原的第一类型文件的数据部分属于压缩数据部分,按照配置文件中该第一类型文件的数据部分和签名部分的配置信息,从该初始文件集中获得构成该第一类型文件的数据部分和签名部分并组装,得到该第一类型文件。具体可以参见前面的相关介绍,在此不再赘述。

如果根据配置文件确定出目标文件集中待还原的第一类型文件的数据部分不属于压缩数据部分,按照配置文件中该第一类型文件的数据部分和签名部分的配置信息,从该初始文件集中获得该第一类型文件关联的各级第一类型文件的数据部分和签名部分,并按照该文件关联关系,分别对该第一类型文件及该第一类型文件关联的各级第一类型文件的数据部分和签名部分进行压缩和组装,得到还原出的该第一类型文件。

基于该配置文件,并利用还原出的多个第一类型文件组成目标文件集。

对应本申请的一种处理方法,本申请还提供了处理装置。

如图9所示,其示出了本申请一种处理装置的一种组成结构示意图,本实施例的装置可以包括:

文件获得单元901,用于获得待压缩处理的第一文件集,该第一文件集包括多个带签名的第一类型文件;

数据去重单元902,用于对该带签名的第一类型文件进行数据部分去重和/或签名部分去重,得到去重后的第二文件集;

配置生成单元903,用于生成配置文件,所述配置文件中至少记录有所述数据部分和所述签名部分在所述第一文件集中的配置信息,以能够使得所述第二文件集还原成所述第一文件集;

文件压缩单元904,用于压缩所述配置文件和所述第二文件集,得到所述第一文件集的压缩文件。

在一种可能的实现方式中,还包括:

文件拆解单元,用于数据去重单元在所述对所述带签名的第一类型文件进行数据部分去重和/或签名部分去重之前,拆解出所述第一类型文件的数据部分和签名部分。

在又一种可能的实现方式中,还包括:

文件解压单元,用于在所述文件拆解单元拆解出所述数据部分之后,如所述第一类型文件的数据部分为压缩数据部分,解压所述压缩数据部分,得到解压出的带签名的第一类型文件,并针对解压出的第一类型文件,返回执行所述拆解单元的操作;如所述第一类型文件的数据部分不属于压缩数据部分,结束所述第一类型文件的拆解。

在又一种可能的实现方式中,还包括:

关系确定单元,用于对于拆解出的数据部分为压缩数据部分的第一类型文件,确定所述第一类型文件与所述第一类型文件中解压出的第一类型文件之间的文件关联关系;

参数确定单元,用于确定解压得到所述解压出的第一类型文件所采用的解压参数;

所述配置文件中还包括:所述文件关联关系以及所述解压出的第一类型文件对应的解压参数,以能够还原出包含有所述解压出的第一类型文件对应的压缩数据部分的第一类型文件。

在又一种可能的方式中,数据去重单元,包括:

第一数据去重单元,用于确定所述多个第一类型文件中至少一个第一文件组,对所述第一文件组进行文件去重,所述第一文件组包括数据部分和签名部分均相同的第一类型文件;

和/或,

第二数据去重单元,用于确定所述多个第一类型文件中至少一个第二文件组,对所述第二文件组内的第一类型文件进行数据部分的去重,所述第二文件组包括数据部分相同但签名部分不同的第一类型文件;

和/或,

第三数据去重单元,用于确定所述多个第一类型文件中至少一个第三文件组,对所述第三文件组内的第一类型文件进行签名部分的去重,所述第三文件组包括数据部分不同但签名部分相同的第一类型文件。

在又一种可能的实现方式中,该文件获得单元获得的第一文件集还包括:不带签名的多个第二类型文件;

该装置还包括:

文件去重单元,用于对所述多个第二类型文件进行文件去重,以去除重复的第二类型文件;

该配置生成单元生成的配置文件中还包括:所述第二类型文件的配置信息。

在又一种可能的实现方式中,该装置还包括:

文件解压单元,用于解压所述压缩文件,得到配置文件和待还原的第二文件集;

文件还原单元,用于按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述第二文件集还原为所述第一文件集。

在一种可选方式中,在所述配置文件中还记录有:数据部分为压缩数据部分的第一类型文件与所述第一类型文件中解压出的第一类型文件之间的文件关联关系和解压参数的情况下,该文件还原单元包括:

第一文件还原单元,用于如果根据所述配置文件确定出所述第一文件集中待还原的第一类型文件的数据部分为压缩数据部分按照配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从第二文件集中获得所述第一类型文件关联的各级第一类型文件的数据部分和签名部分,并按照所述文件关联关系和解压参数,分别对所述第一类型文件及所述第一类型文件关联的各级第一类型文件的数据部分和签名部分进行压缩和组装,得到还原出的所述第一类型文件;

第二文件还原单元,用于如果根据所述配置文件确定出所述第一文件集中待还原的第一类型文件的数据部分不属于压缩数据部分,按照配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述第二文件集中获得构成所述第一类型文件的数据部分和签名部分并组装,得到还原出的所述第一类型文件;

文件组合单元,用于利用还原出的多个第一类型文件组成第一文件集。

又一方面,对应本申请中解压压缩文件中的处理方法,本申请还提供了又一种处理装置。如图10所示,其示出了申请又一种该处理装置的一种组成结构示意图,该装置包括:

文件获得单元1001,用于获得压缩文件;

文件解压单元1002,用于解压所述压缩文件,得到配置文件和待恢复的初始文件集,所述配置文件中记录有目标文件集中带签名的第一类型文件内数据部分和签名部分的配置信息,所述初始文件集为至少对所述目标文件集中所述第一类型文件进行数据部分去重和/或签名部分去重后得到的;

文件还原单元1003,用于按照所述配置文件中所述第一类型文件的数据部分和签名部分的配置信息,将所述初始文件集还原为所述目标文件集。

在一种可能的实现方式中,在所述配置文件中还记录有:数据部分为压缩数据部分的第一类型文件与所述第一类型文件中解压出的第一类型文件之间的文件关联关系和解压参数的情况下,该文件还原单元包括:

第一文件还原单元,用于如果根据所述配置文件确定出所述目标文件集中待还原的第一类型文件的数据部分为压缩数据部分按照配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述初始文件集中获得所述第一类型文件关联的各级第一类型文件的数据部分和签名部分,并按照所述文件关联关系和解压参数,分别对所述第一类型文件及所述第一类型文件关联的各级第一类型文件的数据部分和签名部分进行压缩和组装,得到还原出的所述第一类型文件;

第二文件还原单元,用于如果根据所述配置文件确定出所述目标文件集中待还原的第一类型文件的数据部分不属于压缩数据部分,按照配置文件中所述第一类型文件的数据部分和签名部分的配置信息,从所述初始文件集中获得构成所述第一类型文件的数据部分和签名部分并组装,得到还原出的所述第一类型文件;

文件组合单元,用于利用还原出的多个第一类型文件组成目标文件集。

又一方面,本申请还提供了一种电子设备,如图11所示,其示出了本申请一种电子设备的组成结构示意图。

该电子设备至少包括处理器1101和存储器1102。

其中,处理器1101用于执行如上任意一个实施例中的处理方法。

该存储器1102用于存储处理器执行操作所需的程序。

可以理解的是,该电子设备还可以包括输入设备1103、输出设备1104和通信总线1105等。当然,该电子设备还可以具有比图11更多或者更少的部件,对此不加限制。

另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的处理方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 用于分析的有盖微芯片、用于有盖微芯片的样品处理方法、用于有盖微芯片的自动样品处理方法、基于该处理方法的自动样品处理装置以及应用该自动样品处理方法的物质分析装置
  • 摄像装置、摄像结果处理方法、图像处理装置、摄像结果处理方法的程序、记录摄像结果处理方法的程序的记录媒体以及摄像结果的处理系统
技术分类

06120113008218