CN105245621B - 基于mqtt的企业消息推送系统及消息推送方法 - Google Patents

基于mqtt的企业消息推送系统及消息推送方法 Download PDF

Info

Publication number
CN105245621B
CN105245621B CN201510726018.4A CN201510726018A CN105245621B CN 105245621 B CN105245621 B CN 105245621B CN 201510726018 A CN201510726018 A CN 201510726018A CN 105245621 B CN105245621 B CN 105245621B
Authority
CN
China
Prior art keywords
client
server group
dynamic state
state server
static
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
Application number
CN201510726018.4A
Other languages
English (en)
Other versions
CN105245621A (zh
Inventor
盖荣丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University
Original Assignee
Dalian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University filed Critical Dalian University
Priority to CN201810228463.1A priority Critical patent/CN108494848B/zh
Priority to CN201510726018.4A priority patent/CN105245621B/zh
Publication of CN105245621A publication Critical patent/CN105245621A/zh
Application granted granted Critical
Publication of CN105245621B publication Critical patent/CN105245621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; 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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于MQTT的企业消息推送系统及消息推送方法,该系统通过客户端发出用户登陆请求至静态服务器群以登陆,静态服务器群将该用户的个人信息推送给客户端,动态服务器群将动态登陆口令推送给客户端,客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,动态服务器群接收该验证信息,客户端登陆,动态服务器群与客户端建立即时通信,当动态服务器群与客户端建立即时通信后,客户端发送即时消息给动态服务器群,动态服务器群实时存储该即时消息并将即时消息转发,在客户端登陆动态服务器后,动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送客户端。

Description

基于MQTT的企业消息推送系统及消息推送方法
技术领域
本发明涉及一种基于MQTT的企业消息推送系统及消息推送方法。
背景技术
企业消息推送系统是为企业办公自动化定制的消息推送服务,其核心功能包括企业内部社交平台、企业即时消息和状态呈现、企业内部通讯录和上下游通讯录等。随着移动互联网的兴起,企业消息推送系统也从传统的PC端发展成为跨平台的多终端(手机端和PC端)系统。在这个过程中,移动互联网相对于传统的互联网的特点以及移动终端相对于PC端的性能状况给企业消息推送系统的设计提出了新的问题和挑战,其中,最显著的问题是消息推送方案的制定。
当前主要的推送方案包括GCM(Google Cloud Messaging)服务、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 (2)

1.一种基于MQTT的企业消息推送系统,其特征在于:包括客户端、与所述客户端进行交互的静态服务器群和动态服务器群及使所述静态服务器群和动态服务器群进行内部操作和通信的控制单元和消息总线;所述客户端发出用户登陆请求至静态服务器群以登陆静态服务器群,所述静态服务器群在客户登陆静态服务器群后将该用户的个人信息推送给客户端,动态服务器群将动态登陆口令推送给客户端,所述客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,所述动态服务器群接收该验证信息,客户端登陆动态服务器,动态服务器群与客户端建立即时通信,当所述动态服务器群与客户端建立即时通信后,所述客户端发送即时消息给动态服务器群,所述动态服务器群实时存储该即时消息并将即时消息转发,在所述客户端登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送给客户端;所述静态服务器群和动态服务器群之间采用非对称的服务器集群架构,所述静态服务器群内含有若干采用对称的服务器集群架构的静态服务器,所述动态服务器群内含有若干采用对称的服务器集群架构的动态服务器。
2.根据权利要求1所述的基于MQTT的企业消息推送系统,其特征在于:所述客户端为手机或电脑。
CN201510726018.4A 2015-10-30 2015-10-30 基于mqtt的企业消息推送系统及消息推送方法 Active CN105245621B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810228463.1A CN108494848B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送方法
CN201510726018.4A CN105245621B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送系统及消息推送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510726018.4A CN105245621B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送系统及消息推送方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810228463.1A Division CN108494848B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送方法

Publications (2)

Publication Number Publication Date
CN105245621A CN105245621A (zh) 2016-01-13
CN105245621B true CN105245621B (zh) 2018-05-22

Family

ID=55043118

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510726018.4A Active CN105245621B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送系统及消息推送方法
CN201810228463.1A Active CN108494848B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810228463.1A Active CN108494848B (zh) 2015-10-30 2015-10-30 基于mqtt的企业消息推送方法

Country Status (1)

Country Link
CN (2) CN105245621B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158816A (zh) * 2014-08-25 2014-11-19 中国科学院声学研究所 认证方法、装置和服务器
CN104639625A (zh) * 2015-01-27 2015-05-20 华南理工大学 一种基于mqtt的数据集中器采集控制方法、装置及系统
CN104836723A (zh) * 2015-03-31 2015-08-12 青岛海尔智能家电科技有限公司 基于mqtt主题订阅机制的通信方法以及接入网关

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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
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 北京北信源软件股份有限公司 一种支持企业协同办公的即时通信系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158816A (zh) * 2014-08-25 2014-11-19 中国科学院声学研究所 认证方法、装置和服务器
CN104639625A (zh) * 2015-01-27 2015-05-20 华南理工大学 一种基于mqtt的数据集中器采集控制方法、装置及系统
CN104836723A (zh) * 2015-03-31 2015-08-12 青岛海尔智能家电科技有限公司 基于mqtt主题订阅机制的通信方法以及接入网关

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于MQTT协议IM的研究和实现;贾军营,王月鹏,王少华;《计算机系统应用》;20150715;全文 *
基于MQTT协议的消息推送服务器;任亨,马跃,杨海波,贾正锋;《计算机系统应用》;20140315;全文 *
基于MQTT协议的移动社交网络客户端的设计与实现;关庆余;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150115;第三章-第四章 *

Also Published As

Publication number Publication date
CN108494848B (zh) 2020-09-22
CN108494848A (zh) 2018-09-04
CN105245621A (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
JP5898980B2 (ja) ネットワーク環境において非持続性のメッセージの複数のキューを管理する方法、システム及び記憶媒体
US20140372516A1 (en) System and method for providing a scalable translation between polling-based clients and connection-based message queues
US20170149715A1 (en) System and method for providing an actively invalidated client-side network resource cache
Hornsby et al. From instant messaging to cloud computing, an XMPP review
CN105245621B (zh) 基于mqtt的企业消息推送系统及消息推送方法
CN105531979B (zh) 一种用于在客户端与服务器之间交换数据的方法及服务器
US9450898B2 (en) Shared resource and session model using presence data
US20050210113A1 (en) Presence information sharing method and system
US20060259555A1 (en) Systems and methods for creating and/or utilizing virtual automated agents
US10887259B2 (en) Communication management system
CN101488926A (zh) 一种基于xmpp协议和sms服务的网络消息通讯方法
WO2020123215A1 (en) Unified messaging delivery based on analysis and predictions
CN102035655A (zh) 端到端即时通讯的实现方法、端到端即时通讯终端及系统
Agarwal Toward a push-scalable global internet
Serik et al. Instant messaging application for Smartphone
Sharma et al. Hardware Implementation and Comparison of IoT Data Protocol for Home Automation Application
CN107124456B (zh) 基于分布内存队列的xmpp服务器内存消息中转系统及其中转方法
Gupta et al. Instant messaging using xmpp
Gao et al. A study on jabber-based instant messaging system for mobile networks
Wu et al. A Novel Mobile Instant Messaging System
Zhou et al. Research on Optimization of Multi-task Collaboration Platform Based on Instant Messaging Tools
Villacrés et al. Design of a Unified Communications Service Using OpenStack Infrastructure
WO2013112418A1 (en) Techniques to distribute messages using communication pipelines
Zhang et al. A New Scheme for IM Based on XMPP/SIMPLE
Zhang et al. A Distributed Instant Messaging System Model.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant