2017 年 第 26卷 第 3 期 
http:Nwww.c-S—a.org.cn 
计 算 机 系 统 应 用 
基于 MQTT协议的即时消息业务设计与实现① 
林 浒 ,张家铭 l, ,杨海波 
(中国科学 院 沈阳计算技术研 究所,沈 阳 110168) 
(中 国科 学 院大 学 ,北 京 100049) 
摘 要 :近 年来,宽带接入技术正 以十分惊人 的速度 发展.与此 同时,移动互联 网技术也 曰益 成熟,即时消息业 
务己成 为移动互联 时代 的应用热点.在互 联网中 XMPP和 SIMPLE被广泛使用,但其并不能很好 的适用于移动互 
联 网.采用发布/订 阅模 型的 MQTT协议是一种轻量级 的消息传输协议,具有低功耗、节省流量和可扩展性强 的 
优 点.本文首先分析 了 XMPP和 SIMPLE协议 的不足之处,研 究 了 MQTT协议 的消息格 式 以及 协议的使用方式, 
之后对 即时消息业务进行 了设计和实现.并在功 能和性 能上进 行了相 关的测 试和 分析. 
关键 词:即时消息;发布/订 阅;MQTT;移动互联 网 
Design and Implementation of Instant Messaging Business Based on the M QTT Protocol 
LIN  H u ,ZHAN G Jia-M ing  ,YAN G H ai.Bo 
:(Shenyang Institute ofComputing Technology,ChineseAcademy ofSciences,Shenyang 110168,China) 
(Unive~ity of Chinese Academy of Sciences,Beijing 1 00049,China) 
Abstract:In recent years,broadband access is developing with astonishing speed.At the same time,the mobile Intem et 
technology is also increasingly mature,instant messaging business have become a hot point of the era of mobile Internet 
applications.XM PP and SIM PLE are w idely used in the Intera ct,but they are not suited to th e m obile Internet.The 
MQTT is a publish/subscribe model based and lightweight messaging protocol,which has the advantages of reducing 
power consumption,decreasing flow and has s~ong flexibility.Firstly,this article analyzes the shortcomings of XMPP 
and SIMPLE protoco1.Secondly,it introduces the message format and the usage of the MQTT protoco1.After the design 
an d implementation of the instant messaging business,the related testing and analysis are carried on the function an d 
perform an ce. 
Key words:instant messaging;Pub/Sub;MQTT;mobile Internet 
随着 移动互联 网和 移动智 能终端 的普及 ,移 动智 
高 的要 求.然 而上述两种 协议均不 能较 好的满足移 动 
能终端 已经 成为网民接入互联 网的重要途 径,即时通 
消息 的应用场景 .本文通 过对解决 当前即时消息业 务 
信 迎来 了前所未有 的发展 契机.与此 同时,由于 用户 
的相 关协议进行研 究和分析,提 出了更 适合移动互 联 
通 常会随身 携带手机,移动消息应 用在手机客 户端上 
网的基于 MQTT协议 的即时消息业务解 决方案 . 
的重要性也逐渐 凸显,移动消息 中的即时消息 业务成 
本文 主要 分 为 四部 分 ,第一 部分 对 SIMPLE 和 
为一个 炙手可热 的研究领 域.目前,即时消息 除 了通 
XMPP 协议进行 了相关 的研究,并分析 了在移动 互联 
过采用私有协议(如 QQ、微信等)实现 外,还主要通过 
网下两协议 的不足 之处.第二部分提 出了基 于发布/订 
SIMPLE和 XMPP两大类协议.然而,由于移动智 能终 
阅的轻量级 的 MQTT 协议,对其进行 了简 单地分析, 
端对流量有 限制,对网络 的带 宽 以及终端 的功 耗等有 
并 阐述 了它 的消息格 式.第三部分对 即时消息业 务的 
特殊的要求,因此 即时消息业务对即时通信协议有更 
话题 、payload以及 消息路 由进行 了设计和实现.第四 
① 基 金项 目:教 育部-中国移动 科研 基金 (2015)(MCM20150103) 
收稿 时 间:2016.06—30;收 到修 改稿 时间 :2016—08—18 【doi:10.15888/j.cnki-csa.005678] 
Research and Development研 究 开发 219 
计 算 机 系 统 应 用 
http://www.C—S—a.org.cn 
2017 年 第 26卷 第 3期 
部分.对本文 设计 的即时消 息系统进 行 了相 关的测 试 
XMPP和 SIMPLE协议是基于消息体寻址 的协议, 
和 分 析 . 
1 相 关 协 议 分 析 
1.1 SIMPLE 协 议 
消 息体中包含 了消息的发送者 、消息 的接 收者 以及消 
息 路 由用 的会 话标 示等头 域,这使 得消 息体过 大,极 
大 的降低 了带宽 的利用率 . 
SIMPLE(SIP for Instant M essaging and Presence 
2 基 于 发 布 /订 阅 的MQTT协 议 
Leveraging Extensions)协议簇是 由 IETF SIMPLE工作 
2.1发布/订阅模型概述 
组制定 的,主要是扩展 SIP协议,以使其支 持 IM 服务_3J 
发布/订阅模型是一种 消息传播模式,消息 的发布 
SIMPLE工作组 为 SIMPLE协 议的规范制定做 了大 量 
者 不直接将 消息发 送到消 息 的订 阅者,而是根 据某种 
的工作,并且发布 了一系列 RFC 文档 .SIMPLE提 出 
特 征将发布 的消 息进行分类 ,在 这个 过程 中消息 的发 
session模式和 page模式[引.session模式 中,即时消息被 
布 者不 需要 关注 消息 的订 阅者 .同样,消息 的订 阅者 
作为一种类似于音视频 的媒 体,通过 SIP 信令进行 交 
通 过订 阅某 个感兴 趣 的消 息,不需要 关注消 息的发布 
互,即时消 息协商后 建立 一个会 话,通过 建立 的会 话 
者 .在这 种机制 下,消 息 的若 干个 发布 者与若干 个 订 
进 行消息媒体 的交互 .page模 式中,通过 sip请求包 裹 
阅者之 间不 需要直 接进行通 信,而 是通 过建立 消息代 
即时消息的 内容发送 消息 的方式.通过 对 SIP协议 的 
理 作为 中介 互相通 信.通过 这种发布 者与订 阅者之 问 
扩 展 SIMPLE协议有 了很大 的改进.在完成 了 SIP信 
的解 耦合关 系,这种模 式提供 了更好 的网络扩 展性和 
令 协商之后 ,一般 的多媒体会 话需要使 用一些 其他 协 
更动态 的网络拓扑. 
议 来建立用户代 理之 间的会话 通道 以此完成 会话数据 
发布/订 阅模型 中,消息 的订 阅者往往 只接受 消息 
的交 互.基于 SIMPLE 协议 的即时消息交互不需要建 
发布者 所发 布消息 的某个子 集.消息 的过滤指 的是对 
立会 话通道,消息通过 SIMPLE协议 的消息命令直接 
接 受和处理 的消 息进 行选择 的过程 .通 常有两 种过滤 
发送,每 个消 息都 由一个单 独 的消息命 令来传 播 ,彼 
形 式:分别是基 于主题 和基于 内容 的过 滤,MQTT 协 
此 独 立 . 
1.2XMPP协 议  
议采用基 于主题的发布 /订阅模式. 
在 基于 主题(Topic)的发 布 /订 阅模型 中,消息 以 
XMPP由 IETF于 2004年完成 了标准化 工作,符 
特 定 的主 题名标识 被发布者发布 至消息代 理服务器上 
合 I C2778 和 RFC2779 规 范 . XMPP 源 于 Jabber 
基 于主题 的发布 /订阅模式 中,订 阅同一主题 的订 阅 
协 议,它是 以 XML 为基础开放式 的 即时通信 协议}4】. 
者将会 收到相 同的消息,消息 的订 阅者 可 以订 阅多个 
XMPP 协议 继 承 了 XML 的灵活 性 、扩 展 性 ,它 以 
主 题 .发 布 者 负责 定 义订 阅者 可 以订 阅 的 消息类 别 . 
TCP/IP传输为基础,定义 了客户端 、服 务器 和 网关三 
消息代 理负 责维护 消息 队列 ,执 行消息 的存储转 发功 
种 角色 .服 务器 不仅要 承担 客户端 信息 记录,还 要负 
能 . 
责 连接管 理和信 息的路 由功 能.网关 负责各异构 即 时 
2.2 MQTT协 议简介 
通迅 系统之间的通信. 
MQTT(Message Queuing Telemetry Transpo~,消 
1.3 XMPP、SIMPLE协议在移动互联 网中的不足 
息队列遥测传输)是 由 IBM 公 司开发的 即时通讯协议, 
XMPP和 SIMPLE协议均是基于字符文 本进 行传 
它 是一个基于发布/订阅模 型、轻量级的消息传输协议【 1 
输 的通信 协议 ,字符文 本协议 通信 的效 率较低 ,为 了 
具有开放 、易用 、精 简等特点.MQTT协议 是为那 些计 
确保通信 的安全,二者采用 了 TLS等加密传输机 制计 
算 能力有 限,且需要 工作在低 带 宽、不可靠 的 网络 通 
算量 较大,功耗 较高. 
讯 而 设 计 的协 议 【 . 
XM PP和 SIMPLE 协 议 是 基 于 相 对 可靠 的 网络 上 
MQTT主要有有 以下几个特性: 
的应用层 协议 ,在底层 网络 不稳定 的情况 下,容 忍机 
① 使 用基于 主题 的发布/订 阅消息模 式,提供 一 
制 不够 健全,应 用在移 动互 联 网即时通信 时,网络 的 
对 多的消息发布,屏 蔽了应用程序 之间的耦合性: 
不稳 定现象 经常 出现 ,恢 复 网络连 接需要 较多交互 数 
② MQTT协议有 三种级别 的消息 发布服 务质量【 】 
据包 ,浪 费用户 流量,降低 了用户 体验 . 
“至多一 次”,发生 的消 息会丢 失 或重复 ,这一 级别 可 
220 研 究 开发 Research and Development 
2017年 第 26卷 第 3 期 
http:llwww.c-S—a.org.cn 
计 算 机 系 统 应 用 
用 于一些传 感器传 输数据,消 息丢失一次对系 统不会 
在相关 的保 留信息 时,则不发送. 
有严重影 响,因为在 不久之后 系统还会进行 消息的第 
Remaining Length 是 剩 余 长 度 ,包 含 Variable 
二次发送 ;“至少一 次”,该情况下能确保传输消息 的准 
header、payload的长度,默认 Remaining Length为 1 
确到达,但有 可能会 产生消息重复 的传输 的现象 ;“只 
字节,最多支持扩展 4字节,因此一条 MQTT可携带 
有一次”。确保消息只 到达一 次.这一级 别可用 于一些 
的消 息最高是 256MB. 
计费系统,使用 该级别表 明进行传输 的消息 内容特 别 
重要: 
3  即时消息业务 的设计 与实现 
③ MQTT协议采用二进制的形式表达 。固定长度 
即时通 信在实际 的应用 场景 中,客户端 与服务器 
的头部只有 2字节,协议交换达到最小化,极大的降 
的具体交互流程如 图 1所示. 
低 了网络带宽的开销. 
2-3 MQTT协议的消息格式 
MQTT消息体 由固定报头 、可变报头 以及有效载 
荷三 部分组 成[6】,固定报头是每 个消 息体都必 须要包 
含 的部分 固定报头部分 的长度 为 2字节 .消 息格式 
如表 1所示. 
表 1  MQTT协议的消息格式 
固定报 头 
可变头 域 
有 效 负载 
Fixed Header 
Variable Header 
Payload 
必有 
喃 些 消息百 以没 有 
消息体 的固定报头有 2个字节长,具体 的格式如 
表 2所 示 . 
表 2 固定 头域 
bit  l  l 5 I  3  2 f 1  O 
MQTr Control Packet  DUP 
Type 
Flag 
QOS Flag  Retain Flag 
Byte1 
Byte 2 
图 1  IM 交 互流程 简图 
客 户 端 A 
客户端 A、B会分别订 阅/IM/A和/IM/B主题.客 
户端 A和 B会 向对方的主题上发布消息,之后会通过 
代 理服务器进行转 发【8].MQTT 协议 中消息不携带路 
由信 息和 消息的内容类型 .因此,我们 需要对 payload 
中携带 的消息 格式 根据业 务 的需求进 行 明确 的规 范, 
使客户端 能够从 payload中获取消息 的类别 、发送者 的 
Remaining Length 
信 息 以及载 荷 域 的 内容 格式 等相 关信 息 .由此 可 见, 
固定报头 的高四位是消息 的类 型,最 多可 以支持 
使用 MQTT协议实现 即时通信 的应用关键 点在于话题 
l6种 的消息类型.目前,MQTT协议 已经 定义 了 14种 
的设计,消息的发布、订阅流程 以及消息路 由.下 面将 
消息类 型[ . 
对 即时消息的上述 问题进行设计 和实现 . 
Dup Flag用 于标 识是否 第一 次发 送该 消息 .当 
3.1话题格 式设计 
Dup Flag 为 0 时表示第一次发送该 消息.虽然 Dup 
话题格 式为:/namespace/im/u/uid. 
Flag为 1表示该消息是重传消息,但是不能保证用户 
在 MQTT 协议 中话题至少需要一个字 符的长度, 
之前 收到过 该消息. 
话题 对大小写敏感 的.通过“/”用来 区分相应 的话题层 
QOS 表 明发布消 息 的交付质 量等 级,可选 值 为 
级.规定 ,以“/”开头 的话题 为普通 话题 ,  以”$”开头 
0、 1、 2. 
的话题 为系 统话题 【9】.namespace为用户所在 的组织名 
Retain 标识仅在发布 消息 中使用.对于消息 的发 
称 ,可 以为企业或 学校 的标 识名.中间部分用 来表示 
布者,当客户端发送 消息时,如果该标识设置为 1,则 
话题类 别,im表示 即时消息话题.最后的 uid代表用户 
消息发送到订 阅该主题的所有订 阅者之后,代理服务 
的唯一标示 符. 
器 仍然保存 该消 息.对 于消息 的订 阅者,当一个主题 
3.2 Payload设 计 
有 了新的订 阅用户 ,最 后被保 留的消息 主题 将被设置 
对于一条 即时消息,消息 的接 收方在接 收到消息 
保 留字段,然 后发送 到新 的消 息订 阅者 .当主 题不存 
之 后,需要知道 该消息的发送 时间、消 息的类 型 、消 
Research and Development研 究 开 发 22 1 
计 算 机 系 统 应 用 
http://www.c—S—a.org.cn 
2017 年 第 26卷 第 3 期 
息 内容 的类 型、消息 内容 以及 该消息的发送者等信 息 
在 上 述 定 义 中 , 
因此该消 息的 payload的设计如表 3所示 . 
ty:是媒 体 的类型 ,目前 需要 考虑 支持 的媒 体类 
表 3 即时消息的 payload设计 
型包 括 :文本,图片,音 频,视 频,文 档,文件 ,地 图 
位 置,html代码,以及其他富媒体,如通知 、公告 、轻 
应 用数据等. 
Sender:发送者 消息,变长,可为 空. 
CO;是媒 体的 内容. 
TS:发送 时的时间戳 ,4个字 节,不可 为空. 
fh:如 果媒 体涉 及到 文件 或者 文档名 字,这 里给 
在 Type中包括发送消息 的类 型(高 4位)以及消息 
出的是文件 . 
内容 的类 型(低 4位).消息的类 型,现 阶段只用三种表 
3.3预 订阅设计和实现 
示,具体是 0表示 是点对 点的即时消息,1表示 PC端 
IM 是通过话题来组织 的,而话题 的订 阅一般 由客 
到手机 端的即时消息,2表示 的是手机 到 PC端 的即时 
户端 完成 .当所需 订 阅的话题过 多 时,由于 客户端 订 
消息,其余 13种 保留用 于今后扩展:消息 内容 的类型, 
阅数 据量 庞大 ,必 定给 网络 带来 巨大压 力 .其 次,对 
可表示 16种媒体 类型,具体 的示例定义如下 :0表示普 
于移 动设 备而 言,因数据 流量 有 限,势 必将造 成不 必 
通文本信 息,1表示 图片消 息,2表 示音 频文件,3表示 
要 的浪 费.因此 ,为 了减轻 移动 客 户端压 力,提 高用 
视频文 件,4表示 PDF文档,5表示 Word文档 等.这里 
户体 验,本 文采用 预订 阅设计 方案 ,即在服 务器端 构 
需要注 意 的是 ,在 Payload 中一次只携带一 种媒体文 
造一个预订 阅的客 户端.流程 如图 2所示. 
件 .采用离线文件 传输的方式,不在 payload中进行文 
件 传 输 ,文件 上 传 结 束 后将 对 应 的 下载 链 接 地址 在 
payload进行传输.Type的详细设计如表 4 
表 4  Type详 细设计 
Type 
M edia  Count 
Bit7  Bit6  Bit5  Bit4  Bit3  Bit2  Bitl  BitO 
Con—len:4 个字节 ,表 示后面 携带 的媒体 内容 的 
长度 . 
Content:是将 消息 内容按照 json格式组织 的字符 
串.该字符 串默认情 况下按照 json数 组的形式来组织 
的,这样 就允许 在消 息 中支 持 多种媒体 并存 ,可 以构 
建较 为复杂 的应用时满足对应 的需求 .对于每种 媒体, 
按 照媒 体类 型不 同,提供 不 同的描述字 段 .具 体实现 
如 下 : 
”con”:[ 
M0TT服务器 
预订阅客户端 
5、船析消息, 
获得预订阅话题 
I 
I 
图 2 预 订阅序列 图 
预 订阅模块帮助 用户完成订 阅话题工作 的具 体流 
程 : 
{ltty”:0,//0:文本,1:图片,2:音频,3:视频,4:文档 
1)当服务器检测 到客户端是 首次 连接时,就会将 
文件 ,5:文件,6:地 图,14:富媒 体 
” 
COlf_”url或 者文本”,//媒体 的内容 
Optional 
”fn”:{ 
“nam e’’:“text.txt”. 
“size’’:“500’’ 
uid及其他 相关信息推送到服 务器 中的某一话题. 
2)预订阅模块接 收到服务器发送 的消息后,解析 
此消 息,获得新 连接用户 的 uid及 该用户 的预订 阅话 
题列 表.根据 订 阅列表,预订阅模 块 向代理服 务器 进 
行订 阅请求 . 
3)通 过代 理服 务器 的接 口实现预 订 阅模块 中话 
题 的预订 阅和取 消预 订 阅.完成订 阅后,代 理服 务器 
}//可以并列多个消息 内容 
向预订 阅模块返 回确认消息. 
} 
] 
222 研 究 开发 Research and Development 
2017 年 第 26卷 笫 3 期 
http:llwww.C-S—a.org.cn 
汁 算 机 系 统 虑 刖 
3.4 消 息 路 由设 计 实 现 
4 即 时 消 息 业 务 的测 试 
本 文 要 求 实 现 多终 端 IM 消 息 同 步 .对 于 接 收 方 
4.1功 能测试 
而言,由于 同时订阅 了自己的 IM topic,所以收到消息 
表 5 测 试 环 境 参 数 
后 可 以 实 现 各 终 端 问 的 同 步 .但 对 于 发送 方 而 言 ,由 
CPU/ti频/核 数
Dell R320  作 li12.5GHz/8核 
于在消息 发送 时  终端没 何联 系,导致 发送方 的各 终 
端 问无法 同步【IⅢ.为此,本 文提 出 了一套 通过在代 理 
服 务器上 增加消息路 由机 制,实现 的基于消息路 由规 
则 的多终端消息同步方法. 
发送到一个话题上 的消息 需要根据 消息路 由规则, 
判 断足否 同时复制到其 他话题上.该规则采用话题 的 
模糊 匹配,对于 匹配成功 的消息,将其转 发至特 定话 
题 上 .其 中 一 条 消 息 路 由规 则 的 基 本 组 成 部 分 为三 部 
分,源地:flL(src Topic)、消息路 由动作(action)、 目的地 
址 (dest Topic).消息 路 由的 详 细 过 程 如 图 3所 示. 
图 3 消息路 由示例 
具 体 过 程 说 明如 下 : 
① Alice的 PC端 向 Jim 的 IM topic上发送一条消 
息 
② Broker收到消息后,经过路有规则查询,判定 
该消息是否有匹配的路 由规则,如 果存在 则继续 进行, 
否则忽略③和⑤ 
③ 根 据 规则 中 的消 息路 由动 作 进 行消 息路 由, 
找到路 由转发 的 日的 topic,图 中为 Alice的 IM topic. 
④ 把 IM 消息 Pub给 Jim 
⑤ Alice PC 端 发送 的消息在其他终端得到接收, 
并 呈 现 
⑥ 消息分发到 Jim 的所有终端 
系统 
网 
CentOS 64(X64) 
100M bps 
本文考虑 到  台问兼 容性 问题,在 该功 能测试 部 
分采用 了以 卜环境:1台 Android手机,l台 iphone5s手 
机 ,1台 MQTT服 务 器(图 4所 示),20Mbps网络 带 宽 . 
phoneSs 
M QTTr~ -,m 
-- ~aAndroid 
L  
— - - — —
---C ·1rill[~I_t—
■—— 一 C ()、A t:K一
Dim 
 
● — — — (n n no 0 t— — 一  
一
 
cK———— 
一
Puh ( 
I——- 
~ --.,---PublIck'm
 
r
: 
: 
— 一 Pub qo =I一
—
— _} uh  l  I— —.- 
_———一 I’uh 1ck一
,.~..---Puh ‘ 1s :I一
 
r 
 
一
 
I’I】b^ k————— 
: 
一
l IJI1H‘-k—————+  
图 4 消 息 时 序 图 
IOS用 户 和 Android用 户之 问通 过 MQTT服 务 器 , 
分别发送 文字 、语音 、图片、视 频等不 同类型 的媒体 
消息,消息发送流程如图 4所 示,呈现效果如图 5所 
示 . 
2  静 
翟 圈 
图 
+  
图 5  IM 效 果 图 
测试结 果表 明,各 种类 型媒体消 息发送均 能即时 
Research and Development研 究 开发 223 
计 算 机 系 统 应 用 
http://www.c—S-a.org.cn 
2017 年 第 26卷 第 3 期 
显 不 . 
4.2 IM 流 量 测试  
5 结 语 
即时消息业务 已经发展成为人们 日常沟通 的重 要 
为了测 试 MQTT在移动互 联网中的性能优势,笔 
方 式之一。现有 的即 时通 信协议 不能很好地 满足移 动 
者在测试 过程 中分别对 SIMPLE、XMPP、MQTT三种 
互联 网环境下 的网络 不稳定 、流量花 费高 以及移动 设 
协议进 行了封装,并使用 wireshark进行 了抓包,对 同 
备 的低 功耗等特 点.采用基 于发布/订 阅模型 的轻量 级 
网络环 境下 三种 协议 所 消耗 的 网络 流量 进行 了对 比, 
消息传 输的 MQTT协议,具有低功耗和移动 互联网带 
结 果如 图 6所 示 . 
漉量 时 £ 
宽利用率 高的特 点.本 文在分析 了相关私有 协议 的基 
础上 阐释 了MQTT协议在移动互联 网即时消 息业 务中 
的优势 ,研究分析 了 MQTT 协议 的消息格式,并对 即 
时消息的话题格式 、预订阅 以及 消息路 由进行 了设计 
和 实现.最后对 实现 的即时消 息业务进行 了相关 的测 
试和分 析. 
参考文献 
∞  
∞  
{∞  
m  
,∞  
{∞  
∞  
1 Banks A,Gupta R.OASIS Standard MQTT Version 3.1.1. 
- ●一  m  0 
-瞬  m辞# 
http://docs.oasis—open.org/mqtt/mqtVv3.1.1/mqtt-v3.1.1.htm1. 
图 6 三种协 议消耗流量对 比图 
【2014—10—29]. 
从 上 图可 以看 出,随着 发送 消息 文 本数 据包 f横 
坐标)的增加,三种协 议消耗 的流量(纵坐标)均在 不停 
地增加 .其 中,MQTT协议 的增 幅最小,XMPP协 议次 
之,但 增幅也不大,SIMPLE协议增 幅最大.由以上试 
验数据可 以看 出,在流量 消耗这方面 MQTT协议 的性 
能 最 好 . 
4.3服务器性 能测 试 
最后 ,对服 务器 负载 能力进 行测 试.在客 户端模 
拟 大 规 模 用 户 对 服 务 器 发 起 连 接 请 求 ,分 别 模 拟 
2 Tang K,W ang  Liu H,et a1.Design and implementation of 
push notification system based on the MQTT protoco1.Proc. 
International Conference on Inform ationence& Computer 
Applications.2013.92.1 16_.119. 
3 Day M ,Rosenberg J,Sugano H.A model for presence and 
instan t m essaging.IETF,2000.2:RFC2778. 
4 Extensible M essaging and Presence Protocol http://xmpp.org/. 
5 IBM .MQTT Telemetry Transport.http://msqq.org.【2013—06—05]. 
6 IBM,Eurotech.MQTT3.1Protocol Specification.http//public. 
dhe.ibm .com/software/dw/webservices/ws—mqtt/mqtt—v3r1.ht 
10000到 100000个连接请求,所有请求 的连接建立 完 
m1.【20 1 0—08—241. 
成后 ,分别进 行不 同数 目的消 息推送 ,测试所 用 的时 
间 以及服务器 CPU 的占用率,测试结果如表 6所 示. 
7 Lee S,Kim H,Hong D,Ju H.Correlation analysis of MQTT 
loss and delay  according  to  Qos leve1.  Information 
表 6 服务器 负载 性能测 试 
Networking(ICOrN).Bangkok.2013. 
连 接数  CPU 占用 率(%)1到 100推送 1到 1000推送 全 部推 送 
l0oOO 
14.5 
0.09l 
0.114 
l3.213 
8马跃珊 翱,贾军营  建 伟,于碧辉,杨雪华.MQTT协议在移 
动互 联 网即时通信 中的应用 .计 算机系 统应用,2016,25(3): 
20000 
25.0 
0.105 
0.225 
27.167 
170—176. 
3ooO0 
33.2 
0.287 
0.434 
42.254 
9 杨 海 波 ,王 默 涵 ,贾 正 锋 ,b立 平 .面 向 移 动 互 联 网 的 
40000 
40.1 
0.397 
0.667 
68.887 
Presence/IM 机制研 究 小 型微型 计算机 系统 ,2015,36(1 1). 
50000 
45.1 
0.487 
0.976 
IlO.997 
2549-2553. 
75000 
55.3 
0.639 
1.213 
207.876 
100000 
62.4 
0.855 
1.433 
3 13.876 
由表 中数据 可 以看 出,本文 设计 的即时消 息业务 
基 本满足 了在移动 互联领 域上 的需 求,且服务 器 的负 
载 也在 可 以接受 的范 围内. 
224 研 究 开发 Research and Development 
1O任 亨.基于 MQTT 协议 的消息推送服 务器.计算机系统应 
用 ,2014,23(3):77-82.