G06F3/06 H04L29/08
1.一种云存储系统并发读写请求的控制装置,其特征在于,包括:
客户端:用于接收用户的读写请求,并将接收的读写请求以消息的形式发送至存储节 点;
存储节点:用于存储数据,并接收和处理客户端提交的读写请求;
所述存储节点包括:
请求数节流阀:用于控制存储节点上正在处理的客户端读写请求的总数量;
数据量节流阀:用于控制存储节点上正在处理的客户端读写请求的总数据量;
所述存储节点根据向请求数节流阀申请请求数和向数据量节流阀申请数据量控制存 储节点上正在处理的读写请求的并发数量和并发数据量。
2.根据权利要求1所述的云存储系统并发读写请求的控制装置,其特征在于,所述存储 节点还包括:
请求接收模块:用于接收客户端提交的读写请求,在接收读写请求的过程中,向请求数 节流阀申请请求数和向数据量节流阀申请数据量;
请求处理模块:用于处理请求接收模块接收的读写请求;
请求响应模块:用于向客户端发回响应,在发回响应后,将请求接收模块申请的请求数 和数据量分别归还给请求数节流阀、数据量节流阀。
3.根据权利要求1或2所述的云存储系统并发读写请求的控制装置,其特征在于,存储 节点以异步方式处理接收的读写请求。
4.一种根据权利要求1所述装置控制并发读写请求的方法,其特征在于,存储节点发现 客户端有读写请求到来时,有以下处理操作:
S1:向请求数节流阀申请请求数;
S2:若申请成功,则进入步骤S3;否则堵塞该读写请求;
S3:向数据量节流阀申请数据量;
S4:若申请成功,则进入步骤S5;否则堵塞该读写请求;
S5:接收该读写请求;
S6:处理该读写请求;
S7:向客户端发回响应;
S8:将步骤S3申请的数据量归还给数据量节流阀;
S9:将步骤S1申请的请求数归还给请求数节流阀。
5.根据权利要求4所述的控制并发读写请求的方法,其特征在于,步骤S3还包括:接收 该读写请求的消息头部,并从中解析处需要读写的数据量。
6.根据权利要求5所述的控制并发读写请求的方法,其特征在于,步骤S5所述接收该读 写请求是指接收该读写请求的消息体。
7.根据权利要求4、5或6所述的控制并发读写请求的方法,其特征在于,步骤S6中以异 步方式处理该读写请求。
本发明涉及读写请求处理领域,具体涉及一种云存储系统并发读写请求的控制装 置及方法。
并发控制是指控制一个存储节点上正在处理的请求的总数和总数据量,其作用类 似网络流量控制(network traffic control),目的是保证存储集的稳定运行。由于受到 系统软硬件资源的限制,每个存储节点的处理能力都是有限的。如果并发的请求数和数据 量超过了存储节点的处理能力,将会导致客户端堵塞、节点故障或崩溃、集不稳定等一系 列问题。
为解决上述问题,本发明提供一种云存储系统并发读写请求的控制装置及方法。
本发明的技术方案是:一种云存储系统并发读写请求的控制装置,包括:
客户端:用于接收用户的读写请求,并将接收的读写请求以消息的形式发送至存储节 点;
存储节点:用于存储数据,并接收和处理客户端提交的读写请求;
所述存储节点包括:
请求数节流阀:用于控制存储节点上正在处理的客户端读写请求的总数量;
数据量节流阀:用于控制存储节点上正在处理的客户端读写请求的总数据量;
所述存储节点根据向请求数节流阀申请请求数和向数据量节流阀申请数据量控制存 储节点上正在处理的读写请求的并发数量和并发数据量。
进一步地,所述存储节点还包括:
请求接收模块:用于接收客户端提交的读写请求,在接收读写请求的过程中,向请求数 节流阀申请请求数和向数据量节流阀申请数据量;
请求处理模块:用于处理请求接收模块接收的读写请求;
请求响应模块:用于向客户端发回响应,在发回响应后,将请求接收模块申请的请求数 和数据量分别归还给请求数节流阀、数据量节流阀。
进一步地,存储节点以异步方式处理接收的读写请求。
一种控制并发读写请求的方法,存储节点发现客户端有读写请求到来时,有以下 处理操作:
S1:向请求数节流阀申请请求数;
S2:若申请成功,则进入步骤S3;否则堵塞该读写请求;
S3:向数据量节流阀申请数据量;
S4:若申请成功,则进入步骤S5;否则堵塞该读写请求;
S5:接收该读写请求;
S6:处理该读写请求;
S7:向客户端发回响应;
S8:将步骤S3申请的数据量归还给数据量节流阀;
S9:将步骤S1申请的请求数归还给请求数节流阀。
进一步地,步骤S3还包括:接收该读写请求的消息头部,并从中解析处需要读写的 数据量。
进一步地,步骤S5所述接收该读写请求是指接收该读写请求的消息体。
进一步地,步骤S6中以异步方式处理该读写请求。
本发明提供的云存储系统并发读写请求的控制装置及方法,通过节流阀机制,能 够控制每个存储节点上并发处理的请求数和数据量,避免因同时处理过多请求而导致的各 种问题,保证存储集高效而稳定地运行。
图1是本发明具体实施例结构示意图。
图2是本发明具体实施例方法流程图。
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明 的解释,而本发明并不局限于以下实施方式。
如图1所示,本发明提供的云存储系统并发读写请求的控制装置,包括客户端和存 储节点。客户端可以有一个或多个,存储节点可有多个,多个存储节点组成存储集。
客户端用于接收用户的读写请求,并将接收的读写请求以消息的形式发送至存储 节点。
存储节点用于存储数据,并接收和处理客户端提交的读写请求。存储节点以异步 方式处理读写请求。
在每个存储节点上都设置请求数节流阀和数据量节流阀,请求数节流阀用于控制 存储节点上正在处理的客户端读写请求的总数量,数据量节流阀用于控制存储节点上正在 处理的客户端读写请求的总数据量。存储节点在处理请求之前,先向节流阀申请请求数和 数据量;在完成处理后,再将先前申请的请求数和数据量交还给节流阀。存储节点根据向请 求数节流阀申请请求数和向数据量节流阀申请数据量控制存储节点上正在处理的读写请 求的并发数量和并发数据量。
存储节点还包括:请求接收模块、请求处理模块和请求响应模块。
请求接收模块:用于接收客户端提交的读写请求,在接收读写请求的过程中,向请 求数节流阀申请请求数和向数据量节流阀申请数据量。
请求处理模块:用于处理请求接收模块接收的读写请求。
请求响应模块:用于向客户端发回响应,在发回响应后,将请求接收模块申请的请 求数和数据量分别归还给请求数节流阀、数据量节流阀。
如图2所示,存储节点发现客户端有读写请求到来时,有以下处理操作:
S1:向请求数节流阀申请请求数;
S2:若申请成功,则进入步骤S3;否则堵塞该读写请求;
S3:向数据量节流阀申请数据量;
S4:若申请成功,则进入步骤S5;否则堵塞该读写请求;
S5:接收该读写请求;
S6:处理该读写请求;
S7:向客户端发回响应;
S8:将步骤S3申请的数据量归还给数据量节流阀;
S9:将步骤S1申请的请求数归还给请求数节流阀。
步骤S3还包括:接收该读写请求的消息头部,并从中解析处需要读写的数据量。步 骤S5接收该读写请求是指接收该读写请求的消息体。
步骤S6中以异步方式处理该读写请求。
步骤S2中申请成功是指请求数节流阀有可用请求数,若请求数节流阀没有可用请 求数,则申请不成功。步骤S4申请成功是指数据量有可用数据量,若数据量节流阀没有可用 数据量,则申请不成功。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的 技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和 润饰,都应落在本发明的保护范围内。
本文发布于:2023-04-14 19:02:08,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86792.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |