[发明专利]一种服务器业务请求处理方法和装置有效
申请号: | 201110454614.3 | 申请日: | 2011-12-30 |
公开(公告)号: | CN102541659A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 王忻 | 申请(专利权)人: | 重庆新媒农信科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 重庆博凯知识产权代理有限公司 50212 | 代理人: | 张先芸 |
地址: | 401121 重庆市北部新区高新*** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务器 业务 请求 处理 方法 装置 | ||
技术领域
本发明涉及计算机通信网络技术和服务器技术领域,具体涉及一种服务器业务请求处理方法和装置。
背景技术
服务器,是指在计算机通信网络中的一个管理资源对外提供业务服务的高性能计算机。服务器类型有很多,例如数据服务器、文件服务器、网页服务器、流媒体服务器、搜索服务器等,它们侦听计算机通信网络中来自计算机客户端或移动通信客户端的业务请求,并对业务请求进行响应和处理,进而为计算机客户端或移动通信客户端提供各种不同的业务服务,丰富了网络应用。计算机通信网络中的服务器随时都面临着数量庞大的业务请求需要执行处理,服务器对业务请求的处理能力自然也成为其业务服务质量的一项重要衡量标准,快速、高效的业务服务更能够提升用户的业务体验以及对业务服务产品的忠诚度。
为了提升服务器业务服务质量,目前服务器都普遍采用了多线程并发执行业务请求处理的方式,以增强服务器的业务请求处理能力。现有服务器通常所采用的多线程并发业务请求处理方式,是每当一个请求到达的时候,服务器都新建一个线程对新到达的业务请求进行处理,直至处理完毕以后再销毁相应的线程;这一方式虽然能够完成对众多业务请求的多线程并发处理,但若在较短时间内有数量过于庞大的业务请求到达服务器时,过多的业务请求处理线程很可能“垄断”占用服务器的系统资源,使得服务器运行效率骤然降低,反而出现业务请求处理的延时较长甚至无响应的情况;不仅如此,由于并发执行大量的业务请求处理时,服务器也同时需要大量地、不间断地创建和销毁线程,这无疑进一步增加了服务器执行业务请求处理的耗时,并且大量地创建、销毁线程自身也进一步的消耗了服务器系统资源,更容易导致服务器无响应、业务服务中断的严重后果。
发明内容
针对现有技术中存在的上述不足,本发明的目的在于提供一种服务器业务请求处理方法和装置,使得服务器能够保持较高的业务请求处理执行效率,进一步增强服务器的业务请求处理性能。
为实现上述目的,本发明采用了如下技术手段:
一种服务器业务请求处理方法,服务器预先创建有限数量的空闲的待用线程;在服务器运行过程中,将接收到的业务请求排队形成请求队列,并分配调用空闲的待用线程对请求队列中尚未处理的业务请求进行处理;被分配调用的待用线程在业务请求处理执行完成后,重新释放为空闲状态,供服务器后续调用。
上述的服务器业务请求处理方法中,作为一种可选择方案,所述“服务器预先创建有限数量的空闲的待用线程”具体为,在服务器启动运行时,创建Nmax个空闲的待用线程,Nmax为预设最大线程数;
在服务器运行过程中,所述“分配调用空闲的待用线程对请求队列中尚未处理的业务请求进行处理”的具体分配调用步骤如下:
1)判断当前时刻请求队列中是否存在尚未处理的业务请求;若是,执行步骤2);否则执行步骤4);
2)判断当前时刻是否存在空闲的待用线程;若是,执行步骤3);否则执行步骤4);
3)分配调用一个空闲的待用线程对请求队列中当前时刻排队最靠前的一个尚未处理的业务请求进行处理,然后立即返回步骤1);
4)经延时Δt后,返回步骤1)。
上述的服务器业务请求处理方法中,作为另一种可选择方案,所述“服务器预先创建有限数量的空闲的待用线程”具体为,在服务器启动运行时,创建N个空闲的待用线程,且N<Nmax,Nmax为预设最大线程数;
在服务器运行过程中,所述“分配调用空闲的待用线程对请求队列中尚未处理的业务请求进行处理”的具体分配调用步骤如下:
a)判断当前时刻请求队列中是否存在尚未处理的业务请求;若是,执行步骤b);否则执行步骤e);
b)判断当前时刻是否存在空闲的待用线程;若是,执行步骤c);否则执行步骤d);
c)分配调用一个空闲的待用线程对请求队列中当前时刻排队最靠前的一个尚未处理的业务请求进行处理,然后立即返回步骤a);
d)判断当前时刻待用线程的总数是否已达到预设最大线程数Nmax;若是,则执行步骤e);否则,再创建一个空闲的待用线程对请求队列中当前时刻排队最靠前的一个尚未处理的业务请求进行处理,然后立即返回步骤a);
e)经延时Δt后,返回步骤a)。
上述的服务器业务请求处理方法中,进一步,所述N的取值范围为1/2~2/3倍预设最大线程数Nmax。
上述的服务器业务请求处理方法中,进一步,所述预设最大线程数Nmax的取值范围为(1±10%)Nthr,Nthr为服务器目标线程数,且有:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆新媒农信科技有限公司,未经重庆新媒农信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110454614.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网页排序方法和装置
- 下一篇:一种高效的内存管理方法和装置