基于storm的输电线监测系统设计与实现

 2022-01-17 11:01

论文总字数:19826字

目 录

1.绪论 1

1.1 研究背景 1

1.2 研究意义 1

2.Storm简介 1

2.1 Storm与Hadoop 1

2.2 Storm集群部件 2

2.2.1 Nimbus 2

2.2.2 Supervisor 2

2.2.3 Worker 2

2.3 主要特性 2

2.3.1 简单的编程模型 2

2.3.2 可扩展 3

2.3.3 高可靠性 3

2.3.4 高容错性 3

2.3.5 支持多种编程语言 3

2.3.6 高效 3

2.4 基本组成 3

2.4.1 Topology-拓扑 3

2.4.2 Spout-喷口 4

2.4.3 Bolt-螺栓 4

2.4.4 Stream-流 5

2.4.5 Stream grouping-流分组 5

2.5 Storm分布式计算原理 5

3.与分布式有关的技术简介 6

3.1 HBase 6

3.2 Kafka 6

3.3 Zookeeper 7

4.程序系统的结构 7

4.1 整体模块介绍 7

4.2 模块关系图 7

4.3 计算框架总体架构 8

5.程序基本需求分析 9

5.1 功能说明 9

5.2 输入 9

5.3 输出 9

5.4 前置条件 10

5.5 依赖功能 10

5.6 逻辑处理 10

5.7 异常处理 10

6.离线计算模块设计说明 10

6.1 程序描述 10

6.2 功能 10

6.2.1 定时周期计算 11

6.2.2 分压统计线损 13

6.2.3 消息触发计算 13

6.3 输入项 14

6.4 输出项 15

6.5 算法 15

6.6 流程逻辑 15

6.6.1 定时周期计算 15

6.6.2 分压统计线损-数据获取(spout) 16

6.6.3 分压统计线损-计算(bolt) 16

6.6.4 分压统计线损-数据存储(bolt) 17

6.6.5 消息触发计算 18

6.7 接口 18

6.8 存储分配 18

6.8.1 分压统计线损 18

7.消息总线模块设计说明 19

7.1 程序描述 19

7.2 功能 19

7.2.1 消息总线的设计 19

7.2.2 消息触发实现 20

7.2.3 计算结果推送实现 21

7.3 输入项 21

7.4 输出项 21

7.5 算法 21

7.6 流程逻辑 22

7.6.1 消息发送/接收时序图 22

7.7 接口 22

7.8 存储分配 22

8.配置工具模块设计说明 22

8.1 程序描述 23

8.2 功能 23

8.3 配置项 23

8.4 配置工具的数据流 23

8.5 输入项 24

8.6 输出项 24

8.7 流程逻辑 24

8.8 存储分配 25

8.8.1 配置文件conf.properties格式: 25

8.8.2 Zookeeper元数据存储结构: 25

8.9 测试计划 26

9.安装部署设计说明 26

9.1 程序描述 27

9.2 部署步骤 27

9.3 部署方式 27

9.3.1 单机部署 27

9.3.2 分布式/集群部署 28

9.4 输入项 29

9.5 输出项 29

10.编码风格 29

10.1 命名规则 29

10.2 日志系统设计 30

11.总结与展望 31

参考文献 31

致 谢 33

基于Storm的输电线监测系统设计与实现

沙施军

,China

Abstract: with the rapid development of the Internet era, the business needs of all walks of life are constantly changing, more and more enterprises need to deal with a lot of data in a timely manner, and the need to ensure its accuracy. In the face of big data (not through the traditional way of managing massive data) concept is Hadoop, MapReduce, and some related techniques, to solve our in the face of the concept of big data unprepared embarrassment, also from a certain extent, ease the outdated traditional technology and architecture problems. However, as is known to all, Hadoop is mainly used in batch processing, which is increasingly unable to meet the business needs of the explosive growth of the scale of business data.Storm is a distributed real-time computing system which is similar to Hadoop which can process a large number of data streams. But there is a big difference between the two, the main difference is that the Storm has been used in the memory of the data transfer, Hadoop used the disk as a medium of exchange, you need to read and write disk. In the field of application, Storm is a real time processing, and Hadoop is a batch processing task scheduling. Therefore, as a real-time computing and processing representative of the Storm well made up for the Hadoop and other aspects of the lack of real-time calculation of large data.

