WO2021139225A1 - Method and apparatus for data usage control for storage system, medium, and electronic device - Google Patents

Method and apparatus for data usage control for storage system, medium, and electronic device Download PDF

Info

Publication number
WO2021139225A1
WO2021139225A1 PCT/CN2020/117945 CN2020117945W WO2021139225A1 WO 2021139225 A1 WO2021139225 A1 WO 2021139225A1 CN 2020117945 W CN2020117945 W CN 2020117945W WO 2021139225 A1 WO2021139225 A1 WO 2021139225A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
average value
time period
predetermined time
storage system
Prior art date
Application number
PCT/CN2020/117945
Other languages
French (fr)
Chinese (zh)
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 WO2021139225A1 publication Critical patent/WO2021139225A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time

Definitions

  • the present disclosure relates to the technical field of artificial intelligence intelligent decision-making, and in particular to a flow control method, device, medium and electronic equipment for a storage system.
  • the inventor realizes that at present, when data is transmitted between the client and the storage system, a fixed flow limit parameter value is usually set.
  • the flow limit parameter value is usually that the client has submitted to the storage system but the client has not received it. Return the total amount of successful data. Setting the flow limit parameter value too low will reduce the data throughput of the client, and setting too high will cause network congestion, especially when the storage system corresponds to multiple clients, which will lead to a longer response time .
  • the purpose of the present disclosure is to provide a flow control method, device, medium, and electronic equipment for a storage system.
  • a flow control method for a storage system including:
  • the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
  • the data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
  • the first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period.
  • a flow control device for a storage system including:
  • the first determining module is configured to determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, wherein the first data set is in the first data set.
  • the data of the sending process is completed within a predetermined period of time, and the sending process is the process from sending data to the storage system until the data is confirmed by the storage system for sending completion, and the first data set includes multiple sets of first unit data , Sending data to the storage system at a first flow rate within the first predetermined time period;
  • the sending module is configured to send data to the storage system at a second flow value within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein
  • the second data set is data that has completed the sending process within a second predetermined time period, the second flow value is greater than the first flow value, and the amount of data included in each group of first unit data is the same size And is consistent with the size of the data amount included in each group of second unit data, and the second predetermined time period is after the first predetermined time period;
  • the second determining module is configured to determine the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
  • the comparing and sending module is configured to compare the first average value of the duration with the second average value of the duration, and based on the comparison result to determine the flow value used to send data to the storage system within a third predetermined time period, And send data to the storage system within a third predetermined time period according to the flow rate value, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  • a computer-readable storage medium that stores computer-readable instructions, and when the computer-readable instructions are executed by a computer, the computer executes the following method:
  • the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
  • the data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
  • the first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period.
  • an electronic device including:
  • a memory where computer readable instructions are stored, and when the computer readable instructions are executed by the processor, the following methods are implemented:
  • the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
  • the data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
  • the first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period.
  • the embodiments of the present disclosure can dynamically perceive the congestion situation of data transmission in the recent period of time, and perform dynamic adjustment of the flow, thereby reducing data congestion and data transmission delay.
  • each client can fairly utilize the resources of the storage system, which also reduces the latency of the entire storage system.
  • Fig. 1 is a schematic diagram showing a system architecture of a flow control method for a storage system according to an exemplary embodiment
  • Fig. 2 is a flow chart showing a flow control method for a storage system according to an exemplary embodiment
  • Fig. 3 is a schematic diagram showing the inclusion relationship between a fourth time period and a first time period and a second time period in a flow control method for a storage system according to an exemplary embodiment
  • 4A-4C are schematic diagrams showing the relationship between various time periods in a flow control method for a storage system according to an exemplary embodiment
  • Fig. 5 is a block diagram showing a flow control device for a storage system according to an exemplary embodiment
  • Fig. 6 is a block diagram showing an example of an electronic device that implements the above-mentioned flow control method for a storage system according to an exemplary embodiment
  • Fig. 7 shows a computer-readable storage medium for implementing the above-mentioned flow control method for a storage system according to an exemplary embodiment.
  • the technical solution of the present application can be applied to the fields of artificial intelligence, blockchain and/or big data technology to perform flow control and realize intelligent decision-making.
  • the data involved in this application can be stored in a database, or can be stored in a blockchain, which is not limited in this application.
  • the storage system may include nodes in the blockchain.
  • the present disclosure first provides a flow control method for a storage system.
  • Storage systems are various systems that can be used to manage and store data or information, such as database management systems.
  • the client corresponding to the storage system is used to send data to the storage system.
  • the architecture between the client and the server can be a B/S (Brower/Server, browser/server) architecture or a C/S (Client/Server, client/server) architecture.
  • B/S Brower/Server, browser/server
  • C/S Client/Server, client/server
  • a fixed flow limit parameter value is usually set.
  • the flow limit parameter value is usually that the client has submitted to the storage system but the client has not received the return success.
  • the total amount of data that is, the so-called flow value.
  • the storage system provided in this disclosure is used for storage systems.
  • the flow control method can realize the dynamic adjustment of the flow value by controlling the flow value, thereby reducing data congestion and reducing data transmission delay.
  • the implementation terminal of the present disclosure can be any device with computing, processing, and communication functions.
  • the device can be connected to an external device to receive or send data.
  • it can be a portable mobile device, such as a smart phone, a tablet computer, a notebook computer, PDA (Personal Digital Assistant), etc., can also be fixed devices, such as computer equipment, field terminals, desktop computers, servers, workstations, etc., or a collection of multiple devices, such as cloud computing physical infrastructure or server clusters .
  • the implementation terminal of the present disclosure may be a server or a physical infrastructure of cloud computing.
  • Fig. 1 is a schematic diagram showing a system architecture of a flow control method for a storage system according to an exemplary embodiment.
  • the system architecture includes a server 110 and a user terminal 120.
  • the user terminal 120 is connected to the server 110 through a wired or wireless communication link. Therefore, the user terminal 120 can send data to the server 110 or receive data from the server 110.
  • the server 110 is provided with a storage system, and the user terminal 120 is provided with There is a corresponding client, and the user terminal 120 is the implementation terminal in this embodiment.
  • a specific process may be as follows: the user terminal 120 continuously generates data and stores it locally, and the user terminal 120 uses the client First, send data to the storage system on the server 110 according to the first flow value, and determine the average duration of each group of data transmission; the user terminal 120 temporarily increases the flow, and uses the second flow value to the storage system on the server 110 Send data, and determine the average value of the time used for each group of data to be sent; finally, the user terminal 120 compares the two calculated time averages to determine the flow value to be used in the next time interval to send data to the server 110 When the current time is in the time interval, the user terminal 120 will send data to the server 110 with the flow value.
  • Figure 1 is only an embodiment of the present disclosure.
  • the user terminal is a computer and the data sent to the storage system is stored locally in the implementation terminal, in other embodiments or practical applications,
  • the user terminal is a variety of devices as described above, for example, it may be a server; although in this embodiment, the user terminal 120 and the server 110 are directly connected through a communication link, but this is only illustrative, and in actual situations Various devices such as proxy servers, gateways, routers, etc. may also be included between the user terminal 120 and the server 110.
  • the present disclosure does not limit this, and the protection scope of the present disclosure should not be limited in any way.
  • Fig. 2 is a flowchart showing a flow control method for a storage system according to an exemplary embodiment.
  • the flow control method for the storage system provided in this embodiment can be executed by the server.
  • the flow control method for the storage system provided in this embodiment can be executed by the client corresponding to the storage system. Execution, as shown in Figure 2, includes the following steps:
  • Step 210 Determine the average value of the time length used in the sending process of each group of first unit data in the first data set as the first time length average value.
  • the first data set is data for which the sending process is completed within a first predetermined time period, and the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system.
  • the first data set includes multiple sets of first unit data, and the data is sent to the storage system at a first flow rate within the first predetermined time period.
  • the storage system can be various systems that can be used to manage and store data or information, such as a database management system.
  • the storage system is a rados cluster system
  • the client corresponding to the storage system is a radosgw instance.
  • RADOS is a scalable and reliable object storage service that can be used in PB-scale data storage clusters.
  • the initial flow value of the client sending data to the storage system for the first time is a predetermined flow value.
  • the first flow rate value may be the predetermined flow rate value.
  • the data sent by the client to the storage system may be electronic data that can be stored by various computers, and may be in various forms such as characters, voice, and video.
  • the sending process of the group of first unit data starts when the client starts to send the group of first unit data to the storage system, and when the group of first unit data is all sent to the storage system ,
  • the storage system will return a confirmation command or response to the client.
  • the client receives the confirmation command or response, the sending process of the first unit of data is over, and the time consumed by this process is within the first predetermined time.
  • Step 220 Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system.
  • the second data set is data for completing the sending process within a second predetermined time period
  • the second flow value is greater than the first flow value
  • the amount of data included in each group of first unit data The size of is the same and consistent with the size of the amount of data included in each group of second unit data
  • the second predetermined time period is located after the first predetermined time period.
  • the data sent to the storage system during the second predetermined time period may be of the same type as the data sent to the storage system during the second predetermined time period.
  • the data sent to the storage system within the second predetermined period of time is at a larger flow rate after the first predetermined period of time. The process of sending data to the storage system.
  • the size of the data amount included in each group of first unit data and the size of the data amount included in each group of second unit data are both predetermined data amounts, and the determination of the first data set in each group
  • the average value of the length of time used in the sending process of a unit of data, as the average value of the first length includes:
  • the following formula can be used to determine the time used in the sending process of each group of the first unit of data in all the data Average length:
  • the method before sending data to the storage system at the second flow value within the second predetermined time period to send each group of second unit data in the second data set to the storage system, the method also includes:
  • the second flow rate value is determined according to the adjustment coefficient and the first flow rate value.
  • the adjustment coefficient can be pre-set artificially based on experience, or it can be generated instantly using a specific algorithm or function.
  • the second flow rate value is I'
  • the adjustment coefficient is k
  • Step 230 Determine an average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value.
  • the sending process of each group of second unit data must use a certain time length, and the average value is calculated by using the time length corresponding to each group of second unit data, which can be used as the second time average value.
  • Step 240 Compare the first duration average value with the second duration average value, and determine the flow value used to send data to the storage system within a third predetermined time period based on the comparison result, and according to the flow rate The value sends data to the storage system within the third predetermined time period.
  • the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  • first duration average value with the second duration average value may be many ways to compare the first duration average value with the second duration average value, for example, direct comparison, ratio comparison, or threshold comparison.
  • the flow value used in the second predetermined time period and the third predetermined time period after the first predetermined time is the flow value obtained after dynamic adjustment.
  • the second predetermined time period is a time period located after the first predetermined time period and adjacent to the first predetermined time period, and the duration of the second predetermined time period is less than that of the first predetermined time period.
  • the duration of a predetermined period of time, said comparing the first duration average value with the second duration average value, and determining the flow value used for sending data to the storage system within the third predetermined period of time based on the comparison result, And sending data to the storage system within a third predetermined time period according to the flow rate value includes:
  • the average value of the first duration is compared with the average value of the second duration, and the first flow value is adjusted based on the comparison result to obtain a third flow value, and the third flow value is taken as the third flow value.
  • the flow value used to send data to the storage system in the third predetermined time period is obtained by adjusting the first flow value
  • the flow value in the future time period is based on the previous time period. Therefore, it can ensure the relative stability of the flow value to a certain extent and reduce the network fluctuation.
  • the adjustment methods used to adjust the first flow value based on the comparison result can be various, for example, it can be adjusted by using basic algorithms, rules or formulas, or by using artificial intelligence or machine learning models. Adjustment.
  • the first flow value is I, Is the average of the first duration, Is the average of the second duration, if At this time, it shows that increasing the flow value will aggravate the congestion, so the adjustment method of the first flow value I can be to use I*1 as the third flow value, that is, keep the first flow value unchanged; if At this time, it shows that increasing the flow value will not aggravate the congestion.
  • the determining the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value includes:
  • Every fourth predetermined time period determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value;
  • the determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value includes:
  • the average value of the time length used in the sending process of each group of second unit data in the second data set is determined as the second time length average value.
  • the method further includes:
  • the counter Whenever the count reaches a predetermined number, the counter is cleared and the flow value remains unchanged until the fifth predetermined period of time ends, and then to the fourth predetermined period of time to determine the first data set in each group.
  • the average value of the time length used in the sending process of a unit of data is used as the step of the first time length average.
  • the number of times of adjusting the flow value is counted by using a counter, and the flow value is kept constant for a period of time according to the counting result, which reduces the frequency of adjusting the flow value, thereby saving computing resources to a certain extent.
  • the storage system corresponds to multiple clients. Therefore, it is possible to reduce the flow pressure of the storage system and reduce the response time by performing flow control on each client separately.
  • the fourth predetermined time period includes the first predetermined time period and the second predetermined time period.
  • the advantage of this is that the average time length corresponding to the most recent time period can be calculated, thereby improving the timeliness of monitoring.
  • the fourth predetermined time period may also include only one of the first predetermined time period and the second predetermined time period.
  • the relationship between the fourth predetermined time period and the first predetermined time period and the second predetermined time period may be multiple.
  • Fig. 3 is a schematic diagram showing an inclusive relationship between a fourth time period and a first time period and a second time period in a flow control method for a storage system according to an exemplary embodiment.
  • the fourth predetermined period of time may be exactly composed of the first predetermined period of time and the second predetermined period of time, and may include the part other than the first predetermined period of time and the second predetermined period of time at the end, or it may be in
  • the header includes a portion outside the first predetermined period of time and the second predetermined period of time.
  • the client can continuously send data to the storage system, so each predetermined time period can be cyclically performed in the time direction.
  • FIGS. 4A-4C are schematic diagrams showing the relationship of various time periods in a flow control method for a storage system according to an exemplary embodiment.
  • the time periods in Figures 4A-4C are: the first predetermined time period 10, the second predetermined time period 20, and the third predetermined time period 30.
  • the fourth predetermined time period between the average value of the previous first time period is calculated. 411. Calculate the fourth predetermined time period 421 between the previous second duration average value, calculate the fourth predetermined time period 412 between the next first duration average value, and calculate the first second duration average value between the next Four predetermined time period 422.
  • the third predetermined time period 30 and the next first predetermined time period 10 are the same time period, and the adopted flow values are the same, that is, after the second predetermined time period 20 ends, a third predetermined time period is determined immediately
  • the third flow value used in the time period 30 is recalculated at the same time as the third predetermined time period 30 as the next first predetermined time period 10, and the determination and adjustment of the flow value are continuously repeated.
  • the third predetermined time period 30 and the next first predetermined time period 10 are not the same time period. After the third predetermined time period 30 starts and lasts for a period of time, the next first predetermined time period 10 is reached. .
  • the third predetermined time period 30 is not entered immediately and the third flow value is used as the flow value used to send data to the storage system, but after a period of time Enter the third predetermined time period 30 and use the third flow value as the flow value used to send data to the storage system.
  • the first flow value used in the previous first predetermined time period 10 can be used as The flow value used during this period.
  • the relationship among the first predetermined time period, the second predetermined time period, the third predetermined time period, and the fourth predetermined time period may be various, and may not be limited to those shown in FIGS. 4A-4C. As long as the dynamic adjustment of the flow value can be achieved.
  • the comparison result is a first comparison result
  • the first time duration average value is compared with the second duration average value
  • the first flow rate value is adjusted based on the comparison result to obtain Before the third flow value
  • the method further includes:
  • the comparing the first duration average value with the second duration average value, and adjusting the first flow value based on the comparison result to obtain a third flow value includes:
  • the first flow value is adjusted based on the first comparison result and the second comparison result to obtain a third flow value.
  • the adjusting the first flow value based on the first comparison result and the second comparison result to obtain a third flow value includes:
  • the intermediate flow value is adjusted based on the second adjustment rule corresponding to the first comparison result to obtain a third flow value.
  • the corresponding adjustment rules are determined according to the first comparison result and the second comparison result, and then the adjustment rules are used to adjust the flow values respectively, thus realizing the dynamics of the flow value of the client sending data to the storage system And fine adjustment, effectively reducing data congestion and data transmission delay.
  • a flow control method for a storage system provided by the embodiment in FIG. 2, it can dynamically sense the congestion of data transmission in the most recent period of time, and dynamically adjust the flow, thereby reducing data congestion and data congestion. Transmission delay.
  • each client can fairly utilize the resources of the storage system, which also reduces the latency of the entire storage system.
  • the present disclosure also provides a flow control device for a storage system.
  • the following are device embodiments of the present disclosure.
  • Fig. 5 is a block diagram showing a flow control device for a storage system according to an exemplary embodiment. As shown in FIG. 5, the device 500 includes:
  • the first determining module 510 is configured to determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, wherein the first data set is The data of the sending process is completed within the first predetermined time period, and the sending process is the process from sending data to the storage system to the data being confirmed by the storage system to send the data, and the first data set includes multiple groups of first units Data, sending data to the storage system at a first flow rate within the first predetermined time period;
  • the sending module 520 is configured to send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein:
  • the second data set is data that has completed the sending process within a second predetermined time period, the second flow value is greater than the first flow value, and the size of the amount of data included in each group of first unit data The same and consistent with the size of the data amount included in each group of second unit data, the second predetermined time period is located after the first predetermined time period;
  • the second determining module 530 is configured to determine an average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
  • the comparison and sending module 540 is configured to compare the first time duration average value with the second time duration average value, and determine the flow value used to send data to the storage system within a third predetermined time period based on the comparison result , And send data to the storage system within a third predetermined time period according to the flow value, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  • an electronic device capable of implementing the above method.
  • the electronic device may include a processor and a memory, and computer readable instructions may be stored on the memory.
  • the processor may be a processing unit, or may be called a processing unit;
  • the memory may be a storage unit, or may be called a storage unit.
  • the electronic device 600 according to this embodiment of the present application will be described below with reference to FIG. 6.
  • the electronic device 600 shown in FIG. 6 is only an example, and should not bring any limitation to the function and scope of use of the embodiments of the present application.
  • the electronic device 600 is represented in the form of a general-purpose computing device.
  • the components of the electronic device 600 may include, but are not limited to: the aforementioned at least one processing unit 610, the aforementioned at least one storage unit 620, and a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610).
  • the storage unit 620 stores program code, and the program code can be executed by the processing unit 610, so that the processing unit 610 executes the various exemplary methods described in the above-mentioned "Embodiment Method" section of this specification. Steps of implementation.
  • the storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 621 and/or a cache storage unit 622, and may further include a read-only storage unit (ROM) 623.
  • the storage unit 620 may also include a program/utility tool 624 having a set of (at least one) program module 625.
  • Such program module 625 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
  • the bus 630 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any bus structure among multiple bus structures. bus.
  • the electronic device 600 may also communicate with one or more external devices 800 (such as keyboards, pointing devices, Bluetooth devices, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 600, and/or communicate with Any device (such as a router, modem, etc.) that enables the electronic device 600 to communicate with one or more other computing devices. Such communication may be performed through an input/output (I/O) interface 650, such as communication with the display unit 640.
  • I/O input/output
  • the electronic device 600 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 660.
  • networks for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
  • the network adapter 660 communicates with other modules of the electronic device 600 through the bus 630.
  • other hardware and/or software modules can be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage system, etc.
  • the example embodiments described here can be implemented by software, or can be implemented by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, U disk, mobile hard disk, etc.) or on the network , Including several instructions to make a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiments of the present disclosure.
  • a computing device which may be a personal computer, a server, a terminal device, or a network device, etc.
  • the computer-readable storage medium stores computer-readable instructions, when the computer-readable instructions are executed by the computer, the computer executes this specification The above method.
  • the medium involved in this application such as a computer-readable storage medium, may be non-volatile or volatile.
  • each aspect of the present application can also be implemented in the form of a program product, which includes program code.
  • the program product runs on a terminal device, the program code is used to make the The terminal device executes the steps according to various exemplary embodiments of the present application described in the above-mentioned "Exemplary Method" section of this specification.
  • a program product 700 for implementing the above method according to an embodiment of the present application is described. It can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be stored in a terminal device, For example, running on a personal computer.
  • the program product of this application is not limited to this.
  • the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device.
  • the program product can use any combination of one or more readable media.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable Type programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • the computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein.
  • This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device.
  • the program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
  • the program code used to perform the operations of this application can be written in any combination of one or more programming languages.
  • the programming languages include object-oriented programming languages—such as Java, C++, etc., as well as conventional procedural programming languages. Programming language-such as "C" language or similar programming language.
  • the program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on.
  • the remote computing device can be connected to a user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (for example, using Internet service providers). Business to connect via the Internet).
  • LAN local area network
  • WAN wide area network
  • Internet service providers for example, using Internet service providers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and apparatus for data usage control for a storage system, a medium, and an electronic device. The method comprises: determining the average value of the time lengths used for the transmission of groups of first unit data in a first data set, and using said value as a first duration average value (210); within a second pre-set time interval, transmitting data to a storage system using a second data usage value, so as to transmitting groups of second unit data in a second data set to the storage system (220); determining the average value of the time lengths used for the transmission of the groups of the second unit data in the second data set, and using said value as a second duration average value (230); comparing the first duration average value with the second duration average value, and determining, on the basis of the comparison result, the data usage value to be used for the data transmission to the storage system within a third pre-set time interval, and, within the third pre-set time interval, transmitting data to the storage system according to said data usage value (240). The present method reduces data congestion and lowers data transmission delay, such that clients can fairly utilize the resources of the storage system.

