[发明专利]一种请求处理方法及装置在审
申请号: | 201710859897.7 | 申请日: | 2017-09-21 |
公开(公告)号: | CN107577529A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 葛东遥 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 李世喆 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 请求 处理 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种请求处理方法及装置。
背景技术
随着互联网的普遍运用,大规模并发场景越来越普通。各用户经登录浏览器客户端,可以向服务器端发起请求。
目前,任一线程可以加锁请求队列以从中获取一请求,并于请求获取后解锁,解锁后的请求队列可以再次被加锁,如此循环,以使各线程均获取到请求。各线程获取到请求后,可以于后端处理请求。
由于各线程需要顺序获取请求,故现有实现方式的请求处理效率不高。
发明内容
本发明提供了一种请求处理方法及装置,能够提高请求处理效率。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种请求处理方法,确定包括有至少一个连接项的连接队列,其中,每一个所述连接项均对应有请求队列;还包括:
针对预设线程池中的每一个线程均执行:在确定出当前线程处于空闲状态时,确定所述连接队列中的一处于空闲状态的目标连接项;
利用所述当前线程处理所述目标连接项对应的目标请求队列,以及标记所述当前线程和所述目标连接项均处于非空闲状态。
进一步地,每一个所述请求队列均对应有第一计数器;
该方法还包括:在确定出所述当前线程的请求处理数量达到预设第一阈值时,控制所述目标请求队列对应的第一计数器的计数数值减去所述预设第一阈值;在确定出所述目标请求队列中新增一请求时,控制所述目标请求队列对应的第一计数器的计数数值加1。
进一步地,每一个所述请求队列均对应有第二计数器;
该方法还包括:在确定出所述当前线程完成处理所述目标请求队列中的一请求时,控制所述目标请求队列对应的第二计数器的计数数值加1;在监测到所述目标请求队列对应的第二计数器的计数数值达到预设第二阈值时,控制所述当前线程停止处理所述目标请求队列,以及标记所述当前线程和所述目标连接项均处于空闲状态。
进一步地,该方法还包括:记录所述连接队列中每一个连接项对应的空闲起始时间;
所述确定所述连接队列中的一处于空闲状态的目标连接项,包括:根据记录的每一个所述空闲起始时间,确定时间值最早的目标空闲起始时间;确定所述目标空闲起始时间对应的连接项为目标连接项;
在所述标记所述目标连接项均处于非空闲状态时,进一步包括:清空记录的所述目标连接项对应的空闲起始时间。
进一步地,所述请求队列包括:包括有至少一个http(HyperText Transfer Protocol,超文本传输协议)请求的环形请求队列。
另一方面,本发明提供了一种请求处理装置,包括:
确定单元,用于确定包括有至少一个连接项的连接队列,其中,每一个所述连接项均对应有请求队列;
处理单元,用于针对预设线程池中的每一个线程均执行:在确定出当前线程处于空闲状态时,确定所述连接队列中的一处于空闲状态的目标连接项;利用所述当前线程处理所述目标连接项对应的目标请求队列,以及标记所述当前线程和所述目标连接项均处于非空闲状态。
进一步地,每一个所述请求队列均对应有第一计数器;
该请求处理装置还包括:第一计数单元,用于在确定出所述当前线程的请求处理数量达到预设第一阈值时,控制所述目标请求队列对应的第一计数器的计数数值减去所述预设第一阈值;在确定出所述目标请求队列中新增一请求时,控制所述目标请求队列对应的第一计数器的计数数值加1。
进一步地,每一个所述请求队列均对应有第二计数器;
该请求处理装置还包括:第二计数单元,用于在确定出所述当前线程完成处理所述目标请求队列中的一请求时,控制所述目标请求队列对应的第二计数器的计数数值加1;在监测到所述目标请求队列对应的第二计数器的计数数值达到预设第二阈值时,触发所述处理单元;
所述处理单元,具体用于在接收到所述第二计数单元的触发信号时,控制所述当前线程停止处理所述目标请求队列,以及标记所述当前线程和所述目标连接项均处于空闲状态。
进一步地,所述确定单元,还用于记录所述连接队列中每一个连接项对应的空闲起始时间;在接收到所述处理单元的触发信号时,清空记录的所述目标连接项对应的空闲起始时间;
所述处理单元,具体用于根据记录的每一个所述空闲起始时间,确定时间值最早的目标空闲起始时间;确定所述目标空闲起始时间对应的连接项为目标连接项;以及在执行所述标记所述目标连接项均处于非空闲状态时,触发所述确定单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710859897.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多任务序列并行运行的方法
- 下一篇:均衡板卡内存利用率的板卡、方法和系统