本发明涉及计算机技术,具体涉及一种用于比对压缩文件的文件标记方法、电子设备和介质。
背景技术:
1、zip,tar,bzip,7z等格式都是计算机技术中常见的压缩文件格式,共同的特点是可以把单个数据文件或者多个数据文件,或者包含文件目录在内的多个数据文件及目录压缩到一个压缩文件中,即完成了数据文件压缩的功能,也完成了归档的功能。
2、压缩文件包含的数据文件,可以是另一个压缩文件,这种情况下叫压缩文件的嵌套。对嵌套的压缩文件内容的访问,通常需要把第一层压缩文件解压缩后才能访问第二层的压缩文件。
3、当需要对两个压缩文件的内容进行比对时,通常需要先将压缩文件进行解压缩,如果是嵌套的压缩文件,那还需要将嵌套的压缩文件解压缩后才能继续比对,实际操作较为繁琐,处理起来比较麻烦。
技术实现思路
1、基于上述现状,本发明的主要目的在于提供一种文件标记方法、电子设备和介质,用于比对两个压缩文件,能够对两个具有任意层嵌套的压缩文件中的每个数据文件进行比对,根据比对的结果进行标记,从而快速获取两个压缩文件的比对结果。
2、为实现上述目的,本发明采用的技术方案如下:
3、本发明的第一方面提供了一种文件标记方法,用于比对两个压缩文件,所述方法包括如下步骤:
4、生成一个采用键值方式的数据文件,并获取所述两个压缩文件的md5值和文件名,分别为:第一md5值、第二md5值、第一文件名、第二文件名;
5、所述数据文件至少包括第一节点和第二节点;
6、所述第一节点的一级键命名为固定值,所述第一节点的一级键的值包括若干二级键,所述第一节点的若干二级键的值分别为所述第一md5值、第二md5值、第一文件名、第二文件名;
7、所述第二节点的一级键用于指代具有所述第二文件名的压缩文件,所述第二节点的一级键的值由所述第一节点的取值为所述第二文件名的二级键确定。
8、优选地,还包括如下步骤:
9、若任何一个所述压缩文件中包含有嵌套的子压缩文件,则在所述数据文件中相应地为每个子压缩文件增加一个数据节点,用于描述该子压缩文件,其中:
10、所述数据节点的一级键命名为该子压缩文件的文件名,所述数据节点的一级键的值包括如下二级键:
11、节点控制键,所述节点控制键的值用于描述该子压缩文件及其与所述两个压缩文件的关系;
12、相同控制键,所述相同控制键的值用于描述该子压缩文件在所述两个压缩文件中的文件名相同且文件内容相同;
13、不同控制键,所述不同控制键的值用于描述该子压缩文件在所述两个压缩文件中的文件名相同且文件内容不同;以及,
14、节点基础键,所述节点基础键的值用于描述该子压缩文件的不包括所述相同控制键、不同控制键所描述部分的剩余部分。
15、优选地,所述节点控制键的值包括如下:
16、节点类型,用于描述该子压缩文件的压缩格式;
17、节点md5,用于表示该子压缩文件的md5值;
18、第三文件名,用于表示该子压缩文件在具有所述第一文件名的压缩文件中的实际文件名;以及
19、第四文件名,用于表示该子压缩文件在具有所述第二文件名的压缩文件中的实际文件名。
20、优选地,所述相同控制键的值由第一列表描述,所述第一列表包括如下内容:
21、该子压缩文件在具有所述第二文件名的压缩文件中的实际文件名、物理起始地址、长度,以及
22、该子压缩文件在具有所述第一文件名的压缩文件中的实际文件名、物理起始地址。
23、优选地,所述不同控制键的值由第二列表描述,所述第二列表包括如下内容:
24、该子压缩文件在具有所述第二文件名的压缩文件中的实际文件名、存储尺寸、物理起始地址、长度,
25、该子压缩文件在所述两个压缩文件中实际数据部分的二进制差异结果,
26、该子压缩文件在具有所述第一文件名的压缩文件中的实际文件名,
27、该子压缩文件在具有所述第二文件名的压缩文件中的实际数据部分的md5值,以及
28、该子压缩文件在具有所述第二文件名的压缩文件中的无压缩状态的md5值。
29、优选地,若该压缩子文件的压缩格式为zip类型,则所述第二列表还包括:
30、该子压缩文件在具有所述第二文件名的压缩文件中的压缩参数,以及
31、该子压缩文件在具有所述第二文件名的压缩文件中的压缩软件版本号。
32、优选地,所述方法还包括如下步骤:
33、若该子压缩文件包括嵌套的下一级子压缩文件,则所述二级键还包括:
34、下级节点控制键,所述下级节点控制键的值用于描述该子压缩文件包含的下一级子压缩文件;
35、所述节点基础键的值不包括所述下级节点控制键所描述的部分。
36、优选地,所述下级节点控制键的值由第三列表描述,所述第三列表包括如下内容:
37、所述下一级子压缩文件在具有所述第二文件名的压缩文件中的物理起始地址、长度、实际文件名、存储尺寸、解压后的md5值、所属子压缩文件的压缩数据部分的md5值。
38、本发明的第二方面提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如上述第一方面所述的文件标记方法。
39、本发明的第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现如上述第一方面所述的文件标记方法。
40、本发明与现有技术相比具有明显的优点和有益效果,其至少具有下列优点:
41、本发明的文件标记方法,通过采用一个基于键值方式的数据文件,能够对两个具有任意层嵌套的压缩文件中的每个数据文件进行比对,并根据比对的结果进行标记,从而可以快速地获取两个压缩文件中每个数据文件的比对结果。采用所述的文件标记方法,可以清晰地得到每个数据文件是否发生了变化,如果发生变化,文件级的差异内容包含什么样的嵌套的压缩文件。依据标记结果,可以完成嵌套压缩文件的内部文件对比,且不限定嵌套深度。
42、本发明的电子设备和计算机可读存储介质,通过采用上述的文件标记方法,用于比对两个压缩文件,能够对两个具有任意层嵌套的压缩文件中的每个数据文件进行比对,根据比对的结果进行标记,从而快速获取两个压缩文件的比对结果。
1.一种文件标记方法,用于比对两个压缩文件,其特征在于,所述方法包括如下步骤:
2.如权利要求1所述的文件标记方法,其特征在于,还包括如下步骤:
3.如权利要求2所述的文件标记方法,其特征在于,所述节点控制键的值包括如下:
4.如权利要求2所述的文件标记方法,其特征在于,所述相同控制键的值由第一列表描述,所述第一列表包括如下内容:
5.如权利要求2所述的文件标记方法,其特征在于,所述不同控制键的值由第二列表描述,所述第二列表包括如下内容:
6.如权利要求5所述的文件标记方法,其特征在于,若该压缩子文件的压缩格式为zip类型,则所述第二列表还包括:
7.如权利要求2所述的文件标记方法,其特征在于,所述方法还包括如下步骤:
8.如权利要求7所述的文件标记方法,其特征在于,所述下级节点控制键的值由第三列表描述,所述第三列表包括如下内容:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于运行以实现如权利要求1至8任一项所述的文件标记方法。