基于xmpp的消息推送方法及系统的制作方法

文档序号:9690857阅读:331来源:国知局
基于xmpp的消息推送方法及系统的制作方法
【技术领域】
[0001]本发明涉及通讯技术领域,具体涉及一种基于XMPP(Extensible Messaging andPresence Protocol,可扩展通讯和存在协议)的消息推送方法以及基于该方法的消息推送系统。
【背景技术】
[0002]当前,移动通信已从模拟通信发展到了数字移动通信阶段,未来移动通信的目标是能在任何时间和地点向任何人提供快速可靠的通信服务,因此如何实现即时和离线消息的推送受到越来越多的关注,这导致XMPP在消息推送领域的地位变得更加重要。
[0003]XMPP作为目前最灵活、最受欢迎的通信协议,广泛应用于消息推送领域,但受制于系统限制,现有的消息推送服务的系统兼容性差,例如GCM(Google Cloud Messagingservice ,谷歌云推送消息服务)仅支持Android系统、APN( Apple push notificat1nservice,苹果消息推送服务)仅支持1S系统,这大大限制了用户获取信息的途径。

【发明内容】

[0004]鉴于此,本发明提供一种消息推送方法及系统,能够提高消息推送服务的系统兼容性,为用户提供更加便利的信息获取途径。
[0005]本发明提供的一种消息推送方法,包括:用户终端向第一服务器发送请求消息,以向第一服务器发起注册申请,所述请求消息包括用户终端的ID账户;第一服务器记录用户终端的ID账户以完成注册;第二服务器基于XMPP将需要推送的推送消息发送给第一服务器;第一服务器将推送消息推送给ID账户对应的用户终端。
[0006]可选地,完成注册的用户终端安装有支持XMPP的SDK,并且在开启SDK后,ID账户对应的用户终端接收推送消息。
[0007]可选地,用户终端包括可穿戴设备,SDK包括基于C语言编程的应用包,第一服务器包括Apache Vysper服务器。
[0008]可选地,第一服务器基于XMPP将推送消息推送给ID账户对应的用户终端的步骤包括:第一服务器判断同一 ID账户是否对应至少两个用户终端;若是,则第一服务器基于XMPP将推送消息推送给ID账户对应的至少一个用户终端。
[0009]可选地,第一服务器记录用户终端的ID账户以完成注册的步骤包括:第一服务器向用户终端发送基于XMPP的XML数据流,XML数据流包括XMPP的通信规范;用户终端向第一服务器反馈应答消息,以告知第一服务器用户终端已接收XMPP的通信规范。
[0010]本发明提供的一种消息推送系统,包括:第一服务器,用于接收用户终端向第一服务器发起注册申请的请求消息,所述请求消息包括用户终端的ID账户;第一服务器,还用于记录用户终端的ID账户以完成注册;第二服务器,用于基于XMPP将需要推送的推送消息发送给第一服务器;第一服务器,进一步用于将推送消息推送给ID账户对应的用户终端。
[0011]可选地,完成注册的用户终端安装有支持XMPP的SDK,并且在开启SDK后,ID账户对应的用户终端接收推送消息。
[0012]可选地,用户终端包括可穿戴设备,SDK包括基于C语言编程的应用包,第一服务器包括Apache Vysper服务器。
[0013]可选地,第一服务器还用于判断同一ID账户是否对应至少两个用户终端,若是,则第一服务器基于XMPP将推送消息推送给ID账户对应的至少一个用户终端。
[0014]可选地,第一服务器用于向用户终端发送基于XMPP的XML数据流,XML数据流包括XMPP的通信规范;以及接收用户终端反馈的应答消息,所述应答消息用于指示用户终端已接收XMPP的通信规范,从而完成注册。
[0015]区别于现有技术,本发明的消息推送方法及系统,设计一个单独的第一服务器记录用户终端的ID账户以及转发推送信息,用户终端无需直接和原本用于消息推送的第二服务器基于XMPP进行通信,而是改由第一服务器中转,从而降低对用户终端的系统限制,提高消息推送服务的系统兼容性,为用户提供更加便利的信息获取途径。
【附图说明】
[0016]图1是本发明一实施例的消息推送方法的流程示意图;
[0017]图2是本发明一实施例的消息推送系统的结构示意图;
[0018]图3是本发明另一实施例的消息推送方法的流程示意图。
【具体实施方式】
[0019]下面将结合本发明实施例中的附图,对本发明所提供的示例性的实施例的技术方案进行清楚、完整地描述。
[0020]图1是本发明一实施例的消息推送方法的流程示意图,该方法基于图2所示的消息推送系统20,区别于现有技术,本发明实施例新增一个服务器以记录用户终端的ID账户和转发推送信息,用户终端无需直接和原本用于消息推送的服务器基于XMPP进行通信,而是改由该新增加的服务器进行中转,从而降低对用户终端的系统限制,能够提高消息推送服务的系统兼容性。如图2所示,消息推送系统20包括第一服务器21和第二服务器22,该第一服务器21为所述新增加的服务器,第二服务器22为原本用于消息推送的服务器,第一服务器21和第二服务器22之间基于XMPP进行通信以传递推送消息。
[0021]在实际场景的结构设计中,第二服务器22可视为XMPP业务处理服务器,第一服务器21可视为消息分发服务器。基于此,第一服务器21可以设置于第二服务器22中,作为一个子功能服务器,此时两者的接口包括但不限于I2c(Inter — Integrated Circuit,两线式串行总线)接口、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输)串口;第一服务器21也可以单独设置于第二服务器22之外,作为一个独立的设备。但两者必须基于XMPP进行通信。
[0022]另外,本发明实施例还可以预先编程软件以作为第一服务器21,即第一服务器21为虚拟服务器,并将该编程软件存储于包括但不限于PC(Personal Computer,个人计算机或电脑)机的服务器(包括第二服务器22)中,通过该编程软件自动监测当前进程,并在当前进程完成后根据预设的程序指令触发执行下一进程,实现其对应功能。进一步地,本发明实施例可以预先将编程软件的虚拟服务器一第一服务器21存储于预先构建的云数据中心的虚拟机中,以防止数据丢失。
[0023]本发明实施例适用的通信终端23可以为手机、PDA (Personal DigitalAssistant,个人数字助理或平板电脑)、便携式通信装置等任何具有显示功能的终端,还可以为智能手环、智能眼镜等可穿戴设备以及嵌入于衣服、首饰等服饰配件中的显示设备。为区别于现有技术并更好的契合较高系统兼容性的发明目的,本发明实施例以安装有STE(ST-Ericsson,意法-爱立信)系统的智能手表为例进行描述。
[0024]结合图1和图2所示,本实施例的消息推送方法包括:
[0025]S11:用户终端向第一服务器发送请求消息,以向第一服务器发起注册申请,所述请求消息包括用户终端的ID账户;
[0026]用户终端23的ID账户包括用户终端23所安装的操作系统0S(0peratingSystem,OS)的登录ID,该ID默认为一直登录状态,即与用户终端23是否开机无关。本发明实施例的用户终端23
[0027]S12:第一服务器记录用户终端的ID账户以完成注册;
[0028]优选第一服务器21以列表形式记录各用户终端23的ID账户,所谓完成注册表示用户终端23可以与第一服务器21进行主动通信或者被动通信。所述主动通信包括:第一服务器21为每一ID账户的用户终端23创建一登录账户,用户终端23可凭借该登录账户主动登录获取第一服务器21从第二服务器22接收并缓存的信息
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1