[发明专利]一种大并发量请求的处理方法及处理系统有效
| 申请号: | 201210225752.9 | 申请日: | 2012-06-29 |
| 公开(公告)号: | CN102780768A | 公开(公告)日: | 2012-11-14 |
| 发明(设计)人: | 王博 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F17/30 |
| 代理公司: | 北京元中知识产权代理有限责任公司 11223 | 代理人: | 王明霞 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并发 请求 处理 方法 系统 | ||
技术领域
本发明涉及计算机网络领域,具体涉及一种提高网络服务器在处理大并发请求时的处理能力的方法及处理系统。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
Redis(Remote Dictionary Server)是一种key-value的消息存储系统。Redis提供了一些丰富的数据结构,包括string,list,sets,ordered sets以及hashes。Redis性能极高,能支持超过100K+每秒的读写频率。并且Redis所有的操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。Redis提供各种语言的客户端支持,包括php、c等。Redis存储的数据放在内存中使用,因此读写性能比mysql等数据库高很多。Nginx是一款通用、开源、高效的HTTP服务器。Nginx现在市场份额占有12.18%,Nginx最为显著的特色是它的高性能、稳定性和丰富的第三方模块,Nginx对于高并发性有很好的表现,它可以同时容纳约100万的连接数。因此对于有高并发的系统需求来说,Nginx+Redis的结合是一个很好的选择。
轮询结构由于需要对服务器进行不断和持续的请求,所以对服务器的请求压力很大。现有技术中一般使用Redis+php+Nginx作为请求轮询的结构,Redis提供了各种客户端C、C++、PHP和JAVA等。Nginx以php作为服务端脚本语言,php和Nginx的连接是使用php-fpm,而php-fpm是单线程工作方式,因此在Nginx中,一个php-fpm进程只能处理一个请求,但是单台服务器开启1000+的php-fpm,最乐观情况下也只能有1万请求/秒的性能表现,对于再多的php-fpm请求,Nginx只能延迟处理和响应,这样不但花费的时间长效率低,而且导致了Nginx和Redis这两个在高并发下表现很好的产品的性能浪费过多。
此外现有技术中也有单独使用Webdis+Redis来实现轮询的,Webdis可以接受一些参数来对Redis进行操作,但是Webdis的参数功能缺少变化,不能实现一些特定的转化和判定功能(比如权限判定),因此Webdis也不能直接完成某些用户的要求。
现有技术中,上述结构在利用消息系统向用户发送一个消息的时候,常规的做法就是对所有的用户都发送一个消息,此时登录的用户会收到消息,而未登录的用户只有在下次登录的时候才会收到消息,对于未接收的消息只能存储在数据库中,等待用户进行轮询,因此这样的作法是非常消耗资源的,而且是不必要的。
发明内容
为解决现有技术中服务器处理高并发请求效率低下,而导致服务器和数据库性能不能完全发挥的问题,本发明提供一种大并发量请求的处理方法,其特征在于,访问步骤如下:
步骤1、服务器批量接收客户端发送的HTTP请求,然后将HTTP请求直接进行反向代理后转送到HTTP代理;
步骤2、HTTP代理接收到HTTP请求后转换成数据库语言后再发送到数据库;
步骤3、数据库在各客户端与其请求的数据之间建立对应关系,再根据HTTP请求按对应关系将相关数据返回给HTTP代理;
步骤4、HTTP代理对接收到的数据进行反向转换后再返回给服务器;
步骤5、服务器接到HTTP代理返回的数据后再转化为轻量级数据交换格式返回给相应的客户端。
优选的:所述步骤1中,服务器对接收的HTTP请求负载均衡到不同的HTTP代理上。
优选的:所述步骤2和步骤4中,HTTP代理是根据预定义的HTTP URL语义对HTTP请求和数据库语言进行相互转化的。
优选的:所述步骤3中,数据库在各客户端与其请求的数据之间建立对应关系的步骤如下:
步骤41、设置记录注册用户信息的用户队列;
步骤42、配置由待分发消息构成的消息队列,对待分发消息根据其不同优先级设定不同的权重后加入到消息队列中;
步骤43、建立用户队列内的用户和消息队列内的待分发消息之间的映射关系;
步骤44、接收HTTP代理转送的已经转化为数据库语言的HTTP请求,根据所述映射关系查找对应所述登录用户的待分发消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210225752.9/2.html,转载请声明来源钻瓜专利网。





