WO2021164164A1 - 一种存储服务质量控制方法、装置、设备及存储介质 - Google Patents

一种存储服务质量控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2021164164A1
WO2021164164A1 PCT/CN2020/097970 CN2020097970W WO2021164164A1 WO 2021164164 A1 WO2021164164 A1 WO 2021164164A1 CN 2020097970 W CN2020097970 W CN 2020097970W WO 2021164164 A1 WO2021164164 A1 WO 2021164164A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
ops
target
request
server
Prior art date
Application number
PCT/CN2020/097970
Other languages
English (en)
French (fr)
Inventor
梁珂铭
李朋辉
胡永刚
Original Assignee
苏州浪潮智能科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2021164164A1 publication Critical patent/WO2021164164A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Definitions

  • the present invention relates to the field of distributed storage technology, and more specifically, to a storage service quality control method, device, equipment and computer-readable storage medium of a distributed object storage cluster.
  • a distributed object storage cluster is a server group composed of multiple object storage servers, which is used to handle a large number of high-concurrency storage service requests.
  • Distributed storage has the advantages of high reliability, high availability, fast access, and easy expansion.
  • QoS storage quality of service
  • the storage quality of service (QoS) algorithm is an algorithm used to control the processing speed of different users and different types of requests. This algorithm can ensure that users can obtain resources fairly according to rules and ensure the stable operation of servers.
  • the prior art has a variety of algorithms for realizing storage QoS, such as token bucket algorithm and leaky bucket algorithm, but each of the above algorithms has certain limitations. It can only realize the speed limit function and cannot target the quality of storage service for each user. Take control.
  • the purpose of the present invention is to provide a storage service quality control method, device, equipment and computer-readable storage medium of a distributed object storage cluster, so as to control the storage service quality of each user.
  • the present invention provides a storage service quality control method of a distributed object storage cluster, based on each server of the distributed object storage cluster, the method includes:
  • the total OPS is: the sum of the number of requests processed by the target user per second of other servers in the distributed object storage cluster except this server;
  • the total OPS and OPS setting values are used to determine the processed time of the target request, and respond to the target request at the processed time.
  • the method before receiving the target request of the target user, the method further includes:
  • the OPS is the number of requests processed by the server per second
  • the OPS of this server is sent to other servers in the distributed object storage cluster, so that each server in the object storage cluster calculates the total OPS of other servers.
  • the calculation of the OPS of each user on the server according to the number of user requests made by each user in each timing period includes:
  • the number of user requests in each timing period is obtained from the request number counter corresponding to each user, and the request number counter is used to count the number of user requests of the corresponding user in each timing period;
  • the OPS of each user on the server is calculated.
  • the timing period is adjusted according to the resource consumption of the server or the number of historical requests of each user.
  • the determining the processing time of the target request by using the total OPS and OPS setting values includes:
  • the time value determination rule includes:
  • V l_suml represents the OPS limit setting value
  • a storage service quality control device of a distributed object storage cluster is based on each server of the distributed object storage cluster, and the device includes:
  • the receiving module is used to receive the target request of the target user
  • the OPS determination module is used to determine the total OPS corresponding to the target request; the total OPS is: the sum of the number of requests processed by the target user per second of other servers in the distributed object storage cluster except this server;
  • a time determination module configured to use the total OPS and OPS setting values to determine the processed time of the target request
  • the processing module is used to respond to the target request at the processed time.
  • this program also includes:
  • the OPS calculation module is used to calculate the OPS of each user on the server according to the number of user requests made by each user in each timing period; the OPS is the number of requests processed by the server per second;
  • the sending module is used to send the OPS of this server to other servers in the distributed object storage cluster, so that each server in the object storage cluster calculates the total OPS of other servers.
  • the OPS calculation module includes:
  • the quantity obtaining unit is used to obtain the number of user requests in each time period from the request number counter corresponding to each user when the current time period is reached, and the request number counter is used to count the number of user requests in each time period. Number of user requests;
  • the calculating unit is configured to calculate the OPS of each user on the server according to the timing period and the number of user requests of each user.
  • a storage service quality control device of a distributed object storage cluster including:
  • the memory is used to store a computer program; the processor is used to implement the steps of the storage service quality control method when the computer program is executed.
  • a computer-readable storage medium having a computer program stored on the computer-readable storage medium, and when the computer program is executed by a processor, realizes the steps of the storage service quality control method described above.
  • the storage service quality control method of a distributed object storage cluster is based on each server of the distributed object storage cluster.
  • the method includes: receiving a target request from a target user; determining and The total OPS corresponding to the target request; the total OPS is: the sum of the number of requests processed by the target user per second of other servers in the distributed object storage cluster except this server; the total OPS and OPS setting values are used to determine the target request Processing time, and respond to the target request at the processed time.
  • each server in this application can understand the total OPS of each user of other servers in the distributed object storage cluster, so that each server can understand each user from a global perspective when processing user requests According to the total OPS of the user in other servers, the waiting time of the target request is determined, so as to realize the control of the user’s request processing speed from the perspective of the cluster and realize the control of the storage service quality of each user.
  • the invention also discloses a storage service quality control device, equipment and computer-readable storage medium of a distributed object storage cluster, which can also achieve the above technical effects.
  • FIG. 1 is a schematic flowchart of a storage service quality control method of a distributed object storage cluster disclosed in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of the overall flow of the system disclosed in an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a storage service quality control flow diagram of a distributed object storage cluster disclosed in an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a storage service quality control device of a distributed object storage cluster disclosed in an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a storage service quality control device of a distributed object storage cluster disclosed in an embodiment of the present invention.
  • the embodiment of the present invention discloses a storage service quality control method, device, equipment and computer-readable storage medium of a distributed object storage cluster, so as to control the storage service quality of each user.
  • an embodiment of the present invention provides a storage service quality control method for a distributed object storage cluster. Based on each server of the distributed object storage cluster, the method includes:
  • the target user is a user who sends any request.
  • a request sent by the target user is taken as an example to illustrate the solution.
  • the request sent by the target user is a target request.
  • the target request sent by the target user may be a request for storing data sent by the target user to the server, a request for obtaining data, or other requests for obtaining server services, which are not specifically limited here.
  • the target user before receiving the target request of the target user, it also includes: calculating the OPS of each user on the server according to the number of user requests of each user in each timing period; OPS is the number of requests processed by the server per second ; Send the OPS of this server to other servers in the distributed object storage cluster, so that each server in the object storage cluster calculates the total OPS of other servers.
  • each server needs to obtain the number of user requests made by each user in each timing period, and then calculate the OPS (Operation per second) of each user on the server.
  • each server can calculate the OPS of each user in the server. Further, in order for the server to understand the number of user requests from a global perspective, each server needs to send each user's OPS to the distributed object Store other servers in the cluster, so that each server in the cluster can obtain the OPS of each user of other servers, and then each server can calculate the OPS of each user based on the OPS of the same user of other servers. Total OPS. Therefore, after the application receives the target request of the target user, it can determine the total OPS corresponding to the target request from the calculated total OPS of each user.
  • S103 Determine the processed time of the target request by using the total OPS and OPS setting values, and respond to the target request at the processed time.
  • each server in this application calculates the OPS of each user, it will send the data to other servers in the cluster.
  • the server in the cluster receives the OPS information of each user sent by other servers, calculates the total OPS of each user in the entire cluster system for a period of time, and then controls the OPS speed of the server according to the OPS of the cluster and the OPS setting value.
  • the OPS setting value includes the OPS reserved setting value V r_suml , the OPS limit setting value V l_suml , and the OPS weight setting value V w_suml .
  • this application uses the total OPS and OPS setting values to determine the processed time of the target request, it specifically includes: obtaining the reserved time value and the limited time of the last request adjacent to the target request Value and weight time value; obtain the target reserved time value, target limit time value, and target weight time value of the target request through the time value determination rule to determine the processing time of the target request;
  • the time value determination rule includes:
  • V l_suml represents the OPS limit setting value
  • this solution improves the original dmclock algorithm to obtain the above formula (1), formula (2), and formula (3), and calculates the target reserved time value of the target request through formula (1), through formula (2) Calculate the target limit time value of the target request, calculate the target weight time value of the target request by formula (3), and determine the processed time of the target request through the target reserved time value, target limit time value and target weight time value.
  • R represents that the system should process the request no less than this time.
  • L represents that the request cannot be processed earlier than L.
  • W represents Between L time and R time period, the system will determine which request should be processed according to the size of W time. Take formula (1) as an example for illustration: compare the calculated target reserved time value of the rth request with the current time. If it is less than the current time, the target request should be processed immediately; if it is greater than the current time , The target request is processed no later than the calculated target reservation time Through the calculation of the target reserved time value, it can be ensured that the user request is processed no later than a certain time, so as to achieve the effect of the server reserving resources for the user.
  • the OPS setting value in this solution can be set differently according to the different business needs of the system: First, different OPS setting values can be set according to the importance of the user, and high-level users enjoy a larger OPS setting value and enjoy More system services. Second, you can also limit based on different service request types. For example, in object storage, the operation of listing objects in the bucket is very time-consuming.
  • the OPS setting value for this type of operation can be set lower to save system resources. , To ensure that other more important requests are processed in a timely manner. Third, to protect the system, limit the total OPS setting value of the cluster, and set the total setting value of all users not to be greater than the total setting value of the cluster to prevent the server from crashing and downtime when the system is under high load.
  • FIG 2 is a schematic diagram of the overall process of the system provided by the embodiment of the present invention. It can be seen from this figure that this solution receives OPS values sent by other servers in the cluster through the statistics module, and after calculating the total OPS value, it will be combined with the total OPS value of the cluster.
  • the limit value adjusts the OPS setting value of this server, and the current limiting module adjusts the processing time of each request according to the determined OPS setting value to realize the current limit of the request, and the real-time OPS number processed by this server is sent to the other clusters through the statistics sending module Server sent.
  • each server in this application can understand the total OPS of each user of other servers in the distributed object storage cluster, so that each server can understand each user's request from a global perspective when processing user requests.
  • the number of global requests for a user, and the waiting time of the target request is determined according to the total OPS of the user on other servers, so as to control the processing speed of the user's request from the perspective of the cluster, and realize the control of the storage service quality of each user , To achieve the effect of controlling the OPS of this cluster.
  • the OPS of each user on the server is calculated according to the number of user requests made by each user in each timing period, including:
  • the number of user requests in each timing period is obtained from the request number counter corresponding to each user, and the request number counter is used to count the number of user requests of the corresponding user in each timing period;
  • the timing period and the number of user requests of each user calculate the OPS of each user in the server; wherein, the timing period is adjusted according to the resource consumption of the server or the number of historical requests of each user.
  • this application needs to allow each cluster server to count the OPS of each user. Therefore, in this application, a request count counter is established for each user.
  • the request count counter corresponding to the user in the server will increase by one. In this way, the number of user requests of different users can be counted through different request number counters within the timing period.
  • the server will read the count of the counter every certain time (for example, 1 second), which is the time set by the timing period. After reading the count of the counter, clear the counter, and calculate the number of OPS that the server has processed the user's request per second based on the read counter number and the interval time.
  • the timing period in this application can be adjusted according to the resource consumption of the server or the number of historical requests of each user; among them, the resource consumption refers to the consumption of CPU processing power and network bandwidth.
  • the resource consumption is too large.
  • the timing period can be appropriately increased. If the resource consumption is not large, at this time, in order to reduce the delay of OPS, the timing period can be appropriately reduced.
  • the first is to statically set the timing period. The timing period is determined by testing the impact of different timing periods on the total processing capacity of the system. For example, when the timing period is set to 5 seconds, the total processing capacity of the cluster It will drop by 20%.
  • the second scheme is to dynamically adjust the counting cycle scheme, that is, to dynamically adjust the counting cycle scheme according to the system load.
  • the specific method is: when the server sends its own request number, it records a timestamp T1 (current system time) and then sends it to other servers. After other servers receive the request number message, they will then obtain the current system time T2.
  • T2 and The time difference of T1 is far greater than the normal time, indicating that the CPU processing capacity and network transmission capacity of the system have been affected. At this time, the counting period can be increased and the system load can be reduced. Conversely, the counting period can be reduced.
  • the timing period when determining the timing period, it can also be adjusted according to the number of historical requests. If the user has too many historical requests, in order to avoid the problem of inaccurate OPS caused by too long timing period and excessive delay, at this time When the number of historical requests of the user is greater than a predetermined value, the timing period can be reduced, and if the number of historical requests of the user is less than the predetermined value, the timing period can be increased. Further, this application can also distinguish the importance of users. If a request sent by an important user is received, in order to ensure the accuracy of the total OPS at this time, it can send a request to other servers in the cluster to obtain the latest OPS data. Calculate the latest total OPS based on the latest OPS data sent by other servers, and get the pending time of the request.
  • FIG. 3 is a schematic diagram of a storage service quality control flow diagram of a distributed object storage cluster disclosed in an embodiment of the invention.
  • a request counter established for each user.
  • the counter to which the user belongs is incremented by 1
  • the request counter of each user is periodically read through the statistics module And clear the counter to enter the next timing period.
  • the statistics module counts the number of processing requests of each user in the period, it will calculate the OPS of each user and send it to other servers in the cluster through the sending module.
  • the server receives OPS data from other servers through the receiving module, and summarizes the total OPS number of each user in the cluster through the cluster total request number module.
  • the request When a user sends a request, the request will be distributed through the DNS module. According to the total OPS number of the user in the cluster and the dmclock algorithm, the time that the request should be processed on the server is calculated. When the time that should be processed is reached, the processing module will Process the request.
  • the service quality control solution of the distributed object storage cluster proposed in this application can effectively control the service quality of the cluster and solve the problem that the OPS of the cluster is difficult to limit; and this solution can be adjusted by adjusting the timing period. Adjust the execution frequency to control the number of requests per second statistical information sent in the cluster, thereby effectively reducing the impact of inter-cluster communication on server performance.
  • control device provided by the embodiment of the present invention will be introduced below, and the control device described below and the control method described above may refer to each other.
  • a storage service quality control device for a distributed object storage cluster is based on each server of the distributed object storage cluster, and the device includes:
  • the receiving module 100 is used to receive a target request from a target user
  • the OPS determining module 200 is configured to determine the total OPS corresponding to the target request; the total OPS is: the sum of the number of requests processed by the target user per second of other servers in the distributed object storage cluster except this server;
  • the time determining module 300 is used to determine the processed time of the target request by the total OPS and OPS setting values;
  • the processing module 400 is configured to respond to the target request at the processed time.
  • this program also includes:
  • the OPS calculation module is used to calculate the OPS of each user on the server according to the number of user requests made by each user in each timing period; the OPS is the number of requests processed by the server per second;
  • the sending module is used to send the OPS of this server to other servers in the distributed object storage cluster, so that each server in the object storage cluster calculates the total OPS of other servers.
  • the OPS calculation module includes:
  • the quantity obtaining unit is used to obtain the number of user requests in each time period from the request number counter corresponding to each user when the current time period is reached, and the request number counter is used to count the number of user requests in each time period. Number of user requests;
  • the calculating unit is configured to calculate the OPS of each user on the server according to the timing period and the number of user requests of each user.
  • the timing period is adjusted according to the resource consumption of the server or the number of historical requests of each user.
  • the embodiment of the invention also discloses a storage service quality control device of a distributed object storage cluster, which includes:
  • Memory used to store computer programs
  • the processor is configured to implement the steps of the storage service quality control method described in any of the foregoing method embodiments when the computer program is executed.
  • FIG. 5 is a schematic structural diagram of a storage service quality control device for a distributed object storage cluster disclosed in an embodiment of the present invention.
  • the device can be a PC (Personal Computer) or a smart phone , Tablet computers, palmtop computers, portable computers and other terminal equipment.
  • the device may include a memory 11, a processor 12, and a bus 13.
  • the memory 11 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, and the like.
  • the memory 11 may be an internal storage unit of the device, such as a hard disk of the device.
  • the memory 11 may also be an external storage device of the device, such as a plug-in hard disk equipped on the device, a Smart Media Card (SMC), a Secure Digital (SD) card, and a flash memory card. (Flash Card) and so on.
  • the memory 11 may also include both an internal storage unit of the device and an external storage device.
  • the memory 11 can be used not only to store application software and various data installed in the device, such as program codes for executing the above-mentioned control method, etc., but also to temporarily store data that has been output or will be output.
  • the processor 12 may be a central processing unit (CPU), controller, microcontroller, microprocessor or other data processing chip in some embodiments, and is used to run the program code or processing stored in the memory 11 Data, such as program code to execute the above-mentioned control method, etc.
  • CPU central processing unit
  • controller microcontroller
  • microprocessor or other data processing chip in some embodiments, and is used to run the program code or processing stored in the memory 11 Data, such as program code to execute the above-mentioned control method, etc.
  • the bus 13 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is used to represent in FIG. 5, but it does not mean that there is only one bus or one type of bus.
  • the device may also include a network interface 14.
  • the network interface 14 may optionally include a wired interface and/or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which is usually used to communicate between the device and other electronic devices. Establish a communication connection.
  • the device may also include a user interface.
  • the user interface may include a display (Display) and an input unit such as a keyboard (Keyboard).
  • the optional user interface may also include a standard wired interface and a wireless interface.
  • the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, etc.
  • the display can also be appropriately called a display screen or a display unit, which is used to display the information processed in the device and to display a visualized user interface.
  • Figure 5 only shows the device with components 11-14. Those skilled in the art can understand that the structure shown in Figure 5 does not constitute a limitation on the device, and may include fewer or more components than shown. Or combine certain components, or different component arrangements.
  • the embodiment of the present invention also discloses a computer-readable storage medium having a computer program stored on the computer-readable storage medium, and when the computer program is executed by a processor, the storage service quality control described in any of the foregoing method embodiments is implemented Method steps.
  • the storage medium may include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc., which can store program code medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种存储服务质量控制方法、装置、设备及存储介质,包括:接收目标用户的目标请求;确定与目标请求对应的总OPS;利用总OPS及OPS设置值确定目标请求的被处理时间,并在被处理时间响应目标请求。可见,本申请中的每个服务器均可了解分布式对象存储集群内其他服务器的每个用户的总OPS,从而使每个服务器在处理用户的请求时,均可从全局的角度了解每个用户的全局请求数量,并根据该用户在其他服务器的总OPS确定目标请求的待处理时间,从而实现对每个用户的存储服务质量进行控制。

