CN108494848B - 基于mqtt的企业消息推送方法 - Google Patents
基于mqtt的企业消息推送方法 Download PDFInfo
- Publication number
- CN108494848B CN108494848B CN201810228463.1A CN201810228463A CN108494848B CN 108494848 B CN108494848 B CN 108494848B CN 201810228463 A CN201810228463 A CN 201810228463A CN 108494848 B CN108494848 B CN 108494848B
- Authority
- CN
- China
- Prior art keywords
- dynamic
- client
- server group
- static
- pushes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于MQTT的企业消息推送方法,该系统通过客户端发出用户登陆请求至静态服务器群以登陆,静态服务器群将该用户的个人信息推送给客户端,动态服务器群将动态登陆口令推送给客户端,客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,动态服务器群接收该验证信息,客户端登陆,动态服务器群与客户端建立即时通信,当动态服务器群与客户端建立即时通信后,客户端发送即时消息给动态服务器群,动态服务器群实时存储该即时消息并将即时消息转发,在客户端登陆动态服务器后,动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送客户端。
Description
本申请为申请号2015107260184、申请日2015-10-30、发明名称“基于MQTT的企业消息推送系统及消息推送方法”的分案申请。
技术领域
本发明涉及一种基于MQTT的企业消息推送系统及消息推送方法。
背景技术
企业消息推送系统是为企业办公自动化定制的消息推送服务,其核心功能包括企业内部社交平台、企业即时消息和状态呈现、企业内部通讯录和上下游通讯录等。随着移动互联网的兴起,企业消息推送系统也从传统的PC端发展成为跨平台的多终端(手机端和PC端)系统。在这个过程中,移动互联网相对于传统的互联网的特点以及移动终端相对于PC端的性能状况给企业消息推送系统的设计提出了新的问题和挑战,其中,最显著的问题是消息推送方案的制定。
当前主要的推送方案包括GCM(Google CloudMessaging)服务、XMPP(TheExtensible Messaging and Presence Protocol)、MQTT(Message Queuing TelemetryTransport)以及使用HTTP轮询方式。HTTP轮询方式简单易实现,但是实时性和可扩展性都较差。XMPP是IETF标准化的通信协议,其功能强大、可扩展性强等特性使得其在互联网领域有着广泛应用。但是协议复杂和信息冗余使得其不适合移动互联网的应用特点。GCM是Google公司推出的云消息服务,在能源消耗方面较MQTT有一定的优势,但是受限于网络及安全环境,不适于构建企业消息推送系统。
发明内容
本发明的目的是提供一种基于MQTT的企业消息推送系统,其在满足了应用需求的同时保证了协议的简单易实现和流量消耗小等适用于移动互联网的优势。
为了实现上述目的,本发明采用的技术方案如下:一种基于MQTT的企业消息推送系统,包括客户端、与所述客户端进行交互的静态服务器群和动态服务器群及使所述静态服务器群和动态服务器群进行内部操作和通信的控制单元和消息总线;所述客户端发出用户登陆请求至静态服务器群以登陆静态服务器群,所述静态服务器群在客户登陆静态服务器群后将该用户的个人信息推送给客户端,动态服务器群将动态登陆口令推送给客户端,所述客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,所述动态服务器群接收该验证信息,客户端登陆动态服务器,动态服务器群与客户端建立即时通信,当所述动态服务器群与客户端建立即时通信后,所述客户端发送即时消息给动态服务器群,所述动态服务器群实时存储该即时消息并将即时消息转发,在所述客户端登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送给客户端。
进一步的,所述静态服务器群和动态服务器群之间采用非对称的服务器集群架构,所述静态服务器群内含有若干采用对称的服务器集群架构的静态服务器,所述动态服务器群内含有若干采用对称的服务器集群架构的动态服务器。
进一步的,所述客户端为手机或电脑。
本发明还提供了一种基于MQTT的企业消息推送方法,包括:
S1:客户端发出用户登陆请求至静态服务器群以登陆静态服务器群;
S2:静态服务器群在客户登陆静态服务器群后将该用户的个人信息推送给客户端,同时,动态服务器群将动态登陆口令推送给客户端;
S3:客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,所述动态服务器群接收该验证信息以分析该验证信息是否正确,若正确,则客户端登陆动态服务器,动态服务器群与客户端建立即时通信,当所述动态服务器群与客户端建立即时通信后,所述客户端发送即时消息给动态服务器群,所述动态服务器群实时存储该即时消息并将即时消息转发,在所述客户端登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送给客户端。
进一步的,所述静态服务器群推送的个人信息包含用户通讯录。
进一步的,所述静态服务器群在推动个人信息给客户端时,所述静态服务器群同时生成系统通知信息,并通过消息总线发送至动态服务器群,所述动态服务器群接收系统通知信息以生成动态登陆口令并推送至客户端。
进一步的,在所述步骤S1中,所述个人信息加密存储在客户端,其中,当客户端在登陆静态服务器群时,如可正常加载本地存储的个人信息,则只向静态服务器群发送个人信息更新请求;否则,向静态服务器群请求全部的个人信息。
进一步的,所述静态服务器群和动态服务器群之间采用非对称的服务器集群架构,所述静态服务器群内含有若干采用对称的服务器集群架构的静态服务器,所述动态服务器群内含有若干采用对称的服务器集群架构的动态服务器。
进一步的,所述客户端为手机或电脑。
借由上述方案,本发明至少具有以下优点:本发明的基于MQTT的企业消息推送系统及消息推送方法在满足了应用需求的同时保证了协议的简单易实现和流量消耗小等适用于移动互联网的优势。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1是本发明基于MQTT的企业消息推送系统的系统架构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
MQTT协议由IBM在1999年设计和提出,其设计目的主要是为大量计算能力有限,且工作在低带宽、不可靠网络的远程传感器和控制设备提供一种开放、精简、轻量级和容易实现的通信方法。其主要特性包括对负载内容屏蔽的消息传输、三种消息发布服务质量和低流量传输等。自提出以来,MQTT已经广泛的应用于手机和无线传感器等计算和存储资源受限的环境中,并被医疗机构、石油和天然气公司、大学和互联网公司分别用于科研和工程产品中。MQTT在确保和加速消息推送、节约客户端带宽和电量资源等方面表现出了良好的性能。MQTT是以数据为中心,其对内容的不可知及二进制数据传输这一特性使得MQTT非常适用于那种需要频繁的发送小量更新数据的应用。
参见图1,本发明一较佳实施例所述的一种基于MQTT的企业消息推送系统包括客户端1、与所述客户端1进行交互的静态服务器群2和动态服务器群3及使所述静态服务器群2和动态服务器群3进行内部操作和通信的控制单元4和消息总线5。所述静态服务器群2负责处理用户的静态信息,包括账号系统、用户关系系统及用户操作日志等,所述动态服务器群3负载处理用户的动态信息,是用户之间建立通信关系的主要模块,负责用户即时消息的存储和转发。该静态信息和动态信息为即时通信协议中的用户信息,其中,静态信息主要定义为在用户建立连接后不会发生变化的信息,静态信息主要是在登陆过程为用户所请求或发送,其内容包括用户通讯录、用户账号密码、好友关系、用户头像等详细信息和用户所属企业组织架构等信息。动态信息定义为在用户建立连接后实时传输的信息,这种信息主要包括即时聊天信息、用户的登陆状态和签名等信息。静态信息和动态信息之间的关系并不是绝对的。用户在登陆之后的操作既可能涉及到动态信息也可能涉及到静态信息。
所述客户端1发出用户登陆请求至静态服务器群2以登陆静态服务器群2,所述静态服务器群2在客户登陆静态服务器群2后将该用户的个人信息推送给客户端1,该静态服务器群2推送的个人信息包含用户通讯录。动态服务器群3将动态登陆口令推送给客户端1,所述客户端1获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群3,所述动态服务器群3接收该验证信息,客户端1登陆动态服务器,动态服务器群3与客户端1建立即时通信,当所述动态服务器群3与客户端1建立即时通信后,所述客户端1发送即时消息给动态服务器群3,所述动态服务器群3实时存储该即时消息并将即时消息转发,在所述客户端1登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端1,控制单元4根据个人信息区的用户通讯录分其为通知、状态程序和即时消息,并推送给客户端1。
所述静态服务器群2和动态服务器群3之间采用非对称(asymmetric)的服务器集群架构,所述静态服务器群2内含有若干采用对称(symmetric)的服务器集群架构的静态服务器,所述动态服务器群3内含有若干采用对称(symmetric)的服务器集群架构的动态服务器;其中,采用非对称的服务器集群架构的特点是不同的服务器实现不同的系统功能,如AIM和MSN即使用非对称的服务器集群架构,所述对称的服务器集群架构的特点是每一台服务器都执行相同的功能,用户在登陆和使用时不区分不同的服务器,如YMSG即使用对称的服务器集群架构,通过在静态服务器群2和动态服务器群3采用对称的服务器集群架构使得系统的信息流简单明确,同时静态服务器群2和动态服务器群3可以在各种信息类型内部做功能扩展,比如通过一定的中央路由机制可以在不改变静态服务器的同时将动态服务器扩展成集群架构,反之亦然。所述客户端1为手机或电脑。
控制单元4和消息总线5操作的内容主要包括:
(1)话题控制。根据用户通讯录(静态服务器群2)控制用户话题(动态服务器群3),即区别通知、状态程序和即时消息,从而实现话题的创建和删除以及话题的预订阅等。
(2)系统通知的生成。根据用户静态控制操作(静态服务器群2)生成系统通知消息(动态服务器群3)。
(3)日志维护。日志维护主要为系统管理和数据分析提供便捷,将日志维护的压力从静态服务器群2和动态服务器群3转移到控制单元4也有助于提高静态服务器群2和动态服务器群3的吞吐量。
请结合图1,一种基于MQTT的企业消息推送方法,可用于上述基于MQTT的企业消息推送系统,所述系统已在前述描述,故不在赘述,该方法包括步骤S1至步骤S3。
S1:客户端1发出用户登陆请求至静态服务器群2以登陆静态服务器群2。静态服务器群2推送的个人信息包含用户通讯录。在本步骤S1中,所述个人信息加密存储在客户端1,其中,当客户端1在登陆静态服务器群2时,如可正常加载本地存储的个人信息,则只向静态服务器群2发送个人信息更新请求;否则,向静态服务器群2请求全部的个人信息;采用此种方式,可以减缓静态服务器群2在客户端1登录时承受的瞬时数据同步压力。
S2:静态服务器群2在客户登陆静态服务器群2后将该用户的个人信息推送给客户端1,同时,动态服务器群3将动态登陆口令推送给客户端1。所述静态服务器群2在推动个人信息给客户端1时,所述静态服务器群2同时生成系统通知信息,并通过消息总线5发送至动态服务器群3,所述动态服务器群3接收系统通知信息以生成动态登陆口令并推送至客户端1。
S3:客户端1获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群3,所述动态服务器群3接收该验证信息以分析该验证信息是否正确,若正确,则客户端1登陆动态服务器,动态服务器群3与客户端1建立即时通信,当所述动态服务器群3与客户端1建立即时通信后,所述客户端1发送即时消息给动态服务器群3,所述动态服务器群3实时存储该即时消息并将即时消息转发,在所述客户端1登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端1,控制单元4根据个人信息的用户通讯录区分其为通知、状态程序和即时消息,并推送给客户端1。
在本实施例中,该客户端1与静态服务器群2的通信交互采用webservice接口和json格式的数据,与动态服务器群3的通信交互使用MQTT v3.1之后自带的TLS/SSL加密功能,数据格式为自定义的二进制协议。
综上所述,上述系统和方法在满足了应用需求的同时保证了协议的简单易实现和流量消耗小等适用于移动互联网的优势,且同时提高了系统的可扩展性。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (5)
1.一种基于MQTT的企业消息推送方法,其特征在于:包括:
S1:客户端发出用户登陆请求至静态服务器群以登陆静态服务器群;
S2:静态服务器群在客户登陆静态服务器群后将该用户的个人信息推送给客户端,同时,动态服务器群将动态登陆口令推送给客户端;
S3:客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,所述动态服务器群接收该验证信息以分析该验证信息是否正确,若正确,则客户端登陆动态服务器,动态服务器群与客户端建立即时通信,当所述动态服务器群与客户端建立即时通信后,所述客户端发送即时消息给动态服务器群,所述动态服务器群实时存储该即时消息并将即时消息转发,在所述客户端登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送给客户端;
所述静态服务器群和动态服务器群之间采用非对称的服务器集群架构,所述静态服务器群内含有若干采用对称的服务器集群架构的静态服务器,所述动态服务器群内含有若干采用对称的服务器集群架构的动态服务器。
2.根据权利要求1所述的基于MQTT的企业消息推送方法,其特征在于:所述静态服务器群推送的个人信息包含用户通讯录。
3.根据权利要求1所述的基于MQTT的企业消息推送方法,其特征在于:所述静态服务器群在推送 个人信息给客户端时,所述静态服务器群同时生成系统通知信息,并通过消息总线发送至动态服务器群,所述动态服务器群接收系统通知信息以生成动态登陆口令并推送至客户端。
4.根据权利要求1所述的基于MQTT的企业消息推送方法,其特征在于:在所述步骤S1中,所述个人信息加密存储在客户端,其中,当客户端在登陆静态服务器群时,如可正常加载本地存储的个人信息,则只向静态服务器群发送个人信息更新请求;否则,向静态服务器群请求全部的个人信息。
5.根据权利要求1所述的基于MQTT的企业消息推送方法,其特征在于:所述客户端为手机或电脑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810228463.1A CN108494848B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510726018.4A CN105245621B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送系统及消息推送方法 |
CN201810228463.1A CN108494848B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510726018.4A Division CN105245621B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送系统及消息推送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108494848A CN108494848A (zh) | 2018-09-04 |
CN108494848B true CN108494848B (zh) | 2020-09-22 |
Family
ID=55043118
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810228463.1A Active CN108494848B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送方法 |
CN201510726018.4A Active CN105245621B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送系统及消息推送方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510726018.4A Active CN105245621B (zh) | 2015-10-30 | 2015-10-30 | 基于mqtt的企业消息推送系统及消息推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108494848B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106059892A (zh) * | 2016-05-17 | 2016-10-26 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于融合通信系统的消息引擎 |
CN106254468B (zh) * | 2016-08-08 | 2019-05-03 | 博识峰云(深圳)信息技术有限公司 | 一种用于智能后视镜的控制系统及方法 |
US10574619B2 (en) | 2017-01-02 | 2020-02-25 | International Business Machines Corporation | Cluster assisted MQTT client coverage for fat-pipe cloud applications |
CN110493329A (zh) * | 2019-08-08 | 2019-11-22 | 西藏宁算科技集团有限公司 | 一种基于用户态协议栈的并发推送服务方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306205A (zh) * | 2011-09-30 | 2012-01-04 | 苏州大学 | 一种事务分配方法和装置 |
CN104052653A (zh) * | 2014-06-23 | 2014-09-17 | 广东天波信息技术股份有限公司 | 一种基于mqtt实现状态呈现的方法 |
CN104794609A (zh) * | 2015-05-18 | 2015-07-22 | 北京北信源软件股份有限公司 | 一种支持企业协同办公的即时通信系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047600B2 (en) * | 2011-07-18 | 2015-06-02 | Andrew H B Zhou | Mobile and wearable device payments via free cross-platform messaging service, free voice over internet protocol communication, free over-the-top content communication, and universal digital mobile and wearable device currency faces |
CN104158816A (zh) * | 2014-08-25 | 2014-11-19 | 中国科学院声学研究所 | 认证方法、装置和服务器 |
CN104639625B (zh) * | 2015-01-27 | 2018-05-01 | 华南理工大学 | 一种基于mqtt的数据集中器采集控制方法、装置及系统 |
CN104836723B (zh) * | 2015-03-31 | 2020-07-31 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
-
2015
- 2015-10-30 CN CN201810228463.1A patent/CN108494848B/zh active Active
- 2015-10-30 CN CN201510726018.4A patent/CN105245621B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306205A (zh) * | 2011-09-30 | 2012-01-04 | 苏州大学 | 一种事务分配方法和装置 |
CN104052653A (zh) * | 2014-06-23 | 2014-09-17 | 广东天波信息技术股份有限公司 | 一种基于mqtt实现状态呈现的方法 |
CN104794609A (zh) * | 2015-05-18 | 2015-07-22 | 北京北信源软件股份有限公司 | 一种支持企业协同办公的即时通信系统 |
Non-Patent Citations (1)
Title |
---|
基于MQTT协议的移动社交网络客户端的设计与实现;关庆余;《中国优秀硕士学位论文全文数据库信息科技辑》;20150115;正文第1.3节,第2.3节以及第三章 * |
Also Published As
Publication number | Publication date |
---|---|
CN108494848A (zh) | 2018-09-04 |
CN105245621A (zh) | 2016-01-13 |
CN105245621B (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578081B2 (en) | System and method for providing an actively invalidated client-side network resource cache | |
US20140372516A1 (en) | System and method for providing a scalable translation between polling-based clients and connection-based message queues | |
KR102208935B1 (ko) | 데이터 교환을 위한 컨텍스트를 설정하는 http 프로토콜을 통한 메시징 api | |
CN108494848B (zh) | 基于mqtt的企业消息推送方法 | |
US10887259B2 (en) | Communication management system | |
WO2015073473A1 (en) | Preservation of connection session | |
CN103916296B (zh) | 一种融合局域网的通信系统 | |
WO2016165418A1 (zh) | 日程同步方法、终端、rcs系统及计算机可读存储介质 | |
WO2017192549A1 (en) | System and method for secure and efficient communication within an organization | |
US20230179551A1 (en) | Format-Dynamic String Processing in Group-Based Communication Systems | |
Tucic et al. | Networking layer for unifying distributed smart home entities | |
CN102035655A (zh) | 端到端即时通讯的实现方法、端到端即时通讯终端及系统 | |
Sharma et al. | Hardware implementation and comparison of iot data protocol for home automation application | |
CN102158429A (zh) | 一种基于社区平台的群组通讯方法及系统 | |
JP7376553B2 (ja) | グループベース通信システムにおいてプッシュベース通信コネクションが存在しない場合の最小のインタフェース機能の維持 | |
US20160050235A1 (en) | Flexible Server Architecture With Ability To Dynamically Change Gateway Communication Channels | |
Hu et al. | Research and implementation of campus information push system based on WebSocket | |
CN115361455A (zh) | 一种数据传输存储方法、装置以及计算机设备 | |
Tanganelli et al. | A distributed architecture for discovery and access in the internet of things | |
CN105049474B (zh) | 一种新的个人私密信息分享的系统及方法 | |
US8972386B2 (en) | Dynamic routing of instant message | |
CN102185795A (zh) | 一种社区平台上实现群组通讯的方法及系统 | |
CN102137120A (zh) | 一种实现群组通讯的方法及系统 | |
Ruzmetov et al. | Survey of IoT application layer protocols | |
Wu et al. | A Novel Mobile Instant Messaging System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |