一种数据压缩方法
【专利摘要】本发明公开了一种数据压缩方法,包括死区压缩步骤和插值拟合压缩步骤,所述死区压缩步骤作为所述数据压缩算法的前置数据预处理过程,用于滤掉噪音数据;所述插值拟合压缩示步骤为针对实时数据变化过程中具备连续的趋势特征而设计对应的数据压缩算法。本发明在工业领域中应用实时数据库进行数据处理时,其实时数据具备数据采集量大、数据趋势效应明显。本拟合压缩算法解决了实时数据存储中的细节保存问题,实现了在较少的存储点的情况下,实现了较高的细节留存度。
【专利说明】一种数据压缩方法
【技术领域】
[0001 ] 本发明公开了一种数据压缩方法,涉及数据处理【技术领域】。
【背景技术】
[0002]传统的定点(定周期)采样减少了实时数据采样点数,但同时也损失了数据变化的细节内容。现有技术中,大多数数据记录采用定点(定周期)方式进行数据采样记录保存。该方法以给定的时间间隔(或给定一定时间范围内计划保存的点数来确定平均的时间间隔),对实时数据进行采样记录保存。该方法实现简单,几乎没有运算量。但是同时,该方法也存在着比较明显的不足之处。首先,采用定周期的记录采样,该周期一般取得比较大,因此实时数据中间的波动过程损失比较明显,后期无法利用保存的数据还原其趋势数据精度。其次,若大幅减小采样周期,那么需要的存储空间必然迅速增大,在实时数据变化比较平稳时,记录下来的冗余数据比例会比较大,即占用了存储空间又降低了数据还原时的检索效率,在实际应用中很不经济。
【发明内容】
[0003]本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种数据压缩方法,用于实时数据库中对数据进行压缩,在尽量保持数据精度的条件下,减少存储空间的使用。
[0004]本发明为解决上述技术问题采用以下技术方案:
一种数据压缩方法,包括死区压缩步骤和插值拟合压缩步骤,其中,
所述死区压缩步骤作为所述数据压缩算法的前置数据预处理过程,用于滤掉噪音数据,其具体过程包括:
101、对于时间相关的实时数据序列,设定其变化限值;
102、如果当前数据点与其前一个保存的数据点的偏差大于步骤101中设定的变化限值,则保存当前数据点,否则丢弃当前数据点;
所述插值拟合压缩示步骤为针对实时数据变化过程中具备连续的趋势特征而设计对应的数据压缩算法,具体过程包括:
201、设定样条插值连续的约束点;
202、通过步骤201设定的点所形成连续曲线,应用样条插值算法得到上述连续曲线的样条插值参数;
203、由步骤202所得的样条插值参数,沿时间轴做外插计算;
204、设定容忍变化范围,形成外插区间;
205、若后继点在步骤204所形成的外插区间内,则临时记录最后一个在外插区间内的点,同时丢弃掉其他外插区间内的点;
206、若出现一个在步骤204所形成的外插区间外,则保存步骤205临时记录的点;
207、继续根据步骤201设定新的样条插值连续约束点,重复步骤202至步骤206,对后继的点执行相同的处理过程。
[0005]作为本发明的进一步优选方案,所述步骤202中的样条插值算法具体为三次样条插值算法。
[0006]作为本发明的进一步优选方案,步骤101中所述的变化限值是根据数据采样的离散特征,在保持数据有效性的前提下,设置为原始数据精度的1-2倍。
[0007]作为本发明的进一步优选方案,步骤201中所述约束点的数量根据所三次样条插值算法的特征,选取8个以上的点作为外插计算的约束点。
[0008]作为本发明的进一步优选方案,所述步骤203和步骤204中,沿时间轴做外插计算时,以数据点的采样时间作为输入参数,计算出该时间点上的外插值,然后附加上容忍变化范围,形成外插区间。
[0009]作为本发明的进一步优选方案,步骤204中所述的容忍变化范,设置为步骤101中变化限值的2-4倍。
[0010]本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明所公开的插值拟合数据压缩算法具有数据还原度好的特点。读取压缩存储数据时,采用内插法即可还原数据的真实趋势。同时,由于实时数据具备的连续趋势特征,使得该算法具备比较好的数据压缩率,极为有效地降低了数据存储空间需求。
【专利附图】
【附图说明】
[0011]图1是本发明中死区压缩示意图。
[0012]图2是本发明中插值拟合压缩示意图。
【具体实施方式】
[0013]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0014]下面结合附图对本发明的技术方案做进一步的详细说明:
本发明中死区压缩示意图如图1所示,死区压缩是作为整个拟合压缩算法的前置数据预处理过程。该算法对于时间相关的实时数据序列,按设定好的变化限值(即死区),如果当前数据点与上一个保存的数据点的偏差超过了设定的死区,那么就保存当前数据点,否则丢弃。如下图所示。该步骤主要用于滤掉噪音数据。
[0015]本发明中插值拟合压缩示意图如图2所示,插值拟合压缩是针对实时数据变化过程中具备连续的趋势特征而设计的数据压缩算法。其实现原理如下图所示。按设定好的样条插值连续的约束点数(即保证样条插值的连续性点数量)。A1、A2 - AS是要保存的点,通过由这些点形成的连续曲线,应用样条插值算法得到连续曲线的样条插值参数。并以此计算所得样条插值参数,沿时间轴做外插计算。如图中所示,以设定好的容忍变化范围(精度区)形成外插区间,外插区间包含了 B点和C点;当外插区间不能包含所有点时,如图中E点,那么其前一个点即D点需要进行保存;然后从D点前推月俗点数个点(即A2 - AS、D)再次进行样条插值计算新的外插区间。由于高次插值不收敛又不稳定,计算量也比较大。在本次算法中选择更具实用价值的三次样条插值算法作为首要算法,这样比较适应实时数据的变化趋势以及变化的快速特征。
[0016]作为具体实施例中的优选方案:
步骤101中的限值,根据数据采样的离散特征,从保持数据的有效性出发,一般设置为原始数据精度的1-2倍。
[0017]步骤201中的约束点的数量根据所三次样条插值算法的特征,从实际应用方面一般选取8个以上点作为外插计算的约束点数。
[0018]步骤203中沿时间轴做外插计算时,以数据点的采样时间作为输入参数,计算出该时间点上的外插值,然后附加上容忍变化范围,形成外插区间。
[0019]步骤204中的容忍变化范围,从实际压缩有效性考虑,一般选取步骤101中变化限值的2-4倍值。
[0020]上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
【权利要求】
1.一种数据压缩方法,其特征在于:包括死区压缩步骤和插值拟合压缩步骤,其中, 所述死区压缩步骤作为所述数据压缩算法的前置数据预处理过程,用于滤掉噪音数据,其具体过程包括: 101、对于时间相关的实时数据序列,设定其变化限值; 102、如果当前数据点与其前一个保存的数据点的偏差大于步骤101中设定的变化限值,则保存当前数据点,否则丢弃当前数据点; 所述插值拟合压缩示步骤为针对实时数据变化过程中具备连续的趋势特征而设计对应的数据压缩算法,具体过程包括: 201、设定样条插值连续的约束点; 202、通过步骤201设定的点所形成连续曲线,应用样条插值算法得到上述连续曲线的样条插值参数; 203、由步骤202所得的样条插值参数,沿时间轴做外插计算; 204、设定容忍变化范围,形成外插区间; 205、若后继点在步骤204所形成的外插区间内,则临时记录最后一个在外插区间内的点,同时丢弃掉其他外插区间内的点; 206、若出现一个在步骤204所形成的外插区间外,则保存步骤205临时记录的点; 207、继续根据步骤201设定新的样条插值连续约束点,重复步骤202至步骤206,对后继的点执行相同的处理过程。
2.如权利要求1所述的一种数据压缩方法,其特征在于:所述步骤202中的样条插值算法具体为三次样条插值算法。
3.如权利要求1或2所述的一种数据压缩方法,其特征在于:步骤101中所述的变化限值是根据数据采样的离散特征,在保持数据有效性的前提下,设置为原始数据精度的1-2倍。
4.如权利要求2所述的一种数据压缩方法,其特征在于:步骤201中所述约束点的数量根据所三次样条插值算法的特征,选取8个以上的点作为外插计算的约束点。
5.如权利要求3所述的一种数据压缩方法,其特征在于:所述步骤203和步骤204中,沿时间轴做外插计算时,以数据点的采样时间作为输入参数,计算出该时间点上的外插值,然后附加上容忍变化范围,形成外插区间。
6.如权利要求5所述的一种数据压缩方法,其特征在于:步骤204中所述的容忍变化范,设置为步骤101中变化限值的2-4倍。
【文档编号】H03M7/30GK104331495SQ201410661112
【公开日】2015年2月4日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】陈锁柱 申请人:北京国电软通江苏科技有限公司