Description

一种存储服务质量控制方法、装置、设备及存储介质
本申请要求于2020年02月20日提交中国专利局、申请号为202010105094.4、发明名称为“一种存储服务质量控制方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及分布式存储技术领域,更具体地说,涉及一种分布式对象存储集群的存储服务质量控制方法、装置、设备及计算机可读存储介质。
背景技术
分布式对象存储集群为由多个对象存储服务器组成的服务器组,用来处理海量的高并发的存储服务请求。分布式存储具有高可靠性,高可用性,快速存取,易于扩展等优点。在存储服务器系统中,当多个用户同时高并发向服务器发起请求服务时,就会出现服务器资源竞争,出现一些用户占用过多服务器,一些用户得不到服务器资源的问题。存储服务质量QoS(Quality of Service)算法是用来控制不同用户和不同类型请求处理速度的算法,通过该算法可保证用户根据规则公平的获取资源,保证服务器稳定运行。
现有技术有多种实现存储QoS的算法,比如令牌桶算法和漏桶算法,但上述每种算法都有一定的局限性,只能实现限速功能,无法针对每个用户的存储服务质量进行控制。
发明内容
本发明的目的在于提供一种分布式对象存储集群的存储服务质量控制方法、装置、设备及计算机可读存储介质,以实现对每个用户的存储服务质量进行控制。
为实现上述目的,本发明提供的一种分布式对象存储集群的存储服务质量控制方法,基于分布式对象存储集群的每个服务器,所述方法包括:
接收目标用户的目标请求;
确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,并在所述被处理时间响应所述目标请求。
其中,所述接收目标用户的目标请求之前,还包括:
根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
其中,所述根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS,包括:
若到达当前计时周期,则从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。其中,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
其中,所述利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,包括:
获取与所述目标请求相邻的上一次请求的预留时间值、限制时间值和权重时间值;
通过时间值确定规则获得所述目标请求的目标预留时间值、目标限制时间值、目标权重时间值,以确定所述目标请求的被处理时间;
所述时间值确定规则包括:
Figure PCTCN2020097970-appb-000001
其中,
Figure PCTCN2020097970-appb-000002
表示目标用户i的目标请求r的目标预留时间值,
Figure PCTCN2020097970-appb-000003
表示目标用户i的上一次请求r-1的预 留时间值,V r_suml表示OPS预留设置值,V other表示总OPS,t表示当前时间;
Figure PCTCN2020097970-appb-000004
其中,
Figure PCTCN2020097970-appb-000005
表示目标用户i的目标请求r的目标限制时间值,
Figure PCTCN2020097970-appb-000006
表示目标用户i的上一次请求r-1的限制时间值,V l_suml表示OPS限制设置值;
Figure PCTCN2020097970-appb-000007
其中,
Figure PCTCN2020097970-appb-000008
表示目标用户i的目标请求r的目标权重时间值,
Figure PCTCN2020097970-appb-000009
表示目标用户i的上一次请求r-1的权重时间值,V w_suml表示OPS权重设置值。
一种分布式对象存储集群的存储服务质量控制装置,基于分布式对象存储集群的每个服务器,所述装置包括:
接收模块,用于接收目标用户的目标请求;
OPS确定模块,用于确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
时间确定模块,用于利用所述总OPS及OPS设置值确定所述目标请求的被处理时间;
处理模块,用于在所述被处理时间响应所述目标请求。
其中,本方案还包括:
OPS计算模块,用于根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
发送模块,用于将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
其中,所述OPS计算模块包括:
数量获取单元,用于到达当前计时周期时,从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
计算单元,用于根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
一种布式对象存储集群的存储服务质量控制设备,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述的存储服务质量控制方法的步骤。
一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的存储服务质量控制方法的步骤。
通过以上方案可知,本发明实施例提供的一种分布式对象存储集群的存储服务质量控制方法,基于分布式对象存储集群的每个服务器,所述方法包括:接收目标用户的目标请求;确定与目标请求对应的总OPS;该总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;利用总OPS及OPS设置值确定目标请求的被处理时间,并在被处理时间响应目标请求。
可见,本申请中的每个服务器均可了解分布式对象存储集群内其他服务器的每个用户的总OPS,从而使每个服务器在处理用户的请求时,均可从全局的角度了解每个用户的全局请求数量,并根据该用户在其他服务器的总OPS确定目标请求的待处理时间,从而实现从集群角度对用户的请求处理速度进行控制,实现对每个用户的存储服务质量进行控制。
本发明还公开了一种分布式对象存储集群的存储服务质量控制装置、设备及计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制方法流程示意图;
图2为本发明实施例公开的系统整体流程示意图;
图3为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制流程示意图;
图4为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制装置结构示意图;
图5为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式对象存储集群的存储服务质量控制方法、装置、设备及计算机可读存储介质,以实现对每个用户的存储服务质量进行控制。
参见图1,本发明实施例提供的一种分布式对象存储集群的存储服务质量控制方法,基于分布式对象存储集群的每个服务器,所述方法包括:
S101、接收目标用户的目标请求;
需要说明的是,目标用户为发送任意请求的用户,在本申请中,以目标用户发送请求为例对本方案进行说明,相应的,该目标用户发送的请求为目标请求。对于该目标用户发送的目标请求,可以为目标用户向服务器 发送的存储数据的请求,获取数据的请求或其他获取服务器服务的请求,在此并不具体限定。
S102、确定与目标请求对应的总OPS;总OPS为分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
在本申请中,接收目标用户的目标请求之前,还包括:根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;OPS为本服务器每秒处理的请求数;将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使对象存储集群内的每个服务器计算其他服务器的总OPS。
需要说明的是,本申请接收到目标请求后,为了确定该目标请求的被处理时间,需要获取集群内其他服务器的每秒处理请求数之和。因此,本申请在接收目标用户的目标请求之前,每个服务器需要获取每个用户在每个计时周期的用户请求数量,然后计算每个用户在本服务器的OPS(Operation per second,每秒处理的请求数);可以理解的是,该计时周期是可调整的,例如:若该计时周期可以为10s,那么获取的用户请求数量为:每个服务器每10s获取的在这10s内的用户请求数,若在这10s内的用户请求数为20,则该用户在本服务器的OPS为20/10=2。
通过这种方式,每个服务器便可计算本服务器内每个用户的OPS,进一步,为了让服务器从全局的角度了解用户的请求数,需要每个服务器将每个用户的OPS发送至分布式对象存储集群内的其他服务器,这样便可让集群内的每个服务器均可获取其他服务器的每个用户的OPS,然后每个服务器便可根据其他服务器的同一用户的OPS,计算出每个用户的总OPS。因此,本申请接收到目标用户的目标请求后,便可从已经计算出的每个用户的总OPS,确定与该目标请求对应的总OPS。
S103、利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,并在所述被处理时间响应所述目标请求。
可以看出,本申请中每个服务器计算出每个用户的OPS后,会把该数据发送给集群内其他服务器。集群内服务器接收其他服务器发送来的每个用户的OPS信息,统计出整个集群系统当前一段时间每个用户的总OPS, 然后根据这个集群的OPS以及OPS设置值对该服务器的OPS速度进行控制,该OPS设置值包括OPS预留设置值V r_suml、OPS限制设置值V l_suml、OPS权重设置值V w_suml
需要说明的是,本申请利用所述总OPS及OPS设置值确定所述目标请求的被处理时间时,具体包括:获取与所述目标请求相邻的上一次请求的预留时间值、限制时间值和权重时间值;通过时间值确定规则获得所述目标请求的目标预留时间值、目标限制时间值、目标权重时间值,以确定所述目标请求的被处理时间;
所述时间值确定规则包括:
Figure PCTCN2020097970-appb-000010
其中,
Figure PCTCN2020097970-appb-000011
表示目标用户i的目标请求r的目标预留时间值,
Figure PCTCN2020097970-appb-000012
表示目标用户i的上一次请求r-1的预留时间值,V r_suml表示OPS预留设置值,V other表示总OPS,t表示当前时间;
Figure PCTCN2020097970-appb-000013
其中,
Figure PCTCN2020097970-appb-000014
表示目标用户i的目标请求r的目标限制时间值,
Figure PCTCN2020097970-appb-000015
表示目标用户i的上一次请求r-1的限制时间值,V l_suml表示OPS限制设置值;
Figure PCTCN2020097970-appb-000016
其中,
Figure PCTCN2020097970-appb-000017
表示目标用户i的目标请求r的目标权重时间值,
Figure PCTCN2020097970-appb-000018
表示目标用户i的上一次请求r-1的权重时间值,V w_suml表示OPS权重设置值。
可以理解的是,本方案通过对原dmclock算法进行改进,得到上述的公式(1)、公式(2)和公式(3),通过公式(1)计算目标请求的目标预留时间值,通过公式(2)计算目标请求的目标限制时间值,通过公式(3) 计算目标请求的目标权重时间值,通过目标预留时间值、目标限制时间值和目标权重时间值确定目标请求的被处理时间。
在公式(1)中,R代表系统应该不低于该时间对该请求进行处理,在公式(2)中,L代表该请求不能早于L时间被处理,在公式(3)中,W代表在L时间和R时间段中间,系统会根据W时间的大小来判断哪个请求应该被处理。在此以公式(1)为例进行说明:将计算出的第r次请求的目标预留时间值和当前时间做比较,假如小于当前时间,则该目标请求应该被立刻处理;假如大于当前时间,则该目标请求被处理的时间不迟于所计算出的目标预留时间
Figure PCTCN2020097970-appb-000019
通过目标预留时间值的计算,可以确保用户请求不迟于某个时间处理,从而达到服务器为用户预留资源的效果。
在上述公式中,为了避免
Figure PCTCN2020097970-appb-000020
Figure PCTCN2020097970-appb-000021
为零或为负数,设置公式中min{V r_suml-V other,0.1}、min{V l_suml-V other,0.1}、min{V w_suml-V other,0.1},以保证被除数不低于0.1。并且,本方案中的OPS设置值可以根据系统不同业务需求来进行不同的设置:第一,可以根据用户的重要级程度设置不同的OPS设置值,高等级用户享有更大的OPS设置值,享有更多的系统服务。第二,还可以基于不同的业务请求类型进行限制,如:对象存储中,列举桶内对象这个操作非常耗时,因此可将这一操作类型的OPS设置值设置低一点,以达到节省系统资源,保证其他更重要的请求得到及时处理的目的。第三,出于对系统的保护,对集群总OPS设置值进行限定,并设置所有用户的总设置值不大于集群总设置值,防止出现系统高负荷时导致服务器崩溃宕机的情景。
参见图2,为本发明实施例提供的系统整体流程示意图,通过该图可以看出,本方案通过统计模块接收集群内其他服务器发送的OPS值,并统计出总OPS值后,会结合集群总限制值调整本服务器的OPS设置值,限流模块根据确定的OPS设置值调整每个请求的处理时间,实现对请求的限流,并将本服务器处理的实时OPS数通过统计发送模块向集群其他服务器发送。
可以看出,本申请中的每个服务器均可了解分布式对象存储集群内其他服务器的每个用户的总OPS,从而使每个服务器在处理用户的请求时, 均可从全局的角度了解每个用户的全局请求数量,并根据该用户在其他服务器的总OPS确定目标请求的待处理时间,从而实现从集群角度对用户的请求处理速度进行控制,实现对每个用户的存储服务质量进行控制,达到控制这个集群OPS的效果。
基于上述实施例,在本实施例中,根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS,包括:
若到达当前计时周期,则从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS;其中,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
需要说明的是,本申请为了对每个用户的存储服务质量进行控制,需要让每一个集群服务器统计每个用户的OPS。因此在本申请中,针对每一个用户都建立一个请求数计数器,当一个用户请求到达被分发到集群内一个服务器时,该服务器内与该用户对应的请求数计数器就会加一,通过这种方式,便可在计时周期内,通过不同的请求数计数器统计不同用户的用户请求数量。并且,服务器每隔一定时间(比如1秒)都会读取计数器的计数,该时间为计时周期设定的时间。读取计数器的计数后,便对计数器清零,并根据读到的计数器数字和间隔时间算出每秒中服务器处理了该用户的请求数OPS。
可以理解的是,本申请中的计时周期可根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整;其中,资源消耗情况是指CPU处理能力消耗情况和网络带宽消耗情况,若服务器的资源消耗过大,这时为了减小资源消耗可适当增大计时周期,若资源消耗不大,这时为了减小OPS的延迟程度,可适当减小计时周期,在本方案中,可通过以下两种方案调整计时周期,第一种是静态设置计时周期方案,通过测试不同计时周期对系统总处理能力的影响,来确定计时周期,如:设置计时周期为5秒时, 集群的总处理能力会下降20%,这样的设置是不可接受的,但是设置计时周期为5分钟时,虽然集群的总处理能力下降0.5%,但是由于计时周期过大导致误差较大,OPS限制的误差在20%,这也是不可接受的。因此,可通过多次测试在5秒和5分钟之间找到合适的计时周期。第二种方案是动态调整计数周期方案,即根据系统负荷情况来动态调整计数周期方案。具体方法为:服务器在发送自身请求数时,记录一个时间戳T1(当前系统时间)后再发送给其他服务器,其他服务器收到这个请求数消息后,然后再获取当前系统时间T2,如果T2和T1的时间差已经远远大于了正常时间,说明系统的CPU处理能力和网络传输能力已经受到了影响,这时可增大计数周期,减少系统负荷。反之,可以减少计数周期。
另外,在确定计时周期时,还可根据历史请求数量进行调整,若用户的历史请求数量过多,这时为了避免计时周期过长、延迟程度过大而导致的OPS不准确的问题,这时可在用户的历史请求数量大于预定值时,减小计时周期,若用户的历史请求数量小于预定值,则增大计时周期。进一步的,本申请还可以对用户进行重要程度区分,如果接收到重要用户发送的请求,这时为了保证总OPS的准确定,可向集群内的其他服务器发送获取最新的OPS数据的请求,从而根据其他服务器发送的最新的OPS数据计算最新的总OPS,得到该请求的待处理时间。
参见图3,为发明实施例公开的一种分布式对象存储集群的存储服务质量控制流程示意图;在该图3中,以对象存储服务器1和对象存储服务器2这两个服务器为例对本方案进行说明;在这两个服务器中,包括为每一个用户建立的请求数计数器,在接收到用户的请求时,会对该用户所属的计数器加1,并通过统计模块定时读取各个用户的请求计数器的数值,并对计数器清零,进入下一个计时周期。该统计模块统计出该周期内每个用户的处理请求数后,会计算出每个用户的OPS,并通过发送模块发送给集群中其他服务器。服务器中通过接收模块接收其他服务器发来的OPS数据,通过集群总请求数模块汇总出集群内每个用户的总OPS数。
当用户发送请求时,会通过DNS模块分发请求,根据集群中该用户的总OPS数及dmclock算法,算出该请求在该服务器的应该被处理的时间,当到达应该被处理时间时,处理模块会对该请求进行处理。
综上可以看出,本申请提出的这种分布式对象存储集群的服务质量控制方案,可以有效的针对集群进行服务质量控制,解决集群OPS难以限制的问题;并且,本方案可以通过调整计时周期调整执行频率,来控制集群内发送每秒请求数统计信息的次数,从而有效降低集群间通信对服务器性能的影响。
下面对本发明实施例提供的控制装置进行介绍,下文描述的控制装置与上文描述的控制方法可以相互参照。
参见图4,本发明实施例提供的一种分布式对象存储集群的存储服务质量控制装置,基于分布式对象存储集群的每个服务器,所述装置包括:
接收模块100,用于接收目标用户的目标请求;
OPS确定模块200,用于确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
时间确定模块300,用于所述总OPS及OPS设置值确定所述目标请求的被处理时间;
处理模块400,用于在所述被处理时间响应所述目标请求。
其中,本方案还包括:
OPS计算模块,用于根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
发送模块,用于将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
其中,所述OPS计算模块包括:
数量获取单元,用于到达当前计时周期时,从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
计算单元,用于根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
其中,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
本发明实施例还公开了一种布式对象存储集群的存储服务质量控制设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意方法实施例所述的存储服务质量控制方法的步骤。
参见图5,为本发明实施例公开的一种布式对象存储集群的存储服务质量控制设备结构示意图;在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行上述控制方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing  Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行上述控制方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-14的设备,本领域技术人员可以理解的是,图5示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的存储服务质量控制方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

  1. 一种分布式对象存储集群的存储服务质量控制方法,其特征在于,基于分布式对象存储集群的每个服务器,所述方法包括:
    接收目标用户的目标请求;
    确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
    利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,并在所述被处理时间响应所述目标请求。
  2. 根据权利要求1所述的方法,其特征在于,所述接收目标用户的目标请求之前,还包括:
    根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
    将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
  3. 根据权利要求2所述的方法,其特征在于,所述根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS,包括:
    若到达当前计时周期,则从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
    根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
  4. 根据权利要求3所述的方法,其特征在于,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
  5. 根据权利要求1至4中任意一项所述的方法,其特征在于,所述利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,包括:
    获取与所述目标请求相邻的上一次请求的预留时间值、限制时间值和权重时间值;
    通过时间值确定规则获得所述目标请求的目标预留时间值、目标限制时间值、目标权重时间值,以确定所述目标请求的被处理时间;
    所述时间值确定规则包括:
    Figure PCTCN2020097970-appb-100001
    其中,
    Figure PCTCN2020097970-appb-100002
    表示目标用户i的目标请求r的目标预留时间值,
    Figure PCTCN2020097970-appb-100003
    表示目标用户i的上一次请求r-1的预留时间值,V r_suml表示OPS预留设置值,V other表示总OPS,t表示当前时间;
    Figure PCTCN2020097970-appb-100004
    其中,
    Figure PCTCN2020097970-appb-100005
    表示目标用户i的目标请求r的目标限制时间值,
    Figure PCTCN2020097970-appb-100006
    表示目标用户i的上一次请求r-1的限制时间值,V l_suml表示OPS限制设置值;
    Figure PCTCN2020097970-appb-100007
    其中,W i r表示目标用户i的目标请求r的目标权重时间值,W i r-1表示目标用户i的上一次请求r-1的权重时间值,V w_suml表示OPS权重设置值。
  6. 一种分布式对象存储集群的存储服务质量控制装置,其特征在于,基于分布式对象存储集群的每个服务器,所述装置包括:
    接收模块,用于接收目标用户的目标请求;
    OPS确定模块,用于确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
    时间确定模块,用于利用所述总OPS及OPS设置值确定所述目标请求的被处理时间;
    处理模块,用于在所述被处理时间响应所述目标请求。
  7. 根据权利要求6所述的装置,其特征在于,还包括:
    OPS计算模块,用于根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
    发送模块,用于将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
  8. 根据权利要求7所述的装置,其特征在于,所述OPS计算模块包括:
    数量获取单元,用于到达当前计时周期时,从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
    计算单元,用于根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
  9. 一种布式对象存储集群的存储服务质量控制设备,其特征在于,包括:
    存储器,用于存储计算机程序;
    处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的存储服务质量控制方法的步骤。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的存储服务质量控制方法的步骤。
