面向油中溶解气体监测时序数据压缩的改进方法
2017-05-11张炜王英洁邬蓉蓉
张炜,王英洁,邬蓉蓉
(1.广西电网有限责任公司电力科学研究院,南宁市 530023;2.南方电网科学研究院,广州市 510080)
面向油中溶解气体监测时序数据压缩的改进方法
张炜1,王英洁2,邬蓉蓉1
(1.广西电网有限责任公司电力科学研究院,南宁市 530023;2.南方电网科学研究院,广州市 510080)
为提高油中溶解气体监测数据的分析、传输效率,提出了一种针对时间序列数据的改进压缩存储方法。首先区别状态量和模拟量的数据类型,并创建不同数据列的二维表。其次,组合应用旋转门算法和哈夫曼算法,并在创建的数据区间索引后实现数据压缩存储。实测结果表明该方法不仅能满足对时间序列数据的高效、并发存储要求,还有利于在改进数据读取、传输效果的基础上,开展大数据分析和跨系统应用。
油中溶解气体;时间序列数据;旋转门算法;哈夫曼算法
0 引 言
根据《中国电力大数据发展白皮书(2013年)》的介绍,电力企业大多已建成的企业级信息集成平台虽能处理日常业务,但数据储存时间以及海量数据的爆发式增长对IT基础设施提出了更高的要求[1]。以变压器油中溶解气体监测数据为例,该数据是电力生产中的关键数据,但对此数据的存储与交换能力尚不能适应电力大数据应用的要求。
在以电力大数据关键技术诊断设备运行状态时,需要利用海量状态监测数据,而海量数据在数据传输、存储和检索方面仍存在一定难度[2]。为解决此问题,虽然已经应用了多种电力系统数据压缩技术[3-8],然而在实际上除优化压缩算法外,还需结合不同数据的访问特征研究高速存储、索引体系结构以及流计算即时处理等技术,进而增强数据压缩品质。油中溶解气体监测数据涵盖了所在电网主变的油中气体含量,是表征变压器是否存在内部故障及其故障性质、程度的重要特征数据,但其应用在关系数据库系统结构化查询语言(structured query language,SQL)时所暴露出的扩展性差、可靠性低等问题,也不同于数据采集与监视控制(supervisory control and data acquisition,SCADA)系统故障录波、电能质量等数据格式,故难以适应压缩品质的要求[9],并制约分析、传输监测数据的效率。
本文针对上述问题和需求,在监测系统的时序数据库基础上,提出一种适用于油中溶解气体监测时序数据的压缩存储方法。该方法对油中溶解气体的监测不同于SCADA系统故障录波、电能质量等数据的索引体系结构的情况,首先将时序数据的数据项按照不同的数据类型组合在一个固定的存储结构二维表中,再以旋转门算法和哈夫曼算法组合后压缩,最后将组合成的若干固定长度的数据块存储在数据库中。该方法将有损与无损压缩方法相结合,不仅能够保障压缩比和压缩品质,还能够提升跨系统传输、海量数据分析的效率。
1 油气监测数据应用特征
1.1 数据读取分析
与其他工况测试数据相比,油中溶解气体监测数据分布广、数据多、频次高[10],读取分析难度大。如广西电网在2015年共采集300台变压器或高压电抗器的92 783条有效监测数据,而每条监测数据需要在关系型数据库中占用288字节的存储空间。利用显著性差异分析等方法[11]分析全网监测数据,筛查存在同制造厂同批次设备的共性缺陷、存在劣化趋势的隐性缺陷等,需要对监测的数据进行参数多层分解,并形成以时间为线索的数据压缩流。然而,以下2个方面的局限将影响大数据分析应用的效果:一方面,监测点及监测频次在不断增加,数据存储规模将日剧增大;另一方面,维护传统关系型数据库中表结构的关联性、一致性将势必牺牲数据的读写性能。
1.2 数据集成传输
状态监测评估系统主站除了需要展示、分析监测数据外,还具备信息传输、数据共享和分布式处理等职能[12-13]。如各省级电网主站需要向南方电网主站、海量准实时数据平台、数据中心等推送数据,故对集成传输要求高。特别是为落实《电力监控系统安全防护规定》(国家发展改革委2014年第14号令)、Q/CSG 1204009—2015《中国南方电网电力监控系统安全防护技术规范》等要求,将首先在生产控制大区的非控制区(安全Ⅱ区)采集、存储监测数据,再通过正向安全隔离装置向管理信息大区的生产管理区(安全Ⅲ区)传输、发布和应用监测数据,如图1所示。此时,通过横向正向安全隔离装置传输数据将在速率、容量等方面有更大限制[14]。当信息负荷水平过大时,数据传输性能下降,滞留大量数据包[15-16]。故系统中数据包吞吐率为40兆位/s (100条安全策略,1 024字节报文长度),数据包转发延迟小于 10 ms(100%负荷)。因此,须压缩监测数据,减少通过安全隔离装置的数量和次数。
图1 监测系统网络安全防护逻辑结构Fig.1 Logical structure of network security protection for monitoring system
2 改进压缩方法
2.1 油中溶解气体监测数据结构
油中溶解气体监测的源数据表包括状态量和模拟量这两大类数据,其中状态量主要是指监测告警和装置状态。表1为源数据的表结构。本文将分别处理状态量和模拟量这2类数据,对于状态量的处理方法相对简单,其中仅需保留变化的状态量可以进行大幅无损压缩,重点在于模拟量的压缩。
表2为部分关系数据库中油中溶解气体监测数据的原始数据示例,由表2中的数据可知,数据表内存在大量重复数据,可用组合压缩算法归档压缩原始的油中溶解气体监测数据,具体步骤为:(1)采用旋转门压缩算法压缩表中的各列数据,并形成新的二维表;(2)梳理经旋转门压缩后二维表中的大量空值,并为节省空间而进行组合存储;(3)采用哈夫曼算法压缩经组合存储变换后的数据。
2.2 数据压缩
2.2.1 旋转门压缩
图2为旋转门算法原理的示意图。如图2所示,X0作为当前保留的一个数据点,以距离X0为ΔE的上下2个点作为支点,t1时刻的数据点X1分别与X0的2个支点形成第1个三角形的虚拟门[17]。同样,在t2
表1 源数据的表结构
Table 1 Table structure of source data
表2 原始数据示例Table 2 Examples of raw data
时刻的数据点X2分别与X0的2个支点形成第2个三角形虚拟门,此时,第2个三角形包含了前一个数据点X1。接下来继续进行旋转门操作,第3个三角形虚拟门包含了前面2个数据点X1、X2,到第4个点X4时,三角形虚拟门只包含了X1,并没有包含X2和X3。因此,第1段旋转门操作结束。此时,从t0到t3时段,压缩了X1、X2、X3数据点被保留。同样,t3到t5完成第2个旋转门操作,只保留X5数据点。
图2 旋转门算法原理Fig.2 Principle of rotating gate algorithm
对原始数据逐列应用旋转门压缩算法,压缩后的数据仍然可以表示成一张二维表,而被压掉的数据点将被以空值(Null)表示,进而大幅降低存储量。图3为“C2H2_DATA”列经旋转门压缩后的结果。
表3 C2H2的压缩结果
Table 3 C2H2compression results
旋转门压缩阶段的主要步骤为:(1)逐列压缩表中数据,并以“Null”表示被压缩的数据;(2)逐行梳理表中数据,并过滤除时间外其他均为空值的行。
完成上述步骤后,所得的结果即是旋转门压缩阶段的最终结果。旋转门压缩算法是一种有损压缩算法,被压缩掉的数据可能无法精确恢复,但仍可依据保留的数据拟合近似值和绘制趋势曲线,不影响监测数据预警和诊断设备异常。
此外,时序数据库将单个测量参数作为管理基本单位,每个参数都带一个时标。为了压缩时标,采用边长相对时间表示数据的时标,即可使高频率独立采集的数据达到较好效率。但对于油气数据这类多个参数(37个)同时采集的低频数据而言,则会浪费很多空间去存储相同的数据时标,本文采用多个采集指标组合存储的方式,这样可以共享时标,节省存储。
2.2.2 组合存储
经旋转门压缩后产生的空值也将占用存储空间,且其存储方式也直接影响到存储量,本文采用非空标识位图来表示每个数据是否为空值(即每个数据用一个比特表示是否为空值),其组合存储后的数据块结构如图3所示。
图3 非空标识位图Fig.3 Non empty ID bitmap
图3中:数据块描述信息是说明数据转换后存储结构的简要信息,包括数据函数和列数以及数据非空标识位图、时标信息、行数据的起始位置;时标信息存储每行数据的时标字段,每个时标占8字节;数据非空标识位说明表中数据点是否为空,每个数据点以位表示;行数据块存储每行数据非空的数据点,每个数据点占4字节。
结构转换的具体步骤为:(1)按顺序取表中的一行数据,并将其中的时标追加至新数据结构的时标信息中;(2)按顺序逐列检查该行数据中的数据项,若数据项为空,则在位图的相应位置置0,否则置1,并将该数据项追加到新数据结构的行数据块中;(3)重复以上2步,直至扫描完毕所有的数据行;(4)将数据行数、列数及时标信息、数据非空标识位图位、行数据块的开始位置信息填入数据块描述信息中,至此完成组合存储转换。
2.2.3 哈夫曼压缩
哈夫曼算法是一种最常用的不等长无损压缩编码方法,可提升访问速度[18]。油中溶解气体监测数据通常按时间查看,故为确保查询效率,则单独提取时标信息且无须压缩,查询时亦无须解压则直接查询。因此本文中的无损压缩只对行数据块进行,如图4所示。
图4 无损压缩示例Fig.4 Lossless compression process
图4中:左部为经旋转门压缩组合存储后的数据;右部为以哈夫曼压缩算法无损压缩的内容,其关键在于确定码元在数据块中出现的权重,本文以字节(信源符号)为单位对行数据块(信源)进行编码,即是信源符号(码元)最大数为256个(0,1,2,…,256),其主要步骤如下详述。
(1)定义一个长度为256的整数数组F,并将所有元素初值设置为0,该数组用于统计各码元在整个被编码的数据块中出现的次数。
(2)逐字节地遍历被编码数据块,并以该字节的值(无符号整数)为数组F的下标,对数组的元素进行加1操作,直至遍历被编码数据块所有字节。
(3)执行步骤1和步骤2后,可得码元及其出现的次数,只有F中值不为0的数组元素下的标值才是编码中有效的码元(码元数量影响编码后的码字长度),经统计码元出现次数可得各码元的权重。
(4)由步骤3求解、保存码元及其权重构造编码表,并使用编码表对被编码数据逐字节编码直至最后一个字节,将编码后的数据存储于图4中压缩数据的位置中。
(5)鉴于哈夫曼编码本身不具备检错和纠错功能,故以美国标准信息交换代码(American standard code for information interchange,ASCII)校验哈夫曼编码表和压缩数据,并将结果存储于图4中压缩数据校验码的位置中。
在解压数据时,先计算校验和是否正确,哈夫曼编码的解压过程利用压缩时已计算好的编码表来解压缩数据,不同之处在于压缩时需逐字节地扫描被压缩数据,而解压过程则是逐位扫描已压缩数据而还原数据。
3 算例分析
3.1 压缩比分析
压缩500 kV玉林站2号主变B相3个月内的122条监测数据,结果如图5所示。分析氢气测值的压缩结果,如图6所示。可见原122个H2测值在经压缩后为21个点,压缩比约为6∶1,有效地还原了区间范围内数据上下波动的情况,保留了高价值的峰值数据。
图5 3个月内的监测数据Fig.5 Monitoring data within three months
图6 采用旋转门法压缩后的数据Fig.6 Data compressed by rotating gate algorithm
改进压缩方法与测值数据变化区间范围相关,梳理现有监测数据样本值发现,测值主要集中在200 μL/L内变化,通过调整旋转门压缩参数,压缩率可以达到8∶1,而无损数据的基本特征。因此,通过改进算法原理,最多1个字节即足以表示这200多种变化(1字节=8位,28=256种变化)。在实际应用中,以2015年广西电网在用的300套监测装置共采集92 783条有效监测数据为例,采用本方法最低可节省存储空间为92 783×(288-36)字节=23 381 316字节,即节约了87.5%的存储空间。
3.2 解压读取和传输分析
与传统的关系性数据库不同,在采用时序数据库存储后是以时间序列索引按序存储监测数据,并以时间点或时间段读取数据。为检验采用压缩算法后的误差,对压缩后的广西电网300条监测数据进行分析,结果如图7所示。对压缩后油中气体监测数据大小进行统计,设备状态分为警示、注意、正常3类等级,其监测数据与设备状态结果与压缩前一致,故可得压缩数据后并未造成关键数据遗漏或偏差,适合用于分析设备状态。因此,改进压缩方法可在不影响大数据分析的情况下,依据监测数据的时间偏移量快速检索和定位,提升读取分析效率。
图7 监测数据分析的平行坐标图Fig.7 Parallel coordinates of monitoring data
图8为压缩前后数据库镜像文件传输的网络使用率。经监控、比对可知,压缩后数据库镜像文件传输所耗时间由43 s减少至7 s,其效率提高了约6倍,且还可多传输276.7 MB的数据。测试压缩后数据的传输效果,说明该方法可以通过改进向海量准时数据平台等系统推送数据的效率,满足电力监控系统安全防护技术规范的要求。
图8 压缩前后的网络使用率Fig.8 Network usage before and after compression
3.3 效果分析
本文采用有损压缩和无损压缩的组合存储方式。由经验分析可得,视不同设备的运行状态,单台设备监测数据的有损压缩比可达8∶1,而无损压缩则分布在4∶3到3∶1之间,因此推算综合压缩率在32∶3到24∶1之间。因哈夫曼算法是无损压缩,除数据损坏情况外,解码还原率应为100%。故总体解码还原率取决于旋转门算法的压缩参数,当旋转门压缩比为8∶1时,解码还原率大于1/8。本文保留了监测告警和装置故障的状态量,重点在于压缩模拟量,故不影响及时发现异常突变的情况和还原监测趋势。对容量为178.5 MB的数据进行压缩实验,模拟传输的实验结果见表4。
表4 压缩效果分析
Table 4 Analysis of compression results
由压缩比、读取和传输的测试结果可知,压缩后的数据容量减少了162.272 MB,节约了90%的存储空间,压缩比达到了10∶1;压缩后的传输时间减少了34 s,节约了83%的传输时间。本文所采用的旋转门和哈夫曼组合算法,能够有效地存储油中溶解气体这类低频次数据块,不会丢失变压器异常突变时的预警数据,并能够有效解压和重构历史数据,更适用于快速检索变压器异常或监测装置故障时的数据。
由于自适应小波、二维重组等压缩算法主要用于SCADA系统、录波或电能质量装置数据,其数据特征在于采集频率高、采集点数多、变化频率低、爆发式规模等,所以本文算法更适用于油中溶解气体监测数据采样频次较低、数据规模固定,但不容遗漏异常突变情况的数据特征,并满足了数据检索读取与传输要求。此外,本文采用组合存储方式的同时,针对数据查询的特征,将时标从数据剥离,且不进行压缩,这样有利于数据检索,压缩与传输效率也将有利于在移动终端APP软件中检索分析监测数据。
4 结 论
本文提出了一种面向油中溶解气体时序数据压缩的改进方法,通过组合应用旋转门算法和哈夫曼算法而改进了数据索引体系结构及流计算方法,提升了数据压缩的品质。该方法适用于油中溶解气体监测数据频次较低、规模固定及突变测值关键的特点,在大数据分析与传输方面,能够减少约90%的存储空间,缩短约6倍的应用时间,取得合适的数据读取、传输效果。
[1]中国电机工程学会电力信息化专业委员会.中国电力大数据发展白皮书[M].北京: 中国电力出版社, 2013:1-22.
[2]张斌,张东来.电力系统采集数据压缩品质影响规律研究[J].电网技术,2012,36(4):160-166. ZHANG Bin, ZHANG Donglai. Research on influencing law of compression quality of acquisitioned power system data[J]. Power System Technology,2012,36(4):160-166.
[3]康忠健,樊建川,徐丽.自适应小波压缩算法在连续录波装置中应用[J].电力自动化设备,2009,29(10):116-119,124. KANG Zhongjian,FAN Jianchuan,XU Li. Application of adaptive wavelet data compression algorithm in continuous recorder[J]. Electric Power Automation Equipment,2009,29(10):116-119,124.
[4]闫常友,杨奇逊,刘万顺.基于提升格式的实时数据压缩和重构算法[J].中国电机工程学报,2005,25(9):6-10. YAN Changyou, YANG Qixun, LIU Wanshun. A real-time data compression & reconstruction method based on lifting scheme[J].Proceedings of the CSEE,2005,25(9):6-10.
[5]刘毅,周雒维,冯浩.电能质量监测网录波数据压缩方法[J].电网技术, 2010, 34(4): 199-203. LIU Yi, ZHOU Luowei, FENG Hao. Method for compressing recorded data from power quality monitoring network[J].Power System Technology,2010,34(4):199-203.
[6]GEREK Ö N, ECE D G. Compression of power quality event data using 2D representation[J]. Electric Power Systems Research, 2008, 78(6): 1047-1052.
[7]王超,张东来,张斌,等.电力系统二维重组法数据压缩算法[J].电工技术学报,2010,25(11) :177-182. WANG Chao, ZHANG Donglai, ZHANG Bin,et al.A 2-D information reordering data compression method for power system[J].Transactions of China Electrotechnical Society, 2010, 25(11): 177-182.
[8]马发勇,厉启鹏,马志斌,等.电力调度SCADA系统中历史数据压缩及存储策略[J].电网技术, 2014,38(4):1109-1114. MA Fayong, LI Qipeng, MA Zhibin, et al.The research of historical data compression and storage strategy in power dispatch SCADA system[J].Power System Technology, 2014,38(4):1109-1114.
[9]白红伟,马志伟,宋亚奇.基于云计算的智能电网状态监测数据的处理[J]. 华东电力,2011,39(9):1485-1488. BAI Hongwei, MA Zhiwei,SONG Yaqi.Processing of smart grid monitoring data based on cloud computing[J].East China Electric Power,2011,39(9):1485-1488.
[10]赵笑笑,云玉新,陈伟根.变压器油中溶解气体的在线监测技术评述[J].电力系统保护与控制,2009,37(23):187-191. ZHAO Xiaoxiao, YUN Yuxin, CHEN Weigen. Comment on on-line monitoring techniques for dissolved gas in transformer oil[J].Power System Protection and Control, 2009,37(23):187-191.
[11]中国电力企业联合会.输变电设备状态检修试验规程: DL/Z 393-2010[S].北京:中国电力出版社,2010.
[12]吕泽承,邓雨荣,张炜,等.在线监测系统现场综合处理单元与变电站平台之间的通信技术[J].南方电网技术,2013,7(6):136-140. LYU Zecheng, DENG Yurong, ZHANG Wei,et al. Communication technology between the integrated processing unit and substation platform of on-line monitoring system[J].Southern Power System Technology,2013,7(6):136-140.
[13]陈晓国,王俊锞,张炜,等. 基于IEC 61850的设备状态在线监测系统架构优化及数据模型[J].南方电网技术,2015, 9(7): 95-99. CHEN Xiaoguo,WANG Junke, ZHANG Wei,et al. Structure optimization and data modelling of IEC 61850 based online equipment monitoring system[J].Southern Power System Technology, 2015,9(7):95-99.
[14]申永辉.电力专用安全隔离装置的原理和应用[J].湖南电力, 2006,26(6):31-33.
[15]李高望,鞠文云,段献忠,等.电力调度数据网传输特性分析[J].中国电机工程学报,2012,32(22):141-148. LI Gaowang, JU Wenyun,DUAN Xianzhong, et al.Transmission characteristics of the electric power dispatching data network[J].Proceedings of the CSEE,2012,32(22):141-148.
[16]胡娟, 李智欢,段献忠.电力调度数据网结构特性分析[J].中国电机工程学报,2009,29(4):53-59. HU Juan, LI Zhihuan, DUAN Xianzhong. Structural feature analysis of the electric power dispatching data network[J].Proceedings of the CSEE,2009,29(4):53-59.
[17]曲奕霖,王文海.用于过程数据压缩的自控精度SDT算法[J].计算机工程, 2010, 36(22): 40-42. QU Yilin , WANG Wenhai. Automatic parameter control SDT algorithm for process data compression[J].Computer Engineering,2010,36(22):40-42.
[18]欧阳一鸣,黄贵林,梁华国,等.利用少数相关位的SoC测试数据压缩方法[J].电子测量与仪器学报, 2013, 27(1):76-82. OUYANG Yiming, HUANG Guilin, LIANG Huaguo,et al. Test data compression of system-on-chip(SoC) using few relevant bits[J].Journal of Electronic Measurement and Instrument, 2013, 27(1):76-82.
(编辑 景贺峰)
An Improved Method for Compressing Time Series Data of Dissolved Gas Monitoring in Oil
ZHANG Wei1,WANG Yingjie2,WU Rongrong1
(1. Electric Power Research Institute of Guangxi Power Grid Co., Ltd., Nanning 530023, China;2. Electric Power Research Institute, China Southern Power Grid, Guangzhou 510080, China)
In order to improve the monitoring data analysis and transmission efficiency of dissolved gases in oil, this paper proposes a improved compression storage method for time series data. Firstly, we distinguish the data types of state and analog, and create two-dimensional table with different data columns. Secondly, combining the spinning door transformation algorithm and Huffman compress algorithm, we create a data interval index to achieve data compression and storage. The measured results show that the proposed method can not only meet the requirements of efficient compression and storage data for time series, but also develop the large data analysis and cross system applications based on the improved data reading and transmission effect.
dissolved gas in oil; time series data; spinning door transformation algorithm; Huffman compress algorithm
中国南方电网公司科技项目(GXKJXM20151039)
TM 85
A
1000-7229(2017)05-0098-07
10.3969/j.issn.1000-7229.2017.05.013
2017-03-01
张炜(1983),男,硕士,高级工程师,主要研究方向为电力设备状态监测与故障诊断;
王英洁(1982),女,硕士,高级工程师,主要研究方向为电力设备状态监测与故障诊断;
邬蓉蓉(1984),女,硕士,工程师,主要研究方向为电力设备状态监测与故障诊断。