原文链接:[url]http://click.aliyun.com/m/26737/[/url]
摘要: 应用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采用二级分区,其中一级分区名称为DeviceID,表示设备ID。二级分区为采集时间。
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可用的文本格式。
提取基本统计参数的子任务1n-q-φ,需要扫描MPD找出放电过程,并记录放电相位和振幅值。Mapper函数根据预设的纵向阈值逐条输入采样数据,并输出大于阈值的采样点Combiner。Combiner是本地(与Mapper汇总在同一节点)执行,对Mapper收集输出结果,找到峰值点,输出到Reducer进行汇总。Combiner有效分享Reducer数据汇总减少了Reducer节点传输的数据量可以有效地提高并行计算过程的速度。Reducer函数负责汇总Combiner输出的极值点,并使用预设的横向阈值进行极值点筛选。若两个极值点距离非常近(相位差小于横向阈值),则认为是同一放电。存储输出结果NQF表。
子任务2接收NQF计算放电谱图和统计特征作为输入表数据。为了加快计算速度,设计了Map-Reduce1-Reduce2模式的计算过程缓存了谱图数据作为中间结果Maxcompute磁盘读取的成本在分布式内存中得到了节省。Reduce1和Reduce使用了2的连接Maxcompute提供的Pipeline完成。子任务2的最终输出是统计特征表,可用于后续模式识别任务,可用于编写程序或使用阿里云机器学习平台。
4 实验分析
在实验室完成了电晕放电、悬浮放电、气泡放电和油中放电实验。局部放电信号采集仪器采用TWPD-2F局部放电综合分析仪最大采样频率为40MHz,采集信号的有效频带为40k~300kHz。
为验证所设计的分析算法性能和稳定性,选取了不同大小的数据集,如表4所示。数据集1x表示1倍数据,包括50个文件(50个局放数据),本文选择50个局放数据提取1个统计特征。
表4 实验数据集
数据集ID
记录数(dat文件数)(条)
dat(GB)
csv(GB)
MaxCompute
Table(GB)
Table记录数(万条)
压缩比
1x
50
0.305
0.898
0.203
4000
4.421
2x
100
0.61
1.75
0.425
8000
4.118
4x
200
1.22
3.5
0.852
16000
4.108
8x
400
2.44
7
1.523
32000
4.596
16x
800
4.88
14
3.447
64000
4.061
32x
1600
9.76
28
6.394
128000
4.379
64x
3200
19.52
56
12.688
256000
4.414
128x
6400
39.04
112
25.972
512000
4.312
256x
12800
78.08
224
51.952
1024000
4.427
分别在单机环境下、实验室自建的Hadoop平台(6个计算节点)下和Maxcompute平台下完成放电数据的相位分析,(分别命名为S-PRPD、Hadoop-PRPD、ODPS-PRPD),测量算法执行的时间、使用的硬件资源(CPU、内存)进行性能对比,如图3、图4、图5所示。
ad35135c7ee200a0af31c5c3e5619b937b46598f
图3 相位分析执行任务执行时间
在图3中,S-PRPD算法在单机环境下运行,执行时间随数据量增加急剧增长。只完成了4X数据集的分析任务(更大数据量耗时太长)。Hadoop-PRPD算法在自建Hadoop平台下执行。受存储容量和计算性能影响,实验只完成了16x数据集的分析任务,算法执行时间缓慢增长。ODPS-PRPD算法运行在Maxcompute平台下,完成了256X数据集的分析(还可以更大),运行时间平稳,在数据规模成倍增长情况下,整体运行时间增长很少或不增长,甚至,在分析8X数据集时出现负增长。主要归因于ODPS硬件的弹性伸缩,如图4和图5所示。
6d8dcf4ada1338b901b2074b72accbda006dba47
图4 CPU核心数的消耗
f620a2befbeea407f89038217e2039437486a049
图5 内存消耗
从图3和图4中可以看出,随着数据规模的增长,ODPS-PRPD使用的硬件资源总体呈现线性增长的趋势。数据规模越大,为其分配的硬件资源越多,但也不是严格的线性关系。Maxcompute为并行任务分配的硬件资源有一个复杂的算法实现,目前阿里云尚未公开,使用者暂不能控制资源的分配。虽然底层细节对用户透明,但是这种弹性伸缩的性质还是能够强有力的为大数据分析助力。当数据规模达到51GB(256x)时,使用的CPU核心数达到了1093,内存达到了1639GB。这种硬件条件是目前很多数自建数据处理平台难以达到的。
最后来说一下成本费用。Maxcompute采用租用的方式,无需自行购买硬件设备和软件,相对自建Hadoop或者其他大数据分析平台,前期投入成本极低。Maxcompute以项目(Project)为单位,对存储、计算和数据下载三个方面分别计费。数据上传目前暂不收取费用。存储价格目前是0.0008元/GB/小时,计算费用是0.3元/GB。计算费用中,目前仅开放了SQL的计费,执行MapReduce暂时是免费。因此,本文实验实际产生的费用只有存储费用,做几天的实验,只花了几元钱。
原文链接:[url]http://click.aliyun.com/m/26737/[/url]