轻量级即时通讯系统的研究与实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第12-15页 |
1.1 课题背景 | 第12-13页 |
1.2 本文研究内容与主要工作 | 第13页 |
1.3 论文结构 | 第13-15页 |
第二章 即时通讯系统相关研究 | 第15-27页 |
2.1 常规即时通讯系统设计方案研究 | 第15-17页 |
2.1.1 系统组成 | 第15-16页 |
2.1.2 主要功能 | 第16-17页 |
2.1.3 方案分析 | 第17页 |
2.2 负载均衡研究 | 第17-19页 |
2.2.1 循环DNS方案 | 第18页 |
2.2.2 自制DNS代理方案 | 第18-19页 |
2.3 数据同步研究 | 第19-21页 |
2.3.1 Gossip协议数据同步方案 | 第20页 |
2.3.2 中心节点数据同步方案 | 第20-21页 |
2.4 路由策略的研究 | 第21-24页 |
2.4.1 基于中心状态服务器的路由策略 | 第22-23页 |
2.4.2 基于一致性哈希算法的路由策略 | 第23-24页 |
2.5 本章小结 | 第24-27页 |
第三章 轻量级即时通讯系统pushd需求分析 | 第27-30页 |
3.1 性能需求分析 | 第27页 |
3.2 轻量化需求分析 | 第27页 |
3.3 功能需求分析 | 第27-29页 |
3.3.1 在线消息转发功能需求分析 | 第27-28页 |
3.3.2 离线消息功能需求分析 | 第28页 |
3.3.3 离线推送功能需求分析 | 第28页 |
3.3.4 系统性能监测功能需求分析 | 第28-29页 |
3.3.5 手机SDK需求分析 | 第29页 |
3.4 本章小结 | 第29-30页 |
第四章 轻量级即时通讯系统pushd系统设计 | 第30-58页 |
4.1 系统组成介绍 | 第30-31页 |
4.2 系统总体设计 | 第31-32页 |
4.3 系统关键技术及改进方案 | 第32-43页 |
4.3.1 一种面向主题的发布订阅机制 | 第33-37页 |
4.3.2 改进的随机IP负载均衡策略 | 第37-39页 |
4.3.3 类Gossip数据同步机制 | 第39-41页 |
4.3.4 广播路由策略 | 第41-43页 |
4.4 在线消息转发功能设计 | 第43-48页 |
4.4.1 消息转发设计 | 第43-45页 |
4.4.2 主题映射表设计 | 第45-46页 |
4.4.3 消息转发功能支持聊天以外的业务设计 | 第46-47页 |
4.4.4 功能流程 | 第47-48页 |
4.5 离线消息功能设计 | 第48-50页 |
4.5.1 群聊离线消息 | 第48-49页 |
4.5.2 系统离线消息 | 第49-50页 |
4.6 离线推送功能设计 | 第50-52页 |
4.6.1 方案 | 第50页 |
4.6.2 用户离线状态的识别 | 第50-51页 |
4.6.3 下发消息设计 | 第51-52页 |
4.6.4 离线推送流程 | 第52页 |
4.7 系统性能监测功能设计 | 第52-53页 |
4.8 手机SDK设计 | 第53-57页 |
4.8.1 文件类消息的处理 | 第53页 |
4.8.2 事件机制 | 第53-54页 |
4.8.3 服务器连接检测 | 第54-55页 |
4.8.4 手机网络异常的检测与处理 | 第55-56页 |
4.8.5 读写分离与假等待 | 第56页 |
4.8.6 私有通信协议 | 第56-57页 |
4.9 本章小结 | 第57-58页 |
第五章 轻量级即时通讯系统pushd系统实现 | 第58-72页 |
5.1 在线消息转发功能实现 | 第58-62页 |
5.1.1 主题映射表代码实现 | 第58页 |
5.1.2 服务器实体在代码中的抽象 | 第58-59页 |
5.1.3 服务器间建立连接过程 | 第59-60页 |
5.1.4 本机消息转发的具体逻辑 | 第60-61页 |
5.1.5 服务器间消息转发 | 第61-62页 |
5.2 离线消息功能实现 | 第62-64页 |
5.2.1 群聊状态表与用户邮箱在数据库中的实现 | 第62-63页 |
5.2.2 离线消息确认机制流程 | 第63-64页 |
5.3 离线推送功能实现 | 第64-66页 |
5.3.1 本机用户离线推送信息表的实现 | 第64-65页 |
5.3.2 连接池的实现 | 第65-66页 |
5.4 系统性能监测功能实现 | 第66-67页 |
5.5 手机SDK实现 | 第67-71页 |
5.5.1 连接服务器具体实现 | 第67-68页 |
5.5.2 消息重复发送问题解决 | 第68-69页 |
5.5.3 内部缓存队列实现 | 第69页 |
5.5.4 心跳功能实现 | 第69-70页 |
5.5.5 消息发送SDK内部处理 | 第70-71页 |
5.6 本章小结 | 第71-72页 |
第六章 轻量级即时通讯系统pushd系统测试 | 第72-84页 |
6.1 测试环境说明 | 第72页 |
6.2 系统部署说明 | 第72-73页 |
6.3 系统功能测试 | 第73-78页 |
6.3.1 在线消息转发功能测试 | 第73-75页 |
6.3.2 离线消息功能测试 | 第75-76页 |
6.3.3 离线推送功能测试 | 第76-77页 |
6.3.4 系统监测功能测试 | 第77-78页 |
6.4 系统非功能测试 | 第78-83页 |
6.4.1 集群扩展测试 | 第78-79页 |
6.4.2 负载均衡测试 | 第79页 |
6.4.3 系统高可用测试 | 第79-80页 |
6.4.4 系统并发量测试 | 第80-83页 |
6.5 横向对比说明 | 第83页 |
6.6 本章小结 | 第83-84页 |
第七章 总结与工作展望 | 第84-86页 |
7.1 总结 | 第84-85页 |
7.2 工作展望 | 第85-86页 |
参考文献 | 第86-88页 |
致谢 | 第88-89页 |
攻读硕士学位期间发表的学术论文目录 | 第89页 |