CN114978190A - 一种基于数据值的数据压缩和还原方法及相关产品 - Google Patents
一种基于数据值的数据压缩和还原方法及相关产品 Download PDFInfo
- Publication number
- CN114978190A CN114978190A CN202210514660.6A CN202210514660A CN114978190A CN 114978190 A CN114978190 A CN 114978190A CN 202210514660 A CN202210514660 A CN 202210514660A CN 114978190 A CN114978190 A CN 114978190A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- value
- data value
- post
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供一种基于数据值的数据压缩和还原方法及相关产品,其中方法的实现包括:获取待发送数据,并将待发送数据拆分为多个数据块;对多个数据块中每个数据块进行压缩,获得多个压缩数据块;获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;发送压缩后数据值和数值关系。采用本申请实施例的方法,对数据块进行压缩得到压缩数据块后,通过确定数据块的压缩前数据值和压缩数据块的压缩后数据值之间的数值关系,从而只需要发送压缩后数据值和数值关系即可完成数据发送,进而极大程度地提高了数据传输效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种基于数据值的数据压缩和还原方法及相关产品。
背景技术
随着网络技术以及媒体技术的快速发展,人们能接触到的媒体形式越来越丰富,同时,随着媒体形式的日益增多以及互联网的高度普及,信息量呈现出了前所未有的高速增长,从而,数据传输量也进入了空前增长时代。
目前的数据传输方法,通常是对数据进行压缩后,再将压缩后的数据发送出去,然而,压缩后的数据本身由于存在一定量的容量大小,从而发送压缩后的数据依然要花费大量的传输时间,并且,随着各种媒体形式的数据所包含的信息量越来越大、内容也越来越丰富,可以预想到的是,若继续采用这种传统的数据传输方法进行数据传输,将会导致以后的数据传输时间越来越久,显然,这种变化趋势并不符合当前市面上对于数据通讯效率的要求。可见,若继续传统地采用传统的数据传输方法对数据进行传输,将难以提高数据传输的效率。
发明内容
本申请实施例提供了一种基于数据值的数据压缩和还原方法及相关产品,实施本申请实施例,提高数据传输效率。
第一方面,本申请实施例提供了一种基于数据值的数据压缩方法,应用于发送端,上述方法包括:
获取待发送数据,并将待发送数据拆分为多个数据块;
对多个数据块中每个数据块进行压缩,获得多个压缩数据块;
获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;
发送压缩后数据值和数值关系。
第二方面,本申请实施例提供了一种基于数据值的数据压缩装置,应用于发送端,上述装置包括:
拆分单元,用于获取待发送数据,并将待发送数据拆分为多个数据块;
压缩单元,用于对多个数据块中每个数据块进行压缩,获得多个压缩数据块;
确定单元,用于获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;
发送单元,用于发送压缩后数据值和数值关系。
第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
第六方面,本申请实施例提供了一种基于数据值的数据还原方法,应用于接收端,上述方法包括:
接收多个压缩后数据值、以及多个数值关系,其中,数值关系表征压缩前数据值和压缩后数据值之间所满足的数学关系,多个压缩后数据值与多个数值关系之间一一对应;
根据多个数值关系中每个数值关系对压缩后数据值中每个压缩后数据值进行还原,得到多个压缩前数据值;
根据多个压缩前数据值中每个压缩前数据值,得到多个压缩前数据块;
对多个压缩前数据块进行拼接,得到原始数据。
可以看出,本申请实施例中,获取待发送数据,并将待发送数据拆分为多个数据块;对多个数据块中每个数据块进行压缩,获得多个压缩数据块;获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;发送压缩后数据值和数值关系。采用本申请实施例的方法,对数据块进行压缩得到压缩数据块后,通过确定数据块的压缩前数据值和压缩数据块的压缩后数据值之间的数值关系,从而只需要发送压缩后数据值和数值关系即可完成数据发送,通过避免发送存储有大量内容的压缩数据块减少了数据传输量,进而极大程度地提高了数据传输效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种数据压缩系统的结构部署图;
图2是本申请实施例提供的一种基于数据值的数据压缩方法的流程示意图;
图3是本申请实施例提供的一种基于数据值的数据压缩方法的举例示意图;
图4是本申请实施例提供的一种基于数据值的数据压缩方法的举例示意图;
图5是本申请实施例提供的一种基于数据值的数据压缩方法的举例示意图;
图6是本申请实施例提供的一种基于数据值的数据压缩装置的结构示意图;
图7是本申请的实施例提供的一种电子设备的硬件运行环境的服务器结构示意图;
图8是本申请实施例提供的一种基于数据值的数据还原方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤的过程、方法、系统、产品或设备没有限定于已列出的步骤,而是可选地还包括没有列出的步骤,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合附图对本申请实施例涉及的应用场景进行介绍。
图1是一种数据压缩系统的结构部署图。如图1所示,该系统的第一端与发送端连接、且第二端与接收端连接。
其中,发送端,指欲将数据块压缩后发送给接收端从而将数据块发送给数据压缩系统的角色;
其中,数据压缩系统,用于接收来自发送端的数据块,对数据块进行压缩从而得到压缩数据块,并且将压缩数据块发送给接收端从而完成发送端与接收端之间的数据传输;
其中,接收端,指接收到来自数据压缩系统的压缩数据块的角色。
在上述系统进行数据传输的过程中,由于只是直接地将数据块经过压缩后得到的压缩数据块进行发送,压缩数据块本身存在一定量的容量大小,并且,花费的时间长短通常跟压缩数据块的大小呈现正相关关系,可以看出,上述过程对于数据传输难以起到提高效率的作用,不符合当下市场对于数据传输效率的要求。
基于此,本申请实施例提供了一种基于数据值的数据压缩方法,应用于发送端,请参阅图2,图2是本申请实施例提供的一种基于数据值的数据压缩方法的流程示意图,如图2所示,该方法包括以下步骤:
101:获取待发送数据,并将待发送数据拆分为多个数据块。
其中,待发送数据,可以是二进制数据,在具体实现中,可以是将原始数据对应的十进制或其他进制的数据通过进制转换成二进制数据,从而获得待发送数据。原始数据的数据形式包括数字、文字、图像、语音、视频等形式。
其中,多将待发送数据拆分为多个数据块,在具体实现中,为了使得尽可能多的数据块的压缩效果接近或一致,可以是将待发送数据拆分为多个大小相同的数据块。
102:对多个数据块中每个数据块进行压缩,获得多个压缩数据块。
其中,对多个数据块中每个数据块进行压缩,在具体实现中,可以是根据数据块对应的原始数据的数据形式确定。示例性地,若数据块对应的原始数据为视频文件,则可以使用视频压缩软件FFMPEG(Fast Forward Mpeg)或其他的专门针对视频的压缩软件对每个数据块进行压缩;同理地,若数据块对应的原始数据为其他数据形式,则可以根据对应的具体数据形式所采用的专门适用于该具体数据形式的压缩方法对每个数据块进行压缩。
103:获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系。
其中,压缩前数据值,即尚未被压缩的数据块对应的十进制数值,例如,若二进制的数据块内容为0000则其数值为0,若二进制的数据块内容为1111则其数值为15;同理地,压缩后数据值,即压缩数据块对应的十进制数值。在具体实现中,获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,可以通过对每个数据块进行进制转换得到每个数据块对应的十进制数值、对每个压缩数据块进行进制转换得到每个压缩数据块对应的十进制数值。
其中,压缩前数据值和压缩后数据值之间的数值关系,指压缩前数据值和压缩后数据值之间所满足的数学关系。
示例性地,若数值关系为压缩前数据值和压缩后数据值之间的倍数关系、且压缩前数据值为2048、压缩后数据值为1024,则压缩前数据值和压缩后数据值之间的数值关系为2048/1024=2倍,即是说,压缩前数据值是压缩后数据值的2倍。
104:发送压缩后数据值和数值关系。
示例性地,数值关系为压缩前数据值和压缩后数据值之间的倍数关系,即是说,数值关系=压缩前数据值/压缩后数据值,请参阅图3,图3是本申请实施例提供的一种基于数据值的数据压缩方法的举例示意图,如图3所示,服务器获取待发送数据X,将待发送数据X拆分为10个数据块并对该10个数据块进行压缩,获得10个压缩数据块,获取到10个数据块中的数据块1-5的压缩前数据值为2048且数据块1-5对应的压缩数据块的压缩后数据值为1024,并且有数据块6-10的压缩前数据值为512,且数据块6-10对应的压缩数据块的压缩后数据值为128,其中,确定到数据块1-5的压缩前数据值2048和压缩后数据值1024之间的数值关系=压缩前数据值/压缩后数据值=2048/1024=2,并且确定到数据块6-10的压缩前数据值512和压缩后数据值128之间的数值关系=压缩前数据值/压缩后数据值=512/128=4,发送压缩后数据值1024和对应的数值关系2、以及压缩后数据值128和对应的数值关系4,至此,在没有对压缩数据块进行发送的情况下,即已经通过发送压缩后数据值和对应的数值关系便完成了数据传输,压缩后数据值和对应的数值关系的总容量大小是远远小于压缩数据块的容量大小,显然,采用本申请实施例的方法能够通过减少大量的数据传输量从而极大程度地提高数据传输效率。
基于上述示例性实施例地,若发送端与接收端约定好数值关系为压缩前数据值和压缩后数据值之间的倍数关系,即是说,对于接收端而言,压缩前数据值=压缩后数据值*数值关系,接收端接收到5个压缩后数据值为1024、对应压缩前数据值和压缩后数据值之间的数值关系为2的数据块1-5,以及5个压缩后数据值为128、对应数值关系为4的数据块6-10,从而根据压缩后数据值1024及数值关系2可以得到数据块1-5的压缩前数据值=压缩后数据值*数值关系=1024*2=2048,同理地,根据压缩后数据值128及数值关系4可以得到数据块6-10的压缩前数据值=压缩后数据值*数值关系=128*4=512,之后只要根据数据块1-10的压缩前数据值即可得到压缩前数据块1-10、并对压缩前数据块1-10进行拼接而完成数据还原。
可以看出,本申请实施例中,获取待发送数据,并将待发送数据拆分为多个数据块;对多个数据块中每个数据块进行压缩,获得多个压缩数据块;获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;发送压缩后数据值和数值关系。采用本申请实施例的方法,对数据块进行压缩得到压缩数据块后,通过确定数据块的压缩前数据值和压缩数据块的压缩后数据值之间的数值关系,从而只需要发送压缩后数据值和数值关系即可完成数据发送,通过避免发送存储有大量内容的压缩数据块减少了数据传输量,进而极大程度地提高了数据传输效率。
在一些应用场景中,对于容量大小相同的不同数据块,若彼此之间的数据值差异性较小,那么该不同数据块对应的压缩前数据值和压缩后数据值之间的数值关系也会呈现出极为接近、大致相同的情况,而若对于容量大小相同、数据值差异性也较小的不同数据块,若能够对该不同数据块各自的数值关系进行统一的话,那么将会大大地降低发送数据的复杂程度,从而提高数据传输效率。
因此,针对上述应用场景,本申请实施例提供了另一种基于数据值的数据压缩方法,具体如下:
在一个可能的示例中,多个数据块为容量大小相同的数据块,上述对多个数据块中每个数据块进行压缩,获得多个压缩数据块,包括:
对多个数据块中数据值差异性大于第一预设范围的每个数据块进行压缩,获得多个压缩数据块;
上述获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系,包括:
针对多个数据块中数据值差异性大于第一预设范围的每个数据块,根据每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值确定数值关系;
针对多个数据块中数据值差异性不大于第一预设范围的第一数据块集合,根据其中一个目标数据块的压缩前数据值和压缩后数据值确定数值关系,并将数值关系作为第一数据块集合中其他数据块的压缩前数据值和压缩后数据值之间的数值关系。
其中,数据块的数据值差异性是否大于第一预设范围,在具体实现中,可以是根据该数据块的数据值相对多个数据块的数据值平均值的偏离程度确定,例如,可以是,若数据块的数据值与多个数据块的数据值平均值之间的差值绝对值大于某个数值范围则确定数据块的数据值差异性大于第一预设范围。
其中,针对多个数据块中数据值差异性不大于第一预设范围的第一数据块集合,根据其中一个目标数据块的压缩前数据值和压缩后数据值确定数值关系,并将数值关系作为第一数据块集合中其他数据块的压缩前数据值和压缩后数据值之间的数值关系,从而第一数据块集合中的多个数据块对应有相同的数值关系,极大程度地降低了数据复杂程度,进而提高了数据传输效率。
示例性地,根据该数据块的数据值相对多个数据块的数据值平均值的偏离程度确定数据块的数据值差异性是否大于第一预设范围,第一预设范围为0~1.5以内,请参阅图4,图4是本申请实施例提供的一种基于数据值的数据压缩方法的举例示意图,如图4所示,多个数据块中有数据块1-3共3个数据块,其中,数据块1的数据值为2048、数据块2的数据值为2045且数据块3的数据值为2046,则可以看出,数据值平均值=(2048+2045+2046)/3≈2046.33,并且,数据块1的数据值差异性=|2048-2046.33|=1.67,数据块2的数据值差异性=|2045-2046.33|=1.33,数据块3的数据值差异性=|2046-2046.33|=0.33,可见,数据块1的数据值差异性大于第一预设范围,数据块2和数据块3的数据值差异性小于第一预设范围,从而根据数据块1的压缩前数据值和压缩后数据值确定数据块1对应的数值关系1,数据块2和3由于数据值差异值不大于第一预设范围而同位于第一数据块集合中,根据数据块2的压缩前数据值和压缩后数据值确定数值关系2,并将数值关系2作为第一数据块集合中其他数据块即数据块3的压缩前数据值和压缩后数据值之间的数值关系,从而数据块2和数据块3对应有相同的数值关系2。
可以看出,本申请实施例中,在多个数据块为容量大小相同的数据块时,针对多个数据块中数据值差异性大于第一预设范围的每个数据块,根据每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值确定数值关系,即是说,对于数据值差异性较大的每个数据块进行压缩,且每个数据块对应有自己的数值关系;而针对多个数据块中数据值差异性不大于第一预设范围的第一数据块集合,根据其中一个目标数据块的压缩前数据值和压缩后数据值确定数值关系,并将数值关系作为第一数据块集合中其他数据块的压缩前数据值和压缩后数据值之间的数值关系,即是说,对于数据值差异性较小的第一数据块集合,只需要通过目标数据块的压缩前数据值和压缩后数据值确定数值关系即可直接确定第一数据块集合中其他数据块的压缩前数据值和压缩后数据值之间的数值关系,从而第一数据块集合对应有相同的数值关系,进而降低数据复杂程度,显著地提高数据传输效率。
在一些应用场景中,可能存在有多个数据块对应的压缩前数据值和压缩后数据值之间的数值关系相同的情况,在这种情况下,若依然每发送一个压缩后数据值就连同其数值关系一并发送,那么将要发送大量的相同内容的数值关系,为了进一步提高数据压缩之后的数据传输效率,显然地,针对上述情况,可以通过减少数值关系的发送次数来提高数据传输效率。
因此,针对上述应用场景,本申请实施例提供了另一种基于数据值的数据压缩方法,具体如下:
在一个可能的示例中,若存在多个压缩前数据值和压缩后数据值之间的数值关系相同的数据块,则上述方法还包括:
将压缩前数据值和压缩后数据值之间的数值关系相同的数据块划分到第一数据块集合;
发送第一数据块集合中每个数据块的压缩后数据值、以及第一数据块集合对应的数值关系。
其中,发送第一数据块集合中每个数据块的压缩后数据值、以及第一数据块集合对应的数值关系,在具体实现中,可以是在多个数据块的压缩后数据值的首部和尾部进行标识处理,标识处理用于表明该多个压缩后数据值位于第一数据块集合中、且只对应一个数值关系。
示例性地,请参阅图5,图5是本申请实施例提供的一种基于数据值的数据压缩方法的举例示意图,如图5所示,有数据块1-5的压缩前数据值和压缩后数据值之间的数值关系相同,若每次发送单个压缩后数据值同时发送对应的数值关系,可见,需要发送5次相同的数值关系,而若采用本申请实施例提供的方法,将数据块1-5划分到第一数据块集合中,再发送第一数据块集合同时发送对应的数值关系,则此时只需要发送1次数值关系,显著地减少了数据传输量。
可以看出,本申请实施例中,在存在多个压缩前数据值和压缩后数据值之间的数值关系相同的数据块的情况下,将压缩前数据值和压缩后数据值之间的数值关系相同的数据块划分到第一数据块集合,再发送第一数据块集合中每个数据块的压缩后数据值、以及第一数据块集合对应的数值关系给接收端,从而对于压缩前数据值和压缩后数据值之间的数值关系相同的多个数据块只需要发送一次数值关系即可,不再需要每发送一个压缩后数据值就要同时发送一个数值关系,通过减少数值关系的发送次数,大大地提高了数据传输效率。
通常情况下,对一个数据块进行压缩得到压缩数据块,压缩前数据值必然大于压缩后数据值,因此,若采用基本的四则运算(即加减乘除)来表示压缩前数据值和压缩后数据值之间的数值关系的话,只有减法和除法符合上述前提条件,而在一些应用场景中,若采用压缩前数据值和压缩后数据值之间的差值表示数值关系的话,可能会出现压缩前数据值和压缩后数据值之间的差值较大的情况,在这种情况下,要表示两者之间的差值将会花费大量的数据开销,需要发送的数据容量较大,可见,基本的四则运算中,除法能够适用的应用场景更多。
因此,针对上述应用场景,本申请实施例提供了另一种基于数据值的数据压缩方法,具体如下:
在一个可能的示例中,上述数值关系为压缩前数据值和压缩后数据值之间的倍数关系。
其中,数值关系为压缩前数据值和压缩后数据值之间的倍数关系,可以是,数值关系=压缩前数据值/压缩后数据值。
示例性地,压缩前数据值为2048、压缩后数据值为1024,则压缩前数据值和压缩后数据值之间的数值关系为2048/1024=2倍,即是说,压缩前数据值是压缩后数据值的2倍。
可以看出,本申请实施例中,由于数值关系为压缩前数据值和压缩后数据值之间的倍数关系,从而发送数值关系只需要花费较少的数据开销,通过减少数据传输量,大大地提高了数据传输效率。
在一个可能的示例中,待发送数据为第一部分待发送数据,在获取第一部分待发送数据对应的多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系之后,上述方法还包括:
若第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小于第二预设范围,则根据第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系确定第二部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系。
其中,第二预设范围,在具体实现中,可以设定为第一部分待发送数据中,压缩前数据值和压缩后数据值之间的数值关系最大者与最小者之间的差值绝对值是否小于某个数值范围;也可以设定为相对第一部分待发送数据中的数值关系平均值的误差范围。
其中,第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小于第二预设范围,即是说,多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小,彼此之间差异值局限在一个范围内波动,换言之即是说,多个数据块的压缩前数据值和压缩后数据值之间的数值关系均较为接近。
其中,第二部分待发送数据,在具体实现中,可以和第一部分待发送数据拥有相同的数据块。
其中,根据第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系确定第二部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系,在具体实现中,可以是将第一部分待发送数据中的某个数据块的压缩前数据值和压缩后数据值之间的数值关系直接确定为第二部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系,从而第二部分待发送数据的多个数据块对应有相同的数值关系,同时,由于对二部分待发送数据的多个数据块对应的数值关系进行了统一,从而只需要发送相同的数值关系,极大程度地降低了数据复杂程度,进而提高了数据传输效率。并且,由于第二部分待发送数据只对应有一个数值关系,因此,进一步地,在发送第二部分待发送数据的多个数据块时,可以对第二部分待发送数据进行标识处理,标识处理用于表明第二部分待发送数据的多个数据块对应有相同的数值关系,从而发送标识处理后的第二部分待发送数据时只需要发送一次数值关系,通过减小数据传输量显著地提高数据传输效率。
示例性地,第二预设范围为数值关系最大者与最小者之间的差值绝对值在0~0.5以内,第一部分待发送数据中有数据块1-5共5个数据块,其中,数据块1-5的压缩前数据值均为2048,而数据块1的压缩后数据值为512、数据块2的压缩后数据值为521、数据块3的压缩后数值为510、数据块4的压缩后数据值为511且数据块5的压缩后数据值为513,则可以看出,数值关系最大者为2048/510≈4.016、数值关系最小者为2048/521≈3.931,从而可以得到数值关系最大者与最小者之间的差值绝对值=|4.016-3.931|=0.085,因此,第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小于第二预设范围,从而将数据块1-5确定为第二部分待发送数据,并且将数据块1的压缩前数据值和压缩后数据值之间的数值关系2048/512=4.000确定为第二部分待发送数据的数值关系,从而在将数据块1-5的数值关系发送给接收端时,只需发送数值关系2048/512=4.000即可,不需要再发送多个不同大小的数值关系。
基于上述示例性实施例地,第二预设范围为相对数值关系平均值的误差范围在0~1%以内,则基于上述示例性实施例中的数据块1-5,可以看出,数值关系平均值=[2048/512+2048/521+2048/510+2048/511+2048/513]/5≈4.000+3.931+4.016+4.001+3.992=19.940/5=3.988,因此,第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小于第二预设范围,后续步骤可见上述示例性实施例,在此不再赘述。
可以看出,本申请实施例中,在获取第一部分待发送数据对应的多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系之后,若第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小于第二预设范围,则根据第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系确定第二部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系,从而能够在第一部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值较小时,能够直接确定出第二部分待发送数据的多个数据块对应的数值关系,对第二部分待发送数据的多个数据块对应的数值关系进行统一,降低数据复杂程度,进而提高数据传输效率。
与上述图2所示的实施例一致的,请参阅图6,图6是本申请实施例提供的一种基于数据值的数据压缩装置的结构示意图,如图6所示:
一种基于数据值的数据压缩装置,应用于发送端,上述装置包括:
201:拆分单元,用于获取待发送数据,并将待发送数据拆分为多个数据块;
202:压缩单元,用于对多个数据块中每个数据块进行压缩,获得多个压缩数据块;
203:确定单元,用于获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系。
204:发送单元,用于发送压缩后数据值和数值关系。
可以看出,本申请实施例提供的装置中,获取待发送数据,并将待发送数据拆分为多个数据块;对多个数据块中每个数据块进行压缩,获得多个压缩数据块;获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;发送压缩后数据值和数值关系。采用本申请实施例的装置,对数据块进行压缩得到压缩数据块后,通过确定数据块的压缩前数据值和压缩数据块的压缩后数据值之间的数值关系,从而只需要发送压缩后数据值和数值关系即可完成数据发送,通过避免发送存储有大量内容的压缩数据块减少了数据传输量,进而极大程度地提高了数据传输效率。
具体地,本申请实施例可以根据上述方法示例对基于数据值的数据压缩装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一个可能的示例中,上述装置中的数值关系为压缩前数据值和压缩后数据值之间的倍数关系。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
上述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
与上述图2所示的实施例一致的,本申请实施例提供了一种电子设备,请参阅图7,图7是本申请的实施例提供的一种电子设备的硬件运行环境的服务器结构示意图,如图7所示,电子设备包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行包括任一项基于数据值的数据压缩方法的步骤的指令。
其中,处理器为CPU(Central Processing Unit)。
其中,存储器,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
本领域技术人员可以理解,图7中示出的服务器的结构并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图7所示,存储器中可以包括操作系统、网络通信模块以及基于数据值的数据压缩方法的计算机执行指令。操作系统用于管理和控制服务器硬件和软件资源,支持计算机执行指令的运行。网络通信模块用于实现存储器内部各组件之间的通信,以及与服务器内部其他硬件和软件之间通信,通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General PacketRadio Service,通用分组无线服务)、CDMA2000(CodeDivision Multiple Access 2000,码分多址2000)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、TD-SCDMA(Time Division-Synchronous CodeDivision Multiple Access,时分同步码分多址)等。
在图7所示的服务器中,处理器用于执行存储器中存储的人员管理的计算机执行指令,实现以下步骤:获取待发送数据,并将待发送数据拆分为多个数据块;对多个数据块中每个数据块进行压缩,获得多个压缩数据块;获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;发送压缩后数据值和数值关系。
本申请涉及的服务器的具体实施可参见上述基于数据值的数据压缩方法的各实施例,在此不做赘述。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行以下步骤:获取待发送数据,并将待发送数据拆分为多个数据块;对多个数据块中每个数据块进行压缩,获得多个压缩数据块;获取多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定压缩前数据值和压缩后数据值之间的数值关系;发送压缩后数据值和数值关系。上述计算机包括电子设备。
其中,电子终端设备包括手机、平板电脑、个人数字助理、穿戴式设备等。
其中,计算机可读存储介质可以是上述实施例所述的电子设备的内部存储单元,例如电子设备的硬盘或内存。计算机可读存储介质也可以是上述电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括电子设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机执行指令以及电子设备所需的其他计算机执行指令和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请涉及的计算机可读存储介质的具体实施可参见上述基于数据值的数据压缩方法的各实施例,在此不做赘述。
本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机如上述方法实施例中记载的任何一种基于数据值的数据压缩方法的部分或全部步骤,该计算机程序产品可以是一个软件安装包。
上述图2所示的实施例应用于发送端,相对的接收端,本申请实施例提供了一种基于数据值的数据还原方法,请参阅图8,图8是本申请实施例提供的一种基于数据值的数据还原方法的流程示意图,如图8所示,该方法包括以下步骤:
一种基于数据值的数据还原方法,应用于接收端,上述方法包括:
301:接收多个压缩后数据值、以及多个压缩前数据值和压缩后数据值之间的数值关系,其中,多个压缩后数据值与多个数值关系之间一一对应。
302:根据多个数值关系中每个数值关系对压缩后数据值中每个压缩后数据值进行还原,得到多个压缩前数据值。
303:根据多个压缩前数据值中每个压缩前数据值,得到多个压缩前数据块。
304:对多个压缩前数据块进行拼接,得到原始数据。
可以看出,本申请实施例中,接收端接收多个压缩后数据值、以及多个压缩前数据值和压缩后数据值之间的数值关系,再根据多个数值关系中每个数值关系对压缩后数据值中每个压缩后数据值进行还原,得到多个压缩前数据值,然后根据多个压缩前数据值中每个压缩前数据值即可得到压缩前数据块,最后通过对多个压缩前数据块进行拼接即可得到原始数据,从而完成数据的接收、还原。采用本申请实施例的方法,接收端不再需要从发送端处接收大量具有较大容量的数据块,只需要接收数据值及对应的数值关系即可通过将数据值还原为压缩前数据值、进而得到压缩前数据块,通过减少数据接收量,极大程度地提高了数据传输效率。
需要说明的是,对于前述的任一种基于数据值的数据压缩和还原方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请一种基于数据值的数据压缩和还原方法的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请一种基于数据值的数据压缩和还原方法的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现所公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域普通技术人员可以理解上述任一种基于数据值的数据压缩和还原方法的方法实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
显然,本领域的技术人员可以对本申请提供的一种基于数据值的数据压缩和还原方法进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于数据值的数据压缩方法,其特征在于,应用于发送端,所述方法包括:
获取待发送数据,并将所述待发送数据拆分为多个数据块;
对所述多个数据块中每个数据块进行压缩,获得多个压缩数据块;
获取所述多个数据块中每个数据块的压缩前数据值以及所述每个数据块对应的压缩数据块的压缩后数据值,并确定所述压缩前数据值和所述压缩后数据值之间的数值关系;
发送所述压缩后数据值和所述数值关系。
2.根据权利要求1所述的方法,其特征在于,所述多个数据块为容量大小相同的数据块,所述对所述多个数据块中每个数据块进行压缩,获得多个压缩数据块,包括:
对所述多个数据块中数据值差异性大于第一预设范围的每个数据块进行压缩,获得多个压缩数据块;
所述获取所述多个数据块中每个数据块的压缩前数据值以及所述每个数据块对应的压缩数据块的压缩后数据值,并确定所述压缩前数据值和所述压缩后数据值之间的数值关系,包括:
针对所述多个数据块中数据值差异性大于所述第一预设范围的每个数据块,根据所述每个数据块的压缩前数据值以及所述每个数据块对应的压缩数据块的压缩后数据值确定所述数值关系;
针对所述多个数据块中数据值差异性不大于所述第一预设范围的第一数据块集合,根据其中一个目标数据块的压缩前数据值和压缩后数据值确定所述数值关系,并将所述数值关系作为所述第一数据块集合中其他数据块的压缩前数据值和压缩后数据值之间的数值关系。
3.根据权利要求1或2所述的方法,其特征在于,若存在多个所述压缩前数据值和压缩后数据值之间的数值关系相同的数据块,则所述方法还包括:
将所述压缩前数据值和压缩后数据值之间的数值关系相同的数据块划分到第一数据块集合;
发送所述第一数据块集合中每个数据块的压缩后数据值、以及所述第一数据块集合对应的所述数值关系。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述数值关系为所述压缩前数据值和所述压缩后数据值之间的倍数关系。
5.根据权利要求1所述的方法,其特征在于,所述待发送数据为第一部分待发送数据,在获取所述第一部分待发送数据对应的所述多个数据块中每个数据块的压缩前数据值以及每个数据块对应的压缩数据块的压缩后数据值,并确定所述压缩前数据值和所述压缩后数据值之间的数值关系之后,所述方法还包括:
若所述第一部分待发送数据的所述多个数据块的压缩前数据值和压缩后数据值之间的数值关系差异值小于第二预设范围,则根据所述第一部分待发送数据的所述多个数据块的压缩前数据值和压缩后数据值之间的数值关系确定第二部分待发送数据的多个数据块的压缩前数据值和压缩后数据值之间的数值关系。
6.一种基于数据值的数据压缩装置,其特征在于,应用于发送端,所述装置包括:
拆分单元,用于获取待发送数据,并将所述待发送数据拆分为多个数据块;
压缩单元,用于对所述多个数据块中每个数据块进行压缩,获得多个压缩数据块;
确定单元,用于获取所述多个数据块中每个数据块的压缩前数据值以及所述每个数据块对应的压缩数据块的压缩后数据值,并确定所述压缩前数据值和所述压缩后数据值之间的数值关系;
发送单元,用于发送所述压缩后数据值和所述数值关系。
7.根据权利要求6所述的装置,其特征在于,所述数值关系为所述压缩前数据值和所述压缩后数据值之间的倍数关系。
8.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机执行指令,当所述计算机执行指令被运行时,使得所述电子设备执行权利要求1-5任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在通信装置上运行时,使得所述通信装置执行权利要求1-5任一项所述的方法。
10.一种基于数据值的数据还原方法,其特征在于,应用于接收端,所述方法包括:
接收多个压缩后数据值、以及多个数值关系,其中,所述数值关系表征压缩前数据值和所述压缩后数据值之间所满足的数学关系,所述多个压缩后数据值与所述多个数值关系之间一一对应;
根据所述多个数值关系中每个数值关系对所述压缩后数据值中每个压缩后数据值进行还原,得到多个压缩前数据值;
根据所述多个压缩前数据值中每个压缩前数据值,得到多个压缩前数据块;
对所述多个压缩前数据块进行拼接,得到原始数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210514660.6A CN114978190A (zh) | 2022-05-12 | 2022-05-12 | 一种基于数据值的数据压缩和还原方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210514660.6A CN114978190A (zh) | 2022-05-12 | 2022-05-12 | 一种基于数据值的数据压缩和还原方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114978190A true CN114978190A (zh) | 2022-08-30 |
Family
ID=82981508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210514660.6A Pending CN114978190A (zh) | 2022-05-12 | 2022-05-12 | 一种基于数据值的数据压缩和还原方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978190A (zh) |
-
2022
- 2022-05-12 CN CN202210514660.6A patent/CN114978190A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107292808B (zh) | 图像处理方法、装置及图像协处理器 | |
US8478895B2 (en) | Content adaptation realizing method and content adaptation server | |
CN108494788B (zh) | 数据的传输方法、数据传输装置及计算机可读存储介质 | |
CN104253842A (zh) | 同步终端镜像的方法、装置、终端及服务器 | |
CN105635133A (zh) | 一种多媒体内容传输方法及终端 | |
CN114039973A (zh) | 文件的传输方法、设备以及存储介质 | |
CN111966647A (zh) | 一种小文件的云存储方法、装置、服务器及存储介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
US20230413247A1 (en) | Method for communication processing, terminal device, and non-transitory computer-readable storage medium | |
CN113138969A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
CN115033544A (zh) | 一种基于关系数值的数据压缩方法、装置、设备和介质 | |
CN105262491A (zh) | 数据压缩方法及系统、数据解压缩方法及系统、通信设备 | |
CN114978190A (zh) | 一种基于数据值的数据压缩和还原方法及相关产品 | |
CN111400630A (zh) | 资源预加载方法及相关设备 | |
CN108289165B (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
CN107318129B (zh) | 数据处理方法、装置及终端 | |
CN114040028B (zh) | 一种基于三种模式的数据压缩方法和数据解压方法 | |
CN114238250A (zh) | 程序文件压缩方法、装置及电子设备 | |
CN102891732A (zh) | 数据发送方法和装置以及数据接收方法和装置 | |
CN114172897B (zh) | 一种PC端和Android端文件传输方法及系统 | |
CN105407232A (zh) | 来电提醒方法、装置及系统 | |
CN116260896A (zh) | 基于函数的数据发送方法、装置、设备和数据接收方法 | |
US12108069B1 (en) | Method, apparatus, system, and electronic device for transmitting composite photo data | |
CN108989813A (zh) | 一种高效率压缩/解压缩方法、计算机装置和存储介质 | |
CN114978786B (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 |