[发明专利]一种WEB消息实时推送方法、服务器、客户端及系统有效
申请号: | 201710864536.1 | 申请日: | 2017-09-22 |
公开(公告)号: | CN109547511B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 刘兆祥;郭岳;方炜;李海传;余兆成;罗琼;郑海朋;陈润泉 | 申请(专利权)人: | 中国移动通信集团浙江有限公司 |
主分类号: | H04L67/55 | 分类号: | H04L67/55;H04L67/02;H04L5/14 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 310016 *** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 web 消息 实时 推送 方法 服务器 客户端 系统 | ||
本发明实施例提供一种WEB消息实时推送方法、服务器、客户端及系统,所述方法包括:消息推送管理模块从消息队列模块中,获取待向客户端推送的消息,所述消息推送管理模块从连接缓存模块中,获取与所述客户端之间的第一长连接,其中,所述第一长连接是连接管理模块根据所述客户端的服务器推送事件管理模块发送的第一服务器推送事件建立的,所述消息推送管理模块将所述消息通过所述第一长连接发送到所述客户端,所述方法中第一长连接是基于服务器推送事件建立的,属于半双工通信,在对海量用户进行WEB消息实时推送的场景中,可以避免资源浪费。
技术领域
本发明实施例涉及移动通信技术领域,尤其涉及一种WEB消息实时推送方法、服务器、客户端及系统。
背景技术
随着基于B/S架构的Web应用系统越来越广泛和深入地被使用,一些特定的业务场景对Web应用提出了一些新的要求。例如股票交易行情、购票网站、电子任务看板等类型的Web应用,需要服务器(Server)能够将新的消息实时地推送给前端浏览器(Browser)以实现其业务需求,而且这类Web应用所面向的用户数量往往也是非常巨大的,但用户向服务器端需要发送的消息则较少。这是一种需要为海量用户提供WEB消息实时推送服务的应用场景。
然而,在普通的网页中常用的HTTP协议,是严格遵循请求-响应模型的,即前端发送一个请求到服务器,服务器对请求进行响应并将响应信息发送回前端。这是由前端发起的,单向的,一次性的通话。无法简单地满足在上述类型的Web应用中对于服务器实时推送的需求。
下面简单介绍了现有的几种解决方法。第一种方法为轮询方法,图6为现有技术中的轮询方法示意图,如图6所示,轮询方法是通过在前端脚本中设置发起请求的定时任务,每隔一段时间前端就发送一次获取消息的请求实现的。该方案虽然实现简单,后台服务器只需要实现一个不同的响应消息获取请求的接口并且不需要去维护连接。但是当轮询的间隔较长时会导致前端获取到的消息实时性较差具有一定的时延;当轮询的间隔时间较短时会产生许多无效的请求,增加后端服务器的处理压力;每个一段时间就要建立一次连接,效率比较低。
第二种方法为长轮询方法,图7为现有技术中的长轮询方法示意图,如图7所示,长轮询方法的基本实现原理是前端向服务器发送数据获取的请求,服务器接收请求后保持该连接,直到有新的消息才响应该请求,向前端返回新的消息并关闭该连接,前端处理完响应的消息后再向服务器发送新的获取消息的请求。长轮询方案在无消息的情况下不会频繁地产生请求建立连接,这方面耗费的资源较小。但是每次获取消息后仍需要再次请求建立连接,传输噪音较大;服务器需要保持连接,需要消耗资源;服务器返回的消息顺序无法保证;服务器重启后连接会丢失,管理维护的难度较大。
第三种方法为WebSocket,WebSocket是HTML5的新标准,它通过定义一个建立在TCP协议上的套接字(Socket)来支持建立双向的通信信道。首先,WebSocket利用已有的HTTP协议实现服务器端和前端的“握手”认证。该过程实际是在HTTP报头中加入交互的信息,服务器端按照协议的格式相应这种请求后,连接便成功建立。在连接建立成功后,Web-Socket会以定义的数据帧的格式进行全双工的通信。WebSocket支持接收、发送文本和二进制数据。但是,由于WebSocket是基于TCP连接的全双工通信,只用于服务器消息推送会浪费客户端推送部分的信道,特别是在对海量用户进行WEB消息推送的应用场景下,造成较明显的资源浪费。
因此,如何提供一种既适用于海量用户的WEB消息推送场景,又能避免资源浪费的WEB消息实时推送方法,成为亟需解决的一大难题。
发明内容
针对现有技术中存在的问题,本发明实施例提供一种WEB消息实时推送方法、服务器、客户端及系统。
第一方面,本发明实施例提供一种WEB消息实时推送方法,所述方法包括:
消息推送管理模块从消息队列模块中,获取待向客户端推送的消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司,未经中国移动通信集团浙江有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710864536.1/2.html,转载请声明来源钻瓜专利网。