Description

用于存储***的流量控制方法、装置、介质及电子设备Flow control method, device, medium and electronic equipment for storage system
本申请要求于2020年7月28日提交中国专利局、申请号为202010739611.3,发明名称为“用于存储***的流量控制方法、装置、介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on July 28, 2020, the application number is 202010739611.3, and the invention title is "Flow control methods, devices, media and electronic equipment for storage systems", all of which The content is incorporated in this application by reference.
技术领域Technical field
本公开涉及人工智能的智能决策技术领域,特别涉及一种用于存储***的流量控制方法、装置、介质及电子设备。The present disclosure relates to the technical field of artificial intelligence intelligent decision-making, and in particular to a flow control method, device, medium and electronic equipment for a storage system.
背景技术Background technique
发明人意识到,目前,在客户端和存储***之间进行数据传输时,通常设置一个固定的流量限制参数值,该流量限制参数值通常为客户端已向存储***提交但客户端未收到返回成功的数据总量,该流量限制参数值设置太低会降低客户端的数据吞吐量,设置太高则会导致网络拥塞,特别是当存储***对应多个客户端时,会导致响应时间变长。The inventor realizes that at present, when data is transmitted between the client and the storage system, a fixed flow limit parameter value is usually set. The flow limit parameter value is usually that the client has submitted to the storage system but the client has not received it. Return the total amount of successful data. Setting the flow limit parameter value too low will reduce the data throughput of the client, and setting too high will cause network congestion, especially when the storage system corresponds to multiple clients, which will lead to a longer response time .
发明内容Summary of the invention
在人工智能的智能决策技术领域,为了解决上述技术问题,本公开的目的在于提供一种用于存储***的流量控制方法、装置、介质及电子设备。In the field of artificial intelligence intelligent decision-making technology, in order to solve the above technical problems, the purpose of the present disclosure is to provide a flow control method, device, medium, and electronic equipment for a storage system.
根据本公开的一方面,提供了一种用于存储***的流量控制方法,所述方法包括:According to an aspect of the present disclosure, there is provided a flow control method for a storage system, the method including:
确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;Determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, where the first data set is that the sending is completed within the first predetermined time period Process data, the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein the second data set is The data of the sending process is completed within the second predetermined time period, the second flow value is greater than the first flow value, and the data amount included in each group of first unit data is the same size and is the same as that of each group of second data. The data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;Determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period. Send data to the storage system within three predetermined time periods, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
根据本公开的另一方面,提供了一种用于存储***的流量控制装置,所述装置包括:According to another aspect of the present disclosure, there is provided a flow control device for a storage system, the device including:
第一确定模块,被配置为确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;The first determining module is configured to determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, wherein the first data set is in the first data set. The data of the sending process is completed within a predetermined period of time, and the sending process is the process from sending data to the storage system until the data is confirmed by the storage system for sending completion, and the first data set includes multiple sets of first unit data , Sending data to the storage system at a first flow rate within the first predetermined time period;
发送模块,被配置为在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;The sending module is configured to send data to the storage system at a second flow value within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein The second data set is data that has completed the sending process within a second predetermined time period, the second flow value is greater than the first flow value, and the amount of data included in each group of first unit data is the same size And is consistent with the size of the data amount included in each group of second unit data, and the second predetermined time period is after the first predetermined time period;
第二确定模块,被配置为确定所述第二数据集合中各组第二单位数据的发送过程所使 用的时间长度的平均值,作为第二时长平均值;The second determining module is configured to determine the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
比较和发送模块,被配置为将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The comparing and sending module is configured to compare the first average value of the duration with the second average value of the duration, and based on the comparison result to determine the flow value used to send data to the storage system within a third predetermined time period, And send data to the storage system within a third predetermined time period according to the flow rate value, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
根据本公开的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行以下方法:According to another aspect of the present disclosure, there is provided a computer-readable storage medium that stores computer-readable instructions, and when the computer-readable instructions are executed by a computer, the computer executes the following method:
确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;Determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, where the first data set is that the sending is completed within the first predetermined time period Process data, the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein the second data set is The data of the sending process is completed within the second predetermined time period, the second flow value is greater than the first flow value, and the data amount included in each group of first unit data is the same size and is the same as that of each group of second data. The data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;Determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period. Send data to the storage system within three predetermined time periods, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:According to another aspect of the present disclosure, there is provided an electronic device including:
处理器;processor;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现以下方法:A memory, where computer readable instructions are stored, and when the computer readable instructions are executed by the processor, the following methods are implemented:
确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;Determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, where the first data set is that the sending is completed within the first predetermined time period Process data, the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein the second data set is The data of the sending process is completed within the second predetermined time period, the second flow value is greater than the first flow value, and the data amount included in each group of first unit data is the same size and is the same as that of each group of second data. The data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;Determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period. Send data to the storage system within three predetermined time periods, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
本公开的实施例可以动态感知最近一段时间内数据传输的拥塞情况,并进行流量的动 态调整,从而降低了数据拥塞和数据传输时延。特别是在存储***对应了多个客户端时,各客户端可以公平地利用存储***的资源,也使整个存储***的时延降低。The embodiments of the present disclosure can dynamically perceive the congestion situation of data transmission in the recent period of time, and perform dynamic adjustment of the flow, thereby reducing data congestion and data transmission delay. Especially when the storage system corresponds to multiple clients, each client can fairly utilize the resources of the storage system, which also reduces the latency of the entire storage system.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。It should be understood that the above general description and the following detailed description are only exemplary and cannot limit the application.
附图说明Description of the drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。The drawings herein are incorporated into the specification and constitute a part of the specification, show embodiments that conform to the application, and are used together with the specification to explain the principle of the application.
图1是根据一示例性实施例示出的一种用于存储***的流量控制方法的***架构示意图;Fig. 1 is a schematic diagram showing a system architecture of a flow control method for a storage system according to an exemplary embodiment;
图2是根据一示例性实施例示出的一种用于存储***的流量控制方法的流程图;Fig. 2 is a flow chart showing a flow control method for a storage system according to an exemplary embodiment;
图3是根据一示例性实施例示出的表示用于存储***的流量控制方法中第四时间段与第一时间段及第二时间段的包含关系的示意图;Fig. 3 is a schematic diagram showing the inclusion relationship between a fourth time period and a first time period and a second time period in a flow control method for a storage system according to an exemplary embodiment;
图4A-4C是根据一示例性实施例示出的表示用于存储***的流量控制方法中各时间段的关系示意图;4A-4C are schematic diagrams showing the relationship between various time periods in a flow control method for a storage system according to an exemplary embodiment;
图5是根据一示例性实施例示出的一种用于存储***的流量控制装置的框图;Fig. 5 is a block diagram showing a flow control device for a storage system according to an exemplary embodiment;
图6是根据一示例性实施例示出的一种实现上述用于存储***的流量控制方法的电子设备示例框图;Fig. 6 is a block diagram showing an example of an electronic device that implements the above-mentioned flow control method for a storage system according to an exemplary embodiment;
图7是根据一示例性实施例示出的一种实现上述用于存储***的流量控制方法的计算机可读存储介质。Fig. 7 shows a computer-readable storage medium for implementing the above-mentioned flow control method for a storage system according to an exemplary embodiment.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。The exemplary embodiments will be described in detail here, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the application as detailed in the appended claims.
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。In addition, the drawings are only schematic illustrations of the present disclosure, and are not necessarily drawn to scale. The same reference numerals in the figures denote the same or similar parts, and thus their repeated description will be omitted. Some of the block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities.
本申请的技术方案可应用于人工智能、区块链和/或大数据技术领域,以进行流量控制,实现智能决策。可选的,本申请涉及的数据可存储于数据库中,或者可以存储于区块链中,本申请不做限定。例如,存储***可以包括区块链中的节点。The technical solution of the present application can be applied to the fields of artificial intelligence, blockchain and/or big data technology to perform flow control and realize intelligent decision-making. Optionally, the data involved in this application can be stored in a database, or can be stored in a blockchain, which is not limited in this application. For example, the storage system may include nodes in the blockchain.
本公开首先提供了一种用于存储***的流量控制方法。存储***是各种能够用于管理、存储数据或者信息的***,比如可以是数据库管理***。通常情况下,利用与存储***对应的客户端来向存储***发送数据。客户端与服务器之间的架构可以是B/S(Brower/Server,浏览器/服务器)架构,也可以是C/S(Client/Server,客户机/服务器)架构。如前所述,在客户端和存储***之间进行数据传输时,通常设置一个固定的流量限制参数值,该流量限制参数值通常为客户端已向存储***提交但客户端未收到返回成功的数据总量,也就是所谓的流量值,目前,由于网络状态通常是动态变化的,因此无法设置一个合理的流量值来减少数据拥塞和数据传输时延,而本公开提供的用于存储***的流量控制方法就可以通过控制流量值实现流量值的动态调整,从而减少数据拥塞并降低数据传输时延。The present disclosure first provides a flow control method for a storage system. Storage systems are various systems that can be used to manage and store data or information, such as database management systems. Usually, the client corresponding to the storage system is used to send data to the storage system. The architecture between the client and the server can be a B/S (Brower/Server, browser/server) architecture or a C/S (Client/Server, client/server) architecture. As mentioned earlier, when data is transferred between the client and the storage system, a fixed flow limit parameter value is usually set. The flow limit parameter value is usually that the client has submitted to the storage system but the client has not received the return success. The total amount of data, that is, the so-called flow value. At present, because the network status is usually dynamically changing, it is impossible to set a reasonable flow value to reduce data congestion and data transmission delay. However, the storage system provided in this disclosure is used for storage systems. The flow control method can realize the dynamic adjustment of the flow value by controlling the flow value, thereby reducing data congestion and reducing data transmission delay.
本公开的实施终端可以是任何具有运算、处理以及通信功能的设备,该设备可以与外部设备相连,用于接收或者发送数据,具体可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施或者服务器集群。The implementation terminal of the present disclosure can be any device with computing, processing, and communication functions. The device can be connected to an external device to receive or send data. Specifically, it can be a portable mobile device, such as a smart phone, a tablet computer, a notebook computer, PDA (Personal Digital Assistant), etc., can also be fixed devices, such as computer equipment, field terminals, desktop computers, servers, workstations, etc., or a collection of multiple devices, such as cloud computing physical infrastructure or server clusters .
可选地,本公开的实施终端可以为服务器或者云计算的物理基础设施。Optionally, the implementation terminal of the present disclosure may be a server or a physical infrastructure of cloud computing.
图1是根据一示例性实施例示出的一种用于存储***的流量控制方法的***架构示意图。如图1所示,该***架构包括服务器110和用户终端120。用户终端120与服务器110通过有线或者无线通信链路相连,因此,用户终端120可以向服务器110发送数据,也可以接收来自服务器110的数据,服务器110上设有存储***,而用户终端120上设有对应的客户端,用户终端120为本实施例中的实施终端。当本公开提供的用于存储***的流量控制方法应用于图1所示的***架构中时,一个具体过程可以是这样的:用户终端120持续生成数据并存储至本地,用户终端120利用客户端首先按照第一流量值向服务器110上的存储***发送数据,并确定各组数据发送完成所使用的时长平均值;用户终端120短暂增大流量,以第二流量值向服务器110上的存储***发送数据,并确定各组数据发送完成所使用的时长平均值;最后,用户终端120通过将两次计算出的时长平均值作对比来确定下一个时间区间向服务器110发送数据要采用的流量值,在当前时间位于该时间区间时,用户终端120就会以该流量值向服务器110发送数据。Fig. 1 is a schematic diagram showing a system architecture of a flow control method for a storage system according to an exemplary embodiment. As shown in FIG. 1, the system architecture includes a server 110 and a user terminal 120. The user terminal 120 is connected to the server 110 through a wired or wireless communication link. Therefore, the user terminal 120 can send data to the server 110 or receive data from the server 110. The server 110 is provided with a storage system, and the user terminal 120 is provided with There is a corresponding client, and the user terminal 120 is the implementation terminal in this embodiment. When the flow control method for a storage system provided by the present disclosure is applied to the system architecture shown in FIG. 1, a specific process may be as follows: the user terminal 120 continuously generates data and stores it locally, and the user terminal 120 uses the client First, send data to the storage system on the server 110 according to the first flow value, and determine the average duration of each group of data transmission; the user terminal 120 temporarily increases the flow, and uses the second flow value to the storage system on the server 110 Send data, and determine the average value of the time used for each group of data to be sent; finally, the user terminal 120 compares the two calculated time averages to determine the flow value to be used in the next time interval to send data to the server 110 When the current time is in the time interval, the user terminal 120 will send data to the server 110 with the flow value.
值得一提的是,图1仅为本公开的一个实施例,虽然在本实施例中用户终端为计算机并且向存储***发送的数据存储于实施终端本地,但在其他实施例或者实际应用中,用户终端为如前所述的各种设备,比如可以是服务器;虽然在本实施例中,用户终端120与服务器110直接通过通信链路相连,但此处仅仅是示意性的,在实际情况下,用户终端120与服务器110之间还可以包括代理服务器、网关、路由器等各种设备。本公开对此不作限定,本公开的保护范围也不应因此而受到任何限制。It is worth mentioning that Figure 1 is only an embodiment of the present disclosure. Although in this embodiment the user terminal is a computer and the data sent to the storage system is stored locally in the implementation terminal, in other embodiments or practical applications, The user terminal is a variety of devices as described above, for example, it may be a server; although in this embodiment, the user terminal 120 and the server 110 are directly connected through a communication link, but this is only illustrative, and in actual situations Various devices such as proxy servers, gateways, routers, etc. may also be included between the user terminal 120 and the server 110. The present disclosure does not limit this, and the protection scope of the present disclosure should not be limited in any way.
图2是根据一示例性实施例示出的一种用于存储***的流量控制方法的流程图。在物理层面上,本实施例提供的用于存储***的流量控制方法可以由服务器执行,在软件层面上,本实施例提供的用于存储***的流量控制方法可以由与存储***对应的客户端执行,如图2所示,包括以下步骤:Fig. 2 is a flowchart showing a flow control method for a storage system according to an exemplary embodiment. At the physical level, the flow control method for the storage system provided in this embodiment can be executed by the server. At the software level, the flow control method for the storage system provided in this embodiment can be executed by the client corresponding to the storage system. Execution, as shown in Figure 2, includes the following steps:
步骤210,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。Step 210: Determine the average value of the time length used in the sending process of each group of first unit data in the first data set as the first time length average value.
其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据。Wherein, the first data set is data for which the sending process is completed within a first predetermined time period, and the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system. The first data set includes multiple sets of first unit data, and the data is sent to the storage system at a first flow rate within the first predetermined time period.
如前所述,存储***可以是各种能够用于管理、存储数据或者信息的***,比如可以是数据库管理***。As mentioned above, the storage system can be various systems that can be used to manage and store data or information, such as a database management system.
在一个实施例中,所述存储***为rados集群***,所述存储***对应的客户端为radosgw实例。In one embodiment, the storage system is a rados cluster system, and the client corresponding to the storage system is a radosgw instance.
RADOS是一个可用于PB级规模数据存储集群的可伸缩的、可靠的对象存储服务。RADOS is a scalable and reliable object storage service that can be used in PB-scale data storage clusters.
在一个实施例中,客户端首次向存储***发送数据的初始流量值为预定流量值。比如,第一流量值便可以是该预定流量值。In one embodiment, the initial flow value of the client sending data to the storage system for the first time is a predetermined flow value. For example, the first flow rate value may be the predetermined flow rate value.
所述客户端向所述存储***发送的数据可以是各种计算机能够存储的电子数据,可以是字符、语音、视频等各种形式。The data sent by the client to the storage system may be electronic data that can be stored by various computers, and may be in various forms such as characters, voice, and video.
对于一组第一单位数据而言,该组第一单位数据的发送过程起始于客户端开始向存储***发送该组第一单位数据,当该组第一单位数据被全部发送至存储***后,存储***会向该客户端返回确认指令或应答,当客户端收到该确认指令或应答时,该组第一单位数据的发送过程便结束,这个过程所消耗的时间均在第一预定时间段内。For a group of first unit data, the sending process of the group of first unit data starts when the client starts to send the group of first unit data to the storage system, and when the group of first unit data is all sent to the storage system , The storage system will return a confirmation command or response to the client. When the client receives the confirmation command or response, the sending process of the first unit of data is over, and the time consumed by this process is within the first predetermined time. Within paragraph.
步骤220,在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***。Step 220: Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system.
其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第 二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后。Wherein, the second data set is data for completing the sending process within a second predetermined time period, the second flow value is greater than the first flow value, and the amount of data included in each group of first unit data The size of is the same and consistent with the size of the amount of data included in each group of second unit data, and the second predetermined time period is located after the first predetermined time period.
在第二预定时间段向存储***发送的数据可以与在第二预定时间段向存储***发送的数据的类型相同。The data sent to the storage system during the second predetermined time period may be of the same type as the data sent to the storage system during the second predetermined time period.
由于第二流量值大于第一流量值,并且第二预定时间段位于第一预定时间段之后,所以在第二预定时间段内向存储***发送数据是在第一预定时间段之后以较大的流量值向存储***发送数据的过程。Since the second flow rate value is greater than the first flow rate value, and the second predetermined period of time is located after the first predetermined period of time, the data sent to the storage system within the second predetermined period of time is at a larger flow rate after the first predetermined period of time. The process of sending data to the storage system.
在一个实施例中,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:In an embodiment, the size of the data amount included in each group of first unit data and the size of the data amount included in each group of second unit data are both predetermined data amounts, and the determination of the first data set in each group The average value of the length of time used in the sending process of a unit of data, as the average value of the first length, includes:
获取第一数据集合所包括的数据总量;Acquiring the total amount of data included in the first data set;
基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。Determine the average value of the length of time used in the sending process of each group of first unit data in the first data set based on the length of the first predetermined period of time, the total amount of data, and the predetermined amount of data, as the first average value of time .
比如,预定数据量8192kB(Kilobyte),第一预定时间段的时长为t,数据总量为N,则可以利用如下公式确定所述所有数据中各组第一单位数据的发送过程所使用的时间长度的平均值:For example, if the amount of data is 8192kB (Kilobyte), the duration of the first predetermined period of time is t, and the total amount of data is N, the following formula can be used to determine the time used in the sending process of each group of the first unit of data in all the data Average length:
Figure PCTCN2020117945-appb-000001
Figure PCTCN2020117945-appb-000001
其中,
Figure PCTCN2020117945-appb-000002
为确定出的第一时长平均值。
among them,
Figure PCTCN2020117945-appb-000002
Is the determined average value of the first duration.
在一个实施例中,在在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***之前,所述方法还包括:In one embodiment, before sending data to the storage system at the second flow value within the second predetermined time period to send each group of second unit data in the second data set to the storage system, The method also includes:
根据调整系数和所述第一流量值确定第二流量值。The second flow rate value is determined according to the adjustment coefficient and the first flow rate value.
调整系数可以是根据经验预先人为设定的,也可以是利用特定的算法或函数即时生成的。The adjustment coefficient can be pre-set artificially based on experience, or it can be generated instantly using a specific algorithm or function.
比如,若第一流量值为I,第二流量值为I',调整系数为k,则第二流量值I'=k*I。For example, if the first flow rate value is I, the second flow rate value is I', and the adjustment coefficient is k, then the second flow rate value I'=k*I.
步骤230,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。Step 230: Determine an average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value.
每组第二单位数据的发送过程都要使用一定的时间长度,利用各组第二单位数据对应的时间长度计算出平均值,可以作为第二时长平均值。The sending process of each group of second unit data must use a certain time length, and the average value is calculated by using the time length corresponding to each group of second unit data, which can be used as the second time average value.
步骤240,将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据。Step 240: Compare the first duration average value with the second duration average value, and determine the flow value used to send data to the storage system within a third predetermined time period based on the comparison result, and according to the flow rate The value sends data to the storage system within the third predetermined time period.
其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。Wherein, the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
将第一时长平均值与第二时长平均值作比较的方式可以有多种,比如可以是直接比较,也可以是利用比值进行比较,还可以是利用阈值进行比较。There may be many ways to compare the first duration average value with the second duration average value, for example, direct comparison, ratio comparison, or threshold comparison.
在本步骤中,第二预定时间段及第一预定时间之后的第三预定时间段所采用的流量值,该流量值便是经过动态调整后得到的流量值。In this step, the flow value used in the second predetermined time period and the third predetermined time period after the first predetermined time is the flow value obtained after dynamic adjustment.
在一个实施例中,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,包括:In one embodiment, the second predetermined time period is a time period located after the first predetermined time period and adjacent to the first predetermined time period, and the duration of the second predetermined time period is less than that of the first predetermined time period. The duration of a predetermined period of time, said comparing the first duration average value with the second duration average value, and determining the flow value used for sending data to the storage system within the third predetermined period of time based on the comparison result, And sending data to the storage system within a third predetermined time period according to the flow rate value includes:
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量 值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;The average value of the first duration is compared with the average value of the second duration, and the first flow value is adjusted based on the comparison result to obtain a third flow value, and the third flow value is taken as the third flow value. The flow value used to send data to the storage system within a predetermined time period;
按照所述流量值在第三预定时间段内向所述存储***发送数据。Sending data to the storage system within a third predetermined time period according to the flow rate value.
在本实施例中,由于在第三预定时间段内向存储***发送数据所采用的流量值是对第一流量值进行调整而得到的,这样就使得未来时间段的流量值是基于之前时间段的流量值而生成的,因此可以在一定程度上保证流量值的相对平稳,降低网络波动。In this embodiment, since the flow value used to send data to the storage system in the third predetermined time period is obtained by adjusting the first flow value, the flow value in the future time period is based on the previous time period. Therefore, it can ensure the relative stability of the flow value to a certain extent and reduce the network fluctuation.
基于比较结果对所述第一流量值进行调整所采用的调整方式可以是各种各样的,比如可以是利用基础的算法、规则或公式进行调整,也可以是利用人工智能或机器学习模型进行调整。The adjustment methods used to adjust the first flow value based on the comparison result can be various, for example, it can be adjusted by using basic algorithms, rules or formulas, or by using artificial intelligence or machine learning models. Adjustment.
比如,第一流量值为I,
Figure PCTCN2020117945-appb-000003
为第一时长平均值,
Figure PCTCN2020117945-appb-000004
为第二时长平均值,若
Figure PCTCN2020117945-appb-000005
此时说明增加流量值会使得拥塞加剧,则对第一流量值I的调整方式可以为将I*1作为第三流量值,即将第一流量值保持不变;若
Figure PCTCN2020117945-appb-000006
此时说明增加流量值会并不加剧拥塞,则对第一流量值I的调整方式可以为将I=I+S作为第三流量值,其中S为在第一流量值I的基础上所增加的流量值的步进量。
For example, the first flow value is I,
Figure PCTCN2020117945-appb-000003
Is the average of the first duration,
Figure PCTCN2020117945-appb-000004
Is the average of the second duration, if
Figure PCTCN2020117945-appb-000005
At this time, it shows that increasing the flow value will aggravate the congestion, so the adjustment method of the first flow value I can be to use I*1 as the third flow value, that is, keep the first flow value unchanged; if
Figure PCTCN2020117945-appb-000006
At this time, it shows that increasing the flow value will not aggravate the congestion. The adjustment method of the first flow value I can be I=I+S as the third flow value, where S is the increase on the basis of the first flow value I The step amount of the flow value.
在一个实施例中,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:In an embodiment, the determining the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value includes:
每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;Every fourth predetermined time period, determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value;
所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:The determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value includes:
每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。Every fourth predetermined time period, the average value of the time length used in the sending process of each group of second unit data in the second data set is determined as the second time length average value.
在一个实施例中,对应于上述实施例,所述方法还包括:In an embodiment, corresponding to the foregoing embodiment, the method further includes:
通过预设计数器对调整流量值的次数进行计数;Count the number of times of adjusting the flow value through a preset counter;
每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。Whenever the count reaches a predetermined number, the counter is cleared and the flow value remains unchanged until the fifth predetermined period of time ends, and then to the fourth predetermined period of time to determine the first data set in each group. The average value of the time length used in the sending process of a unit of data is used as the step of the first time length average.
在本实施例中,通过利用计数器对调整流量值的次数进行计数,并依据计数结果在一段时间内保持流量值不变,降低了流量值的调整频率,从而在一定程度上节约了计算资源。In this embodiment, the number of times of adjusting the flow value is counted by using a counter, and the flow value is kept constant for a period of time according to the counting result, which reduces the frequency of adjusting the flow value, thereby saving computing resources to a certain extent.
在一个实施例中,所述存储***对应着多个客户端。因此,这样可以通过对各客户端分别进行流量控制,减轻存储***的流量压力,降低响应时间。In one embodiment, the storage system corresponds to multiple clients. Therefore, it is possible to reduce the flow pressure of the storage system and reduce the response time by performing flow control on each client separately.
在一个实施例中,所述第四预定时间段包括所述第一预定时间段和所述第二预定时间段。In one embodiment, the fourth predetermined time period includes the first predetermined time period and the second predetermined time period.
这样做的好处是,可以计算出最近的时间段对应的时间长度的平均值,从而提高监测的及时性。The advantage of this is that the average time length corresponding to the most recent time period can be calculated, thereby improving the timeliness of monitoring.
当然,第四预定时间段也可以仅包括第一预定时间段和第二预定时间段中的一个。Of course, the fourth predetermined time period may also include only one of the first predetermined time period and the second predetermined time period.
在第四预定时间段包括第一预定时间段和第二预定时间段的情况下,第四预定时间段与第一预定时间段和第二预定时间段的关系可以有多种。In the case where the fourth predetermined time period includes the first predetermined time period and the second predetermined time period, the relationship between the fourth predetermined time period and the first predetermined time period and the second predetermined time period may be multiple.
图3是根据一示例性实施例示出的表示用于存储***的流量控制方法中第四时间段与第一时间段及第二时间段的包含关系的示意图。参见图3所示,第四预定时间段可以恰好由第一预定时间段和第二预定时间段组成,可以在尾部包括第一预定时间段和第二预定时间段之外的部分,也可以在头部包括第一预定时间段和第二预定时间段之外的部分。Fig. 3 is a schematic diagram showing an inclusive relationship between a fourth time period and a first time period and a second time period in a flow control method for a storage system according to an exemplary embodiment. As shown in Figure 3, the fourth predetermined period of time may be exactly composed of the first predetermined period of time and the second predetermined period of time, and may include the part other than the first predetermined period of time and the second predetermined period of time at the end, or it may be in The header includes a portion outside the first predetermined period of time and the second predetermined period of time.
客户端可以持续地向存储***发送数据,因此各预定时间段可以是在时间方向上循环往复地进行。The client can continuously send data to the storage system, so each predetermined time period can be cyclically performed in the time direction.
具体而言,第一预定时间段、第二预定时间段、第三预定时间段以及第四预定时间段的可能关系可以如图4A-4C所示。图4A-4C是根据一示例性实施例示出的表示用于存储***的流量控制方法中各时间段的关系示意图。在图4A-4C中的各时间段分别为:第一预定时间段10、第二预定时间段20、第三预定时间段30,计算前一个第一时长平均值所间隔的第四预定时间段411,计算前一个第二时长平均值所间隔的第四预定时间段421,计算后一个第一时长平均值所间隔的第四预定时间段412,计算后一个第二时长平均值所间隔的第四预定时间段422。Specifically, the possible relationships among the first predetermined time period, the second predetermined time period, the third predetermined time period, and the fourth predetermined time period may be as shown in FIGS. 4A-4C. 4A-4C are schematic diagrams showing the relationship of various time periods in a flow control method for a storage system according to an exemplary embodiment. The time periods in Figures 4A-4C are: the first predetermined time period 10, the second predetermined time period 20, and the third predetermined time period 30. The fourth predetermined time period between the average value of the previous first time period is calculated. 411. Calculate the fourth predetermined time period 421 between the previous second duration average value, calculate the fourth predetermined time period 412 between the next first duration average value, and calculate the first second duration average value between the next Four predetermined time period 422.
在图4A中,第三预定时间段30和后一个第一预定时间段10为同一时间段,采用的流量值是一致的,即在第二预定时间段20结束后,随即确定一个第三预定时间段30采用的第三流量值,同时将该第三预定时间段30作为下一个第一预定时间段10重新计算,不断重复进行流量值的确定和调整。In Figure 4A, the third predetermined time period 30 and the next first predetermined time period 10 are the same time period, and the adopted flow values are the same, that is, after the second predetermined time period 20 ends, a third predetermined time period is determined immediately The third flow value used in the time period 30 is recalculated at the same time as the third predetermined time period 30 as the next first predetermined time period 10, and the determination and adjustment of the flow value are continuously repeated.
在图4B中,第三预定时间段30和后一个第一预定时间段10不为同一时间段,在第三预定时间段30开始并持续一段时间后,才抵达后一个第一预定时间段10。In FIG. 4B, the third predetermined time period 30 and the next first predetermined time period 10 are not the same time period. After the third predetermined time period 30 starts and lasts for a period of time, the next first predetermined time period 10 is reached. .
在图4C中,在前一个第二预定时间段20结束后并不立即进入第三预定时间段30并将第三流量值作为向存储***发送数据所采用的流量值,而是在一段时间后才进入第三预定时间段30并将第三流量值作为向存储***发送数据所采用的流量值,在该段时间内,可以将前一个第一预定时间段10所采用的第一流量值作为该段时间内采用的流量值。In FIG. 4C, after the previous second predetermined time period 20 ends, the third predetermined time period 30 is not entered immediately and the third flow value is used as the flow value used to send data to the storage system, but after a period of time Enter the third predetermined time period 30 and use the third flow value as the flow value used to send data to the storage system. During this period of time, the first flow value used in the previous first predetermined time period 10 can be used as The flow value used during this period.
因此,第一预定时间段、第二预定时间段、第三预定时间段以及第四预定时间段的之间的关系可以是多种多样的,也可以不限于图4A-4C所示的那些,只要能够实现流量值的动态调整即可。Therefore, the relationship among the first predetermined time period, the second predetermined time period, the third predetermined time period, and the fourth predetermined time period may be various, and may not be limited to those shown in FIGS. 4A-4C. As long as the dynamic adjustment of the flow value can be achieved.
在一个实施例中,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述方法还包括:In an embodiment, the comparison result is a first comparison result, and the first time duration average value is compared with the second duration average value, and the first flow rate value is adjusted based on the comparison result to obtain Before the third flow value, the method further includes:
将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;Comparing the first time length average value corresponding to the last first predetermined time period with the first time length average value corresponding to a first predetermined time period before the last first predetermined time period to obtain a second comparison result;
所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:The comparing the first duration average value with the second duration average value, and adjusting the first flow value based on the comparison result to obtain a third flow value includes:
将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;Comparing the first duration average value with the second duration average value to obtain a first comparison result;
基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。The first flow value is adjusted based on the first comparison result and the second comparison result to obtain a third flow value.
在一个实施例中,所述基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值,包括:In an embodiment, the adjusting the first flow value based on the first comparison result and the second comparison result to obtain a third flow value includes:
基于与所述第二比较结果对应的第一调整规则对所述第一流量值进行调整,得到中间流量值;Adjusting the first flow value based on the first adjustment rule corresponding to the second comparison result to obtain an intermediate flow value;
基于与所述第一比较结果对应的第二调整规则对所述中间流量值进行调整,得到第三流量值。The intermediate flow value is adjusted based on the second adjustment rule corresponding to the first comparison result to obtain a third flow value.
比如,若第一流量值为I,最近一个第一预定时间段对应的第一时长平均值为
Figure PCTCN2020117945-appb-000007
最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值为
Figure PCTCN2020117945-appb-000008
第二时长平均值为
Figure PCTCN2020117945-appb-000009
对应的第一调整规则为:若
Figure PCTCN2020117945-appb-000010
则利用I=I-S调整第一流量值I;若
Figure PCTCN2020117945-appb-000011
则保持第一流量值不变。对应的第二调整规则为:若
Figure PCTCN2020117945-appb-000012
则保持中间流量值不变;若
Figure PCTCN2020117945-appb-000013
则利用I=I+S调整中间流量值,其中,S为所调整的流量值的步进量,△为时长平均值的预设幅值。
For example, if the first flow rate value is I, the first duration average value corresponding to the last first predetermined time period is
Figure PCTCN2020117945-appb-000007
The average value of the first duration corresponding to the first predetermined time period before the most recent first predetermined time period is
Figure PCTCN2020117945-appb-000008
The second duration average is
Figure PCTCN2020117945-appb-000009
The corresponding first adjustment rule is: if
Figure PCTCN2020117945-appb-000010
Then use I=IS to adjust the first flow value I; if
Figure PCTCN2020117945-appb-000011
Keep the first flow rate unchanged. The corresponding second adjustment rule is: if
Figure PCTCN2020117945-appb-000012
Keep the intermediate flow value unchanged; if
Figure PCTCN2020117945-appb-000013
Then use I=I+S to adjust the intermediate flow value, where S is the step size of the adjusted flow value, and △ is the preset amplitude of the average duration.
那么,最终调整得到的第三流量值A可以利用如下公式计算:Then, the finally adjusted third flow value A can be calculated using the following formula:
Figure PCTCN2020117945-appb-000014
Figure PCTCN2020117945-appb-000014
在本实施例中,通过根据第一比较结果以及第二比较结果确定对应的调整规则,然后利用调整规则分别对流量值进行调整,这样便实现了客户端向存储***发送数据的流量值的动态和精细化调整,有效降低了数据拥塞和数据传输时延。In this embodiment, the corresponding adjustment rules are determined according to the first comparison result and the second comparison result, and then the adjustment rules are used to adjust the flow values respectively, thus realizing the dynamics of the flow value of the client sending data to the storage system And fine adjustment, effectively reducing data congestion and data transmission delay.
综上所述,根据图2实施例提供的一种用于存储***的流量控制方法,可以动态感知最近一段时间内数据传输的拥塞情况,并进行流量的动态调整,从而降低了数据拥塞和数据传输时延。特别是在存储***对应了多个客户端时,各客户端可以公平地利用存储***的资源,也使整个存储***的时延降低。In summary, according to a flow control method for a storage system provided by the embodiment in FIG. 2, it can dynamically sense the congestion of data transmission in the most recent period of time, and dynamically adjust the flow, thereby reducing data congestion and data congestion. Transmission delay. Especially when the storage system corresponds to multiple clients, each client can fairly utilize the resources of the storage system, which also reduces the latency of the entire storage system.
本公开还提供了一种用于存储***的流量控制装置,以下是本公开的装置实施例。The present disclosure also provides a flow control device for a storage system. The following are device embodiments of the present disclosure.
图5是根据一示例性实施例示出的一种用于存储***的流量控制装置的框图。如图5所示,该装置500包括:Fig. 5 is a block diagram showing a flow control device for a storage system according to an exemplary embodiment. As shown in FIG. 5, the device 500 includes:
第一确定模块510,被配置为确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;The first determining module 510 is configured to determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, wherein the first data set is The data of the sending process is completed within the first predetermined time period, and the sending process is the process from sending data to the storage system to the data being confirmed by the storage system to send the data, and the first data set includes multiple groups of first units Data, sending data to the storage system at a first flow rate within the first predetermined time period;
发送模块520,被配置为在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;The sending module 520 is configured to send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein: The second data set is data that has completed the sending process within a second predetermined time period, the second flow value is greater than the first flow value, and the size of the amount of data included in each group of first unit data The same and consistent with the size of the data amount included in each group of second unit data, the second predetermined time period is located after the first predetermined time period;
第二确定模块530,被配置为确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;The second determining module 530 is configured to determine an average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
比较和发送模块540,被配置为将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The comparison and sending module 540 is configured to compare the first time duration average value with the second time duration average value, and determine the flow value used to send data to the storage system within a third predetermined time period based on the comparison result , And send data to the storage system within a third predetermined time period according to the flow value, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
根据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。其中,该电子设备可包括:处理器和存储器,该存储器上可存储有计算机可读指令,该计算机可读指令被处理器执行时,可实现上述方法中的部分或全部步骤。可选的,该处理器可以为处理单元,或者说可以称为处理单元;存储器可以为存储单元,或者说可以称为存储单元。According to the third aspect of the present disclosure, there is also provided an electronic device capable of implementing the above method. The electronic device may include a processor and a memory, and computer readable instructions may be stored on the memory. When the computer readable instructions are executed by the processor, some or all of the steps in the above method can be implemented. Optionally, the processor may be a processing unit, or may be called a processing unit; the memory may be a storage unit, or may be called a storage unit.
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。Those skilled in the art can understand that various aspects of the present application can be implemented as a system, a method, or a program product. Therefore, each aspect of the present application can be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which can be collectively referred to herein as "Circuit", "Module" or "System".
下面参照图6来描述根据本申请的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同***组件(包括存储单元620和处理单元610)的总线630。其中,所述存储单元存储有程序代码,所述程序代码 可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。The electronic device 600 according to this embodiment of the present application will be described below with reference to FIG. 6. The electronic device 600 shown in FIG. 6 is only an example, and should not bring any limitation to the function and scope of use of the embodiments of the present application. As shown in FIG. 6, the electronic device 600 is represented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: the aforementioned at least one processing unit 610, the aforementioned at least one storage unit 620, and a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610). Wherein, the storage unit stores program code, and the program code can be executed by the processing unit 610, so that the processing unit 610 executes the various exemplary methods described in the above-mentioned "Embodiment Method" section of this specification. Steps of implementation. The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 621 and/or a cache storage unit 622, and may further include a read-only storage unit (ROM) 623. The storage unit 620 may also include a program/utility tool 624 having a set of (at least one) program module 625. Such program module 625 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备600也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行,比如与显示单元640通信。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。The bus 630 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any bus structure among multiple bus structures. bus. The electronic device 600 may also communicate with one or more external devices 800 (such as keyboards, pointing devices, Bluetooth devices, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 600, and/or communicate with Any device (such as a router, modem, etc.) that enables the electronic device 600 to communicate with one or more other computing devices. Such communication may be performed through an input/output (I/O) interface 650, such as communication with the display unit 640. In addition, the electronic device 600 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 660. As shown in the figure, the network adapter 660 communicates with other modules of the electronic device 600 through the bus 630. It should be understood that although not shown in the figure, other hardware and/or software modules can be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage system, etc.
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。Through the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described here can be implemented by software, or can be implemented by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, U disk, mobile hard disk, etc.) or on the network , Including several instructions to make a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiments of the present disclosure.
根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行本说明书上述的方法。According to the fourth aspect of the present disclosure, there is also provided a computer-readable storage medium, the computer-readable storage medium stores computer-readable instructions, when the computer-readable instructions are executed by the computer, the computer executes this specification The above method.
可选的,本申请涉及的介质如计算机可读存储介质可以是非易失性的,也可以是易失性的。Optionally, the medium involved in this application, such as a computer-readable storage medium, may be non-volatile or volatile.
在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。In some possible implementation manners, each aspect of the present application can also be implemented in the form of a program product, which includes program code. When the program product runs on a terminal device, the program code is used to make the The terminal device executes the steps according to various exemplary embodiments of the present application described in the above-mentioned "Exemplary Method" section of this specification.
参考图7所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光 信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。Referring to FIG. 7, a program product 700 for implementing the above method according to an embodiment of the present application is described. It can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be stored in a terminal device, For example, running on a personal computer. However, the program product of this application is not limited to this. In this document, the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device. The program product can use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable Type programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above. The computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. The readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device. The program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。The program code used to perform the operations of this application can be written in any combination of one or more programming languages. The programming languages include object-oriented programming languages—such as Java, C++, etc., as well as conventional procedural programming languages. Programming language-such as "C" language or similar programming language. The program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on. In the case of a remote computing device, the remote computing device can be connected to a user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (for example, using Internet service providers). Business to connect via the Internet).
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。In addition, the above-mentioned drawings are merely schematic illustrations of the processing included in the method according to the exemplary embodiments of the present application, and are not intended for limitation. It is easy to understand that the processing shown in the above drawings does not indicate or limit the time sequence of these processings. In addition, it is easy to understand that these processes can be executed synchronously or asynchronously in multiple modules, for example. It should be understood that the present application is not limited to the precise structure that has been described above and shown in the drawings, and various modifications and changes can be performed without departing from its scope. The scope of the application is only limited by the appended claims.

