一种海量燃气数据的压缩方法
【技术领域】
[0001] 本发明涉及一种数据压缩方法,尤其是一种用于对海量的燃气数据进行压缩的方 法。
【背景技术】
[0002] 随着自动化技术的不断发展,相关的技术和产品为燃气管网和设备运行状态信息 的监管建立提供了坚实的技术基础。燃气信息监管系统包括燃气数据的采集、反馈、存储和 分析。数据的采集包括管网及燃气设备运行的工作压力、流量以及针对特殊用户的安全报 警等信号的采集,通过通讯手段将数据反馈回数据中心,帮助管理人员及时、准确地了解运 行情况。城市燃气管网、调压站、用户燃气表具等监管系统中每天都产生海量的过程数据, 在监控过程中长期积累的数据是燃气企业宝贵的资源,为诊断和处理故障提供了第一手资 料;同时,可以通过对不同时间段的历史数据进行分析,模拟出整个管网运行的变化规律, 为管网的优化提供直观而且准确的数据依据。因此,普遍存在着存储和利用这些海量生产 数据的应用需求,但保存历史数据存在一定的困难:由于监控数据点数量巨大,需要保存的 历史数据十分可观,若不经压缩直接存储,将需要很多的存储介质。因此,研宄的历史数据 的压缩方法显得很重要。通常采用的旋转门趋势分析(SwingingDoorTrend,SDT)算法 是目前过程工业中数据压缩最为流行的算法,国外著名的实时数据库0SI公司的PI、GE公 司ProficyHistorian以及爱康诺(ICONICS)公司的HyperHistorian等数据库都是采用 SDT( "旋转门"压缩)技术,中国的实时数据库厂商基本上也是基于SDT技术进行拓展。
【发明内容】
[0003] 本发明要解决的技术问题是由于监控数据点数量巨大,而现有的压缩方法失容差 性差、真率较高,在数据解压后不能有效地反映实际数据情况。
[0004] 为了解决上述技术问题,本发明提供了一种海量燃气数据的压缩方法,包括如下 步骤:
[0005] 步骤1,根据燃气使用时间段实时设定最大时间间隔参数T_、压缩偏移量的调整 幅度参数n、压缩容差AE、偏差容差参数y、期望误差Ss以及死区阈值e,其中,死区阈 值e =y ?Ss,压缩容差AE=AEmax-AEmin,AEmax和AEmin分别为压缩容差AE的上 限和下限;
[0006] 步骤2,按时间先后顺序读取燃气数据采集序列中的一个数据点yk(0〈k<n), 并计算数据点yk与前一数据点的记录时间间隔At,若At<T_,则进入步骤4,若 At彡Tmax,则进入步骤3 ;
[0007] 步骤3,直接存储前一数据点,并将k加1,再返回步骤2 ;
[0008] 步骤4,计算"旋转门"转动到数据点yk状态时的上扇门斜率和下扇门斜率,并将 数据点yk状态时的上扇门斜率和下扇门斜率与前一数据点yu状态时的上扇门斜率和下扇 门斜率作比较,取上扇门斜率的较大值作为数据点yk状态时的上扇门斜率,取下扇门斜率 的较小值作为数据点yk状态时的下扇门斜率,若此时数据点yk状态时的上扇门斜率 < 数据 点yk状态时的下扇门斜率,则存储前一数据点yh,同时结束本次"旋转门"的数据压缩,并 将前一数据点作为下一"旋转门"数据压缩的起始点,再进入步骤5,若此时本次数据点 状态时的上扇门斜率>本次数据点状态时的下扇门斜率,则直接进入步骤5 ;
[0009] 步骤5,判断当前燃气数据采集序列中的数据是否压缩完毕,若压缩完毕,则进入 步骤6,若未压缩完毕,则将k加1后返回步骤2 ;
[0010] 步骤6,对压缩后的数据进行数据解压,并采用线性插值法恢复没有存储的 数据点,根据解压后的数据九,免,...,九以及原始数据yi,…,yn计算最大误差
【主权项】
1. 一种海量燃气数据的压缩方法,其特征在于,包括如下步骤: 步骤1,根据燃气使用时间段实时设定最大时间间隔参数Tmax、压缩偏移量的调整幅度 参数η、压缩容差ΔΕ、偏差容差参数μ、期望误差δ S以及死区阈值ε,其中,死区阈值ε =μ · δ8,压缩容差ΛΕ= AEmax-AEmin, AEmax和AEmin分别为压缩容差ΛΕ的上限和下 限; 步骤2,按时间先后顺序读取燃气数据采集序列中的一个数据点yk(OK η),并计算 数据点yk与前一数据点yirf的记录时间间隔Δ t,若Δ t < Tmax,则进入步骤4,若Δ t彡Tmax, 则进入步骤3 ; 步骤3,直接存储前一数据点,并将k加1,再返回步骤2 ; 步骤4,计算"旋转门"转动到数据点yk状态时的上扇门斜率和下扇门斜率,并将数据 点yk状态时的上扇门斜率和下扇门斜率与前一数据点yu状态时的上扇门斜率和下扇门斜 率作比较,取上扇门斜率的较大值作为数据点y k状态时的上扇门斜率,取下扇门斜率的较 小值作为数据点yk状态时的下扇门斜率,若此时数据点y k状态时的上扇门斜率 < 数据点yk 状态时的下扇门斜率,则存储前一数据点yk+同时结束本次"旋转门"的数据压缩,并将前 一数据点yu作为下一"旋转门"数据压缩的起始点,再进入步骤5,若此时本次数据点状态 时的上扇门斜率>本次数据点状态时的下扇门斜率,则直接进入步骤5 ; 步骤5,判断当前燃气数据采集序列中的数据是否压缩完毕,若压缩完毕,则进入步骤 6,若未压缩完毕,则将k加1后返回步骤2 ; 步骤6,对压缩后的数据进行数据解压,并采用线性插值法恢复没有存储的数据点,根 据解压后的数据λ,免,....,九以及原始数据Y1,…,yn计算最大误差 以及平均误差
若δ _多δ s,则存储δ _所对应的原始数据,再根据偏 差e = δ S- δ进行调整: 1) 若|e| < ε,表明偏差在允许范围内,则不对ΛΕ作调整,并进入步骤7 ; 2) 若e多ε,表明平均误差δ偏小,ΛΕ设置偏低,会导致压缩比CR偏低,则进入步骤 1对压缩偏移量ΔΕ在AEmax限定范围内作增大调整ΛΕ= ΛΕ+η .e/ε,若ΛΕ> ΛΕ_, 则ΔΕ = ΔΕ眶; 3) 若e<-e,表明平均误差δ偏大,ΛΕ设置偏高,会降低压缩后数据的解压精度, 则进入步骤1对压缩偏移量Δ E在Λ Emin限定范围内作减小调整Λ E = Λ E-η · e/ ε,若 ΛΕ< AEmin,则 ΛΕ= AEmin; 步骤7,判断是否有新的燃气数据采集序列待压缩,若有,则返回步骤2,若没有,则结 束并退出。
2. 根据权利要求1所述的海量燃气数据的压缩方法,其特征在于:所述步骤1中最大 时间间隔参数Tmax在0:00~6:00时间段内的值为1800秒,在6:00~8:00时间段内的值 为300秒,在8:00~10:00时间段内的值为600秒,在10:00~12:00时间段内的值为300 秒,在12:00~17:00时间段内的值为900秒,在17:00~19:00时间段内的值为300秒, 在19:00~24:00时间段内的值为1200秒。
3. 根据权利要求1或2所述的海量燃气数据的压缩方法,其特征在于:所述步骤1中 压缩偏移量的调整幅度参数η = (AEmax-AEmin)/12。
4. 根据权利要求1或2所述的海量燃气数据的压缩方法,其特征在于:所述步骤1中 偏差容差参数μ大小为〇. 1~〇. 2。
5. 根据权利要求3所述的海量燃气数据的压缩方法,其特征在于:所述步骤1中偏差 容差参数μ大小为〇. 1~〇. 2。
【专利摘要】本发明提供了一种海量燃气数据的压缩方法,步骤为:参数初始化、比较记录时间间隔、“旋转门”数据压缩、数据解压、计算偏差以及根据偏差调整压缩容差。该方法采用负反馈来实时调节压缩参数,从而始终确保较高的压缩精度,能够根据燃气数据的使用时间规律对燃气数据进行精确压缩,具有较好的应用前景。
【IPC分类】H03M7-30
【公开号】CN104682962
【申请号】CN201510067670
【发明人】魏晓冬, 张俊峰, 俞辉
【申请人】南京邦耀科技发展有限公司
【公开日】2015年6月3日
【申请日】2015年2月9日