动态自适应的流式数据处理引擎的设计与实现
发布时间:2020-08-01 11:43
【摘要】:传统的批处理系统和流处理系统主要针对大规模数据实时处理的需求,系统的开发和部署复杂,数据处理应用的重构和使用困难。随着应用性能管理的发展,迫切需要一种轻量级的,具备良好重构能力的流处理引擎,以应对应用性能管理所需的多源结构化日志数据的流式处理需求。论文针对应用性能管理的数据处理需求,分析了现有流处理系统在集群节点动态管理、消息持久化、消息恢复、任务并发执行等方面存在的问题,提出了一种动态自适应的流式数据处理方法。该方法通过引入基于ZeroMQ的集群对等节点广播策略和基于Redis的AOF持久化特性的时间窗口算法,解决了 Kafka这类传统流式数据处理引擎,在应对应用性能管理数据分析系统时容易出现的集群节点同步不及时、消息恢复慢、集群配置过于复杂的问题,提高了节点数据处理的可靠性和集群管理的高效性。论文首先分析了应用性能管理系统的集群节点管理需求和节点故障恢复需求,设计了一个包含分布式处理引擎、流处理节点代理的动态自适应流式数据处理引擎。分布式处理引擎通过封装ZeroMQ集群内对等节点广播来实现集群节点的动态发现和管理,及节点间的数据消息传递。流处理节点代理则通过“生产者-消费者”模式封装数据的获取和分发,从而解耦流数据处理节点,完成数据处理的动态管理。流处理节点内则通过时间窗口算法,处理节点在故障恢复过程中的数据自适应加载,完成数据处理的自适应管理。其后,论文对动态自适应流处理引擎的核心功能、开发者接口、数据结构、数据流程等进行了设计与实现,向开发者提供了一个完整的轻量级数据传输与处理服务。论文最后通过一个典型应用性能管理应用对该引擎进行了功能和性能测试,验证了系统的有效性,并对轻量级流式数据处理引擎进行了总结和展望。
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:
这些分布式协调服务的优点是能实现简单的分布式协调过程,能在服务器进逡逑程之间相互协作;实现了消息编解码功能,确保程序运行一致;提供了数据操作逡逑的原子性。以Zookeeper为例[8],通用的分布式客户端-服务器结构如图2-1所逡逑示:逡逑逦从节点邋逦逡逑逦邋^逦f备份数据库^逦邋心跳广播逦¥逡逑客户端1邋—^逦V邋y逦丨1逡逑I逡逑客户端2邋’逦广邋^主节点|逦逦邋-逦|1逡逑 ̄逦备份数据库——心跳广播邋^——请求处理器邋—逡逑客户端3逦?逡逑逦邋广逦从节点邋逦逡逑客户端4逦备份数据库^逦邋心跳广播逦」逡逑图2-1邋ZooKe印er分布式框架逡逑ZooKeeper集群启动之后,等待来自客户端的连接,客户端连接到集群中某逡逑一个节点,可以是leader节点,也可以是follower节点,一旦连接成功,节点将逡逑向该客户端发送确认消息,如果客户端未收到确认消息,将尝试连接另一个节点。逡逑6逡逑
2.2.1生产者-消费者模式逡逑Kafka的分布式节点磁盘上存储的每一个Topic存储消息以及消息被消费的逡逑格式和过程[12]如图2-2:逡逑生产者逡逑写入逡逑y逡逑I逡逑I逡逑0123456789!逡逑I逡逑I逡逑I逡逑逦逦逦逦逦逦逦,」逦1逦逦j逡逑J邋读取逡逑消费者A逦消费者B逡逑0ffset=6逦0ffset=8逡逑图2-2流引擎生产消费模式逡逑流数据以生产-消费的模式出现,通过发布-订阅机制来完成数据的生产和消逡逑8逡逑
首先是数据存储形式,采用主题(Topic)-分区(Partition)模式来表现流。逡逑下图显示了对这种主题分区形式的流定义的日志存储表示,数据存储在磁盘文件逡逑系统中,对数据的访问则通过图2-3的形式:逡逑9逡逑
本文编号:2777418
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:
这些分布式协调服务的优点是能实现简单的分布式协调过程,能在服务器进逡逑程之间相互协作;实现了消息编解码功能,确保程序运行一致;提供了数据操作逡逑的原子性。以Zookeeper为例[8],通用的分布式客户端-服务器结构如图2-1所逡逑示:逡逑逦从节点邋逦逡逑逦邋^逦f备份数据库^逦邋心跳广播逦¥逡逑客户端1邋—^逦V邋y逦丨1逡逑I逡逑客户端2邋’逦广邋^主节点|逦逦邋-逦|1逡逑 ̄逦备份数据库——心跳广播邋^——请求处理器邋—逡逑客户端3逦?逡逑逦邋广逦从节点邋逦逡逑客户端4逦备份数据库^逦邋心跳广播逦」逡逑图2-1邋ZooKe印er分布式框架逡逑ZooKeeper集群启动之后,等待来自客户端的连接,客户端连接到集群中某逡逑一个节点,可以是leader节点,也可以是follower节点,一旦连接成功,节点将逡逑向该客户端发送确认消息,如果客户端未收到确认消息,将尝试连接另一个节点。逡逑6逡逑
2.2.1生产者-消费者模式逡逑Kafka的分布式节点磁盘上存储的每一个Topic存储消息以及消息被消费的逡逑格式和过程[12]如图2-2:逡逑生产者逡逑写入逡逑y逡逑I逡逑I逡逑0123456789!逡逑I逡逑I逡逑I逡逑逦逦逦逦逦逦逦,」逦1逦逦j逡逑J邋读取逡逑消费者A逦消费者B逡逑0ffset=6逦0ffset=8逡逑图2-2流引擎生产消费模式逡逑流数据以生产-消费的模式出现,通过发布-订阅机制来完成数据的生产和消逡逑8逡逑
首先是数据存储形式,采用主题(Topic)-分区(Partition)模式来表现流。逡逑下图显示了对这种主题分区形式的流定义的日志存储表示,数据存储在磁盘文件逡逑系统中,对数据的访问则通过图2-3的形式:逡逑9逡逑
【参考文献】
相关期刊论文 前2条
1 唐海东;武延军;;分布式同步系统Zookeeper的优化[J];计算机工程;2014年04期
2 李汝光;赵俊;;基于ZooKeeper的分布式缓存的设计与实现[J];绵阳师范学院学报;2011年11期
本文编号:2777418
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2777418.html