CN113868182A - 一种数据压缩方法、装置、设备和介质 - Google Patents
一种数据压缩方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN113868182A CN113868182A CN202111158426.6A CN202111158426A CN113868182A CN 113868182 A CN113868182 A CN 113868182A CN 202111158426 A CN202111158426 A CN 202111158426A CN 113868182 A CN113868182 A CN 113868182A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- fields
- instruction
- processed
- 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 44
- 238000013144 data compression Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012512 characterization method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种数据压缩方法、装置、设备和介质,依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;一个字段对应的数据位除了有效数据位之外剩余的数据位均为冗余数据位,并不具有实际意义。按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据。根据各字段的排列顺序以及各字段对应的有效数据位,将各字段数据进行拼接,以得到压缩数据。通过去冗余处理可以有效缩减各字段数据的数据量。为了避免去冗余后的各字段数据单独占用至少一个字节,可以将各字段数据进行拼接,使得可以合并的字段数据压缩至一个字节中,有效的缩短待处理数据的长度,从而提升数据传输效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据压缩方法、装置、设备和计算机可读存储介质。
背景技术
现在越来越多的电子设备开始使用双系统配置,在满足电子设备性能需求的同时可以降低功耗。随着电子设备功能的不断完善,其数据吞吐量也越来越大,传输效率也变得越来越重要。
在执行数据传输时,会按照通信协议对应的数据格式对数据进行封装,并将封装后的数据进行传输。通常双机通信的数据格式如图1所示,包括协议帧头(Header)和协议帧体(Payload)两部分,其中协议帧头包括起始帧(Start Of Frame,SOF)和控制位(ControlBit);协议帧体包括模块服务ID(ServiceId)、模块指令ID(CommandId)、指令类型(Type)、指令长度(Length)和指令数据(Value)。
双机通信的数据格式包含有八个字段,在进行数据压缩时常规做法就是直接使用一个或两个字节表示一个字段,一个字节包含有8位(bit)。但是在实际应用中,某些字段使用1至4位即可表示,并不需要占用一个字节。按照常规技术中直接使用一个或两个字节表示一个字段的方式,会造成许多冗余的数据位。冗余的数据位会影响数据的传输效率。
可见,如何提升数据传输效率,是本领域技术人员需要解决的问题。
发明内容
本申请实施例的目的是提供一种数据压缩方法、装置、设备和计算机可读存储介质,可以提升数据传输效率。
为解决上述技术问题,本申请实施例提供一种数据压缩方法,包括:
依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;
按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据;
根据各字段的排列顺序以及各字段对应的有效数据位,将各所述字段数据进行拼接,以得到压缩数据。
可选地,所述按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据包括:
将所述待处理数据中各字段数据转换为二进制数据;
将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据。
可选地,所述将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据包括:
将目标字段的二进制数据的最后一位作为起始位,从所述起始位开始向前截取与所述目标字段对应的有效数据位长度相同的二进制数据;其中,所述目标字段为所有字段中的任意一个字段;
将截取的二进制数据作为去冗余后的字段数据。
可选地,所述根据各字段的排列顺序以及各字段对应的有效数据位,将各所述字段数据进行拼接,以得到压缩数据包括:
根据各字段的排列顺序以及各字段对应的有效数据位,依次将有效数据位总和小于或等于一个字节长度的字段数据压缩为一个字节数据;
按照各字段的排列顺序对压缩后的字节数据进行拼接,以得到压缩数据。
可选地,所述数据格式包括指令类型、指令长度和指令数据;
在所述按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据之后还包括:
判断所述待处理数据的指令类型是否为设定的指令类型;其中,所述设定的指令类型包括开关指令;
若所述待处理数据的指令类型为设定的指令类型,则依据所述指令类型对应的数据位格式,对所述指令类型、所述指令长度以及所述指令数据各自对应的字段数据进行去冗余处理。
可选地,在所述依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位之后还包括:
接收数据位调整指令;
基于所述数据位调整指令中携带的字段数据位,调整各字段对应的有效数据位。
可选地,在所述依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位之后还包括:
根据预设时间段内数据量的变化率,调整各字段对应的有效数据位。
本申请实施例还提供了一种数据压缩装置,包括确定单元、去冗余单元和拼接单元;
所述确定单元,用于依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;
所述去冗余单元,用于按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据;
所述拼接单元,用于根据各字段的排列顺序以及各字段对应的有效数据位,将各所述字段数据进行拼接,以得到压缩数据。
可选地,所述去冗余单元包括转换子单元和截取子单元;
所述转换子单元,用于将所述待处理数据中各字段数据转换为二进制数据;
所述截取子单元,用于将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据。
可选地,所述截取子单元用于将目标字段的二进制数据的最后一位作为起始位,从所述起始位开始向前截取与所述目标字段对应的有效数据位长度相同的二进制数据;其中,所述目标字段为所有字段中的任意一个字段;将截取的二进制数据作为去冗余后的字段数据。
可选地,所述拼接单元用于根据各字段的排列顺序以及各字段对应的有效数据位,依次将有效数据位总和小于或等于一个字节长度的字段数据压缩为一个字节数据;按照各字段的排列顺序对压缩后的字节数据进行拼接,以得到压缩数据。
可选地,所述数据格式包括指令类型、指令长度和指令数据;所述装置还包括判断单元;
所述判断单元,用于判断所述待处理数据的指令类型是否为设定的指令类型;其中,所述设定的指令类型包括开关指令;
所述去冗余单元还用于若所述待处理数据的指令类型为设定的指令类型,则依据所述指令类型对应的数据位格式,对所述指令类型、所述指令长度以及所述指令数据各自对应的字段数据进行去冗余处理。
可选地,还包括接收单元和调整单元;
所述接收单元,用于接收数据位调整指令;
所述调整单元,用于基于所述数据位调整指令中携带的字段数据位,调整各字段对应的有效数据位。
可选地,还包括调整单元;
所述调整单元,用于根据预设时间段内数据量的变化率,调整各字段对应的有效数据位。
本申请实施例还提供了一种数据压缩设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述数据压缩方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述数据压缩方法的步骤。
由上述技术方案可以看出,依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;有效数据位指的是具有实际意义的数据位。一个字段往往以字节的形式记录,一个字节包含八个数据位,一个字段对应的数据位除了有效数据位之外剩余的数据位均为冗余数据位,并不具有实际意义。因此为了降低数据传输量,可以按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据。对各字段对应的数据进行去冗余处理之后,为了得到完整的数据,可以根据各字段的排列顺序以及各字段对应的有效数据位,将各字段数据进行拼接,以得到压缩数据。在该技术方案中,通过删除各字段数据的冗余数据位,可以有效的缩减各字段数据的数据量。为了避免去冗余后的各字段数据单独占用至少一个字节,可以将各字段数据进行拼接,使得可以合并的字段数据压缩至一个字节中,有效的缩短待处理数据的长度,从而提升数据传输效率。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种双机通信的数据格式;
图2为本申请实施例提供的一种数据压缩方法的流程图;
图3为本申请实施例提供的一种对待处理数据进行去冗余处理的示意图;
图4为本申请实施例提供的一种基于图3中得到的压缩数据去冗余的示意图;
图5为本申请实施例提供的一种数据压缩装置的结构示意图;
图6为本申请实施例提供的一种数据压缩设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
接下来,详细介绍本申请实施例所提供的一种数据压缩方法。图2为本申请实施例提供的一种数据压缩方法的流程图,该方法包括:
S201:依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位。
数据传输有其所依赖的协议,常见的协议可以包括I2C(Inter-IntegratedCircuit,串行总线)协议、SPI(Serial Peripheral Interface,串行外设接口)协议、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)协议等。
S202:按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据。
不同的协议对应的数据格式有所差异。为了便于介绍,在本申请实施例中以双机通信系统所使用的SPI协议为例展开介绍,其对应的数据格式可以参见图1。
待处理数据往往以十六进制的形式呈现,为了实现对待处理数据的去冗余,可以将十六进制的待处理数据转换为二进制的形式。
待处理数据包含有不同的字段,每个字段用于表征不同类型的信息。在初始状态下,针对于每个字段会设置冗余的数据位,以保证基于当前的数据格式可以满足数据的记录需求。
在本申请实施例中,为了提升数据的传输效率,可以将每个字段冗余的数据位舍弃掉,从而达到压缩数据的目的。在实际应用中,在将待处理数据中各字段数据转换为二进制数据之后,可以将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据。
有效数据位指的是具有实际意义的数据位。一个字段往往以字节的形式记录,一个字节包含八个数据位,一个字段对应的数据位除了有效数据位之外剩余的数据位均为冗余数据位,并不具有实际意义。因此为了降低数据传输量,可以将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据。
二进制数据一般按照从后向前的方向记录数据。因此在截取二进制数据时,可以将目标字段的二进制数据的最后一位作为起始位,从起始位开始向前截取与目标字段对应的有效数据位长度相同的二进制数据;将截取的二进制数据作为去冗余后的字段数据。其中,目标字段为所有字段中的任意一个字段。
S203:根据各字段的排列顺序以及各字段对应的有效数据位,将各字段数据进行拼接,以得到压缩数据。
对各字段对应的数据进行去冗余处理之后,为了避免去冗余后的各字段数据单独占用至少一个字节,可以将各字段数据进行拼接,使得可以合并的字段数据压缩至一个字节中,有效的缩短待处理数据的长度。
在具体实现中,可以根据各字段的排列顺序以及各字段对应的有效数据位,依次将有效数据位总和小于或等于一个字节长度的字段数据压缩为一个字节数据;按照各字段的排列顺序对压缩后的字节数据进行拼接,以得到压缩数据。
以图1所示的双机通信的数据格式为例,对待处理数据进行去冗余处理的示意图可以参见图3,图3中包含有4行数据,最上侧一行的数据表示十六进制的待处理数据,第二行数据表示转换得到的二进制数据。
图3中Header部分的起始帧(SOF)为0x5A,SOF使用八个数据位来表示。但是在实际应用中,SOF采用四个数据位足以标识,使用八个数据位明显多余,因此可以将SOF的有效数据位设置为4位,在实际应用中只截取二进制数据的后四位即可,去冗余后SOF对应的字段数据为1010。
图3中控制位(Control Bit)为0x03,Control Bit使用八个数据位来表示,而Control Bit一般有一半的数据位为保留位(Reserve),因此可以将Control Bit的有效数据位设置为四位,去冗余后Control Bit对应的字段数据为0011。
在实际应用中,Payload部分中,模块服务ID(ServiceId)、模块指令ID(CommandId)和指令类型(Type)字段中前四位均为0,并未表示有效数据,因此可以舍去,即将ServiceId、CommandId和Type的有效数据位均设置为4位,去冗余后ServiceId对应的字段数据为0101,去冗余后CommandId对应的字段数据为0010,去冗余后Type对应的字段数据为0001。指令长度(Length)字段中对于数据长度四个数据位足以表示,所以前四位也可以舍去,即将Length的有效数据位设置为四位,去冗余后Length对应的字段数据为0001。指令数据(Value)可以保留原本的形式,不对其做压缩,因此去冗余后Value对应的字段数据仍为00000001。图3中第三行数据表示去冗余后的各字段数据。
从图3的第三行数据可以看出,去冗余后SOF、Control Bit、ServiceId、CommandId、Type和Length均为四个数据位,而一个字节可以包含八个数据位,因此在将各字段数据进行拼接时,可以将SOF和Control Bit合并到一个字节;将ServiceId和CommandId合并到一个字节;将Type和Length合并到一个字节,从而得到图3中第四行所示的数据形式。
基于图3所示的待处理数据进行去冗余处理的示意图,可知待处理数据从原本的七个字节,通过去冗余处理之后可以压缩为四个字节,缩短了将近一半的长度。通过缩短待处理数据的长度,从而提升了数据传输效率。
由上述技术方案可以看出,依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;有效数据位指的是具有实际意义的数据位。一个字段往往以字节的形式记录,一个字节包含八个数据位,一个字段对应的数据位除了有效数据位之外剩余的数据位均为冗余数据位,并不具有实际意义。因此为了降低数据传输量,可以按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据。对各字段对应的数据进行去冗余处理之后,为了得到完整的数据,可以根据各字段的排列顺序以及各字段对应的有效数据位,将各字段数据进行拼接,以得到压缩数据。在该技术方案中,通过删除各字段数据的冗余数据位,可以有效的缩减各字段数据的数据量。为了避免去冗余后的各字段数据单独占用至少一个字节,可以将各字段数据进行拼接,使得可以合并的字段数据压缩至一个字节中,有效的缩短待处理数据的长度,从而提升数据传输效率。
数据格式一般包括有指令类型、指令长度和指令数据。在上述介绍中,为了保证去冗余后的各字段数据能够满足数据多样性的表征需求,因此对各字段的有效数据位的取值一般会设置的大一些。
考虑到实际应用中,待处理数据的指令类型存在只有两种形态的情况,对于这两种形态一般使用0和1进行区分即可,该种情况下待处理数据的指令类型、指令长度和指令数据并不需要占用太多的数据位,因此可以在上述S202的基础上,对数据进行进一步的去冗余。
在本申请实施例中,在按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据之后,可以判断待处理数据的指令类型是否为设定的指令类型;其中,设定的指令类型可以包括开关指令。开关指令只有开和关两种形态。
若待处理数据的指令类型为设定的指令类型,则可以依据指令类型对应的数据位格式,对指令类型、指令长度以及指令数据各自对应的字段数据进行去冗余处理。
以待处理数据的指令类型为开关指令为例,待处理数据的指令类型、指令长度和指令数据均使用一个数据位便可以表示,考虑到一个字节包含八个数据位,因此按照从前向后的顺序,可以将前六位记录指令类型、第七位记录指令长度,第八位记录指令数据。
结合图3中得到的压缩数据,第三个字节对应指令类型和指令长度,第四个字节对应指令长度,图4为基于图3中得到的压缩数据去冗余的示意图,图4中对指令类型、指令长度和指令长度进一步去冗余,可以将图3中用于表示指令类型和指令长度的第三字节的字段数据“00010001”和用于表示指令长度的第四字节的字段数据“00000001”压缩到一个字节中,按照前六位记录指令类型、第七位记录指令长度,第八位记录指令数据的方式,可以得到去冗余后的字段数据为“00000111”。
需要说明的是,上述介绍中以只有两种形态的指令类型为例展开说明。在本申请实施例中,对于指令类型的形态不做具体限定,只要指令类型、指令长度以及指令数据可以通过更少的字节如一个字节表示,均可以在原有按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据的基础上,进一步对指令类型、指令长度以及指令数据进行去冗余处理,从而将指令类型、指令长度以及指令数据压缩至更少的字节。
在本申请实施例中,为了满足同一协议下所有类型数据的压缩需求,各字段有效数据位的取值往往会设置的大一些。但是实际应用中,即使是同一协议下不同类型的数据其各字段对应的有效数据位也会存在差异,因此在本申请实施例中,为了实现对不同类型数据压缩时的差异化处理,可以依赖于用户的操作对待处理数据中各字段对应的有效数据位进行调整。
在具体实现中,在依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位之后,若接收数据位调整指令,则基于数据位调整指令中携带的字段数据位,调整各字段对应的有效数据位。
除了依据指令调整各字段对应的有效数据位之外,系统也可以根据预设时间段内数据量的变化率,调整各字段对应的有效数据位。
预设时间段的取值可以依据实际需求设置,在此不做限定。例如,预设时间段可以为一天或一周等。
举例说明,假设在初始状态下,指令类型对应的有效数据位为四位。在预设时间段内待处理数据的数据量急剧增加,此时四位的指令类型可能无法区分所有的待处理数据,为了满足数据的表征需求,可以将指令类型对应的有效数据位调大,例如,将原本的四位调整为六位。
通过基于接收到的数据位调整指令或者是预设时间段内数据量的变化情况,对各字段对应的有效数据位进行调整,可以使得各字段的有效数据位更加贴合当前表征数据的实际需求,调整后的有效数据位既可以满足待处理数据的表征需求,又可以有效的避免有效数据位取值过高造成的数据冗余。
图5为本申请实施例提供的一种数据压缩装置的结构示意图,包括确定单元51、去冗余单元52和拼接单元53;
确定单元51,用于依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;
去冗余单元52,用于按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据;
拼接单元53,用于根据各字段的排列顺序以及各字段对应的有效数据位,将各字段数据进行拼接,以得到压缩数据。
可选地,去冗余单元包括转换子单元和截取子单元;
转换子单元,用于将待处理数据中各字段数据转换为二进制数据;
截取子单元,用于将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据。
可选地,截取子单元用于将目标字段的二进制数据的最后一位作为起始位,从起始位开始向前截取与目标字段对应的有效数据位长度相同的二进制数据;其中,目标字段为所有字段中的任意一个字段;将截取的二进制数据作为去冗余后的字段数据。
可选地,拼接单元用于根据各字段的排列顺序以及各字段对应的有效数据位,依次将有效数据位总和小于或等于一个字节长度的字段数据压缩为一个字节数据;按照各字段的排列顺序对压缩后的字节数据进行拼接,以得到压缩数据。
可选地,数据格式包括指令类型、指令长度和指令数据;装置还包括判断单元;
判断单元,用于判断待处理数据的指令类型是否为设定的指令类型;其中,设定的指令类型包括开关指令;
去冗余单元还用于若待处理数据的指令类型为设定的指令类型,则依据指令类型对应的数据位格式,对指令类型、指令长度以及指令数据各自对应的字段数据进行去冗余处理。
可选地,还包括接收单元和调整单元;
接收单元,用于接收数据位调整指令;
调整单元,用于基于数据位调整指令中携带的字段数据位,调整各字段对应的有效数据位。
可选地,还包括调整单元;
调整单元,用于根据预设时间段内数据量的变化率,调整各字段对应的有效数据位。
图5所对应实施例中特征的说明可以参见图2所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;有效数据位指的是具有实际意义的数据位。一个字段往往以字节的形式记录,一个字节包含八个数据位,一个字段对应的数据位除了有效数据位之外剩余的数据位均为冗余数据位,并不具有实际意义。因此为了降低数据传输量,可以按照各字段对应的有效数据位,对待处理数据进行去冗余处理,以得到去冗余后的各字段数据。对各字段对应的数据进行去冗余处理之后,为了得到完整的数据,可以根据各字段的排列顺序以及各字段对应的有效数据位,将各字段数据进行拼接,以得到压缩数据。在该技术方案中,通过删除各字段数据的冗余数据位,可以有效的缩减各字段数据的数据量。为了避免去冗余后的各字段数据单独占用至少一个字节,可以将各字段数据进行拼接,使得可以合并的字段数据压缩至一个字节中,有效的缩短待处理数据的长度,从而提升数据传输效率。
图6为本申请实施例提供的一种数据压缩设备的结构图,如图6所示,数据压缩设备包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例数据压缩方法的步骤。
本实施例提供的数据压缩设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据压缩方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于协议对应的数据格式等。
在一些实施例中,数据压缩设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图6中示出的结构并不构成对数据压缩设备的限定,可以包括比图示更多或更少的组件。
可以理解的是,如果上述实施例中的数据压缩方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述数据压缩方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
以上对本申请实施例所提供的一种数据压缩方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本申请所提供的一种数据压缩方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种数据压缩方法,其特征在于,包括:
依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;
按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据;
根据各字段的排列顺序以及各字段对应的有效数据位,将各所述字段数据进行拼接,以得到压缩数据。
2.根据权利要求1所述的数据压缩方法,其特征在于,所述按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据包括:
将所述待处理数据中各字段数据转换为二进制数据;
将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据。
3.根据权利要求2所述的数据压缩方法,其特征在于,所述将每个字段的二进制数据按照其对应的有效数据位进行截取,以得到去冗余后的各字段数据包括:
将目标字段的二进制数据的最后一位作为起始位,从所述起始位开始向前截取与所述目标字段对应的有效数据位长度相同的二进制数据;其中,所述目标字段为所有字段中的任意一个字段;
将截取的二进制数据作为去冗余后的字段数据。
4.根据权利要求1所述的数据压缩方法,其特征在于,所述根据各字段的排列顺序以及各字段对应的有效数据位,将各所述字段数据进行拼接,以得到压缩数据包括:
根据各字段的排列顺序以及各字段对应的有效数据位,依次将有效数据位总和小于或等于一个字节长度的字段数据压缩为一个字节数据;
按照各字段的排列顺序对压缩后的字节数据进行拼接,以得到压缩数据。
5.根据权利要求1所述的数据压缩方法,其特征在于,所述数据格式包括指令类型、指令长度和指令数据;
在所述按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据之后还包括:
判断所述待处理数据的指令类型是否为设定的指令类型;其中,所述设定的指令类型包括开关指令;
若所述待处理数据的指令类型为设定的指令类型,则依据所述指令类型对应的数据位格式,对所述指令类型、所述指令长度以及所述指令数据各自对应的字段数据进行去冗余处理。
6.根据权利要求1至5任意一项所述的数据压缩方法,其特征在于,在所述依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位之后还包括:
接收数据位调整指令;
基于所述数据位调整指令中携带的字段数据位,调整各字段对应的有效数据位。
7.根据权利要求1至5任意一项所述的数据压缩方法,其特征在于,在所述依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位之后还包括:
根据预设时间段内数据量的变化率,调整各字段对应的有效数据位。
8.一种数据压缩装置,其特征在于,包括确定单元、去冗余单元和拼接单元;
所述确定单元,用于依据待处理数据所属协议对应的数据格式,确定出各字段对应的有效数据位;
所述去冗余单元,用于按照各字段对应的有效数据位,对所述待处理数据进行去冗余处理,以得到去冗余后的各字段数据;
所述拼接单元,用于根据各字段的排列顺序以及各字段对应的有效数据位,将各所述字段数据进行拼接,以得到压缩数据。
9.一种数据压缩设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任意一项所述数据压缩方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述数据压缩方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111158426.6A CN113868182A (zh) | 2021-09-28 | 2021-09-28 | 一种数据压缩方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111158426.6A CN113868182A (zh) | 2021-09-28 | 2021-09-28 | 一种数据压缩方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113868182A true CN113868182A (zh) | 2021-12-31 |
Family
ID=79000980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111158426.6A Pending CN113868182A (zh) | 2021-09-28 | 2021-09-28 | 一种数据压缩方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868182A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001893A (zh) * | 2022-04-24 | 2022-09-02 | 延边大学 | 一种can总线数据压缩方法及系统 |
CN115858458A (zh) * | 2023-02-22 | 2023-03-28 | 华中科技大学同济医学院附属同济医院 | 一种基于数据统计的财会数据归档系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968211A (zh) * | 2006-11-23 | 2007-05-23 | 华为技术有限公司 | 压缩报头的方法、压缩器及传输系统 |
RU2015118470A (ru) * | 2015-05-18 | 2016-12-10 | федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики (Университет ИТМО) | Способ префиксной дедупликации цифровых данных |
CN109597571A (zh) * | 2018-11-15 | 2019-04-09 | 金蝶软件(中国)有限公司 | 数据存储方法、数据读取方法、装置和计算机设备 |
CN111274218A (zh) * | 2020-01-13 | 2020-06-12 | 国网浙江省电力有限公司信息通信分公司 | 一种电力信息系统多源日志数据处理方法 |
CN112788078A (zh) * | 2019-11-07 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 数据传输方法、接收装置、发送装置和计算机设备 |
-
2021
- 2021-09-28 CN CN202111158426.6A patent/CN113868182A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968211A (zh) * | 2006-11-23 | 2007-05-23 | 华为技术有限公司 | 压缩报头的方法、压缩器及传输系统 |
RU2015118470A (ru) * | 2015-05-18 | 2016-12-10 | федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики (Университет ИТМО) | Способ префиксной дедупликации цифровых данных |
CN109597571A (zh) * | 2018-11-15 | 2019-04-09 | 金蝶软件(中国)有限公司 | 数据存储方法、数据读取方法、装置和计算机设备 |
CN112788078A (zh) * | 2019-11-07 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 数据传输方法、接收装置、发送装置和计算机设备 |
CN111274218A (zh) * | 2020-01-13 | 2020-06-12 | 国网浙江省电力有限公司信息通信分公司 | 一种电力信息系统多源日志数据处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001893A (zh) * | 2022-04-24 | 2022-09-02 | 延边大学 | 一种can总线数据压缩方法及系统 |
CN115858458A (zh) * | 2023-02-22 | 2023-03-28 | 华中科技大学同济医学院附属同济医院 | 一种基于数据统计的财会数据归档系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113868182A (zh) | 一种数据压缩方法、装置、设备和介质 | |
CN100429614C (zh) | 图象显示系统、主机设备和显示设备 | |
WO2022062537A1 (zh) | 数据压缩方法、装置及计算机可读存储介质 | |
CN111651384B (zh) | 寄存器的读写方法、芯片、子系统、寄存器组及终端 | |
CN109753478B (zh) | 一种基于fpga的并行数据处理方法、装置 | |
CN108965333B (zh) | 一种数据压缩、解压缩方法、系统及电子设备 | |
WO2020083019A1 (zh) | 一种基于多核处理器的解码方法、终端设备及存储介质 | |
CN108632624B (zh) | 图像数据处理方法、装置、终端设备及可读存储介质 | |
CN114817114A (zh) | 一种mipi接口、及其控制方法、装置及介质 | |
CN113286174A (zh) | 视频抽帧方法、装置、电子设备、计算机可读存储介质 | |
CN116467235B (zh) | 一种基于dma的数据处理方法、装置、电子设备及介质 | |
CN113873026A (zh) | 动态超时响应方法、装置、终端设备及存储介质 | |
CN112882985A (zh) | 一种数据传输系统、方法、装置及介质 | |
CN216530587U (zh) | 用于给主设备和从端设备进行供电的供电连接器 | |
CN113099271A (zh) | 视频辅助信息的编码、解码方法及电子设备 | |
CN106899307A (zh) | 一种数据压缩方法、数据解压缩方法及装置 | |
CN112328351A (zh) | 动画显示方法、动画显示装置及终端设备 | |
CN110677602A (zh) | 显示设备的通道模式切换方法、装置及显示设备 | |
CN111930510A (zh) | 电子设备和数据处理方法 | |
CN212873459U (zh) | 一种用于数据压缩存储的系统 | |
CN112181889A (zh) | 串口数据的解析方法、解析装置、解析设备及存储介质 | |
CN104202124A (zh) | 一种erp数据包通讯方法 | |
CN108989813A (zh) | 一种高效率压缩/解压缩方法、计算机装置和存储介质 | |
CN111680051B (zh) | 一种数据序列化和反序列化方法、设备及存储介质 | |
CN113177013B (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 |