CN112579546B - 文件压缩方法、系统、存储介质及终端 - Google Patents

文件压缩方法、系统、存储介质及终端 Download PDF

Info

Publication number
CN112579546B
CN112579546B CN202011500708.5A CN202011500708A CN112579546B CN 112579546 B CN112579546 B CN 112579546B CN 202011500708 A CN202011500708 A CN 202011500708A CN 112579546 B CN112579546 B CN 112579546B
Authority
CN
China
Prior art keywords
checksum
file
compression
directory name
preset
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
CN202011500708.5A
Other languages
English (en)
Other versions
CN112579546A (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 Jianjingjian Technology Co ltd
Original Assignee
Beijing Jianjingjian Technology 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 Jianjingjian Technology Co ltd filed Critical Beijing Jianjingjian Technology Co ltd
Priority to CN202011500708.5A priority Critical patent/CN112579546B/zh
Publication of CN112579546A publication Critical patent/CN112579546A/zh
Application granted granted Critical
Publication of CN112579546B publication Critical patent/CN112579546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件压缩方法及系统,涉及计算机技术领域。该方法包括:获取目标文件,确定目标文件的目录名;根据预设校验和算法求取目标文件的每级目录名的第一校验和;按照预设压缩格式对目标文件进行压缩,得到包含第一校验和记录的压缩包;其中,预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和。本发明提供的文件压缩方法,能够很好的提高压缩软件的压缩率,提高文件管理的效率,相比于传统的压缩方式,当使用相同的压缩算法时,能够使文件体积变得更小,并且当压缩同一目录下的海量文件时,体积能够极大的减少。

Description

文件压缩方法、系统、存储介质及终端
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件压缩方法、系统、存储介质及终端。
背景技术
文件压缩,是减小文件体积的有效手段,不仅能够减少文件体积,便于文件的传输和存储,还可以一次性打包容纳批量文件,便于文件的管理。对于文件压缩而言,文件压缩后体积越小越好,这也是文件压缩一直追求的目标。
目前常用的压缩方法包括有损压缩和无损压缩,有损压缩广泛应用于动画、声音和图像文件中,固然能够进一步减少压缩包的体积,但是却以丢失一些不重要的数据为前提,因此,对于准确度要求较高的文件,通常采用无损压缩。常见的无损压缩格式有zip、rar和7z等,然而,目前的文件压缩格式尽管格式不同,但是在表示特定文件的路径形式都是一样的,假设同一目录下有多个文件需要压缩,那么现有的压缩方式都会是对每个文件的全路径进行记录,这就导致目录名被重复记录,随着文件数量的增大,重复的目录名也会随之增加,导致压缩包体积不够小,压缩率不够高。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种文件压缩方法、系统、存储介质及终端。
本发明解决上述技术问题的技术方案如下:
一种文件压缩方法,包括:
获取目标文件,确定所述目标文件的目录名;
根据预设校验和算法求取所述目标文件的每级目录名的第一校验和;
按照预设压缩格式对所述目标文件进行压缩,得到包含所述第一校验和记录的压缩包;
其中,所述预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和。
本发明解决上述技术问题的另一种技术方案如下:
一种文件压缩系统,包括:
获取单元,用于获取目标文件,确定所述目标文件的目录名;
校验和单元,用于根据预设校验和算法求取所述目标文件的每级目录名的第一校验和;
压缩单元,用于按照预设压缩格式对所述目标文件进行压缩,得到包含所述第一校验和记录的压缩包;
其中,所述预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和。
本发明解决上述技术问题的另一种技术方案如下:
一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述技术方案所述的文件压缩方法。
本发明解决上述技术问题的另一种技术方案如下:
一种终端,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,实现如上述技术方案所述的文件压缩方法。
本发明的有益效果是:本发明提供的文件压缩方法,通过对压缩格式中文件路径里目录名部分使用校验和来表示,对于重复的目录名,无需反复记录,因此能够很好的提高压缩软件的压缩率,提高文件管理的效率,相比于传统的压缩方式,当使用相同的压缩算法时,能够使文件体积变得更小,并且当压缩同一目录下的海量文件时,体积能够极大的减少。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明文件压缩方法的实施例提供的流程示意图;
图2为本发明文件压缩系统的实施例提供的结构框架图;
图3为本发明文件压缩系统的实施例提供的文件添加流程示意图;
图4为本发明文件压缩系统的实施例提供的文件提取流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明文件压缩方法的实施例提供的流程示意图,该文件压缩方法包括:
S1,获取目标文件,确定目标文件的目录名;
S2,根据预设校验和算法求取目标文件的每级目录名的第一校验和;
S3,按照预设压缩格式对目标文件进行压缩,得到包含所述第一校验和记录的压缩包;
其中,预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和。
例如,假设目标文件有5个,分别是readme1.txt、readme2.txt、readme3.txt、readme4.txt和readme5.txt,这5个文件均存放在release文件夹内,release文件夹的路径为D盘根目录下的\aaaa文件夹,\aaaa文件夹中包含以下嵌套的子目录:bbbb\cccc\dddd\release。
那么按照传统的压缩方式,文件压缩格式虽然不同,但是在表示特定文件的路径形式都是一样的,通常文件路径的编码方式为:
\aaaa\bbbb\cccc\dddd\release\readme1.txt
\aaaa\bbbb\cccc\dddd\release\readme2.txt
\aaaa\bbbb\cccc\dddd\release\readme3.txt
\aaaa\bbbb\cccc\dddd\release\readme4.txt
\aaaa\bbbb\cccc\dddd\release\readme5.txt
可以看出上述目录名中存在重复数据:\aaaa\bbbb\cccc\dddd\release\,当文件的数量增多时,重复数据的数量也会随之增多,当文件数量极大时,例如,有成千上万的文件需要压缩,那么就会因为目录信息的重复导致压缩文件体积显著变大,而通过本申请方案,则可以避免这些重复的数据。
例如,以\aaaa\bbbb\cccc\dddd\release\为例,\为根目录,可以根据预设校验和算法分别计算每级目录名的校验和。
可以计算aaaa\的校验和,假设校验和为A;
计算aaaa\bbbb\的校验和,假设校验和为B;
计算aaaa\bbbb\cccc\的校验和,假设校验和为C;
计算aaaa\bbbb\cccc\dddd\的校验和,假设校验和为D;
计算aaaa\bbbb\cccc\dddd\release\的校验和,假设校验和为E。
应理解,由于校验和是唯一确定的,因此,相同的目录名才会有相同的校验和,那么假设已经压缩了文件readme1.txt,其对应的每级目录名的校验和分别是A、B、C、D、E,每个校验和对应的目录名如上所示,这些对应关系存储在数据块结构中,那么假设现在要压缩文件readme2.txt,其目录名同样为\aaaa\bbbb\cccc\dddd\release\,经过同样的算法求出的校验和为E,那么通过查找数据块结构,发现该文件的目录名已经存在,此时不再对该文件的目录名进行重复记录处理,而是对该目录名用校验和E进行标记,表明该文件与文件readme1.txt的目录名相同,其他文件同理,从而减少了不必要的重复数据,缩小了压缩包的体积。
又例如,假设文件readme6.txt存放在\aaaa\bbbb\cccc\路径下,那么采用同样的方法,求出校验和为C,经过查找数据块结构,发现该文件的目录名已经存在,此时可以不再对该文件的目录名进行记录,也就是说,由于存储了每级目录名的检验和,对于存放在各级目录中的文件也能够使用相同的方式减少对于目录名的重复记录,从而能够进一步减少压缩包的体积。
可选地,预设校验和算法可以为crc32算法、adler32算法等,应理解,具体使用的校验和算法,由文件头结构体UARHEADER中的crctype来决定。
本实施例提供的文件压缩方法,通过对压缩格式中文件路径里目录名部分使用校验和来表示,对于重复的目录名,无需反复记录,因此能够很好的提高压缩软件的压缩率,提高文件管理的效率,相比于传统的压缩方式,当使用相同的压缩算法时,能够使文件体积变得更小,并且当压缩同一目录下的海量文件时,体积能够极大的减少。
可选地,在一些可能的实施方式中,还包括:
当将其他文件添加至压缩包内时,根据预设校验和算法求取其他文件的各级目录名的第二校验和;
判断压缩包的记录中是否存在与第二校验和相同的第一校验和,如果存在与第二校验和相同的第一校验和,则将相同的第一校验和对应的目录名作为其他文件的目录名,在按照预设压缩格式对其他文件进行压缩时,不对其他文件的目录名进行重复写入处理。
应理解,其他文件指的是不在压缩包内的已有文件,例如,假设有文件A、B和C需要压缩,文件A已经被压缩,存在压缩包内,那么对于该压缩包而言,文件B和C就是其他文件。
例如,假设文件存储在\aaaa\bbbb\cccc\dddd\release\目录下,\为根目录,那么各级目录名分别为:
aaaa\;
aaaa\bbbb\;
aaaa\bbbb\cccc\;
aaaa\bbbb\cccc\dddd\;
aaaa\bbbb\cccc\dddd\release\。
可选地,在一些可能的实施方式中,还包括:
如果不存在与第二校验和相同的第一校验和,则根据预设校验和算法求取其他文件的各级目录名的第二校验和,将第二校验和与对应的每级目录名作为新记录;
按照预设压缩格式将其他文件写入至压缩包内。
可选地,在一些可能的实施方式中,预设压缩格式包括头部结构和数据块结构,头部结构用于存储格式信息,例如,包括压缩文件格式的标志和压缩包文件格式的版本号等信息;数据块结构用于存储压缩后的文件信息和该文件目录的信息,并用于存储每级目录名的校验和。
例如,下面给出一种示例性的压缩格式,该压缩格式命名为uar,包括头部结构与数据块结构两部分:
头部结构:
Figure GDA0003915177960000061
Figure GDA0003915177960000071
格式头的大小为6个字节,前四个字节为:“uar!”,是uar压缩格式的标志,后两个字节代表压缩包文件格式的版本号,crctype代表文件格式中使用的校验算法,例如,1代表CRC32,2代表CRC64等,keysize代表加密密钥存储块,在压缩文件格式中引入该项,可以更加灵活的使用不同的加密算法加密数据,尤其可以使用非对称加密算法,如:RSA等。
数据块结构:
Figure GDA0003915177960000072
Figure GDA0003915177960000081
应理解,此结构体为数据压缩头,压缩头的大小是可变长度的,头部信息中包含的变量含义如下:
dwflag为标志信息,第0位是文件目录标记位,0代表文件,1代表目录。第1位是加密位,1代表有加密,0代表无加密。第2位为64位大小表示位,1代表存在64位值的高4字节,0代表不存在64位值的高4字节,第14位表示删除标记位,第15位表示是否为尾部标记,其他位为保留位。
dwTime为文件或目录最近修改的时间。
dwDate为文件或目录最近修改的日期。
dwHeadCrc为数据压缩头的校验和。
dwDirCrc为文件所在目录目录名或者当前目录的上层目录目录名的校验和。
dwFileCrc,当dwflag的目录位为1时,此值为当前目录目录名的校验和;当dwflag的目录位为0时,此值为文件内容的校验和。
OldSizelow为原始文件大小的低32位。
UarSizelow为压缩后文件大小的低32位。
dwMethod为1个字节的压缩方式,0x30为存储,0x31为最快压缩,0x32为快速压缩,0x33为标准压缩,0x34为较好压缩,0x35为最好压缩。
dwFileNameLen为文件名的长度。
f_namebuf是存放文件名或者目录名的数据区,应理解,2*MAX_PATH的大小只是暂时性定义的数据最大长度,具体数据长度是用dwFileNameLen来表示。
m_f_highsize是一个结构体,其中包含:原始文件大小的高32位和压缩后文件大小的高32位值。此结构体紧跟f_namebuf实际长度的后面,只有dwflag中的0x100位被设置才会存在。
需要说明的是,上面的结构体,可以根据实际需求任意扩充,诸如,还可以增加:
WORD wCommLen,表示注释信息的长度。
WORD wVer,表示版本号等等。
可选地,该压缩格式还可以包括尾部结构:
以“\”作为父目录和子目录构造一个特殊的记录项,此记录中f_namebuf的内容为:“\”,dwDirCrc和dwFileCrc的值相同,就是“\”的校验和,dwflag的第15位设置为:1。
应理解,在一些可能的实现方式中,可以包含上述各实施方式的全部或部分。
下面以上述实施例中的数据结构为例,提供一种示例性的压缩格式文件添加流程图,如图3所示,以”\”为根目录,添加文件或目录,当添加文件时,dwflag第0位设置为0,计算获得父目录名的校验和并写入dwDirCrc,文件内容的校验和写入dwFileCrc;当添加目录时,dwflag的第0位设置为1,计算上层目录名的校验和并写入dwDirCrc,当前目录名的校验和写入dwHeaderCrc。然后将压缩头结构信息写入文件,然后判断是否大小需要64位表存储,如果是,则将dwflag第2位设置为1,将UARHIGHINFO结构体信息写入,再写入文件压缩数据;如果否,则直接写入文件压缩数据。最后判断文件或目录是否添加完成,如果添加完成,则写入尾部结构信息,结束流程,否则继续写入。
下面说明添加的具体内容。
假如要把c:\test目录添加到压缩包中,test目录的列表如下:
C:\test\1.txt
C:\test\2.txt
C:\test\aaaa\a1.txt
C:\test\aaaa\a2.txt
C:\test\bbbb\b1.txt
C:\test\bbbb\b2.txt
具体添加流程如下:
一、要添加的目录项如下:
(1)、以‘\’为父目录,‘\test\’为目录名的压缩头。
(2)、以‘\test\’为父目录,‘\test\aaaa\’为目录名的压缩头。
(3)、以‘\test\’为父目录,‘\test\bbbb\’为目录名的压缩头。
二、要添加的文件项如下:
(1)、以‘\’为父目录,‘1.txt’为文件名的压缩头+压缩数据。
(2)、以‘\’为父目录,‘2.txt’为文件名的压缩头+压缩数据。
(3)、以‘\test\aaaa\’为父目录,‘a1.txt’为文件名的压缩头+压缩数据。
(4)、以‘\test\aaaa\’为父目录,‘a2.txt’为文件名的压缩头+压缩数据。
(5)、以‘\test\bbbb\’为父目录,‘b1.txt’为文件名的压缩头+压缩数据。
(6)、以‘\test\bbbb\’为父目录,‘b2.txt’为文件名的压缩头+压缩数据。
三、添加结束项:
(1)、设置dwflag的第15位为:1。
(2)、以‘\’为父目录,‘\’为文件名的压缩头。
下面以上述实施例出的数据结构为例,提供一种示例性的压缩格式文件提取流程图,如图4所示,以”\”为根目录,开始提取文件,如果当前提取的是目录,则遍历整个压缩包里的数据块结构,找到所有属于当前目录的子目录,同时获得各个子目录名的校验和,然后遍历压缩包,通过比较dwDirCrc,查找各个校验和对应的文件,再读取或跳过文件压缩头;如果不是,则分解文件路径,得到目录名和文件名,获得目录名的校验和,以校验和查找符合条件的文件,判断是否找到与文件名匹配的文件,如果找到,则直接读取或跳过文件压缩头;如果未找到,则判断dwflag&0x8000是否等于1,如果是,则结束流程,否则重新遍历提取文件。
读取或跳过文件压缩头后,定位到数据区,使用对应的解压算法进行文件解压操作,判断dwflag&0x8000是否等于1,如果是,则结束流程,否则继续提取。
下面说明提取的具体内容。
假如要把test目录从压缩包中提取出来,test目录的列表如下:
1.txt(文件)
2.txt(文件)
aaaa(文件夹)
bbbb(文件夹)
具体提取流程如下:
一、要提取的目录项如下:
(1)、目录:\test\aaaa\
(2)、目录:\test\bbbb\
(3)、目录:\test\
二、要提取的文件项如下:
(1)、以目录名:‘\test\’的校验和查找所有文件,然后解压。
(2)、以目录名:‘\test\aaaa\’的校验和查找所有文件,然后解压。
(3)、以目录名:‘\test\bbbb\’的校验和查找所有文件,然后解压。
如图2所示,为本发明文件压缩系统的实施例提供的结构框架图,该文件压缩系统包括:
获取单元1,用于获取目标文件,确定目标文件的目录名;
校验和单元2,用于根据预设校验和算法求取目标文件的每级目录名的第一校验和;
压缩单元3,用于按照预设压缩格式对所述目标文件进行压缩,得到包含所述第一校验和记录的压缩包;
其中,预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和。
本实施例提供的文件压缩方法,通过对压缩格式中文件路径里目录名部分使用校验和来表示,对于重复的目录名,无需反复记录,因此能够很好的提高压缩软件的压缩率,提高文件管理的效率,相比于传统的压缩方式,当使用相同的压缩算法时,能够使文件体积变得更小,并且当压缩同一目录下的海量文件时,体积能够极大的减少。
可选地,在一些可能的实施方式中,校验和单元2还用于当将其他文件压缩至压缩包内时,根据预设校验和算法求取其他文件的各级目录名的第二校验和;
校验和单元2还用于判断压缩包的记录中是否存在与第二校验和相同的第一校验和,如果存在与第二校验和相同的第一校验和,则将相同的第一校验和对应的目录名作为其他文件的目录名,在按照预设压缩格式对其他文件进行压缩时,不对其他文件的目录名进行重复写入处理。
可选地,在一些可能的实施方式中,校验和单元2还用于如果不存在与第二校验和相同的第一校验和,则根据预设校验和算法求取其他文件的各级目录名的第二校验和;
压缩单元3还用于将第二校验和与对应的每级目录名作为新记录,按照预设压缩格式将其他文件写入至压缩包内。
可选地,在一些可能的实施方式中,预设压缩格式包括头部结构和数据块结构,头部结构用于存储格式信息;数据块结构用于存储压缩后的文件信息和文件目录信息,并用于存储每级目录名的校验和。
应理解,在一些可能的实现方式中,可以包含上述各实施方式的全部或部分。
应理解,上述各实施方式为与在先方法实施方式对应的产品实施方式,因此,上述各产品实施方式的具体说明可以参照在先方法实施方式的对应说明,在此不再赘述。
在本发明的其他实施例中,还提供一种存储介质,存储介质中存储有指令,当计算机读取指令时,使计算机执行如上述任意实施方式公开的文件压缩方法。
在本发明的其他实施例中,还提供一种终端,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序,实现如上述任意实施方式公开的文件压缩方法。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种文件压缩方法,其特征在于,包括:
获取目标文件,确定所述目标文件的目录名;
根据预设校验和算法求取所述目标文件的每级目录名的第一校验和;
按照预设压缩格式对所述目标文件进行压缩,得到包含所述第一校验和记录的压缩包;
其中,所述预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和;
还包括:
当将其他文件压缩至所述压缩包内时,根据预设校验和算法求取所述其他文件的各级目录名的第二校验和;
判断所述压缩包的记录中是否存在与所述第二校验和相同的第一校验和,如果存在与所述第二校验和相同的第一校验和,则将相同的第一校验和对应的目录名作为所述其他文件的目录名,在按照预设压缩格式对所述其他文件进行压缩时,不对所述其他文件的目录名进行重复写入处理。
2.根据权利要求1所述的文件压缩方法,其特征在于,还包括:
如果不存在与所述第二校验和相同的第一校验和,则根据预设校验和算法求取所述其他文件的各级目录名的第二校验和,将第二校验和与对应的每级目录名作为新记录,按照预设压缩格式将所述其他文件写入至所述压缩包内。
3.根据权利要求1或2所述的文件压缩方法,其特征在于,所述预设压缩格式包括头部结构和数据块结构,所述头部结构用于存储格式信息;所述数据块结构用于存储压缩后的文件信息和文件目录的信息,并用于存储每级目录名的校验和。
4.一种文件压缩系统,其特征在于,包括:
获取单元,用于获取目标文件,确定所述目标文件的目录名;
校验和单元,用于根据预设校验和算法求取所述目标文件的每级目录名的第一校验和;
压缩单元,用于按照预设压缩格式对所述目标文件进行压缩,得到包含所述第一校验和记录的压缩包;
其中,所述预设压缩格式的数据块结构中包含每级目录名信息和对应的校验和;
所述校验和单元还用于当将其他文件压缩至所述压缩包内时,根据预设校验和算法求取所述其他文件的各级目录名的第二校验和;
所述校验和单元还用于判断所述压缩包的记录中是否存在与所述第二校验和相同的第一校验和,如果存在与所述第二校验和相同的第一校验和,则将相同的第一校验和对应的目录名作为所述其他文件的目录名,在按照预设压缩格式对所述其他文件进行压缩时,不对所述其他文件的目录名进行重复写入处理。
5.根据权利要求4所述的文件压缩系统,其特征在于,所述校验和单元还用于如果不存在与所述第二校验和相同的第一校验和,则根据预设校验和算法求取所述其他文件的各级目录名的第二校验和;所述压缩单元还用于将第二校验和与对应的每级目录名作为新记录,按照预设压缩格式将所述其他文件写入至所述压缩包内。
6.根据权利要求4或5任一项所述的文件压缩系统,其特征在于,所述预设压缩格式包括头部结构和数据块结构,所述头部结构用于存储格式信息;所述数据块结构用于存储压缩后的文件信息和文件目录的信息,并用于存储每级目录名的校验和。
7.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至3中任一项所述的文件压缩方法。
8.一种终端,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,实现如权利要求1至3中任一项所述的文件压缩方法。
CN202011500708.5A 2020-12-17 2020-12-17 文件压缩方法、系统、存储介质及终端 Active CN112579546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011500708.5A CN112579546B (zh) 2020-12-17 2020-12-17 文件压缩方法、系统、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011500708.5A CN112579546B (zh) 2020-12-17 2020-12-17 文件压缩方法、系统、存储介质及终端

Publications (2)

Publication Number Publication Date
CN112579546A CN112579546A (zh) 2021-03-30
CN112579546B true CN112579546B (zh) 2023-02-03

Family

ID=75136011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011500708.5A Active CN112579546B (zh) 2020-12-17 2020-12-17 文件压缩方法、系统、存储介质及终端

Country Status (1)

Country Link
CN (1) CN112579546B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360381A (zh) * 2011-09-29 2012-02-22 深圳众为兴技术股份有限公司 一种对嵌入式程序进行无损压制的装置和方法
CN103914459A (zh) * 2012-12-31 2014-07-09 北京中交兴路信息科技有限公司 交通信息文件压缩、解压缩方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102218B2 (en) * 2014-09-30 2018-10-16 Microsoft Technology Licensing, Llc File system with per-extent checksums

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360381A (zh) * 2011-09-29 2012-02-22 深圳众为兴技术股份有限公司 一种对嵌入式程序进行无损压制的装置和方法
CN103914459A (zh) * 2012-12-31 2014-07-09 北京中交兴路信息科技有限公司 交通信息文件压缩、解压缩方法及装置

Also Published As

Publication number Publication date
CN112579546A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
US8024382B2 (en) Dynamic manipulation of archive files
US20100281070A1 (en) Data file having more than one mode of operation
CN105009067A (zh) 管理对存储数据单元的操作
CN105027071B (zh) 管理对存储数据单元的操作
JP2008003932A (ja) データ記憶装置、データ記憶方法およびコンピュータプログラム
US8244692B1 (en) Interleaving compressed archives within a page description language file
WO2001098905A1 (fr) Procédé de gestion des fichiers
WO2020103493A1 (zh) 基于fat32文件系统的删除文件恢复方法及系统
US10496612B2 (en) Method for reliable and efficient filesystem metadata conversion
CN113157655A (zh) 一种数据压缩、解压方法、装置、电子设备和存储介质
US6981116B2 (en) System and method for information control block tracking streams for universal disk format file systems
CN105009068A (zh) 管理对存储数据单元的操作
CN112579546B (zh) 文件压缩方法、系统、存储介质及终端
EP3070615A1 (en) Information processing apparatus, and data management method
US20090083267A1 (en) Method and System for Compressing Data
US20130218851A1 (en) Storage system, data management device, method and program
CN115765754A (zh) 一种数据编码方法及一种编码数据比较方法
US20030051005A1 (en) Apparatus for encapsulating data within a self-defining file and method thereof
CN111444194B (zh) 一种块链式账本中索引的清除方法、装置及设备
CN108776578B (zh) 一种快速合并对象的方法和系统
JP6032291B2 (ja) 圧縮プログラム、圧縮装置、伸張プログラム、伸張装置およびシステム
US10037148B2 (en) Facilitating reverse reading of sequentially stored, variable-length data
CN109271463A (zh) 一种恢复MySQL数据库的innodb压缩数据的方法
CN113064886B (zh) 一种标识资源存储和标记管理的方法
CN110955381B (zh) 一种压缩文件外发包的装置及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant