生产型时序数据的实时全息无损压缩方法技术

技术编号:7295132 阅读:218 留言:0更新日期:2012-04-26 08:23
本发明专利技术公开了一种生产型时序数据的实时全息无损压缩方法,对N个生产型时序数据中每个数据的三个数值域:时间标签、数据数值和数据质量分别进行独立压缩,并分别形成时间标签压缩数据、数据数值压缩数据和数据质量压缩数据;再将三部分压缩数据合并为一个完整的压缩数据;该方法能够对各行各业的生产型时序数据和文件进行高效、无损地压缩,能够满足基础工业、电力、电信、化工、钢铁等生产数据庞大的行业中对时序性数据传输、分发、计算加工和存储的迫切需求。

【技术实现步骤摘要】

本专利技术涉及一种数据压缩方法,具体来说是一种对生产型时序数据进行的实时全息无损压缩方法。
技术介绍
目前,从计算机硬软件到工业控制
都在飞速发展,计算机领域的多核技术、多节点高速物理内存技术都已经成为成熟稳定的并行技术支撑。在工业控制领域,尤其是电力行业,由于控制和应用的精细化程度不断提升,人们对生产型时序数据的应用需求已经提高到了新的高度生产型时序数据的采样已经精确到100帧/秒;和分析运行相关的时序数据通常都要求在线存储5年以上等。由于单个数据的精度高、多年的运行过程中积累了相当大量的实时数据,如果单纯用存储设备存储这些数据,将需要耗费大量的存储设备和机房用于存放这些设备,另外,这些数据不但需要安全有效地存储,还需要在后期的生产实践中随时提取和访问。而现代生产控制领域对数据的规模和响应速度方面都提出了非常高的要求,可以说,这对生产经营者来说,都是个巨大的挑战。为满足上述需求,不得不耗费相当大量的生产经营成本以达到目的。尤其在数据的压缩存储技术方面,现有的数据处理方法都无法直接运用于上述领域的生产型时序数据上。传统上对生产型时序数据的处理有两种策略(1)文件级别的压缩,类似于 WinZip等,这种压缩模式不能很好地解决生产型时序数据的原因包括压缩实时性差、压缩期运算量巨大和回取时需要解压整个文件。同时,这类压缩技术在处理生产型实时数据时的针对性不强,压缩比低下。(2)旋转门有损压缩,即采用一定的线性过滤规则,丢弃一部分变化较小的数据,以过滤来达到压缩的目地;旋转门有损压缩的实现方案如下旋转门压缩算法(SDT)是一种直线趋势化压缩算法,其本质是通过一条由起点和终点确定的直线代替一系列连续数据点。该算法需要记录每段时间间隔长度、起点数据和终点数据,注意到前一段的终点数据即为下一段的起点数据。其基本原理较为简单,见附图 1所示的原理图第一个数据点a上下各有一点,它们与a点之间的距离为E,这两个点作为 “门”的两个支点。当只有第一个数据点时,两扇门都是关闭的;随着点数越来越多,门将逐步打开;注意到每扇门的宽度是可以伸缩的,在一段时间间隔里面,门一旦打开就不能闭; 只要两扇门未达到平行,或者说两个内角之和小于180°,这种“转门”操作即可继续进行。 图中第一个时间段是从a到e,结果是用a点到e点之间的直线代替数据点(a,b,c, d,e); 第二个时间间隔从e点开始,开始时两扇门关闭,然后逐步打开,后续操作与前一段类似。旋转门压缩算法(SDT)虽然实时性较强,但由于其压缩数据时,会丢弃一部分数据,因此也不能满足对生产型时序数据需要无损压缩的需求。
技术实现思路
本专利技术的目的在于提供一种,该方法能够对各行各业的生产型时序数据和文件进行高效、无损地压缩,能够满足基础工业、电力、电信、化工、钢铁等生产数据庞大的行业中对时序性数据传输、分发、计算加工和存储的迫切需求。本专利技术的目的可通过以下的技术措施来实现一种,其特征在于对序号为1 N的N 个生产型时序数据中每个数据的三个数值域时间标签、数据数值和数据质量分别进行独立压缩,并分别形成时间标签压缩数据、数据数值压缩数据和数据质量压缩数据;再将三部分压缩数据合并为一个完整的压缩数据。其中,对所述时间标签的压缩过程为la)、将第一个时间标签记录到时间标签压缩数据中,计算前两个时间标签的差值作为预测时间标签差值,并记录到时间标签压缩数据中;lb)、从第三个时间标签开始,依次计算当前时间标签与其前一个时间标签之间的时间标签差值,并将当前时间标签差值与预测时间标签差值对比如果两者相等,则当前时间标签为规则时间标签,并且,不处理当前时间标签;否则,当前时间标签为非规则时间标签,将当前的非规则时间标签及其序号记录到时间标签压缩数据中;Ic)、重复步骤lb)直到处理完全部的N个时间标签;对所述数据数值的压缩过程为2a)、将第一个数据数值记录到数据数值压缩数据中;2b)、计算前K+1个数据数值中两两相邻值之间的差值,共得到K个预测数据数值差值,记为Δ、,……,AVlri,并记录到数据数值压缩数据中;所述预测数据数值差值的序号为0 k-Ι ;2c)、从第K+2个数据数值开始,对每个数据数值记录一个固定位的压缩数据头, 并计算当前数据数值与其前一个数据数值的数据数值差值如果当前数据数值差值等于预测数据数值差值中的一个,则该数据数值的压缩数据头记为0,接着再记录对应的预测数据数值差值的序号;否则,找出预测数据数值差值中与当前数据数值差值最接近的一个预测差值Δ\,将前一个数据数值+ 的值与当前数据数值进行异或运算,并用压缩数据头记录运算结果中从最高位开始连续相同位的个数η,再记录最接近的预测数据数值差值的序号j、当前数据数值的低32-n位数据值;对所述数据质量的压缩过程为3a)、将第一个数据质量记录到数据质量压缩数据中;北)、计算前K+1个数据质量中两两相邻值之间的差值,作为预测数据质量差值, 再将K个预测数据质量差值记录到最终的数据质量压缩数据中;3c)、从第K+2个数据质量开始,计算当前数据质量和其前一个数据质量的数据质量差值,如果当前差值等于前K个差值中的某个Δ i,则当前数据质量为规则数据质量,并将该预测数据质量差值的序号i记录临时压缩数据A中;反之,当前数据质量为非规则数据质量,并将当前数据质量的序号和当前的数据质量差值记录到临时压缩数据B中;3d)、重复步骤3c),并记录非规则数据质量的个数,直到处理完全部N个数据质量后将非规则数据质量的个数、临时压缩数据A、临时压缩数据B顺序拼接到整个数据质量压缩数据后面。所述时间标签压缩过程还包含对时间标签的序号的压缩过程,具体是在重复步骤lb)的过程中累加记录非规则时间标签的数目,根据该数目计算出存储当前累积的非规则时间标签序号所需要的总字节数,如果所述总字节数超过N位(bit),则采用N位的位域方式表达全部的N个时间标签的序号,并将该表达结果记录到时间标签压缩数据中,同时删除所述时间标签压缩数据中已经记录的非规则时间标签序号的记录。所述用N位的位域方式表达全部N个时间标签的序号的方法是使用N位二进制值中的每一位对应于相应位置的时间标签,用0表示该位所对应的时间标签为规则的时间标签,用1表示该位所对应的时间标签为非规则时间标签。所述时间标签的压缩过程中还包括进一步的非规则时间标签的压缩过程,具体是li)、在重复步骤lb)处理所有N个时间标签的过程中,找出非规则时间标签中的最大值和最小值、及最大值和最小值的序号,并记录到时间标签压缩数据中;Iii)、计算非规则时间标签中最大值和最小值的差值T,并形成整型连续区间;Iiii)、在已经记录的时间标签压缩数据中,从第一个已记录的非规则时间标签开始,将当前非规则时间标签与最小值的差值在区间中的位置、当前非规则时间标签的序号记录到时间标签压缩数据中;同时删除所述时间标签压缩数据中已经记录的非规则时间标签及其序号。所述数据质量压缩过程还包含对临时压缩数据B中的非规则数据质量的序号的压缩过程,具体是如果所述累计记录的非规则数据质量的序号的字节数超过N位(bit), 则采用N位的位域方式表达全部的N个数据质量的序号,同时删除所述临时压缩数据B中已经记录的非规则数据质量的序号。所述用N位的位域方式表本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:周伊琳陈炯聪黄缙华孙建伟陈扬
申请(专利权)人:广东电网公司电力科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术