Claims (20)

  1. 一种用于存储***的流量控制方法,其特征在于,所述方法包括:A flow control method for a storage system, characterized in that the method includes:
    确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;Determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, where the first data set is that the sending is completed within the first predetermined time period Process data, the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
    在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein the second data set is The data of the sending process is completed within the second predetermined time period, the second flow value is greater than the first flow value, and the data amount included in each group of first unit data is the same size and is the same as that of each group of second data. The data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
    确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;Determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period. Send data to the storage system within three predetermined time periods, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  2. 根据权利要求1所述的方法,其特征在于,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,包括:The method according to claim 1, wherein the second predetermined time period is a time period that is located after the first predetermined time period and is adjacent to the first predetermined time period, and the second predetermined time period The time length of is less than the time length of the first predetermined time period, the first time average value is compared with the second time length average value, and it is determined based on the comparison result to send to the storage system within the third predetermined time period The flow value used by the data, and sending the data to the storage system within the third predetermined time period according to the flow value, includes:
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;The average value of the first duration is compared with the average value of the second duration, and the first flow value is adjusted based on the comparison result to obtain a third flow value, and the third flow value is taken as the third flow value. The flow value used to send data to the storage system within a predetermined time period;
    按照所述流量值在第三预定时间段内向所述存储***发送数据。Sending data to the storage system within a third predetermined time period according to the flow rate value.
  3. 根据权利要求2所述的方法,其特征在于,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:The method according to claim 2, wherein the determining the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value comprises:
    每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;Every fourth predetermined time period, determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value;
    所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:The determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value includes:
    每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。Every fourth predetermined time period, the average value of the time length used in the sending process of each group of second unit data in the second data set is determined as the second time length average value.
  4. 根据权利要求3所述的方法,其特征在于,所述第四预定时间段包括所述第一预定时间段和所述第二预定时间段。The method according to claim 3, wherein the fourth predetermined time period includes the first predetermined time period and the second predetermined time period.
  5. 根据权利要求2所述的方法,其特征在于,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述方法还包括:The method according to claim 2, wherein the comparison result is a first comparison result, and the first time average value is compared with the second time average value, and the second time value is compared based on the comparison result. Before adjusting a flow value to obtain the third flow value, the method further includes:
    将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;Comparing the first time length average value corresponding to the last first predetermined time period with the first time length average value corresponding to a first predetermined time period before the last first predetermined time period to obtain a second comparison result;
    所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:The comparing the first duration average value with the second duration average value, and adjusting the first flow value based on the comparison result to obtain a third flow value includes:
    将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;Comparing the first duration average value with the second duration average value to obtain a first comparison result;
    基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。The first flow value is adjusted based on the first comparison result and the second comparison result to obtain a third flow value.
  6. 根据权利要求3所述的方法,其特征在于,所述方法还包括:The method according to claim 3, wherein the method further comprises:
    通过预设计数器对调整流量值的次数进行计数;Count the number of times of adjusting the flow value through a preset counter;
    每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。Whenever the count reaches a predetermined number, the counter is cleared and the flow value remains unchanged until the fifth predetermined period of time ends, and then to the fourth predetermined period of time to determine the first data set in each group. The average value of the time length used in the sending process of a unit of data is used as the step of the first time length average.
  7. 根据权利要求1所述的方法,其特征在于,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:The method according to claim 1, wherein the size of the amount of data included in each group of first unit data and the size of the amount of data included in each group of second unit data are both a predetermined amount of data, and the determination of the first unit data The average value of the time length used in the sending process of each group of the first unit data in a data set, as the first time length average value, includes:
    获取第一数据集合所包括的数据总量;Acquiring the total amount of data included in the first data set;
    基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。Determine the average value of the length of time used in the sending process of each group of first unit data in the first data set based on the length of the first predetermined period of time, the total amount of data, and the predetermined amount of data, as the first average value of time .
  8. 一种用于存储***的流量控制装置,其特征在于,所述装置包括:A flow control device for a storage system, characterized in that the device includes:
    第一确定模块,被配置为确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;The first determining module is configured to determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, wherein the first data set is in the first data set. The data of the sending process is completed within a predetermined period of time, and the sending process is the process from sending data to the storage system until the data is confirmed by the storage system for sending completion, and the first data set includes multiple sets of first unit data , Sending data to the storage system at a first flow rate within the first predetermined time period;
    发送模块,被配置为在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;The sending module is configured to send data to the storage system at a second flow value within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein The second data set is data that has completed the sending process within a second predetermined time period, the second flow value is greater than the first flow value, and the amount of data included in each group of first unit data is the same size And is consistent with the size of the data amount included in each group of second unit data, and the second predetermined time period is after the first predetermined time period;
    第二确定模块,被配置为确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;The second determining module is configured to determine the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
    比较和发送模块,被配置为将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The comparing and sending module is configured to compare the first average value of the duration with the second average value of the duration, and based on the comparison result to determine the flow value used to send data to the storage system within a third predetermined time period, And send data to the storage system within a third predetermined time period according to the flow rate value, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  9. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行以下方法:A computer-readable storage medium, characterized in that the computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a computer, the computer is caused to execute the following method:
    确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;Determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, where the first data set is that the sending is completed within the first predetermined time period Process data, the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
    在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein the second data set is The data of the sending process is completed within the second predetermined time period, the second flow value is greater than the first flow value, and the data amount included in each group of first unit data is the same size and is the same as that of each group of second data. The data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
    确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值, 作为第二时长平均值;Determining an average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period. Send data to the storage system within three predetermined time periods, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  10. 根据权利要求9所述的计算机可读存储介质,其特征在于,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据时,具体执行:The computer-readable storage medium according to claim 9, wherein the second predetermined time period is a time period located after the first predetermined time period and adjacent to the first predetermined time period, and the first predetermined time period is 2. The duration of the predetermined period of time is less than the duration of the first predetermined period of time, said comparing the average value of the first duration with the average value of the second duration, and determining that it will be available to all users within the third predetermined period of time based on the comparison result. The flow value used by the storage system to send data, and when sending data to the storage system within the third predetermined time period according to the flow value, specifically execute:
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;The average value of the first duration is compared with the average value of the second duration, and the first flow value is adjusted based on the comparison result to obtain a third flow value, and the third flow value is taken as the third flow value. The flow value used to send data to the storage system within a predetermined time period;
    按照所述流量值在第三预定时间段内向所述存储***发送数据。Sending data to the storage system within a third predetermined time period according to the flow rate value.
  11. 根据权利要求10所述的计算机可读存储介质,其特征在于,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体执行:The computer-readable storage medium according to claim 10, wherein the determining the average value of the length of time used in the sending process of each group of the first unit data in the first data set is used as the average value of the first time length. , The specific implementation:
    每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;Every fourth predetermined time period, determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value;
    所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:The determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value includes:
    每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。Every fourth predetermined time period, the average value of the time length used in the sending process of each group of second unit data in the second data set is determined as the second time length average value.
  12. 根据权利要求10所述的计算机可读存储介质,其特征在于,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述计算机可读指令被计算机执行时还使计算机执行:The computer-readable storage medium according to claim 10, wherein the comparison result is a first comparison result, and the first time duration average value is compared with the second duration average value based on the comparison result Before the first flow rate value is adjusted to obtain the third flow rate value, when the computer-readable instruction is executed by the computer, the computer executes:
    将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;Comparing the first time length average value corresponding to the last first predetermined time period with the first time length average value corresponding to a first predetermined time period before the last first predetermined time period to obtain a second comparison result;
    所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:The comparing the first duration average value with the second duration average value, and adjusting the first flow value based on the comparison result to obtain a third flow value includes:
    将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;Comparing the first duration average value with the second duration average value to obtain a first comparison result;
    基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。The first flow value is adjusted based on the first comparison result and the second comparison result to obtain a third flow value.
  13. 根据权利要求11所述的计算机可读存储介质,其特征在于,所述计算机可读指令被计算机执行时还使计算机执行:The computer-readable storage medium according to claim 11, wherein when the computer-readable instructions are executed by the computer, they also cause the computer to execute:
    通过预设计数器对调整流量值的次数进行计数;Count the number of times of adjusting the flow value through a preset counter;
    每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。Whenever the count reaches a predetermined number, the counter is cleared and the flow value remains unchanged until the fifth predetermined period of time ends, and then to the fourth predetermined period of time to determine the first data set in each group. The average value of the time length used in the sending process of a unit of data is used as the step of the first time length average.
  14. 根据权利要求9所述的计算机可读存储介质,其特征在于,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体执行:The computer-readable storage medium according to claim 9, wherein the size of the data amount included in each group of the first unit data and the size of the data amount included in each group of the second unit data are both a predetermined data amount, When determining the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, the following is specifically executed:
    获取第一数据集合所包括的数据总量;Acquiring the total amount of data included in the first data set;
    基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。Determine the average value of the length of time used in the sending process of each group of first unit data in the first data set based on the length of the first predetermined period of time, the total amount of data, and the predetermined amount of data, as the first average value of time .
  15. 一种电子设备,其特征在于,所述电子设备包括:An electronic device, characterized in that, the electronic device includes:
    处理器;processor;
    存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现以下方法:A memory, where computer readable instructions are stored, and when the computer readable instructions are executed by the processor, the following methods are implemented:
    确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;Determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value, where the first data set is that the sending is completed within the first predetermined time period Process data, the sending process is the process from sending data to the storage system until the data is confirmed to be sent by the storage system, the first data set includes multiple sets of first unit data, and at the first predetermined time Within the segment, send data to the storage system with the first flow value;
    在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;Send data to the storage system at a second flow rate within a second predetermined time period, so as to send each group of second unit data in the second data set to the storage system, wherein the second data set is The data of the sending process is completed within the second predetermined time period, the second flow value is greater than the first flow value, and the data amount included in each group of first unit data is the same size and is the same as that of each group of second data. The data amount included in the unit data has the same size, and the second predetermined time period is after the first predetermined time period;
    确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;Determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value;
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。The first duration average value is compared with the second duration average value, and the flow value used to send data to the storage system in the third predetermined time period is determined based on the comparison result, and the flow value is determined according to the flow value in the first time period. Send data to the storage system within three predetermined time periods, where the third predetermined time period is located after the second predetermined time period and the first predetermined time period.
  16. 根据权利要求15所述的电子设备,其特征在于,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据时,具体实现:The electronic device according to claim 15, wherein the second predetermined time period is a time period located after the first predetermined time period and adjacent to the first predetermined time period, and the second predetermined time period The duration of a segment is less than the duration of the first predetermined time period, the first time average value is compared with the second time average value, and based on the comparison result, it is determined that the storage system is sent to the storage system within the third predetermined time period. The flow value used for sending data, and when sending data to the storage system within the third predetermined time period according to the flow value, the specific implementation is as follows:
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;The average value of the first duration is compared with the average value of the second duration, and the first flow value is adjusted based on the comparison result to obtain a third flow value, and the third flow value is taken as the third flow value. The flow value used to send data to the storage system within a predetermined time period;
    按照所述流量值在第三预定时间段内向所述存储***发送数据。Sending data to the storage system within a third predetermined time period according to the flow rate value.
  17. 根据权利要求16所述的电子设备,其特征在于,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体实现:The electronic device according to claim 16, wherein the determining the average value of the length of time used in the sending process of each group of the first unit data in the first data set is used as the average value of the first time length. :
    每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;Every fourth predetermined time period, determine the average value of the time length used in the sending process of each group of the first unit data in the first data set as the first time length average value;
    所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:The determining the average value of the time length used in the sending process of each group of second unit data in the second data set as the second time length average value includes:
    每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。Every fourth predetermined time period, the average value of the time length used in the sending process of each group of second unit data in the second data set is determined as the second time length average value.
  18. 根据权利要求16所述的电子设备,其特征在于,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述计算机可读指令被所述处理器执行时还用于实现:16. The electronic device according to claim 16, wherein the comparison result is a first comparison result, and the first time duration average value is compared with the second time duration average value, and the comparison result is based on the comparison result. Before the first flow value is adjusted to obtain the third flow value, the computer-readable instructions are also used to implement when executed by the processor:
    将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之 前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;Comparing the first time length average value corresponding to the last first predetermined time period with the first time length average value corresponding to a first predetermined time period before the last first predetermined time period to obtain a second comparison result;
    所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:The comparing the first duration average value with the second duration average value, and adjusting the first flow value based on the comparison result to obtain a third flow value includes:
    将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;Comparing the first duration average value with the second duration average value to obtain a first comparison result;
    基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。The first flow value is adjusted based on the first comparison result and the second comparison result to obtain a third flow value.
  19. 根据权利要求17所述的电子设备,其特征在于,所述计算机可读指令被所述处理器执行时还用于实现:The electronic device according to claim 17, wherein the computer-readable instruction is further used to implement when being executed by the processor:
    通过预设计数器对调整流量值的次数进行计数;Count the number of times of adjusting the flow value through a preset counter;
    每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。Whenever the count reaches a predetermined number, the counter is cleared and the flow value remains unchanged until the fifth predetermined period of time ends, and then to the fourth predetermined period of time to determine the first data set in each group. The average value of the time length used in the sending process of a unit of data is used as the step of the first time length average.
  20. 根据权利要求15所述的电子设备,其特征在于,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体实现:The electronic device according to claim 15, wherein the size of the amount of data included in each group of first unit data and the size of the amount of data included in each group of second unit data are both a predetermined amount of data, and the determining When the average value of the time length used in the sending process of each group of the first unit data in the first data set is used as the average value of the first time length, the specific implementation is as follows:
    获取第一数据集合所包括的数据总量;Acquiring the total amount of data included in the first data set;
    基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。Determine the average value of the length of time used in the sending process of each group of first unit data in the first data set based on the length of the first predetermined period of time, the total amount of data, and the predetermined amount of data, as the first average value of time .
