[发明专利]一种服务器主动推送数据的方法和系统无效
申请号: | 201010603239.X | 申请日: | 2010-12-23 |
公开(公告)号: | CN102035893A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 丁医;冉丁;吴可嘉 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明;王宝筠 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务器 主动 推送 数据 方法 系统 | ||
技术领域
本发明涉及信息系统开发技术领域,更具体地说,涉及一种服务器主动推送数据的方法和系统。
背景技术
随着Web技术的流行,越来越多的应用从原有的C/S(Client/Server,客户机/服务器区)模式转变为B/S(Browser/Server,浏览器/服务器)模式,享受着Web技术所带来的各种优势,例如:跨平台、免客户端维护、跨越防火墙、扩展性好等。在这种模式下,用户工作界面是通过万维网浏览器来实现,极少部分事务逻辑在前端浏览器实现,但是主要事务逻辑在服务器端实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
但是基于浏览器的应用,也有它不足的地方,传统模式的Web系统(包括ajax技术)都是以客户端发出请求、服务器端响应的方式工作,不具备由服务器端主动向浏览器推送信息的能力,这无法满足对实时性要求很高的系统的需求,诸如监控系统、即时通讯系统、报价系统。由于浏览器中的页面每次需要全部刷新才能从服务器端获得最新的数据或向服务器传送数据,这样产生的延迟所带来的视觉感受非常糟糕。
目前,现有技术已经具备一些“服务器推”模式的解决方案:
(1)基于flash套接口(Flash XMLSocket)的实现方案:
须依赖Flash播放器才能正常运行,该方式在flash程序中实现了与C/S的套接口(socket)一致的能力,利用Flash提供的XMLSocket套接口,在javascript中直接调用,实现“服务器推”模式的开发和应用。
(2)基于Java Applet套接口(java.net.Socket)的实现方案:
须在浏览器安装jvm,如果客户端安装了Java Applet,后台服务可以直接在java代码中通过java.net.Socket完成“服务器推”的动作。
上述两种实现方案中,Flash播放器以及Applet这样的浏览器插件技术本身又有许多问题,例如跨平台问题和插件版本兼容性问题。
第三种“服务器推”模式的解决方案是基于http请求的Comet技术。Comet是一套B/S下的,基于纯http请求的,专门用来解决“服务器推”的技术模型。目前业界已经有一些比较成熟的Comet框架:
1.Pushlet
该框架是Comet模型的一套实现,主要技术要点描述如下:
通过前台的javascript和后台的java代码实现一套订阅请求机制,这也是实时推送的前提条件。这包括订阅主题、订阅回话管理、订阅时长等等。在浏览器端提供javascript的api,以主题为订阅标识,通过ajax向后台发送http请求。后台接到订阅信息后将订阅控制内容返回给浏览器端。浏览器端根据后台派发的控制信息,定时向后台发送取数请求,后台响应该请求即完成推送动作。这实际上是前台自动轮询的一种变相实现,只是轮询需要的时间间隔、主题等,由后台来维护。
2.Bosh
Bosh是一种基于http长连接请求的Comet框架。同样实现了一套订阅请求机制。浏览器与服务端的长连接请求过程可描述如下:
浏览器发送第一个订阅请求,服务器端将该请求保持。当第一个订阅有数据需要实时推送时,将数据载入到第一个请求的响应中,并释放;
浏览器发送第二个订阅请求,如果第一个请求仍然被保持在服务器端且没有数据需推送,则返回空包,然后保持第二个请求。如果浏览器有新的订阅请求,再重复使用第一个请求,如此重复。
然而,对于Pushlet模式来说,虽然轮询的规则是由服务端控制的,但原理上依然采取的是前台轮询机制,为了提高推送实时程度,势必须加大轮询频率(如每2秒轮询一次或更少),这会显著增加对服务器的压力;另外,轮询机制不论是否有数据推送,都需不断地“请求返回”浪费了较多的网络带宽。实时性和服务器性能的矛盾是pushlet的主要缺陷。
而Bosh模式相对pushlet来讲,虽有效减轻了服务器负担,节省了网络带宽,但空包返回率在推送频率低的环境中仍会很高,而且订阅控制信息与推送数据在同一个请求中返回,且两者通常属于不同的主题,这在逻辑上比较凌乱。
发明内容
有鉴于此,本发明实施例提供一种服务器主动推送数据的方法和系统,满足对浏览器实时推送数据的要求,能够提高应用系统的并发度,减少服务器的性能消耗。
本发明实施例提供一种服务器主动推送数据的方法,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010603239.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型磁屏蔽装置
- 下一篇:用于在燃油箱中输送燃油的泵装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置