一种Android云推送方法及系统的制作方法

文档序号:7812279阅读:223来源:国知局
一种Android云推送方法及系统的制作方法
【专利摘要】本发明公开了一种Android云推送方法及系统,涉及Android云推送领域;该方法包括以下步骤:当采用Android操作系统的客户端安装应用程序后,客户端向指定的消息服务器发送XML数据;消息服务器发起基于XMPP协议定义的XML流,XML流中标明XML规范;消息服务器将XML流协商数据发送至客户端;客户端根据XML流协商数据的内容响应消息服务器,消息服务器为当前客户端创建客户端ID;客户端订阅消息服务器;消息服务器与客户端通过XML数据进行资源交互,消息服务器根据当前客户端的ID推送消息至该客户端。本发明不仅范围比较广泛,便于人们使用,而且服务比较稳定,服务质量较好。
【专利说明】-种Android云推送方法及系统

【技术领域】
[0001] 本发明涉及Android云推送领域,具体涉及一种Android云推送方法及系统。

【背景技术】
[0002] 服务器端向Android(安卓)客户端的推送方式主要以下为3种:
[0003] (1)轮询:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到 达,用户必须自己实现与服务器之间的通信,例如消息排队等;而且还要考虑轮询的频率, 如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池。
[0004] (2) SMS:通过发送短信并解析短信内容来获取服务器端的指令,这个出现的问题 是很难找到免费的网关来发送短信。
[0005] (3)持久连接:通过Socket (BSD UNIX的进程通信机制)通讯,持久连接能够解决 性能问题,但是耗电问题依旧没能解决。
[0006] 现有的采用Android操作系统的客户端使用云推送服务时,一般采用Google (谷 歌)的C2DM(Cloud to Device Messaging,云端服务器往手机推送消息)框架。C2DM框架 是一种Push (推送)机制,当服务端发生改变(creates/updates/deletes,创造/更新/删 除)时,服务端会通过Push机制通知客户端;客户端通过Sync (同步)机制从服务器端获 取server-side diffs、并将client-side diffs发送至服务器端。用户通过安卓手机使用 云推送服务时,用户通过Push机制能够及时获得服务端的改动。
[0007] 但是,通过Google的C2DM框架进行云推送服务时,存在以下缺陷:
[0008] (l)Google从FroYo版本后引入了 C2DM、并将其内置于Android2. 2版本以上的系 统,但是C2DM无法兼容Androidl. 6?2. 1版本的系统,因此Google的C2DM框架兼容的平 台有限,其适用范围比较单一。
[0009] ⑵由于C2DM框架使用时,需要依赖Google官方提供的C2DM服务器,但是对于 我国内部的网络环境而言,Google官方提供的C2DM服务器难以使用,因此,通过Google的 C2DM框架进行云推送服务不够稳定,其服务质量较差。


【发明内容】

[0010] 针对现有技术中存在的缺陷,本发明的目的在于提供一种Android云推送方法及 系统,不仅范围比较广泛,便于人们使用,而且服务比较稳定,服务质量较好。
[0011] 为达到以上目的,本发明采取的技术方案是:一种Android云推送方法,包括以下 步骤:
[0012] A、当采用Android操作系统的客户端安装应用程序后,客户端向指定的消息服务 器发送XML数据;消息服务器发起基于XMPP协议定义的XML流,XML流中标明XML规范;消 息服务器将XML流协商数据发送至客户端;
[0013] B、客户端根据XML流协商数据的内容响应消息服务器,消息服务器为当前客户端 创建客户端ID ;
[0014] C、客户端订阅消息服务器;消息服务器与客户端通过XML数据进行资源交互,消 息服务器根据当前客户端的ID推送消息至该客户端。
[0015] 在上述技术方案的基础上,步骤A中所述采用Android操作系统的客户端为采用 Android操作系统的手机。
[0016] 在上述技术方案的基础上,步骤A中所述XML数据包括指定的消息服务器的IP地 址、XML数据的命名空间和版本。
[0017] 在上述技术方案的基础上,步骤A中所述XML规范包括当前XML数据的命名空间 和版本。
[0018] 在上述技术方案的基础上,步骤A中所述XML流协商数据包括安全认证数据、用户 认证和注册数据;步骤B中所述客户端根据XML流协商数据的内容响应消息服务器包括以 下步骤:客户端告知消息服务器客户端的安全认证方式、并注册客户端后,进行用户认证。
[0019] 在上述技术方案的基础上,步骤C之后还包括以下步骤:消息服务器将XML流修改 为闲置状态。
[0020] 在上述技术方案的基础上,步骤C之后还包括以下步骤:用户确定不使用云推送 服务后,客户端停止发送XML数据。
[0021] 一种实现权上述方法的Android云推送系统,包括XMPP协议安全模块、XML流响 应模块和消息推送模块;
[0022] XMPP协议安全模块用于:当采用Android操作系统的客户端安装应用程序后,客 户端向指定的消息服务器发送XML数据;消息服务器发起基于XMPP协议定义的XML流,XML 流中标明XML规范;消息服务器将XML流协商数据发送至客户端,向XML流响应模块用于发 送客户端响应信号;
[0023] XML流响应模块用于:收到客户端响应信号后,客户端根据XML流协商数据的内容 响应消息服务器,消息服务器为当前客户端创建客户端ID,向消息推送模块发送消息推送 信号;
[0024] 消息推送模块:收到消息推送信号后,客户端订阅消息服务器;消息服务器与客 户端通过XML数据进行资源交互,消息服务器根据当前客户端的ID推送消息至该客户端。
[0025] 在上述技术方案的基础上,所述Android云推送系统还包括闲置模块,其用于当 消息服务器根据当前客户端的ID推送消息至该客户端之后,消息服务器将XML流修改为闲 置状态。
[0026] 在上述技术方案的基础上,所述Android云推送系统还包括XML数据停止发送模 块,其用于当用户确定不使用云推送服务后,控制客户端停止发送XML数据。
[0027] 与现有技术相比,本发明的优点在于:
[0028] (1)本发明的客户端通过基于XMPP协议定义的XML流和XML数据,与消息服务器 进行资源交互、以及推送消息。与现有技术中采用Google的C2DM框架进行云推送服务相 t匕,本发明中基于XMPP协议定义的XML流和XML数据能够适用于Androidl. 6以上的所有 版本,其适用范围比较广泛,便于人们使用。
[0029] (2)与现有技术中采用Google的C2DM框架进行云推送服务相比,本发明采用消 息服务器,消息服务器能够在我国内部的网络环境下正常使用,服务比较稳定,服务质量较 好。