PCT/CN2020/097970 2020-02-20 2020-06-24 一种存储服务质量控制方法、装置、设备及存储介质 WO2021164164A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010105094.4 2020-02-20
CN202010105094.4A CN111338575B (zh) 2020-02-20 2020-02-20 一种存储服务质量控制方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2021164164A1 true WO2021164164A1 (zh) 2021-08-26

Family

ID=71181658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/097970 WO2021164164A1 (zh) 2020-02-20 2020-06-24 一种存储服务质量控制方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111338575B (zh)
WO (1) WO2021164164A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760250A (zh) * 2022-03-18 2022-07-15 福建天晴数码有限公司 一种服务网关通过分层限流保障高可用的方案及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988355A (zh) * 2020-06-29 2020-11-24 汉海信息技术(上海)有限公司 限流方法、装置、服务器及服务器集群
CN114238037B (zh) * 2022-02-28 2022-04-29 北京金堤科技有限公司 高并发服务请求结果存储方法和装置、以及电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199141A1 (en) * 2014-01-14 2015-07-16 Netapp, Inc. Method and system for monitoring and analyzing quality of service in a metro-cluster
CN107133100A (zh) * 2017-04-26 2017-09-05 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
CN108881348A (zh) * 2017-05-15 2018-11-23 新华三技术有限公司 服务质量控制方法、装置和存储服务器
CN108989439A (zh) * 2018-07-26 2018-12-11 郑州云海信息技术有限公司 一种分布式存储服务质量控制方法及装置
CN109254726A (zh) * 2018-08-16 2019-01-22 华为技术有限公司 分布式存储系统中服务质量保障方法、控制节点及系统
CN111092959A (zh) * 2019-12-29 2020-05-01 浪潮电子信息产业股份有限公司 一种集群中服务器的请求处理方法、系统及相关装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630832B2 (en) * 2017-06-07 2023-04-18 Sap Se Dynamic admission control for database requests
CN108924213B (zh) * 2018-06-27 2021-06-18 北京金山安全软件有限公司 一种服务器的qps控制方法、装置及电子设备
CN109032801B (zh) * 2018-07-26 2022-02-18 郑州云海信息技术有限公司 一种请求调度方法、系统及电子设备和存储介质
CN109327550B (zh) * 2018-11-30 2022-02-18 网宿科技股份有限公司 一种访问请求的分配方法、装置、存储介质和计算机设备
CN110138732B (zh) * 2019-04-03 2022-03-29 平安科技(深圳)有限公司 访问请求的响应方法、装置、设备及存储介质
CN110677492B (zh) * 2019-10-11 2022-08-02 北京字节跳动网络技术有限公司 一种访问请求处理方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199141A1 (en) * 2014-01-14 2015-07-16 Netapp, Inc. Method and system for monitoring and analyzing quality of service in a metro-cluster
CN107133100A (zh) * 2017-04-26 2017-09-05 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
CN108881348A (zh) * 2017-05-15 2018-11-23 新华三技术有限公司 服务质量控制方法、装置和存储服务器
CN108989439A (zh) * 2018-07-26 2018-12-11 郑州云海信息技术有限公司 一种分布式存储服务质量控制方法及装置
CN109254726A (zh) * 2018-08-16 2019-01-22 华为技术有限公司 分布式存储系统中服务质量保障方法、控制节点及系统
CN111092959A (zh) * 2019-12-29 2020-05-01 浪潮电子信息产业股份有限公司 一种集群中服务器的请求处理方法、系统及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760250A (zh) * 2022-03-18 2022-07-15 福建天晴数码有限公司 一种服务网关通过分层限流保障高可用的方案及系统
CN114760250B (zh) * 2022-03-18 2023-11-03 福建天晴数码有限公司 一种服务网关通过分层限流保障高可用的方案及系统

