CN114142868A - 一种数据压缩方法、数据解压方法及相关设备 - Google Patents
一种数据压缩方法、数据解压方法及相关设备 Download PDFInfo
- Publication number
- CN114142868A CN114142868A CN202210110623.9A CN202210110623A CN114142868A CN 114142868 A CN114142868 A CN 114142868A CN 202210110623 A CN202210110623 A CN 202210110623A CN 114142868 A CN114142868 A CN 114142868A
- Authority
- CN
- China
- Prior art keywords
- data
- data element
- items
- repeated
- sequence
- 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
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例提供了一种数据压缩方法、数据解压方法及相关设备,用于减少重复的数据项的存储和传输,提高数据传输的效率。本发明实施例中的压缩方法包括:获取待压缩的目标数据,所述目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据,所述标识数据用于记录每个重复的数据项在所属数据元素的所有数据项中的排序;将各个数据元素中不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据压缩方法、数据解压方法及相关设备。
背景技术
随着计算机技术和信息技术的飞速发展,大量的信息是以数字化的方式进行表示、存储和传输的,如控制信号、图像、语音等。
如今面临的一个重要的问题就是这些信息占用了庞大的空间,同样,大量的数据量也给传输速度的提升带来了不便。在一些特定的应用领域,例如激光成像技术领域中,需要从上位机中实时向多颗激光传输控制信号。为提高激光成像的精度,期望控制信号数据的传输延迟尽可能减小。为此,有必要对传输的控制信号数据进行压缩,以减小数据传输延迟。
发明内容
本发明实施例提供了一种数据压缩方法、数据解压方法及相关设备,用于减少重复的数据项的存储和传输,提高数据传输的效率。
本发明实施例第一方面提供了一种数据压缩方法,可包括:
获取待压缩的目标数据,所述目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;
分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据;所述标识数据用于记录重复的数据项在所属数据元素的所有数据项中的排序,或者记录不重复的数据项在所属数据元素的所有数据项中的排序;
将各个数据元素中不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
可选的,作为一种可能的实施方式,本发明实施例中,分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,可包括:
记录所述目标数据排序第一的数据元素与上一相邻数据元素在相同排序位置不存在重复的数据项;
分别识别所述目标数据排序第一的数据元素之外的各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,本发明实施例中,分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,可包括:
读取预设的模板数据元素作为所述目标数据排序第一的数据元素对应的上一相邻数据元素;所述模板数据元素包含与所述排序第一的数据元素数量相等的数据项;
分别识别所述目标数据中所有数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,本发明实施例中的数据压缩方法,还可以包括:
在所述压缩数据的接收端预存所述模板数据元素。
本发明实施例第二方面提供了一种数据解压方法,可包括:
获取压缩数据,所述压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据;其中,每个数据元素中包含有与上一相邻数据元素在相同排序位置不重复的数据项;所述标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项的排序,或者记录有与上一相邻数据元素在相同排序位置不重复的数据项的排序;
按照顺序依次对各个数据元素进行解压操作,所述解压操作包括:根据当前数据元素对应的标识数据中记录的重复的数据项的排序,在上一相邻数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入所述当前数据元素对应的位置;或者,根据当前数据元素对应的标识数据中记录的不重复的数据项的排序,在所述当前数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入上一相邻数据元素对应的位置,以生成当前数据元素。
可选的,作为一种可能的实施方式,本发明实施例中,若所述当前数据元素为所述压缩数据中排序第一的数据元素,所述解压操作还可以包括:
读取预设的模板数据元素,并将所述模板数据元素作为上一相邻数据元素;所述模板数据元素包含与所述排序第一的数据元素数量相等的数据项。
本发明实施例第三方面提供了一种数据压缩系统,可包括:
第一获取模块,用于获取待压缩的目标数据,所述目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;
识别模块,分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据,所述标识数据用于记录每个重复的数据项在所属数据元素的所有数据项中的排序;
读写模块,将各个数据元素中除所有的重复的数据项之外不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
可选的,作为一种可能的实施方式,本发明实施例中的识别模块,可以进一步包括:
记录单元,记录所述目标数据排序第一的数据元素与上一相邻数据元素在相同排序位置不存在重复的数据项;
第一识别单元,分别识别所述目标数据排序第一的数据元素之外的各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,本发明实施例中的识别模块,可以进一步包括:
读取单元,读取预设的模板数据元素作为所述目标数据排序第一的数据元素对应的上一相邻数据元素;所述模板数据元素包含与所述排序第一的数据元素数量相等的数据项;
第二识别单元,分别识别所述目标数据中所有数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,本发明实施例中的数据压缩系统还可以包括:发送模块,用于发送模板数据元素,以使得在所述压缩数据的接收端预存所述模板数据元素。
本发明实施例第三方面提供了一种数据解压系统,可包括:
第二获取模块,用于获取压缩数据,所述压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据;其中,每个数据元素中包含有与上一相邻数据元素在相同排序位置不重复的数据项;所述标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项的排序,或者记录有与上一相邻数据元素在相同排序位置不重复的数据项的排序;
解压模块,按照顺序依次对各个数据元素进行解压操作,所述解压操作包括:根据当前数据元素对应的标识数据中记录的重复的数据项的排序,在上一相邻数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入所述当前数据元素对应的位置;或者,根据当前数据元素对应的标识数据中记录的不重复的数据项的排序,在所述当前数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入上一相邻数据元素对应的位置,以生成当前数据元素。
可选的,作为一种可能的实施方式,本发明实施例中的解压模块还可以包括:
读取单元,用于读取预设的模板数据元素,并将所述模板数据元素作为上一相邻数据元素;所述模板数据元素包含与所述排序第一的数据元素数量相等的数据项。
本发明实施例第五方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第二方面中任意一种可能的实施方式中的步骤。
本发明实施例第六方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第二方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本申请实施例中,先分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,然后将识别出的重复数据去除,最后将各个数据元素中除所有的重复的数据项之外不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。相对于现有技术,减少了目标数据中相邻数据元素之间重复的数据项的存储和传输,节约了存储空间和数据传输带宽,提高了数据传输的效率。
附图说明
图1为本发明实施例中一种数据压缩方法的一个实施例示意图;
图2为本发明实施例中一种数据解压方法的一个实施例示意图;
图3为本发明实施例中一种计算机装置的一个实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种数据压缩方法的一个实施例可包括:
S101:获取待压缩的目标数据,目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项。
在进行数据压缩之前,需要先获取待压缩的目标数据,具体的获取方式可以是主动查询,也可以是被动接收,具体的获取方式此处不做限定。
本申请实施例中所获取的目标数据可包含多个数据元素,每个数据元素中包含数量相等的数据项。其中,每个数据元素中的数据项可以按照数据解压的顺序进行排序,越先解压的数据项排序越靠前。
可选的,每个数据项所占用的存储空间大小可以相同,也可以不同,本申请不做限定。
示例性的,在激光成像技术领域中,需要上位机向256颗激光传输控制信号,一次控制信号至少需要256位(即16个字,每个字包含2个字节)数据,以分别指示256颗激光器的开关状态。为此,可以将一次控制信号数据作为一个数据元素,一个数据元素划分为16个数据项,每个数据项包含16位。若需要在曝光面成像的分辨率为2540,那么至少应该生成2540个控制信号,对应的2540个数据元素可以组成所需要压缩的目标数据。
可以理解的是,上述示例仅以控制信号数据为例进行说明,实际应用中,目标数据还可以是其他类型的数据,具体此次不做限定。例如点阵图像数据,同一行(列)所有像素点作为一个数据元素,同一行(列)包含数量相等的像素点,每个像素点看作一个数据项。例如,多个传感器周期性采集的数据,同一周期采集的所有数据看作一个数据元素,每个周期各个传感器采集的数据可以分别看作一个数据项。
S102:分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据。
实际应用中,申请人发现在激光成像领域中,需要进行图像转移的模板图像需要转换为二值点阵图像(每个像素点只有取两种灰度等级),这些点阵图像的同一行像素中相邻像素点的灰度等级相同的概率很高(高于50%)。因此,激光器在进行一行像素扫描曝光时,同一激光器收到相邻的两个激光控制信号数据为重复数据的概率很高。有鉴于此,申请人提出减少重复数据的传输,节约带宽资源,提高传输速率。
为减少重复数据的传输,本申请实施例中,可以分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据。标识数据用于记录每个重复的数据项在所属数据元素的所有数据项中的排序,或者记录不重复的数据项在所属数据元素的所有数据项中的排序。
需要说明的是,对于目标数据中排序第一的数据元素,没有排序更靠前的数据元素(上一相邻数据元素),需要特殊处理。可选的,可以预先设置模板数据元素作为“上一相邻数据元素”,该模板数据元素包含与该排序第一的数据元素数量相等的数据项。需要注意的是,为了可以解压数据,需要在压缩数据的接收端预存该模板数据元素。
可选的,本申请实施例中,还可以直接将目标数据中排序第一的数据元素默认设置为与“上一相邻数据元素”相比,相同排序位置不存在重复的数据项。即直接记录目标数据排序第一的数据元素与上一相邻数据元素在相同排序位置不存在重复的数据项(需要将目标数据排序第一的数据元素中所有的数据项写入压缩数据)。
示例性的,如下表1所示的目标数据包含8个数据元素,每个数据元素包含8个数据项(每个数据项为4位16进制数)。由下表可知,第2行数据元素与第1行数据元素相比,相同排序位置存在重复的数据项分别为:第1项、第2项、第4项、第5项、第7项。第3行数据元素与第2行数据元素相比,相同排序位置存在重复的数据项分别为:第1项、第2项、第3项、第6项、第8项。第4行数据元素与第3行数据元素相比,相同排序位置存在重复的数据项分别为:第1项、第2项、第3项、第4项、第5项、第6项、第7项、第8项。第5行数据元素与第4行数据元素相比,相同排序位置存在重复的数据项分别为:第1项、第3项、第4项、第5项、第6项。第6行数据元素与第5行数据元素相比,相同排序位置存在重复的数据项分别为:第1项、第2项、第4项、第5项、第6项、第7项、第8项。第7行数据元素与第6行数据元素相比,相同排序位置存在重复的数据项分别为:第1项、第2项、第3项、第4项、第5项、第7项、第8项。第8行数据元素与第7行数据元素相比,相同排序位置存在重复的数据项分别为:第2项、第3项、第5项、第6项、第7项、第8项。
表1
需要说明的是,具体的标识数据结构此处不做限定,既可以直接记载每个重复的数据项在所属数据元素的所有数据项中的排序的序号,也可以对排序的序号按照设置的规则进行数据编码。例如,可以使用0标识与上一相邻数据元素在相同排序位置的数据项不重复,1标识与上一相邻数据元素在相同排序位置的数据项重复。示例性的,若一个数据元素中包含8个数据项,识别出的重复的数据项在所属的数据元素中的排序分别为第1项、第3项、第4项、第5项、第6项,只需要采用0和1编码的8位数据10111100,即为所需的标识数据。
S103:将各个数据元素中不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
在识别出重复的数据项之后,在传输数据之前,就可以上述步骤102中识别出的重复数据去除。然后,将各个数据元素中除所有的重复的数据项之外不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。需要注意的是,各个数据元素需要按照数据解压的顺序进行排序,越先解压的数据项排序越靠前。
示例性的,以预先设置模板数据元素:0000,0000,0000,0000,0000,0000,0000,0000为例。上述表1所示的目标数据对应的压缩数据中包含的内容如下表2所示。对比表1和表2,可知表2中需要传输的数据减少50%以上。
表2
由以上公开的内容可知,本申请实施例中,先分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,然后将识别出的重复数据去除,最后将各个数据元素中除所有的重复的数据项之外不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。相对于现有技术,不需要传输重复的数据项,减少了目标数据中相邻数据元素之间重复的数据项的存储和传输,节约了存储空间和数据传输带宽,提高了数据传输的效率。
为了便于理解,下面将上述数据压缩方法对应的数据解压方法进行说明,请参阅图2,本发明实施例中一种数据解压方法的一个实施例可包括:
S201:获取压缩数据,该压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据。
请参照上述图1所示的实施例,压缩数据中的每个数据元素中包含有与上一相邻数据元素在相同排序位置的数据项不重复的数据项,各个数据元素对应的标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项在所属数据元素的所有数据项中的排序。
S202:按照顺序依次对各个数据元素进行解压操作。
具体的解压操作可以包括:根据当前数据元素对应的标识数据中记录的排序在当前数据元素的上一相邻数据元素中读取对应的数据项,并将读取到的数据项按照当前数据元素对应的标识数据中记录的排序插入对应的位置。
其中,若正在解压的当前数据元素为该压缩数据中排序第一的数据元素,解压操作还包括:读取预设的模板数据元素,并将模板数据元素作为上一相邻数据元素;模板数据元素包含与排序第一的数据元素数量相等的数据项。
示例性的,以表2所示的压缩数据内容进行说明,读取第1个数据元素对应的上一相邻数据元素:0000,0000,0000,0000,0000,0000,0000,0000,第1个数据元素对应的标识数据为011111111,即读取上一相邻数据元素第2、3、4、5、6、7、8项,然后将读取的数据项插入当前数据元素的对应位置,即得到第1个数据元素的完整数据:00FF,0000,0000,0000,0000,0000,0000,0000。或者,读取第1个数据元素的第1项数据插入上一相邻数据元素的第1项,也可以得到上述第1个数据元素的完整数据:00FF,0000,0000,0000,0000,0000,0000,0000。
第2个数据元素对应的标识数据为11011010,将第1个数据元素中第1、2、4、5、7项数据依次插入第2个数据元素的第1、2、4、5、7项,即可得到第2个数据元素的完整数据:00FF,0000,00AC,0000,0000,6543,0000,0454。或者,将将第2个数据元素中第3、6、8项数据依次插入第1个数据元素的第3、6、8项也可以得到第2个数据元素的完整数据:00FF,0000,00AC,0000,0000,6543,0000,0454。
按照上述方式,依次可以解压得到压缩数据中的所有数据元素的完整数据。
由以上公开内容可知,本申请只需要传输压缩数据,减少了目标数据中相邻数据元素之间重复的数据项的存储和传输节约了存储空间和数据传输带宽,提高了数据传输的效率。
本发明实施例还提供了一种数据压缩系统,可包括:
第一获取模块,用于获取待压缩的目标数据,目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;
识别模块,分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据,标识数据用于记录每个重复的数据项在所属数据元素的所有数据项中的排序;
读写模块,将各个数据元素中除所有的重复的数据项之外不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
可选的,作为一种可能的实施方式,本发明实施例中的识别模块,可以进一步包括:
记录单元,记录目标数据排序第一的数据元素与上一相邻数据元素在相同排序位置不存在重复的数据项;
第一识别单元,分别识别目标数据排序第一的数据元素之外的各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,本发明实施例中的识别模块,可以进一步包括:
读取单元,读取预设的模板数据元素作为目标数据排序第一的数据元素对应的上一相邻数据元素;模板数据元素包含与排序第一的数据元素数量相等的数据项;
第二识别单元,分别识别目标数据中所有数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,本发明实施例中的数据压缩系统还可以包括:发送模块,用于发送模板数据元素,以使得在压缩数据的接收端预存模板数据元素。
在上述实施例的基础上,本发明实施例还提供了一种数据解压系统,可包括:
第二获取模块,用于获取压缩数据,所述压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据;其中,每个数据元素中包含有与上一相邻数据元素在相同排序位置不重复的数据项;所述标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项的排序,或者记录有与上一相邻数据元素在相同排序位置不重复的数据项的排序;
解压模块,按照顺序依次对各个数据元素进行解压操作,所述解压操作包括:根据当前数据元素对应的标识数据中记录的重复的数据项的排序,在上一相邻数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入所述当前数据元素对应的位置;或者,根据当前数据元素对应的标识数据中记录的不重复的数据项的排序,在所述当前数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入上一相邻数据元素对应的位置,以生成当前数据元素。
可选的,作为一种可能的实施方式,本发明实施例中的解压模块还可以包括:
读取单元,用于读取预设的模板数据元素,并将模板数据元素作为上一相邻数据元素;模板数据元素包含与排序第一的数据元素数量相等的数据项。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的数据压缩、解压系统进行了描述,请参阅图3,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置1可以包括存储器11、处理器12和输入输出总线13。处理器11执行计算机程序时实现上述图1所示的数据压缩方法实施例中的步骤,例如图1所示的步骤101至103。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
获取待压缩的目标数据,目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;
分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据,标识数据用于记录每个重复的数据项在所属数据元素的所有数据项中的排序;
将各个数据元素中除所有的重复的数据项之外不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
记录目标数据排序第一的数据元素与上一相邻数据元素在相同排序位置不存在重复的数据项;
分别识别目标数据排序第一的数据元素之外的各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
读取预设的模板数据元素作为目标数据排序第一的数据元素对应的上一相邻数据元素;模板数据元素包含与排序第一的数据元素数量相等的数据项;
分别识别目标数据中所有数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:在压缩数据的接收端预存模板数据元素。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
获取压缩数据,所述压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据;其中,每个数据元素中包含有与上一相邻数据元素在相同排序位置不重复的数据项;所述标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项的排序,或者记录有与上一相邻数据元素在相同排序位置不重复的数据项的排序;
按照顺序依次对各个数据元素进行解压操作,所述解压操作包括:根据当前数据元素对应的标识数据中记录的重复的数据项的排序,在上一相邻数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入所述当前数据元素对应的位置;或者,根据当前数据元素对应的标识数据中记录的不重复的数据项的排序,在所述当前数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入上一相邻数据元素对应的位置,以生成当前数据元素。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
读取预设的模板数据元素,并将模板数据元素作为上一相邻数据元素;模板数据元素包含与排序第一的数据元素数量相等的数据项。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机装置1的内部存储单元,例如该计算机装置1的硬盘。存储器11在另一些实施例中也可以是计算机装置1的外部存储设备,例如计算机装置1上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括计算机装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机装置1的应用软件及各类数据,例如计算机程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序等。
该输入输出总线13可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
进一步地,计算机装置还可以包括有线或无线网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
图3仅示出了具有组件11-14以及计算机程序的计算机装置1,本领域技术人员可以理解的是,图3示出的结构并不构成对计算机装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如上述图1或图2所示的实施例中的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据压缩方法,其特征在于,包括:
获取待压缩的目标数据,所述目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;
分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据;所述标识数据用于记录重复的数据项在所属数据元素的所有数据项中的排序,或者记录不重复的数据项在所属数据元素的所有数据项中的排序;
将各个数据元素中不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
2.根据权利要求1所述的方法,其特征在于,所述分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,包括:
记录所述目标数据排序第一的数据元素与上一相邻数据元素在相同排序位置不存在重复的数据项;
分别识别所述目标数据排序第一的数据元素之外的各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
3.根据权利要求1所述的方法,其特征在于,所述分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,包括:
读取预设的模板数据元素作为所述目标数据排序第一的数据元素对应的上一相邻数据元素;所述模板数据元素包含与所述排序第一的数据元素数量相等的数据项;
分别识别所述目标数据中所有数据元素中与上一相邻数据元素在相同排序位置重复的数据项。
4.根据权利要求3所述的方法,其特征在于,还包括:在所述压缩数据的接收端预存所述模板数据元素。
5.一种数据解压方法,其特征在于,包括:
获取压缩数据,所述压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据;其中,每个数据元素中包含有与上一相邻数据元素在相同排序位置不重复的数据项;所述标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项的排序,或者记录有与上一相邻数据元素在相同排序位置不重复的数据项的排序;
按照顺序依次对各个数据元素进行解压操作,所述解压操作包括:根据当前数据元素对应的标识数据中记录的重复的数据项的排序,在上一相邻数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入所述当前数据元素对应的位置;或者,根据当前数据元素对应的标识数据中记录的不重复的数据项的排序,在所述当前数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入上一相邻数据元素对应的位置,以生成当前数据元素的所有数据项。
6.根据权利要求5所述的方法,其特征在于,若所述当前数据元素为所述压缩数据中排序第一的数据元素,所述解压操作还包括:
读取预设的模板数据元素,并将所述模板数据元素作为上一相邻数据元素;所述模板数据元素包含与所述排序第一的数据元素数量相等的数据项。
7.一种数据压缩系统,其特征在于,包括:
第一获取模块,用于获取待压缩的目标数据,所述目标数据中包含多个数据元素,每个数据元素中包含数量相等的数据项;
识别模块,分别识别各个数据元素中与上一相邻数据元素在相同排序位置重复的数据项,并生成各个数据元素对应的标识数据,所述标识数据用于记录每个重复的数据项在所属数据元素的所有数据项中的排序;
读写模块,将各个数据元素中不重复的数据项,以及各个数据元素对应的标识数据写入压缩数据。
8.一种数据解压系统,其特征在于,包括:
第二获取模块,用于获取压缩数据,所述压缩数据包含多个按照顺序排列的数据元素以及各个数据元素对应的标识数据;其中,每个数据元素中包含有与上一相邻数据元素在相同排序位置不重复的数据项;所述标识数据中记录有与上一相邻数据元素在相同排序位置重复的数据项的排序,或者记录有与上一相邻数据元素在相同排序位置不重复的数据项的排序;
解压模块,按照顺序依次对各个数据元素进行解压操作,所述解压操作包括:根据当前数据元素对应的标识数据中记录的重复的数据项的排序,在上一相邻数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入所述当前数据元素对应的位置;或者,根据当前数据元素对应的标识数据中记录的不重复的数据项的排序,在所述当前数据元素中读取对应的数据项,并按照标识数据中记录的排序,将读取到的数据项插入上一相邻数据元素对应的位置,以生成当前数据元素的所有数据项。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6中任意一项所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110623.9A CN114142868A (zh) | 2022-01-29 | 2022-01-29 | 一种数据压缩方法、数据解压方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210110623.9A CN114142868A (zh) | 2022-01-29 | 2022-01-29 | 一种数据压缩方法、数据解压方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114142868A true CN114142868A (zh) | 2022-03-04 |
Family
ID=80381887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210110623.9A Pending CN114142868A (zh) | 2022-01-29 | 2022-01-29 | 一种数据压缩方法、数据解压方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114142868A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864860A (en) * | 1996-02-08 | 1999-01-26 | International Business Machines Corporation | Compression of structured data |
US20020124222A1 (en) * | 2000-12-21 | 2002-09-05 | Lippincott Louis A. | Increasing performance with memory compression |
CN103368579A (zh) * | 2013-07-09 | 2013-10-23 | 杭州东方通信软件技术有限公司 | 一种wlan网管设备数据的压缩方法及系统 |
US9087086B1 (en) * | 2012-12-18 | 2015-07-21 | Emc Corporation | Method and system for handling object boundaries of a data stream to optimize deduplication |
CN107506153A (zh) * | 2017-09-26 | 2017-12-22 | 深信服科技股份有限公司 | 一种数据压缩方法、数据解压方法及相关系统 |
-
2022
- 2022-01-29 CN CN202210110623.9A patent/CN114142868A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864860A (en) * | 1996-02-08 | 1999-01-26 | International Business Machines Corporation | Compression of structured data |
US20020124222A1 (en) * | 2000-12-21 | 2002-09-05 | Lippincott Louis A. | Increasing performance with memory compression |
US9087086B1 (en) * | 2012-12-18 | 2015-07-21 | Emc Corporation | Method and system for handling object boundaries of a data stream to optimize deduplication |
CN103368579A (zh) * | 2013-07-09 | 2013-10-23 | 杭州东方通信软件技术有限公司 | 一种wlan网管设备数据的压缩方法及系统 |
CN107506153A (zh) * | 2017-09-26 | 2017-12-22 | 深信服科技股份有限公司 | 一种数据压缩方法、数据解压方法及相关系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7516904B2 (en) | Methods for encoding and decoding information | |
CN116506073B (zh) | 一种工业计算机平台数据快速传输方法及系统 | |
CN113177015B (zh) | 基于帧头的串口通讯方法和串口芯片 | |
CN112131202B (zh) | 一种分布式文件存储和读取方法、终端设备及存储介质 | |
CN100357952C (zh) | 一种二进制数据的访问方法 | |
CN114142868A (zh) | 一种数据压缩方法、数据解压方法及相关设备 | |
CN115934730B (zh) | 数据处理方法和装置、介质和计算机设备 | |
CN110019347A (zh) | 一种区块链的数据处理方法、装置及终端设备 | |
CN110955383B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN114328283B (zh) | 计数地址获取方法、计数方法、装置、设备及存储介质 | |
CN114500670B (zh) | 一种编码压缩方法、解码方法及装置 | |
CN115048049A (zh) | 数据传输电路、数据传输方法及电子设备 | |
CN102289358A (zh) | 用于更有效地显示数据的计算机实现的方法、计算机程序产品和嵌入式系统 | |
CN106874979B (zh) | 一种条形码处理、显示、读取方法和装置 | |
CN113590581A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN112069772A (zh) | 基于fpga的数据处理方法、装置、电子设备及存储介质 | |
CN115309349B (zh) | 深度学习的稀疏数据存储方法、计算机设备和存储介质 | |
CN111713099A (zh) | 图像校正方法和图像校正装置以及电子设备 | |
CN112073726B (zh) | 压缩方法及装置、计算机可读存储介质及电子设备 | |
CN118036045B (zh) | 标识生成方法、装置及计算机设备、存储介质、程序产品 | |
CN111476528B (zh) | 基于快递出库的数据处理方法、装置、设备及存储介质 | |
CN118433392B (zh) | 数据编码方法及芯片、数据解码方法及芯片、显示装置 | |
CN116756071B (zh) | 数据传输方法、装置、设备、存储介质和计算机程序产品 | |
CN115473940B (zh) | 一种日期数据的处理方法、装置及存储介质 | |
CN118314413B (zh) | 一种gpu输出数据交互传输方法、系统及存储介质 |
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 |