应用MaxCompute实现变压器局部放电相位分析

  1. 云栖社区>
  2. 博客列表>
  3. 正文

应用MaxCompute实现变压器局部放电相位分析

syqq 2017-07-16 11:29:10 浏览3809 评论3

摘要: 应用MaxCompute实现变压器局部放电相位分析 1 引言 随着智能电网建设的不断推进,智能化电力一次设备和常规电力设备的在线监测都得到了较大发展并成为趋势,监测数据日益庞大,电力设备在线监测系统在数据存储和处理方面面临巨大的技术挑战。

应用MaxCompute实现变压器局部放电相位分析

1 引言

随着智能电网建设的不断推进,智能化电力一次设备和常规电力设备的在线监测都得到了较大发展并成为趋势,监测数据日益庞大,电力设备在线监测系统在数据存储和处理方面面临巨大的技术挑战。

局部放电是高压设备的重要监测内容。局部放电相位分析方法是目前成熟且应用广泛的宏观特征提取方法。随着传感器技术的进步,局部放电的检测方法呈现多样化,局部放电信号的频率高且频带较宽,这就要求信号采样率高,可以达到KHz甚至MHz(每秒采样百万次),加之需要监测的设备众多,因此监测数据量呈现海量化,传统的基于单机的存储和相位分析已经难以满足当前海量数据的计算需求,迫切需要大数据处理技术的支持。

笔者在前期的研究中,使用了实验室自建的Hadoop平台,遇到的问题主要包括:1)受资金限制,集群规模较小,存储和计算资源有限。2)集群维护困难;3)服务仅在单位内网可用;4)前期需要购买硬件资金投入高,设备的利用率又很低。5)并行程序框架限制:Hadoop的MapReduce在每一轮操作之后,数据必须存储到分布式文件系统上或者HBase,接下去的Map任务执行了冗余的IO操作,导致性能下降。

公有云计算平台以按需租用的方式,将用户从硬件采购、组网、平台搭建、系统软硬件维护中解脱出来,将存储资源、计算资源以Web Service的方式封装,并对外售卖,使用户可以专心于构建系统的业务逻辑。笔者尝试利用阿里云MaxCompute存储变压器局部放点数据,并加速相位分析过程。实验结果表明,该方法相比于Hadoop MapReduce在计算效率上明显提升,并在数据可靠性、服务可用性以及成本方面具有明显优势。

2 局部放电数据的MaxCompute表存储

局部放电相位分析将多个工频周期内监测所得的局部放电参数(放电次数N、视在放电量Q或放电幅值,及放电所在相位Φ)折算到一个工频周期内,计算其统计规律性,获取放电谱图,统计放电特征,用于模式识别。

MaxCompute以表(Table)为基本单元存储数据,与Hadoop的文件系统(HDFS)以文件为单位存储数据有明显差别,表的模式不能直接套用HDFS文件的格式,需要重新设计存储模式。局部放电信号采样数据(二进制dat文件)在上传至MaxCompute前,需要转换成文本文件格式(.csv文件),再使用Tunnel工具将本地数据上传至MaxCompute表。

如果使用HDFS文件存储,可以每行存储一个工频周期的采样数据(本文中,含80万个采样点),之后执行MapReduce分析任务时,可以将一行数据作为Map函数的输入。但是MaxCompute表的列数和表格单元的数据类型存在限制,列的数量不能超过1024列,表格单元的数据类型目前仅支持6种数据类型(Bigint,Double,String,Boolean,Datetime,Decimal),因此无法在一行内存储80万个采样值。这就需要重新设计表结构。本文中,设计了表MPD,用于存储原始采样数据,如图1所示。MPD采用2级分区,其中第1级分区名名称是DeviceID,表示设备ID。第2级分区是采集时间。


fef544c0344dfd3dbd8d4466b6f110afa2fa586e

图1 MPD表结构

Maxcompute支持分区,这里以分区键作为检索条件,可以大幅减少数据搜索范围,并能快速定位到所需数据,有效提升访问性能,并节省费用。

局部放电数据分析过程中,需要产生中间结果数据,因此又设计了基本参数NQF表和放电谱图PT表,表模式如下:

表1 NQF表

SampleID

Time

Phase

Max

样本ID

时间

相位

峰值(统计得到)

其中,SampleID表示用于完成一次特征计算的谱图数据的编号。

表2 PT表

SampleID

Wid

TotalQ

AverageQ

Nums

Max

样本ID

窗编号

放电总量

平均放电量

放电次数

峰值

相位分析最终产生的结果是放电波形数据的统计特征,包含:正负半周期谱图偏斜度Sk、陡峭度Ku、局部峰点数Pe、互相关系数Cc等,如表3所示。

表3 统计特征表

SampleID

SkN

SkQ

KuN

KuQ

PeN

PeQ

Cc

QF

MCC

这些特征的含义在此不做过多解释,请查阅相关文献。

3 使用MR2完成放电数据的相位分析

MR2是MaxCompute的扩展MapReduce模型,可以在Reduce后面直接执行下一次的Reduce操作,而不需要中间插入一个Map操作,这可以有效减少磁盘IO。可以支持Map后连接任意多个Reduce操作,比如Map-Reduce-Reduce…。

相位分析过程需要多个MapReduce任务串联完成,如图2所示。

0bbbeb7998571867e7bd05d40b184481f94391d1

图2 相位分析MapReduce任务关系

格式转换是为了将采样数据上传至ODPS表而做的数据预处理,主要任务是将二进制采样数据转换成Tunnel能够使用的文本格式。

子任务1用于提取基本统计参数n-q-φ,需要扫描MPD表指定分区,找到放电过程,并记录放电相位和幅值。Mapper函数对逐条输入的采样数据,根据预先设定的纵向阈值进行数据筛选,并将大于阈值的采样点输出至Combiner。Combiner是本地(与Mapper在相同的节点)执行的汇总,对Mapper的输出结果集合,寻找峰值点,并输出至Reducer进行汇总。Combiner有效的分担了Reducer的数据汇总工作,并且减少了Reducer所在节点传输的数据量,可以有效提升并行计算过程的速度。Reducer函数负责汇总由Combiner输出来的极值点,并使用预先设定的横向阈值进行极值点的筛选。如果两个极值点距离“很近”(相位差小于横向阈值),则认为是同一次放电。输出的结果存储于NQF表。

子任务2接收NQF表的数据作为输入,计算放电谱图和统计特征。为了加快计算速度,设计了Map-Reduce1-Reduce2模式的计算过程,使谱图数据作为中间结果缓存在Maxcompute分布式内存中,节约了磁盘读取的开销。Reduce1和Reduce2的连接使用了Maxcompute提供的Pipeline完成。子任务2最终的输出是统计特征表,可以用于后续的模式识别任务,模式识别可以写程序完成,或者使用阿里云机器学习平台去完成。

4 实验分析

在实验室完成了电晕放电、悬浮放电、气泡放电和油中放电实验。局部放电信号采集仪器采用TWPD-2F局部放电综合分析仪,最大采样频率为40MHz,采集信号的有效频带为40k~300kHz。

为验证所设计的分析算法性能和稳定性,选取了不同大小的数据集,如表4所示。数据集1x表示1倍数据,包含50个文件(50条局放数据),本文中选用50条局放数据进行1次统计特征的提取。

表4 实验用数据集

数据集ID

记录数(dat文件数)(条)

datGB

csv(GB)

MaxCompute

TableGB

Table记录数(万条)

压缩比

1x