学术文化网:本站代理期刊可作为职称及学位评审依据;并代写(职称、本科、硕士、博士)论文,代写代发论文一条龙服务;保证原创,保证质量,100%通过,保密服务

学术文化网

重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。代写论文申请表
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。代写代发论文申请表
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425 代写论文写手申请表
当前位置: 主页 > 工科论文

基于Hadoop 的智能电表平台设计与实现

 基于Hadoop 的智能电表平台设计与实现
乐璐,李慧**
作者简介:乐璐,(1986-),女,硕士,云计算。
通信联系人:李慧,(1978-),女,硕士生导师,主要研究方向:融合网络优化. E-mail: lihui@bupt.edu.cn
(北京邮电大学信息与通信工程学院,北京 100876)
5 摘要:当智能电表得到广泛应用时,电网部门每天都要收集和处理大量用户用电数据。传统
的单服务器架构面临着海量数据存储和计算的考验,以及海量数据传输对网络的要求。本文
针对目前智能电表平台遇到的海量数据存储和计算的问题,设计与实现了基于Hadoop 的智
能电表平台。
关键词:Hadoop;智能电表;海量数据
 0 引言
25 随着现代社会的快速发展,传统电网在输电系统的可靠性和容量上,已经无法适应新的
需求;就电力市场而言,企业规范与企业的创新性和竞争力需要大幅提高,电力部门对电网
的运营也要降低成本和提高效率。为了解决这些问题,北美、欧洲已经形成了强大的研究群
体,开展智能电网的研究,中国也在研究道路上开始进行探索。而智能电网其中一项关键技
术:表计基础设施(Advanced Metering Infrastructure),它不但允许公共事业单位以更有效
30 的方式收集电表读数,还能实现用户端电表和公共事业单位系统间的双向通信。但随着先进
计量基础设施的到来并得到广泛应用,智能电表将不断的记录电表读数,电网部门需收集、
存储和处理这些海量数据。为了研究用户用电行为和制定快速有效的配电策略,以及为未来
的分段计价和实时电价提供数据支持等,我们就迫切需要对用户的用电数据进行收集处理,
分析研究。
35 本文设计了基于Hadoop 的智能电表平台,并在实验室中验证了数据采集和部分处理功
能。本平台是依据Hadoop 的分布式文件系统HDFS(Hadoop Distributed File System)搭建智能
电表平台,通过Hadoop 的核心计算模式MapReduce 实现对智能电表平台收集的海量数据
分析处理。
1 Hadoop
40 Hadoop 是Apache 开源组织的一个分布式计算框架,能够对大量数据进行分布式处理的
软件框架,实现了Google 的MapReduce 编程模型和框架,能够把应用程序分割为许多小的
 工作单元,并把这些单元放到任何集群节点上执行[1]。Hadoop 主要由Hadoop Common、
HDFS、MapReduce 三个子项目构成[2]。
Hadoop Common 是支撑Hadoop 的公共部分,包括文件系统、远程过程调用和序列化函
45 数库等。
HDFS 是Hadoop 应用的分布式存储系统,具有高度容错性,能够提供高吞吐量的数据
访问,提供对数据可扩展性的访问,非常适合大规模数据集上的应用。HDFS 采用
Master/Slave 架构,一个HDFS 集群主要由一个NameNode 和多个DataNode 组成:NameNode
管理文件系统的元数据,负责记录文件是如何分割成数据块,以及数据块分别被存储到哪些
50 节点上;DataNode 负责存储数据,并在NameNode 的统一调度下处理文件系统客户端的读
写请求。DataNode 定期向NameNode 上报心跳,NameNode 通过心跳响应来控制DataNode[3]。
MapReduce 是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的
并行计算。MapReduce 的实现也采用Master/Slave 架构,把大规模数据集的操作,由一个单
独的master JobTracker 分发给其管理下的各分节点TaskTraker 共同完成,然后通过整合各分
55 节点的中间结果,得到最终结果。
图1 给出了MapReduce 处理大数据集的过程[4],由图可以看出,此计算模型的核心是
map 和reduce 函数,这两个函数的具体功能由程序员根据需要自己设计实现[5]。
图1 MapReduce 数据处理流程
60 Figure. 1 MapReduce Data Processing Flow
MapReduce 将任务输入数据分割为固定大小的片段,每个split 分解为<K1,V1>。每个
split 创建一个Map 任务执行map 函数,将输入的<K1,V1>算出中间结果<K2,V2>,接着把
中间结果按K2 排序并组合key 值相同的组,得到<K2,list(V2)>。再根据不同的K2 对应不
65 同的Reduce 任务。Reducer 把不同Mapper 得到的结果整合重新排序,再调用用户定义的
 reduce 函数,对输入的<K2,list(V2)>作对应处理,得出输出结果<K3,V3>并输出到HDFS[6]。
2 基于Hadoop 的智能电表平台
智能电表平台通过表计基础设施在用户端收集电气数据,存储到分布式存储平台,为用
户、公共事业单位提供电能信息查询、计费查询等服务。图2 为本平台的系统体系结构图:
Web服务器
客户端Web服务器
存储及处理层
Hadoop Server Slave
Hadoop Server Master
……
表计数据采集

智能插座
表计数据采集

