CN110311687B - 一种基于集成算法的时序数据无损压缩方法 - Google Patents

一种基于集成算法的时序数据无损压缩方法 Download PDF

Info

Publication number
CN110311687B
CN110311687B CN201910613950.4A CN201910613950A CN110311687B CN 110311687 B CN110311687 B CN 110311687B CN 201910613950 A CN201910613950 A CN 201910613950A CN 110311687 B CN110311687 B CN 110311687B
Authority
CN
China
Prior art keywords
data
algorithm
compression
strings
string
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.)
Active
Application number
CN201910613950.4A
Other languages
English (en)
Other versions
CN110311687A (zh
Inventor
戴�峰
赵志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tiantian Smart Core Semiconductor Co ltd
Original Assignee
Shanghai Tiantian Smart Core Semiconductor Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Tiantian Smart Core Semiconductor Co ltd filed Critical Shanghai Tiantian Smart Core Semiconductor Co ltd
Priority to CN201910613950.4A priority Critical patent/CN110311687B/zh
Publication of CN110311687A publication Critical patent/CN110311687A/zh
Application granted granted Critical
Publication of CN110311687B publication Critical patent/CN110311687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于集成算法的时序数据无损压缩方法,将所有的数据分为多个数据块,每个数据块包含多个数据串;读入前一部分数据串的值并利用所有内置的压缩算法对其进行一次压缩,得到每个数据串的最优压缩算法;成为最优压缩算法次数最多的算法,成为该数据块的当前最优压缩算法;利用数据块的当前最优压缩算法,对该数据块接下来的数据串进行压缩;经过一段时间的压缩,对该数据块的当前最优压缩算法进行验证,判断是否重新选择该数据块的当前最优压缩算法。本发明不局限于一种压缩算法,不断改变的算法可以达到最大的压缩率。

Description

一种基于集成算法的时序数据无损压缩方法
技术领域
本发明涉及一种时序数据压缩方法,特别是一种基于集成算法的时序数据无损压缩方法。
背景技术
时序数据往往占用大量储存空间,造成了存储资源的浪费。时序数据的压缩就是要把时间戳和值所组成的键值对(Key-Value Pair)进行压缩,降低在硬盘中或在内存中的占用空间,并且能够根据一定的算法复现原有数据。现有的时序数据压缩方法要么是有损压缩,即会丧失数据的精度;要么在压缩率上不尽人意,不能达到最小化数据占用空间的目的,造成一定的资源浪费。
发明内容
本发明所要解决的技术问题是提供一种基于集成算法的时序数据无损压缩方法,提高时序数据的压缩率,达到最小化数据占用空间的目的。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于集成算法的时序数据无损压缩方法,其特征在于包含以下步骤:
步骤一:将所有的数据分为多个数据块,每个数据块包含多个按照数值的时间戳顺序排列的数据串;
步骤二:对于一个数据块,读入其前一部分数据串的值,读入的数据串的数量预先指定,对读取的这部分数据串,利用系统内置的所有压缩算法对每一个数据串都进行一次压缩;
步骤三:对经过所有压缩算法压缩的数据串,得到每一个数据串的最优压缩算法;
步骤四:对于一个数据块,选取步骤三中成为最优压缩算法次数最多的算法作为该数据块的当前最优压缩算法;
步骤五:对该数据块接下来的数据串,使用该数据块的当前最优压缩算法进行压缩,对每一个经过压缩的数据串,包括之前采用所有算法进行压缩的数据串,在其压缩完以后的二进制串的最前面拼接上该数据串使用的压缩算法;
步骤六:在接下来的压缩过程中,定期对该数据块的当前最优压缩算法进行验证,如果验证成功,则继续使用该数据块的当前最优压缩算法进行压缩,如果失败,则重新选择该数据块的当前最优压缩算法,使用新的算法对接下来的数据串进行压缩;
步骤七:重复定期验证的过程,直到该数据块的全部数据串都被压缩完毕。
进一步地,需要恢复数据时,根据二进制串最前面的标识位获取该数据串的压缩算法,再根据相应的压缩算法的解压缩方法进行解压缩。
进一步地,所述步骤二中的系统内置的所有压缩算法包括DFCM算法、FCM算法、XOR算法、线性预测的XOR算法和delta-of-delta算法。
进一步地,所述步骤二中,当所有算法的压缩效果都比不压缩要差时,则不采用任何压缩,直接存储不经过压缩的结果。
进一步地,所述步骤三中最优压缩算法的判断过程为对经过所有压缩算法压缩的数据串,比较其经过压缩后的二进制串的长度,压缩完以后二进制串长度最短的算法,为该数据串的最优压缩算法。
进一步地,所述步骤五中拼接在数据串前的压缩算法采用标识位,标识位采用定长标识位或采用霍夫曼编码的标识位。
进一步地,所述步骤六具体为
在接下来的压缩过程中,读入接下来一部分数据串的值,读入的数据串的数量预先指定,对于这部分数据串,利用系统内置的所有压缩算法,对每一个数据串都进行一次压缩,得到每一个数据串的最优压缩算法,根据每一个数据串的最优压缩算法,得到这一部分数据串的当前最优压缩算法;如果该最优算法与该数据块的当前最优压缩算法一致,则验证完成,继续对接下来的数据按照该数据块的当前最优压缩算法进行压缩;如果不一致,则用于验证的这一部分数据串的当前最优压缩算法更新为该数据块的当前最优压缩算法,使用新的当前最优压缩算法进行压缩。
本发明与现有技术相比,具有以下优点和效果:本发明的一种基于集成算法的时序数据无损压缩方法将所有数据分割成块,然后对每个数据块选择最优的压缩算法进行压缩,下一个数据块则可以选择不同的压缩算法进行压缩,保证每个数据块都是采用最优化的压缩算法,而不是整体采用一种压缩算法,这样区别对待不同的数据,达到了最佳的压缩率,达到了最小化数据占用空间的目的,避免计算机存储资源的浪费。
附图说明
图1是一种基于集成算法的时序数据无损压缩方法的示意图。
具体实施方式
下面通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
如图1所示,本发明的一种基于集成算法的时序数据无损压缩方法,包括多个单独的压缩算法,包含一个算法选择过程,包含一个算法验证过程,包含一个解压缩方法。具体包括以下步骤:
步骤一:将所有的数据分为多个数据块,每个数据块包含多个按照数值的时间戳顺序排列的数据串。在实际使用中,数据块的划分可以按照某一个实际指标的采集过程来进行。每一个数据块中的数据串可以按照小时的频率进行分割。按照采集的规则,同一个数据块内的数据串应该具有相似的分布。
步骤二:对于一个数据块,读入其前一部分数据串的值,读入的数据串的数量预先指定。对这部分数据串,利用系统内置的所有压缩算法,对每一个数据串都进行一次压缩。系统内置的所有压缩算法均采用无损算法,包括但不限于:DFCM算法、FCM算法、XOR算法、线性预测的XOR算法、delta-of-delta算法等。除此以外,还包括不压缩的结果。也就是说,如果所有算法的压缩效果都比不压缩要差,则不采用任何压缩,直接存储不经过压缩的结果。
步骤三:对经过所有压缩算法压缩的数据串,可以得到每一个数据串的“最优压缩算法”。对经过所有压缩算法压缩的数据串,比较其经过压缩后的二进制串的长度。压缩完以后二进制串长度最短的算法,称为该数据串的“最优压缩算法”。
步骤四:对于该数据块,在上一步中成为“最优压缩算法”次数最多的算法,成为该数据块的“当前最优压缩算法”。
步骤五:对该数据块接下来的数据串,使用该数据块的“当前最优压缩算法”进行压缩。对每一个经过压缩的数据串,包括之前采用所有算法进行压缩的数据串,在其压缩完以后的二进制串的最前面(最低位)拼接上该数据串使用的压缩算法。拼接时,使用标识位来唯一标识一个算法,标识位可以采用定长标识位,也可以采用霍夫曼编码的标识位。
步骤六:在接下来的压缩过程中,定期对该数据块的“当前最优压缩算法”进行验证。验证的方法为:读入接下来一部分数据串的值,读入的数据串的数量预先指定。对于这部分数据串,利用系统内置的所有压缩算法,对每一个数据串都进行一次压缩,得到每一个数据串的“最优压缩算法”,根据每一个数据串的“最优压缩算法”,得到这一部分数据串的“当前最优压缩算法”。如果该最优算法与该数据块的“当前最优压缩算法”一致,则验证完成。如果验证成功,则继续使用该数据块的“当前最优压缩算法”进行压缩。如果失败,则重新选择该数据块的“当前最优压缩算法”,使用新的算法对接下来的数据串进行压缩。新的算法可以使用验证的数据串所确定的“当前最优压缩算法”。
步骤七:重复定期验证的过程,直到该数据块的全部数据串都被压缩完毕。
步骤八:需要恢复数据时,根据二进制串最前面(最低位)的标识位获取该数据串的压缩算法,再根据相应的压缩算法的解压缩方法进行解压缩。
本发明根据上述的一种基于集成算法的无损浮点型时序数据压缩方法,举例描述该算法为:
假设要压缩的数据块为:1.0、2.0、3.0、4.0、5.0、6.0、7.0、8.0、9.0、10.0、11.0、12.0、13.0、14.0、15.0、16.0、17.0、……25.0、26.0、27.0、28.0、29.0、30.0、……95.0、96.0、97.0、98.0、99.0、100.0。按照5个一组的分为20个数据串,对前5个数据串使用所有压缩算法进行压缩。发现使用预测公式为
Figure BDA0002123290820000061
的XOR压缩算法,效果最好。那么预测公式为
Figure BDA0002123290820000062
的XOR算法则为该数据块的“当前最优压缩算法”。使用“当前最优压缩算法”对接下来的数据串进行压缩。当压缩到一半时,进行验证。取3个数据串,使用所有压缩算法进行压缩,发现依然是使用预测公式为
Figure BDA0002123290820000063
的XOR算法压缩效果最好。那么验证成功,继续使用“当前最优压缩算法”进行压缩。
本发明的一种基于集成算法的时序数据无损压缩方法将所有数据分割成块,然后对每个数据块选择最优的压缩算法进行压缩,下一个数据块则可以选择不同的压缩算法进行压缩,保证每个数据块都是采用最优化的压缩算法,而不是整体采用一种压缩算法,这样区别对待不同的数据,达到了最佳的压缩率,达到了最小化数据占用空间的目的,避免计算机存储资源的浪费。
本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

Claims (7)

1.一种基于集成算法的时序数据无损压缩方法,其特征在于包含以下步骤:
步骤一:将所有的数据分为多个数据块,每个数据块包含多个按照数值的时间戳顺序排列的数据串;
步骤二:对于一个数据块,读入其前一部分数据串的值,读入的数据串的数量预先指定,对读取的这部分数据串,利用系统内置的所有压缩算法对每一个数据串都进行一次压缩;
步骤三:对经过所有压缩算法压缩的数据串,得到每一个数据串的最优压缩算法;
步骤四:对于一个数据块,选取步骤三中成为最优压缩算法次数最多的算法作为该数据块的当前最优压缩算法;
步骤五:对该数据块接下来的数据串,使用该数据块的当前最优压缩算法进行压缩,对每一个经过压缩的数据串,包括之前采用所有算法进行压缩的数据串,在其压缩完以后的二进制串的最前面拼接上该数据串使用的压缩算法;
步骤六:在接下来的压缩过程中,定期对该数据块的当前最优压缩算法进行验证,如果验证成功,则继续使用该数据块的当前最优压缩算法进行压缩,如果失败,则重新选择该数据块的当前最优压缩算法,使用新的算法对接下来的数据串进行压缩;
步骤七:重复定期验证的过程,直到该数据块的全部数据串都被压缩完毕。
2.按照权利要求1所述的基于集成算法的时序数据无损压缩方法,其特征在于:需要恢复数据时,根据二进制串最前面的标识位获取该数据串的压缩算法,再根据相应的压缩算法的解压缩方法进行解压缩。
3.按照权利要求1所述的基于集成算法的时序数据无损压缩方法,其特征在于:所述步骤二中的系统内置的所有压缩算法包括DFCM算法、FCM算法、XOR算法、线性预测的XOR算法和delta-of-delta算法。
4.按照权利要求1所述的基于集成算法的时序数据无损压缩方法,其特征在于:所述步骤二中,当所有算法的压缩效果都比不压缩要差时,则不采用任何压缩,直接存储不经过压缩的结果。
5.按照权利要求1所述的基于集成算法的时序数据无损压缩方法,其特征在于:所述步骤三中最有压缩算法的判断过程为对经过所有压缩算法压缩的数据串,比较其经过压缩后的二进制串的长度,压缩完以后二进制串长度最短的算法,为该数据串的最优压缩算法。
6.按照权利要求1所述的基于集成算法的时序数据无损压缩方法,其特征在于:所述步骤五中拼接在数据串前的压缩算法采用标识位,标识位采用定长标识位或采用霍夫曼编码的标识位。
7.按照权利要求1所述的基于集成算法的时序数据无损压缩方法,其特征在于:所述步骤六具体为
在接下来的压缩过程中,读入接下来一部分数据串的值,读入的数据串的数量预先指定,对于这部分数据串,利用系统内置的所有压缩算法,对每一个数据串都进行一次压缩,得到每一个数据串的最优压缩算法,根据每一个数据串的最优压缩算法,得到这一部分数据串的当前最优压缩算法;如果该最优算法与该数据块的当前最优压缩算法一致,则验证完成,继续对接下来的数据按照该数据块的当前最优压缩算法进行压缩;如果不一致,则用于验证的这一部分数据串的当前最优压缩算法更新为该数据块的当前最优压缩算法,使用新的当前最优压缩算法进行压缩。
CN201910613950.4A 2019-07-09 2019-07-09 一种基于集成算法的时序数据无损压缩方法 Active CN110311687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910613950.4A CN110311687B (zh) 2019-07-09 2019-07-09 一种基于集成算法的时序数据无损压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910613950.4A CN110311687B (zh) 2019-07-09 2019-07-09 一种基于集成算法的时序数据无损压缩方法

Publications (2)

Publication Number Publication Date
CN110311687A CN110311687A (zh) 2019-10-08
CN110311687B true CN110311687B (zh) 2022-10-04

Family

ID=68079362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910613950.4A Active CN110311687B (zh) 2019-07-09 2019-07-09 一种基于集成算法的时序数据无损压缩方法

Country Status (1)

Country Link
CN (1) CN110311687B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595270B (zh) * 2022-02-23 2024-06-07 北京深思得文化创意有限公司 基于大数据的时序数据高效压缩方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1106595A (zh) * 1993-07-08 1995-08-09 国际商业机器公司 执行顺序数据压缩算法的方法与装置
TWI246256B (en) * 2004-07-02 2005-12-21 Univ Nat Central Apparatus for audio compression using mixed wavelet packets and discrete cosine transformation
CN101420608A (zh) * 2007-10-22 2009-04-29 华为技术有限公司 一种实现数据解码的方法和装置
CN101883109A (zh) * 2010-06-29 2010-11-10 上海大学 有损网络中大规模三维数据实时传输方法
CN103888144A (zh) * 2014-03-04 2014-06-25 上海挚连科技有限公司 基于信息熵优选的自适应数据预测编码算法
CN104348490A (zh) * 2014-11-14 2015-02-11 北京东方国信科技股份有限公司 一种基于效果优选的组合数据压缩算法
CN104703262A (zh) * 2015-03-20 2015-06-10 湘潭大学 基于压缩感知的分簇式数据收集方法
CN106662981A (zh) * 2014-06-27 2017-05-10 日本电气株式会社 存储设备、程序和信息处理方法
CN108958966A (zh) * 2018-09-27 2018-12-07 合肥达博科技有限公司 一种无损数据压缩的数据保护方法和装置
CN109739444A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 存储系统压缩数据的方法、装置、设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582067A (zh) * 2008-05-15 2009-11-18 国际商业机器公司 解压压缩文件时减小存储需求的方法和系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1106595A (zh) * 1993-07-08 1995-08-09 国际商业机器公司 执行顺序数据压缩算法的方法与装置
TWI246256B (en) * 2004-07-02 2005-12-21 Univ Nat Central Apparatus for audio compression using mixed wavelet packets and discrete cosine transformation
CN101420608A (zh) * 2007-10-22 2009-04-29 华为技术有限公司 一种实现数据解码的方法和装置
CN101883109A (zh) * 2010-06-29 2010-11-10 上海大学 有损网络中大规模三维数据实时传输方法
CN103888144A (zh) * 2014-03-04 2014-06-25 上海挚连科技有限公司 基于信息熵优选的自适应数据预测编码算法
CN106662981A (zh) * 2014-06-27 2017-05-10 日本电气株式会社 存储设备、程序和信息处理方法
CN104348490A (zh) * 2014-11-14 2015-02-11 北京东方国信科技股份有限公司 一种基于效果优选的组合数据压缩算法
CN104703262A (zh) * 2015-03-20 2015-06-10 湘潭大学 基于压缩感知的分簇式数据收集方法
CN108958966A (zh) * 2018-09-27 2018-12-07 合肥达博科技有限公司 一种无损数据压缩的数据保护方法和装置
CN109739444A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 存储系统压缩数据的方法、装置、设备及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DeepNitro: Prediction of Protein Nitration and Nitrosylation Sites by Deep Learning;Yubin Xie等;《Genomics,Proteomics & Bioinformatics》;20181029(第04期);258-263 *
WSNs中基于期望网络覆盖和分簇压缩感知的数据收集方案;刘洲洲等;《控制与决策》;20170913(第03期);149-156 *

Also Published As

Publication number Publication date
CN110311687A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
US8838551B2 (en) Multi-level database compression
US7408487B2 (en) Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding
KR20140093289A (ko) 다수의 판독들 및/또는 빈들을 사용한 소프트 판독 값들의 생성
CN110311687B (zh) 一种基于集成算法的时序数据无损压缩方法
CN116757158B (zh) 基于半导体存储的数据管理方法
CN111028897B (zh) 一种基于Hadoop的基因组索引构建的分布式并行计算方法
CN113035282A (zh) 基于标签数据生长基因的数据序列处理方法
US6055273A (en) Data encoding and decoding method and device of a multiple-valued information source
CA2770348A1 (en) Compression of bitmaps and values
CN103297768A (zh) 用于视频和图像压缩的并行金字塔熵编码
CN101266795B (zh) 一种格矢量量化编解码的实现方法及装置
CN113035278B (zh) 一种基于tpbwt自索引结构滑动窗口压缩方法
CN114665884A (zh) 时序数据库自适应有损压缩方法、系统及介质
EP2720376A1 (en) Secure and lossless data compression
CN110413580A (zh) 针对fpga配置码流的压缩方法、系统、装置
CN110704408A (zh) 一种基于聚类的时序数据压缩方法及系统
CN110442557B (zh) 数据压缩及解压缩方法、电子设备和计算机可读存储介质
CN113381768A (zh) 一种哈夫曼校正编码方法、系统及相关组件
CN115913248A (zh) 一种直播软件开发数据智能管理系统
CN1364341A (zh) 算术编码信息信号的算术译码
CN116737716A (zh) 时序数据压缩方法及装置
CN110175185B (zh) 一种基于时序数据分布特征的自适应无损压缩方法
US20050193022A1 (en) Method and apparatus for lossless compression and decompression of data
WO2016131554A1 (en) Method and apparatus for adaptive data compression
KR100935856B1 (ko) H.264 cavlc 디코딩에서의 cavlc 테이블 탐색방법

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 201100 no.1628, sushao Road, Minhang District, Shanghai

Applicant after: Shanghai Tiantian smart core semiconductor Co.,Ltd.

Address before: 210000 4 floor of No. 180, No. 180, Yuhuatai District, Yuhuatai District, Jiangsu

Applicant before: Nanjing Tianshu Zhixin Technology Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 201100 no.1628, sushao Road, Minhang District, Shanghai

Applicant after: Shanghai Tiantian smart core semiconductor Co.,Ltd.

Address before: 210000 4 floor of No. 180, No. 180, Yuhuatai District, Yuhuatai District, Jiangsu

Applicant before: Nanjing Tianshu Zhixin Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant