发明内容
本发明实施例提供了一种数据处理方法、数据处理装置、设备及计算机存储介质,可以有助于提高数据压缩比。
第一方面,本发明实施例提供了一种数据处理方法,包括:
获取待处理数据;
将所述待处理数据按照预设算法进行转换,以得到M组候选数据,其中,所述候选数据与所述待处理数据的数据类型不同,且,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;M为不小于2的整数;
分别获取所述M组候选数据中每组候选数据的数据冗余度;
将所述数据冗余度高于预设阈值的候选数据确定为目标数据。
通过本申请实施例,通过将待处理数据按照预设算法进行转换,以得到M组候选数据,其中,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;通过分别获取所述M组候选数据中每组候选数据的数据冗余度,然后将所述数据冗余度高于预设阈值的候选数据确定为目标数据。采用该手段,通过对待处理数据进行处理,创建冗余数据,进而来提高数据冗余度,有助于提高数据的压缩比。
其中,所述待处理数据为N位的二进制数据,所述将所述待处理数据按照预设算法进行转换,以得到M组候选数据,包括:
将所述N位的二进制数据分割为M个二进制数据块集,其中,每个二进制数据块集的总位数均为N,且所述每个二进制数据块集中均包括至少两个二进制数据块,所述每个二进制数据块集中的任意两个二进制数据块的位数相同;其中,任意两个二进制数据块集中的二进制数据块的位数不相同;
依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值;
根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值得到M组候选数据。
其中,所述依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值,包括:
依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的数值数据;
对所述每个二进制数据块分别对应的数值数据进行处理,以得到所述每个二进制数据块分别对应的数值数据所对应的第一数值。
优选的,所述第一数值为质数。
其中,所述对所述每个二进制数据块分别对应的数值数据进行处理,以得到所述每个二进制数据块分别对应的数值数据所对应的第一数值,包括:
依次将所述每个二进制数据块分别对应的数值数据与质数集中的不同质数进行相加,以得到所述每个二进制数据块分别对应的数值数据所对应的质数;
其中,所述质数集中的不同质数为按照数值从小到大的顺序依次排列的质数。
进一步地,所述方法还包括:
获取所述每个二进制数据块分别对应的数值数据所对应的质数的序号;
根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的数值数据所对应的质数的序号得到M组候选数据。
其中,所述每组候选数据的数据冗余度为每组候选数据中任一候选数据的重复个数与该组候选数据的个数的比值。
第二方面,本发明实施例提供了一种数据处理装置,包括:
获取模块,用于获取待处理数据;
处理模块,用于将所述待处理数据按照预设算法进行转换,以得到M组候选数据,其中,所述候选数据与所述待处理数据的数据类型不同,且,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;M为不小于2的整数;
计算模块,用于分别获取所述M组候选数据中每组候选数据的数据冗余度;
确定模块,用于将所述数据冗余度高于预设阈值的候选数据确定为目标数据。
第三方面,本发明实施例提供了一种数据处理设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行所述的数据处理方法。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行所述的数据处理方法。
通过本申请实施例,通过将待处理数据按照预设算法进行转换,以得到M组候选数据,其中,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;通过分别获取所述M组候选数据中每组候选数据的数据冗余度,然后将所述数据冗余度高于预设阈值的候选数据确定为目标数据。采用该手段,通过对待处理数据进行处理,创建冗余数据,进而来提高数据冗余度,有助于提高数据的压缩比。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本发明所描述的实施例可以与其它实施例相结合。
现有压缩算法都是基于现有的冗余来执行,该手段限制了传统压缩算法的性能。现有技术并没有提供一种较优的方式来更进一步提高压缩比。为此,本方案提供一种数据处理方法,通过对待处理数据进行处理,创建冗余数据,进而来提高数据冗余度,有助于提高数据的压缩比。
请参见图1,图1是本发明实施例提供的一种数据处理方法的流程示意图。如图1所示,其包括步骤101-104,具体如下:
101、获取待处理数据;
该待处理数据可以是任意形式的数据,如可以是二进制数据,十六进制数据等等,本方案对此不做具体限定。
优选的,该待处理数据可以是用于进行压缩处理的数据。如可以是视频数据、图像数据等。
102、将所述待处理数据按照预设算法进行转换,以得到M组候选数据,其中,所述候选数据与所述待处理数据的数据类型不同,且,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;M为不小于2的整数;
上述数据类型不同,如可以是:待处理数据的数据类型为二进制数据,候选数据的数据类型为数值数据等。此处仅以不同进制为例进行说明,其还可以是其他的数据类型,本方案对此不做具体限定。
上述将所述待处理数据按照预设算法进行转换,以得到M组候选数据,例如可以是将所述待处理数据根据不同位数进行划分分割,然后转换为不同数据类型的数据,其中,基于不同位数的分割,可以得到不同组候选数据。
或者,将所述待处理数据根据不同位数进行划分分割,然后将分割后的数据进行预设的算法计算,如可以是分别与不同数据相加,或者相减等等处理,进而可以得到不同组候选数据。
其中,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度。也就是说,采用该处理之后,数据的冗余度升高。
上述仅以至少一组候选数据的数据冗余度高于所述待处理数据的冗余度为例进行说明,其中,优选的,所述M组候选数据的数据冗余度均高于所述待处理数据的冗余度。
103、分别获取所述M组候选数据中每组候选数据的数据冗余度;
其中,所述每组候选数据的数据冗余度为每组候选数据中任一候选数据的重复个数与该组候选数据的个数的比值。
例如,一组候选数据包括10个数据,其中有4个数据是一样的,则该组候选数据的数据冗余度为4/10=40%。
104、将所述数据冗余度高于预设阈值的候选数据确定为目标数据。
该预设阈值可以是任意数值,本方案对此不做具体限定。例如,其可以是70%、80%等。
可选的,该目标数据可以是上述M组候选数据中数据冗余度最高的一组候选数据。
通过本申请实施例,通过将待处理数据按照预设算法进行转换,以得到M组候选数据,其中,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;通过分别获取所述M组候选数据中每组候选数据的数据冗余度,然后将所述数据冗余度高于预设阈值的候选数据确定为目标数据。采用该手段,通过对待处理数据进行处理,创建冗余数据,进而来提高数据冗余度,有助于提高数据的压缩比。
请参见图2,是本发明实施例提供的又一种数据处理方法的流程示意图。其中,所述待处理数据为N位的二进制数据,其包括步骤201-206,具体如下:
201、获取待处理数据,所述待处理数据为N位的二进制数据;
其中,本申请实施例仅以二进制数据为例进行说明,其还可以是其他进制的数据,本方案在此不再赘述。
其中,N为不小于2的整数。
202、将所述N位的二进制数据分割为M个二进制数据块集,其中,每个二进制数据块集的总位数均为N,且所述每个二进制数据块集中均包括至少两个二进制数据块,所述每个二进制数据块集中的任意两个二进制数据块的位数相同;其中,任意两个二进制数据块集中的二进制数据块的位数不相同;
上述所述N位的二进制数据分割为M个二进制数据块集,即为将所述N位的二进制数据进行M种不同的分割处理进而得到M个二进制数据块集。
例如,16位的二进制数据1001000011101001,其可以拆分为4个4位的二进制数据块,1001、0000、1110、1001。其还可以拆分为2个8位的二进制数据块,10010000、11101001等等。其中,1001、0000、1110、1001组成一个二进制数据块集;10010000、11101001组成另一个二进制数据块集。
上述仅以两种分割方法为例进行说明,其还可以是其他任意分割处理,本方案对此不做具体限定。
再例如,对于N为100的数据块中,将100位拆分为最小4位和最大50位的块。在该实施例中,50位的最大位长度是因为当所有的块(在本例中是2个块)都具有相等的位长度时,这是将数据块拆分为多个块的唯一可能方法。所以在这个例子中,可能会有:1)25个拆分,每个4位。2)20个拆分,每个5位。3)10个拆分,每个10位。4)4个拆分,每个25位。5)2个拆分,每个50位。
其中,上述分割中,每个二进制数据块集中的任意两个二进制数据块的位数相同,也就是说,该分割是平均分割;可选的,其还可以是非平均分割等,本方案对此不做具体限定。
其中,任意两个二进制数据块集中的二进制数据块的位数不相同,即,不同分割对应不同的二进制数据块集。
203、依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值;
该第一数值可以是任意类型的数据,如可以是质数,或者奇数、偶数,或者满足一定条件的数据等。
其中,步骤203具体可以是:
依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的数值数据;
例如,二进制数据00000001对应的数值数据为1。二进制数据00001100对应的数值数据为12。需要说明的是,本方案所述的数值数据可以是十进制数据。
对所述每个二进制数据块分别对应的数值数据进行处理,以得到所述每个二进制数据块分别对应的数值数据所对应的第一数值。
其中,所述第一数值可以为质数。所述对所述每个二进制数据块分别对应的数值数据进行处理,以得到所述每个二进制数据块分别对应的数值数据所对应的第一数值,包括:
依次将所述每个二进制数据块分别对应的数值数据与质数集中的不同质数进行相加,以得到所述每个二进制数据块分别对应的数值数据所对应的质数;
其中,所述质数集中的不同质数为按照数值从小到大的顺序依次排列的质数。
例如,待处理数据为十六进制数据1447F78。其转换为十进制等效数据21266296。对于21,其可以与质数2相加,得到23;对于26,其可以与质数3相加,得到29;对于62,其可以与质数5相加,得到67;对于96,其可以与质数7相加,得到103等。当数据块的位数足够多时,通过该处理,一定程度上可以提高数据冗余度。
上述仅为一种示例,其还可以是其他任意处理,如除以不同数据等,或者减去预设数据等等。
204、根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值得到M组候选数据;
其中,所述候选数据与所述待处理数据的数据类型不同,且,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;M为不小于2的整数。
其中,所述方法还包括:
获取所述每个二进制数据块分别对应的数值数据所对应的质数的序号;
根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的数值数据所对应的质数的序号得到M组候选数据。
例如上述十六进制数据1447F78,其可以保存为9(表示23是第9个质数)、10(表示29是第10个质数)、19(表示67是第19个质数)、26(表示103是第26个质数)。该数据块集中9,10,19和26,只需要存储5*4=20位。原始序列(21266296)是1447F78(十六进制)的等价转换,其占用3.5*8位即28位的空间。
采用上述方法,通过将待处理数据进行数据类型转换以及相应处理,最终存储每个二进制数据块分别对应的数值数据所对应的质数的序号,可以减少数据存储空间,便于存储。
205、分别获取所述M组候选数据中每组候选数据的数据冗余度;
基于上述处理,通过对待处理数据进行处理,得到的候选数据的数据冗余度高于待处理数据的数据冗余度。
206、将所述数据冗余度高于预设阈值的候选数据确定为目标数据。
通过获取每组候选数据的数据冗余度,进而选取高于预设阈值的候选数据为目标数据。
通过本申请实施例,通过将待处理数据分割为M个二进制数据块集,然后对每个二进制数据块集中的每个二进制数据块分别进行数据处理,以得到M组候选数据,其中,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;通过分别获取所述M组候选数据中每组候选数据的数据冗余度,然后将所述数据冗余度高于预设阈值的候选数据确定为目标数据。采用该手段,通过对待处理数据进行处理,创建冗余数据,进而来提高数据冗余度,有助于提高数据的压缩比。
参照图3所示,为本申请实施例提供的一种数据处理方法的示意图。其中,在整个大数据块中检测到数据块,表明可能会增加冗余。在该示例中,可以通过数学方式处理来计算如何在给定的数据块中创建更多的冗余数据。其中,数学方式如可以是:
利用贝努利数Bn,其是数论中经常出现的有理数序列;
Euler数是一个整数序列;
ζ(s)是Riemann-zeta函数或Euler-Riemann-zeta函数,ζ(s)是复变量s的函数,它在解析上继续Dirichlet级数的和。
Gamma函数是阶乘函数对复数的一种常用扩展。Gamma函数是为除非正整数以外的所有复数定义的。
m级多伽玛函数,是复数范围内的亚纯函数,定义为伽玛函数对数的(m+1)次导数。
多元对数是s阶和自变量z的特殊函数Lis(z)。只有对于s的特殊值,多元对数才可化为自然对数或有理函数等初等函数。
Fibonacci数的多项式展开式中xk项的系数,形成一个序列,称为Fibonacci序列,使得每个数都是前面两个数的和,其从0和1开始。
priminization是指将任何数字转换为其最接近或更相关的素数,它是一个大于1的自然数,而不是两个较小自然数的乘积。
如通过数学方式处理粗黑下划线对应的所有二进制数据。特别地,通过完全符合一个或多个数学库存标准,将所有二进制数据转换为相同的数据。采用该手段,进而提高数据冗余度,有助于提高数据的压缩比。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置,参考图4,图4是本发明实施例提供的一种数据处理装置的结构示意图,所述数据处理装置包括获取模块401、处理模块402、计算模块403、确定模块404;其中:
获取模块401,用于获取待处理数据;
处理模块402,用于将所述待处理数据按照预设算法进行转换,以得到M组候选数据,其中,所述候选数据与所述待处理数据的数据类型不同,且,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;M为不小于2的整数;
计算模块403,用于分别获取所述M组候选数据中每组候选数据的数据冗余度;
确定模块404,用于将所述数据冗余度高于预设阈值的候选数据确定为目标数据。
其中,处理模块402,具体用于将所述N位的二进制数据分割为M个二进制数据块集,其中,每个二进制数据块集的总位数均为N,且所述每个二进制数据块集中均包括至少两个二进制数据块,所述每个二进制数据块集中的任意两个二进制数据块的位数相同;其中,任意两个二进制数据块集中的二进制数据块的位数不相同;
依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值;
根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值得到M组候选数据。
进一步地,处理模块402,具体用于依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的数值数据;
对所述每个二进制数据块分别对应的数值数据进行处理,以得到所述每个二进制数据块分别对应的数值数据所对应的第一数值。
进一步地,处理模块402,具体用于依次将所述每个二进制数据块分别对应的数值数据与质数集中的不同质数进行相加,以得到所述每个二进制数据块分别对应的数值数据所对应的质数;
其中,所述质数集中的不同质数为按照数值从小到大的顺序依次排列的质数。
进一步地,处理模块402,还用于获取所述每个二进制数据块分别对应的数值数据所对应的质数的序号;
根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的数值数据所对应的质数的序号得到M组候选数据。
值得指出的是,其中,数据处理装置的具体功能实现方式可以参见上述数据处理方法的描述,这里不再进行赘述。数据处理装置中的各个单元或模块可以分别或全部合并为一个或若干个另外的单元或模块来构成,或者其中的某个(些)单元或模块还可以再拆分为功能上更小的多个单元或模块来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元或模块是基于逻辑功能划分的,在实际应用中,一个单元(或模块)的功能也可以由多个单元(或模块)来实现,或者多个单元(或模块)的功能由一个单元(或模块)实现。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种数据处理设备。
请参见图5,是本发明实施例提供的一种数据处理设备的结构示意图。如图5所示,上述的数据处理装置可以应用于所述数据处理设备500,所述数据处理设备500可以包括:处理器501,网络接口504和存储器505,此外,所述数据处理设备500还可以包括:用户接口503,和至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,用户接口503可以包括显示屏(Display)、键盘(Keyboard),可选用户接口503还可以包括标准的有线接口、无线接口。网络接口504可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器505可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器505可选的还可以是至少一个位于远离前述处理器501的存储装置。如图5所示,作为一种计算机存储介质的存储器505中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图5所示的数据处理设备500中,网络接口504可提供网络通讯功能;而用户接口503主要用于为用户提供输入的接口;而处理器501可以用于调用存储器505中存储的设备控制应用程序,以实现:
获取待处理数据;
将所述待处理数据按照预设算法进行转换,以得到M组候选数据,其中,所述候选数据与所述待处理数据的数据类型不同,且,至少一组候选数据的数据冗余度高于所述待处理数据的冗余度;M为不小于2的整数;
分别获取所述M组候选数据中每组候选数据的数据冗余度;
将所述数据冗余度高于预设阈值的候选数据确定为目标数据。
在一个实施例中,所述处理器501在执行时,具体执行以下步骤:
将所述N位的二进制数据分割为M个二进制数据块集,其中,每个二进制数据块集的总位数均为N,且所述每个二进制数据块集中均包括至少两个二进制数据块,所述每个二进制数据块集中的任意两个二进制数据块的位数相同;其中,任意两个二进制数据块集中的二进制数据块的位数不相同;
依次获取所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值;
根据所述M个二进制数据块集中每个二进制数据块集中的每个二进制数据块分别对应的第一数值得到M组候选数据。
应当理解,本发明实施例中所描述的数据处理设备500可执行前文所述数据处理方法,也可执行前文所述数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的数据处理装置所执行的计算机程序,且所述计算机程序包括程序指令,当处理器执行所述程序指令时,能够执行前文所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。