CN103412942B - 一种基于云计算技术的电压暂降数据分析方法 - Google Patents
一种基于云计算技术的电压暂降数据分析方法 Download PDFInfo
- Publication number
- CN103412942B CN103412942B CN201310370422.3A CN201310370422A CN103412942B CN 103412942 B CN103412942 B CN 103412942B CN 201310370422 A CN201310370422 A CN 201310370422A CN 103412942 B CN103412942 B CN 103412942B
- Authority
- CN
- China
- Prior art keywords
- value
- data
- temporarily
- point
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
一种基于云计算技术的电压暂降数据分析方法,属于电能质量分析技术领域。该方法采用基于hadoop1.1.2的云计算平台,通过MapReduce编程机制,将关系型数据库中的波形数据利用转移工具Sqoop转移到KV数据库中,以键值对形式存储一个特定周波的数据;每一个Mapper(映射类)从KV数据库中读出一个键值对<key,value>作为输入;遍历一个周波数据,计算出RMS(方均根值)值;将所有Mapper(映射类)的输出结果进行排序;Reducer合并同一事件同一相的RMS数据曲线,并遍历该曲线,计算出各暂降特征值。本发明使电压暂降的相关数据可以直接通过Hadoop云计算平台,在多台计算机上并行地计算,真正实现了多台物理计算机计算能力的迭加,从而大大提高了计算效率,云平台的容错性也提升了暂降计算结果的可靠性。
Description
技术领域
本发明涉及一种基于云计算技术的电压暂降数据分析方法,属于电能质量分析技术领域。
背景技术
电压暂降也称电压凹陷,属于一种电能质量问题。在现代工业生产中,电力电子设备大量应用,这些设备大多对电压暂降非常敏感,一旦发生严重或频繁的暂降事件,这些设备很可能停机停产,导致损坏甚至报废等巨大损失。这就要求电力部门能够对各区域、各时间段的暂降情况能够深入地了解,通过分析,统计其特征值、发生频次和原因等信息。因此,在电能质量监测系统中,需要对大量的暂降数据进行深入挖掘和分析,这对于系统的分析计算能力无疑是一个挑战。
对于电压的暂降事件,我们的监测装置会实际采集电压瞬时值波形,每个事件存储其发生前后的波形。电能质量监测的后台计算系统的任务是,通过采集的瞬时波形,计算有效值曲线,再通过有效值曲线,计算暂降幅值、暂降相、开始时间、持续时间等电压暂降特征值。
传统的计算方法是:首先通过事件ID(序列号)从录波数据表取到各相电压的波形瞬时值数据,然后循环获取每个周波的数据,通过公式1计算其RMS(有效值)。
这样得出RMS曲线,然后遍历RMS曲线中的每个点,找出小于0.9倍基准电压的第一个点,记为暂降开始点,继续遍历,找到小于0.9倍基准电压的最后一个点,记为暂降结束点,统计两点间点的个数,再乘以RMS点值的间隔时间,可得暂降持续时间。再次遍历曲线,查找出暂降幅值,即最小的RMS值。
传统方法的最大的缺陷就是程序严格串行执行,导致效率低下。在计算RMS(方均根值)曲线值阶段,每个暂降事件分为三相,也就是三个瞬时值波形数据,假设每个波形包括1000个点,也就是每个事件要遍历约1000个点,并将其作乘方和开方运算。假设遍历并计算一个点的时间为0.001s,那么遍历一个事件需要3*1000*0.001=3s。也许一个事件的计算看不出什么,但实际情况是这样的,每个省大约部署200左右的电能质量监测点,也就是我们整个系统需要统计200个监测点的数据。每个监测点平均每天大约监测到10个暂降事件,如果我们统计多个监测点,一个月甚至一年的暂降RMS曲线和暂降特征值,那耗时是多少呢?我们假设要计算200个监测点一周的数据,那么其复杂度约200*7*10*3*1000=4.2*107,那么,计算这样的数据需要约4.2*104s,约11.7个小时,这样的计算时间是难以接受的,系统的响应时间的缓慢也更容易导致计算的非正常中断、计算数据丢失甚至计算失误。
针对此计算效率问题,结合当前计算机前沿技术,提出一种基于云计算技术的电压暂降数据并行计算方法。云计算技术可以将普通的计算机集合成计算机集群,形成资源云,对外提供存储和计算等各种服务,其核心技术包括协调各主机资源,使其并行地执行计算任务。
Hadoop云计算平台是一个分布式系统基础架构,利用计算机集群的方式,实现分布式高速运算和存储。它通过分布式文件系统(HadoopDistributedFileSystem,HDFS),支持编写和运行分布式应用程序,实现大规模数据的计算处理。
MapReduce是Hadoop云计算平台下的编程机制。它的最大特点就是将计算任务分解到多个计算节点上进行并行、分布式计算处理。MapReduce分成两个主要阶段:map(映射)阶段和reduce(规约)阶段。每个阶段均定义对应的数据处理类(函数),分别是mapper和reducer。在map(映射)阶段将分解的计算任务分配给不同的mapper,在不同的计算节点进行计算处理;各个mapper计算的结果传递给对应的reducer。在reduce(规约)阶段,reducer计算处理来自mapper的输出结果,形成最终计算结果。
本发明基于Hadoop1.1.2版本的云计算平台,通过MapReduce编程机制,实现电压暂降事件在多台计算机上并行的分布式计算处理,大大提高了计算效率,满足电压暂降实时分析的要求。
发明内容
本发明的目的在于,针对电能质量暂降事件计算的效率低的问题,提供一种新型的基于云计算技术的并行计算方法。
本方法应用Hadoop云计算平台下的MapReduce编程机制,将数据计算处理过程分成Map(映射)和Reduce(规约)两个阶段。两个阶段分别抽象为Map()函数和Reduce()函数。利用MapReduce编程机制使计算任务并行地在若干台计算机上执行,计算能力相当于多台计算机计算能力的总和,相应的效率会大大提升。
一种基于云计算技术的电压暂降数据分析方法,该方法,在Map(映射)阶段将不同的暂降事件分开、将同一事件的三相不同的电压瞬时波形分开、将同一个电压瞬时波形数据的不同周波分开存储,将一个个离散的周波计算RMS值的任务分配(映射)给多个Mapper(映射类),然后将所有Mapper(映射类)的计算结果进行排序。排序结果作为Reduce(规约)阶段的输入值传给Reducer(归约类),由Reducer(归约类)进行合并及计算特征值。该方法包括以下步骤:
步骤1:将传统的关系型数据库中的波形数据利用转移工具Sqoop转移到KV(key-value,键值)数据库中,以键值对形式存储,存储一个特定周波的数据;
步骤2:每一个Mapper从KV数据库中读出一个键值对<key,value>,作为map()函数的输入;
步骤3:map()函数遍历一个周波数据,计算出RMS值;
步骤4:将所有Mapper的输出结果进行排序,以备Reducer合并操作;
步骤5:Reducer调用Reduce()函数合并同一事件同一相的RMS数据曲线,并遍历该曲线,计算出暂降事件特征值。
所述步骤5中计算暂降事件特征值包括以下步骤:
步骤S1:初始化参数,包括最小值设为第一个点有效值,查找标志设置为false;
步骤S2:遍历RMS曲线,遇到第一个有效值小于等于0.9倍基准电压值的点,记为开始时间点,置查找标志为true;
步骤S3:如果查找标志为true且遇到一个有效值大于0.9倍基准电压值的点,则记为结束时间点,置查找标志为false;
步骤S4:在遍历的过程中,判断当前有效值是否小于当前最小值,若小于,则替换最小值,同时记录暂降相为当前最小值所在的相;
步骤S5:最后计算开始时间=开始点*点周期+曲线开始时间,持续时间=(结束点-开始点)*点周期。
效率分析:本方法提升效率主要体现在利用map()函数计算某一周波数据阶段,由于本发明将一个波形分为多个周波在多台计算机上并行进行计算,假设hadoop集群中主机数大于一个波形的周波数,那么我们可以认为map(映射)阶段复杂度是串行计算RMS值的复杂度的1/周波数。一个电压瞬时波形约有10个周波,计算一个波形的所有RMS值的复杂度约为1000,那么map阶段的复杂度就是1000/10=100。
按照上文,假设遍历并计算一个点的时间为0.001s,那么计算一个波形的所有结果所需时间为:100*0.001=0.11s。那么,计算200个监测点一周的数据需要:200*7*10*3*0.1=4200s,合1.1个小时,是原算法效率的10倍!
本发明的有益效果:本发明提供一种基于Hadoop云计算平台的电压暂降数据并行计算方法,该方法使电压暂降有效值、暂降特征值可以直接通过Hadoop云计算平台,在多台计算机上并行地计算,真正实现了多台物理计算机计算能力的迭加;从而大大提高了计算效率,云平台的容错性也提升了暂降计算结果的可靠性。
附图说明
图1是本发明流程图。
具体实施方式
下面结合附图,对基于云平台的电压暂降数据计算方法及其实施例作详细说明。
图1是本发明流程图。如图1所示,一种基于云计算技术的电压暂降数据分析方法,该方法步骤为:
步骤1:在本发明方法开始执行之前,需要将传统的关系型数据库中的波形数据利用转移工具Sqoop转移到Hadoop的HBase数据库中。HBase数据库是一个KV数据库中,以键值对形式存储数据,这里用来存储某一个特定周波的数据。电压瞬时数据存储形式如表1所示。
表1电压瞬时波形周波数据的KV数据形式
数据库中的键值对为<key1,key2,key3;value>,其中key1、key2和key3合并为一个key。key1=eventID,代表暂降事件编号;key2=channelID,代表通道号,即不同相;key3=cycleID,代表周波号;value=samples,代表一个周波波形数据,为逗号隔开的数据串的形式。这样的存储设计就可以充分地将不同的事件、不同的通道、不同的周波数据离散化,从而为计算并行化奠定基础。
步骤2:本发明方法开始,如图所示,每一个Mapper从KV数据库中读出一个键值对<key,value>,作为map()函数的输入。
步骤3:每一个Mapper执行其map()函数,计算RMS值。map()函数的输入是<eventID,channeID,cycleID,samples>,即给定事件,给定通道的某一个整周波数据。然后按照(式1)计算出所给周波的RMS值,记为Urms(k)。从而map函数的输出形式为:<eventID,channelID,cycleID;Urms(k)>。
步骤4:将所有Mapper(映射类)的map()函数输出结果进行排序,以备Reducer(规约)合并操作。这个排序是在一个称为shuffle的内存缓冲区中进行的。对map()函数输出结果按键值根据设置好的compare()函数进行初步排序。这样做的好处是,传送给reduce()函数的是已经排好序的数据,使map()函数输出更紧凑,减少传给reducer()函数的数据量。
这里我们可以设置一下compare()函数,使排序按照eventID,channelID,cycleID依次升序排序。即,相同的eventID,按照channelID升序;相同的eventID和channelID,则按照cycleID排序。使用conf.setOutputKeyComparatorClass()将此排序方式进行注册。
为了使相同的eventID和channelID但不同的cycleID传入到同一个reducer,接下来自定义实现的Partitioner接口,然后使用conf.setPartitionerClass()对该自定义接口进行注册。至此,就保证了一组具有相同的eventID和channelID,按cycleID升序排序的KV序列传入到同一个reducer。
步骤5:Reducer(归约类)调用reduce()函数合并同一事件同一相的RMS数据曲线,并遍历该曲线,计算出暂降事件特征值。
reduce()函数的输入为shuffle处理后的结果<eventID,channelID;List(cycleID,Urms(k))>,即每个reducer计算输入是具有相同的事件编号,相同通道号的有序RMS数据。我们直接组合所有的Urms(电压方均根值),就是所求的RMS曲线。
步骤5中计算暂降事件特征值具体包括以下步骤:
步骤S1:初始化参数,包括最小值Umin设为第一个点有效值,查找标志设置为false。
步骤S2:遍历一遍RMS曲线,遇到Urms<0.9BaseV的第一个点,记为暂降开始时间点,从而得出开始时间StartTime,并置查找标志为true。
步骤S3:继续遍历,如果查找标志为true且找到第一个Urms>0.9BaseV的点,则记为暂降结束时间点,并置查找标志为false。
步骤S4:在遍历的过程中,判断当前有效值是否小于最小值Umin,若小于,则用当前有效值替换最小值,同时记录暂降相为当前最小值所在的相。
步骤S5:最后计算开始时间=开始点*点周期+曲线开始时间,持续时间=(结束点-开始点)*点周期,这样就计算出了所有的暂降事件特征值。
reduce函数的输出结果为<eventID;value>,其中value=List(Urms(k)),StartTime,LastTime,Umin,Phase。
[实施例]
本实施例的源数据是5个暂降事件,每个暂降事件分3相,每相有7个周波,每个周波有512个点。通过基于云计算的电压暂降数据分析方法,最终计算出5个暂降事件的暂降开始时间,持续时间,最小幅值和暂降相这几个特征值。在map阶段对每个周波的512个点计算出一个有效值,在reduce阶段通过有效值序列计算出所有特征值,其中暂降相是最小幅值所在的相。
由于源数据点数比较多,这里不一一列举。从数据库中读出的每个周波的所有点值以逗号隔开,其格式如下:
-6.63,-106.15,-205.66,-311.81,-414.64,……,414.64,311.81,202.34,102.83
整个计算流程如下:
1.map阶段
每一个map()函数按照公式计算出一个周波数据的有效值,即Urms。执行过程如下:
(1)解析数据库中读出的一个周波的点值数据,将按逗号隔开的数据分解为数组;
(2)循环遍历,求出所有值的平方和;
(3)对这个平方和做开方运算。
这样,就通过一个周波的所有波形数据,计算出一个Urms(电压方均根值),这个Urms是不进行存储的,在排序合并之后作为reduce()的输入。
2.排序阶段
在排序阶段,设置一下compare()函数,使排序按照eventID,channelID,cycleID依次升序排序,即先将同一个事件,同一相的7个Urms值按照周波号进行增序排序,然后将同一个事件的3相升序,最后以事件序号升序排序。排序阶段的compare()函数的输入格式是两个对象,每个对象包括三个字段,即eventID、channelID和cycleID,将这两个对象依次按照三个字段进行比较,返回最终的比较结果。全部排好序后,通过一个分区的方法将同一个事件号,同一个相的排序后的Urms序列传入到一个Reducer中。
3.reduce阶段
在Reducer接收到排序好的Urms数据之后,reduce()函数开始计算暂降事件特征值。计算过程如下:
(1)初始化最小幅值Umin,开始时间点start,结束时间点end和查找标志find等各项参数,其中最小幅值设置为Urms序列第一个值,查找标志设为false,其余参数置0;
(2)循环遍历7个Urms值,遍历的过程中,遇到小于0.9倍基准电压的第一个点,记为开始时间点,并置查找标志为true;
(3)继续遍历,找到第一个大于0.9倍基准电压的点,记为结束时间点,并置查找标志为false;
(4)在遍历的过程中,判断当前有效值是否小于最小幅值Umin,若小于,则用当前有效值替换最小幅值,同时记录暂降相为当前最小值所在的相;
(5)通过计算出的结束时间点减去开始时间点得到持续时间,再分别将开始时间点和持续时间乘以时间间隔,即可得到实际的开始时间和持续时间,至此,我们就计算出了所有的特征值。
本例由于有5个事件,每个事件分3相,所以需要有15个Reducer执行reduce()操作。将reduce()函数计算出暂降开始时间、持续时间、暂降相和暂降幅值以分号隔开拼接后输出。
最终计算出的5个事件的结果为:
key:01value:0.02;0.04;2274.86;A
key:02value:0.04;0.04;2272.20;C
key:03value:0.02;0.04;2292.69;A
key:04value:0.04;0.04;2335.03;A
key:05value:0.02;0.04;2309.25;A
最后将reduce()的以上输出结果kv对存储到kv数据库中。其中的value表示的是该暂降事件的各个特征值,以分号分隔开。在提取数据时,解析一下即可应用。
本发明提供了一种基于云计算技术的电压暂降数据分析方法,本发明使电压暂降的相关数据可以直接通过Hadoop云计算平台,在多台计算机上并行地计算,真正实现了多台物理计算机计算能力的迭加,从而大大提高了计算效率,云平台的容错性也提升了暂降计算结果的可靠性。
Claims (2)
1.一种基于云计算技术的电压暂降数据分析方法,其特征在于,采用基于hadoop1.1.2版本的云计算平台,通过MapReduce编程机制,将不同的暂降事件分开,将同一事件的三相不同的电压瞬时波形分开,最后将同一个电压瞬时波形数据的不同周波分开存储,将一个个离散的周波计算RMS方均根值的任务分配给多个Mapper映射类,然后将所有Mapper的计算结果排序后传给Reducer归约类,由Reducer进行合并及计算特征值,该方法步骤为:
步骤1:将传统的关系型数据库中的波形数据利用转移工具Sqoop转移到KV键值数据库中,以键值对形式存储,存储一个特定周波的数据;
步骤2:每一个Mapper从KV键值数据库中读出一个键值对<key,value>,作为map()函数的输入;
步骤3:map()函数遍历一个周波数据,计算出RMS值;
步骤4:将所有Mapper的输出结果进行排序,以备Reducer合并操作;
步骤5:Reducer调用reduce()函数合并同一事件同一相的RMS数据曲线,并遍历该曲线,计算暂降事件特征值。
2.根据权利要求1所述一种基于云计算技术的电压暂降数据分析方法,其特征在于,所述计算暂降事件特征值包括以下步骤:
步骤S1:初始化参数,包括最小值设为第一个点有效值,查找标志设置为false;
步骤S2:遍历RMS曲线,遇到第一个有效值小于等于0.9倍基准电压值的点,记为开始时间点,置查找标志为true;
步骤S3:如果查找标志为true且遇到一个有效值大于0.9倍基准电压值的点,则记为结束时间点,置查找标志为false;
步骤S4:在遍历的过程中,判断当前有效值是否小于当前最小值,若小于,则替换最小值,同时记录暂降相为当前最小值所在的相;
步骤S5:根据步骤S2和步骤S3中得到的开始时间点和结束时间点计算:开始时间=开始点*点周期+曲线开始时间,持续时间=(结束点-开始点)*点周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310370422.3A CN103412942B (zh) | 2013-08-22 | 2013-08-22 | 一种基于云计算技术的电压暂降数据分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310370422.3A CN103412942B (zh) | 2013-08-22 | 2013-08-22 | 一种基于云计算技术的电压暂降数据分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103412942A CN103412942A (zh) | 2013-11-27 |
CN103412942B true CN103412942B (zh) | 2016-04-20 |
Family
ID=49605954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310370422.3A Active CN103412942B (zh) | 2013-08-22 | 2013-08-22 | 一种基于云计算技术的电压暂降数据分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412942B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383751A (zh) * | 2013-05-29 | 2013-11-06 | 国家电网公司 | 一种基于云仿真平台的在线预警分析系统 |
CN104679888A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种数据同步的装置及方法 |
CN106324320B (zh) * | 2016-08-11 | 2018-11-27 | 国网浙江省电力公司宁波供电公司 | 多次电压暂降的持续时间曲线拟合方法及电压暂降严重程度评估方法 |
CN107330008A (zh) * | 2017-06-13 | 2017-11-07 | 广东电网有限责任公司佛山供电局 | 一种基于Hadoop平台的电力系统谐波监测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253269A (zh) * | 2011-06-07 | 2011-11-23 | 北京许继电气有限公司 | 基于云计算的电力实时数据一体化处理系统及设计方法 |
CN103095719A (zh) * | 2013-01-30 | 2013-05-08 | 浪潮集团有限公司 | 一种云计算设备能耗管理调度监测网络协议 |
CN103235221A (zh) * | 2013-04-18 | 2013-08-07 | 河海大学常州校区 | 光伏电站远程监控的故障检测系统及检测方法 |
-
2013
- 2013-08-22 CN CN201310370422.3A patent/CN103412942B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253269A (zh) * | 2011-06-07 | 2011-11-23 | 北京许继电气有限公司 | 基于云计算的电力实时数据一体化处理系统及设计方法 |
CN103095719A (zh) * | 2013-01-30 | 2013-05-08 | 浪潮集团有限公司 | 一种云计算设备能耗管理调度监测网络协议 |
CN103235221A (zh) * | 2013-04-18 | 2013-08-07 | 河海大学常州校区 | 光伏电站远程监控的故障检测系统及检测方法 |
Non-Patent Citations (3)
Title |
---|
周林.电压暂降分析方法研究.《高电压技术》.2008,第1010-1016页. * |
张庆超.一种改进的电压暂降检测方法.《电工技术学报》.2006,第123-126页. * |
汤海燕.一种电压暂降及电压凹陷域的计算方法.《电源技术》.2012,第1873-1875页. * |
Also Published As
Publication number | Publication date |
---|---|
CN103412942A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907244B2 (en) | Modifying field definitions to include post-processing instructions | |
CN102799486B (zh) | 一种MapReduce系统中的数据采样和划分方法 | |
Ma et al. | Query processing of massive trajectory data based on mapreduce | |
CN103412942B (zh) | 一种基于云计算技术的电压暂降数据分析方法 | |
CN106126601A (zh) | 一种社保大数据分布式预处理方法及系统 | |
CN104298679A (zh) | 应用业务推荐方法及装置 | |
WO2015176525A1 (zh) | 基于时间序列化的文档的标识、关联、搜索及展现的系统 | |
CN105677615B (zh) | 一种基于weka接口的分布式机器学习方法 | |
CN104866580A (zh) | 一种数据库变更对现有业务影响的快速侦测方法 | |
CN104570081A (zh) | 一种积分法叠前时间偏移地震资料处理方法及系统 | |
CN105224658A (zh) | 一种大数据的实时查询方法和系统 | |
CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
CN104809246A (zh) | 充电数据的处理方法及装置 | |
CN108132986B (zh) | 一种飞行器海量传感器试验数据的快速处理方法 | |
CN106445645A (zh) | 用于执行分布式计算任务的方法和装置 | |
CN109871470A (zh) | 一种电网设备数据标签化管理系统及实现方法 | |
CN104598536A (zh) | 一种分布式网络信息结构化处理方法 | |
CN103914487A (zh) | 文档的采集、标识及关联的系统 | |
CN109657197A (zh) | 一种叠前深度偏移计算方法及系统 | |
CN104731891A (zh) | 一种etl中海量数据抽取的方法 | |
CN103853844A (zh) | 基于Hadoop的关系表非冗余键集合识别方法 | |
CN107679133B (zh) | 一种实用于海量实时pmu数据的挖掘方法 | |
CN112445776B (zh) | 基于Presto的动态分桶方法、系统、设备及可读存储介质 | |
CN103530369A (zh) | 一种去重方法及系统 | |
Zhonghua | Seismic data attribute extraction based on Hadoop platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |