本发明涉及数据解压,尤其涉及一种快速提取多层级压缩文件的方法、系统、设备及介质。
背景技术:
1、多层级压缩文件是指在计算机中进行了多次压缩的文件,即一个压缩文件中包含另一些压缩文件,这些压缩文件中还包含另外的压缩文件,多层级压缩文件广泛应用于隐私数据加密场景,而为了获取压缩文件数据,需要对多层级压缩文件进行数据提取。
2、传统解压多层级压缩文件的方法主要是基于递归的文件解压提取方法,实际使用时,基于递归的文件解压提取方法无法有效的利用计算机cpu运算能力,解压速度慢,若递归的深度过大,函数调用栈可能会耗尽可用的内存空间,导致栈溢出错误,此外使用递归在某些场景下还有深度的限制,当递归深度超过限制时,程序可能会崩溃或异常,可能导致对多层级压缩文件进行数据提取时效率较低的问题。
技术实现思路
1、本发明提供一种快速提取多层级压缩文件的方法、系统、设备及介质,其主要目的在于解决相关技术中对多层级压缩文件进行数据提取时效率较低的问题。
2、为实现上述目的,本发明提供的一种快速提取多层级压缩文件的方法,包括:初始化阻塞队列、解压生产者线程以及解压消费者线程;利用解压生产者线程对待解压的多层级压缩文件进行遍历压缩文件拆分,得到主级压缩文件集以及主级解压文件集;利用解压生产者线程将主级压缩文件集存入阻塞队列中,得到解压任务队列;根据解压消费者线程对解压任务队列进行逐层多线程解压,得到子级解压结果;根据主级解压文件集以及子级解压结果对解压任务队列进行迭代入队解压,得到标准解压结果。
3、为了解决上述问题,本发明还提供一种快速提取多层级压缩文件的系统,系统包括:队列初始化模块,用于初始化阻塞队列、解压生产者线程以及解压消费者线程;遍历拆分模块,用于利用解压生产者线程对待解压的多层级压缩文件进行遍历压缩文件拆分,得到主级压缩文件集以及主级解压文件集;任务入队模块,用于利用解压生产者线程将主级压缩文件集存入阻塞队列中,得到解压任务队列;逐层解压模块,用于根据解压消费者线程对解压任务队列进行逐层多线程解压,得到子级解压结果;迭代解压模块,用于根据主级解压文件集以及子级解压结果对解压任务队列进行迭代入队解压,得到标准解压结果。
4、为了解决上述问题,本发明还提供一种电子设备,电子设备包括:
5、至少一个处理器;以及,
6、与至少一个处理器通信连接的存储器;其中,
7、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述的快速提取多层级压缩文件的方法。
8、为了解决上述问题,本发明还提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的快速提取多层级压缩文件的方法。
9、本发明实施例通过初始化阻塞队列、解压生产者线程以及解压消费者线程能够实现多线程的队列解压任务,从而提高多层级压缩文件解压的稳定性和安全性,提高整体解压效率,通过进行遍历压缩文件拆分,能够实现初级解压,并筛选出子级的压缩文件,方便后续进行进一步的解压操作,通过将主级压缩文件集存入阻塞队列中,得到解压任务队列,可以防止解压时的依赖错误以及线程等待的现象,提高解压的效率,通过进行逐层多线程解压,能够利用多线程技术对多层级压缩文件进行并发解压处理,提高了数据解压的效率以及线程的利用率,通过进行迭代入队解压,可以使用迭代算法替代递归解压算法,从而提高解压性能和降低解压时的内存开销,并通过阻塞队列和多线程并发操作利用cpu的运算能力,得到更高效的解压效率。因此本发明提出的快速提取多层级压缩文件的方法、系统、设备及介质,可以解决对多层级压缩文件进行数据提取时效率较低的问题。
1.一种快速提取多层级压缩文件的方法,其特征在于,所述方法包括:
2.如权利要求1所述的快速提取多层级压缩文件的方法,其特征在于,所述初始化阻塞队列、解压生产者线程以及解压消费者线程,包括:
3.如权利要求1所述的快速提取多层级压缩文件的方法,其特征在于,所述利用所述解压生产者线程对待解压的多层级压缩文件进行遍历压缩文件拆分,得到主级压缩文件集以及主级解压文件集,包括:
4.如权利要求3所述的快速提取多层级压缩文件的方法,其特征在于,所述对所述目标文件进行压缩特征提取,得到目标压缩特征,包括:
5.如权利要求3所述的快速提取多层级压缩文件的方法,其特征在于,所述对所述目标压缩特征进行压缩属性检测,得到目标检测结果,包括:
6.如权利要求1所述的快速提取多层级压缩文件的方法,其特征在于,所述利用所述解压生产者线程将所述主级压缩文件集存入所述阻塞队列中,得到解压任务队列,包括:
7.如权利要求1所述的快速提取多层级压缩文件的方法,其特征在于,所述根据所述解压消费者线程对所述解压任务队列进行逐层多线程解压,得到子级解压结果,包括:
8.如权利要求7所述的快速提取多层级压缩文件的方法,其特征在于,所述对所述线程解压文件集进行格式验证,得到验证解压文件集,包括:
9.如权利要求1所述的快速提取多层级压缩文件的方法,其特征在于,所述根据所述主级解压文件集以及所述子级解压结果对所述解压任务队列进行迭代入队解压,得到标准解压结果,包括:
10.一种快速提取多层级压缩文件的系统,其特征在于,所述系统包括:
11.一种电子设备,其特征在于,所述电子设备包括:
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任意一项所述的快速提取多层级压缩文件的方法。