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

文档序号:9491925阅读:838来源:国知局
基于mqtt的企业消息推送系统及消息推送方法
【技术领域】
[0001]本发明涉及一种基于MQTT的企业消息推送系统及消息推送方法。
【背景技术】
[0002]企业消息推送系统是为企业办公自动化定制的消息推送服务,其核心功能包括企业内部社交平台、企业即时消息和状态呈现、企业内部通讯录和上下游通讯录等。随着移动互联网的兴起,企业消息推送系统也从传统的PC端发展成为跨平台的多终端(手机端和PC端)系统。在这个过程中,移动互联网相对于传统的互联网的特点以及移动终端相对于PC端的性能状况给企业消息推送系统的设计提出了新的问题和挑战,其中,最显著的问题是消息推送方案的制定。
[0003]当前主要的推送方案包括GCM (Google Cloud Messaging)服务、XMPP (TheExtensible Messaging and Presence Protocol)、MQTT(Message Queuing TelemetryTransport)以及使用HTTP轮询方式。HTTP轮询方式简单易实现,但是实时性和可扩展性都较差。XMPP是IETF标准化的通信协议,其功能强大、可扩展性强等特性使得其在互联网领域有着广泛应用。但是协议复杂和信息冗余使得其不适合移动互联网的应用特点。GCM是Google公司推出的云消息服务,在能源消耗方面较MQTT有一定的优势,但是受限于网络及安全环境,不适于构建企业消息推送系统。

【发明内容】