Key words: Storm; big data; real time calculation

1.绪论

1.1 研究背景

随着互联网业务数据的飞速发展,人们处理和使用数据的模式已经发生了巨大的变化,传统的技术架构越来越无法满足人们对于海量数据处理的需求。就拿当今最流行的微博来说,新浪微博注册用户已经超过3亿,平均每天就有一亿条微博诞生[1]。在这个背景下,“云计算”概念被正式提出,各大软件公司都争先在“云计算”[2]领域进行研究和部署工作。其中,以Apache的开源项目Hadoop最为流行,Hadoop分布式计算平台专注于对大数据进行批处理。随着业务数据规模的爆炸式增长,越来越多的企业开始注重大数据的实时处理,而Hadoop的批处理方式本身就与之矛盾,解决新的业务需求变得刻不容缓。此时,由Twitter公司提出的容错的实时计算系统Storm[3],有效的弥补了其他系统在该领域的空白,Twitter每天大概有3.5亿推文都是由Storm进行实时处理。

1.2 研究意义

Storm计算平台的出现,使应对大数据的实时处理变成了可能。Storm的有趣之处在于容错和管理,优点之一在于有效的保障了消息处理,每个元组都会通过该结构进行全面处理;其二在于它实现了任务级的故障检测,要是一个任务发生故障,消息就会重新分配以便重新处理。通过对Storm系统的学习,可以让我们更好的应对大数据的实时计算,加深自己对大数据时代的理解。

2.Storm简介

2.1 Storm与Hadoop

正如前面所提到的那样,Storm是Twitter公司在Hadoop平台之后提出的分布式的、可伸缩的、容错的实时计算平台,原因就是Hadoop在处理实时计算方面不容乐观。Hadoop 在本质上是一个批处理系统[4]:数据被引入 Hadoop 文件系统 (HDFS) 并分发到各个节点进行处理。当处理完成时,结果数据返回到 HDFS 供始发者使用。而Storm 支持创建拓扑结构来转换没有终点的数据流,有别于 Hadoop的是,这些转换不会停止,它们会持续处理到达的数据。正如Hadoop简化了大数据的批量处理,Storm的提出也大大简化了大数据的实时处理,这两者在整体架构方面非常相似,所以又将Storm称为“实时的Hadoop”系统,具体见下表2.1。

表2.1 Storm与Hadoop对应关系

Storm

Hadoop

作用

系统角色

Nimus

JobTracker

任务调度,资源管理

Supervisor

TaskTracker

启动和停止执行进程,汇报节点状态

Worker

Child

业务逻辑具体的执行进程

应用名称

Topology

Job

用户的自定义任务

组件接口

Spout/Bolt

Mapper/Reducer

编程模型

2.2 Storm集群部件

上面已经介绍了Storm和Hadoop具有相似的主从架构,集群中分为两个节点:控制节点(master node)和工作节点(worker node)。Storm主要由以下几点要素组成[5]

2.2.1 Nimbus

它使进程运行在控制节点上,Storm只运行一个实例,它是整个集群的控制节点。与Hadoop中JobTracker的功能类似,它主要负责集群中任务和代码的分发以及系统的监控。

2.2.2 Supervisor

每个工作节点上都运行一个Supervisor守护进程。它的主要任务是分配和监听自己的其所在的工作、同步Zookeeper上的配置以及启动和关闭Worker进程。

2.2.3 Worker

该进程用来执行用户所提交的Topology的一个子集,一个Topology由多个运行的Worker进程完成。

剩余内容已隐藏,请支付后下载全文,论文总字数:19826字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;