应用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级分区是采集时间。

图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所示。

图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文件数)(条)

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所示。

图3 相位分析执行任务执行时间

在图3中,S-PRPD算法在单机环境下运行,执行时间随数据量增加急剧增长。只完成了4X数据集的分析任务(更大数据量耗时太长)。Hadoop-PRPD算法在自建Hadoop平台下执行。受存储容量和计算性能影响,实验只完成了16x数据集的分析任务,算法执行时间缓慢增长。ODPS-PRPD算法运行在Maxcompute平台下,完成了256X数据集的分析(还可以更大),运行时间平稳,在数据规模成倍增长情况下,整体运行时间增长很少或不增长,甚至,在分析8X数据集时出现负增长。主要归因于ODPS硬件的弹性伸缩,如图4和图5所示。

图4 CPU核心数的消耗

图5 内存消耗

从图3和图4中可以看出,随着数据规模的增长,ODPS-PRPD使用的硬件资源总体呈现线性增长的趋势。数据规模越大,为其分配的硬件资源越多,但也不是严格的线性关系。Maxcompute为并行任务分配的硬件资源有一个复杂的算法实现,目前阿里云尚未公开,使用者暂不能控制资源的分配。虽然底层细节对用户透明,但是这种弹性伸缩的性质还是能够强有力的为大数据分析助力。当数据规模达到51GB(256x)时,使用的CPU核心数达到了1093,内存达到了1639GB。这种硬件条件是目前很多数自建数据处理平台难以达到的。

最后来说一下成本费用。Maxcompute采用租用的方式,无需自行购买硬件设备和软件,相对自建Hadoop或者其他大数据分析平台,前期投入成本极低。Maxcompute以项目(Project)为单位,对存储、计算和数据下载三个方面分别计费。数据上传目前暂不收取费用。存储价格目前是0.0008元/GB/小时,计算费用是0.3元/GB。计算费用中,目前仅开放了SQL的计费,执行MapReduce暂时是免费。因此,本文实验实际产生的费用只有存储费用,做几天的实验,只花了几元钱。

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

  1. 局部放电相位分布 3d matlab,基于局部放电信号特征的诊断图谱相位开窗参数调整方法与流程...

    本发明属于局部放电检测领域,具体涉及一种基于局部放电信号特征的诊断图谱相位开窗参数调整方法. 背景技术: 相位开窗数:将局部放电的脉冲时域信号转换为局部放电的脉冲序列相位分布(Phase Resolv ...

  2. Au:相位表与相位分析面板

    相位 Phase是用来描述相对于基频而言谐波在不同波形起始点的参数. 我们通常把波形通过零点且向正方向前进的情况作为标准. 在录音的时候,两个声道没有对齐,有时间偏差就会导致相位问题. 如果立体声音频 ...

  3. 内置前放声发射传感器AE144SA40-BNC 变压器局部放电传感器

    声发射传感器种类繁多,大致可分为下记两类. 一类是非内置放大声发射传感器,需要搭配低噪声信号线和并外接放大器. 还有一类是内置放大声发射传感器,就是将外接的放大器内置到传感器内部了. 比如 AE144 ...

  4. 外部工具连接SaaS模式云数据仓库MaxCompute实战:商业BI分析工具篇

    简介:MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速.全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运 ...

  5. 基于MaxCompute InformationSchema进行血缘关系分析

    一.需求场景分析 在实际的数据平台运营管理过程中,数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长到非常大的规模,数据管理人员往往希望能够利用元数据的分析来更好地掌握不同数据表的血缘 ...

  6. 电机与拖动(2) 变压器空/负载分析

     安培右手螺旋定则:将右手的大拇指指向磁场方向,再将其它四根手指握紧电线,则弯曲的方向决定电流的方向. 螺线管载有的电流,会产生磁场. 使用右手螺旋定则,可以判断磁场方向. 将右手握住螺线管,四根手指 ...

  7. 【阿里云】基于 MaxCompute 的大数据 BI 分析最佳实践学习

    文章目录 一.前言 二.搭建电商网站Demo 2.1.创建专有网络VPC 2.2.创建并配置ECS 2.3.创建RDS数据库 2.4.电商网站初始化 2.5.构造用户数据 三.ADB数据库配置 3.1 ...

  8. KDJF-800B变压器局部放电检测仪

    一.简述 本产品可广泛应用于电力系统的局放检测,包括高压开关柜.环网柜.电压/电流互感器.变压器(包括干式变压器).GIS.架空线路.电缆等设备的绝缘状态检测,通过以下几项指标来衡量电气设备的放电程度 ...

  9. 蒙那多MONARCH频闪仪维修VBX振动分析/相位分析测量仪

    MONARCH频闪仪维修型号有:6235-110:6204-110:6207-110:PLS Kit:6207-111:PLT200:PT99:ROLS-W:6231-110:DC6-1-06-100 ...

最新文章

  1. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表
  2. 微软OCR两层优化提升自然场景下的文字识别精度(模式识别新研究)
  3. Python爬虫开发:https请求加密问题解决
  4. MySQL数据库的性能优化总结
  5. 使用Dottrace跟踪代码执行时间
  6. 会计基础第二次模拟试题(1)
  7. mysql耦合_内聚与耦合
  8. java curl get_如何从Java中的curl get请求获取文件?
  9. opencv图像-拼接线的处理
  10. 浙大计算机基础知识2,[精选资料]14年浙大远程计算机基础2Windows知识题高起专 作业题2答案...
  11. 【译】Seaborn教程(二)选择配色方案
  12. maven scala plugin 使用教程笔记之jvmArgs配置-D参数中使用.md
  13. 7个开源好用的管理系统,建议收藏加转载
  14. 视频教程-大学数学实验(MATLAB版)-其他
  15. python numpy 函数_Python 入门教程:关于 numpy 窗函数 Blackman
  16. 网页前端简单计算器制作
  17. [从零开始学FPGA编程-3]:快速入门篇 - 操作步骤1 - 导体、半导体、晶体管、常见电子元器件、集成电路
  18. 150. 逆波兰表达式求值(中等 栈 数组)
  19. php手册下载打开没有内容,word保存了但是再打开就没有了怎么办
  20. 软件的破解原理是什么?

热门文章

  1. 为了成长,我所做的一些努力!
  2. 坐视——做事——做势
  3. 转贴: OpenGL开发库的组成
  4. 【CentOS】安装lnmp环境
  5. TDD 与 BDD 仅仅是语言描述上的区别么?
  6. 基于fedora23的karora23初始版本安装crt信赖libpng升级glibc造成系统无法进入...
  7. Linux-NTP-Server+Client
  8. 【CENTOS6】ORACLE JDK7安装
  9. [Ubuntu 12.10] Openstack 多节点安装--前期准备网络拓扑
  10. oracle中怎么查看存储过程的源码