CN113157655A - 一种数据压缩、解压方法、装置、电子设备和存储介质 - Google Patents
一种数据压缩、解压方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113157655A CN113157655A CN202010075840.XA CN202010075840A CN113157655A CN 113157655 A CN113157655 A CN 113157655A CN 202010075840 A CN202010075840 A CN 202010075840A CN 113157655 A CN113157655 A CN 113157655A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- compressed
- compression
- data block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013144 data compression Methods 0.000 title claims abstract description 30
- 230000006837 decompression Effects 0.000 title claims abstract description 29
- 238000007906 compression Methods 0.000 claims abstract description 180
- 230000006835 compression Effects 0.000 claims abstract description 177
- 230000011218 segmentation Effects 0.000 claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
本申请实施例提供了一种数据压缩、解压方法、装置、电子设备和存储介质,所述方法包括:获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。本申请实施例可以实现根据压缩参数确定压缩算法,并采用确定的压缩算法对待压缩数据划分的分段压缩数据进行压缩,从而提供一种支持多压缩算法的压缩数据的方法。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据压缩、解压方法、装置、电子设备和存储介质。
背景技术
在科学计算环境中,常常需要在计算机上存储或者在计算机之间传输大量数据。
数据压缩技术的基本思想是通过对待压缩数据中重复数据用占用空间较少的符号或代码来代替,使得压缩后的数据占用更少的磁盘存储控件或更短的传输时间。
gzip是linux里最流行的压缩格式之一。gzip压缩格式缺点是对于文件局部数据的随机访问,需要对整个文件进行解压缩。stargz是针对tar.gz格式无法随机访问提出的改进压缩格式格式。采用stargz格式对大文件处理时,先将文件切分成若干块,再用tar.gz对各块进行压缩,根据各块的偏移和长度记录索引以实现对文件的随机访问。但是stargz压缩格式在于仅仅是对tar.gz格式的改进,而不支持其他压缩算法。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据压缩、数据解压方法、数据压缩装置、数据解压装置、电子设备和存储介质。
为了解决上述问题,本申请公开了一种数据压缩方法,包括:
获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;
基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。
可选地,所述方法还包括:
确定所述待压缩数据的特征参数;
依据所述特征参数和所述压缩参数,生成头信息。
可选地,所述数据块还具有排序信息;所述方法还包括:
采用所述排序信息和所述大小信息,生成跳转表。
可选地,所述跳转表具有容量信息,所述方法还包括:
确定所述跳转表相对于所述头信息的地址偏移量;
依据所述头信息、所述跳转表的容量信息,以及所述地址偏移量,生成尾注信息。
可选地,所述基于所述压缩参数、所述数据块及其大小信息,生成压缩数据的步骤,包括:
将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
可选地,所述方法还包括:
判断所述压缩算法标识符是否与预设字典算法标识匹配;
若是,则生成与所述待压缩数据匹配的字典信息。
可选地,所述基于所述压缩参数、所述数据块及其大小信息,生成压缩数据的步骤,包括:
将所述头信息、所述字典信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
本申请还公开了一种数据解压方法,包括:
获取压缩数据;所述压缩数据中包括压缩参数和数据块;其中,所述压缩参数包括压缩算法标识符和分段单位;所述数据块为,通过针对分段压缩数据,采用所述压缩算法标识符对应的压缩算法压缩而成,所述分段压缩数据为,按照所述分段单位对待压缩数据进行分段生成;
确定数据读取区间;
根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块;
从所述起始数据块逐个解压至目标数据块,获得目标数据。
可选地,所述数据块具有排序信息;所述读取区间包括:起始位置和数据长度;所述根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块的步骤,包括:
采用所述起始位置与所述分段单位的比值,生成起始排序值;
采用所述起始位置、所述数据长度之和与所述分段单位的比值,生成目标排序值;
确定所述排序信息中,与所述起始排序值对应的起始数据块以及与所述目标排序值对应的目标数据块。
可选地,所述从所述起始数据块逐个解压至目标数据块,获得目标数据的步骤,包括:
确定所述起始数据块相对于所述压缩数据的起始地址偏移量;
确定所述目标数据块相对于所述压缩数据的目标地址偏移量;
从所述起始地址偏移量为起点,逐个针对各数据块进行解压,直所述目标地址偏移量,获得解压后的目标数据。
可选地,所述压缩输数据还包括头信息、字典信息、跳转表和尾注信息;所述跳转表记录有所述数据块的大小信息;所述方法还包括:
依据所述头信息、所述字典信息和所述尾注信息,确定所述排序信息中第一个数据块相对于所述压缩数据的初始地址偏移量;
其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
可选地,所述方法还包括:
对所述目标数据进行去冗余处理。
本申请还公开了一种数据压缩装置,包括:
待压缩数据获取模块,用于获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
分段模块,用于按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
压缩模块,用于采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;
生成模块,用于基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。
可选地,所述装置还包括:
特征参数模块,用于确定所述待压缩数据的特征参数;
头信息模块,用于依据所述特征参数和所述压缩参数,生成头信息。
可选地,所述数据块还具有排序信息;所述装置还包括:
跳转表模块,用于采用所述排序信息和所述大小信息,生成跳转表。
可选地,所述跳转表具有容量信息,所述装置还包括:
地址偏移模块,用于确定所述跳转表相对于所述头信息的地址偏移量;
尾注信息模块,用于依据所述头信息、所述跳转表的容量信息,以及所述地址偏移量,生成尾注信息。
可选地,所述生成模块包括:
第一压缩单元,用于将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
可选地,所述装置还包括:
判断模块,用于判断所述压缩算法标识符是否与预设字典算法标识匹配;
字典模块,用于若压缩算法标识符是否与预设字典算法标识匹配,则生成与所述待压缩数据匹配的字典信息。
可选地,所述生成模块包括:
第二压缩单元,用于将所述头信息、所述字典信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
本申请还公开了一种数据解压装置,包括:
压缩数据获取模块,用于获取压缩数据;所述压缩数据中包括压缩参数和数据块;其中,所述压缩参数包括压缩算法标识符和分段单位;所述数据块为,通过针对分段压缩数据,采用所述压缩算法标识符对应的压缩算法压缩而成,所述分段压缩数据为,按照所述分段单位对待压缩数据进行分段生成;
数据读取区间模块,用于确定数据读取区间;
起止数据块模块,用于根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块;
目标数据模块,用于从所述起始数据块逐个解压至目标数据块,获得目标数据。
可选地,所述数据块具有排序信息;所述读取区间包括:起始位置和数据长度;所述起止数据块模块包括:
起始排序单元,用于采用所述起始位置与所述分段单位的比值,生成起始排序值;
目标排序单元,用于采用所述起始位置、所述数据长度之和与所述分段单位的比值,生成目标排序值;
起止数据单元,用于确定所述排序信息中,与所述起始排序值对应的起始数据块以及与所述目标排序值对应的目标数据块。
可选地,所述目标数据模块包括:
起始偏移单元,用于确定所述起始数据块相对于所述压缩数据的起始地址偏移量;
目标偏移单元,用于确定所述目标数据块相对于所述压缩数据的目标地址偏移量;
解压单元,用于从所述起始地址偏移量为起点,逐个针对各数据块进行解压,直所述目标地址偏移量,获得解压后的目标数据。
可选地,所述压缩输数据还包括头信息、字典信息、跳转表和尾注信息;所述跳转表记录有所述数据块的大小信息;所述装置还包括:
初始偏移模块,用于依据所述头信息、所述字典信息和所述尾注信息,确定所述排序信息中第一个数据块相对于所述压缩数据的初始地址偏移量;
其余偏移模块,用于其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
可选地,所述装置还包括:
冗余模块,用于对所述目标数据进行去冗余处理。
本申请还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一个或多个方法。
本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
本申请实施例包括以下优点:
在本申请数据压缩实施例中,通过在获取待压缩数据和压缩参数后,按照压缩参数中的分段单位将待压缩数据划分成多个分段压缩数据,并采用压缩参数中压缩算法标识符对应的压缩算法对分段压缩数据进行压缩,生成数据块,并依据压缩参数、数据块、以及数据块的大小信息生成压缩数据,从而实现根据压缩参数确定压缩算法,并采用确定的压缩算法对待压缩数据划分的分段压缩数据进行压缩,从而提供一种支持多压缩算法的压缩数据的方法。
在本申请数据解压实施例中,在获取包括数据块的压缩数据,并确定数据读取区间后,能够根据数据读取区间和数据块,确定与数据读取区间对应的起始数据块和目标数据块,并从所述起始数据块逐个解压至目标数据块,从而获得与读取区间对应的目标数据,从而实现在无需对整个压缩数据进行解压缩的前提下,获取与数据读取区间对应的目标数据,避免了现有技术中,需要对整个压缩数据才能读取压缩数据中部分数据,造成数据读取效率低下的问题。
附图说明
图1是本申请的一种数据压缩方法实施例一的步骤流程图;
图2是本申请的一种数据压缩方法实施例二的步骤流程图;
图3是本申请的一种数据压缩方法实施例三的步骤流程图;
图4是本申请的一种数据压缩方法实施例中压缩数据结构图;
图5是本申请的一种数据压缩方法流程图;
图6是本申请的一种数据解压方法实施例的步骤流程图;
图7是本申请的一种数据解压方法流程图;
图8是本申请的一种数据解压方法示意图;
图9是本申请的一种数据压缩装置实施例的结构框图;
图10是本申请的一种数据解压装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种数据压缩方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
在对进行数据压缩之前,先确定需要进行压缩的数据,即待压缩数据。待压缩数据可以包括但不限于文本数据、多媒体数据、可执行文件等,本申请实施例对待压缩数据的文件格式、文件类型不作限定。
确定待压缩数据后,需要确定针对待压缩数据的压缩算法标识符和分段单位。具体的,可以预先设置多个压缩算法,并设置与压缩算法对应的压缩算法标识符。
步骤102,按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
分段单位可以是指定的数据大小,对待压缩数据分成多个分段压缩数据,每一个分段压缩数据与分段单位的大小相同。例如:分段单位是64KB(Kilobyte,千字节),待压缩数据是一个大小为6400KB的数据,则可以采用该分段单位,将待压缩数据划分为100个大小为64KB的分段压缩数据。针对于不能等分的待压缩数据,可以将待压缩数据划分成N个与分段单位相同的分段压缩数据后,将剩余的小于分段单位的数据也确定为待分段压缩数据。例如:分段单位为64KB,待压缩数据为6355KB,则可以将待压缩数据划分为99个64KB分段压缩数据后,划分出一个19KB的分段压缩数据。
步骤103,采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;
采用压缩参数中的压缩算法标识符,在多个预置的压缩算法中确定目标压缩算法。并采用目标压缩算法将分段压缩数据压缩成数据块。以及记录各个压缩块的大小信息,大小信息为各个压缩块对应的占用的数据存储空间的大小。
步骤104,基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。
压缩数据中包括有压缩参数、数据块以及数据块的大小信息和排序信息。
在本申请实施例中,通过在获取待压缩数据和压缩参数后,按照压缩参数中的分段单位将待压缩数据划分成多个分段压缩数据,并采用压缩参数中压缩算法标识符对应的压缩算法对分段压缩数据进行压缩,生成数据块,并依据压缩参数、数据块、以及数据块的大小信息生成压缩数据,从而实现根据压缩参数确定压缩算法,并采用确定的压缩算法对待压缩数据划分的分段压缩数据进行压缩,从而提供一种支持多压缩算法的压缩数据的方法。
参照图2,示出了本申请的一种数据压缩方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤201,获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
步骤202,确定所述待压缩数据的特征参数;
特征参数可以包括但不限于幻数、待压缩数据的类型。
步骤203,依据所述特征参数和所述压缩参数,生成头信息。
所述压缩参数可以还包括压缩等级、字典使用标识、字典信息的大小信息等。根据字典使用标识可以确定当前压缩算法是否使用了字典信息。
在实际应用中,头信息还记录对应其大小信息以及预留信息。在优选可选实施例中,头信息默认设置为512字节。
步骤204,按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
步骤205,采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息及排序信息;
其中,数据块的排序信息与分段压缩数据位于待压缩数据的排序对应。
步骤206,采用所述排序信息和所述大小信息,生成跳转表。
采用跳转表记录各个数据块的排序信息和大小信息,其中,可以通过对数据库设置数据块标识,并且数据块标识从小到大排序,从而实现根据数据块标识与其排序信息对应。例如,按照数据块的排序信息,依次生成0、1、2、3···的数据块标识。
其中,所述跳转表具有容量信息,跳转表的容量信息为跳转表占用的存储空间。
步骤207,确定所述跳转表相对于所述头信息的地址偏移量;
可以理解的是,***(例如:文件***)在存储数据时,数据均映射于存储介质(例如:磁盘)的某一段地址。
地址偏移量为头信息的起始地址与跳转表的起始地址之间的地址差值。
步骤208,依据所述头信息、所述跳转表容量信息,以及所述地址偏移量,生成尾注信息。
通过在将头信息、跳转表的容量信息以及地址偏移量生成尾注信息,从而可以通过读取尾注信息,读取跳转表在存储介质的映射地址从而获取跳转表记载的数据块的排序信息和大小信息。
步骤209,将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
依次头信息、数据块、跳转表、尾注信息进行封装,从而生成压缩数据。
参照图3,示出了本申请的一种数据压缩方法实施例三的步骤流程图,具体可以包括如下步骤:
步骤301,获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
步骤302,判断所述压缩算法标识符是否与预设字典算法标识匹配;
预设字典算法标识为在压缩过程需要用到字典的一个或多个压缩算法标识符。当压缩算法标识符与预设字典算法标识中的任一个压缩算法标识符一致时,则确定该压缩算法标识符与预设字典格式匹配,则判断压缩过程需要字典信息。
若所述压缩算法标识符与预设字典算法标识匹配,则执行步骤303~步骤310,以及步骤312。
若所述压缩算法标识符与预设字典算法标识不匹配,则执行步骤304~步骤311。
步骤303,生成与所述待压缩数据匹配的字典信息。
扫描待压缩数据,生成与待压缩数据匹配的字典信息。字典信息存储有待压缩数据中具有指定特征且重复的内容。与字典算法标识匹配的压缩算法(例如:Lempel-Ziv)能够根据字典信息对待压缩数据进行压缩,其中,字典信息越大,对待压缩数据的压缩比越高。
步骤304,确定所述待压缩数据的特征参数;
步骤305,依据所述特征参数和所述压缩参数,生成头信息。
当生成有字典信息时,头信息中还记载有字典信息的空间占用量(即大字典信息的大小信息)。
步骤306,按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
步骤307,采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息及排序信息;
步骤308,采用所述排序信息和所述大小信息,生成跳转表,其中,所述跳转表具有容量信息。
步骤309,确定所述跳转表相对于所述头信息的地址偏移量;
步骤310,依据所述头信息、所述跳转表容量信息,以及所述地址偏移量,生成尾注信息。
步骤311,将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
步骤312,将所述头信息、所述字典信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
参照图4,示出了本申请实施例中压缩数据的数据结构图。
压缩数据由依次将头信息、字典信息、数据块、跳转表和尾注信息进行封装而成。
压缩数据主要包括:头信息(Header)、字典信息(Dictonary)、数据块(Block)、跳转表(Jump Table)和尾注信息(Trailer)。
头信息和尾注信息可以均包括:MAGIC0(第一幻数)、MAGIC1(第二幻数)、Size(头信息的大小信息)、Flags(待压缩数据类型)、Jump table offset(跳转表地址偏移量)、Jump table size(跳转表容量信息)、Raw data size(实际压缩的分段压缩数据总的大小信息)、Reserved1(第一预留空间)、Block size(分段单位)、Algorithm(压缩算法标识符)、Level(压缩等级)、Use dict(字典使用标识)、Reserved2(第二预留空间)、Dict size(字典信息的大小信息)、Empty block(空闲数据区间)。
如表1所示,头信息和尾注信息中包括多个字段名,每个字段名对应占用不同的空间容量大小(以字节为单位),以及字段名对应信息的作用。其中,“Y”头信息或者尾注信息中的必要字段名,“N代表”头信息或者尾注信息中的非必要字段名。
表1
如表2,示出了Algorithm(压缩算法标识符)为不同值下对应的压缩算法。
算法名 | 对应值 |
miniLZO | 0 |
LZ4 | 1 |
ZSTD | 2 |
zlib | 3 |
表2
例如:当Algorithm的值为1时,则代表采用LZ4算法对待压缩
以下以一个示例对本申请实施例做进一步说明:
参照图5,示出了本申请的一种数据压缩方法流程图,具体的,数据压缩方法过程包括:
1)首先根据选择的压缩算法,压缩块大小,是否使用字典等参数生成不同的头信息。若需要字典,则会对原始文件(待压缩数据)先进行一次扫描生成字典信息。
2)从头开始按块大小(分段单位)读取原始文件并压缩,将压缩后的块大小(数据块的大小信息)计入跳转表。
3)在完成对原始文件压缩后,生成尾注信息。
4)生成输出文件(压缩数据),输出文件写入顺序为头信息、字典信息、数据块、跳转表和尾注信息。
参照图6,示出了本申请的一种数据解压方法实施例的步骤流程图;本申请实施例具体可以包括如下步骤:
步骤601,获取压缩数据;所述压缩数据中包括压缩参数和数据块;其中,所述压缩参数包括压缩算法标识符和分段单位;所述数据块为,通过针对分段压缩数据,采用所述压缩算法标识符对应的压缩算法压缩而成,所述分段压缩数据为,按照所述分段单位对待压缩数据进行分段生成;
步骤602,确定数据读取区间;
可以在读取数据时,确定数据读取区间,所述数据读取区间为待压缩数据中的某一段数据。
步骤603,根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块;
由于数据读取区间与待压缩数据对应,通过数据读取区间的两个端点位置和分段单位,可以确定与数据读取区间两个端点位置对应的分段压缩数据。进一步地,通过对应的分段压缩数据,可以确定与数据读取区间端点位置对应的起始数据块和目标数据块。通过起始数据块和目标数据块,可以确定与数据读取区间对应的数据块。
步骤604,从所述起始数据块逐个解压至目标数据块,获得目标数据。
从起始数据块开始,对数据读取区间对应的数据块进行解压,直至解压目标数据块,从而获得与读取区间对应的目标数据,目标数据为待压缩数据中与数据读取区间对应的数据。
在本申请实施例中,在获取包括数据块的压缩数据,并确定数据读取区间后,能够根据数据读取区间,确定与数据读取区间对应的起始数据块和目标数据块,并从所述起始数据块逐个解压至目标数据块,从而获得与读取区间对应的目标数据,从而实现在无需对整个压缩数据进行解压缩的前提下,获取与数据读取区间对应的目标数据,避免了现有技术中,需要对整个压缩数据才能读取压缩数据中部分数据,造成数据读取效率低下的问题。
在本申请的一种可选实施例中,所述压缩输数据还包括头信息、字典信息、跳转表和尾注信息;所述跳转表记录有所述数据块的大小信息;在步骤603之前,所述方法还包括:依据所述头信息、所述字典信息和所述尾注信息,确定所述排序信息中第一个数据块相对于所述压缩数据的初始地址偏移量;其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
由于头信息、字典信息、尾注信息记录有其对应的空间占用量,例如:头信息的空间占用量512字节,并且压缩数据由头信息、字典信息、数据库、跳转表、尾注信息依次封装而成,则排序信息中第一个数据块相对于压缩数据的地址偏移量为头信息与字典信息占用的数据大小之和。跳转表中记录有各个数据块对应的大小信息,则其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
例如:排序信息中的第一个数据块的地址偏移量为block_offset[0]=header_size+dict_size,block_offset[1]=block_offset[0]+jump_table[0],其中,block_offset[0]为第一个数据块的地址偏移量,header_size为头信息的空间占用量,dict_size为字典信息的空间占用量,jump[0]为第一个数据块的大小信息。
可以理解的是,当生成压缩数据采用的压缩算法没有使用字典时,压缩数据也不包含字典信息,即压缩数据可以由头信息、数据库、跳转表和尾注信息封装而成,此时,第一个数据块相对于压缩数据的地址偏移量则不包含字典信息占用的数据存储空间
在本申请的一种可选实施例中,所述数据块具有排序信息;所述读取区间包括:起始位置和数据长度;所述步骤603可以包括:
子步骤S31采用所述起始位置与所述分段单位的比值,生成起始排序值;
采用所述起始位置和所述分段单位的比值,可以确定起始位置对应的分段压缩数据在待压缩数据中的次序,进一步的,生成与该次序对应的起始排序值。
子步骤S32,采用所述起始位置、所述数据长度之和与所述分段单位的比值,生成目标排序值;
采用所述起始位置和数据长度之和可以得出数据读取区间终点位置,终点位置和分段单位的比值,可以确定终点位置对应的分段压缩数据在待压缩数据中的次序,进一步的,生成与该次序对应的目标排序值。
其中,在待压缩数据中对应于数据读取区间的部分数据,为起始位置与终点位置所在分段压缩数据,以及起始位置与终点位置之间的分段压缩数据。
子步骤S33,确定所述排序信息中,与所述起始排序值对应的起始数据块以及与所述目标排序值对应的目标数据块。
由于排序信息与数据块对应,根据起始排序值可以确定与起始位置对应的分段压缩数据对应的起始数据块,以及根据目标排序值可以确定与终点位置对应的分段压缩数据对应的目标数据块。
在本申请的一种可选实施例中,所述步骤604可以包括:
子步骤S41,确定所述起始数据块相对于所述压缩数据的起始地址偏移量;
在确定各个数据块的地址偏移量之后,可以通过起始数据块在排序信息中的排序位置,确定所述起始数据块相对于所述压缩数据的起始地址偏移量。
子步骤S42,确定所述目标数据块相对于所述压缩数据的目标地址偏移量;
可以通过目标数据块在排序信息中的排序位置,确定所述目标数据块相对于所述压缩数据的目标地址偏移量。
子步骤S43,从所述起始地址偏移量为起点,逐个针对各数据块进行解压,直所述目标地址偏移量,获得解压后的目标数据。
从所述起始地址偏移量开始,依次解压各个数据块,直至完成对目标地址偏移量对应的数据块的解压,得到目标数据。
头信息和尾注信息中记录有与生成压缩数据时采用的压缩算法标识对应的压缩算法标识符,在对压缩数据进行解压缩时,则按照与头信息和尾注信息中记录的压缩算法标识符对应的压缩算法对数据块进行解压缩。
进一步地,生成压缩数据时采用的压缩算法生成了字典信息,则在执行步骤604时,先读取压缩数据中的字典信息,然后采用头信息和尾注信息中记录的压缩算法标识符对应的压缩算法对数据块进行解压缩。
在本申请的一种可选实施例中,在步骤604之后,所述方法还包括:对所述目标数据进行去冗余处理。
在实际应用中,起始数据块和目标数据块中可能包含有无效数据,可以对目标数据进行去冗余处理,从而保留目标数据中与数据读取区间一致的有效数据,提高目标数据的准确性。
以下,以一个示例对本申请实施例作进一步说明:
参照图7,是一种数据解压方法流程图。
需要说明的是,在具体读取数据块之前,可以读取压缩数据中的头信息和尾注信息确定压缩算法、块大小、字典大小等参数。
再根据压缩数据中的跳转表可以快速确定每一个压缩块的相对于头信息的地址偏移量;其中,所述数据块的排序信息为从0开始,步长为1的递增信息,即按照0、1、2、3····N的顺序,对数据块的排序进行标识。
block_offset[0]=512+dict_size;
block_offset[i]=block_offset[i-1]+jump_table[i-1],(i>0);
其中,block_offset[i]对应于排序信息的各个数据块的相对于头信息的地址偏移量,jump_table[i]为数据块对应的数据大小。
确定数据读取区间为[offset,offset+length),即数据读取区间的起始位置为offset,数据长度为length,具体数据解压流程包括如下步骤:
1)根据block size(分段单位)可以确定读取区间的起始快号和终止块号start_id=begin/block_size,end_id=end/block_size。具体地,对start_id、和end_id得到的结果进行向下取整。
2)根据block_offset[i]可以确定起始块(起始数据块)和终止块(目标数据块)相对于头信息的地址偏移量,然后从block_offset[start_id]至block_offset[end_id],依次读取每个数据块并进行解压缩。
3)对于起始块和终止块,可能会有部分冗余数据是不在[offset,offset+length)这个区间的,则去除冗余数据。具体地,对于起始块Block[start_id],该块起始位置对应原始未压缩文件的偏移量为begin1=start_id*block_size,当begin 1<offset时,起始块中0到offset-begin1字节的数据为第一冗余数据。对于终止块Block[end_id],该块起始位置对应原始未压缩文件的偏移量begin2=end_id*block_size,终止块中从offset+length-begin2到块末尾的数据为第二冗余数据。
以下以另一示例对本申请实施例作进一步说明:
参照图8,是一种数据解压方法示意图。
确定数据读取区间为[6KB,13KB),即数据读取区间的起始位置为6K,数据长度为7K,具体数据解压流程包括如下步骤:
2)根据block_offset[i]可以确定起始块Block1(起始数据块)和终止块Block3(目标数据块)相对于头信息的地址偏移量,然后从block_offset[1]至block_offset[3],依次读取每个数据块并进行解压缩。
3)对于起始块和终止块,可能会有部分冗余数据是不在[6KB,13KB)这个区间的,则去除冗余数据。具体地,对于起始块Block1,该块起始位置对应原始未压缩文件的偏移量为begin1=1*4KB。由于begin 1<offset,起始块中0到2KB字节的数据为第一冗余数据(discard1)。对于终止块Block3,该块起始位置对应原始未压缩文件的偏移量begin2=3*4KB,终止块中从1KB到块末尾的数据为第二冗余数据(discard2),从而得到有效数据(Valid DATA)。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图9,示出了本申请的一种数据压缩装置实施例的结构框图,具体可以包括如下模块:
待压缩数据获取模块901,用于获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
分段模块902,用于按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
压缩模块903,用于采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;
生成模块904,用于基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。
在本申请的一种可选实施例中,所述装置还包括:
特征参数模块,用于确定所述待压缩数据的特征参数;
头信息模块,用于依据所述特征参数和所述压缩参数,生成头信息。
在本申请的一种可选实施例中,所述数据块还具有排序信息;所述装置还包括:
跳转表模块,用于采用所述排序信息和所述大小信息,生成跳转表。
在本申请的一种可选实施例中,所述跳转表具有容量信息,所述装置还包括:
地址偏移模块,用于确定所述跳转表相对于所述头信息的地址偏移量;
尾注信息模块,用于依据所述头信息、所述跳转表的容量信息,以及所述地址偏移量,生成尾注信息。
在本申请的一种可选实施例中,所述生成模块904包括:
第一压缩单元,用于将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
在本申请的一种可选实施例中,所述装置还包括:
判断模块,用于判断所述压缩算法标识符是否与预设字典算法标识匹配;
字典模块,用于若压缩算法标识符是否与预设字典算法标识匹配,则生成与所述待压缩数据匹配的字典信息。
在本申请的一种可选实施例中,所述生成模块904包括:
第二压缩单元,用于将所述头信息、所述字典信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
参照图10,示出了本申请的一种数据解压装置实施例的结构框图,具体可以包括如下模块:
压缩数据获取模块1001,用于获取压缩数据;所述压缩数据中包括压缩参数和数据块;其中,所述压缩参数包括压缩算法标识符和分段单位;所述数据块为,通过针对分段压缩数据,采用所述压缩算法标识符对应的压缩算法压缩而成,所述分段压缩数据为,按照所述分段单位对待压缩数据进行分段生成;
数据读取区间模块1002,用于确定数据读取区间;
起止数据块模块1003,用于根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块;
目标数据模块1004,用于从所述起始数据块逐个解压至目标数据块,获得目标数据。
在本申请的一种可选实施例中,所述数据块具有排序信息;所述读取区间包括:起始位置和数据长度;所述起止数据块模块1003包括:
起始排序单元,用于采用所述起始位置与所述分段单位的比值,生成起始排序值;
目标排序单元,用于采用所述起始位置、所述数据长度之和与所述分段单位的比值,生成目标排序值;
起止数据单元,用于确定所述排序信息中,与所述起始排序值对应的起始数据块以及与所述目标排序值对应的目标数据块。
在本申请的一种可选实施例中,所述目标数据模块1004包括:
起始偏移单元,用于确定所述起始数据块相对于所述压缩数据的起始地址偏移量;
目标偏移单元,用于确定所述目标数据块相对于所述压缩数据的目标地址偏移量;
解压单元,用于从所述起始地址偏移量为起点,逐个针对各数据块进行解压,直所述目标地址偏移量,获得解压后的目标数据。
在本申请的一种可选实施例中,所述压缩输数据还包括头信息、字典信息、跳转表和尾注信息;所述跳转表记录有所述数据块的大小信息;所述装置还包括:
初始偏移模块,用于依据所述头信息、所述字典信息和所述尾注信息,确定所述排序信息中第一个数据块相对于所述压缩数据的初始地址偏移量;
其余偏移模块,用于其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
在本申请的一种可选实施例中,所述装置还包括:
冗余模块,用于对所述目标数据进行去冗余处理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一个或多个方法。
本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一个或多个方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数据压缩、数据解压方法、数据压缩装置、数据解压装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (26)
1.一种数据压缩方法,包括:
获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;
基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。
2.根据权利要求1所述的方法,所述方法还包括:
确定所述待压缩数据的特征参数;
依据所述特征参数和所述压缩参数,生成头信息。
3.根据权利要求2所述的方法,所述数据块还具有排序信息;所述方法还包括:
采用所述排序信息和所述大小信息,生成跳转表。
4.根据权利要求3所述的方法,所述跳转表具有容量信息,所述方法还包括:
确定所述跳转表相对于所述头信息的地址偏移量;
依据所述头信息、所述跳转表的容量信息,以及所述地址偏移量,生成尾注信息。
5.根据权利要求3所述的方法,所述基于所述压缩参数、所述数据块及其大小信息,生成压缩数据的步骤,包括:
将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
6.根据权利要求4所述的方法,所述方法还包括:
判断所述压缩算法标识符是否与预设字典算法标识匹配;
若是,则生成与所述待压缩数据匹配的字典信息。
7.根据权利要求4所述的方法,所述基于所述压缩参数、所述数据块及其大小信息,生成压缩数据的步骤,包括:
将所述头信息、所述字典信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
8.一种数据解压方法,包括:
获取压缩数据;所述压缩数据中包括压缩参数和数据块;其中,所述压缩参数包括压缩算法标识符和分段单位;所述数据块为,通过针对分段压缩数据,采用所述压缩算法标识符对应的压缩算法压缩而成,所述分段压缩数据为,按照所述分段单位对待压缩数据进行分段生成;
确定数据读取区间;
根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块;
从所述起始数据块逐个解压至目标数据块,获得目标数据。
9.根据权利要求8所述的方法,所述数据块具有排序信息;所述读取区间包括:起始位置和数据长度;所述根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块的步骤,包括:
采用所述起始位置与所述分段单位的比值,生成起始排序值;
采用所述起始位置、所述数据长度之和与所述分段单位的比值,生成目标排序值;
确定所述排序信息中,与所述起始排序值对应的起始数据块以及与所述目标排序值对应的目标数据块。
10.根据权利要求9所述的方法,所述从所述起始数据块逐个解压至目标数据块,获得目标数据的步骤,包括:
确定所述起始数据块相对于所述压缩数据的起始地址偏移量;
确定所述目标数据块相对于所述压缩数据的目标地址偏移量;
从所述起始地址偏移量为起点,逐个针对各数据块进行解压,直所述目标地址偏移量,获得解压后的目标数据。
11.根据权利要求9或10所述的方法,所述压缩输数据还包括头信息、字典信息、跳转表和尾注信息;所述跳转表记录有所述数据块的大小信息;所述方法还包括:
依据所述头信息、所述字典信息和所述尾注信息,确定所述排序信息中第一个数据块相对于所述压缩数据的初始地址偏移量;
其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
12.根据权利要求8-10任一项所述的方法,还包括:
对所述目标数据进行去冗余处理。
13.一种数据压缩装置,包括:
待压缩数据获取模块,用于获取待压缩数据以及压缩参数;所述压缩参数包括压缩算法标识符和分段单位;
分段模块,用于按照所述分段单位对所述待压缩数据进行分段,生成多个分段压缩数据;
压缩模块,用于采用所述压缩算法标识符对应的压缩算法,将所述分段压缩数据压缩成多个数据块;所述数据块具有大小信息;
生成模块,用于基于所述压缩参数、所述数据块及其大小信息,生成压缩数据。
14.根据权利要求13所述的装置,所述装置还包括:
特征参数模块,用于确定所述待压缩数据的特征参数;
头信息模块,用于依据所述特征参数和所述压缩参数,生成头信息。
15.根据权利要求14所述的装置,所述数据块还具有排序信息;所述装置还包括:
跳转表模块,用于采用所述排序信息和所述大小信息,生成跳转表。
16.根据权利要求15所述的装置,所述跳转表具有容量信息,所述装置还包括:
地址偏移模块,用于确定所述跳转表相对于所述头信息的地址偏移量;
尾注信息模块,用于依据所述头信息、所述跳转表的容量信息,以及所述地址偏移量,生成尾注信息。
17.根据权利要求15所述的装置,所述生成模块包括:
第一压缩单元,用于将所述头信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
18.根据权利要求16所述的装置,所述装置还包括:
判断模块,用于判断所述压缩算法标识符是否与预设字典算法标识匹配;
字典模块,用于若压缩算法标识符是否与预设字典算法标识匹配,则生成与所述待压缩数据匹配的字典信息。
19.根据权利要求16所述的装置,所述生成模块包括:
第二压缩单元,用于将所述头信息、所述字典信息、所述数据块、所述跳转表以及所述尾注信息,封装成压缩数据。
20.一种数据解压装置,包括:
压缩数据获取模块,用于获取压缩数据;所述压缩数据中包括压缩参数和数据块;其中,所述压缩参数包括压缩算法标识符和分段单位;所述数据块为,通过针对分段压缩数据,采用所述压缩算法标识符对应的压缩算法压缩而成,所述分段压缩数据为,按照所述分段单位对待压缩数据进行分段生成;
数据读取区间模块,用于确定数据读取区间;
起止数据块模块,用于根据所述数据读取区间和所述分段单位,确定起始数据块和目标数据块;
目标数据模块,用于从所述起始数据块逐个解压至目标数据块,获得目标数据。
21.根据权利要求20所述的装置,所述数据块具有排序信息;所述读取区间包括:起始位置和数据长度;所述起止数据块模块包括:
起始排序单元,用于采用所述起始位置与所述分段单位的比值,生成起始排序值;
目标排序单元,用于采用所述起始位置、所述数据长度之和与所述分段单位的比值,生成目标排序值;
起止数据单元,用于确定所述排序信息中,与所述起始排序值对应的起始数据块以及与所述目标排序值对应的目标数据块。
22.根据权利要求21所述的装置,所述目标数据模块包括:
起始偏移单元,用于确定所述起始数据块相对于所述压缩数据的起始地址偏移量;
目标偏移单元,用于确定所述目标数据块相对于所述压缩数据的目标地址偏移量;
解压单元,用于从所述起始地址偏移量为起点,逐个针对各数据块进行解压,直所述目标地址偏移量,获得解压后的目标数据。
23.根据权利要求21或22所述的装置,所述压缩输数据还包括头信息、字典信息、跳转表和尾注信息;所述跳转表记录有所述数据块的大小信息;所述装置还包括:
初始偏移模块,用于依据所述头信息、所述字典信息和所述尾注信息,确定所述排序信息中第一个数据块相对于所述压缩数据的初始地址偏移量;
其余偏移模块,用于其余数据块的地址偏移量为其大小信息与前一个数据块的地址偏移量之和。
24.根据权利要求20-22任一项所述的装置,还包括:
冗余模块,用于对所述目标数据进行去冗余处理。
25.一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7或8至12中所述的一个或多个方法。
26.一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7或8至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075840.XA CN113157655B (zh) | 2020-01-22 | 2020-01-22 | 一种数据压缩、解压方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075840.XA CN113157655B (zh) | 2020-01-22 | 2020-01-22 | 一种数据压缩、解压方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157655A true CN113157655A (zh) | 2021-07-23 |
CN113157655B CN113157655B (zh) | 2024-07-16 |
Family
ID=76882034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010075840.XA Active CN113157655B (zh) | 2020-01-22 | 2020-01-22 | 一种数据压缩、解压方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157655B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507728A (zh) * | 2021-09-10 | 2021-10-15 | 成都特维思科技有限公司 | 一种加快数字信息传输速度的传输方法 |
CN113659993A (zh) * | 2021-08-17 | 2021-11-16 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
CN114296643A (zh) * | 2021-12-16 | 2022-04-08 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
CN114547027A (zh) * | 2022-02-11 | 2022-05-27 | 清华大学 | 容量和价值约束的数据压缩处理方法、装置及存储介质 |
CN115277871A (zh) * | 2022-07-18 | 2022-11-01 | 深圳市正浩创新科技股份有限公司 | 数据传输方法、数据解析方法、电子设备及存储介质 |
CN115643310A (zh) * | 2022-09-26 | 2023-01-24 | 建信金融科技有限责任公司 | 一种压缩数据的方法、装置和*** |
CN117708071A (zh) * | 2024-02-06 | 2024-03-15 | 苔花科迈(西安)信息技术有限公司 | 基于大数据的煤矿设备运行参数的处理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06161842A (ja) * | 1992-11-20 | 1994-06-10 | Melco:Kk | 外部記憶装置およびこれを用いたコンピュータ |
JP2000338973A (ja) * | 1994-09-17 | 2000-12-08 | Victor Co Of Japan Ltd | 演奏情報圧縮方法、演奏情報伸張方法及び演奏情報伝送方法 |
US20060184505A1 (en) * | 2004-04-26 | 2006-08-17 | Storewiz, Inc. | Method and system for compression of files for storage and operation on compressed files |
US20090037447A1 (en) * | 2007-07-31 | 2009-02-05 | Shanmugasundaram Ravikumar | Mail Compression Scheme with Individual Message Decompressability |
CN101442540A (zh) * | 2008-12-30 | 2009-05-27 | 北京畅讯信通科技有限公司 | 基于现场可编程门阵列的高速模式匹配算法 |
CN103207970A (zh) * | 2013-04-28 | 2013-07-17 | 北京奇虎科技有限公司 | 病毒文件扫描方法及装置 |
CN103853849A (zh) * | 2014-03-28 | 2014-06-11 | 龚如宾 | 高压缩可回流文件的建立和绘制方法 |
CN106656200A (zh) * | 2016-12-13 | 2017-05-10 | 合肥工业大学 | 一种程序计数器压缩方法及其硬件电路 |
WO2019205963A1 (zh) * | 2018-04-27 | 2019-10-31 | 人和未来生物科技(长沙)有限公司 | 基因测序质量行数据压缩预处理、解压还原方法及*** |
-
2020
- 2020-01-22 CN CN202010075840.XA patent/CN113157655B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06161842A (ja) * | 1992-11-20 | 1994-06-10 | Melco:Kk | 外部記憶装置およびこれを用いたコンピュータ |
JP2000338973A (ja) * | 1994-09-17 | 2000-12-08 | Victor Co Of Japan Ltd | 演奏情報圧縮方法、演奏情報伸張方法及び演奏情報伝送方法 |
US20060184505A1 (en) * | 2004-04-26 | 2006-08-17 | Storewiz, Inc. | Method and system for compression of files for storage and operation on compressed files |
US20090037447A1 (en) * | 2007-07-31 | 2009-02-05 | Shanmugasundaram Ravikumar | Mail Compression Scheme with Individual Message Decompressability |
CN101442540A (zh) * | 2008-12-30 | 2009-05-27 | 北京畅讯信通科技有限公司 | 基于现场可编程门阵列的高速模式匹配算法 |
CN103207970A (zh) * | 2013-04-28 | 2013-07-17 | 北京奇虎科技有限公司 | 病毒文件扫描方法及装置 |
CN103853849A (zh) * | 2014-03-28 | 2014-06-11 | 龚如宾 | 高压缩可回流文件的建立和绘制方法 |
CN106656200A (zh) * | 2016-12-13 | 2017-05-10 | 合肥工业大学 | 一种程序计数器压缩方法及其硬件电路 |
WO2019205963A1 (zh) * | 2018-04-27 | 2019-10-31 | 人和未来生物科技(长沙)有限公司 | 基因测序质量行数据压缩预处理、解压还原方法及*** |
Non-Patent Citations (2)
Title |
---|
宗家冰;: "基于Java的大数据压缩研究", 数码世界, no. 01, 1 January 2017 (2017-01-01) * |
祝君;林庆农;徐造林;: "实时历史数据库中压缩技术的并行化研究", 计算机技术与发展, no. 07, 10 July 2010 (2010-07-10) * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113659993A (zh) * | 2021-08-17 | 2021-11-16 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
CN113659993B (zh) * | 2021-08-17 | 2022-06-17 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
CN113507728A (zh) * | 2021-09-10 | 2021-10-15 | 成都特维思科技有限公司 | 一种加快数字信息传输速度的传输方法 |
CN114296643A (zh) * | 2021-12-16 | 2022-04-08 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
CN114547027A (zh) * | 2022-02-11 | 2022-05-27 | 清华大学 | 容量和价值约束的数据压缩处理方法、装置及存储介质 |
CN114547027B (zh) * | 2022-02-11 | 2023-01-31 | 清华大学 | 容量和价值约束的数据压缩处理方法、装置及存储介质 |
CN115277871A (zh) * | 2022-07-18 | 2022-11-01 | 深圳市正浩创新科技股份有限公司 | 数据传输方法、数据解析方法、电子设备及存储介质 |
CN115277871B (zh) * | 2022-07-18 | 2024-07-19 | 深圳市正浩创新科技股份有限公司 | 数据传输方法、数据解析方法、电子设备及存储介质 |
CN115643310A (zh) * | 2022-09-26 | 2023-01-24 | 建信金融科技有限责任公司 | 一种压缩数据的方法、装置和*** |
CN117708071A (zh) * | 2024-02-06 | 2024-03-15 | 苔花科迈(西安)信息技术有限公司 | 基于大数据的煤矿设备运行参数的处理方法及装置 |
CN117708071B (zh) * | 2024-02-06 | 2024-05-28 | 苔花科迈(西安)信息技术有限公司 | 基于大数据的煤矿设备运行参数的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113157655B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113157655B (zh) | 一种数据压缩、解压方法、装置、电子设备和存储介质 | |
CN106570018B (zh) | 序列化与反序列化的方法、装置、***以及电子设备 | |
US5305295A (en) | Efficient method and apparatus for access and storage of compressed data | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
US10972569B2 (en) | Apparatus, method, and computer program product for heterogenous compression of data streams | |
CN109802684B (zh) | 进行数据压缩的方法和装置 | |
CN108108394B (zh) | Apfs文件***的压缩文件恢复方法及存储介质 | |
EP2425403A1 (en) | A data file having more than one mode of operation | |
JP4233564B2 (ja) | データ処理装置、データ処理用のプログラムおよび記録媒体 | |
CN110019347B (zh) | 一种区块链的数据处理方法、装置及终端设备 | |
CN112131202B (zh) | 一种分布式文件存储和读取方法、终端设备及存储介质 | |
CN106293542B (zh) | 一种文件解压缩的方法及装置 | |
CN111078753B (zh) | 基于HBase数据库的时序数据的存储方法及装置 | |
CN115765754A (zh) | 一种数据编码方法及一种编码数据比较方法 | |
US20220199202A1 (en) | Method and apparatus for compressing fastq data through character frequency-based sequence reordering | |
CN108874891B (zh) | 一种便于家庭云盘文件阅览的方法 | |
CN112905546A (zh) | 已删除文件的恢复方法、装置、设备及存储介质 | |
CN113505153A (zh) | 一种基于iOS***的备忘录备份方法和相关设备 | |
US10037148B2 (en) | Facilitating reverse reading of sequentially stored, variable-length data | |
CN112579546B (zh) | 文件压缩方法、***、存储介质及终端 | |
US9852143B2 (en) | Enabling random access within objects in zip archives | |
CN114138552B (zh) | 数据动态重删方法、***、终端及存储介质 | |
CN117687977A (zh) | 文件去重方法、装置及***、电子设备、计算机存储介质 | |
CN111008301B (zh) | 一种以图搜视频的方法 | |
CN118012656A (zh) | 损坏pdf文档修复方法、装置、设备及存储介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056503 Country of ref document: HK |
|
GR01 | Patent grant |