WO2021139225A1 - 用于存储***的流量控制方法、装置、介质及电子设备 - Google Patents

用于存储***的流量控制方法、装置、介质及电子设备 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
English (en)
French (fr)
Inventor
陈阳
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021139225A1 publication Critical patent/WO2021139225A1/zh

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

Abstract

一种用于存储***的流量控制方法、装置、介质及电子设备。该方法包括:确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值(210);在第二预定时间段内以第二流量值向存储***发送数据,以将第二数据集合中的各组第二单位数据发送至存储***(220);确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值(230);将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预订时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向存储***发送数据(240)。该方法可减少数据拥塞并降低数据传输时延,使各客户端可以公平地利用存储***的资源。

Description

用于存储***的流量控制方法、装置、介质及电子设备
本申请要求于2020年7月28日提交中国专利局、申请号为202010739611.3,发明名称为“用于存储***的流量控制方法、装置、介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及人工智能的智能决策技术领域,特别涉及一种用于存储***的流量控制方法、装置、介质及电子设备。
背景技术
发明人意识到,目前,在客户端和存储***之间进行数据传输时,通常设置一个固定的流量限制参数值,该流量限制参数值通常为客户端已向存储***提交但客户端未收到返回成功的数据总量,该流量限制参数值设置太低会降低客户端的数据吞吐量,设置太高则会导致网络拥塞,特别是当存储***对应多个客户端时,会导致响应时间变长。
发明内容
在人工智能的智能决策技术领域,为了解决上述技术问题,本公开的目的在于提供一种用于存储***的流量控制方法、装置、介质及电子设备。
根据本公开的一方面,提供了一种用于存储***的流量控制方法,所述方法包括:
确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
根据本公开的另一方面,提供了一种用于存储***的流量控制装置,所述装置包括:
第一确定模块,被配置为确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
发送模块,被配置为在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
第二确定模块,被配置为确定所述第二数据集合中各组第二单位数据的发送过程所使 用的时间长度的平均值,作为第二时长平均值;
比较和发送模块,被配置为将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
根据本公开的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行以下方法:
确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现以下方法:
确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
本公开的实施例可以动态感知最近一段时间内数据传输的拥塞情况,并进行流量的动 态调整,从而降低了数据拥塞和数据传输时延。特别是在存储***对应了多个客户端时,各客户端可以公平地利用存储***的资源,也使整个存储***的时延降低。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种用于存储***的流量控制方法的***架构示意图;
图2是根据一示例性实施例示出的一种用于存储***的流量控制方法的流程图;
图3是根据一示例性实施例示出的表示用于存储***的流量控制方法中第四时间段与第一时间段及第二时间段的包含关系的示意图;
图4A-4C是根据一示例性实施例示出的表示用于存储***的流量控制方法中各时间段的关系示意图;
图5是根据一示例性实施例示出的一种用于存储***的流量控制装置的框图;
图6是根据一示例性实施例示出的一种实现上述用于存储***的流量控制方法的电子设备示例框图;
图7是根据一示例性实施例示出的一种实现上述用于存储***的流量控制方法的计算机可读存储介质。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
本申请的技术方案可应用于人工智能、区块链和/或大数据技术领域,以进行流量控制,实现智能决策。可选的,本申请涉及的数据可存储于数据库中,或者可以存储于区块链中,本申请不做限定。例如,存储***可以包括区块链中的节点。
本公开首先提供了一种用于存储***的流量控制方法。存储***是各种能够用于管理、存储数据或者信息的***,比如可以是数据库管理***。通常情况下,利用与存储***对应的客户端来向存储***发送数据。客户端与服务器之间的架构可以是B/S(Brower/Server,浏览器/服务器)架构,也可以是C/S(Client/Server,客户机/服务器)架构。如前所述,在客户端和存储***之间进行数据传输时,通常设置一个固定的流量限制参数值,该流量限制参数值通常为客户端已向存储***提交但客户端未收到返回成功的数据总量,也就是所谓的流量值,目前,由于网络状态通常是动态变化的,因此无法设置一个合理的流量值来减少数据拥塞和数据传输时延,而本公开提供的用于存储***的流量控制方法就可以通过控制流量值实现流量值的动态调整,从而减少数据拥塞并降低数据传输时延。
本公开的实施终端可以是任何具有运算、处理以及通信功能的设备,该设备可以与外部设备相连,用于接收或者发送数据,具体可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施或者服务器集群。
可选地,本公开的实施终端可以为服务器或者云计算的物理基础设施。
图1是根据一示例性实施例示出的一种用于存储***的流量控制方法的***架构示意图。如图1所示,该***架构包括服务器110和用户终端120。用户终端120与服务器110通过有线或者无线通信链路相连,因此,用户终端120可以向服务器110发送数据,也可以接收来自服务器110的数据,服务器110上设有存储***,而用户终端120上设有对应的客户端,用户终端120为本实施例中的实施终端。当本公开提供的用于存储***的流量控制方法应用于图1所示的***架构中时,一个具体过程可以是这样的:用户终端120持续生成数据并存储至本地,用户终端120利用客户端首先按照第一流量值向服务器110上的存储***发送数据,并确定各组数据发送完成所使用的时长平均值;用户终端120短暂增大流量,以第二流量值向服务器110上的存储***发送数据,并确定各组数据发送完成所使用的时长平均值;最后,用户终端120通过将两次计算出的时长平均值作对比来确定下一个时间区间向服务器110发送数据要采用的流量值,在当前时间位于该时间区间时,用户终端120就会以该流量值向服务器110发送数据。
值得一提的是,图1仅为本公开的一个实施例,虽然在本实施例中用户终端为计算机并且向存储***发送的数据存储于实施终端本地,但在其他实施例或者实际应用中,用户终端为如前所述的各种设备,比如可以是服务器;虽然在本实施例中,用户终端120与服务器110直接通过通信链路相连,但此处仅仅是示意性的,在实际情况下,用户终端120与服务器110之间还可以包括代理服务器、网关、路由器等各种设备。本公开对此不作限定,本公开的保护范围也不应因此而受到任何限制。
图2是根据一示例性实施例示出的一种用于存储***的流量控制方法的流程图。在物理层面上,本实施例提供的用于存储***的流量控制方法可以由服务器执行,在软件层面上,本实施例提供的用于存储***的流量控制方法可以由与存储***对应的客户端执行,如图2所示,包括以下步骤:
步骤210,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。
其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据。
如前所述,存储***可以是各种能够用于管理、存储数据或者信息的***,比如可以是数据库管理***。
在一个实施例中,所述存储***为rados集群***,所述存储***对应的客户端为radosgw实例。
RADOS是一个可用于PB级规模数据存储集群的可伸缩的、可靠的对象存储服务。
在一个实施例中,客户端首次向存储***发送数据的初始流量值为预定流量值。比如,第一流量值便可以是该预定流量值。
所述客户端向所述存储***发送的数据可以是各种计算机能够存储的电子数据,可以是字符、语音、视频等各种形式。
对于一组第一单位数据而言,该组第一单位数据的发送过程起始于客户端开始向存储***发送该组第一单位数据,当该组第一单位数据被全部发送至存储***后,存储***会向该客户端返回确认指令或应答,当客户端收到该确认指令或应答时,该组第一单位数据的发送过程便结束,这个过程所消耗的时间均在第一预定时间段内。
步骤220,在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***。
其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第 二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后。
在第二预定时间段向存储***发送的数据可以与在第二预定时间段向存储***发送的数据的类型相同。
由于第二流量值大于第一流量值,并且第二预定时间段位于第一预定时间段之后,所以在第二预定时间段内向存储***发送数据是在第一预定时间段之后以较大的流量值向存储***发送数据的过程。
在一个实施例中,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:
获取第一数据集合所包括的数据总量;
基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。
比如,预定数据量8192kB(Kilobyte),第一预定时间段的时长为t,数据总量为N,则可以利用如下公式确定所述所有数据中各组第一单位数据的发送过程所使用的时间长度的平均值:
Figure PCTCN2020117945-appb-000001
其中,
Figure PCTCN2020117945-appb-000002
为确定出的第一时长平均值。
在一个实施例中,在在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***之前,所述方法还包括:
根据调整系数和所述第一流量值确定第二流量值。
调整系数可以是根据经验预先人为设定的,也可以是利用特定的算法或函数即时生成的。
比如,若第一流量值为I,第二流量值为I',调整系数为k,则第二流量值I'=k*I。
步骤230,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。
每组第二单位数据的发送过程都要使用一定的时间长度,利用各组第二单位数据对应的时间长度计算出平均值,可以作为第二时长平均值。
步骤240,将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据。
其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
将第一时长平均值与第二时长平均值作比较的方式可以有多种,比如可以是直接比较,也可以是利用比值进行比较,还可以是利用阈值进行比较。
在本步骤中,第二预定时间段及第一预定时间之后的第三预定时间段所采用的流量值,该流量值便是经过动态调整后得到的流量值。
在一个实施例中,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,包括:
将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量 值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;
按照所述流量值在第三预定时间段内向所述存储***发送数据。
在本实施例中,由于在第三预定时间段内向存储***发送数据所采用的流量值是对第一流量值进行调整而得到的,这样就使得未来时间段的流量值是基于之前时间段的流量值而生成的,因此可以在一定程度上保证流量值的相对平稳,降低网络波动。
基于比较结果对所述第一流量值进行调整所采用的调整方式可以是各种各样的,比如可以是利用基础的算法、规则或公式进行调整,也可以是利用人工智能或机器学习模型进行调整。
比如,第一流量值为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的基础上所增加的流量值的步进量。
在一个实施例中,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:
每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;
所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:
每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。
在一个实施例中,对应于上述实施例,所述方法还包括:
通过预设计数器对调整流量值的次数进行计数;
每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。
在本实施例中,通过利用计数器对调整流量值的次数进行计数,并依据计数结果在一段时间内保持流量值不变,降低了流量值的调整频率,从而在一定程度上节约了计算资源。
在一个实施例中,所述存储***对应着多个客户端。因此,这样可以通过对各客户端分别进行流量控制,减轻存储***的流量压力,降低响应时间。
在一个实施例中,所述第四预定时间段包括所述第一预定时间段和所述第二预定时间段。
这样做的好处是,可以计算出最近的时间段对应的时间长度的平均值,从而提高监测的及时性。
当然,第四预定时间段也可以仅包括第一预定时间段和第二预定时间段中的一个。
在第四预定时间段包括第一预定时间段和第二预定时间段的情况下,第四预定时间段与第一预定时间段和第二预定时间段的关系可以有多种。
图3是根据一示例性实施例示出的表示用于存储***的流量控制方法中第四时间段与第一时间段及第二时间段的包含关系的示意图。参见图3所示,第四预定时间段可以恰好由第一预定时间段和第二预定时间段组成,可以在尾部包括第一预定时间段和第二预定时间段之外的部分,也可以在头部包括第一预定时间段和第二预定时间段之外的部分。
客户端可以持续地向存储***发送数据,因此各预定时间段可以是在时间方向上循环往复地进行。
具体而言,第一预定时间段、第二预定时间段、第三预定时间段以及第四预定时间段的可能关系可以如图4A-4C所示。图4A-4C是根据一示例性实施例示出的表示用于存储***的流量控制方法中各时间段的关系示意图。在图4A-4C中的各时间段分别为:第一预定时间段10、第二预定时间段20、第三预定时间段30,计算前一个第一时长平均值所间隔的第四预定时间段411,计算前一个第二时长平均值所间隔的第四预定时间段421,计算后一个第一时长平均值所间隔的第四预定时间段412,计算后一个第二时长平均值所间隔的第四预定时间段422。
在图4A中,第三预定时间段30和后一个第一预定时间段10为同一时间段,采用的流量值是一致的,即在第二预定时间段20结束后,随即确定一个第三预定时间段30采用的第三流量值,同时将该第三预定时间段30作为下一个第一预定时间段10重新计算,不断重复进行流量值的确定和调整。
在图4B中,第三预定时间段30和后一个第一预定时间段10不为同一时间段,在第三预定时间段30开始并持续一段时间后,才抵达后一个第一预定时间段10。
在图4C中,在前一个第二预定时间段20结束后并不立即进入第三预定时间段30并将第三流量值作为向存储***发送数据所采用的流量值,而是在一段时间后才进入第三预定时间段30并将第三流量值作为向存储***发送数据所采用的流量值,在该段时间内,可以将前一个第一预定时间段10所采用的第一流量值作为该段时间内采用的流量值。
因此,第一预定时间段、第二预定时间段、第三预定时间段以及第四预定时间段的之间的关系可以是多种多样的,也可以不限于图4A-4C所示的那些,只要能够实现流量值的动态调整即可。
在一个实施例中,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述方法还包括:
将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;
所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:
将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;
基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。
在一个实施例中,所述基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值,包括:
基于与所述第二比较结果对应的第一调整规则对所述第一流量值进行调整,得到中间流量值;
基于与所述第一比较结果对应的第二调整规则对所述中间流量值进行调整,得到第三流量值。
比如,若第一流量值为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为所调整的流量值的步进量,△为时长平均值的预设幅值。
那么,最终调整得到的第三流量值A可以利用如下公式计算:
Figure PCTCN2020117945-appb-000014
在本实施例中,通过根据第一比较结果以及第二比较结果确定对应的调整规则,然后利用调整规则分别对流量值进行调整,这样便实现了客户端向存储***发送数据的流量值的动态和精细化调整,有效降低了数据拥塞和数据传输时延。
综上所述,根据图2实施例提供的一种用于存储***的流量控制方法,可以动态感知最近一段时间内数据传输的拥塞情况,并进行流量的动态调整,从而降低了数据拥塞和数据传输时延。特别是在存储***对应了多个客户端时,各客户端可以公平地利用存储***的资源,也使整个存储***的时延降低。
本公开还提供了一种用于存储***的流量控制装置,以下是本公开的装置实施例。
图5是根据一示例性实施例示出的一种用于存储***的流量控制装置的框图。如图5所示,该装置500包括:
第一确定模块510,被配置为确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
发送模块520,被配置为在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
第二确定模块530,被配置为确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
比较和发送模块540,被配置为将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
根据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。其中,该电子设备可包括:处理器和存储器,该存储器上可存储有计算机可读指令,该计算机可读指令被处理器执行时,可实现上述方法中的部分或全部步骤。可选的,该处理器可以为处理单元,或者说可以称为处理单元;存储器可以为存储单元,或者说可以称为存储单元。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图6来描述根据本申请的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同***组件(包括存储单元620和处理单元610)的总线630。其中,所述存储单元存储有程序代码,所述程序代码 可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备600也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行,比如与显示单元640通信。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行本说明书上述的方法。
可选的,本申请涉及的介质如计算机可读存储介质可以是非易失性的,也可以是易失性的。
在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
参考图7所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光 信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (20)

  1. 一种用于存储***的流量控制方法,其特征在于,所述方法包括:
    确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
    在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
    确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
  2. 根据权利要求1所述的方法,其特征在于,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,包括:
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;
    按照所述流量值在第三预定时间段内向所述存储***发送数据。
  3. 根据权利要求2所述的方法,其特征在于,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:
    每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;
    所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:
    每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。
  4. 根据权利要求3所述的方法,其特征在于,所述第四预定时间段包括所述第一预定时间段和所述第二预定时间段。
  5. 根据权利要求2所述的方法,其特征在于,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述方法还包括:
    将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;
    所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:
    将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;
    基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。
  6. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    通过预设计数器对调整流量值的次数进行计数;
    每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。
  7. 根据权利要求1所述的方法,其特征在于,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,包括:
    获取第一数据集合所包括的数据总量;
    基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。
  8. 一种用于存储***的流量控制装置,其特征在于,所述装置包括:
    第一确定模块,被配置为确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
    发送模块,被配置为在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
    第二确定模块,被配置为确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
    比较和发送模块,被配置为将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
  9. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行以下方法:
    确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
    在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
    确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值, 作为第二时长平均值;
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
  10. 根据权利要求9所述的计算机可读存储介质,其特征在于,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据时,具体执行:
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;
    按照所述流量值在第三预定时间段内向所述存储***发送数据。
  11. 根据权利要求10所述的计算机可读存储介质,其特征在于,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体执行:
    每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;
    所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:
    每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。
  12. 根据权利要求10所述的计算机可读存储介质,其特征在于,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述计算机可读指令被计算机执行时还使计算机执行:
    将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;
    所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:
    将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;
    基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。
  13. 根据权利要求11所述的计算机可读存储介质,其特征在于,所述计算机可读指令被计算机执行时还使计算机执行:
    通过预设计数器对调整流量值的次数进行计数;
    每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。
  14. 根据权利要求9所述的计算机可读存储介质,其特征在于,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体执行:
    获取第一数据集合所包括的数据总量;
    基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。
  15. 一种电子设备,其特征在于,所述电子设备包括:
    处理器;
    存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现以下方法:
    确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值,其中,所述第一数据集合为在第一预定时间段内完成了发送过程的数据,所述发送过程为从向存储***发送数据至该数据被所述存储***确认发送完成的过程,所述第一数据集合包括多组第一单位数据,在所述第一预定时间段内,以第一流量值向所述存储***发送数据;
    在第二预定时间段内以第二流量值向所述存储***发送数据,以将第二数据集合中的各组第二单位数据发送至所述存储***,其中,所述第二数据集合为在第二预定时间段内完成了所述发送过程的数据,所述第二流量值大于所述第一流量值,各组第一单位数据所包括的数据量的大小相同且与各组第二单位数据所包括的数据量的大小一致,所述第二预定时间段位于所述第一预定时间段之后;
    确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值;
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据,其中,所述第三预定时间段位于所述第二预定时间段及所述第一预定时间段之后。
  16. 根据权利要求15所述的电子设备,其特征在于,所述第二预定时间段为位于所述第一预定时间段之后且与所述第一预定时间段相邻的时间段,所述第二预定时间段的时长小于所述第一预定时间段的时长,所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果确定在第三预定时间段内向所述存储***发送数据所采用的流量值,并按照所述流量值在第三预定时间段内向所述存储***发送数据时,具体实现:
    将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,并将所述第三流量值作为在第三预定时间段内向所述存储***发送数据所采用的流量值;
    按照所述流量值在第三预定时间段内向所述存储***发送数据。
  17. 根据权利要求16所述的电子设备,其特征在于,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体实现:
    每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值;
    所述确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值,包括:
    每隔第四预定时间段,确定所述第二数据集合中各组第二单位数据的发送过程所使用的时间长度的平均值,作为第二时长平均值。
  18. 根据权利要求16所述的电子设备,其特征在于,所述比较结果为第一比较结果,在将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值之前,所述计算机可读指令被所述处理器执行时还用于实现:
    将最近一个第一预定时间段对应的第一时长平均值与所述最近一个第一预定时间段之 前的一个第一预定时间段对应的第一时长平均值作比较,得到第二比较结果;
    所述将所述第一时长平均值与所述第二时长平均值作比较,基于比较结果对所述第一流量值进行调整,得到第三流量值,包括:
    将所述第一时长平均值与所述第二时长平均值作比较,得到第一比较结果;
    基于所述第一比较结果和所述第二比较结果对所述第一流量值进行调整,得到第三流量值。
  19. 根据权利要求17所述的电子设备,其特征在于,所述计算机可读指令被所述处理器执行时还用于实现:
    通过预设计数器对调整流量值的次数进行计数;
    每当计数达到预定数目,将所述计数器清零,保持流量值不变,直至第五预定时间段结束,并转至所述每隔第四预定时间段,确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值的步骤。
  20. 根据权利要求15所述的电子设备,其特征在于,各组第一单位数据所包括的数据量的大小及各组第二单位数据所包括的数据量的大小均为预定数据量,所述确定第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值时,具体实现:
    获取第一数据集合所包括的数据总量;
    基于第一预定时间段的时长、所述数据总量以及预定数据量确定所述第一数据集合中各组第一单位数据的发送过程所使用的时间长度的平均值,作为第一时长平均值。
