[发明专利]一种分布式存储中请求处理方法、系统、设备以及介质在审
申请号: | 202110353993.0 | 申请日: | 2021-04-01 |
公开(公告)号: | CN113126917A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 李杰 | 申请(专利权)人: | 山东英信计算机技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 杨帆;李红萧 |
地址: | 250101 山东省济南市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 存储 请求 处理 方法 系统 设备 以及 介质 | ||
1.一种分布式存储中请求处理方法,其特征在于,包括以下步骤:
创建多个包含读请求处理队列和写请求处理队列的主队列并确定每一个所述主队列与归置组的对应关系;
响应于接收到对存储对象的操作请求,确定所述存储对象对应的归置组;
根据所述操作请求的类型将所述操作请求落入与所述对应的归置组对应的所述主队列中的所述读请求处理队列或所述写请求处理队列中;
利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求。
2.如权利要求1所述的方法,其特征在于,确定所述存储对象对应的归置组,进一步包括:
创建与所述存储对象对应的时序列表;
针对所述操作请求按顺序生成对应的时序号并将所述时序号附加到所述操作请求中;
将所述时序号顺序添加到对应的所述时序列表中。
3.如权利要求2所述的方法,其特征在于,利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求,进一步包括:
响应于对所述操作请求进行处理,根据所述操作请求携带的时序号判断对应的所述时序列表中是否存在比所述时序号更靠前的时序号;
响应于存在,注册回调并暂停对所述操作请求的处理;
响应于所述更靠前的时序号对应的操作请求处理完毕,触发回调以继续对暂停处理的操作请求的处理。
4.如权利要求3所述的方法,其特征在于,继续对暂停处理的操作请求的处理,进一步包括:
判断所述暂停处理的操作请求所在的队列中是否存在空闲的线程;
响应于不存在,提高所述暂停处理的操作请求的优先级以优先处理所述暂停处理的操作请求;
响应于存在,直接对所述暂停处理的操作请求继续进行处理。
5.如权利要求1所述的方法,其特征在于,利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求,进一步包括:
创建线程池;
将所述线程池中若干个线程分别分配给每一个所述主队列。
6.如权利要求1所述的方法,其特征在于,确定每一个所述主队列与归置组的对应关系,进一步包括:
根据哈希算法确定每一个主队列与所述归置组的对应关系。
7.如权利要求1所述的方法,其特征在于,利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求,还包括:
响应于所述读请求处理队列或所述写请求队列中的若干个操作请求对应的所述存储对象相同,将所述若干个操作请求合并处理。
8.一种分布式存储中请求处理系统,其特征在于,包括:
创建模块,所述创建模块配置为创建多个包含读请求处理队列和写请求处理队列的主队列并确定每一个所述主队列与归置组的对应关系;
接收模块,所述接收模块配置为响应于接收到对存储对象的操作请求,确定所述存储对象对应的归置组;
分组模块,所述分组模块配置为根据所述操作请求的类型将所述操作请求落入与所述对应的归置组对应的所述主队列中的所述读请求处理队列或所述写请求处理队列中;
处理模块,所述处理模块配置为利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-7任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-7任意一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东英信计算机技术有限公司,未经山东英信计算机技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110353993.0/1.html,转载请声明来源钻瓜专利网。