代理点数传模块
……
采集层
监控设备层
…… ……
70
图2 智能电表平台体系结构
Figure. 2 Architecture of Smart Meter Platform
由图可以看出,本平台分为四个层面:
75 1. 监控设备层:接入电气设备作为被监控对象。
2. 采集层:使用JCB1-143单相二三极面板式计量插座采集电能信息,传送给智能电表
代理点,由代理点转发到Hadoop Server。
3. 存储及处理层:负责把接收的原始电能数据预处理和存储,并响应Web服务器发送
的查询请求。
80 4. Web服务器:负责接收用户输入,向主服务器请求结果,再输出到浏览器页面。
2.1 工作原理和处理流程
从收集到用户的电气数据到客户端响应用户查询请求,可以将智能电表平台的工作划分
为离线处理和在线处理两部分,离线处理为在线处理提供数据和服务。
平台的离线处理是指在客户端接收用户的查询请求之前需要完成的一系列工作,主要包
85 括采用表计基础设施采集电能信息,对电能信息的预处理等。离线处理对实时性要求不高,
但工作量很大。
平台的在线处理是指用户在客户端输入查询请求后,平台响应用户请求,反馈查询结果
所进行的一系列工作,主要包括:接收用户查询条件,请求Hadoop Server Master 获取响应
信息,把反馈结果通过图表插件FusionCharts 以图表形式展示。在线处理对实时性要求很高,
90 任务量相对离线处理较少。
 智能电表平台的主要处理流程按照功能可以划分为三大部分,其中数据采集和Hadoop
Server 部分负责离线工作,Web Server 负责在线工作。数据采集负责电气数据的采集,Hadoop
Server 是整个平台的核心部分,负责电气数据的预处理和存储,为后面的在线查询做好准备,
Web Server 主要负责智能电表平台网站的网站界面,为用户提供一个查询接口,把查询结果
95 反馈到网站页面。
2.2 数据采集
因为智能电表需要采集用电设备的实时电压、电流、功率、累积耗电量等电气信息,同
时需要提供上传的接口,因此平台采用新型的智能表计插座可实现电器连接和计量功能,包
括监测用电器(负载)的累积用电量、电流、电压、有功能率等信息,液晶显示屏数字化显
100 示,停电后保留电能累计值,支持通过无线方式上传采集到的数据。
平台采用数传模块LC-DT01 作为代理点与数据采集点之间的通信中继点。数据采集模
块通过无线方式把收集的电能信息发送到数传模块,数传模块获得各个数据采集点的电能信
息,然后以串口通信协议RS-232 将汇总的电能信息上传给数据代理。数据采集点、数传模
块与代理服务器组网方式如图3:
105
图3 数据采集点、数传模块与代理服务器组网方式
Figure. 3 Network Mode of Data Acquisition, Wireless Data Collector And Proxy Server
数据代理点接收到数传模块上传的电气数据,往原始数据添加所属代理点信息,转发给
110 Hadoop Server,交由Hadoop Server 做进一步的预处理和存储等工作。
2.3 Hadoop Server
这部分是平台的核心部分,包括两部分工作:离线部分,负责存储所有电能数据,为后
续的查询服务作预处理;在线部分,根据Web Server 的查询请求,负责平台数据的整合和
计算。
115 Hadoop Server 离线部分工作包括两部分:存储收集的电气数据和把电能数据解析成为
类倒排索引的数据形式。类倒排索引是根据智能电表平台存储的是电能数据的特点,修改文
件检索系统常用的倒排索引方法,以插座号作为索引来查找对应的电能信息。这部分工作是
整个系统的重点,对数据作预处理会大大的降低在线查询时的计算时间。
Hadoop Server 把数据按行以ASCII 编码存储,其中每一行是一条记录。下面例子显示
120 一行用电数据记录。该行数据被分成很多行以显示每个字段,在实际文件中,这些字段被整
合为一行且没有任何分隔符。如:
 000000010000000120110401090807001221120002200000026530000002134 代表:
00000001 //所在代理点编号
00000001 //插座编号
125 20110401090807001 //数据记录时间:2011-04-01 09:08:07.001
22112 //电压值:221.12
00022 //电流值:0.22
0000002653 //实时功率值:26.53
0000002134 //累积耗电量为21.34
130 Hadoop Server 对数据预处理的其工作流程大概有以下步骤:
1. 把接收到的文件采用Hadoop 默认的文件分割方式,将源文件分成若干小文件[7]。
例如:
000000010000000120110401090807001221120002200000026530000002134
000000010000000120110401090808002220120001100000029670000011167
135 000000020000000320110401090807004221020001700000028790000027410
000000020000000320110401090808003221130003200000031440000002011
000000020000000120110401090807003221420001500000022320000001221
2. 在Map 阶段,对于每个小文件都采用按行切分的方法输入,从每行提取每个插座、
时间和电能信息,并以<代理点号:插座号,时间:电压-电流-功率-累积耗电量>将它们作
140 为输出:
<1:1 , 20110401090807:221.12-0.22-26.53-21.34>
<1:1 , 20110401090808:220.12-0.11-29.67-111.67>
<2:3 , 20110401090807:221.02-0.17-28.79-274.1>
<2:3 , 20110401090808:221.13-0.32-31.44-20.11>
145 <2:1 , 20110401090807:221.42-0.15-22.32-12.21>
3. 经过分区阶段,从Map 输出具有相同的key 的一对会分到同一个Reducer,每个
reduce 函数处理相同插座的<key,value>对,最终输出为:
<1:1 , 20110401090808:220.12-0.11-29.67-111.67;20110401090807:221.12-0.22-26.53-21.34>
<2:3 , 20110401090807:221.13-0.32-31.44-20.11;20110401090807:221.02-0.17-28.79-274.1; >
150 <2:1 , 20110401090807:221.42-0.15-22.32-12.21>
学术论文网Tag:代写硕士论文 代写论文 代写毕业论文 代写毕业设计

本站郑重声明:
  1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
  2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
  3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
  4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------
栏目列表
联系我们
服务承诺
推荐内容