CN111723053A - 一种数据的压缩方法及装置、解压方法及装置 - Google Patents
一种数据的压缩方法及装置、解压方法及装置 Download PDFInfo
- Publication number
- CN111723053A CN111723053A CN202010590219.7A CN202010590219A CN111723053A CN 111723053 A CN111723053 A CN 111723053A CN 202010590219 A CN202010590219 A CN 202010590219A CN 111723053 A CN111723053 A CN 111723053A
- Authority
- CN
- China
- Prior art keywords
- data
- compressed
- original
- block
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013144 data compression Methods 0.000 title claims abstract description 28
- 230000006837 decompression Effects 0.000 title abstract description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 13
- 230000006835 compression Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
-
- 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)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供了一种数据的压缩方法及装置、解压方法及装置,包括:将原始数据划分成多个待压缩数据块,每一个待压缩数据块按照预设的多个字节进行存储;根据每一个待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;将多个待压缩数据块分别对应的第一压缩数据进行拼接,得到原始数据对应的第二压缩数据,从而减小数据的存储大小,从而节省数据的存储空间,提高数据的存储效率及传输效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据的压缩方法及装置、解压方法及装置。
背景技术
随着工业大数据的蓬勃发展,海量数据应运产生,从而加大了对于数据存储空间的需求,基于此,在进行数据存储时,预先对数据进行处理,能够在相同的存储空间内存储更多数据。
比如,通过对数据进行压缩处理。数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,以提高数据的传输效率,或者,按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。
但是,目前的数据压缩方法大多针对于较大的文件数据进行压缩,对于一些小文件的压缩效果往往不佳。
发明内容
有鉴于此,本申请实施例至少提供一种数据的压缩、解压方法及装置,通过进行数据压缩及解压的过程,减小数据的存储大小,从而节省数据的存储空间,提高数据的存储效率及传输效率。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种数据的压缩方法,所述压缩方法包括:
将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
在一种可能的实施方式中,所述根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据,包括:
根据每一个所述待压缩数据块中非零字节的个数,确定该待压缩数据块对应的子压缩数据;
根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据。
在一种可能的实施方式中,所述根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据,包括:
对该待压缩数据块中非零字节中的目标数据进行排序,得到重排序目标数据;
根据所述子压缩数据对应的第一数据位和所述重排序目标数据对应的第二数据位,确定该待压缩数据块对应的第一压缩数据;其中,所述第一压缩数据中每个字节中包括两个数据位,且每个字节中包括至少一个第二数据位。
在一种可能的实施方式中,所述将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据,包括:
基于所述原始数据中多个所述待压缩数据块的原始顺序,对所述第二压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
在一种可能的实施方式中,所述压缩方法还包括:
采用并行的方式对多个待压缩数据块进行压缩处理,得到所述多个待压缩数据块分别对应的压缩数据。
第二方面,本申请实施例提供一种数据的解压方法,所述解压方法包括:
在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
在一种可能的实施方式中,所述根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据,包括:
对所述第二压缩数据中的目标数据进行排序,得到重排序目标数据;
基于所述第一压缩数据、所述第二压缩数据以及预设的、每个数据块所包含的字节个数,确定所述原始压缩数据对应的解压数据。
第三方面,本申请实施例还提供一种数据的压缩装置,所述压缩装置包括:划分模块、第一确定模块以及拼接模块,其中:
划分模块,用于将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
第一确定模块,用于根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
拼接模块,用于将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
在一种可能的实施方式中,所述第一确定模块包括:
确定单元,用于根据每一个所述待压缩数据块中非零字节的个数,确定该待压缩数据块对应的子压缩数据;
生成单元,用于根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据。
在一种可能的实施方式中,所述生成单元具体用于:
对该待压缩数据块中非零字节中的目标数据进行排序,得到重排序目标数据;
根据所述子压缩数据对应的第一数据位和所述重排序目标数据对应的第二数据位,确定该待压缩数据块对应的第一压缩数据;其中,所述第一压缩数据中每个字节中包括两个数据位,且每个字节中包括至少一个第二数据位。
在一种可能的实施方式中,所述拼接模块具体用于:
基于所述原始数据中多个所述待压缩数据块的原始顺序,对所述第二压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
在一种可能的实施方式中,所述压缩装置还包括:
处理模块,用于采用并行的方式对多个待压缩数据块进行压缩处理,得到所述多个待压缩数据块分别对应的压缩数据。
第四方面,本申请实施例提供一种数据的解压装置,所述解压装置包括:
第二确定模块,用于在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
第三确定模块,用于根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
第四确定模块,用于根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
在一种可能的实施方式中,所述第四确定模块具体用于:
对所述第二压缩数据中的目标数据进行排序,得到重排序目标数据;
基于所述第一压缩数据、所述第二压缩数据以及预设的、每个数据块所包含的字节个数,确定所述原始压缩数据对应的解压数据。
第五方面,本申请实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的数据的压缩方法的步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的数据的压缩方法的步骤。
第七方面,本申请实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第二方面或第二方面中任一种可能的实施方式中所述的数据的解压方法的步骤。
第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第二方面或第二方面中任一种可能的实施方式中所述的数据的解压方法的步骤。
本申请实施例提供的一种数据的压缩方法及装置、解压方法及装置,包括:将原始数据划分成多个待压缩数据块,每一个待压缩数据块按照预设的多个字节进行存储;根据每一个待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;将多个待压缩数据块分别对应的第一压缩数据进行拼接,得到原始数据对应的第二压缩数据,从而减小数据的存储大小,从而节省数据的存储空间,提高数据的存储效率及传输效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种数据的压缩方法的流程图;
图2示出了本申请实施例所提供的一种数据的解压方法的流程图;
图3示出了本申请实施例所提供的一种数据的压缩装置的示意图;
图4示出了本申请实施例所提供的一种数据的压缩装置中第一确定模块的示意图;
图5示出了本申请实施例所提供的另一种数据的压缩装置的示意图;
图6示出了本申请实施例所提供的一种数据的解压装置的示意图;
图7示出了本申请实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,目前的数据压缩方法大多针对于较大的文件数据进行压缩,对于一些小文件的压缩效果往往不佳。
基于上述研究,本公开实施例提供了一种数据的压缩及解压方法,通过进行数据压缩及解压的过程,减小数据的存储大小,从而节省数据的存储空间,提高数据的存储效率及传输效率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据的压缩及解压方法进行详细介绍,本公开实施例所提供的数据的压缩及解压方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该数据的压缩及解压方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为用户设备为例对本公开实施例提供的数据的压缩及解压方法加以说明。
参见图1所示,为本公开实施例提供的数据的压缩方法的流程图,所述方法包括步骤S101~S103,其中:
S101:将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
S102:根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
S103:将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
本公开实施例通过将原始数据划分成多个待压缩数据块,每一个待压缩数据块按照预设的多个字节进行存储;根据每一个待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;将多个待压缩数据块分别对应的第一压缩数据进行拼接,得到原始数据对应的第二压缩数据,从而减小数据的存储大小,从而节省数据的存储空间,提高数据的存储效率及传输效率。
下面分别对上述S101~S103加以详细说明。
一:在上述S101中,在该步骤中,首先需要获取原始数据,并确定该数据中的需要进行处理的字节数。之后,根据实际需求,确定对该数据进行划分的预设的字节,得到若干个数据块,其中,得到数据块的个数=数据块数总字节数÷预设的字节数。
示例性的,若该原始数据共包括64个字节,并确定预设的字节为8字节,由此,可以确定数据块数总字节数64字节÷预设的字节数8字节=数据块个数8个。如表1所示:
表1原始数据
13 | 50 | 00 | 00 | 00 | 00 | 00 | 00 | 68 | F0 | 01 | 00 | 00 | 00 | 00 | 00 |
14 | 52 | 00 | 00 | 00 | 00 | 00 | 00 | 63 | 20 | 00 | 00 | 00 | 00 | 00 | 00 |
23 | 53 | F1 | 00 | 00 | 00 | 00 | 00 | 58 | F4 | 00 | 00 | 00 | 00 | 00 | 00 |
53 | 68 | 40 | 00 | 00 | 00 | 00 | 00 | 79 | A3 | 00 | 00 | 00 | 00 | 00 | 00 |
在这里,原始可以是由工业设备产生的数据按照预设格式直接进行存储的。
二:在上述S102中,针对每一个数据块,对每一个数据块中的各字节数据进行处理,即根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据,具体包括:
根据每一个所述待压缩数据块中非零字节的个数,确定该待压缩数据块对应的子压缩数据;
根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据。
以上述表格为例,在该表格中,除了全部为零的字节之外,都可以称之为非零字节,具体的,以“13 50 00 00 00 00 00 00”为例,其对应的非零字节数为2个,那么就可以确定该待压缩数据块对应第一子压缩数据为2。针对于目标数据,即每一个数据块中的非零字节数据,在上述例子中,该对应的非零字节数据为“13 50”。
为了方便存储过程,对于目标数据还可以包括下述操作,具体包括:
对该待压缩数据块中非零字节中的目标数据进行排序,得到重排序目标数据。
根据所述子压缩数据对应的第一数据位和所述重排序目标数据对应的第二数据位,确定该待压缩数据块对应的第一压缩数据;其中,所述第一压缩数据中每个字节中包括两个数据位,且每个字节中包括至少一个第二数据位。
示例性的,可以对该待压缩数据块中非零字节中的目标数据进行高低位排序,具体的,靠近前端的为高位,靠近后端的为低位,在排序过程中,对高低位进行互换,得到重排序目标数据,在上述例子中为“50 13”。
将第一子压缩数据和重排序目标数据分别添加至对应的第一数据位和对应的第二数据位,确定该待压缩数据块对应的第一压缩数据,该上述示例中为“25 01 3”。
三:在上述S103中,在获得多个第一压缩数据之后,可以其进行拼接,从而得到所述原始数据对应的第二压缩数据。
具体的,基于所述原始数据中多个所述待压缩数据块的原始顺序,对所述第二压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
这里,为了尽可能的减少数据所占的字节数,要保证在拼接过程中,各个第一压缩数据之间不存在空白字节。
通常在数据量较少的情况下,可以采用迭代的方法,依次对每一个数据块进行处理,并进行拼接。在数据量较大的情况下,为了加快数据处理速度,在本公开另一种实施例中,所述压缩方法还包括:
采用并行的方式对多个待压缩数据块进行压缩处理,得到所述多个待压缩数据块分别对应的压缩数据。
示例性的,针对多个数据块,同时进行上述过程,并获得多个第一压缩数据,将多个第一压缩数据进行拼接得到第二压缩数据。
以上述示例为例,其对应获得的压缩后数据如下表2所示:
表2压缩后数据
25 | 01 | 33 | 01 | F0 | 68 | 25 | 21 | 42 | 20 | 63 | 3F | 15 | 32 | 32 | F4 | 58 |
34 | 06 | 85 | 32 | A3 | 79 |
处理数据的压缩方法之外,本公开实施例还提供了一种数据的解压方法,参见图2所示,为本公开实施例提供的数据的解压方法的流程图,所述方法包括步骤S201~S203,其中:
S201:在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
S202:根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
S203:根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
下面分别对上述S201~S203加以详细说明。
在上述S201~S201中,基于压缩后的数据,确定出对应的多个数据块,以及每个数据块中对应的数据。
示例性的,以上述示例为例,首先确定位于压缩后数据开端的数字“2”为第一数据块中具有的非零字节数,并在数字“2”后确定出对应的非零字节,即“50 13”,之后,在非零字节后确定出第二数据块对应的第二数据块的非零字节数,即在“50 13”之后,确定出数字“3”,并基于该数字“3”,确定出第二数据块对应的非零字节,即“01F0 68”,以此类推,直至完成整个解压过程。
在上述S203中,需要确定解压后每个数据块所占的字节数,并基于得到的非零字节个数补充相应个数的零。
示例性的,在预设字节为8字节的前提下,以上述示例为例,在第一数据块中,确定非零字节数为2,由于预设字节为8字节,则需要在非零字节之后补充6个字节的零。
在这里,为了方便存储,以及为了与上述压缩过程相匹配,针对每个数据块中的非零字节还需要进行如下处理:
每个对所述第二压缩数据中的目标数据进行排序,得到重排序目标数据。
示例性的,可以对数据块中非零字节中的数据进行高低位排序,具体的,靠近前端的为高位,靠近后端的为低位,在排序过程中,对高低位进行互换,得到重排序目标数据,在上述例子中为“13 50”。
将重排序后的数据分别添加至对应的第一数据位和对应的第二数据位,确定该数据块对应的第一解压数据,该上述示例中为“50 13”。由此,最终针对于第一数据块,其解压后的数据为“50 13 00 00 00 00 00 00”。
最后,对各个数据块解压后的数据块进行拼接便可以得到解压后的第二解压数据。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据的压缩方法对应的数据的压缩装置,以及与数据的解压方法对应的数据的解压装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述的数据的压缩及解压方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3、4、5所示,图3为本申请实施例所提供的一种数据的压缩装置的示意图;图4为本申请实施例所提供的一种数据的压缩装置中第一确定模块的示意图;图5为本申请实施例所提供的另一种数据的压缩装置的示意图。所述压缩装置包括:划分模块310、第一确定模块320以及拼接模块330,其中:
划分模块310,用于将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
第一确定模块320,用于根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
拼接模块330,用于将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
本公开实施例通过进行数据压缩过程,减小数据的存储大小,从而节省数据的存储空间,提高数据的存储效率及传输效率。
在一种可能的实施方式中,如图4所示,所述第一确定模块320包括:
确定单元321,用于根据每一个所述待压缩数据块中非零字节的个数,确定该待压缩数据块对应的子压缩数据;
生成单元322,用于根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据。
在一种可能的实施方式中,所述生成单元322具体用于:
对该待压缩数据块中非零字节中的目标数据进行排序,得到重排序目标数据;
根据所述子压缩数据对应的第一数据位和所述重排序目标数据对应的第二数据位,确定该待压缩数据块对应的第一压缩数据;其中,所述第一压缩数据中每个字节中包括两个数据位,且每个字节中包括至少一个第二数据位。
在一种可能的实施方式中,所述拼接模块330具体用于:
基于所述原始数据中多个所述待压缩数据块的原始顺序,对所述第二压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
在一种可能的实施方式中,如图5所示,所述压缩装置还包括:
处理模块340,用于采用并行的方式对多个待压缩数据块进行压缩处理,得到所述多个待压缩数据块分别对应的压缩数据。
参照图6所示,图6为本申请实施例所提供的一种数据的解压装置的示意。所述解压装置包括:第二确定模块610、第三确定模块620以及第四确定模块630,其中:
第二确定模块610,用于在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
第三确定模块620,用于根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
第四确定模块630,用于根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
在一种可能的实施方式中,所述第四确定模块630具体用于:
对所述第二压缩数据中的目标数据进行排序,得到重排序目标数据;
基于所述第一压缩数据、所述第二压缩数据以及预设的、每个数据块所包含的字节个数,确定所述原始压缩数据对应的解压数据。
本公开实施例还提供了一种计算机设备,如图7所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器11和存储器12;所述存储器12存储有所述处理器11可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行实现以下述步骤:
将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
一种可选的实施方式中,处理器11执行的指令中,所述根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据,包括:
根据每一个所述待压缩数据块中非零字节的个数,确定该待压缩数据块对应的子压缩数据;
根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据。
一种可选的实施方式中,处理器11执行的指令中,所述根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据,包括:
对该待压缩数据块中非零字节中的目标数据进行排序,得到重排序目标数据;
根据所述子压缩数据对应的第一数据位和所述重排序目标数据对应的第二数据位,确定该待压缩数据块对应的第一压缩数据;其中,所述第一压缩数据中每个字节中包括两个数据位,且每个字节中包括至少一个第二数据位。
一种可选的实施方式中,处理器11执行的指令中,所述将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据,包括:
基于所述原始数据中多个所述待压缩数据块的原始顺序,对所述第二压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
一种可选的实施方式中,处理器11执行的指令中,所述压缩方法还包括:
采用并行的方式对多个待压缩数据块进行压缩处理,得到所述多个待压缩数据块分别对应的压缩数据。
当计算机设备运行时,所述机器可读指令被所述处理器执行还实现以下述步骤:
在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
一种可选的实施方式中,处理器11执行的指令中,所述根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据,包括:
对所述第二压缩数据中的目标数据进行排序,得到重排序目标数据;
基于所述第一压缩数据、所述第二压缩数据以及预设的、每个数据块所包含的字节个数,确定所述原始压缩数据对应的解压数据。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据的压缩及解压方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的数据的压缩及解压方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据的压缩及解压方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种数据的压缩方法,其特征在于,所述压缩方法包括:
将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
2.根据权利要求1所述的数据的压缩方法,其特征在于,所述根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据,包括:
根据每一个所述待压缩数据块中非零字节的个数,确定该待压缩数据块对应的子压缩数据;
根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据。
3.根据权利要求2所述的数据的压缩方法,其特征在于,所述根据所述子压缩数据和目标数据,生成该待压缩数据块对应的第一压缩数据,包括:
对该待压缩数据块中非零字节中的目标数据进行排序,得到重排序目标数据;
根据所述子压缩数据对应的第一数据位和所述重排序目标数据对应的第二数据位,确定该待压缩数据块对应的第一压缩数据;其中,所述第一压缩数据中每个字节中包括两个数据位,且每个字节中包括至少一个第二数据位。
4.根据权利要求1所述的数据的压缩方法,其特征在于,所述将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据,包括:
基于所述原始数据中多个所述待压缩数据块的原始顺序,对所述第二压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
5.根据权利要求2所述的数据的压缩方法,其特征在于,所述压缩方法还包括:
采用并行的方式对多个待压缩数据块进行压缩处理,得到所述多个待压缩数据块分别对应的压缩数据。
6.一种数据的解压方法,其特征在于,所述解压方法包括:
在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
7.根据权利要求6所述的数据的解压方法,其特征在于,所述根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据,包括:
对所述第二压缩数据中的目标数据进行排序,得到重排序目标数据;
基于所述第一压缩数据、所述第二压缩数据以及预设的、每个数据块所包含的字节个数,确定所述原始压缩数据对应的解压数据。
8.一种数据的压缩装置,其特征在于,所述压缩装置包括:
划分模块,用于将原始数据划分成多个待压缩数据块,每一个所述待压缩数据块按照预设的多个字节进行存储;
第一确定模块,用于根据每一个所述待压缩数据块中非零字节的数据信息,确定该待压缩数据块对应第一压缩数据;
拼接模块,用于将所述多个待压缩数据块分别对应的第一压缩数据进行拼接,得到所述原始数据对应的第二压缩数据。
9.一种数据的解压装置,其特征在于,所述解压装置包括:
第二确定模块,用于在接收到原始压缩数据后,确定所述原始压缩数据中数据块的个数以及每个所述数据块对应的第一压缩数据;
第三确定模块,用于根据每个所述数据块对应的第一压缩数据,确定该数据块对应的第二压缩数据;
第四确定模块,用于根据每个所述数据块对应的第一压缩数据和所述第二压缩数据,确定所述原始压缩数据对应的解压数据。
10.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至5任一所述的数据的压缩方法的步骤,以及如权利要求6至7任一所述的数据的解压方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一所述的数据的压缩方法的步骤,以及如权利要求6至7任一所述的数据的解压方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590219.7A CN111723053A (zh) | 2020-06-24 | 2020-06-24 | 一种数据的压缩方法及装置、解压方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590219.7A CN111723053A (zh) | 2020-06-24 | 2020-06-24 | 一种数据的压缩方法及装置、解压方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111723053A true CN111723053A (zh) | 2020-09-29 |
Family
ID=72568822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010590219.7A Pending CN111723053A (zh) | 2020-06-24 | 2020-06-24 | 一种数据的压缩方法及装置、解压方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723053A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595557A (zh) * | 2021-09-30 | 2021-11-02 | 阿里云计算有限公司 | 一种数据处理的方法和装置 |
CN114547030A (zh) * | 2022-01-20 | 2022-05-27 | 清华大学 | 多级时序数据压缩方法、装置、电子设备及存储介质 |
CN114866483A (zh) * | 2022-03-25 | 2022-08-05 | 新华三大数据技术有限公司 | 数据压缩流控方法、装置及电子设备 |
WO2023000674A1 (zh) * | 2021-07-23 | 2023-01-26 | 苏州浪潮智能科技有限公司 | 云硬盘数据压缩备份及恢复方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198127A (zh) * | 2013-04-10 | 2013-07-10 | 中国银行股份有限公司 | 大文件排序方法及系统 |
CN103858126A (zh) * | 2012-10-11 | 2014-06-11 | 实时科技株式会社 | 压缩空间数据的装置和方法及恢复压缩的空间数据的装置和方法 |
JP2014183551A (ja) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | データ圧縮装置、データ圧縮方法、およびデータ圧縮プログラム、並びにデータ復元装置、データ復元方法、およびデータ復元プログラム |
CN104462176A (zh) * | 2013-09-19 | 2015-03-25 | 国际商业机器公司 | 用于通过使用解压缩图进行数据访问的系统和方法 |
CN104753540A (zh) * | 2015-03-05 | 2015-07-01 | 华为技术有限公司 | 数据压缩方法、数据解压方法和装置 |
CN106407201A (zh) * | 2015-07-29 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN110504973A (zh) * | 2018-05-16 | 2019-11-26 | 北京京东尚科信息技术有限公司 | 文件压缩、解压方法和装置 |
CN110520909A (zh) * | 2017-04-17 | 2019-11-29 | 微软技术许可有限责任公司 | 使用激活数据的压缩和解压缩来减少存储器带宽利用率的神经网络处理器 |
CN111064471A (zh) * | 2018-10-16 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
CN111241217A (zh) * | 2018-11-29 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 数据处理的方法、装置和系统 |
CN111274172A (zh) * | 2020-01-13 | 2020-06-12 | 张旭 | 一种实现无限存储和数据极速传输的方法 |
CN111294057A (zh) * | 2018-12-07 | 2020-06-16 | 上海寒武纪信息科技有限公司 | 数据压缩方法、编码电路和运算装置 |
-
2020
- 2020-06-24 CN CN202010590219.7A patent/CN111723053A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103858126A (zh) * | 2012-10-11 | 2014-06-11 | 实时科技株式会社 | 压缩空间数据的装置和方法及恢复压缩的空间数据的装置和方法 |
JP2014183551A (ja) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | データ圧縮装置、データ圧縮方法、およびデータ圧縮プログラム、並びにデータ復元装置、データ復元方法、およびデータ復元プログラム |
CN103198127A (zh) * | 2013-04-10 | 2013-07-10 | 中国银行股份有限公司 | 大文件排序方法及系统 |
CN104462176A (zh) * | 2013-09-19 | 2015-03-25 | 国际商业机器公司 | 用于通过使用解压缩图进行数据访问的系统和方法 |
CN104753540A (zh) * | 2015-03-05 | 2015-07-01 | 华为技术有限公司 | 数据压缩方法、数据解压方法和装置 |
CN106407201A (zh) * | 2015-07-29 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN110520909A (zh) * | 2017-04-17 | 2019-11-29 | 微软技术许可有限责任公司 | 使用激活数据的压缩和解压缩来减少存储器带宽利用率的神经网络处理器 |
CN110504973A (zh) * | 2018-05-16 | 2019-11-26 | 北京京东尚科信息技术有限公司 | 文件压缩、解压方法和装置 |
CN111064471A (zh) * | 2018-10-16 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
CN111241217A (zh) * | 2018-11-29 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 数据处理的方法、装置和系统 |
CN111294057A (zh) * | 2018-12-07 | 2020-06-16 | 上海寒武纪信息科技有限公司 | 数据压缩方法、编码电路和运算装置 |
CN111274172A (zh) * | 2020-01-13 | 2020-06-12 | 张旭 | 一种实现无限存储和数据极速传输的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023000674A1 (zh) * | 2021-07-23 | 2023-01-26 | 苏州浪潮智能科技有限公司 | 云硬盘数据压缩备份及恢复方法、装置、设备及存储介质 |
CN113595557A (zh) * | 2021-09-30 | 2021-11-02 | 阿里云计算有限公司 | 一种数据处理的方法和装置 |
CN114547030A (zh) * | 2022-01-20 | 2022-05-27 | 清华大学 | 多级时序数据压缩方法、装置、电子设备及存储介质 |
CN114547030B (zh) * | 2022-01-20 | 2023-03-24 | 清华大学 | 多级时序数据压缩方法、装置、电子设备及存储介质 |
CN114866483A (zh) * | 2022-03-25 | 2022-08-05 | 新华三大数据技术有限公司 | 数据压缩流控方法、装置及电子设备 |
CN114866483B (zh) * | 2022-03-25 | 2023-10-03 | 新华三大数据技术有限公司 | 数据压缩流控方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723053A (zh) | 一种数据的压缩方法及装置、解压方法及装置 | |
CN106549673B (zh) | 一种数据压缩方法及装置 | |
CN106708468B (zh) | 一种除法运算装置 | |
CN104579360B (zh) | 一种数据处理的方法和设备 | |
CN112003625A (zh) | 一种霍夫曼编码方法、系统及设备 | |
CN111857550A (zh) | 用于数据去重的方法、设备以及计算机可读介质 | |
CN108965333A (zh) | 一种数据压缩、解压缩方法、系统及电子设备 | |
CN111491169B (zh) | 一种数字图像压缩方法、装置、设备、介质 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
CN112332854A (zh) | 霍夫曼编码的硬件实现方法、装置及存储介质 | |
CN110266834B (zh) | 基于互联网协议地址的地区查找方法及装置 | |
CN113138969A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
CN106788447B (zh) | 一种lz77压缩算法的匹配长度输出方法及装置 | |
EP4344069A2 (en) | Data compression method and apparatus and data decompression method and apparatus | |
CN113742332A (zh) | 数据存储方法、装置、设备及存储介质 | |
WO2023159820A1 (zh) | 图像压缩方法、图像解压缩方法及装置 | |
CN113590051B (zh) | 数据存储和读取方法、装置、电子设备及介质 | |
CN115603758A (zh) | 一种客户号压缩和解压方法及装置 | |
CN112054805B (zh) | 一种模型数据压缩方法、系统及相关设备 | |
CN114791904A (zh) | 布隆过滤器的持久化压缩方法及装置 | |
US8228216B2 (en) | Systems and methods for data compression | |
CN109587353B (zh) | 短信号码归属信息的识别方法、装置及存储介质 | |
CN114035822A (zh) | 一种文件更新方法及设备 | |
CN113204556A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200929 |
|
RJ01 | Rejection of invention patent application after publication |