基于Storm的电力流数据的高效写入系统.docx

基于Storm的电力流数据的高效写入系统.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

基于Storm的电力流数据的高效写入系统

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

摘要:电力行业计量数据有多种类、多来源、速率高等特性。并且随着该计量行业的不断发展,数据处理的复杂性逐渐升高,传统程序写入数据库的方法暴露了稳定性差、速率慢等问题,需要结合先进的大数据处理技术设计一套符合当下该领域的数据写入处理方法。本文针对数据写入这一点进行了研究,结合了先进的流处理技术设计了一套数据写入程序,程序采用了Storm技术设计了拓扑结构实现了关系型数据库的可靠写入。通过制定了Storm模块间数据元交互格式制定,结合数据分组设计和多源类数据表缓冲结构的应用,优化了程序写入数据库的稳定性、速率性以及抵御了数据复杂性带来的入库挫折,满足了电力计量数据写入数据库的高要求,同时该框架及相关模块也有很高的其它行业数据写入的适用性。

关键词:流处理;数据入库;抗挫折数据写入;类数据表缓冲结构;实时存储;Storm;Oracle

0引言

随着大数据技术应用不断深入,各类大数据业务系统对写入数据库的能力提出了更高的要求,一个坚强、可靠、快速的写入数据库的框架对于日益增长的大数据业务显得尤为重要,这是后续业务统计分析以及机器学习预测的先决条件。针对电力行业的计量自动化领域,电动汽车充换电、分布式电源接入、四表合一采集等新型业务快速扩展,数据采集对现有系统的数据项、采集频度、数据完整性以及及时性都提出了更高的。这就需要符合新挑战、新要求的数据写入架构,这也是一个大数据处理系统能够稳定运行的基石,本文主要从计量自动化系统出发结合流处理技术,探讨具有数据量大、采集频度高的电量数据写入系统实现。同时该系统也能为其它行业的大数据业务数据库写入提供借鉴。

相关工作

实时数据处理应用于各个行业中,如在电子商务中对客户行为进行实时分析并提出修正购买建议[1,2];在运输行业中通过实时跟踪分析进而制定智能化交通管理方案以减轻路线拥堵情况[3,4];在医疗卫生与生命科学中实施传感医疗数据的实时监控及疫情预警等[5,6]。如表1所示,部分公司根据各自业务开发的数据流或者分布式数据流处理系统。数据规模的增加通常表现为并发度、数据量和处理复杂度的提升,而这些会给现有的处理技术带来可用性方面的问题,所以,如何用最小的或较优的资源保障大规模数据流处理系统的可用性是亟待解决和研究的热门问题。

表1:典型分布式数据流实时计算系统

单位

系统名称

应用

IBM

InfoSphereStreams

金融、医疗和电信等领域使用

Apache

SparkStreaming

实时行为数据分析

Microsoft

StreamScope

在线语音、视频播放

Twitter

Storm

热门话题检测



其中Storm流数据处理架构是比较热门的分布式的实时计算技术,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比?Hadoop?用于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。最大的特点是可以可靠且快速的处理无限的数据流,理论上其每分钟可以处理数以百万计的消息。Storm为分布式实时计算提供了一组通用原语,使用户可以实时处理消息并更新数据库,Storm有适用场景广、可伸缩性强、数据不丢失、健壮性强、高容错和

语言无关性等关键特征[9]。考虑到计量自动化系统领域的数据量大,设备持续向系统上送数据等特点,电量数据写入系统采用Storm框架。

2基于Storm的关系数据库的入库架构

2.1数据源及存储要求描述

本文研究的是针对计量自动化系统的数据写入方法,有必要介绍一下数据的来源及特征以及数据存储的要求。数据源是电表的电量冻结值、电压的、电流等数据通过终端采集上送到系统网关服务器,前置机通过网关拉取到数据写入到kafka中,入库程序需要将kafka中的数据写入到关系型数据库Oracle的各个表里,方便页面查询。

数据来源为采集电表终端的前置机上送,通过kafka中间件以json格式写到对应的topic里,json格式示例如下:

{taskIderrorCode:0,deviceAddr:4501001EE000,isRead:1,isContinue:false,dataList:[{collectType:0,point:2,time:{2019-08-2707:45:00},dataType:6,dataCodes:[{name:00405000000,value:0.15,unit:kvarh,desc:(当前)正向有功总电能}]}]}

其中,deviceAddr项是终端编号,point是终

您可能关注的文档

文档评论(0)

138****9470 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档