[0004]本发明的目的是提供一种基于MQTT的企业消息推送系统,其在满足了应用需求的同时保证了协议的简单易实现和流量消耗小等适用于移动互联网的优势。
[0005]为了实现上述目的,本发明采用的技术方案如下:一种基于MQTT的企业消息推送系统,包括客户端、与所述客户端进行交互的静态服务器群和动态服务器群及使所述静态服务器群和动态服务器群进行内部操作和通信的控制单元和消息总线;所述客户端发出用户登陆请求至静态服务器群以登陆静态服务器群,所述静态服务器群在客户登陆静态服务器群后将该用户的个人信息推送给客户端,动态服务器群将动态登陆口令推送给客户端,所述客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,所述动态服务器群接收该验证信息,客户端登陆动态服务器,动态服务器群与客户端建立即时通信,当所述动态服务器群与客户端建立即时通信后,所述客户端发送即时消息给动态服务器群,所述动态服务器群实时存储该即时消息并将即时消息转发,在所述客户端登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送给客户端。
[0006]进一步的,所述静态服务器群和动态服务器群之间采用非对称的服务器集群架构,所述静态服务器群内含有若干采用对称的服务器集群架构的静态服务器,所述动态服务器群内含有若干采用对称的服务器集群架构的动态服务器。
[0007]进一步的,所述客户端为手机或电脑。
[0008]本发明还提供了一种基于MQTT的企业消息推送方法,包括:
[0009]S1:客户端发出用户登陆请求至静态服务器群以登陆静态服务器群;
[0010]S2:静态服务器群在客户登陆静态服务器群后将该用户的个人信息推送给客户端,同时,动态服务器群将动态登陆口令推送给客户端;
[0011]S3:客户端获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群,所述动态服务器群接收该验证信息以分析该验证信息是否正确,若正确,则客户端登陆动态服务器,动态服务器群与客户端建立即时通信,当所述动态服务器群与客户端建立即时通信后,所述客户端发送即时消息给动态服务器群,所述动态服务器群实时存储该即时消息并将即时消息转发,在所述客户端登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端,控制单元根据个人信息区分其为通知、状态程序和即时消息,并推送给客户端。
[0012]进一步的,所述静态服务器群推送的个人信息包含用户通讯录。
[0013]进一步的,所述静态服务器群在推动个人信息给客户端时,所述静态服务器群同时生成系统通知信息,并通过消息总线发送至动态服务器群,所述动态服务器群接收系统通知信息以生成动态登陆口令并推送至客户端。
[0014]进一步的,在所述步骤S1中,所述个人信息加密存储在客户端,其中,当客户端在登陆静态服务器群时,如可正常加载本地存储的个人信息,则只向静态服务器群发送个人信息更新请求;否则,向静态服务器群请求全部的个人信息。
[0015]进一步的,所述静态服务器群和动态服务器群之间采用非对称的服务器集群架构,所述静态服务器群内含有若干采用对称的服务器集群架构的静态服务器,所述动态服务器群内含有若干采用对称的服务器集群架构的动态服务器。
[0016]进一步的,所述客户端为手机或电脑。
[0017]借由上述方案,本发明至少具有以下优点:本发明的基于MQTT的企业消息推送系统及消息推送方法在满足了应用需求的同时保证了协议的简单易实现和流量消耗小等适用于移动互联网的优势。
[0018]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
【附图说明】
[0019]图1是本发明基于MQTT的企业消息推送系统的系统架构图。
【具体实施方式】
[0020]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0021]MQTT协议由IBM在1999年设计和提出,其设计目的主要是为大量计算能力有限,且工作在低带宽、不可靠网络的远程传感器和控制设备提供一种开放、精简、轻量级和容易实现的通信方法。其主要特性包括对负载内容屏蔽的消息传输、三种消息发布服务质量和低流量传输等。自提出以来,MQTT已经广泛的应用于手机和无线传感器等计算和存储资源受限的环境中,并被医疗机构、石油和天然气公司、大学和互联网公司分别用于科研和工程产品中。MQTT在确保和加速消息推送、节约客户端带宽和电量资源等方面表现出了良好的性能。MQTT是以数据为中心,其对内容的不可知及二进制数据传输这一特性使得MQTT非常适用于那种需要频繁的发送小量更新数据的应用。
[0022]参见图1,本发明一较佳实施例所述的一种基于MQTT的企业消息推送系统包括客户端1、与所述客户端1进行交互的静态服务器群2和动态服务器群3及使所述静态服务器群2和动态服务器群3进行内部操作和通信的控制单元4和消息总线5。所述静态服务器群2负责处理用户的静态信息,包括账号系统、用户关系系统及用户操作日志等,所述动态服务器群3负载处理用户的动态信息,是用户之间建立通信关系的主要模块,负责用户即时消息的存储和转发。该静态信息和动态信息为即时通信协议中的用户信息,其中,静态信息主要定义为在用户建立连接后不会发生变化的信息,静态信息主要是在登陆过程为用户所请求或发送,其内容包括用户通讯录、用户账号密码、好友关系、用户头像等详细信息和用户所属企业组织架构等信息。动态信息定义为在用户建立连接后实时传输的信息,这种信息主要包括即时聊天信息、用户的登陆状态和签名等信息。静态信息和动态信息之间的关系并不是绝对的。用户在登陆之后的操作既可能涉及到动态信息也可能涉及到静态信息。
[0023]所述客户端1发出用户登陆请求至静态服务器群2以登陆静态服务器群2,所述静态服务器群2在客户登陆静态服务器群2后将该用户的个人信息推送给客户端1,该静态服务器群2推送的个人信息包含用户通讯录。动态服务器群3将动态登陆口令推送给客户端1,所述客户端1获取该动态登陆口令后根据该动态登陆口令发出验证信息至动态服务器群3,所述动态服务器群3接收该验证信息,客户端1登陆动态服务器,动态服务器群3与客户端1建立即时通信,当所述动态服务器群3与客户端1建立即时通信后,所述客户端1发送即时消息给动态服务器群3,所述动态服务器群3实时存储该即时消息并将即时消息转发,在所述客户端1登陆动态服务器后,所述动态服务器推送信息或转发即时消息给客户端1,控制单元4根据个人信息区的用户通讯录分其为通知、状态程序和即时消息,并推送给客户端1。
[0024]所述静态服务器群2和动态服务器群3之间采用非对称(asymmetric)的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1