首页> 中国专利> 基于MQTT的企业消息推送系统及消息推送方法

基于MQTT的企业消息推送系统及消息推送方法

摘要

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

著录项

  • 公开/公告号CN105245621A

    专利类型发明专利

  • 公开/公告日2016-01-13

    原文格式PDF

  • 申请/专利权人 大连大学;

    申请/专利号CN201510726018.4

  • 发明设计人 盖荣丽;

    申请日2015-10-30

  • 分类号H04L29/08;H04W4/12;

  • 代理机构大连智高专利事务所(特殊普通合伙);

  • 代理人李猛

  • 地址 116622 辽宁省大连市经济技术开发区学府大街10号

  • 入库时间 2023-12-18 13:33:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-22

    授权

    授权

  • 2016-02-10

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20151030

    实质审查的生效

  • 2016-01-13

    公开

    公开

说明书

技术领域

本发明涉及一种基于MQTT的企业消息推送系统及消息推送方法。

背景技术

企业消息推送系统是为企业办公自动化定制的消息推送服务,其核心功能 包括企业内部社交平台、企业即时消息和状态呈现、企业内部通讯录和上下游 通讯录等。随着移动互联网的兴起,企业消息推送系统也从传统的PC端发展成 为跨平台的多终端(手机端和PC端)系统。在这个过程中,移动互联网相对于 传统的互联网的特点以及移动终端相对于PC端的性能状况给企业消息推送系 统的设计提出了新的问题和挑战,其中,最显著的问题是消息推送方案的制定。

当前主要的推送方案包括GCM(GoogleCloudMessaging)服务、XMPP(The ExtensibleMessagingandPresenceProtocol)、MQTT(MessageQueuingTelemetry Transport)以及使用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的通信交互使用MQTTv3.1之后自 带的TLS/SSL加密功能,数据格式为自定义的二进制协议。

综上所述,上述系统和方法在满足了应用需求的同时保证了协议的简单易 实现和流量消耗小等适用于移动互联网的优势,且同时提高了系统的可扩展性。

以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出, 对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还 可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号