[发明专利]请求处理方法、服务器及计算机可读存储介质有效
| 申请号: | 201810460711.5 | 申请日: | 2018-05-15 |
| 公开(公告)号: | CN108647104B | 公开(公告)日: | 2022-05-31 |
| 发明(设计)人: | 陈宝球 | 申请(专利权)人: | 北京五八信息技术有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 齐洁茹 |
| 地址: | 100083 北京市海淀区学清*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 请求 处理 方法 服务器 计算机 可读 存储 介质 | ||
本发明公开了一种请求处理方法、服务器及计算机可读存储介质,所述方法包括:通过创建的多个接收线程、多个读请求线程、多个任务处理线程,并行的对客户端发送的连接请求依次进行监听、读取和处理,并通过创建的多个发送线程并行的将处理后的消息发送给所述客户端;其中,监听到的连接请求存入的连接队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,读请求线程的个数),处理后得到的消息存入的发送队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,发送线程的个数)。本发明所述方案,线程间无需做不必要的等待,无需队列加锁,从而提高了服务器的响应时间和吞吐能力。
技术领域
本发明涉及计算机领域,尤其涉及一种请求处理方法、服务器及计算机可读存储介质。
背景技术
服务器Server的性能决定着服务的质量,主要体现在服务的延时和吞吐,如何利用有限的计算机硬件资源攫取更高的服务性能成为Server设计者追求的目标。一般的系统都提供了完整的一套网络编程接口和并发编程机制,供开发者使用,如何合理有效地使用这些接口和机制,构建一套完整通用的高效的Server模型,对Server开发者有积极的指导意义,对Server的使用者有更快的响应,更高的性能。
Thrift(Facebook的核心技术框架之一)的TNonblockingServer是Thrift所有Server中可用性和伸缩性最好的。TNonblockingServer的设计全部基于事件回调机制,包括连接监听,创建客户端连接,处理客户端请求等,所有调用都是非阻塞的,但是它并不是不需要等待,在处理线程处理某个连接上的某一个请求时,此连接不再读取下一个调用请求,直到处理线程完成本次处理,并将结果发送给客户端为止,也就是说一个连接在接收请求、处理请求、发送响应这三步中是同步的,虽然处理请求是在一个线程池里完成的,但是接收和发送线程还需要等待。
可见,现有的Server模型存在的连接需要等待,进而影响响应速度的问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种解决上述问题的请求处理方法、服务器及计算机可读存储介质。
依据本发明实施例的一个方面,提供一种请求处理方法,应用于服务器侧,包括:
通过创建的多个接收线程、多个读请求线程、多个任务处理线程,并行的对客户端发送的连接请求依次进行监听、读取和处理,并通过创建的多个发送线程并行的将处理后的消息发送给所述客户端;
其中,监听到的连接请求存入供所述多个读请求线程进行信息读取的连接队列;存入的连接队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,读请求线程的个数),mod为取余;
处理后得到的消息存入供所述多个发送线程进行信息读取的发送队列;存入的发送队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,发送线程的个数)。
可选地,所述读请求线程的个数与所述发送线程的个数相同;
和/或,所述多个读请求线程与多个连接队列一一对应;所述多个发送线程与多个发送多列一一对应。
可选地,所述通过创建的多个接收线程、多个读请求线程、多个任务处理线程,并行的对客户端发送的连接请求依次进行监听、读取和处理,包括:
通过所述多个接收线程并行的监听客户端的连接请求,并将监听到的所述连接请求存入所述连接队列;
通过所述多个读请求线程并行的在所述连接队列中读取连接请求,并将读取的连接请求封装后存入请求队列;
通过所述多个任务处理线程并行的在所述请求队列中读取连接请求后进行请求处理,并将请求处理后得到的消息存入所述发送队列。
可选地,所述请求队列为一个或多个;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810460711.5/2.html,转载请声明来源钻瓜专利网。





