首页> 中文学位 >一种基于Storm的实时处理流程管理工具的设计与实现
【6h】

一种基于Storm的实时处理流程管理工具的设计与实现

代理获取

目录

第一个书签之前

展开▼

摘要

当下正处于海量数据的时代,企业级系统经常会产生TB级别的数据,对于这些数据如何去处理和分析是一个十分关键的问题。早在2004年Google发表的三篇论文开启了大数据处理时代的大门,经过十余年的发展,基于此论文思想的开源产品Hadoop、MapReduce和 Hbase已经成为了大数据处理领域的基础工具,具有无法撼动的地位。这三大工具有一个共同的特点就是都是基于离线模式处理数据,而随着科技的不断进步数据处理的场景也在从离线向实时转变,因此基于Hadoop的大数据处理工具无法满足某些场景下的需求。Twitter公司开发的Storm框架在实时数据处理场景中具有非常优秀的表现,无数的企业和系统都在使用Storm框架或者基于Storm的衍生版本,验证了该框架具有高容错性和十分强大的实时性,因此Storm也是目前比较流行的实时数据处理框架。 Storm作业的整个开发流程具有一定的复杂度,包括设计计算组件、设计计算拓扑、生成拓扑jar包、提交作业等几个步骤。这些步骤中有的步骤有大量重复劳动,有的步骤缺乏流程规范和统一工具,而设计计算拓扑步骤中只能通过编写代码方式将组件组织成拓扑,这样一个原本生动的过程变的很抽象。本文针对这些问题,在分析并研究了分布式实时数据处理技术的基础上,提出了一种基于Storm的实时处理流程管理工具,对开发Storm作业的整个生命周期进行管理,提供图形化的方式设计计算组件和计算拓扑。本文中主要完成了以下几部分内容。 (1)设计了一种基于 XML描述、图形化展示的 Storm计算组件及设计计算拓扑的功能。采用XML描述用户设计的计算拓扑,并解析XML文件自动生成计算组件和计算拓扑代码,简化用户使用Storm的工作,使用户把更多精力放在如何编写好业务代码上。 (2)设计了一种基于代理程序模式的自动化作业提交功能。为了解决传统模式下,开发人员需要手动上传计算拓扑jar包并执行命令启动作业的繁琐过程,采用了一种基于代理程序的模式实现一键自动提交作业功能。代理程序和系统之间采用消息队列通信以达到解耦目的。 (3)设计了一种基于代理程序的作业运行状态监控功能。在StormUI信息的基础上,设计了一种新的数据展示模型,通过代理程序方式获取数据以及下发集群操作指令,采用消息队列与业务系统进行数据交互,实现了对Storm运行拓扑的监控及管理功能,提供了实时及历史数据展示、统计等功能,进一步完善了Storm作业监控。 (4)设计了Storm集群的监控和管理功能。包括Storm集群的添加、删除、启动、关闭等功能,同时设计了Storm集群资源信息的监控报警功能,主要包括对CPU、内存、硬盘等资源的使用情况的监控。 本文中所实现的系统,简化了使用Storm开发实时处理作业的复杂度,屏蔽了实时处理框架底层复杂的数据接口和操作,使用户专注于编写业务代码而不用过多关心框架底层代码的同时可以减少用户编写重复代码,提高了开发人员效率。同时本系统中所提供的作业监控和管理功能把提交作业这种重复劳动交给计算机完成。

著录项

  • 作者

    李鹏;

  • 作者单位

    西安电子科技大学;

  • 授予单位 西安电子科技大学;
  • 学科 软件工程
  • 授予学位 硕士
  • 导师姓名 鲍亮,万黎建;
  • 年度 2018
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类
  • 关键词

    实时; 处理流程; 管理工具;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号