System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据压缩领域,具体涉及一种无损时间序列数据压缩方法、系统、电子设备及储存介质。
技术介绍
1、目前现有的压缩算法有许多,对于一般的通用算法而言,例如lz4算法,其通过滑动窗口、hash表、数据编码等操作实现数据压缩。压缩过程以至少4字节为扫描窗口查找匹配,每次移动1字节进行扫描,遇到重复的就进行压缩。虽然lz4算法具备较快的解压缩与压缩速度,但是带来的压缩比却十分一般。同时xz算法并不适合长期存储,且可扩展性不佳。其二者都有着一个共同特性就是不具备时间序列数据的一些规则,虽然它们在对时间序列数据压缩后能够获得较好的压缩效果,但是会在压缩时间等方面做出较大的牺牲。然而,在处理浮点时间序列数据时,有一种十分高效与简洁的方法,该技术是许多现有方法的基础,包括gorilla、chimp。chimp算法在一定程度上提高了gorilla算法的压缩比,但是它依旧没有对一些特殊情况进行好的处理与应对。就比如说当遇到前导零个数大于32的情况,chimp就很难对这类数据进行有效的处理,这在一定程度上体现了chimp算法的不足。并且本专利技术发现chimp在处理中心位较长的数据的时候,效果没有那么明显,所以本专利技术认为,在chimp的基础上,还能有进一步的提升空间。
技术实现思路
1、本专利技术的目的是获得更好的压缩比,提高数据的压缩效率,节约压缩庞大数据所带来的成本。
2、本专利技术的技术方案如下:
3、一种无损时间序列数据压缩方法,所述方法包括:
5、对所述数据集进行异或计算,得到残差值;
6、根据异或计算的残差作为编码和存储的对象,采用选择不同异或操作目标的策略并根据策略的不同给予不同的标志位,完成数据压缩。
7、进一步地,对所述数据集进行异或计算之前将当前值与前值相等的数据进行处理。
8、进一步地,所述处理具体为:
9、将当前值与前值进行对比,若是相等直接给予两个标志位00,可以提高压缩比,还能提高压缩与解压缩速度。
10、进一步地,所述根据策略的不同给予不同的标志位包括:
11、将尾随零等于6为一个阈值作为判断,当尾随零大于6时,本专利技术会给予第一位标志符为0;
12、对于先前值和当前值的xor残差值不相等的情况给予第二位标识符为1,并在其后跟随着前导零与剩余的部分。
13、进一步地,所述方法还包括:对剩余的部分进行处理,具体为:
14、首先根据前导零的位数进行判断,如果前导零的位数大于或等于12,将对比当前异或值与当前异或值的大小以此来给予下一个阶段的编码。
15、所述将对比当前异或值与上一个异或值的大小以此来给予下一个阶段的编码具体包括:
16、如果当前异或值与上一个异或值相等,赋予所设计的新编码“111”;
17、如果当前值中心位位数ct和先前值中心位位数ct-1相等,或者当前异或值中心位的位数ct与先前异或值中心位位数ct-1,存在ct∈[ct-1-3,ct-1]情况下,则以赋予另外一条编码“110”。
18、所述根据策略的不同给予不同的标志位还包括:
19、当尾随零的个数小于等于6时,赋予第一个标识符1,然后判断前导零是否等于尾随零,若是先前值前导零位数等于当前值前导零位数,则可以直接使用先前值前导零位数来表示当前值前导零位数,然后赋予第二位标志符0,反之,则赋予第二位标识符1,并在当前值前导零位数等于前值前导零位数的基础上加上前导零的个数。
20、本专利技术还提供一种无损时间序列数据压缩系统,所述系统包括:
21、数据获取模块,用于获取数据集;
22、残差计算模块,用于对所述数据集进行异或计算,得到残差值;
23、数据压缩模块,用于根据异或计算的残差作为编码和存储的对象,采用选择不同异或操作目标的策略并根据策略的不同给予不同的标志位,完成数据压缩。
24、本专利技术还提供一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的无损时间序列数据压缩方法。
25、本专利技术还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行上述的无损时间序列数据压缩方法。
26、与现有技术相比,本专利技术具有以下优点:
27、本专利技术针对广泛的数据场景都有着良好的压缩效果和压缩速率,尤其是针对物联网和工业数据有着极佳的效果,能够将上千万条源于阿里巴巴集团的物联网数据压缩接近80%,并且平均只需要12秒的时间。
本文档来自技高网...【技术保护点】
1.一种无损时间序列数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的无损时间序列数据压缩方法,其特征在于,对所述数据集进行异或计算之前将当前值与前值相等的数据进行处理。
3.根据权利要求2所述的无损时间序列数据压缩方法,其特征在于,所述处理具体为:
4.根据权利要求1所述的无损时间序列数据压缩方法,其特征在于,所述根据策略的不同给予不同的标志位包括:
5.根据权利要求4所述的无损时间序列数据压缩方法,其特征在于,所述方法还包括:对剩余的部分进行处理,具体为:
6.根据权利要求5所述的无损时间序列数据压缩方法,其特征在于,所述将对比当前异或值与上一个异或值的大小以此来给予下一个阶段的编码具体包括:
7.根据权利要求1所述的无损时间序列数据压缩方法,其特征在于,所述根据策略的不同给予不同的标志位还包括:
8.一种无损时间序列数据压缩系统,其特征在于,所述系统包括:
9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项无损时间序列数据压缩方法。
...【技术特征摘要】
1.一种无损时间序列数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的无损时间序列数据压缩方法,其特征在于,对所述数据集进行异或计算之前将当前值与前值相等的数据进行处理。
3.根据权利要求2所述的无损时间序列数据压缩方法,其特征在于,所述处理具体为:
4.根据权利要求1所述的无损时间序列数据压缩方法,其特征在于,所述根据策略的不同给予不同的标志位包括:
5.根据权利要求4所述的无损时间序列数据压缩方法,其特征在于,所述方法还包括:对剩余的部分进行处理,具体为:
6.根据权利要求5所述的无损时间序列数据压缩方法,其特征在于,所述将对比当...
【专利技术属性】
技术研发人员:陈文辉,王玮杰,杨艳青,赵辉煌,黎哲,雷沁洪,
申请(专利权)人:衡阳师范学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。