预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113360525A(43)申请公布日2021.09.07(21)申请号202110912297.9(22)申请日2021.08.10(71)申请人支付宝(杭州)信息技术有限公司地址310000浙江省杭州市西湖区西溪路556号8层B段801-11(72)发明人朱炳鹏付治钧江进张松清胡瑜周猛(74)专利代理机构北京永新同创知识产权代理有限公司11376代理人林锦辉刘景峰(51)Int.Cl.G06F16/245(2019.01)G06F16/28(2019.01)G06F9/54(2006.01)权利要求书3页说明书10页附图5页(54)发明名称查询请求处理方法、装置及设备、键值查询系统(57)摘要本说明书的实施例提供一种查询请求处理方法、查询请求处理装置、查询请求处理设备及键值查询系统。在该查询请求方法中,在查询请求处理设备创建第一线程‑第二线程对,利用第一线程对所接收的键值查询请求进行处理得到IO查询请求并提供给操作系统实现IO查询,并且利用第二线程对操作系统的IO查询结果进行处理并返回给查询请求发起设备。在进行数据查询请求处理时,第一线程和第二线程异步执行,并且共用同一查询上下文池和同一IO查询请求队列。CN113360525ACN113360525A权利要求书1/3页1.一种用于处理键值查询请求的方法,所述方法由查询请求处理设备执行,所述查询请求处理设备创建有第一线程‑第二线程对,所述方法包括:运行所述第一线程‑第二线程对中的第一线程来执行下述过程:响应于接收到来自查询请求发起设备的键值查询请求,从所述第一线程的查询上下文池中为所述键值查询请求分配第一查询上下文,所述键值查询请求的请求参数包括至少一个键;根据所述键值查询请求生成至少一个IO查询请求,每个键对应一个IO查询请求;为各个IO查询请求设置IO完成事件的回调函数;将所述键值查询请求的请求参数以及各个IO查询请求的回调函数保存在所述第一查询上下文中;以及将各个IO查询请求以及对应的回调函数提交给所述查询请求处理设备的操作系统中的与所述第二线程对应的IO查询请求队列,所述操作系统基于所述IO查询请求队列发起针对数据存储设备的IO查询,运行所述第二线程来执行下述过程:响应于所述第二线程接收到所述操作系统返回的IO完成事件,通过对应的回调函数处理所述IO完成事件中的IO查询数据,以将所得到的IO查询数据填充到键值查询响应消息中;在所有IO查询请求所对应的IO查询数据填充到所述键值查询响应消息中时,将所述键值查询响应消息返回给所述查询请求发起设备。2.如权利要求1所述的方法,其中,所述第一线程的处理过程与所述第二线程的处理过程异步执行。3.如权利要求1所述的方法,其中,所述第一线程与所述第二线程共用同一查询上下文池和同一IO查询请求队列。4.如权利要求1所述的方法,还包括:在接收到所有IO查询请求所对应的IO完成事件后,经由所述第二线程将分配给所述键值查询请求的第一查询上下文释放回所述查询上下文池。5.如权利要求1所述的方法,其中,所述第一线程‑第二线程对包括至少两个第一线程‑第二线程对,所述方法还包括:在经由所述第一线程从所述键值查询线程的查询上下文池中为所述键值查询请求分配所述查询上下文池中的最后一个查询上下文,并且在将对应的IO查询请求提交到所述IO查询请求队列后,将所述第一线程保持为阻塞状态,直到先前分配的第一查询上下文被释放回所述查询上下文池。6.如权利要求1所述的方法,其中,在所述查询请求发起设备所发起的键值查询请求包含的键数量超过预定值时,所述键值查询请求经过切分后发送给所述第一线程。7.如权利要求1所述的方法,其中,所分配的第一查询上下文的大小至少部分地根据所述键值查询请求所包含键的数量确定。8.如权利要求1所述的方法,其中,所述查询上下文池具有预定数目个查询上下文。9.如权利要求8所述的方法,其中,所述预定数目根据所述查询请求处理设备的计算能力、内存容量和/或所述数据存储设备的读写能力确定。2CN113360525A权利要求书2/3页10.如权利要求1所述的方法,其中,所述数据存储设备包括位于所述查询请求处理设备本地的数据存储装置或者位于所述查询请求处理设备远端的数据存储设备。11.如权利要求1到10中任一所述的方法,其中,所述方法应用于分布式键值查询系统,所述查询请求发起设备包括至少一个客户端设备,以及所述查询请求处理设备包括服务端设备。12.一种用于处理键值查询请求的查询请求处理装置,所述查询请求处理装置应用于查询请求处理设备,所述查询请求处理装置包括:线程创建单元,创建第一线程‑第二线程对;线程初始化单元,对所创建的第一线程和第二线程进行线程初始化,其中,在初始化所述第一