消息推送实现方法、移动终端及消息推送系统
摘要
本发明提供一种消息推送实现方法,包括:移动终端上的正向代理服务模块与服务器之间建立长连接;所述正向代理服务模块通过所述长连接转发所述移动终端上的应用与所述服务器之间交互的信息;其中,所述移动终端上的应用包括多个应用;所述多个应用复用同一长连接。本发明还提供一种消息推送实现系统和移动终端。本发明可以为移动终端节省流量和电量。
说明
消息推送实现方法、移动终端及消息推送系统
技术领域
本申请涉及网络领域,尤其涉及一种消息推送实现方法、移动终端和消息推送系统。
背景技术
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级的消息传输协议,使用发布/订阅消息模式,提供一对多的消息发布。XMPP (ExtensibleMessaging and Presence Protocol,可扩展消息处理现场协议)是一种基于XML(Extensible Markup Language,可扩展标记语言)的协议,它继承了在XML环境中灵活的发展性,XMPP可以通过发送扩展的信息来处理用户的需求。从协议层面来看,这两个协议都可以用来进行消息推送,但由于这两个协议的普及度不高,很多移动终端上的开发语言如AndroicK安卓)的开发语法JAVA和IPhone上的开发语言0BJECT-C,都没有成熟的组件提供对这两个协议的支持。
目前移动终端的不同应用和后端服务器建立长连接以实现消息推送时,都是各自保持一条长连接,每个应用对应一条长连接,如果移动终端上安装了多个应用,就会有多条长连接。为避免长连接被中间的网络节点如运营商的网关关闭,客户端和服务器之间需要按照一定的频率不断地交换数据,我们称这种数据为心跳包,心跳包需要耗费网络流量和电量。因此,在移动终端上保活多条长连接的成本是昂贵的。
考虑到安全性和流量、电量因素,客户端不会直接和消息中心相连,而是通过反向代理和消息中心相连。为保证消息的及时送达,需要一种机制来判断是否有新的数据产生。现有技术中是通过服务器不断询问消息中心是否有新的数据产生,对及时性要求比较强的消息,如果采用轮询的方式会因为轮询间隔太短对服务器造成很大压力。
现有技术可能存在以下的问题:
I)客户端和服务器实现新的协议有难度
无论XMPP还是MQTT都是一个协议簇,客户端和服务器想要通过该协议实现通信,就必须都完成协议的实现,实现协议之前开发人员要先理解协议,理解和实现协议,都需要很长的时间。
2)保活多条长连接耗费大量的网络流量和电量
客户端和服务器之间建立长连接,需要通过不间断地发送心跳包来达到保活连接的目的,否则长连接会被链路的中间节点,如运营商的网关,直接关闭。移动终端和服务器之间建立的连接越多,保活带来的流量和电量的开销也越大。
3)不能适应多种消息类型
用户订阅的多种类型的消息的即时性要求各不相同,后台服务器要么牺牲性能保证实时消息及时送达,要么牺牲用户体验让所有消息都延迟投递。
消息推送实现方法、移动终端及消息推送系统相关推荐
- 一种通过xmpp实现离线消息推送的方法及系统
公开号 : CN 104243271 A 专利申请号 : CN 201310230953 申请人 : 深圳中兴网信科技有限公司 [摘要] 本发明公开了一种通过XMPP实现离线消息推送的方法,在XMPP ...
- Android集成阿里云消息推送的方法步骤
一 创建App应用 1.1 在控制台发(https://mhub.console.aliyun.com)的App列表页,点击页面产品列表中"添加产品"的图标即可创建一个新的产品(产 ...
- 信鸽推送之厂商通道和点击消息跳转页面方法
一.厂商通道集成 1.华为推送通道集成:http://xg.qq.com/docs/android_access/huawei_push.html 2.小米推送通道集成:http://xg.qq.co ...
- 信息推送分发服务器系统,消息事件的分发方法、分发平台、系统及服务器专利_专利查询 - 天眼查...
1.一种消息事件的分发方法,其特征在于,包括:如果监测到消息发布服务发布的消息事件,获取预先存储的配置信息:其中,所述配置信息包括所述消息发布服务,以及所述消息发布服务对应的至少一个消息订阅服务:根据 ...
- java android消息推送_Android中使用socket通信实现消息推送的方法详解
原理最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理: ...
- php 推送 短消息,php实现消息推送的方法
php实现消息推送的方法 发布时间:2020-06-28 13:38:57 来源:亿速云 阅读:148 作者:Leah 本篇文章为大家展示了php实现消息推送的方法,代码简明扼要并且容易理解,绝对能使 ...
- 极光推送 请检查参数合法性_极光小课堂 | 极光推送在人脸识别终端管理系统中的应用...
项目背景 最近开发的一款人脸识别终端管理系统,主要包括运营平台.企业后台管理系统.APP 端.智能人脸识别终端模块. 下图是系统的架构图: 其中各个模块之间都需要即时通讯,比如: APP 端用户注册完 ...
- 消息推送技术干货:美团实时消息推送服务的技术演进之路
本文由美团技术团队分享,作者"健午.佳猛.陆凯.冯江",原题"美团终端消息投递服务Pike的演进之路",有修订. 1.引言 传统意义上来说,实时消息推送通常都是 ...
- 友盟消息推送服务器demo,umeng友盟消息推送功能集成
umeng友盟消息推送功能集成(本人使用的是eclipse开发) 1.首先请自行观看友盟消息推送集成的API文档. 观看地址如下: 2.集成步骤如下 下载sdk 注意:有两种sdk如果用户已经集成支付 ...
- Android消息推送:手把手教你集成小米推送
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/category.j ...
最新文章
- oracle的故障包括用户或应用程序故障_数据库实例错误,oracle 备份恢复基础
- 换主板会影响oracle数据库吗,nas瞎折腾 篇一:J3455更换h310+8700t es折腾作业
- 深入理解javascript原型和闭包(10)——this
- The Best Vacation CodeForces - 1358D(贪心+尺取)
- JavaScript学习随记——对象
- 改进初学者的PID-手自动切换
- python魔法方法_python_魔法方法(二):算术运算
- 代码投毒、删库跑路,开源生态链安全该如何保证?
- linux系统搭建监控,Linux系统搭建zabbix监控系统实例讲解
- ie 代理设置中地址和端口置灰的解决办法
- ubuntu防火墙问题
- 使用百度EasyDL训练自己的图像识别模型
- excel power Query
- ADNI-MRI-PET-ANALYSIS
- 一、玩转小米路由器mini之刷openwrt固件
- 男神女神投票源码 v5.5.21 投票源码
- python定义公民类、变量有身份证号_Python趣解身份证号码的奥秘!
- ppt密码忘记了怎样能打开文档,ppt权限密码如何解开?
- 微信小程序--获取二维码(java后端)
- 安装的java打不开tsa文件_java – 具有https tsa的JDK 1.7 jarsigner不再有效
热门文章
- 【深度学习】(1) CNN中的注意力机制(SE、ECA、CBAM),附Pytorch完整代码
- 在线旅游OTA行业调研报告-携程美团同程飞猪booking对比分析
- html不用画布太阳系示意图,html5-canvas-太阳系2
- 满满干货!15个经典面试问题及答案
- (已解决)最近打开浏览器总是先打开 http://hao934.com/然后 跳转到 hao123 用各种修复无效
- 方差为什么用平方不用绝对值,为什么要对差值求平方而不是取标准偏差的绝对值?...
- 均方根值、均方根误差以及标准差的区别
- 工具说明书 - FTDI芯片的USB转UART串口线
- 光纤跳线接口_如何为SFP光模块搭配对应的光纤跳线?
- android模拟器中关闭应用进程