PCT/CN2020/117945 2020-07-28 2020-09-25 Method and apparatus for data usage control for storage system, medium, and electronic device WO2021139225A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010739611.3 2020-07-28
CN202010739611.3A CN111901253B (en) 2020-07-28 2020-07-28 Flow control method, flow control device, flow control medium and electronic equipment for storage system

Publications (1)

Publication Number Publication Date
WO2021139225A1 true WO2021139225A1 (en) 2021-07-15

Family

ID=73182503

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/117945 WO2021139225A1 (en) 2020-07-28 2020-09-25 Method and apparatus for data usage control for storage system, medium, and electronic device

Country Status (2)

Country Link
CN (1) CN111901253B (en)
WO (1) WO2021139225A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160315861A1 (en) * 2012-04-28 2016-10-27 International Business Machines Corporation System detection and flow control
CN109698794A (en) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 A kind of jamming control method, device, electronic equipment and storage medium
CN110120896A (en) * 2019-04-15 2019-08-13 北京达佳互联信息技术有限公司 Network delay control method, device, electronic equipment and storage medium
CN110677355A (en) * 2019-10-08 2020-01-10 香港乐蜜有限公司 Packet loss coping method and device, electronic equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2269132B1 (en) * 2009-04-14 2015-07-08 Hitachi, Ltd. Storage system and control method thereof as well as program
CN102388649B (en) * 2011-09-30 2015-01-28 华为技术有限公司 Method and device for flow control
CN105208121A (en) * 2015-09-23 2015-12-30 深圳市深信服电子科技有限公司 File access flow control method and system based on distributed file system
CN110011926B (en) * 2019-03-07 2022-08-23 新华三技术有限公司 Method, device, equipment and storage medium for adjusting message sending time
CN110149238B (en) * 2019-06-18 2022-10-28 北京百度网讯科技有限公司 Method and device for predicting flow
CN110990240B (en) * 2019-11-21 2023-01-06 苏州浪潮智能科技有限公司 Method, device and medium for predicting performance of storage system
CN111176569A (en) * 2019-12-27 2020-05-19 浪潮电子信息产业股份有限公司 Flow quota method, device, system and equipment and readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160315861A1 (en) * 2012-04-28 2016-10-27 International Business Machines Corporation System detection and flow control
CN109698794A (en) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 A kind of jamming control method, device, electronic equipment and storage medium
CN110120896A (en) * 2019-04-15 2019-08-13 北京达佳互联信息技术有限公司 Network delay control method, device, electronic equipment and storage medium
CN110677355A (en) * 2019-10-08 2020-01-10 香港乐蜜有限公司 Packet loss coping method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111901253A (en) 2020-11-06
CN111901253B (en) 2022-06-14

