[发明专利]基于缓存队列的轮询业务的优化系统及优化方法有效
申请号: | 201310306166.1 | 申请日: | 2013-07-19 |
公开(公告)号: | CN103338160A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 马晓超 | 申请(专利权)人: | 天津汉柏信息技术有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300300 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 缓存 队列 业务 优化 系统 方法 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种基于缓存队列的轮询业务的优化系统及优化方法。
背景技术
业务实例返回值的实时更新,需要不断轮询的查询。在虚拟化桌面业务体系中,往往一个虚拟化桌面的返回值更新受到服务器端多点业务查询结果的影响,例如网络状态是否断开、连接代理是否超时及数据库数据是否正常等等;随着业务数量的扩充,不断轮询的查询会使服务器端的压力面临毁灭性的灾难。
为了解决业务实例返回值的更新给服务器端带来的巨大压力,现有技术中提出了两种方案:1)Pushlet:该方案是在长轮询方式下,当XMLHttpRequest的readystate为3时,数据仍在传输中,无须关闭连接,客户端就能读取服务器端返回的信息;当XMLHttpRequest的readystate为4时,数据传输结束,连接已经关闭,客户端调用回调函数,进行信息处理;其中,当XMLHttpRequest与所述服务器端失去连接时,客户端无法收到请求数据;所述XMLHttpRequest对象用于在后台与服务器交换数据。2)Dwr:该方案是在客户端等待服务器响应时,使用长连接的方式延长服务器端向客户端发送数据的时间,一般是1分钟左右。
根据上述分析可以看出,现有技术中的两种方案都是在客户端通过长轮询的方式实现的,当其对应的服务器端每次收到轮询请求时,都需要去底层查询具体业务,需要进行纵向多点业务查询,因此,其并没有改善服务器端性能消耗的问题。
发明内容
针对现有技术的不足,本发明提供一种基于缓存队列的轮询业务的优化系统及优化方法,以节约服务器端的性能开销。
为实现以上目的,本发明通过以下技术方案予以实现:
一种基于缓存队列的轮询业务的优化方法,将多台服务器组成集群,包括以下步骤:
S1、集群中的第一服务器根据客户端发起的第一次轮询请求,生成业务返回值后返回给客户端,将所述业务返回值压入到其对应的缓存队列中,并将所述业务返回值传递到所述集群中的其他服务器;
S2、所述其他服务器分别将所述业务返回值压入到其对应的缓存队列中;
S3、集群中的任意一个服务器接收到后续轮询请求时,读取其相应缓存队列中的所述业务返回值,并直接返回给客户端。
优选的,步骤S1中,所述将所述业务返回值传递到所述集群中的其他服务器包括:
将所述业务返回值传递到数据库,所述集群中的其他服务器从该数据库中读取所述业务返回值;
或者,
利用JMS中的topic类型消息将所述业务返回值传递到集群中的其他服务器。
优选的,在所述步骤S1后进一步包括:
所述第一服务器对所述业务返回值进行监听;当所述业务返回值变化时,所述第一服务器将更新后的业务返回值压入到其对应的缓存队列中,并将所述更新后的业务返回值传递到集群中的其他服务器中;所述第一服务器将更新后的业务返回值反向推送到客户端。
优选的,所述将所述更新后的业务返回值反向推送到客户端包括:
所述第一服务器通过socket或者http keep-alive技术将更新后的业务返回值反向推送到客户端。
优选的,在步骤S1中,集群中的多个第一服务器分别接收到客户端并发的第一次轮询请求,分别执行所述生成、压入、传递的处理;
在所述第一服务器对所述业务返回值进行监听之前,进一步包括:任意一个第一服务器接收到其他服务器发来的业务返回值后,根据该业务返回值对应的当前系统纳秒数,确定自己是否为第一个接收到所述第一次轮询请求的服务器,如果是,则执行对所述业务返回值进行监听的步骤。
本发明还提供一种基于缓存队列的轮询业务的优化系统,包括由多台服务器组成的集群,其中:
集群中的第一服务器,根据客户端发起的第一次轮询请求,生成业务返回值后返回给客户端,将所述业务返回值压入到其对应的缓存队列中,并将所述业务返回值传递到所述集群中的其他服务器;
集群中的其他服务器分别将所述业务返回值压入到其对应的缓存队列中;
并且,集群中的任意一个服务器接收到后续轮询请求时,读取其相应缓存队列中的所述业务返回值,并直接返回客户端。
优选的,该系统进一步包括数据库,此时,
所述第一服务器进一步用于将所述业务返回值传递到数据库;
所述集群中的其他服务器从该数据库中读取所述业务返回值。
优选的,所述第一服务器用于利用JMS中的topic类型消息将所述业务返回值传递到集群中的其他服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津汉柏信息技术有限公司,未经天津汉柏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310306166.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种嘧啶水杨酸类除草剂嘧啶肟草醚的制备方法
- 下一篇:人参除锈高效有机肥