【专利附图】

【附图说明】
[0030] 图1为本发明实施例中Android云推送方法的流程图。

【具体实施方式】
[0031] 以下结合附图及实施例对本发明作进一步详细说明。
[0032] 参见图1所示,本发明实施例中的Android云推送方法,具体包括以下步骤:
[0033] S1 :当采用Android操作系统的客户端(本实施例中为采用Android操作系统的 手机)安装应用程序后,客户端向指定的消息服务器发送一个XML(可扩展标记语言)数 据,XML数据包括指定的消息服务器的IP地址、XML数据的命名空间和版本。
[0034] S2 :消息服务器收到XML数据后,发起一个基于XMPP (可扩展消息处理现场协议) 协议定义的XML流,XML流中标明XML规范(当前XML数据的命名空间和版本)。消息服务 器将XML流协商数据(XML流协商数据包括安全认证数据、用户认证和注册数据)发送至客 户端。
[0035] S3 :客户端根据XML流协商数据的内容响应消息服务器(告知消息服务器客户端 的安全认证方式、并注册客户端后,进行用户认证)。消息服务器为当前客户端创建1个客 户端ID。
[0036] S4 :客户端订阅消息服务器。
[0037] S5 :消息服务器与客户端通过XML数据进行资源交互,消息服务器根据当前客户 端ID推送消息至该客户端。
[0038] S6 :消息服务器将XML流修改为闲置状态。
[0039] S7 :用户确定不使用云推送服务后,客户端停止发送XML数据。
[0040] 本发明的工作原理如下:
[0041] 客户端与消息服务器之间通过基于XMPP协议定义的XML流进行资源交互。XMPP 用于即时消息(IM)以及在线现场探测,XMPP能够促进消息服务器之间的准即时操作;XMPP 可能最终允许因特网用户向因特网上的其他任何人发送即时消息。
[0042] XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2P客户端 到客户端的架构。在多数情况下,当2个客户端进行通讯时,它们的消息都是通过消息服务 器传递的(也有例外,例如在两个客户端传输文件时)。采用XMPP能够简化客户端,将大多 数工作放在消息服务器端进行;当客户端增加功能时,其操作过程多数是在消息服务器中 进行。
[0043] XMPP中定义了三个角色:XMPP客户端、XMPP消息服务器和网关,XMPP客户端、XMPP 消息服务器和网关能够相互通信。与此同时,XMPP消息服务器客户端的信息记录、连接管理 和信息的路由功能,网关承担与异构系统即时通信系统的互联互通,异构系统包括SMS(短 信)、MSN(微软在线信息)、ICQ(即时通讯软件)等。XMPP基本的网络形式是单客户端通 过TCP/IP连接至单消息服务器、并传输XML数据。
[0044] 消息服务器与客户端进行资源交互之前,为了保证安全消息服务器与客户端进行 流协商;客户端将消息服务器要求的信息均在流协商中发送完毕。流协商之后,客户端需要 订阅消息服务器,表示订阅消息服务器的所有通,以接收消息服务器推送的消息。
[0045] 本发明实施例中的实现上述方法的Android云推送系统,包括XMPP协议安全模 块、XML流响应模块和消息推送模块、闲置模块和XML数据停止发送模块。
[0046] XMPP协议安全模块用于:当采用Android操作系统的客户端安装应用程序后,客 户端向指定的消息服务器发送XML数据;消息服务器发起基于XMPP协议定义的XML流,XML 流中标明XML规范;消息服务器将XML流协商数据发送至客户端,向XML流响应模块用于发 送客户端响应信号。
[0047] XML流响应模块用于:收到客户端响应信号后,客户端根据XML流协商数据的内容 响应消息服务器,消息服务器为当前客户端创建客户端ID,向消息推送模块发送消息推送 信号。
[0048] 消息推送模块用于:收到消息推送信号后,客户端订阅消息服务器;消息服务器 与客户端通过XML数据进行资源交互,消息服务器根据当前客户端的ID推送消息至该客户 端。
[0049] 闲置模块用于:当消息服务器根据当前客户端的ID推送消息至该客户端之后,消 息服务器将XML流修改为闲置状态。
[0050] XML数据停止发送模块用于:当用户确定不使用云推送服务后,控制客户端停止 发送XML数据。
[0051] 本发明不局限于上述实施方式,对于本【技术领域】的普通技术人员来说,在不脱离 本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护 范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【权利要求】
1. 一种Android云推送方法,其特征在于,包括以下步骤: A、 当采用Android操作系统的客户端安装应用程序后,客户端向指定的消息服务器发 送XML数据;消息服务器发起基于XMPP协议定义的XML流,XML流中标明XML规范;消息服 务器将XML流协商数据发送至客户端; B、 客户端根据XML流协商数据的内容响应消息服务器,消息服务器为当前客户端创建 客户端ID ; C、 客户端订阅消息服务器;消息服务器与客户端通过XML数据进行资源交互,消息服 务器根据当前客户端的ID推送消息至该客户端。
2. 如权利要求1所述的Android云推送方法,其特征在于:步骤A中所述采用Android 操作系统的客户端为采用Android操作系统的手机。
3. 如权利要求1所述的Android云推送方法,其特征在于:步骤A中所述XML数据包 括指定的消息服务器的IP地址、XML数据的命名空间和版本。
4. 如权利要求1所述的Android云推送方法,其特征在于:步骤A中所述XML规范包 括当前XML数据的命名空间和版本。
5. 如权利要求1所述的Android云推送方法,其特征在于:步骤A中所述XML流协商 数据包括安全认证数据、用户认证和注册数据;步骤B中所述客户端根据XML流协商数据的 内容响应消息服务器包括以下步骤:客户端告知消息服务器客户端的安全认证方式、并注 册客户端后,进行用户认证。
6. 如权利要求1至5任一项所述的Android云推送方法,其特征在于,步骤C之后还包 括以下步骤:消息服务器将XML流修改为闲置状态。
7. 如权利要求1至5任一项所述的Android云推送方法,其特征在于,步骤C之后还包 括以下步骤:用户确定不使用云推送服务后,客户端停止发送XML数据。
8. -种实现权利要求1至7任一项所述方法的Android云推送系统,其特征在于:包 括XMPP协议安全模块、XML流响应模块和消息推送模块; XMPP协议安全模块用于:当采用Android操作系统的客户端安装应用程序后,客户端 向指定的消息服务器发送XML数据;消息服务器发起基于XMPP协议定义的XML流,XML流 中标明XML规范;消息服务器将XML流协商数据发送至客户端,向XML流响应模块用于发送 客户端响应信号; XML流响应模块用于:收到客户端响应信号后,客户端根据XML流协商数据的内容响 应消息服务器,消息服务器为当前客户端创建客户端ID,向消息推送模块发送消息推送信 号; 消息推送模块用于:收到消息推送信号后,客户端订阅消息服务器;消息服务器与客 户端通过XML数据进行资源交互,消息服务器根据当前客户端的ID推送消息至该客户端。
9. 如权利要求8所述的Android云推送系统,其特征在于:所述Android云推送系统 还包括闲置模块,其用于:当消息服务器根据当前客户端的ID推送消息至该客户端之后, 消息服务器将XML流修改为闲置状态。
10. 如权利要求8所述的Android云推送系统,其特征在于:所述Android云推送系统 还包括XML数据停止发送模块,其用于:当用户确定不使用云推送服务后,控制客户端停止 发送XML数据。
【文档编号】H04L29/08GK104219296SQ201410421955
【公开日】2014年12月17日 申请日期:2014年8月25日 优先权日:2014年8月25日
【发明者】金鑫 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1