CN107422986A - 一种云存储系统并发读写请求的控制装置及方法 - Google Patents
一种云存储系统并发读写请求的控制装置及方法 Download PDFInfo
- Publication number
- CN107422986A CN107422986A CN201710326309.3A CN201710326309A CN107422986A CN 107422986 A CN107422986 A CN 107422986A CN 201710326309 A CN201710326309 A CN 201710326309A CN 107422986 A CN107422986 A CN 107422986A
- Authority
- CN
- China
- Prior art keywords
- request
- read
- write requests
- choke valve
- memory node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种云存储系统并发读写请求的控制装置及方法,包括:客户端接收用户的读写请求,并将接收的读写请求以消息的形式发送至存储节点;存储节点存储数据,并接收和处理客户端提交的读写请求;存储节点包括:控制存储节点上正在处理的客户端读写请求的总数量的请求数节流阀,控制存储节点上正在处理的客户端读写请求的总数据量的数据量节流阀;存储节点根据向请求数节流阀申请请求数和向数据量节流阀申请数据量控制存储节点上正在处理的读写请求的并发数量和并发数据量。本发明避免因同时处理过多请求而导致的各种问题,保证存储集群高效而稳定地运行。
Description
技术领域
本发明涉及读写请求处理领域,具体涉及一种云存储系统并发读写请求的控制装置及方法。
背景技术
并发控制是指控制一个存储节点上正在处理的请求的总数和总数据量,其作用类似网络流量控制(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申请成功是指数据量有可用数据量,若数据量节流阀没有可用数据量,则申请不成功。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (7)
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中以异步方式处理该读写请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710326309.3A CN107422986A (zh) | 2017-05-10 | 2017-05-10 | 一种云存储系统并发读写请求的控制装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710326309.3A CN107422986A (zh) | 2017-05-10 | 2017-05-10 | 一种云存储系统并发读写请求的控制装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107422986A true CN107422986A (zh) | 2017-12-01 |
Family
ID=60425548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710326309.3A Pending CN107422986A (zh) | 2017-05-10 | 2017-05-10 | 一种云存储系统并发读写请求的控制装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107422986A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718285A (zh) * | 2018-06-15 | 2018-10-30 | 北京奇艺世纪科技有限公司 | 云计算集群的流量控制方法、装置及服务器 |
CN109358977A (zh) * | 2018-08-21 | 2019-02-19 | 中国科学院信息工程研究所 | 一种应用于云存储冗余性验证的方法及系统 |
CN109885393A (zh) * | 2019-01-10 | 2019-06-14 | 华为技术有限公司 | 读写请求处理方法、装置、电子设备以及存储介质 |
CN111367631A (zh) * | 2019-07-12 | 2020-07-03 | 北京关键科技股份有限公司 | 一种基于多节点异步并发的高吞吐存储访问装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170400A (zh) * | 2010-07-22 | 2011-08-31 | 杨喆 | 一种防止Web网站访问拥塞的方法 |
CN103326951A (zh) * | 2013-06-25 | 2013-09-25 | 广东电网公司佛山供电局 | 电力通信网络的带宽控制方法及装置 |
CN105159609A (zh) * | 2015-08-31 | 2015-12-16 | 北京神州云科数据技术有限公司 | 一种基于虚拟磁盘层的io流控制方法及装置 |
CN106202509A (zh) * | 2016-07-21 | 2016-12-07 | 柳州龙辉科技有限公司 | 一种日志信息的处理方法 |
CN106412091A (zh) * | 2016-10-25 | 2017-02-15 | 广东欧珀移动通信有限公司 | 数据传输的控制方法、装置及系统 |
-
2017
- 2017-05-10 CN CN201710326309.3A patent/CN107422986A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170400A (zh) * | 2010-07-22 | 2011-08-31 | 杨喆 | 一种防止Web网站访问拥塞的方法 |
CN103326951A (zh) * | 2013-06-25 | 2013-09-25 | 广东电网公司佛山供电局 | 电力通信网络的带宽控制方法及装置 |
CN105159609A (zh) * | 2015-08-31 | 2015-12-16 | 北京神州云科数据技术有限公司 | 一种基于虚拟磁盘层的io流控制方法及装置 |
CN106202509A (zh) * | 2016-07-21 | 2016-12-07 | 柳州龙辉科技有限公司 | 一种日志信息的处理方法 |
CN106412091A (zh) * | 2016-10-25 | 2017-02-15 | 广东欧珀移动通信有限公司 | 数据传输的控制方法、装置及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718285A (zh) * | 2018-06-15 | 2018-10-30 | 北京奇艺世纪科技有限公司 | 云计算集群的流量控制方法、装置及服务器 |
CN108718285B (zh) * | 2018-06-15 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 云计算集群的流量控制方法、装置及服务器 |
CN109358977A (zh) * | 2018-08-21 | 2019-02-19 | 中国科学院信息工程研究所 | 一种应用于云存储冗余性验证的方法及系统 |
CN109358977B (zh) * | 2018-08-21 | 2020-12-22 | 中国科学院信息工程研究所 | 一种应用于云存储冗余性验证的方法及系统 |
CN109885393A (zh) * | 2019-01-10 | 2019-06-14 | 华为技术有限公司 | 读写请求处理方法、装置、电子设备以及存储介质 |
US11899939B2 (en) | 2019-01-10 | 2024-02-13 | Huawei Technologies Co., Ltd. | Read/write request processing method and apparatus, electronic device, and storage medium |
CN111367631A (zh) * | 2019-07-12 | 2020-07-03 | 北京关键科技股份有限公司 | 一种基于多节点异步并发的高吞吐存储访问装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200241613A1 (en) | Persistent reservations for virtual disk using multiple targets | |
CN107422986A (zh) | 一种云存储系统并发读写请求的控制装置及方法 | |
US11550819B2 (en) | Synchronization cache seeding | |
US10754588B2 (en) | Performing data operations in a storage area network | |
EP3671477B1 (en) | Solid-state drive with initiator mode | |
US7702742B2 (en) | Mechanism for enabling memory transactions to be conducted across a lossy network | |
CN110365604A (zh) | 储存设备及其队列管理方法 | |
CN102073461B (zh) | 输入输出请求调度方法、相关装置和存储阵列 | |
US11740812B2 (en) | Data storage device idle time processing | |
US7457845B2 (en) | Method and system for TCP/IP using generic buffers for non-posting TCP applications | |
CN108881348A (zh) | 服务质量控制方法、装置和存储服务器 | |
DE102020114142A1 (de) | Technologien für unterbrechungs-disassoziierte warteschlangenbildung für multi-warteschlangen-i/o-vorrichtungen | |
CN106662895A (zh) | 计算机设备和计算机设备数据读写的方法 | |
CN104486442B (zh) | 分布式存储系统的数据传输方法、装置 | |
EP3984198A1 (en) | Smart contract information redirect to updated version of smart contract | |
US20040193811A1 (en) | Shared receive queues | |
US10951732B2 (en) | Service processing method and device | |
US10289550B1 (en) | Method and system for dynamic write-back cache sizing in solid state memory storage | |
CN105335217B (zh) | 一种服务器静默方法与系统 | |
US10579310B2 (en) | System and method for reliably persisting storage writes at high speed | |
CN114021715A (zh) | 基于Tensorflow框架的深度学习训练方法 | |
US11494257B2 (en) | Efficient networking for a distributed storage system | |
CN105912477B (zh) | 一种目录读取的方法、装置及系统 | |
CN106325377B (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
US11144242B2 (en) | Distributed storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171201 |
|
RJ01 | Rejection of invention patent application after publication |