Also Published As

Publication number Publication date
CN111338575B (zh) 2021-06-29
CN111338575A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
WO2021164164A1 (zh) 一种存储服务质量控制方法、装置、设备及存储介质
CN111813513B (zh) 基于分布式的实时任务调度方法、装置、设备及介质
US11888756B2 (en) Software load balancer to maximize utilization
WO2019114128A1 (zh) 区块链事务区块处理方法、电子装置及可读存储介质
WO2020199487A1 (zh) 访问请求的响应方法、装置、设备及存储介质
CN103210382B (zh) 基于总线装置健康信息和相关功率管理而仲裁通信总线上的总线事务
US20120221730A1 (en) Resource control system and resource control method
CN110162270B (zh) 基于分布式存储系统的数据存储方法、存储节点及介质
CN111049756B (zh) 请求响应方法、装置、电子设备及计算机可读存储介质
CN106713028B (zh) 业务降级方法、装置和分布式任务调度系统
US20160379122A1 (en) Recommendation algorithm optimization method, device and system
TW201527942A (zh) 管理系統、多核系統和其管理方法
WO2020259208A1 (zh) 内存调度方法、装置、设备及存储介质
CN112600761A (zh) 一种资源分配的方法、装置及存储介质
US20140359182A1 (en) Methods and apparatus facilitating access to storage among multiple computers
JP2008537242A (ja) ストレージリソースを割り振る方法および装置
CN113079062B (zh) 一种资源调整方法、装置、计算机设备和存储介质
CN113778675A (zh) 一种基于面向区块链网络的计算任务分配系统及方法
CN111597041B (zh) 一种分布式系统的调用方法、装置、终端设备及服务器
JP2009070122A (ja) ホスト負荷調整機能付周辺回路
WO2019019596A1 (zh) 断点名单的处理方法、装置、服务器及介质
CN111857992A (zh) 一种Radosgw模块中线程资源分配方法和装置
US10963305B2 (en) Low latency distributed counters for quotas
US10979359B1 (en) Polling resource management system
CN113824689B (zh) 边缘计算网络、数据传输方法、装置、设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20920647

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20920647

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20920647

Country of ref document: EP

Kind code of ref document: A1