CN111399779A - Flow control method and device - Google Patents

Flow control method and device Download PDF

Info

Publication number
CN111399779A
CN111399779A CN202010192639.XA CN202010192639A CN111399779A CN 111399779 A CN111399779 A CN 111399779A CN 202010192639 A CN202010192639 A CN 202010192639A CN 111399779 A CN111399779 A CN 111399779A
Authority
CN
China
Prior art keywords
delay
reconstructed
statistical period
proportion
preset
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.)
Granted
Application number
CN202010192639.XA
Other languages
Chinese (zh)
Other versions
CN111399779B (en
Inventor
上官应兰
***
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Macrosan Technologies Co Ltd
Original Assignee
Macrosan Technologies Co Ltd
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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN202010192639.XA priority Critical patent/CN111399779B/en
Publication of CN111399779A publication Critical patent/CN111399779A/en
Application granted granted Critical
Publication of CN111399779B publication Critical patent/CN111399779B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Debugging And Monitoring (AREA)

Abstract

The application provides a flow control method and a flow control device, which can calculate the average delay of front-end IO of a last statistical period; determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay; and circularly transmitting the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished. The method and the device can reasonably utilize system resources, control the influence of reconstruction on the front-end service as much as possible, achieve reconstruction as much as possible, accelerate the reconstruction speed and improve the data security.

Description

Flow control method and device
Technical Field
The present application relates to the field of storage technologies, and in particular, to a flow control method and apparatus.
Background
RAID (Redundant Array of Independent Disks) is a disk group formed by combining a plurality of Independent physical Disks in different ways, and provides higher storage performance than a single disk and data redundancy protection by means of data storage of multiple copies, increased parity, and the like.
At present, most electronic storage media are disks, a RAID technology is usually used to perform redundancy protection on data in the disks, one or more disks can be subjected to failure or offline according to different RAID levels, and when a failed disk or a disk is detected to be offline, RAID data redundancy is restored by rebuilding using a hot spare disk, which shows that, from the viewpoint of data security, rebuilding is better. On the other hand, RAID also carries services running on the front-end server of the storage device, and a part of the services have higher requirements on bandwidth and delay, once RAID starts to be rebuilt, a large amount of computation and background IO are generated in the rebuilding process, and system resources (including CPU, memory, disk IO) of the storage device are occupied, so that IO processing of the front-end server is slowed down, and in an extreme case, service interruption will be caused.
Therefore, how to ensure the rapid reconstruction of RAID and the RAID reconstruction process has little influence on the front-end server IO is an urgent problem to be solved.
Disclosure of Invention
In view of this, the present application provides a flow control method and apparatus to solve the problem that the RAID rebuilding process affects the front-end IO.
Specifically, the method is realized through the following technical scheme:
the application provides a flow control method, which is applied to RAID in a storage device, and the method comprises the following steps:
calculating the average delay of the front IO of a last statistical period;
determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay;
and circularly transmitting the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished.
As an embodiment, the pre-calculating the target delay specifically includes:
within a time period corresponding to a plurality of pre-specified statistical periods, stopping issuing reconstruction IO, and continuously issuing front-end IO;
calculating the average delay of the front-end IO in the time period as a reference delay;
and calculating the target delay based on the reference delay and a preset influence coefficient.
As an embodiment, the calculating the target delay based on the reference delay and the preset influence coefficient specifically includes:
the target delay is a preset influence factor of the reference delay ×, where the preset influence factor is greater than 1.
As an embodiment, the method further comprises:
and in the first statistical period when the RAID starts to reconstruct, pre-calculating the target delay, and setting the ratio of the front-end IO and the reconstruction IO of the current statistical period as an initial value.
As an embodiment, the determining the ratio of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay specifically includes:
acquiring the front-end IO and reconstruction IO proportion of the previous statistical period;
and comparing the front-end IO average delay with the pre-calculated target delay, and determining the front-end IO and the reconstructed IO proportion of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO proportion of the previous statistical period.
As an embodiment, the comparing the front-end IO average delay with the pre-calculated target delay specifically includes:
calculating a difference value between the front-end IO average delay and a pre-calculated target delay;
if the difference value is within a preset fluctuation range, judging that the front-end IO average delay is equal to a pre-calculated target delay;
if the difference value is out of the preset fluctuation range and the difference value is a negative number, judging that the front-end IO average delay is smaller than the pre-calculated target delay;
and if the difference is out of the preset fluctuation range and the difference is a positive number, judging that the front-end IO average delay is larger than the pre-calculated target delay.
As an embodiment, the determining the front-end IO and the reconstructed IO ratio of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO ratio of the previous statistical period specifically includes:
if the average delay of the front-end IO is smaller than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the pre-calculated down-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
if the average delay of the front-end IO is larger than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the pre-calculated up-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
and if the front-end IO average delay is equal to the pre-calculated target delay, taking the front-end IO and the reconstructed IO proportion of the previous statistical period as the front-end IO and the reconstructed IO proportion of the current statistical period.
As an embodiment, calculating the up-step size and the down-step size specifically includes:
calculating an upper limit threshold, wherein the upper limit threshold is specifically the sum of the target delay and the difference between the target delay and the reference delay;
if the front-end IO average delay time is less than or equal to the reference delay time, the down-regulation step length is equal to a preset down-regulation step length unit × down-regulation coefficient, and the down-regulation coefficient is an integer greater than 1;
if the front-end IO average delay is greater than the reference delay and less than the target delay, the down-regulation step length is equal to a preset down-regulation step length unit;
if the front-end IO average delay is larger than the target delay and smaller than the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit;
if the front-end IO average delay is greater than or equal to the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit × up-regulation coefficient, and the up-regulation coefficient is an integer greater than 1.
As an embodiment, circularly issuing the front-end IO and the reconstructed IO according to the ratio of the front-end IO and the reconstructed IO in the current statistical period until the current statistical period is ended specifically includes:
the proportion of the front-end IO and the reconstructed IO is m: n, wherein m is a positive integer in a preset range, and n is a preset positive integer;
issuing m × k front-end IOs, and then issuing n × k reconstruction IOs, wherein k is a preset proportionality coefficient, and k is a positive integer;
and repeating the execution until the current counting period is ended.
As an embodiment, the method further comprises:
and if the value of m reaches the maximum value in the preset range in the proportion of the front-end IO and the reconstructed IO in the current statistical period, stopping issuing the reconstructed IO, recalculating the target delay, and setting the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the recalculated target delay.
Based on the same concept, the present application also provides another flow control apparatus applied to a RAID in a storage device, the apparatus including:
the first calculation unit is used for calculating the average delay of the front-end IO of a last statistical period;
the determining unit is used for determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay;
and the issuing unit is used for circularly issuing the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished.
As an embodiment, the apparatus further comprises:
the second computing unit is used for stopping issuing the reconstructed IO in a time period corresponding to a plurality of pre-specified statistical periods and continuously issuing the front-end IO; calculating the average delay of the front-end IO in the time period as a reference delay; and calculating the target delay based on the reference delay and a preset influence coefficient.
As an embodiment, the calculating, by the second calculating unit, a target delay based on the reference delay and a preset influence coefficient specifically includes:
the target delay is a preset influence factor of the reference delay ×, where the preset influence factor is greater than 1.
As an embodiment, the apparatus further comprises:
and the setting unit is used for pre-calculating the target delay in the first statistical period when the RAID starts to reconstruct, and setting the ratio of the front-end IO and the reconstructed IO of the current statistical period as an initial value.
As an embodiment, the determining unit is specifically configured to obtain a front-end IO and a reconstructed IO ratio of a previous statistical period; and comparing the front-end IO average delay with the pre-calculated target delay, and determining the front-end IO and the reconstructed IO proportion of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO proportion of the previous statistical period.
As an embodiment, the comparing, by the determining unit, the front-end IO average delay with a pre-calculated target delay includes:
calculating a difference value between the front-end IO average delay and a pre-calculated target delay;
if the difference value is within a preset fluctuation range, judging that the front-end IO average delay is equal to a pre-calculated target delay;
if the difference value is out of the preset fluctuation range and the difference value is a negative number, judging that the front-end IO average delay is smaller than the pre-calculated target delay;
and if the difference is out of the preset fluctuation range and the difference is a positive number, judging that the front-end IO average delay is larger than the pre-calculated target delay.
As an embodiment, the determining unit determines the front-end IO and the reconstructed IO ratio of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO ratio of the previous statistical period, and specifically includes:
if the average delay of the front-end IO is smaller than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the pre-calculated down-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
if the average delay of the front-end IO is larger than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the pre-calculated up-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
and if the front-end IO average delay is equal to the pre-calculated target delay, taking the front-end IO and the reconstructed IO proportion of the previous statistical period as the front-end IO and the reconstructed IO proportion of the current statistical period.
As an embodiment, the determining unit calculates the up-step size and the down-step size, and specifically includes:
calculating an upper limit threshold, wherein the upper limit threshold is specifically the sum of the target delay and the difference between the target delay and the reference delay;
if the front-end IO average delay time is less than or equal to the reference delay time, the down-regulation step length is equal to a preset down-regulation step length unit × down-regulation coefficient, and the down-regulation coefficient is an integer greater than 1;
if the front-end IO average delay is greater than the reference delay and less than the target delay, the down-regulation step length is equal to a preset down-regulation step length unit;
if the front-end IO average delay is larger than the target delay and smaller than the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit;
if the front-end IO average delay is greater than or equal to the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit × up-regulation coefficient, and the up-regulation coefficient is an integer greater than 1.
As an embodiment, the ratio of the front-end IO to the reconstructed IO is m: n, where m is a positive integer in a preset range, and n is a preset positive integer;
the issuing unit is specifically configured to issue m × k front-end IOs first, and then issue n × k reconstructed IOs, where k is a preset scaling coefficient and k is a positive integer; and repeating the execution until the current counting period is ended.
As an embodiment, the apparatus further comprises:
and the recalculation unit is used for stopping issuing the reconstructed IO if the value of m reaches the maximum value in the preset range in the proportion of the front-end IO and the reconstructed IO in the current statistical period, recalculating the target delay, and setting the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the recalculated target delay.
Based on the same concept, the present application further provides a computer-readable storage medium, in which a computer program is stored, and the computer program, when executed by a processor, implements any one of the steps of the flow control method.
Based on the same concept, the application also provides a computer device, which comprises a memory, a processor, a communication interface and a communication bus; the memory, the processor and the communication interface are communicated with each other through the communication bus;
the memory is used for storing a computer program;
the processor is configured to execute the computer program stored in the memory, and when the processor executes the computer program, any step of the flow control method is implemented.
Therefore, the application can calculate the average delay of the front-end IO of a last statistical period; determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay; and circularly transmitting the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished. According to the method and the device, the number of the reconstructed IOs is adjusted in real time according to the statistical average delay change condition of the front-end IOs of the RAID, so that the average delay of the front-end IOs cannot be greatly increased in the reconstruction process. Therefore, the method and the system can reasonably utilize system resources, control the influence of reconstruction on the front-end service as much as possible, achieve reconstruction as much as possible, accelerate reconstruction speed, improve data security, and greatly reduce the operation and maintenance difficulty of administrators because the whole scheduling process is automatic operation and does not need manual participation.
Drawings
FIG. 1 is a process flow diagram of a flow control method in an exemplary embodiment of the present application;
FIG. 2 is a flowchart illustrating a process of determining a ratio of front IO and rebuilt IO for a current statistical period in an exemplary embodiment of the present application;
FIG. 3 is a process flow diagram of another flow control method in an exemplary embodiment of the present application;
FIG. 4 is a schematic diagram of issuing front-end IOs and rebuilding IOs in an exemplary embodiment of the present application;
FIG. 5 is a logical block diagram of a flow control device in an exemplary embodiment of the present application;
FIG. 6 is a hardware block diagram of a computer device in an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It is to be understood that although the terms first, second, third, etc. may be used herein to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
In a related technical scheme, in order to control the influence of RAID reconstruction on front-end services, RAID reconstruction priorities are usually set, such as high, medium, and low, software limits a reconstruction bandwidth according to different levels, such as set to high, and the reconstruction bandwidth does not exceed 200 MB/s; setting the reconstruction bandwidth not to exceed 100 MB/s; set low, the reconstruction bandwidth does not exceed 50MB/s, or set the reconstruction bandwidth limit of RAID directly.
However, when the influence of reconstruction on the front-end IO is controlled by setting the RAID reconstruction bandwidth upper limit, the selection of the basis for limiting the reconstruction bandwidth is particularly important. For example, when a service has a peak time and a valley time, the measurement of the reconstruction bandwidth according to the peak time may cause resource waste in the valley time, and the measurement of the reconstruction bandwidth according to the valley time may cause slow IO processing at the front end of the peak time; moreover, the performance difference between the HDD disk and the SSD disk in the RAID is large, and even if the HDD disk and the SSD disk of the same manufacturer have different series and different FW versions, the performance may also be different, which causes a difficulty in setting an appropriate reconstruction bandwidth by an administrator to be too large.
Therefore, it can be seen that the reconstruction bandwidth is limited by the absolute value of the reconstruction bandwidth, and although the influence of the reconstruction IO on the front-end IO can be controlled, since it is difficult to determine the optimal reconstruction bandwidth setting, it is impossible to utilize the system resources to the maximum extent to accelerate the reconstruction process, and in addition, the reconstruction bandwidth setting has too high requirement on the administrator, and it is difficult to set a suitable value, which results in great difficulty in operation and maintenance.
In order to solve the problems in the prior art, the present application provides a method and a device for controlling a flow rate, and the specific scheme is shown in the following embodiments.
Referring to fig. 1, a flowchart of a flow control method applied to RAID in a storage device according to an exemplary embodiment of the present application is shown, where the method includes:
step 101, calculating the average delay of front-end IO of a last statistical period;
after the storage device receives an IO read by the front-end server and written by a L UN, the IO is split into one or more sub IOs according to the layout of the L UN, the sub IOs respectively correspond to 1 or more RAIDs, each RAID receives the sub IOs, adds the sub IOs into a front-end command queue of the RAID to serve as front-end IOs, processes the front-end IOs one by one, and after the IO execution is finished, returns the execution result to the corresponding L UN and removes the front-end IOs from the front-end command queue.
In this embodiment, the retention time of the front-end IO (i.e., the sub IO) in the RAID module, that is, the time taken from the reception of the front-end IO to the return of the front-end IO is referred to as front-end IO delay, which is equivalent to the front-end IO command response time. And dividing the sum of the delay of all front-end IOs in a certain time period by the quotient of the number of all front-end IOs in the time period to serve as the average delay of the front-end IOs.
The performance of RAID is usually determined by the performance of the member disk, and the processing capability of the member disk will directly affect the front-end IO average latency of RAID, for example, the latency of RAID composed of SSD disks is significantly shorter than that of RAID composed of HDD disks; in addition, the average front-end IO delay is also affected by too many front-end IO numbers stacked in the disk. It can be seen that the average delay of the front-end IO of the RAID represents, on one hand, the busy degree of the disk in a certain time period, and on the other hand, the retention time of the front-end IO in the RAID is also represented.
In this embodiment, the average delay of the front-end IO may be continuously counted during RAID rebuilding, for example, the counting period is 1 minute, and the statistical data is refreshed every 1 minute. The statistical time is to evaluate the influence of the reconstructed IO on the front-end IO, so that only the delay of the front-end IO may be counted, and the delay of the reconstructed IO is not counted in the front-end IO average delay statistical process.
102, determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay;
in this embodiment, the RAID may determine the front-end IO and the reconstructed IO ratio of the current statistical period based on the front-end IO average delay of the current statistical period and the pre-calculated target delay.
In one example, in order to avoid situations such as sudden front-end IO or traffic fluctuation that may cause the average front-end IO delay in a certain statistical period to not represent the real situation of the service, a reference window, a reference delay, and a target delay are added in the present application. The reference window refers to a time period, and the value of the reference window may be a plurality of statistical cycles, for example, if the statistical cycle is 1 minute, the reference window may be 5 minutes, corresponding to 5 statistical cycles; the reference delay refers to front-end IO average delay in a reference window, and the value of the front-end IO average delay is equal to the sum of the front-end IO average delay of a plurality of statistical periods divided by the number of the statistical periods; the target delay refers to a scheduling target of the front-end IO delay.
In this embodiment, the target delay may be obtained by pre-calculation, specifically, the reconstructed IO may be stopped to be issued within a time period corresponding to a plurality of pre-specified statistical cycles, and the front-end IO may be continuously issued; then calculating the average delay of the front-end IO in the time period as a reference delay; and finally, calculating the target delay based on the reference delay and a preset influence coefficient.
The target delay time is the reference delay time ×, where the preset influence coefficient is greater than 1, and the preset influence coefficient is, for example, 1.2, then the target delay time is the reference delay time × 1.2.2.
In the first statistical period when the RAID starts to reconstruct, the target delay may be calculated in advance, and the ratio of the front-end IO and the reconstructed IO in the current statistical period is set as an initial value.
In an embodiment, the front-end IO and reconstructed IO ratio of the current statistical period is determined based on the front-end IO average delay and the pre-calculated target delay in step 102, which is specifically as follows.
Firstly, the average delay of the front-end IO is compared with the pre-calculated target delay by obtaining the proportion of the front-end IO and the reconstructed IO in the previous statistical period. And then determining the front-end IO and reconstruction IO proportion of the current statistical period according to the comparison result and the obtained front-end IO and reconstruction IO proportion of the previous statistical period.
A specific flow of the method for determining the front-end IO and the reconstructed IO ratio of the current statistical period is shown in fig. 2, where the method includes:
step 201, obtaining the front-end IO average delay and a pre-calculated target delay;
step 202, comparing the front-end IO average delay with a pre-calculated target delay, wherein the front-end IO average delay is smaller than the pre-calculated target delay, and turning to step 204; when the current-end IO average delay is equal to the pre-calculated target delay, go to step 203; when the IO average delay of the current end is greater than the pre-calculated target delay, go to step 205;
if the average delay of the front-end IO is smaller than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the pre-calculated down-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
if the average delay of the front-end IO is larger than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the pre-calculated up-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
and if the front-end IO average delay is equal to the pre-calculated target delay, taking the front-end IO and the reconstructed IO proportion of the previous statistical period as the front-end IO and the reconstructed IO proportion of the current statistical period.
In one example, considering that the probability of the delays of the actual operation data being absolutely equal is very low, if the magnitude is strictly judged, the system will be jittered. Therefore, in order to prevent jitter, in the method for comparing the front-end IO average delay with the pre-calculated target delay, a preset fluctuation range is introduced, and values in the preset fluctuation range all meet requirements.
Specifically, the difference between the front-end IO average delay and a pre-calculated target delay may be calculated; if the difference value is within a preset fluctuation range (including a boundary), judging that the front-end IO average delay is equal to a pre-calculated target delay; if the difference value is out of the preset fluctuation range and the difference value is a negative number, judging that the front-end IO average delay is smaller than the pre-calculated target delay; and if the difference is out of the preset fluctuation range and the difference is a positive number, judging that the front-end IO average delay is larger than the pre-calculated target delay.
According to the method and the device, the front-end IO average delay and the pre-calculated target delay are compared in combination with the fluctuation range, so that system oscillation caused by the small-range difference between the front-end IO average delay and the target delay in the calculation result can be avoided.
And 203, the proportion of the front end IO and the reconstructed IO in the current statistical period is equal to the proportion of the front end IO and the reconstructed IO in the previous statistical period.
Step 204, judging whether the average delay of the front-end IO is greater than the reference delay, if so, turning to step 206; if not, go to step 207;
step 205, judging whether the average delay of the front-end IO is greater than an upper limit threshold, if so, turning to step 209; if not, go to step 210;
in this embodiment, an upper limit threshold may be calculated in advance, where the upper limit threshold is specifically a sum of the target delay and a difference between the target delay and the reference delay.
Step 206, setting the down-regulation step length as a preset down-regulation step length unit; turning to step 208;
step 207, changing the down step length to a preset down step length unit ×, wherein the down step length is an integer larger than 1;
and 208, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the calculated down-regulation step length.
Step 209, turning to step 211, where the step up length is a preset step up length unit × step up coefficient, where the step up coefficient is an integer greater than 1;
step 210, setting the up step length as a preset up step length unit; turning to step 211;
and step 211, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the calculated up-regulation step length.
And finally, taking the ratio of the front-end IO adjusted in step 203, step 208, or step 211 as the ratio of the front-end IO and the reconstructed IO in the current statistical period.
For example, the ratio of the current front-end IO to the reconstructed IO is 8:1, that is, 1 reconstructed IO is issued by every 8 front-end IOs:
if the average delay of the front-end IO is smaller than the target delay in the proportion, it indicates that the reconstructed IO can be properly increased, and the reconstruction IO can be realized by reducing the ratio of the front-end IO, for example, the ratio of the front-end IO to the reconstructed IO is 6: 1; if the average delay of the front-end IO is equal to the target delay under the proportion, the current proportion is proper, adjustment is not needed, and the new front-end IO and the reconstructed IO proportion are kept unchanged at 8: 1; if the average delay of the front-end IO is greater than the target delay in the ratio, which indicates that the reconstruction has affected the front-end service performance, the reconstructed IO needs to be reduced appropriately, and the ratio of the front-end IO may be increased, for example, the ratio of the front-end IO to the reconstructed IO is 10: 1.
For example, when calculating the down step length, if the down step length is equal to the preset down unit ×, a down factor is preset, assuming that the down unit is 1, and the down factor is 2, if the down step length is equal to the preset down unit, assuming that the down unit is 1, the down step length is also 1, and if the down unit is 1, the down step length is also 1.
And 103, circularly transmitting the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished.
In this embodiment, the RAID may cyclically send the front end IO and the rebuilt IO according to the ratio of the front end IO and the rebuilt IO in the current statistical period until the current statistical period is finished. Specifically, when the ratio of the front-end IO to the reconstructed IO is m: n, wherein m is a positive integer in a preset range, and n is a preset positive integer; the method includes the steps that m × k front-end IOs can be issued first, then n × k reconstruction IOs are issued, k is a preset proportionality coefficient, k is a positive integer, and k can be set according to actual requirements; and repeating the execution until the current counting period is ended.
It should be noted that m needs to set a lower limit and an upper limit, where the lower limit corresponds to the minimum scheduling number of the front-end IO, so as to ensure the minimum processing efficiency of the front-end IO; and when the upper limit is reached, the current reconstructed IO is rarely scheduled, so that the reconstructed IO is required to be stopped being issued, the target delay is recalculated, and the proportion of the front-end IO and the reconstructed IO in the current statistical period is set based on the recalculated target delay.
In order to make the objects, technical solutions and advantages of the present application more apparent, the solution of the present application is further described in detail below with reference to fig. 3 and 4.
Assume that for a RAID (RAIDA for short) in a storage device, a method for controlling flow after the RAIDA starts to be reconstructed is shown in fig. 3, where the method includes:
step 301, calculating a target delay E;
the method comprises the steps of firstly stopping issuing reconstruction IO, waiting for the reconstruction IO to return completely, obtaining delay data of front-end IO under the condition of no reconstruction task, assuming that a statistical period is 1 minute and a reference period is 5 statistical periods, then obtaining the average delay of the front-end IO in one reference period as a reference delay R and a preset influence coefficient P, and calculating a target delay E of reconstruction IO scheduling to be the reference delay R × preset influence coefficient P.
Step 302, obtaining the front-end IO average delay G of the current statistical period;
step 303, determining the ratio m: n of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay G and the pre-calculated target delay E;
the specific determination process may refer to the processing flow shown in fig. 2.
Step 304, judging whether m is less than or equal to the upper limit of the preset range, if so, turning to step 305; if not, go to step 301;
and 305, circularly transmitting the front-end IO and the reconstructed IO according to the ratio m: n of the front-end IO to the reconstructed IO in the current statistical period until the current statistical period is finished.
For example, in the first statistical period, the RAID issues an IO command to the disk according to the initial ratio of the front-end IO to the rebuilt IO, and if the initial ratio m: n is 4:1, it indicates that 1 rebuilt IO is issued for every 4 front-end IOs. As shown in fig. 4, a circle represents a reconstructed IO, a square represents a front-end IO, and if the coefficient k is 1, 4 front-end IOs can be determined according to the scheduling ratio of 4:1, and 1 reconstructed IO is sent to the disk.
When the second statistical period is up, obtaining the average delay G of the front-end IO of the current statistical period, comparing G with the target delay E, if G is smaller than E, reducing m in the proportion of the front-end IO and the reconstructed IO to increase the issued reconstructed IO, and adjusting m to be down-regulated according to a down-regulation step length, for example, adjusting the ratio m: n to be 3: 1; if G is larger than E, increasing m in the proportion of the front-end IO and the reconstructed IO to reduce the issued reconstructed IO, and performing up-regulation on m according to the up-regulation step length, for example, regulating the ratio m: n to 5: 1; if G is equal to E, the ratio m: n of the front-end IO and the reconstruction IO is maintained to be 4: 1. In the second statistical period in this embodiment, taking m: n as 3:1 as an example, the RAID will schedule according to the ratio of the front-end IO and the reconstructed IO, the issuing result of the IO is shown in fig. 4, and the foregoing process is repeated in the subsequent statistical period.
Therefore, the method and the device can adjust and reconstruct IO in real time according to the average time delay change condition of the front-end IO, thereby ensuring that the time delay of the front-end business IO cannot be greatly increased in the reconstruction process, reasonably utilizing system resources, achieving reconstruction as much as possible, accelerating the reconstruction speed and improving the data security. Meanwhile, the whole scheduling process is automatically completed by software without intervention of an administrator, and the operation and maintenance difficulty is greatly reduced.
Corresponding to the embodiments of the flow control method, the application also provides embodiments of a flow control device.
Referring to fig. 5, a schematic structural diagram of a flow control apparatus in an exemplary embodiment of the present application, the apparatus is applied to a RAID in a storage device, and the apparatus 50 includes:
a first calculating unit 501, configured to calculate a front-end IO average delay of a last statistical period;
a determining unit 502, configured to determine a front-end IO and a reconstructed IO ratio of a current statistical period based on the front-end IO average delay and a pre-calculated target delay;
and the issuing unit 503 is configured to cyclically issue the front end IO and the reconstructed IO according to the ratio of the front end IO and the reconstructed IO in the current statistics period until the current statistics period is finished.
As an embodiment, the apparatus further comprises:
the second calculating unit 504 is configured to stop issuing reconstructed IO and continue issuing front-end IO in a time period corresponding to a plurality of pre-specified statistical periods; calculating the average delay of the front-end IO in the time period as a reference delay; and calculating the target delay based on the reference delay and a preset influence coefficient.
As an embodiment, the calculating the target delay by the second calculating unit 504 based on the reference delay and a preset influence coefficient specifically includes:
the target delay is a preset influence factor of the reference delay ×, where the preset influence factor is greater than 1.
As an embodiment, the apparatus further comprises:
and the setting unit 505 is configured to pre-calculate the target delay in a first statistical period in which the RAID starts to be reconstructed, and set a ratio of front-end IO and reconstructed IO of the current statistical period as an initial value.
As an embodiment, the determining unit 502 is specifically configured to obtain a front-end IO and a reconstructed IO ratio of a previous statistical period; and comparing the front-end IO average delay with the pre-calculated target delay, and determining the front-end IO and the reconstructed IO proportion of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO proportion of the previous statistical period.
As an embodiment, the determining unit 502 compares the front-end IO average delay with a pre-calculated target delay, and specifically includes:
calculating a difference value between the front-end IO average delay and a pre-calculated target delay;
if the difference value is within a preset fluctuation range, judging that the front-end IO average delay is equal to a pre-calculated target delay;
if the difference value is out of the preset fluctuation range and the difference value is a negative number, judging that the front-end IO average delay is smaller than the pre-calculated target delay;
and if the difference is out of the preset fluctuation range and the difference is a positive number, judging that the front-end IO average delay is larger than the pre-calculated target delay.
As an embodiment, the determining unit 502 determines the front-end IO and the rebuilt IO ratio of the current statistical period according to the comparison result and the obtained front-end IO and rebuilt IO ratio of the previous statistical period, which specifically includes:
if the average delay of the front-end IO is smaller than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the pre-calculated down-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
if the average delay of the front-end IO is larger than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the pre-calculated up-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
and if the front-end IO average delay is equal to the pre-calculated target delay, taking the front-end IO and the reconstructed IO proportion of the previous statistical period as the front-end IO and the reconstructed IO proportion of the current statistical period.
As an embodiment, the determining unit 502 calculates the up-step size and the down-step size, and specifically includes:
calculating an upper limit threshold, wherein the upper limit threshold is specifically the sum of the target delay and the difference between the target delay and the reference delay;
if the front-end IO average delay time is less than or equal to the reference delay time, the down-regulation step length is equal to a preset down-regulation step length unit × down-regulation coefficient, and the down-regulation coefficient is an integer greater than 1;
if the front-end IO average delay is greater than the reference delay and less than the target delay, the down-regulation step length is equal to a preset down-regulation step length unit;
if the front-end IO average delay is larger than the target delay and smaller than the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit;
if the front-end IO average delay is greater than or equal to the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit × up-regulation coefficient, and the up-regulation coefficient is an integer greater than 1.
As an embodiment, the ratio of the front-end IO to the reconstructed IO is m: n, where m is a positive integer in a preset range, and n is a preset positive integer;
the issuing unit 503 is specifically configured to issue m × k front-end IOs first, and then issue n × k reconstructed IOs, where k is a preset scaling coefficient and k is a positive integer; and repeating the execution until the current counting period is ended.
As an embodiment, the apparatus further comprises:
a recalculating unit 506, configured to stop issuing the reconstructed IO, recalculate the target delay, and set the front-end IO and the reconstructed IO ratio of the current statistics period based on the recalculated target delay, if the value of m in the front-end IO and the reconstructed IO ratio of the current statistics period reaches the maximum value in the preset range.
The implementation process of the functions and actions of each unit in the above device is specifically described in the implementation process of the corresponding step in the above method, and is not described herein again.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of the application. One of ordinary skill in the art can understand and implement it without inventive effort.
Corresponding to the foregoing embodiments of the flow control method, the present application further provides embodiments of a computer device implementing the flow control method.
As shown in fig. 6, the computer device includes a memory 61, a processor 62, a communication interface 63, and a communication bus 64; wherein, the memory 61, the processor 62 and the communication interface 63 communicate with each other through the communication bus 64;
the memory 61 is used for storing computer programs;
the processor 62 is configured to execute the computer program stored in the memory 61, and when the processor 62 executes the computer program, any step of the flow control method provided in the embodiment of the present application is implemented.
The present application further provides a computer-readable storage medium, in which a computer program is stored, and the computer program, when executed by a processor, implements any step of the flow control method provided in the embodiments of the present application.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for embodiments of the computer device and the computer-readable storage medium, since they are substantially similar to the method embodiments, the description is relatively simple, and in relation to what is described in the partial description of the method embodiments.
In summary, the present application may calculate the average delay of the front-end IO in a last statistical period; determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay; and circularly transmitting the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished. According to the method and the device, the number of the reconstructed IOs is adjusted in real time according to the statistical average delay change condition of the front-end IOs of the RAID, so that the average delay of the front-end IOs cannot be greatly increased in the reconstruction process. Therefore, the method and the system can reasonably utilize system resources, control the influence of reconstruction on the front-end service as much as possible, achieve reconstruction as much as possible, accelerate reconstruction speed, improve data security, and greatly reduce the operation and maintenance difficulty of administrators because the whole scheduling process is automatic operation and does not need manual participation.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (20)

1. A flow control method is applied to RAID in a storage device, and the method comprises the following steps:
calculating the average delay of the front IO of a last statistical period;
determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay;
and circularly transmitting the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished.
2. The method of claim 1, wherein pre-calculating the target delay specifically comprises:
within a time period corresponding to a plurality of pre-specified statistical periods, stopping issuing reconstruction IO, and continuously issuing front-end IO;
calculating the average delay of the front-end IO in the time period as a reference delay;
and calculating the target delay based on the reference delay and a preset influence coefficient.
3. The method according to claim 2, wherein the calculating the target delay based on the reference delay and a preset influence coefficient specifically includes:
the target delay is a preset influence factor of the reference delay ×, where the preset influence factor is greater than 1.
4. The method of claim 1, further comprising:
and in the first statistical period when the RAID starts to reconstruct, pre-calculating the target delay, and setting the ratio of the front-end IO and the reconstruction IO of the current statistical period as an initial value.
5. The method of claim 1,
determining the front-end IO and reconstructed IO proportion of the current statistical period based on the front-end IO average delay and the pre-calculated target delay, specifically comprising:
acquiring the front-end IO and reconstruction IO proportion of the previous statistical period;
and comparing the front-end IO average delay with the pre-calculated target delay, and determining the front-end IO and the reconstructed IO proportion of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO proportion of the previous statistical period.
6. The method according to claim 5, wherein the comparing the front-end IO average delay with the pre-calculated target delay specifically comprises:
calculating a difference value between the front-end IO average delay and a pre-calculated target delay;
if the difference value is within a preset fluctuation range, judging that the front-end IO average delay is equal to a pre-calculated target delay;
if the difference value is out of the preset fluctuation range and the difference value is a negative number, judging that the front-end IO average delay is smaller than the pre-calculated target delay;
and if the difference is out of the preset fluctuation range and the difference is a positive number, judging that the front-end IO average delay is larger than the pre-calculated target delay.
7. The method according to claim 5, wherein the determining the front-end IO and rebuilt IO ratio of the current statistical period according to the comparison result and the obtained front-end IO and rebuilt IO ratio of the previous statistical period specifically includes:
if the average delay of the front-end IO is smaller than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the pre-calculated down-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
if the average delay of the front-end IO is larger than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the pre-calculated up-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
and if the front-end IO average delay is equal to the pre-calculated target delay, taking the front-end IO and the reconstructed IO proportion of the previous statistical period as the front-end IO and the reconstructed IO proportion of the current statistical period.
8. The method according to claim 7, wherein calculating the up step size and the down step size specifically comprises:
calculating an upper limit threshold, wherein the upper limit threshold is specifically the sum of the target delay and the difference between the target delay and the reference delay;
if the front-end IO average delay time is less than or equal to the reference delay time, the down-regulation step length is equal to a preset down-regulation step length unit × down-regulation coefficient, and the down-regulation coefficient is an integer greater than 1;
if the front-end IO average delay is greater than the reference delay and less than the target delay, the down-regulation step length is equal to a preset down-regulation step length unit;
if the front-end IO average delay is larger than the target delay and smaller than the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit;
if the front-end IO average delay is greater than or equal to the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit × up-regulation coefficient, and the up-regulation coefficient is an integer greater than 1.
9. The method according to claim 1, wherein the circularly issuing the front-end IO and the reconstructed IO according to the ratio of the front-end IO and the reconstructed IO in the current statistical period until the current statistical period is finished specifically comprises:
the proportion of the front-end IO and the reconstructed IO is m: n, wherein m is a positive integer in a preset range, and n is a preset positive integer;
issuing m × k front-end IOs, and then issuing n × k reconstruction IOs, wherein k is a preset proportionality coefficient, and k is a positive integer;
and repeating the execution until the current counting period is ended.
10. The method of claim 9, further comprising:
and if the value of m reaches the maximum value in the preset range in the proportion of the front-end IO and the reconstructed IO in the current statistical period, stopping issuing the reconstructed IO, recalculating the target delay, and setting the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the recalculated target delay.
11. A flow control apparatus applied to RAID in a storage device, the apparatus comprising:
the first calculation unit is used for calculating the average delay of the front-end IO of a last statistical period;
the determining unit is used for determining the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the front-end IO average delay and the pre-calculated target delay;
and the issuing unit is used for circularly issuing the front-end IO and the reconstructed IO according to the proportion of the front-end IO and the reconstructed IO of the current statistical period until the current statistical period is finished.
12. The apparatus of claim 11, further comprising:
the second computing unit is used for stopping issuing the reconstructed IO in a time period corresponding to a plurality of pre-specified statistical periods and continuously issuing the front-end IO; calculating the average delay of the front-end IO in the time period as a reference delay; and calculating the target delay based on the reference delay and a preset influence coefficient.
13. The apparatus according to claim 12, wherein the second calculating unit calculates the target delay based on the reference delay and a preset influence coefficient, and specifically includes:
the target delay is a preset influence factor of the reference delay ×, where the preset influence factor is greater than 1.
14. The apparatus of claim 11, further comprising:
and the setting unit is used for pre-calculating the target delay in the first statistical period when the RAID starts to reconstruct, and setting the ratio of the front-end IO and the reconstructed IO of the current statistical period as an initial value.
15. The apparatus of claim 11,
the determining unit is specifically configured to obtain a front-end IO and a reconstructed IO ratio of a previous statistical period; and comparing the front-end IO average delay with the pre-calculated target delay, and determining the front-end IO and the reconstructed IO proportion of the current statistical period according to the comparison result and the obtained front-end IO and reconstructed IO proportion of the previous statistical period.
16. The apparatus according to claim 15, wherein the determining unit compares the front-end IO average delay with a pre-calculated target delay, and specifically includes:
calculating a difference value between the front-end IO average delay and a pre-calculated target delay;
if the difference value is within a preset fluctuation range, judging that the front-end IO average delay is equal to a pre-calculated target delay;
if the difference value is out of the preset fluctuation range and the difference value is a negative number, judging that the front-end IO average delay is smaller than the pre-calculated target delay;
and if the difference is out of the preset fluctuation range and the difference is a positive number, judging that the front-end IO average delay is larger than the pre-calculated target delay.
17. The apparatus according to claim 15, wherein the determining unit determines the front-end IO and the rebuilt IO ratio of the current statistical period according to the comparison result and the obtained front-end IO and rebuilt IO ratio of the previous statistical period, and specifically includes:
if the average delay of the front-end IO is smaller than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, reducing the ratio of the front-end IO according to the pre-calculated down-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
if the average delay of the front-end IO is larger than the pre-calculated target delay, on the basis of the proportion of the front-end IO and the reconstructed IO in the previous statistical period, increasing the ratio of the front-end IO according to the pre-calculated up-regulation step length, and taking the adjusted proportion as the proportion of the front-end IO and the reconstructed IO in the current statistical period;
and if the front-end IO average delay is equal to the pre-calculated target delay, taking the front-end IO and the reconstructed IO proportion of the previous statistical period as the front-end IO and the reconstructed IO proportion of the current statistical period.
18. The apparatus according to claim 17, wherein the determining unit calculates the up-step size and the down-step size, and specifically includes:
calculating an upper limit threshold, wherein the upper limit threshold is specifically the sum of the target delay and the difference between the target delay and the reference delay;
if the front-end IO average delay time is less than or equal to the reference delay time, the down-regulation step length is equal to a preset down-regulation step length unit × down-regulation coefficient, and the down-regulation coefficient is an integer greater than 1;
if the front-end IO average delay is greater than the reference delay and less than the target delay, the down-regulation step length is equal to a preset down-regulation step length unit;
if the front-end IO average delay is larger than the target delay and smaller than the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit;
if the front-end IO average delay is greater than or equal to the upper limit threshold, the up-regulation step length is equal to a preset up-regulation step length unit × up-regulation coefficient, and the up-regulation coefficient is an integer greater than 1.
19. The apparatus according to claim 11, wherein the ratio of the front-end IO to the reconstructed IO is m: n, where m is a positive integer within a preset range, and n is a preset positive integer;
the issuing unit is specifically configured to issue m × k front-end IOs first, and then issue n × k reconstructed IOs, where k is a preset scaling coefficient and k is a positive integer; and repeating the execution until the current counting period is ended.
20. The apparatus of claim 19, further comprising:
and the recalculation unit is used for stopping issuing the reconstructed IO if the value of m reaches the maximum value in the preset range in the proportion of the front-end IO and the reconstructed IO in the current statistical period, recalculating the target delay, and setting the proportion of the front-end IO and the reconstructed IO in the current statistical period based on the recalculated target delay.
CN202010192639.XA 2020-03-18 2020-03-18 Flow control method and device Active CN111399779B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010192639.XA CN111399779B (en) 2020-03-18 2020-03-18 Flow control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010192639.XA CN111399779B (en) 2020-03-18 2020-03-18 Flow control method and device

Publications (2)

Publication Number Publication Date
CN111399779A true CN111399779A (en) 2020-07-10
CN111399779B CN111399779B (en) 2022-09-30

Family

ID=71434308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010192639.XA Active CN111399779B (en) 2020-03-18 2020-03-18 Flow control method and device

Country Status (1)

Country Link
CN (1) CN111399779B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215147A1 (en) * 2013-01-25 2014-07-31 Hewlett-Packard Development Company, L.P. Raid storage rebuild processing
CN109344012A (en) * 2018-09-14 2019-02-15 新华三技术有限公司成都分公司 Data reconstruction control method, device and equipment
CN110109628A (en) * 2019-05-20 2019-08-09 深信服科技股份有限公司 Data re-establishing method, device, equipment and the storage medium of distributed memory system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215147A1 (en) * 2013-01-25 2014-07-31 Hewlett-Packard Development Company, L.P. Raid storage rebuild processing
CN109344012A (en) * 2018-09-14 2019-02-15 新华三技术有限公司成都分公司 Data reconstruction control method, device and equipment
CN110109628A (en) * 2019-05-20 2019-08-09 深信服科技股份有限公司 Data re-establishing method, device, equipment and the storage medium of distributed memory system

Also Published As

Publication number Publication date
CN111399779B (en) 2022-09-30

Similar Documents

Publication Publication Date Title
CN111813513B (en) Method, device, equipment and medium for scheduling real-time tasks based on distribution
CN107465630B (en) Bandwidth flow supervision method and system
US10929065B2 (en) Method, device and computer program product for coordinating access operations
CN107592345B (en) Transaction current limiting device, method and transaction system
JP5270077B2 (en) Arbitration circuit, crossbar, request selection method, and information processing apparatus
EP2272001A2 (en) Dynamically quantifying and improving the reliability of distributed data storage systems
US10884667B2 (en) Storage controller and IO request processing method
CN109086009B (en) Monitoring management method and device and computer readable storage medium
CN112433881A (en) Data recovery method and device for distributed storage system
WO2017039800A1 (en) Systems and methods for repair rate control for large erasure coded data storage
CN110673798A (en) Storage system and IO (input/output) disk dropping method and device thereof
CN110297743B (en) Load testing method and device and storage medium
US20170185338A1 (en) Efficient method of combining parity groups for uniform load distribution and maximizing parallelization in parity de-clustered and sliced disk raid architecture
CN114143327B (en) Cluster resource quota allocation method and device and electronic equipment
CN112948169A (en) Data backup method, device, equipment and storage medium
CN111399779B (en) Flow control method and device
US20210397566A1 (en) Data storage system with access completion uniformity
CN109344012B (en) Data reconstruction control method, device and equipment
US20230030672A1 (en) Die-based high and low priority error queues
US20230325082A1 (en) Method for setting up and expanding storage capacity of cloud without disruption of cloud services and electronic device employing method
CN111399755A (en) Data storage management method and device
CN115344214A (en) Data reading and writing method, device, server and computer readable storage medium
US11971786B2 (en) Backup processing method and server
CN113504875B (en) Method and system for recovering erasure code system based on multistage scheduling
CN106484310B (en) Storage array operation method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant