当前位置:文档之家› 基于MQTT协议的消息推送平台的设计与实现

基于MQTT协议的消息推送平台的设计与实现

目录

摘要..............................................................................................................................................I Abstract.........................................................................................................................................II 目录.............................................................................................................................................III 1绪论 (1)

1.1课题背景与意义 (1)

1.2国内外研究现状 (2)

1.3研究目标与主要内容 (3)

1.4论文组织结构 (3)

2消息推送平台实现技术概述 (5)

2.1主流的消息推送平台 (5)

2.2C2DM云端推送平台 (5)

2.3APNS服务 (6)

2.4其他推送平台 (8)

2.5JNPush推送方案 (9)

2.6本章小结 (11)

3JNPush消息推送平台架构设计 (12)

3.1MQTT协议及其应用 (12)

3.2JNPush消息推送平台总体结构设计 (13)

3.3JNPush消息推送平台数据结构设计 (16)

3.4JNPush消息推送服务设计 (23)

3.5JNPush消息推送平台管理管理子系统设计 (25)

3.6本章小结 (26)

4JNPush消息推送平台主要模块实现 (27)

4.1用户及权限管理 (27)

4.2用户认证授权及连接管理 (29)

4.3消息订阅 (33)

4.4消息发布 (35)

4.5消息队列管理 (37)

4.6消息推送机制实现 (38)

4.7本章小结 (40)

5JNPush消息推送平台的部署与应用 (41)

5.1消息推送平台的软件组成 (41)

5.2消息推送平台的软件安装配置 (41)

5.3消息推送平台测试 (41)

5.4本章小结 (45)

6总结与展望 (46)

6.1论文工作总结 (46)

6.2问题和展望 (46)

参考文献 (47)

致谢 (50)

暨南大学硕士学位论文

1绪论

1.1课题背景与意义

随着互联网技术的飞速发展与深入应用,人们进入了信息大爆炸时代。互联网已经成为了一个全球性的超级数据库[1]。虽然丰富的资源和信息开阔了人们视野,但过多的冗余信息也给用户准确地查找信息带来了极大的困扰。用户往往希望能够以最快的速度获取感兴趣的信息。例如,在移动互联网的社交应用中,用户希望能及时看到好友发来的消息或者是更新的状态[2];在物联网的控制应用中,服务器端很难实现对智能终端进行点对点的控制,希望终端一上线就能收到数据信息与控制指令[3][4];在Web网络应用的股票价格监控应用中,股民用户希望能实时掌握股市的最新行情[5]等等。由此可知,各类应用都存在及时获取最新信息与提供良好用户体验的需求。本文研究课题正是来源于数字告示系统中服务端和广告显示终端之间的通信需求。

目前,用户获取信息的方式主要有“PULL”和“PUSH”两种。PULL又称作信息牵引[6][7]],是用户主动拉取信息的一种方式。当用户明确知道自己需要是什么信息时,用户往往主动向服务器端发送请求,服务器端被动收到用户有目的的查询和搜索请求后,将处理好的数据返回给用户,这就是PULL方式[8]。PULL方式的优点是获取信息具有很强的针对性。用户可以根据自己的需求有目的的去查询、搜索感兴趣的信息。然而,这样的做法也存在明显的不足:一方面,面对繁杂的网络信息,用户查找信息需要花费大量的时间[9];另一方面,当用户感兴趣的信息在服务器中发生更新或是变动时,用户就无法获得最新的动态信息,实时性差。要达到较好的实时性,用户就必须尽可能的减小主动拉取信息的时间间隔,而频繁的进行PULL操作将会花费大量的流量资源,耗费智能设备的电量,对于网络不稳定和储电量有限的智能设备来说,PULL方式的弊端尤其明显[10][11][12]。

为了解决PULL方式存在的问题,PUSH技术应运而生。PUSH是服务器端推送技术[4]。与PULL方式相反,PUSH是服务器端根据用户的需求主动将用户感兴趣的信息咨询推送到客户端而不需要用户自己进行PULL操作[13]。举个例子,就像是客户订阅了一份报纸,只要一有新报纸,邮递员就会主动送到客户的邮筒,而不需要客户去报社询问是否有其订阅的报纸。显然,push具有以下优点:

(1)具有更好的实时性和用户体验。当服务器端有客户端感兴趣的信息时,客户端

相关主题
文本预览
相关文档 最新文档