CN105450514B - 基于xmpp的消息推送方法及系统 - Google Patents
基于xmpp的消息推送方法及系统 Download PDFInfo
- Publication number
- CN105450514B CN105450514B CN201511034536.6A CN201511034536A CN105450514B CN 105450514 B CN105450514 B CN 105450514B CN 201511034536 A CN201511034536 A CN 201511034536A CN 105450514 B CN105450514 B CN 105450514B
- Authority
- CN
- China
- Prior art keywords
- server
- user terminal
- message
- xmpp
- account
- 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
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
Abstract
本发明提供一种基于XMPP的消息推送方法及系统,包括:用户终端向第一服务器发送注册请求消息,所述注册请求消息包括用户终端的ID账户;第一服务器记录用户终端的ID账户并完成注册;第二服务器将推送消息发送给第一服务器;第一服务器基于XMPP将推送消息推送给ID账户对应的用户终端。本发明能够提高消息推送服务的系统兼容性,例如兼容STE手表系统,为用户提供更加便利的信息获取途径。
Description
技术领域
本发明涉及通讯技术领域,具体涉及一种基于XMPP(Extensible Messaging andPresence Protocol,可扩展通讯和存在协议)的消息推送方法以及基于该方法的消息推送系统。
背景技术
当前,移动通信已从模拟通信发展到了数字移动通信阶段,未来移动通信的目标是能在任何时间和地点向任何人提供快速可靠的通信服务,因此如何实现即时和离线消息的推送受到越来越多的关注,这导致XMPP在消息推送领域的地位变得更加重要。
XMPP作为目前最灵活、最受欢迎的通信协议,广泛应用于消息推送领域,但受制于系统限制,现有的消息推送服务的系统兼容性差,例如GCM(Google Cloud Messagingservice,谷歌云推送消息服务)仅支持Android系统、APN(Apple push notificationservice,苹果消息推送服务)仅支持iOS系统,这大大限制了用户获取信息的途径。
发明内容
鉴于此,本发明提供一种消息推送方法及系统,能够提高消息推送服务的系统兼容性,为用户提供更加便利的信息获取途径。
本发明提供的一种消息推送方法,包括:用户终端向第一服务器发送请求消息,以向第一服务器发起注册申请,所述请求消息包括用户终端的ID账户;第一服务器记录用户终端的ID账户以完成注册;第二服务器基于XMPP将需要推送的推送消息发送给第一服务器;第一服务器将推送消息推送给ID账户对应的用户终端。
可选地,完成注册的用户终端安装有支持XMPP的SDK,并且在开启SDK后,ID账户对应的用户终端接收推送消息。
可选地,用户终端包括可穿戴设备,SDK包括基于C语言编程的应用包,第一服务器包括Apache Vysper服务器。
可选地,第一服务器基于XMPP将推送消息推送给ID账户对应的用户终端的步骤包括:第一服务器判断同一ID账户是否对应至少两个用户终端;若是,则第一服务器基于XMPP将推送消息推送给ID账户对应的至少一个用户终端。
可选地,第一服务器记录用户终端的ID账户以完成注册的步骤包括:第一服务器向用户终端发送基于XMPP的XML数据流,XML数据流包括XMPP的通信规范;用户终端向第一服务器反馈应答消息,以告知第一服务器用户终端已接收XMPP的通信规范。
本发明提供的一种消息推送系统,包括:第一服务器,用于接收用户终端向第一服务器发起注册申请的请求消息,所述请求消息包括用户终端的ID账户;第一服务器,还用于记录用户终端的ID账户以完成注册;第二服务器,用于基于XMPP将需要推送的推送消息发送给第一服务器;第一服务器,进一步用于将推送消息推送给ID账户对应的用户终端。
可选地,完成注册的用户终端安装有支持XMPP的SDK,并且在开启SDK后,ID账户对应的用户终端接收推送消息。
可选地,用户终端包括可穿戴设备,SDK包括基于C语言编程的应用包,第一服务器包括Apache Vysper服务器。
可选地,第一服务器还用于判断同一ID账户是否对应至少两个用户终端,若是,则第一服务器基于XMPP将推送消息推送给ID账户对应的至少一个用户终端。
可选地,第一服务器用于向用户终端发送基于XMPP的XML数据流,XML数据流包括XMPP的通信规范;以及接收用户终端反馈的应答消息,所述应答消息用于指示用户终端已接收XMPP的通信规范,从而完成注册。
区别于现有技术,本发明的消息推送方法及系统,设计一个单独的第一服务器记录用户终端的ID账户以及转发推送信息,用户终端无需直接和原本用于消息推送的第二服务器基于XMPP进行通信,而是改由第一服务器中转,从而降低对用户终端的系统限制,提高消息推送服务的系统兼容性,为用户提供更加便利的信息获取途径。
附图说明
图1是本发明一实施例的消息推送方法的流程示意图;
图2是本发明一实施例的消息推送系统的结构示意图;
图3是本发明另一实施例的消息推送方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明所提供的示例性的实施例的技术方案进行清楚、完整地描述。
图1是本发明一实施例的消息推送方法的流程示意图,该方法基于图2所示的消息推送系统20,区别于现有技术,本发明实施例新增一个服务器以记录用户终端的ID账户和转发推送信息,用户终端无需直接和原本用于消息推送的服务器基于XMPP进行通信,而是改由该新增加的服务器进行中转,从而降低对用户终端的系统限制,能够提高消息推送服务的系统兼容性。如图2所示,消息推送系统20包括第一服务器21和第二服务器22,该第一服务器21为所述新增加的服务器,第二服务器22为原本用于消息推送的服务器,第一服务器21和第二服务器22之间基于XMPP进行通信以传递推送消息。
在实际场景的结构设计中,第二服务器22可视为XMPP业务处理服务器,第一服务器21可视为消息分发服务器。基于此,第一服务器21可以设置于第二服务器22中,作为一个子功能服务器,此时两者的接口包括但不限于I2C(Inter-Integrated Circuit,两线式串行总线)接口、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输)串口;第一服务器21也可以单独设置于第二服务器22之外,作为一个独立的设备。但两者必须基于XMPP进行通信。
另外,本发明实施例还可以预先编程软件以作为第一服务器21,即第一服务器21为虚拟服务器,并将该编程软件存储于包括但不限于PC(Personal Computer,个人计算机或电脑)机的服务器(包括第二服务器22)中,通过该编程软件自动监测当前进程,并在当前进程完成后根据预设的程序指令触发执行下一进程,实现其对应功能。进一步地,本发明实施例可以预先将编程软件的虚拟服务器—第一服务器21存储于预先构建的云数据中心的虚拟机中,以防止数据丢失。
本发明实施例适用的通信终端23可以为手机、PDA(Personal DigitalAssistant,个人数字助理或平板电脑)、便携式通信装置等任何具有显示功能的终端,还可以为智能手环、智能眼镜等可穿戴设备以及嵌入于衣服、首饰等服饰配件中的显示设备。为区别于现有技术并更好的契合较高系统兼容性的发明目的,本发明实施例以安装有STE(ST-Ericsson,意法-爱立信)系统的智能手表为例进行描述。
结合图1和图2所示,本实施例的消息推送方法包括:
S11:用户终端向第一服务器发送请求消息,以向第一服务器发起注册申请,所述请求消息包括用户终端的ID账户;
用户终端23的ID账户包括用户终端23所安装的操作系统OS(Operating System,OS)的登录ID,该ID默认为一直登录状态,即与用户终端23是否开机无关。本发明实施例的用户终端23
S12:第一服务器记录用户终端的ID账户以完成注册;
优选第一服务器21以列表形式记录各用户终端23的ID账户,所谓完成注册表示用户终端23可以与第一服务器21进行主动通信或者被动通信。所述主动通信包括:第一服务器21为每一ID账户的用户终端23创建一登录账户,用户终端23可凭借该登录账户主动登录获取第一服务器21从第二服务器22接收并缓存的信息,即本发明实施例的消息推送服务支持离线消息推送。所述被动通信包括:第一服务器21一旦从第二服务器22接收到推送消息,即转发给ID账户对应的用户终端23,即本发明实施例的消息推送服务支持即时消息推送。
S13:第二服务器基于XMPP将需要推送的推送消息发送给第一服务器;
S14:第一服务器将推送消息推送给ID账户对应的用户终端。
若将第二服务器22的开发视为软件编程的第一次开发,则第一服务器21可视为软件编程的第二次开发,该二次开发可基于XMPP的Apache Vysper服务器,即第一服务器21为Apache Vysper服务器。
参照第一服务器21和第二服务器22之间基于XMPP进行通信,本发明实施例的用户终端23和第一服务器21也可以基于XMPP进行推送消息的转发。具体地,完成注册的用户终端23安装有支持XMPP的SDK(Software Development Kit,软件开发工具包),并且在开启SDK后,ID账户对应的用户终端23接收第一服务器21转发的推送消息。区别于安装Android系统的用户终端23采用Java语言编程SDK、安装iOS系统的用户终端23采用Object-c语言编程SDK,对于安装STE系统的智能手表,该SDK优选采用C语言编程。
图3是本发明另一实施例的消息推送方法的流程示意图。与图1所示实施例的不同之处在于,本实施例适用于多个用户终端23登录同一个ID账户的应用场景。如图3所示,本实施例的方法包括:
S31:多个用户终端向第一服务器发送请求消息,以向第一服务器发起注册申请,所述请求消息包括各个用户终端的ID账户;
S32:第一服务器向各个用户终端发送基于XMPP的XML数据流,XML数据流包括XMPP的通信规范;
S33:各个用户终端向第一服务器反馈应答消息,以告知第一服务器自身已接收XMPP的通信规范;
该步骤S32和S33可知,在本实施例中,第一服务器21基于XMPP将推送消息转发给用户终端23。
S34:第一服务器记录各个用户终端的ID账户以完成注册;
S35:第二服务器基于XMPP将需要推送的推送消息发送给第一服务器;
S36:第一服务器判断同一ID账户是否对应至少两个用户终端,若是,则第一服务器基于XMPP将推送消息推送给ID账户对应的至少一个用户终端。
其中,第一服务器21可以按照预先设定将推送消息转发给ID账户对应的至少一个用户终端23,该预先设定包括例如开机频率、用户终端的开机时间长短、推送消息所对应的APP的使用时间长短中的至少一个,第一服务器21将推送消息转发给同一ID账户下频率最高和/或前述使用时间最长的一个。以预先设定为是否在线进行转发为例,具体而言:第一服务器21判断各用户终端23是否在线;若用户终端23不在线,则第一服务器21存储推送消息直至用户终端23在线再推送;若用户终端23在线,则第一服务器21将推送消息推送给在线的用户终端23。
综上所述,本发明实施例的消息推送方法及消息推送系统,设计一个单独的第一服务器21记录用户终端23的ID账户以及转发推送信息,用户终端23无需直接和原本用于消息推送的第二服务器22基于XMPP进行通信,而是改由第一服务器21中转,从而降低对用户终端23的系统限制,提高消息推送服务的系统兼容性,为用户提供更加便利的信息获取途径。
基于此,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于XMPP的消息推送方法,其特征在于,所述消息推送方法包括:
多个用户终端向第一服务器发送请求消息,以向所述第一服务器发起注册申请,其中所述请求消息包括多个所述用户终端的ID账户;
所述第一服务器向所述用户终端发送基于XMPP的XML数据流,所述XML数据流包括所述XMPP的通信规范;
多个所述用户终端向所述第一服务器反馈应答消息,以告知所述第一服务器所述用户终端已接收所述XMPP的通信规范;
所述第一服务器记录多个所述用户终端的ID账户以完成注册;
第二服务器基于可扩展通讯和存在协议XMPP将需要推送的推送消息发送给所述第一服务器;
所述第一服务器将所述推送消息推送给持有ID账户的用户终端;
所述第一服务器为预先编程软件的虚拟服务器,并将所述编程软件存储于所述第二服务器中。
2.根据权利要求1所述的消息推送方法,其特征在于,完成注册的用户终端安装有支持XMPP的软件开发工具包SDK,并且在开启所述SDK后,所述ID账户对应的用户终端接收所述推送消息。
3.根据权利要求2所述的消息推送方法,其特征在于,所述用户终端包括可穿戴设备,所述SDK包括基于C语言编程的应用包,所述第一服务器包括Apache Vysper服务器。
4.根据权利要求1所述的消息推送方法,其特征在于,
所述第一服务器将所述推送消息推送给所述ID账户对应的用户终端的步骤包括:
所述第一服务器判断同一ID账户是否对应至少两个用户终端;
若是,则所述第一服务器基于XMPP将所述推送消息推送给所述ID账户对应的至少一个所述用户终端。
5.一种基于XMPP的消息推送系统,其特征在于,所述消息推送系统包括:
第一服务器,用于接收用户终端向所述第一服务器发起注册申请的请求消息,所述请求消息包括所述用户终端的ID账户;
所述第一服务器,还用于向所述用户终端发送基于XMPP的XML数据流,所述XML数据流包括所述XMPP的通信规范;以及接收所述用户终端反馈的应答消息,所述应答消息用于指示所述用户终端已接收所述XMPP的通信规范;所述第一服务器记录多个所述用户终端的ID账户从而完成注册;
第二服务器,用于基于可扩展通讯和存在协议XMPP将需要推送的推送消息发送给所述第一服务器;
所述第一服务器,进一步用于将所述推送消息推送给持有所述ID账户的用户终端。
6.根据权利要求5所述的消息推送系统,其特征在于,完成注册的用户终端安装有支持XMPP的软件开发工具包SDK,并且在开启所述SDK后,所述ID账户对应的用户终端接收所述推送消息。
7.根据权利要求6所述的消息推送系统,其特征在于,所述用户终端包括可穿戴设备,所述SDK包括基于C语言编程的应用包,所述第一服务器包括Apache Vysper服务器。
8.根据权利要求5所述的消息推送系统,其特征在于,
所述第一服务器还用于判断同一所述ID账户是否对应至少两个用户终端,若是,则所述第一服务器基于所述XMPP将所述推送消息推送给所述ID账户对应的至少一个所述用户终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511034536.6A CN105450514B (zh) | 2015-12-31 | 2015-12-31 | 基于xmpp的消息推送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511034536.6A CN105450514B (zh) | 2015-12-31 | 2015-12-31 | 基于xmpp的消息推送方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450514A CN105450514A (zh) | 2016-03-30 |
CN105450514B true CN105450514B (zh) | 2020-05-15 |
Family
ID=55560316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511034536.6A Active CN105450514B (zh) | 2015-12-31 | 2015-12-31 | 基于xmpp的消息推送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450514B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973131A (zh) * | 2021-10-18 | 2022-01-25 | 珠海格力电器股份有限公司 | 消息推送方法、消息接收方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731802A (zh) * | 2012-10-12 | 2014-04-16 | 上海宝信软件股份有限公司 | 基于Android移动终端的设备管理方法 |
CN104219296A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 一种Android云推送方法及系统 |
CN104243271A (zh) * | 2013-06-09 | 2014-12-24 | 深圳中兴网信科技有限公司 | 一种通过xmpp实现离线消息推送的方法及系统 |
CN104539510A (zh) * | 2014-12-02 | 2015-04-22 | 百纳(武汉)信息技术有限公司 | 一种基于多协议的信息推送系统及方法 |
-
2015
- 2015-12-31 CN CN201511034536.6A patent/CN105450514B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731802A (zh) * | 2012-10-12 | 2014-04-16 | 上海宝信软件股份有限公司 | 基于Android移动终端的设备管理方法 |
CN104243271A (zh) * | 2013-06-09 | 2014-12-24 | 深圳中兴网信科技有限公司 | 一种通过xmpp实现离线消息推送的方法及系统 |
CN104219296A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 一种Android云推送方法及系统 |
CN104539510A (zh) * | 2014-12-02 | 2015-04-22 | 百纳(武汉)信息技术有限公司 | 一种基于多协议的信息推送系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105450514A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11362984B2 (en) | Matter message notification method, apparatus, and device | |
US20200287991A1 (en) | Monitoring a computing device to automatically obtain data in response to detecting background activity | |
CN110199510B (zh) | 用于流式传送媒体的系统和方法 | |
EP3716656A1 (en) | Profile generation method, profile acquisition method, and related device and storage medium | |
CN103597805B (zh) | 用于促进附件与多个设备之间的交互操作的技术 | |
CN109905312B (zh) | 消息推送方法、装置及系统 | |
US20190014076A1 (en) | Method for Sending Message, Method for Reading and Notifying Message, Method for Receiving Message, and Apparatus | |
EP3389295A1 (en) | Multi-terminal mapping system and method for virtual sim card | |
JP2016522653A (ja) | 複数の端末が仮想simカードを共有するための方法、端末、サーバおよびシステム | |
CN108810123B (zh) | 开通移动蜂窝网络服务的方法和设备 | |
US10908889B2 (en) | Method, user equipment, and application server for downloading application | |
CN105320616B (zh) | 外部设备控制方法及装置 | |
US20160226997A1 (en) | Method and system for sharing data | |
CN102387482A (zh) | 手机服务信息获取方法、系统及手机 | |
KR20150124128A (ko) | 전자 장치 및 이의 작업 연계 방법 | |
US9948732B2 (en) | Method for providing status messaging service in electronic device and the electronic device thereof | |
KR102462427B1 (ko) | 메시지 통합 관리 방법 및 이를 구현한 전자 장치 | |
KR20200017180A (ko) | 전자 장치, 외부 전자 장치 및 외부 전자 장치의 eSIM 관리 방법 | |
CN105100199A (zh) | 云名片发送方法和装置 | |
CN105450514B (zh) | 基于xmpp的消息推送方法及系统 | |
CN113825123A (zh) | 通信方法、装置、电子设备及计算机存储介质 | |
EP3015990A1 (en) | Information processing device, and destination information updating method and program | |
KR20190093383A (ko) | 프로파일을 설치하는 전자 장치 및 전자 장치의 동작 방법 | |
CN109788017A (zh) | 跨品牌儿童手表信息同步方法、装置、设备及介质 | |
US20170048292A1 (en) | Electronic device and method for providing content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230717 Address after: 524000 room 513, incubator building, No. 70, middle Renmin Avenue, Zhanjiang Economic and Technological Development Zone, Zhanjiang City, Guangdong Province Patentee after: Zhanjiang Xiaozhi Technology Co.,Ltd. Address before: 516006 Zhongkai hi tech Zone, Huizhou, Guangdong, 86 Chang seven Road West Patentee before: HUIZHOU TCL MOBILE COMMUNICATION Co.,Ltd. |