学位论文 > 优秀研究生学位论文题录展示

分布式实时分发微博系统

作 者: 黎瑞瑜
导 师: 张凌
学 校: 华南理工大学
专 业: 计算机系统结构
关键词: 微博 消息队列 非关系型数据库 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

相似论文

  1. 风险视角下新浪微博融资行为研究,F49
  2. 当代广告舆论化现象研究,G206
  3. AFC系统通信中间件的研究与设计,TP311.5
  4. 微博:草根话语权的假象,G206
  5. 基于微博构建的公共领域研究,G206
  6. 论微博的公民话语权,G206
  7. 论微博客中的网络公众聚集现象,G206
  8. 微博著作权保护问题初探,D923.41
  9. 针对教育视频的虚拟学习社区设计与实现,G434
  10. 基于微博客的社区挖掘研究,TP393.092
  11. 微博在危机事件中的传播特点和效果研究,G206
  12. “围脖”:用什么温暖大众?,G206
  13. 微博客的虚拟社群及其“人际化”传播分析,G206
  14. 微博客的传播特征及社会影响分析,G206
  15. 微博在企业内部传播中的适用性研究,F272
  16. 中国微博客的发展困境和策略研究,G206
  17. 基于微内容的新闻开发研究,G206
  18. 微博客营销信息的在线评论与转发对消费者态度的影响,F274;F224
  19. 针对微博数据的事件检测、跟踪及摘要生成,TP393.092
  20. 数据挖掘技术在世博客流与社交媒体预测中的研究与应用,TP311.13
  21. 微博传播特征及传播致效机理分析,G206

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 计算机网络 > 一般性问题 > 计算机网络应用程序 > 网络浏览器
© 2012 www.xueweilunwen.com