Similar Documents

Publication Publication Date Title
WO2021142971A1 (en) Transmission rate control method and apparatus, computer system, and readable storage medium
US8918536B1 (en) Method and apparatus for optimizing computer network usage to prevent congestion
CN109981225B (en) Code rate estimation method, device, equipment and storage medium
US8819125B2 (en) Method of transmitting data of USB device to server, and client terminal performing the method
CN113453045B (en) Network bandwidth prediction method, system, device and storage medium
WO2022257425A1 (en) Transmission rate control method and apparatus, electronic device, and readable storage medium
CN116685985A (en) Joint learning system and method with diversified feedback
WO2021103706A1 (en) Data packet sending control method, model training method, device, and system
CN109660467B (en) Method and apparatus for controlling flow
CN104734985A (en) Data receiving flow control method and system
US20220200858A1 (en) Method and apparatus for configuring a network parameter
CN113222118B (en) Neural network training method, apparatus, electronic device, medium, and program product
CN111866101B (en) Access request processing method and device, storage medium and electronic equipment
JP2022188275A (en) Method and device for estimating quantum channel classical capacity, electronic apparatus and medium
CN114389959B (en) Network congestion control method, device, electronic equipment and storage medium
WO2021078286A1 (en) Data processing method and device
WO2021139225A1 (en) Method and apparatus for data usage control for storage system, medium, and electronic device
WO2020232903A1 (en) Monitoring task dynamic adjustment method and apparatus, and computer device and storage medium
CN111447113A (en) System monitoring method and device
WO2020024392A1 (en) Node processing method and apparatus, storage medium and electronic device
CN110838989A (en) Method and device for network current limiting based on token
CN110928693B (en) Computing equipment and resource allocation method
CN111611068B (en) Data writing method in distributed system, server and client
CN109508433B (en) Load fluctuation coping method and system based on performance adjustment of matching algorithm
CN110019671B (en) Method and system for processing real-time message

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: 20912031

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: 20912031

Country of ref document: EP

Kind code of ref document: A1