一种基于Hadoop平台的电力系统谐波监测方法与流程

文档序号:12887211阅读:282来源:国知局
本发明涉及电力系统谐波监测方法领域,更具体地,涉及一种基于hadoop平台的电力系统谐波监测方法。
背景技术
::智能电网的提出和发展相应的带来了电力系统区域电网中电能质量监测终端的大量投入,采样频率与监测时间的增长加速了电力系统电能质量监测平台采样数据的爆炸式增长。在传统电能质量监测平台下,对监测终端所上传的数据多采用集中式处理方式。随着智能电网建设的不断推进,对电能质量监测指标的计算速度和精度提出了更高的要求。在传统电能质量监测平台下,所使用服务器的存储能力和计算能力很难满足日益提升的运算要求,购置更高配置的服务器虽然可以暂时满足计算需求,但在没有运行任务时,会带来较大的资源浪费。如何在减少硬件开销和资源浪费的前提下实现电力系统对采样数据的高效处理具有一定的研究价值。技术实现要素:本发明提供一种基于hadoop平台的电力系统谐波监测方法,该方法可对区域电网谐波采样的基础数据进行存储和高效并行化计算。为了达到上述技术效果,本发明的技术方案如下:一种基于hadoop的电力系统谐波监测方法,具体包括以下步骤:步骤1:搭建hadoop分布式文件系统(hdfs)。hadoop大数据处理平台为用户提供了系统底层透明的分布式基础架构。分布式文件系统的基础架构包括hadoop客户端和hadoop集群。hadoop集群包括名称节点(namenode)、备用名称节点(secondarynamenode)和用于管理存储数据的数据节点(datanodes)。hadoop分布式文件系统中,客户端通过名称节点获取数据节点和文件块的映射关系,通过名称节点记录的映射关系到相应的位置访问文件块。名称节点对文件、目录进行创建、删除和重命名等操作,管理数据节点和文件块的映射关系。数据节点的数据保存在本地linux文件系统中,每个数据节点会周期性地向名称节点发送“心跳”信号,报告自己的状态。步骤2:定制mapreduce并行化编程模型,对各个变电站按照时间序列采集的采样数据进行处理。mapreduce是一种并行化编程模型,用于大规模数据的并行计算。与hdfs的主从节点结构相对应,mapreduce框架也包括一个master和若干个slave,对应于hdfs的名称节点和数据节点。master上运行jobtracker,slave上运行tasktracker。用户提交的每个计算作业,都会被划分成若干个任务。jobtracker负责作业和任务的调度,监控他们的执行,并重新调度已经失败的任务。tasktracker负责执行jobtracker指派的任务。步骤2.1:inputsplit——对待处理文件进行逻辑切分。将系统采集数据并生成的以文本文件类型为扩展名的本地文件通过inputformat模块来做map前的预处理。在验证了文件的输入格式是否符合输入定义后,待处理文件就会在逻辑上被分成若干个inputsplit,这种逻辑切分并不是进行了实际的文件切割,而是记录了要处理的数据的位置和长度。本发明根据数据应用的具体情况,数据的位置信息即为采样的变电站id和采样时间,选取的待分析采样序列长度统一设定为2048;步骤2.2:recordreader:——将待分析数据解析成记录,并转换成键值对的形式,传递给map任务。这里我们使用recordreader的默认解析功能,产生的键是数据在文件中的位置,值是组成这条记录的数据块。步骤2.3:map——定制map,对recordreader传入的记录进行谐波分析。谐波分析流程如图5所示。本发明为更好的符合区域电网谐波监测的需求,定制map任务,计算谐波参数。map处理后的中间结果会传递给partition。根据需求,定制map输出的中间结果是以采样序列的变电站id和采样时间组成的组合键,输出的中间结果的值是采样时间和采样序列。map任务中的谐波分析算法会根据采样数据分析得出该条记录的基波和谐波参数(幅值、相位、频率)。步骤2.4:partition——定制partition和writablecomparator对map任务的输出结果以组合键第一个字段(也即变电站id)为单位,按照第二字段(也即采样时刻)进行排序。步骤2.5:shuffle——通过shuffle过程将所有的partition输出的键值对拉取到reduce任务本地机上,按照这些数据的键进行排序并写入一个较大的list中。步骤2.6:reduce——以shuffle过程输出的<key,value-list>形式的中间结果作为输入,在迭代器中,计算得出各个变电站、各个采样时刻的基波参数和谐波畸变率并进行输出。步骤2.7:outputformat——获取reduce端输出的最终键值对,首先验证输出目录是否已经存在,以及输出结果的类型是否符合配置文件中的设置,如果均满足,就输出reduce结果到分布式文件系统进行保存。与现有技术相比,本发明具有以下优点:(1)采用hadoop分布式文件系统,数据可以形成多个副本,数据读取速度快,数据丢失或错误能够及时回复,记录文件可靠高效;(2)采用hadoop分布式文件系统,数据存储可根据采样数据的大小动态增加datanode;(3)采用hadoop分布式文件系统,可以根据实际需求,在不同的datanode记录不同采样数据的数据类型;(4)采用mapreduce并行化编程模型,以移动计算的方式来取代之前传统的移动数据的做法,大大降低在处理较大规模分布式数据文件时,数据在节点之间的传递会引起相当的网络开销;(5)采用mapreduce并行化编程模型,可以根据不同的分析需求,定制不同的并行化处理模式,根据需求的不同定制所需的谐波分析方式;(6)采用mapreduce并行化编程模型,只需要关注如何实现map和reduce函数,而不需要处理并行编程中的其他各种复杂问题,如分布式存储、工作调度、负载均衡、容错处理、网络通信等,mapreduce框架会负责解决这些问题。(7)采用hadoop分布式文件系统和mapreduce并行化编程模型,可以充分利用hadoop分布式文件系统和并行化编程模型所提供的强大的数据存储能力和计算能力对区域电网电能质量监测的基础数据进行存储和并行化计算。附图说明图1是基于hadoop的电能质量在线监测平台架构设计;图2是hadoop分布式文件系统的体系结构;图3是hadoop运行mapreduce作业的工作原理图;图4是hadoop运行mapreduce作业工作流程的各个执行阶段;图5是谐波分析流程。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本发明的技术方案做进一步的说明。实施例1如图1所示是基于hadoop的电能质量在线监测平台架构图,在该平台上实现区域电网的谐波监测。具体如下:(1)搭建hadoop分布式文件系统。hdfs用于存储超大文件,包括多个计算机节点,配置一个namenode(名称节点)、一个备用名称节点(secondarynamenode)和若干个datanode(数据节点)。具体节点的配置信息如表1所示:表1节点配置信息相应的硬件和软件配置信息如表2所示:表2硬件与软件配置信息(2)安装和配置hadoop。hadoop的基本安装配置步骤概括如下:创建hadoop用户、安装java、设置ssh登陆权限、安装hadoop和分布式安装配置。具体操作如下:创建hadoop用户:“sudouseradd-mhadoop-s/bin/bash”并设置密码更新apt;安装java:“sudoapt-getinstallopenjdk-7-jreopenjdk-7-jdk”配置java_home环境变量;设置ssh登录权限:“sudoapt-getinstallopenssh-server;sshlocalhost”退出ssh,在终端窗口中利用ssh-keygen生成密钥,并将密钥加入到授权中;安装hadoop:“cat~/下载/hadoop-2.6.0.tar.gz.mds|grep‘md5’;md5sum~/下载/hadoop-2.6.0.tar.gz|tr“a-z”“a-z””将hadoop安装至/usr/local/中;分布式安装配置:修改位于/usr/local/hadoop/etc/hadoop/中的配置文件core-site.xml、hdfs-site.xml和mapredsite.xml,执行“./bin/hdfsnamenode-format”格式化namenode后即可开启namenode和datanode守护进程。(3)定制mapreduce并行化编程模型。根据谐波分析的需求,需要对mapreduce并行化编程模型中的map、partition、reduce环节进行定制,通过继承相应的类来实现所需的功能。通过继承map类来对读入的数据进行谐波分析,谐波分析的流程如图5所示。在partition环节,对本发明中设定的组合键分区需要自定义一个分区处理器来取代hadoopmapreduce框架下,默认提供的分区器功能。因此需要通过继承partition类来定制按照组合键中的第一个字段(变电站id)进行分区的分区函数。分区操作完成之后,调用自定义的排序器(通过继承writablecomparator类来实现)对组合键中的第二个字段(采样时刻)进行排序。经过shuffle过程处理后,数据传送到reduce端,记录在reduce端通过迭代器来处理存储在数据列表中的每一条记录,并进行输出。(4)分析结果写入分布式文件系统。获取reduce端输出的最终键值对,首先验证输出目录是否已经存在,以及输出结果的类型是否符合配置文件中的设置,如果均满足,就输出reduce结果到分布式文件系统进行保存。表3给出hadoop分布式文件系统数据输入的基本信息示例。表3hadoop分布式文件系统数据输入的基本信息经过mapreduce并行化编程模型处理后的输出如表4所示。表4mapreduce作业输出结果截取相同或相似的标号对应相同或相似的部件;附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1