CN106503165A - 压缩、解压方法、装置以及设备 - Google Patents
压缩、解压方法、装置以及设备 Download PDFInfo
- Publication number
- CN106503165A CN106503165A CN201610930014.2A CN201610930014A CN106503165A CN 106503165 A CN106503165 A CN 106503165A CN 201610930014 A CN201610930014 A CN 201610930014A CN 106503165 A CN106503165 A CN 106503165A
- Authority
- CN
- China
- Prior art keywords
- compression blocks
- blocks
- compression
- decompression
- size
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种压缩、解压方法、装置以及设备。所述方法包括:接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数;将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块;计算得到所述m个压缩块中的每个压缩块的大小;将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。上述方法实现了从解压块中获取到完整的压缩块,并对完整的压缩块进行解压缩。
Description
技术领域
本发明涉及文件压缩技术,尤其涉及一种压缩、解压方法、装置以及设备。
背景技术
数据压缩是指在不丢失有用信息的前提下,按照一定的算法对数据进行重新组织,减少数据的冗余,以减少存储空间,提高传输、存储和处理效率。对数据量较大的文件进行压缩时,由于终端的内存空间是有限的,所以无法一次性读入整个文件到内存进行压缩操作,所以,现有的压缩方法通常是将完整的文件分成多个文件块分别进行压缩从而获得多个压缩块,并将多个压缩块进行拼接以获得压缩文件。
由于无状态硬件解压加速器会把每次输入的数据都看成是一个完整的压缩包,如果输入至无状态硬件解压加速器的是一个不完整的压缩包,则会被认为输入的数据是非法的。原因在于,把一个完整的压缩包输入给无状态硬件解压加速器,一个完整的压缩块包括压缩数据部分以及校验部分,在解压的时候会根据压缩数据部分的码表把码字解析成未压缩的数据,之后计算解压出来的结果的校验码,把这个校验码跟压缩包中校验部分中记录的校验码进行比对,如果一样的话说明解压成功,这就是一个完整的解压过程。如果把不完整的压缩包送给无状态硬件解压加速器进行解压的话,解压器会把这个不完整的压缩包的后面的一部分数据认为是校验部分,用这个被认为是校验部分的数据进行校验,就导致在无状态硬件解压加速器进行解压的时候,出现解析错误的情况,所以不完整的压缩包送给无状态硬件解压加速器是无法成功解压出来的。但是,每个文件块被压缩的情况并不一样,可能导致一些压缩块比较大,一些压缩块比较小,而在对压缩文件进行解压时,压缩文件通常会被等分成多个解压块进行解压,这就导致一些解压块中没有包括完整压缩块,没法进行解压缩。
发明内容
本发明实施例所要解决的技术问题在于,提供一种压缩、解压方法、装置以及设备,实现了从解压块中获取到完整的压缩块,并对完整的压缩块进行解压缩。
第一方面,本发明提供了一种压缩方法,包括如下步骤:接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数;将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块;计算得到所述m个压缩块中的每个压缩块的大小;将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
通过实施本发明,可以在压缩文件中记载m个压缩块中的每个压缩块的大小,以使得在解压缩时,可以通过压缩文件中记载m个压缩块中的每个压缩块的大小完整地获得m个压缩块,从而实现对m个完整的压缩块进行解压缩。
结合第一方面,第一方面的第一种可能的实施方式中,将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件具体为:为所述m个压缩块中的每个压缩块分别加上块大小部分从而获得m个新压缩块,其中,所述块大小部分用于记录对应的压缩块的大小;将所述m个新压缩块进行拼接以获得压缩文件。
此外,通过在压缩块中设置块大小部分,并在块大小部分中记录对应压缩块的大小,能够使得每个压缩块中都对应记载了本压缩块的大小,从而更容易获得压缩块的大小。
结合第一方面,第一方面的第二种可能的实施方式中,将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件具体为:将所述m个压缩块中的每个压缩块的大小存储在字段中;将所述m个压缩块以及所述字段关联存储,从而获得压缩文件。
在一些可能的实施方式中,所述压缩算法为deflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
在一些可能的实施方式中,所述m个压缩块中的每个压缩块均包括压缩数据部分以及校验部分。
在一些可能的实施方式中,将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块具体为:将所述m个文件块中的每个压缩块采用无状态硬件压缩加速器按照压缩算法进行压缩从而获得m个压缩块。
第二方面,提供了一种解压方法,包括如下步骤:接收上层软件发送的n个解压块,其中,所述n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数;从所述n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数;根据所述m个压缩块中的每个压缩块的大小从所述n个解压块中获取到m个压缩块;将所述m个压缩块分别进行解压缩,从而获得m个文件块;将所述m个文件块进行拼接,从而获得完整的文件。
通过实施本发明,可以在n个解压块中获取到m个压缩块中的每个压缩块的大小,并根据m个压缩块中的每个压缩块的大小获取到m个完整的压缩块,并对m个完整的压缩块进行解压缩。
结合第二方面,第二方面的第二种可能的实施方式中,从所述n个解压块中获取m个压缩块中的每个压缩块的大小具体为:从所述n个解压块中获取到m个压缩块对应的块大小部分;从m个压缩块对应的块大小部分中获取m个压缩块中的每个压缩块的大小。
此外,从n个压缩块中获取m个压缩块对应的块大小部分,从m个压缩块对应的块大小部分中获取本压缩块的大小,能够更容易实现,提供获取的效率。
结合第二方面,第二方面的第二种可能的实施方式中,从所述n个解压块中获取m个压缩块中的每个压缩块的大小具体为:从所述n个解压块中获取到字段;从所述字段中获取m个压缩块中的每个压缩块的大小。
在一些可能的实施方式中,所述解压算法为inflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
在一些可能的实施方式中,所述压缩块还包括压缩数据部分以及校验部分。
在一些可能的实施方式中,将所述m个压缩块分别进行解压缩,从而获得m个文件块具体为:将所述m个压缩块通过无状态硬件解压加速器分别进行解压缩,从而获得m个文件块。
第三方面,提供了一种压缩装置,所述装置包括用于实现如第一方面任一项所述的方法的单元。
第四方面,提供了一种解压装置,所述装置包括用于实现如第二方面任一项所述的方法的单元。
第五方面,提供了一种终端设备,包括处理器、硬件压缩加速器以及存储器,其中,所述处理器分别连接硬件压缩加速器以及存储器,所述处理用于接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数,所述处理器将所述m个文件块发送给所述硬件压缩加速器;所述硬件压缩加速器用于将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块,所述硬件压缩加速器将所述m个压缩块发送给所述存储器;所述硬件压缩加速器用于将计算得到所述m个压缩块中的每个压缩块的大小,所述硬件压缩加速器将所述m个压缩块中的每个压缩块的大小发送给所述存储器;所述存储器用于将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
结合第五方面,第五方面的第一种可能的实施方式中,所述硬件压缩加速器用于为所述m个压缩块中的每个压缩块分别加上块大小部分从而获得m个新压缩块,其中,所述块大小部分用于记录对应的压缩块的大小,并将所述m个新压缩块进行拼接以获得压缩文件。
结合第五方面,第五方面的第二种可能的实施方式中,所述存储器用于将所述m个压缩块中的每个压缩块的大小存储在字段中,并将所述m个压缩块以及所述字段关联存储,从而获得压缩文件。
在一些可能的实施方式中,所述压缩算法为deflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
在一些可能的实施方式中,所述m个压缩块中的每个压缩块均包括压缩数据部分以及校验部分。
第六方面,提供一种终端设备,包括处理器、硬件解压加速器以及存储器,其中,所述处理器分别连接硬件解压加速器以及存储器,所述处理器接收上层软件发送的n个解压块,其中,所述n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数,所述处理器发送所述n个解压块给所述硬件解压加速器;所述硬件解压加速器用于从所述n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数;所述硬件解压加速器用于根据所述m个压缩块中的每个压缩块的大小从所述n个解压块中获取到m个压缩块;所述硬件解压加速器用于将所述m个压缩块分别进行解压缩,从而获得m个文件块,所述硬件解压加速器发送所述m个文件块给所述存储器;所述存储器用于将所述m个文件块进行拼接,从而获得完整的文件。
结合第六方面,第六方面的第一种可能的实施方式中,所述硬件解压加速器用于从所述n个解压块中获取到m个压缩块对应的块大小部分;所述硬件解压加速器用于从m个压缩块对应的块大小部分中获取m个压缩块中的每个压缩块的大小。
结合第六方面,第六方面的第二种可能的实施方式中,所述硬件解压加速器用于从所述n个解压块中获取到字段;所述硬件解压加速器用于从所述字段中获取m个压缩块中的每个压缩块的大小。
在一些可能的实施方式中,所述解压算法为inflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
在一些可能的实施方式中,所述压缩块还包括压缩数据部分以及校验部分。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中分块进行压缩和解压的示意图;
图2是本发明实施例提供的一种压缩方法的流程示意图;
图3是本发明实施例提供的一种压缩方法中采用压缩加速器对文件块进行压缩从而获得压缩块的示意图;
图4是本发明实施例提供的一种压缩方法中m个压缩块以及m个压缩块中的每个压缩块的大小关联存储的第一种实施方式的示意图;
图5是本发明实施例提供的一种压缩方法中m个压缩块以及m个压缩块中的每个压缩块的大小关联存储的第二种实施方式的示意图;
图6是本发明实施例提供的一种解压方法的流程示意图;
图7是本发明实施例提供的一种解压方法中采用解压加速器对文件块进行解压从而获得解压块的示意图;
图8是本发明实施例提供的一种解压方法中对n个解压块进行解压的过程的示意图;
图9是本发明实施例提供的一种终端设备的结构示意图;
图10是本发明实施例提供的另一种终端设备的结构示意图;
图11是本发明实施例提供的一种压缩装置的结构示意图;
图12是本发明实施例提供的一种解压装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
为了便于对本发明进行理解,首先对现有的压缩技术以及现有的压缩技术所存在的缺点进行介绍。如图1所示,现有的压缩技术主要包括如下步骤:上层应用软件将文件分为多个文件块,压缩加速器通过压缩算法将多个文件块分别压缩为多个压缩块,然后,将多个压缩块按顺序拼接为完整的压缩文件。相应地,现有的解压技术主要包括如下步骤:上层应用软件将通过现有的压缩技术压缩得到的压缩文件按照预先设置的长度进行分割,以获得多个解压块,然后,将多个解压块分别发送给解压器进行解压。
可以理解的是,在压缩的过程中,每个文件块中的数据都是不一样的,所以,如图1中所示,每个文件块被压缩后对应得到的压缩块的大小也不一样。故此,在解压的过程中,按照预先设置的长度分割得到的解压块可能没有包含完整的压缩块,解压器无法对不完整的压缩块进行解压。
针对现有的技术问题,本发明实施例提供了一种压缩、解压方法、装置及***,可实现从解压块中获取到完整的压缩块,并对完整的压缩块进行解压缩。以下分别进行详细说明。
参见图2,图2是本发明实施例提供的一种压缩方法的流程示意图。如图2所示,该方法包括:
210:接收上层应用软件发送的m个文件块,其中,m个文件块组成原始文件,m为大于零的正整数。
在本发明实施例中,上层应用软件从磁盘中读取原始文件,将原始文件分割成m个文件块,并将m个文件块存储到磁盘中。分割时,m个文件块的长度可以是相同的,也可以是不同的,在一般情况下,除了最后一个文件块,其他的文件块的长度均相同。
可以理解的是,上层应用软件可以是Hadoop平台以及Spark平台等等,也可以是将来开发的具有压缩功能的软件,此处不作具体限定。原始文件可以是文本文件、图片文件、视频文件,也可以是其他的格式的文件。
220:将m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块。
在本发明实施例中,如图3所示,在进行压缩时,将m个文件块从磁盘中读取到内存的BuffIn区域,然后,启动压缩加速器按照压缩算法对m个文件块进行压缩从而得到m个压缩块。压缩得到的m个压缩块被输出至内存的BuffOut区域,最后,再输出至磁盘中。可以理解的是,m个文件的内容均不相同,所以,经过压缩后得到的m个压缩块的大小也不相同,通常,重复内容比较多的文件块压缩后得到的压缩块比重复内容比较少的文件块压缩后得到的压缩块小。
在具体应用中,压缩算法可以是LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法,以及LZ77算法派生的LZ78、LZS、LZW(Lempel-Ziv-Welch)等,而在本实施例中,主要是以使用了LZ77算法以及哈夫曼编码的deflate算法为例进行说明。
在具体应用中,压缩块可以只包括采用压缩算法对文件块进行压缩后得到的压缩数据,也可以包括与压缩数据相关信息。在一些具体的实施例中,与压缩数据相关信息可以包括:校验码、压缩比、压缩时间、压缩速度等等。以采用deflate算法对文件块进行压缩得到的压缩包为例,压缩块至少包括压缩数据部分以及校验部分,其中,压缩数据部分用于放置采用压缩算法对文件块进行压缩后得到的压缩数据。校验部分用于放置可以对压缩数据部分中存储的压缩数据进行校验的校验码。
在具体应用中,压缩加速器通常是通过FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现的,具体而言,可以是无状态硬件压缩加速器。
230:计算得到m个压缩块中的每个压缩块的大小。
在本发明实施例中,当压缩块只包括采用压缩算法对文件块进行压缩后得到的压缩数据时,压缩块的大小是指压缩数据的字节数;当压缩块同时包括压缩数据以及压缩数据相关信息时,压缩块的大小可以是压缩数据的字节数(此时,存储压缩数据相关信息的字节数通常是固定不变的),也可以是压缩数据的字节数与存储压缩数据相关信息的字节数之和。以采用deflate算法对文件块进行压缩得到的压缩包为例,每个压缩块的大小为压缩数据部分的字节长度加上校验部分的字节长度。
240:将m个压缩块以及m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
在本发明实施例中,只要在压缩文件中存储有m个压缩块中的每个压缩块的大小,则在解压时,就可以根据m个压缩块中的每个压缩块的大小分别获取到m个完整的压缩块,从而对获取到的m个完整的压缩块进行解压。下面结合图4以及图5说明m个压缩块以及m个压缩块中的每个压缩块的大小关联存储的几种不同的实施方式。
如图4所示,可以为每个压缩块添加块大小部分从而获得新压缩块,即,以采用deflate算法对文件块进行压缩得到的压缩包为例,原来的压缩块包括压缩数据部分以及校验部分,而新压缩块则包括块大小部分、压缩数据部分以及校验部分。块大小部分可以用于记录对应的压缩块的大小,例如,可以存储压缩块的字节数,也可以存储压缩块的字节数与块大小部分的字节数之和。最后,再将新压缩压缩块按顺序进行拼接,从而得到压缩文件。下面的说明中,均以块大小部分记录的是对应的压缩块的大小为例进行说明。
可以理解的是,新压缩块可以是按块大小部分、压缩数据部分以及校验部分顺序拼接而成,也可以是按照块大小部分、校验部分以及压缩数据部分拼接而成,或者,按照校验部分、块大小部分以及压缩数据部分拼接而成等等。
如图5所示,可以在压缩文件中添加字段,即,添加前,压缩文件由压缩块1,压缩块2,……,压缩块n拼接而成,添加后,压缩文件由字段、压缩块1,压缩块2,……,压缩块n拼接而成。字段包括m个区间,每个区间分别用于存储压缩文件的m个压缩块中的每个压缩块的字节数。
可以理解的是,在本实施例中,字段设置在压缩文件中的压缩块之前,以便于尽早获取到m个压缩块中的每个压缩块的大小以进行解压。在原始文件的数据不大的情况下,也可以将字段设置在所有压缩块之后。解压时,在接收到所有的解压块之后,再从解压块中获取字段中记载的m个压缩块中的每个压缩块的字节数,并根据m个压缩块中的每个压缩块的字节数从解压块中获取到m个完整的压缩块进行解压。
参见图6,图6是本发明实施例提供的一种解压方法的流程示意图。本实施例的解压方法用于对采用图2所示的压缩方法压缩得到的压缩块进行解压的。如图6所示,该方法包括:
610:接收上层软件发送的n个解压块,其中,n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数。
可以理解的是,上层应用软件可以是Hadoop平台以及Spark平台等等,也可以是将来开发的具有压缩功能的软件,此处不作具体限定。压缩文件可以是通过Hadoop平台以及Spark平台压缩得到的文件、也可以是其他的格式的文件。
620:从n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数。
630:根据m个压缩块中的每个压缩块的大小从n个解压块中获取到m个压缩块。
640:将m个压缩块按照解压算法分别进行解压缩,从而获得m个文件块。
在具体应用中,解压算法可以是LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法,以及LZ77算法派生的LZ78、LZS、LZW(Lempel-Ziv-Welch)等,而在本实施例中,当压缩算法采用的是inflate算法时,解压算法采用的是inflate算法。
650:将m个文件块进行拼接,从而获得完整的文件。
下面结合图7以及图8详细说明解压的过程,需要说明的是,图中以一个压缩文件被分成3个解压块进行说明,但是,在实际的应用中,一个压缩文件可以被分成任意多个压缩块,本发明中分成3个解压块只是作为一个举例,而不是具体的限定。
在本发明实施例中,上层应用软件从磁盘中读取压缩文件,将压缩文件分割成4个解压块,并将4个解压块存储到磁盘中。分割时,n个解压块的长度可以是相同的,也可以是不同的,在一般情况下,除了最后一个解压块,其他的文件块的长度均相同。在对解压块进行分割时,上层应用软件是按照预设的长度进行分割的,而每个压缩块的大小均不相同,所以,分割得到的解压块可能包括完整的压缩块,也可能不包括完整的压缩块。
在一具体的实施例中,如果在压缩时采用的是如图4所示的方式记录压缩块的大小,则解压时,可以采用图8所示的方式进行解压。具体地,第一个解压块除了包括第一个压缩块外,还包括了第二个压缩块的部分。第二个解压块包括第二个压缩块的剩余部分、第三个压缩块的全部以及第四个压缩块的部分。第三个解压块包括第四个压缩块的剩余部分。
将第一个解压块读入到内存的BufferIn区域中,从第一个解压块中获取得到第一个压缩块的块大小部1的值,然后,根据块大小部1中的值抽取对应的字节数以获得完整的第一个压缩块,之后,启动解压缩加速器,将第一个压缩块按照解压算法进行解压,从而获得第一个文件块。解压得到的第一个文件块被输出至内存的BuffOut区域,最后,再输出至磁盘中。第一个解压块剩余的部分(包括第二个压缩块的块大小部以及第二个压缩块的压缩数据部中的部分数据)不是一个可解压的完整压缩单元,无法再使用解压缩加速器进行解压,所以把这部分剩余数据保存到内存的UncompBuf区域中。
将磁盘中的第二个解压块读取到内存的BufferIn区域中,此时发现内存的UncompBuf区域中有上一次操作中第一个解压块的剩余数据,于是辨识内存的UncompBuf区域中块大小部2的值,根据该值从内存的BufferIn区域中抽取第二个压缩块的剩余部分到内存的UncompBuf区域中,使得原来内存的UncompBuf区域中第二个压缩块的部分数据和刚刚抽取到内存的UncompBuf区域中的第二个压缩块的剩余部分拼接出来的数据刚好为第二个压缩块,于是启动解压缩加速器将第二个压缩块进行解压,还原得到第二个文件块。
接下来从内存的BufferIn区域中获取到完整的第三个压缩块,并继续解压第三个压缩块,得到文件块3,输出到磁盘,继续把无法解压的剩余数据(第四个压缩块的部分数据)保存到内存的UncompBuf区域中。最后读入第三个解压包,再和上一次操作中剩余在UncompBuf区域中的数据进行拼接,按照块大小部4的值读取完整的第四个压缩块,启动解压缩加速器解压得到文件块4,输出到磁盘。最后,将文件块1至文件块4进行拼接,最终即可还原出未压缩前的整个原始文件。
在具体应用中,解压加速器通常是通过FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现的,具体而言,可以是无状态硬件压缩加速器。
可以理解的是,用于进行压缩的压缩加速器和用于进行解压的解压加速器可以是两个不同的硬件加速器,也可以是集成为一个压缩解压加速器,在使用中,可以根据实际需要进行设置。
在另一具体的实施例中,如果在压缩时采用的是如图5所示的方式记录压缩块的大小,则解压时,可以从压缩块的开始部分的字段中获取m个压缩块中的每个压缩块的大小,然后,再根据每个压缩块的大小从n个解压块中获取到m个完整的压缩块,并分别对m个完整的压缩块进行解压,从而获得m个文件块,对m个文件块进行拼接,从而获得一个完整的原始文件。
基于同一发明构思,本发明实施例还提供一种终端设备(如图9所示),该终端设备用于实现前述图2实施例所描述的方法。如图9所示,终端设备90包括:至少一个处理器901、通信接口902、用户接口903和存储器904,处理器901、通信接口902、用户接口903和存储器904可通过总线或者其它方式连接,本发明实施例以通过总线905连接为例。其中,终端设备90还包括硬件压缩加速器906,硬件压缩加速器906分别和处理器901以及存储器904连接。
处理器901可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口902可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他电子设备或网站进行通信。
用户接口903具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口903也可以是物理按键或者鼠标。用户接口903还可以为显示屏,用于输出、显示图像或数据。
硬件压缩加速器906通常是通过FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现的,具体而言,可以是无状态硬件压缩加速器,也可以是有状态硬件压缩加速器。
存储器904可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器904还可以包括上述种类的存储器的组合。存储器904用于存储一组程序代码,处理器901用于调用存储器904中存储的程序代码,执行如下操作:
所述处理器901用于接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数,所述处理器901将所述m个文件块发送给所述硬件压缩加速器906;
所述硬件压缩加速器906用于将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块,所述硬件压缩加速器将所述m个压缩块发送给所述存储器904;
所述硬件压缩加速器906用于将计算得到所述m个压缩块中的每个压缩块的大小,所述硬件压缩加速器906将所述m个压缩块中的每个压缩块的大小发送给所述存储器904;
所述存储器904用于将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
可选地,所述硬件压缩加速器906用于为所述m个压缩块中的每个压缩块分别加上块大小部分从而获得m个新压缩块,其中,所述块大小部分用于记录对应的压缩块的大小,并将所述m个新压缩块进行拼接以获得压缩文件。
可选地,所述存储器904用于将所述m个压缩块中的每个压缩块的大小存储在字段中,并将所述m个压缩块以及所述字段关联存储,从而获得压缩文件。
可选地,所述压缩算法为deflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
可选地,所述m个压缩块中的每个压缩块均包括压缩数据部分以及校验部分。
基于同一发明构思,本发明实施例还提供一种终端设备(如图10所示),该终端设备用于实现前述图3实施例所描述的方法。如图10所示,终端设备包括:至少一个处理器1001、通信接口1002、用户接口1003和存储器1004,处理器1001、通信接口1002、用户接口1003和存储器1004可通过总线或者其它方式连接,本发明实施例以通过总线1005连接为例。其中,终端设备还包括硬件解压加速器1006,硬件解压加速器1006分别和处理器1001以及存储器1004连接。
处理器1001可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口1002可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他电子设备或网站进行通信。
用户接口1003具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口1003也可以是物理按键或者鼠标。用户接口1003还可以为显示屏,用于输出、显示图像或数据。
硬件解压加速器1006通常是通过FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现的,具体而言,可以是无状态硬件解压加速器。
存储器1004可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器1004还可以包括上述种类的存储器的组合。存储器1004用于存储一组程序代码,处理器1001用于调用存储器1004中存储的程序代码,执行如下操作:
所述处理器1001接收上层软件发送的n个解压块,其中,所述n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数,所述处理器1001发送所述n个解压块给所述硬件解压加速器1006;
所述硬件解压加速器1006用于从所述n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数;
所述硬件解压加速器1006用于根据所述m个压缩块中的每个压缩块的大小从所述n个解压块中获取到m个压缩块;
所述硬件解压加速器1006用于将所述m个压缩块分别进行解压缩,从而获得m个文件块,所述硬件解压加速器1006发送所述m个文件块给所述存储器1004;
所述存储器1004用于将所述m个文件块进行拼接,从而获得完整的文件。
可选地,所述硬件解压加速器1004用于从所述n个解压块中获取到m个压缩块对应的块大小部分;所述硬件解压加速器1004用于从m个压缩块对应的块大小部分中获取m个压缩块中的每个压缩块的大小。
可选地,所述硬件解压加速器1004用于从所述n个解压块中获取到字段;所述硬件解压加速器1004用于从所述字段中获取m个压缩块中的每个压缩块的大小。
可选地,所述解压算法为inflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
可选地,所述压缩块还包括压缩数据部分以及校验部分。
基于同一发明构思,本发明实施例还提供一种压缩装置(如图11所示),包括接收模块1101、压缩模块1102、计算模块1103以及存储模块1104。其中,
接收模块1101用于接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数;
压缩模块1102用于将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块;
计算模块1103用于计算得到所述m个压缩块中的每个压缩块的大小;
存储模块1104用于将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
可选地,所述存储模块1104具体用于为所述m个压缩块中的每个压缩块分别加上块大小部分从而获得m个新压缩块,其中,所述块大小部分用于记录对应的压缩块的大小;将所述m个新压缩块进行拼接以获得压缩文件。
可选地,所述存储模块1104具体用于将所述m个压缩块中的每个压缩块的大小存储在字段中;将所述m个压缩块以及所述字段关联存储,从而获得压缩文件。
可选地,所述压缩算法为deflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
可选地,所述m个压缩块中的每个压缩块均包括压缩数据部分以及校验部分。
可选地,压缩模块1102用于将所述m个文件块中的每个压缩块采用无状态硬件压缩加速器按照压缩算法进行压缩从而获得m个压缩块。
基于同一发明构思,本发明实施例还提供一种压缩装置(如图12所示),包括:接收模块1201、第一获取模块1202、第二获取模块1202、解压模块1203以及拼接模块1204。
接收模块1201用于接收上层软件发送的n个解压块,其中,所述n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数;
第一获取模块1202用于从所述n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数;
第二获取模块1202用于根据所述m个压缩块中的每个压缩块的大小从所述n个解压块中获取到m个压缩块;
解压模块1203用于将所述m个压缩块按照解压算法分别进行解压缩,从而获得m个文件块;
拼接模块1204用于将所述m个文件块进行拼接,从而获得完整的文件。
可选地,第一获取模块1202用于从所述n个解压块中获取到m个压缩块对应的块大小部分;从m个压缩块对应的块大小部分中获取m个压缩块中的每个压缩块的大小。
可选地,第一获取模块1202用于从所述n个解压块中获取到字段;从所述字段中获取m个压缩块中的每个压缩块的大小。
可选地,所述解压算法为inflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
可选地,所述压缩块还包括压缩数据部分以及校验部分。
可选地,解压模块1203用于将所述m个压缩块通过无状态硬件解压加速器分别进行解压缩,从而获得m个文件块。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (24)
1.一种压缩方法,其特征在于,包括如下步骤:
接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数;
将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块;
计算得到所述m个压缩块中的每个压缩块的大小;
将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
2.根据权利要求1所述的方法,其特征在于,将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件具体为:
为所述m个压缩块中的每个压缩块分别加上块大小部分从而获得m个新压缩块,其中,所述块大小部分用于记录对应的压缩块的大小;
将所述m个新压缩块进行拼接以获得压缩文件。
3.根据权利要求1所述的方法,其特征在于,将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件具体为:
将所述m个压缩块中的每个压缩块的大小存储在字段中;
将所述m个压缩块以及所述字段关联存储,从而获得压缩文件。
4.根据权利1至3任一权利要求所述的方法,其特征在于,所述压缩算法为deflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
5.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述m个压缩块中的每个压缩块均包括压缩数据部分以及校验部分。
6.根据权利要求1至4任一权利要求所述的方法,其特征在于,将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块具体为:
将所述m个文件块中的每个压缩块采用无状态硬件压缩加速器按照压缩算法进行压缩从而获得m个压缩块。
7.一种解压方法,其特征在于,包括如下步骤:
接收上层软件发送的n个解压块,其中,所述n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数;
从所述n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数;
根据所述m个压缩块中的每个压缩块的大小从所述n个解压块中获取到m个压缩块;
将所述m个压缩块按照解压算法分别进行解压缩,从而获得m个文件块;
将所述m个文件块进行拼接,从而获得完整的文件。
8.根据权利要求7所述的方法,其特征在于,从所述n个解压块中获取m个压缩块中的每个压缩块的大小具体为:
从所述n个解压块中获取到m个压缩块对应的块大小部分;
从m个压缩块对应的块大小部分中获取m个压缩块中的每个压缩块的大小。
9.根据权利要求7所述的方法,其特征在于,从所述n个解压块中获取m个压缩块中的每个压缩块的大小具体为:
从所述n个解压块中获取到字段;
从所述字段中获取m个压缩块中的每个压缩块的大小。
10.根据权利要求7至9任一权利要求所述的方法,其特征在于,所述解压算法为inflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
11.根据权利要求7至10任一权利要求所述的方法,其特征在于,所述压缩块还包括压缩数据部分以及校验部分。
12.根据权利要求7至11任一权利要求所述的方法,其特征在于,将所述m个压缩块分别进行解压缩,从而获得m个文件块具体为:
将所述m个压缩块通过无状态硬件解压加速器分别进行解压缩,从而获得m个文件块。
13.一种压缩装置,其特征在于,所述装置包括用于实现如权利要求1-6任一权利要求所述的方法的单元。
14.一种解压装置,其特征在于,所述装置包括用于实现如权利要求7-12任一权利要求所述的方法的单元。
15.一种终端设备,其特征在于,包括处理器、硬件压缩加速器以及存储器,其中,所述处理器分别连接硬件压缩加速器以及存储器,
所述处理器用于接收上层应用软件发送的m个文件块,其中,所述m个文件块组成原始文件,m为大于零的正整数,所述处理器将所述m个文件块发送给所述硬件压缩加速器;
所述硬件压缩加速器用于将所述m个文件块中的每个压缩块按照压缩算法进行压缩从而获得m个压缩块,所述硬件压缩加速器将所述m个压缩块发送给所述存储器;
所述硬件压缩加速器用于将计算得到所述m个压缩块中的每个压缩块的大小,所述硬件压缩加速器将所述m个压缩块中的每个压缩块的大小发送给所述存储器;
所述存储器用于将所述m个压缩块以及所述m个压缩块中的每个压缩块的大小关联存储,从而获得压缩文件。
16.根据权利要求15所述的设备,其特征在于,
所述硬件压缩加速器用于为所述m个压缩块中的每个压缩块分别加上块大小部分从而获得m个新压缩块,其中,所述块大小部分用于记录对应的压缩块的大小,并将所述m个新压缩块进行拼接以获得压缩文件。
17.根据权利要求15所述的设备,其特征在于,所述存储器用于将所述m个压缩块中的每个压缩块的大小存储在字段中,并将所述m个压缩块以及所述字段关联存储,从而获得压缩文件。
18.根据权利15至17任一权利要求所述的设备,其特征在于,所述压缩算法为deflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
19.根据权利要求15至18任一权利要求所述的设备,其特征在于,所述m个压缩块中的每个压缩块均包括压缩数据部分以及校验部分。
20.一种终端设备,其特征在于,包括处理器、硬件解压加速器以及存储器,其中,所述处理器分别连接硬件解压加速器以及存储器,
所述处理器接收上层软件发送的n个解压块,其中,所述n个解压块是将压缩文件进行n份分割得到的,n为大于零的正整数,所述处理器发送所述n个解压块给所述硬件解压加速器;
所述硬件解压加速器用于从所述n个解压块中获取m个压缩块中的每个压缩块的大小,其中,m为大于零的正整数;
所述硬件解压加速器用于根据所述m个压缩块中的每个压缩块的大小从所述n个解压块中获取到m个压缩块;
所述硬件解压加速器用于将所述m个压缩块分别进行解压缩,从而获得m个文件块,所述硬件解压加速器发送所述m个文件块给所述存储器;
所述存储器用于将所述m个文件块进行拼接,从而获得完整的文件。
21.根据权利要求20所述的设备,其特征在于,
所述硬件解压加速器用于从所述n个解压块中获取到m个压缩块对应的块大小部分;
所述硬件解压加速器用于从m个压缩块对应的块大小部分中获取m个压缩块中的每个压缩块的大小。
22.根据权利要求20所述的设备,其特征在于,
所述硬件解压加速器用于从所述n个解压块中获取到字段;
所述硬件解压加速器用于从所述字段中获取m个压缩块中的每个压缩块的大小。
23.根据权利要求20至22任一权利要求所述的设备,其特征在于,所述解压算法为inflate算法、LZO算法、bzip2算法、字典算法、固定位长算法、LZ77算法以及LZ77派生算法中的任意一种。
24.根据权利要求20至23任一权利要求所述的设备,其特征在于,所述压缩块还包括压缩数据部分以及校验部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610930014.2A CN106503165A (zh) | 2016-10-31 | 2016-10-31 | 压缩、解压方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610930014.2A CN106503165A (zh) | 2016-10-31 | 2016-10-31 | 压缩、解压方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106503165A true CN106503165A (zh) | 2017-03-15 |
Family
ID=58319627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610930014.2A Pending CN106503165A (zh) | 2016-10-31 | 2016-10-31 | 压缩、解压方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106503165A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122312A (zh) * | 2017-05-05 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种固态盘地址映射方法 |
CN107688439A (zh) * | 2017-08-15 | 2018-02-13 | 深圳前海信息技术有限公司 | 基于Deflate的无关联压缩块的生成方法及装置 |
CN108446300A (zh) * | 2018-01-26 | 2018-08-24 | 北京奇虎科技有限公司 | 数据信息的扫描方法及装置 |
CN108509642A (zh) * | 2018-04-12 | 2018-09-07 | 郑州云海信息技术有限公司 | 压缩、解压gzip格式文件的方法、装置及存储介质 |
CN108520067A (zh) * | 2018-04-12 | 2018-09-11 | 郑州云海信息技术有限公司 | 压缩、解压gzip格式文件的方法、装置及存储介质 |
CN108932315A (zh) * | 2018-06-21 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种数据解压的方法以及相关装置 |
CN110784225A (zh) * | 2018-07-31 | 2020-02-11 | 华为技术有限公司 | 数据压缩、解压方法及相关装置、电子设备、*** |
CN110851408A (zh) * | 2019-10-31 | 2020-02-28 | 维沃移动通信有限公司 | 一种文件压缩方法、文件解压方法和电子设备 |
CN110990358A (zh) * | 2019-09-30 | 2020-04-10 | 咪咕文化科技有限公司 | 一种解压缩方法、电子设备及计算机可读存储介质 |
CN111723059A (zh) * | 2020-05-25 | 2020-09-29 | 深圳市科楠科技开发有限公司 | 一种数据压缩方法、装置、终端设备及存储介质 |
CN112286883A (zh) * | 2020-11-04 | 2021-01-29 | 中国电力财务有限公司 | 电子单据的处理方法及相关装置、计算机存储介质 |
CN114697309A (zh) * | 2020-12-25 | 2022-07-01 | 北京三快在线科技有限公司 | 文件传输方法、文件处理方法及装置 |
CN116069742A (zh) * | 2023-01-18 | 2023-05-05 | 广州通则康威智能科技有限公司 | 一种压缩和解压方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103384884A (zh) * | 2012-12-11 | 2013-11-06 | 华为技术有限公司 | 一种文件压缩方法、文件解压缩方法、装置及服务器 |
CN105653484A (zh) * | 2015-12-31 | 2016-06-08 | 厦门市美亚柏科信息股份有限公司 | 一种数据分块压缩多通道传输方法 |
-
2016
- 2016-10-31 CN CN201610930014.2A patent/CN106503165A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103384884A (zh) * | 2012-12-11 | 2013-11-06 | 华为技术有限公司 | 一种文件压缩方法、文件解压缩方法、装置及服务器 |
CN105653484A (zh) * | 2015-12-31 | 2016-06-08 | 厦门市美亚柏科信息股份有限公司 | 一种数据分块压缩多通道传输方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122312B (zh) * | 2017-05-05 | 2019-12-17 | 苏州浪潮智能科技有限公司 | 一种固态盘地址映射方法 |
CN107122312A (zh) * | 2017-05-05 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种固态盘地址映射方法 |
CN107688439A (zh) * | 2017-08-15 | 2018-02-13 | 深圳前海信息技术有限公司 | 基于Deflate的无关联压缩块的生成方法及装置 |
CN108446300A (zh) * | 2018-01-26 | 2018-08-24 | 北京奇虎科技有限公司 | 数据信息的扫描方法及装置 |
CN108509642A (zh) * | 2018-04-12 | 2018-09-07 | 郑州云海信息技术有限公司 | 压缩、解压gzip格式文件的方法、装置及存储介质 |
CN108520067A (zh) * | 2018-04-12 | 2018-09-11 | 郑州云海信息技术有限公司 | 压缩、解压gzip格式文件的方法、装置及存储介质 |
CN108932315A (zh) * | 2018-06-21 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种数据解压的方法以及相关装置 |
CN110784225A (zh) * | 2018-07-31 | 2020-02-11 | 华为技术有限公司 | 数据压缩、解压方法及相关装置、电子设备、*** |
CN110990358A (zh) * | 2019-09-30 | 2020-04-10 | 咪咕文化科技有限公司 | 一种解压缩方法、电子设备及计算机可读存储介质 |
CN110851408A (zh) * | 2019-10-31 | 2020-02-28 | 维沃移动通信有限公司 | 一种文件压缩方法、文件解压方法和电子设备 |
CN111723059A (zh) * | 2020-05-25 | 2020-09-29 | 深圳市科楠科技开发有限公司 | 一种数据压缩方法、装置、终端设备及存储介质 |
CN112286883A (zh) * | 2020-11-04 | 2021-01-29 | 中国电力财务有限公司 | 电子单据的处理方法及相关装置、计算机存储介质 |
CN114697309A (zh) * | 2020-12-25 | 2022-07-01 | 北京三快在线科技有限公司 | 文件传输方法、文件处理方法及装置 |
CN116069742A (zh) * | 2023-01-18 | 2023-05-05 | 广州通则康威智能科技有限公司 | 一种压缩和解压方法及装置 |
CN116069742B (zh) * | 2023-01-18 | 2023-10-03 | 广州通则康威智能科技有限公司 | 一种压缩和解压方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503165A (zh) | 压缩、解压方法、装置以及设备 | |
EP3820048A1 (en) | Data compression and decompression method and related apparatus, electronic device, and system | |
KR101074010B1 (ko) | 블록 단위 데이터 압축 및 복원 방법 및 그 장치 | |
US20090319547A1 (en) | Compression Using Hashes | |
US8407378B2 (en) | High-speed inline data compression inline with an eight byte data path | |
CN107888197B (zh) | 一种数据压缩方法和装置 | |
CN104199951B (zh) | 网页处理方法及装置 | |
CN108881454B (zh) | 文件传输方法、移动终端及存储介质 | |
US20120150877A1 (en) | Efficient database compression | |
US20110069833A1 (en) | Efficient near-duplicate data identification and ordering via attribute weighting and learning | |
CN110399511A (zh) | 基于Redis的图片缓存方法、设备、存储介质及装置 | |
CN114337678A (zh) | 数据压缩方法、装置、设备及存储介质 | |
CN113055455A (zh) | 文件上传方法及设备 | |
US6748520B1 (en) | System and method for compressing and decompressing a binary code image | |
CN113163198B (zh) | 图像压缩方法、解压方法、装置、设备及存储介质 | |
CN107431491A (zh) | 改进的文件压缩和加密 | |
CN102999626B (zh) | 一种数据压缩/解压缩装置及其方法、*** | |
CN105573775B (zh) | Fpga配置文件加载方法和解码器 | |
CN103840835A (zh) | 一种数据解压缩方法及装置 | |
CN116303297A (zh) | 文件压缩处理方法、装置、设备及介质 | |
US9176973B1 (en) | Recursive-capable lossless compression mechanism | |
CN105491544A (zh) | 一种短消息压缩通信方法和*** | |
US20230273855A1 (en) | Data authentication for data compression | |
US10168909B1 (en) | Compression hardware acceleration | |
US20190258728A1 (en) | Footers for compressed objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170315 |