学位论文 > 优秀研究生学位论文题录展示
分布式实时分发微博系统
作 者: 黎瑞瑜
导 师: 张凌
学 校: 华南理工大学
专 业: 计算机系统结构
关键词: 微博 消息队列 非关系型数据库 NoSQL
分类号: TP393.092
类 型: 硕士论文
年 份: 2011年
下 载: 362次
引 用: 2次
阅 读: 论文下载
内容摘要
互联网在人们交流和获取信息中扮演着越来越重要的角色,微博在这种趋势下诞生并成为热门的互联网应用。相对于传统的互联网应用,微博需要同时应对海量的用户请求和高实时性的数据处理,如何建设高效率和可水平扩展的Web应用架构成为此类应用的关键。Web2.0应用推动了非关系型数据库的发展,如何利用非关系型数据库也是Web应用架构领域的热门课题。本文基于消息队列和非关系型数据库实现了分布式、高实时和可扩展的微博系统。本系统主要采取的策略是:异步后台处理、缓存更新优先和采用非关系型数据库。异步后台处理就是通过消息队列将HTTP请求中的写请求分为多个阶段,并实现任务的分布式处理。缓存更新优先策略保证了读请求的缓存命中率,加速了读请求的响应速度。微博应用的数据结构简单,采取非关系型数据库能更容易实现高性能和分布式。本文首先分析了目前互联网技术的相关技术,重点是非关系型数据库和基于消息队列实现分布式异步计算。然后提出了微博系统的整体架构。接着基于面向文档的数据库MongoDB设计了微博系统的数据模式,并实现了分布式的数据持久化服务。根据微博的特点,选择内存数据库Redis实现了分布式的高性能缓存服务。接着基于一致性哈希算法实现了消息队列服务的分布式应用,避免了消息队列服务节点变化后大量消息乱序的问题;并利用消息队列实现了分布式的任务分发处理功能,能够负载均衡地分配任务,也能对特定的消息队列灵活增加任务处理后台服务器。最后利用SpringMVC 3.0框架实现了REST风格的微博系统。
|
全文目录
摘要 5-6 Abstract 6-10 第一章 绪论 10-14 1.1 引言 10-11 1.2 研究现状与意义 11-13 1.2.1 Web2.0 应用及微博 11-12 1.2.2 微博的发展现状 12 1.2.3 微博的研究意义 12-13 1.3 本文章节结构 13-14 第二章 相关技术研究 14-28 2.1 非关系型数据库 14-17 2.1.1 非关系型数据库概述 14-15 2.1.2 非关系型数据库的设计原理 15-16 2.1.3 I/O 五分钟法则和“内存是新磁盘” 16-17 2.2 消息队列Beanstalk 17-19 2.2.1 消息中间件介绍 17-18 2.2.2 Beanstalk 分布式消息队列 18-19 2.3 分布式缓存与高性能数据库Redis 19-22 2.3.1 分布式缓存介绍 19-20 2.3.2 高性能键值对数据库Redis 20-22 2.4 面向文档的分布式数据库MongoDB 22-25 2.4.1 MongoDB 的数据模型和文档格式 22-23 2.4.2 MongoDB 的查询与索引 23-24 2.4.3 MongDB 映射框架Morphia 24-25 2.5 相关的Java 技术 25-27 2.5.1 Spring 轻量级框架 25 2.5.2 Spring MVC 3.0 与REST Web 服务 25-27 2.5.3 Spring Security 框架 27 2.6 本章小结 27-28 第三章 微博系统的设计 28-47 3.1 设计目标 28 3.2 微博系统总体架构和工作流程 28-34 3.2.1 总体架构 28-30 3.2.2 推模式和拉模式 30-32 3.2.3 更新状态基本流程 32-33 3.2.4 读取状态时间线基本流程 33-34 3.3 数据库层与数据模式设计 34-39 3.3.1 MongoDB 数据模式 34 3.3.2 微博系统的数据模式设计 34-39 3.4 缓存层设计 39-41 3.4.1 系统缓存层次 39-40 3.4.2 缓存服务的相关约定 40-41 3.5 消息队列设计 41-44 3.5.1 消息队列及其队列名称设计 41-43 3.5.2 消息队列架构 43-44 3.6 REST Web 服务接口设计 44-46 3.7 本章小结 46-47 第四章 微博系统的实现 47-69 4.1 关键技术实现 47-51 4.1.1 零共享和一致性哈希算法 47-50 4.1.2 一致性哈希算法的Ketama 实现 50-51 4.2 数据访问服务实现 51-58 4.2.1 统一数据服务接口 51-55 4.2.2 数据库Dao 接口设计与实现 55-56 4.2.3 统一数据服务接口的数据库层面实现 56-58 4.3 系统缓存服务实现 58-61 4.3.1 使用Redis 实现缓存服务 58 4.3.2 缓存统一数据服务Manager 接口实现 58-59 4.3.3 在线用户管理 59-60 4.3.4 状态时间线管理 60-61 4.4 消息服务实现 61-66 4.4.1 消息后台接收和处理 61-65 4.4.2 消息的时序处理 65-66 4.5 REST Web 服务实现 66-68 4.5.1 Spring MVC 3.0 实现REST Web 服务 66-67 4.5.2 REST Web 服务的输出格式 67 4.5.3 REST Web Service 的用户登录验证 67-68 4.6 本章小结 68-69 第五章 系统实现与实验分析 69-76 5.1 系统的实现与用户界面 69-71 5.2 实验结果及分析 71-75 5.2.1 实验方法概述 71-73 5.2.2 实验数据及分析 73-75 5.3 本章小结 75-76 结论与展望 76-77 参考文献 77-80 致谢 80
|
相似论文
- 风险视角下新浪微博融资行为研究,F49
- 当代广告舆论化现象研究,G206
- AFC系统通信中间件的研究与设计,TP311.5
- 微博:草根话语权的假象,G206
- 基于微博构建的公共领域研究,G206
- 论微博的公民话语权,G206
- 论微博客中的网络公众聚集现象,G206
- 微博著作权保护问题初探,D923.41
- 针对教育视频的虚拟学习社区设计与实现,G434
- 基于微博客的社区挖掘研究,TP393.092
- 微博在危机事件中的传播特点和效果研究,G206
- “围脖”:用什么温暖大众?,G206
- 微博客的虚拟社群及其“人际化”传播分析,G206
- 微博客的传播特征及社会影响分析,G206
- 微博在企业内部传播中的适用性研究,F272
- 中国微博客的发展困境和策略研究,G206
- 基于微内容的新闻开发研究,G206
- 微博客营销信息的在线评论与转发对消费者态度的影响,F274;F224
- 针对微博数据的事件检测、跟踪及摘要生成,TP393.092
- 数据挖掘技术在世博客流与社交媒体预测中的研究与应用,TP311.13
- 微博传播特征及传播致效机理分析,G206
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 计算机网络 > 一般性问题 > 计算机网络应用程序 > 网络浏览器
© 2012 www.xueweilunwen.com
|