[发明专利]一种分布式存储中请求处理方法、系统、设备以及介质在审
申请号: | 202110353993.0 | 申请日: | 2021-04-01 |
公开(公告)号: | CN113126917A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 李杰 | 申请(专利权)人: | 山东英信计算机技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 杨帆;李红萧 |
地址: | 250101 山东省济南市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 存储 请求 处理 方法 系统 设备 以及 介质 | ||
本发明公开了一种分布式存储中请求处理方法,包括以下步骤:创建多个包含读请求处理队列和写请求处理队列的主队列并确定每一个所述主队列与归置组的对应关系;响应于接收到对存储对象的操作请求,确定所述存储对象对应的归置组;根据所述操作请求的类型将所述操作请求落入与所述对应的归置组对应的所述主队列中的所述读请求处理队列或所述写请求处理队列中;利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明实施例提出的方案通过读写队列分离设计,能够并行处理读写请求,减少队列中读写请求的相互影响。
技术领域
本发明涉及分布式存储领域,具体涉及一种分布式存储中请求处理方法、系统、设备以及存储介质。
背景技术
分布式存储一般设计成随着节点的增长对外的性能呈现拟线性增长的现象,尤其在纯读,纯写情况下。纯写一般都采用异步方式,连续读的话也会存在预读,读写不分离的情况影响不大。但是在HPC领域存在大量无规律的读写混合应用,而随机读在缓存中命中的概率较低,大部分需要从HDD盘上进行读取,如果在读请求前面面临很多写的操作,则存在队列等待消耗,造成读时延高。在HPC领域一个作业持续时间很长,则整体表现作业效率低下。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种分布式存储中请求处理方法,包括以下步骤:
创建多个包含读请求处理队列和写请求处理队列的主队列并确定每一个所述主队列与归置组的对应关系;
响应于接收到对存储对象的操作请求,确定所述存储对象对应的归置组;
根据所述操作请求的类型将所述操作请求落入与所述对应的归置组对应的所述主队列中的所述读请求处理队列或所述写请求处理队列中;
利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求。
在一些实施例中,确定所述存储对象对应的归置组,进一步包括:
创建与所述存储对象对应的时序列表;
针对所述操作请求按顺序生成对应的时序号并将所述时序号附加到所述操作请求中;
将所述时序号顺序添加到对应的所述时序列表中。
在一些实施例中,利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求,进一步包括:
响应于对所述操作请求进行处理,根据所述操作请求携带的时序号判断对应的所述时序列表中是否存在比该时序号更靠前的时序号;
响应于存在,注册回调并暂停对所述操作请求的处理;
响应于所述更靠前的时序号对应的操作请求处理完毕,触发回调以继续对暂停处理的操作请求的处理。
在一些实施例中,继续对暂停处理的操作请求的处理,进一步包括:
判断所述暂停处理的操作请求所在的队列中是否存在空闲的线程;
响应于不存在,提高所述暂停处理的操作请求的优先级以优先处理所述暂停处理的操作请求;
响应于存在,直接对所述暂停处理的操作请求继续进行处理。
在一些实施例中,利用多个线程分别独立处理所述读请求处理队列和所述写请求队列中的操作请求,进一步包括:
创建线程池;
将所述线程池中若干个线程分别分配给每一个所述主队列。
在一些实施例中,确定每一个所述主队列与归置组的对应关系,进一步包括:
根据哈希算法确定每一个主队列与所述归置组的对应关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东英信计算机技术有限公司,未经山东英信计算机技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110353993.0/2.html,转载请声明来源钻瓜专利网。