PCT/CN2020/117945 2020-07-28 2020-09-25 用于存储***的流量控制方法、装置、介质及电子设备 WO2021139225A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010739611.3 2020-07-28
CN202010739611.3A CN111901253B (zh) 2020-07-28 2020-07-28 用于存储***的流量控制方法、装置、介质及电子设备

Publications (1)

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

Family

ID=73182503

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/117945 WO2021139225A1 (zh) 2020-07-28 2020-09-25 用于存储***的流量控制方法、装置、介质及电子设备

Country Status (2)

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

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 (zh) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 一种拥塞控制方法、装置、电子设备及存储介质
CN110120896A (zh) * 2019-04-15 2019-08-13 北京达佳互联信息技术有限公司 网络延迟控制方法、装置、电子设备及存储介质
CN110677355A (zh) * 2019-10-08 2020-01-10 香港乐蜜有限公司 一种丢包应对方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5324657B2 (ja) * 2009-04-14 2013-10-23 株式会社日立製作所 ストレージシステム、及びその制御方法
WO2012149787A1 (zh) * 2011-09-30 2012-11-08 华为技术有限公司 一种流量控制的方法及设备
CN105208121A (zh) * 2015-09-23 2015-12-30 深圳市深信服电子科技有限公司 基于分布式文件***的文件访问流量控制方法及***
CN110011926B (zh) * 2019-03-07 2022-08-23 新华三技术有限公司 一种调整报文发送时间的方法、装置、设备及存储介质
CN110149238B (zh) * 2019-06-18 2022-10-28 北京百度网讯科技有限公司 用于预测流量的方法和装置
CN110990240B (zh) * 2019-11-21 2023-01-06 苏州浪潮智能科技有限公司 一种存储***性能预测的方法、设备及介质
CN111176569A (zh) * 2019-12-27 2020-05-19 浪潮电子信息产业股份有限公司 一种流量配额方法、装置、***和设备及可读存储介质

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 (zh) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 一种拥塞控制方法、装置、电子设备及存储介质
CN110120896A (zh) * 2019-04-15 2019-08-13 北京达佳互联信息技术有限公司 网络延迟控制方法、装置、电子设备及存储介质
CN110677355A (zh) * 2019-10-08 2020-01-10 香港乐蜜有限公司 一种丢包应对方法、装置、电子设备及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
US8918536B1 (en) Method and apparatus for optimizing computer network usage to prevent congestion
WO2021142971A1 (zh) 传输速率控制方法、装置、计算机***及可读存储介质
CN109981225B (zh) 一种码率预估方法、装置、设备及存储介质
US8819125B2 (en) Method of transmitting data of USB device to server, and client terminal performing the method
CN113453045B (zh) 网络带宽预测方法、***、设备及存储介质
WO2022257425A1 (zh) 传输速率控制方法、装置、电子设备和可读存储介质
CN116685985A (zh) 具有多样化反馈的联合学习***与方法
WO2021103706A1 (zh) 控制数据包发送方法、模型训练方法、装置及***
CN109660467B (zh) 用于控制流量的方法和装置
US11695629B2 (en) Method and apparatus for configuring a network parameter
EP4187882B1 (en) Data transmission method and apparatus, device, storage medium, and computer program product
CN104734985A (zh) 数据接收流量控制方法及其***
CN111866101B (zh) 访问请求处理方法及装置、存储介质和电子设备
WO2021012795A1 (zh) 网络节点的调度方法、装置、电子设备和存储介质
CN114389959B (zh) 网络拥塞控制方法、装置、电子设备及存储介质
WO2021078286A1 (zh) 一种数据处理方法及其装置
WO2021139225A1 (zh) 用于存储***的流量控制方法、装置、介质及电子设备
CN117376212A (zh) 网络速率调整方法及装置、存储介质及电子设备
WO2020232903A1 (zh) 监控任务动态调整方法、装置、计算设备和存储介质
CN111447113A (zh) 一种***监控方法和装置
CN110838989A (zh) 一种用于基于令牌进行网络限流的方法和装置
CN110928693B (zh) 一种计算设备及资源分配方法
CN111611068B (zh) 分布式***中的数据写方法、服务器及客户端
CN109508433B (zh) 基于匹配算法性能调整的负载波动应对方法和***
CN110019671B (zh) 一种处理实时消息的方法和***

Legal Events

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

Ref document number: 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