本发明涉及芯片电路,具体涉及一种用于对压缩数据进行并行解压的预处理的方法以及并行解压缩的装置及计算设备。
背景技术:
1、随着计算机技术的发展,数据量呈爆炸式增长,尤其是在互联网、物联网、大数据、人工智能等领域。早期存储设备容量有限且价格昂贵,促使人们寻找有效的方法来减少数据占用的空间。数据压缩技术应运而生,通过算法去除数据中的冗余信息,将大文件转化为小体积的压缩文件,极大地提升了存储效率。
2、数据压缩可以显著减少需要存储的数据量。这对于存储容量有限的系统(如嵌入式系统或移动设备)尤为重要,因为它们往往需要在有限的存储空间内存储尽可能多的信息。通过压缩数据,这些系统可以更高效地利用存储空间,从而存储更多的数据或应用更大的程序,还能够加快数据传输速度,特别是在网络传输或远程数据传输中,数据压缩可以减少需要传输的数据量,从而缩短传输时间。
3、随着时间的推移,多种通用和专用的压缩算法被开发出来,如zip、rar、gzip、lzma、brotli、jpeg、mp3等,形成了广泛接受的行业标准。相应的解压缩软件和库也得以广泛开发和应用,使得用户能够方便地创建、分享和解压压缩文件。但是,相比于软件解压,硬件解压的解压速度更快,对于需要高速处理大量数据的应用来说,更能够保证数据处理速度以及可靠性,例如视频处理、图像处理和科学计算等。硬件解压通常使用专门的硬件电路来执行解压操作,可以避免软件解压中可能出现的错误和故障,解压电路经过严格的设计和测试,具有更高的可靠性。
4、现行的硬件数据解压模块的设计通常采用非常复杂的电路设计,不仅增加了开发电路的成本和时间也限制了模块的灵活性和可扩展性,还使得硬件数据解压模块只能处理特定类型的数据或特定的压缩算法,难以在各种应用场景下通用,也导致后续更新和维护的困难。此外,硬件模块可能消耗更多的电力,这对于低功耗设备或需要长时间运行的系统来说是一个问题。
5、为此,需要一种技术方案,能够在实现大量数据快速解压的同时节约功耗。
技术实现思路
1、本发明旨在提供用于一种用于对压缩数据进行并行解压的预处理的方法以及并行解压缩的装置及计算设备。能够在实现大量数据快速解压的同时节约功耗,且电路设计灵活,可扩展性强。
2、根据本发明的一方面,提供一种用于对压缩数据进行并行解压的预处理的方法,包括:
3、按照解压并行度设定相应数量的存储空间;
4、将待处理数据按照预定单位数量顺序分组,将每组数据依次存储在各存储空间中;
5、依次输出每个存储空间中预定比特长度的完整压缩数据,作为待解压数据。
6、根据一些实施例,还包括:通过直接存储器访问搬运所述待解压数据到并行解压模块。
7、根据一些实施例,所述并行解压模块,包括:压缩数据分发模块、多个数据解压子模块、解压数据缓存模块,其中,
8、所述压缩数据分发模块接收经过数据预处理的待解压数据,所述待解压数据包括预定比特长度的多个完整的压缩数据,并将所述待解压数据按照并行度分发至各数据解压子模块;
9、所述多个数据解压子模块分别接收来自所述压缩数据分发模块的待解压数据,并对所述待解压数据进行并行解压,得到解压后数据,并将所述解压后数据传输至所述解压数据缓存模块;
10、所述解压数据缓存模块接收来自所述数据解压子模块的解压后数据,对所述解压后数据进行缓存排序,得到完整解压数据并输出。
11、根据本发明的一方面,提供一种并行解压缩的装置,包括:压缩数据分发模块、多个数据解压子模块、解压数据缓存模块,其中,
12、所述压缩数据分发模块接收利用如上所述的方法进行预处理的待解压数据,所述待解压数据包括预定比特长度的多个完整的压缩数据,并将所述待解压数据按照并行度分发至各数据解压子模块;
13、所述多个数据解压子模块分别接收来自所述压缩数据分发模块的待解压数据,并对所述待解压数据进行并行解压,得到解压后数据,并将所述解压后数据传输至所述解压数据缓存模块;
14、所述解压数据缓存模块接收来自所述数据解压子模块的解压后数据,对所述解压后数据进行缓存排序,得到完整解压数据并输出。
15、根据一些实施例,所述数据解压子模块包括:数据压缩分割单元、有效压缩数据拼接单元、压缩数据解压单元,其中,
16、所述数据压缩分割单元接收所述待解压数据,获取所述待解压数据中的有效压缩数据,并将所述有效压缩数据传输至所述有效压缩数据拼接单元;
17、所述有效压缩数据拼接单元接收来自所述数据压缩分割单元的有效压缩数据,将所述有效压缩数据进行拼接并按照预定单位数量顺序分组,得到待解压数据组并传输至所述压缩数据解压单元;
18、所述压缩数据解压单元接收来自所述有效压缩数据拼接单元的待解压数据组,对所述待解压数据组进行解压,得到解压后数据,并输出所述解压后数据。
19、根据一些实施例,所述多个数据解压子模块的数量根据并行度设置。
20、根据一些实施例,所述待解压数据通过直接存储器访问搬运到所述压缩数据分发模块。
21、根据本发明的一方面,提供一种芯片电路,包括如上所述的任意一项的装置。
22、根据本发明的一方面,提供一种解压系统,包括如上所述的任意一项的装置及预处理模块,所述预处理模块执行如上所述的任一项所述的方法。
23、根据本发明的另一方面,提供一种计算设备,包括:
24、处理器;以及
25、存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的方法。
26、根据本发明的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。
27、根据本发明的实施例,对压缩数据进行预处理,将待处理数据按照预定单位数量顺序分组,再按照存储空间中预定比特长度的完整压缩数据,且所述并行解压缩装置与所述用于对压缩数据进行并行解压的预处理的方法中的所述设定的预定单位数量大小相同,使得待解压数据在后续并行解压过程中,能够同步分析、同步解压,进一步提高解压效率,大幅提升了并行解压效率。
28、根据一些实施例,将所述待解压数据分解成多个待解压数据进行并行解压,提高了数据解压速度。数据解压模块中采用多解压支路并行的电路设计,电路简单灵活、可扩展性强。
29、根据一些实施例,通过对压缩数据进行预先处理,将压缩文件进行重新排布,配合所述解压数据缓存模块对解压后数据进行缓存排序,提高了电路装置对不同压缩数据的适应类型。
30、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
1.一种用于对压缩数据进行并行解压的预处理的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:通过直接存储器访问搬运所述待解压数据到并行解压模块。
3.根据权利要求1所述的方法,其特征在于,所述并行解压模块包括:压缩数据分发模块、多个数据解压子模块、解压数据缓存模块,其中,
4.一种并行解压缩的装置,其特征在于,包括:压缩数据分发模块、多个数据解压子模块、解压数据缓存模块,其中,
5.根据权利要求4所述的装置,其特征在于,所述数据解压子模块包括:数据压缩分割单元、有效压缩数据拼接单元、压缩数据解压单元,其中,
6.根据权利要求4所述的装置,其特征在于,所述多个数据解压子模块的数量根据并行度设置。
7.根据权利要求4所述的装置,其特征在于,所述待解压数据通过直接存储器访问搬运到所述压缩数据分发模块。
8.一种芯片电路,其特征在于,包括权利要求4-7中任意一项所述的装置。
9.一种解压缩系统,其特征在于,包括权利要求4-7中任意一项所述的装置及预处理模块,所述预处理模块执行权利要求1-3中任意一项所述的方法。
10.一种计算设备,其特征在于,包括: