[发明专利]基于Redis的数据处理方法、装置以及服务端设备有效
申请号: | 202011045337.6 | 申请日: | 2020-09-28 |
公开(公告)号: | CN112202766B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 王贺;胡伟哲 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | H04L69/22 | 分类号: | H04L69/22;H04L67/60 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 张萌 |
地址: | 100000 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 redis 数据处理 方法 装置 以及 服务端 设备 | ||
本申请提供了一种基于Redis的数据处理方法、装置以及服务端设备,涉及数据处理技术领域,缓解了Redis对来自客户端的请求的响应效率较低的技术问题。该方法包括:获取来自客户端的针对所述Redis的网络包的请求;基于所述网络包的请求对所述网络包进行解析,得到执行命令;将所述执行命令发送至工作线程,以使所述工作线程处理所述执行命令,得到处理结果;基于所述处理结果向所述客户端返回所述请求的响应结果。
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种基于Redis的数据处理方法、装置以及服务端设备。
背景技术
目前,很多数据库采用单线程的逻辑来响应客户端的请求。例如,远程字典服务(Remote Dictionary Server,简称Redis)数据库采用单线程处理整个线程的逻辑,包括网络包的收发及解析、命令的执行等,从而响应客户端的请求。
但是,对于具有大量网络包的请求和响应需求,目前Redis的这种数据处理方式需要占用较长的时间,导致Redis对来自客户端的请求的响应效率较低。
发明内容
本申请的目的在于提供一种基于Redis的数据处理方法、装置以及服务端设备,以缓解Redis对来自客户端的请求的响应效率较低的技术问题。
第一方面,本申请实施例提供了一种基于Redis的数据处理方法,所述方法包括:
获取来自客户端的针对所述Redis的网络包的请求;
基于所述网络包的请求对所述网络包进行解析,得到执行命令;
将所述执行命令发送至工作线程,以使所述工作线程处理所述执行命令,得到处理结果;
基于所述处理结果向所述客户端返回所述请求的响应结果。
在一个可能的实现中,所述获取来自客户端的针对所述Redis的网络包的请求的步骤之前,还包括:
接收所述客户端和IO线程之间的网络连接数据,以基于所述网络连接数据获取来自所述客户端的网络包的请求。
在一个可能的实现中,所述接收所述客户端和IO线程之间的网络连接数据,以基于所述网络连接数据获取来自所述客户端的网络包的请求的步骤,包括:
接收分发线程发送的所述客户端和IO线程之间的网络连接数据,以基于所述网络连接数据获取来自所述客户端的网络包的请求;所述分发线程用于接收与至少一个所述客户端的网络连接数据,并将多个所述网络连接数据分发到至少一个所述IO线程,以使至少一个所述IO线程分别基于所述网络连接数据获取来自所述客户端的网络包的请求。
在一个可能的实现中,所述基于所述网络包的请求对所述网络包进行解析,得到执行命令的步骤,包括:
对于获取到的多个所述网络包的请求,按照所述网络包的请求在本地epoll的触发顺序,对多个所述网络包的请求中的网络包进行解析,得到执行命令。
第二方面,提供了一种基于Redis的数据处理方法,所述方法包括:
获取执行命令;所述执行命令是IO线程基于来自客户端的针对所述Redis的网络包的请求进行解析,所得到的执行命令;
对所述执行命令进行处理,得到处理结果,以使所述IO线程基于所述处理结果,向所述客户端返回所述请求的响应结果。
在一个可能的实现中,所述对所述执行命令进行处理,得到处理结果的步骤,包括:
对于多个所述执行命令,按照所述执行命令在本地epoll的触发顺序,对多个所述执行命令进行处理,得到处理结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011045337.6/2.html,转载请声明来源钻瓜专利网。