[发明专利]请求处理方法、服务器及计算机可读存储介质有效
| 申请号: | 201810460711.5 | 申请日: | 2018-05-15 |
| 公开(公告)号: | CN108647104B | 公开(公告)日: | 2022-05-31 |
| 发明(设计)人: | 陈宝球 | 申请(专利权)人: | 北京五八信息技术有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 齐洁茹 |
| 地址: | 100083 北京市海淀区学清*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 请求 处理 方法 服务器 计算机 可读 存储 介质 | ||
1.一种请求处理方法,其特征在于,应用于服务器侧,包括:
通过创建的多个接收线程、多个读请求线程、多个任务处理线程,并行的对客户端发送的连接请求依次进行监听、读取和处理,并通过创建的多个发送线程并行的将处理后的消息发送给所述客户端;
其中,监听到的连接请求存入供所述多个读请求线程进行信息读取的连接队列;所述连接队列有多个,所述连接请求存入的连接队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,读请求线程的个数),mod为取余;
处理后得到的消息存入供所述多个发送线程进行信息读取的发送队列;所述发送队列有多个,所述消息存入的发送队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,发送线程的个数),其中mod为取余运算。
2.如权利要求1所述的方法,其特征在于,所述读请求线程的个数与所述发送线程的个数相同;
和/或,所述多个读请求线程与多个连接队列一一对应;所述多个发送线程与多个发送队列一一对应。
3.如权利要求1所述的方法,其特征在于,所述通过创建的多个接收线程、多个读请求线程、多个任务处理线程,并行的对客户端发送的连接请求依次进行监听、读取和处理,包括:
通过所述多个接收线程并行的监听客户端的连接请求,并将监听到的所述连接请求存入所述连接队列;
通过所述多个读请求线程并行的在所述连接队列中读取连接请求,并将读取的连接请求封装后存入请求队列;
通过所述多个任务处理线程并行的在所述请求队列中读取连接请求后进行请求处理,并将请求处理后得到的消息存入所述发送队列。
4.如权利要求3所述的方法,其特征在于,所述请求队列为一个或多个;
当请求队列为多个时,存入的请求队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,任务处理线程的个数),其中mod为取余运算。
5.如权利要求1至4任意一项所述的方法,其特征在于,所述通过创建的多个发送线程并行的将处理后的消息发送给所述客户端,具体包括:
通过所述多个发送线程并行的在所述发送队列中读取处理后的消息,并将所述消息写入连接写缓冲区;
通过所述多个发送线程将所述连接写缓冲区中消息发送给所述客户端。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
通过所述多个读请求线程实时的检测所述连接写缓冲区是否已满,并在检测结果为是时,通知所述多个发送线程停止对所述连接写缓冲区的写入操作。
7.一种服务器,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如下方法步骤:
通过创建的多个接收线程、多个读请求线程、多个任务处理线程,并行的对客户端发送的连接请求依次进行监听、读取和处理,并通过创建的多个发送线程并行的将处理后的消息发送给所述客户端;
其中,监听到的连接请求存入供所述多个读请求线程进行信息读取的连接队列;所述连接队列有多个,所述连接请求存入的连接队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,读请求线程的个数),mod为取余;
处理后得到的消息存入供所述多个发送线程进行信息读取的发送队列;所述发送队列有多个,所述消息存入的发送队列的队列序号为:mod(所述连接请求的来源套接字描述符的值,发送线程的个数),其中mod为取余运算。
8.如权利要求7所述的服务器,其特征在于,所述读请求线程的个数与所述发送线程的个数相同;
和/或,所述多个读请求线程与多个连接队列一一对应;所述多个发送线程与多个发送队列一一对应。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810460711.5/1.html,转载请声明来源钻瓜专利网。





