Global flow control method and device and computer readable storage medium

By obtaining IO-related information of multi-level submodules in distributed storage systems and generating high-voltage point information, the problem of inaccurate flow control timing is solved, a more accurate and efficient global flow control strategy is realized, and the load pressure problem is solved.

CN119652832APending Publication Date: 2025-03-18CHENGDU HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311204951.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-18
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

In distributed storage systems, the IO-related information of multi-stage submodules is not sensitive to, resulting in inaccurate flow control timing and inaccurate flow control.

Method used

By obtaining the input and output IO related information of the multi-level submodule, determining whether the pressure coefficient exceeds the preset threshold, timely collecting the IO data of the multi-level submodule, generating high-voltage point information, and determining a more accurate global flow control strategy.

Benefits of technology

It realizes high-sensitivity flow control timing triggering, timely collects IO data, generates accurate high-voltage point information, and determines accurate global service quality control strategies, so as to accurately and efficiently solve the load pressure problem.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652832A_ABST
    Figure CN119652832A_ABST
Patent Text Reader

Abstract

The invention discloses a global flow control method and device and a computer readable storage medium, the method is applied to a distributed storage system comprising multiple levels of submodules, and the method comprises the following steps: determining whether a pressure coefficient exceeds a preset pressure threshold according to multiple pieces of obtained first IO data corresponding to the multiple levels of submodules; under the condition that the pressure coefficient exceeds a preset pressure threshold value, multiple pieces of second IO data corresponding to the multiple levels of sub-modules are collected, and each piece of first IO data and each piece of second IO data comprise queue depth, IO size, IO time delay and other data; and according to the second IO data, high-voltage point location information is generated, and the high-voltage point location information is used for determining a first QoS regulation and control strategy to carry out global flow control. According to the above process, the IO information of the multi-stage sub-module is obtained, the high-sensitivity triggering opportunity is determined, the IO information is collected in time, and the blocking related information is determined, so that the more accurate global flow control method is determined, and the load pressure problem is accurately and efficiently solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network communication technology, and in particular to a global flow control method, device and computer-readable storage medium. Background Art

[0002] At present, large-scale distributed storage systems are widely used in services such as 5G core networks. Under high-pressure business scenarios, as the scale of the storage system increases, the probability of blocking of multi-level sub-modules within the system also increases. Due to the difficulty of information exchange between processes in the system, in order to solve the above problems, single-point quality of service (QoS) flow control technology is usually adopted. The user device perceives the IO flow rate by obtaining the feedback speed sent by the input / output (IO) to determine the current load situation. When the perceived load pressure is greater than the preset flow / delay threshold, the control is started to limit the flow rate.

[0003] The above flow control method relies on the feedback obtained from the IO sent at the entrance to determine the load situation. It is not sensitive to the IO-related information of each multi-level sub-module. The timing of starting control when IO passes through multiple sub-modules is inaccurate and untimely, resulting in inaccurate and inefficient flow control. Summary of the invention

[0004] The present application provides a global flow control method, device and computer-readable storage medium, which obtains input / output (IO) related information of multi-level sub-modules to ensure high-sensitivity triggering timing and timely collects IO related information of multi-level sub-modules to obtain information used to determine service quality control strategies, thereby determining a more accurate global flow control method, which can solve load pressure problems more accurately and efficiently.

[0005] In a first aspect, the present application provides a global flow control method, which is applied to a distributed storage system including a multi-level sub-module, the method comprising: determining whether a pressure coefficient exceeds a preset pressure threshold based on a plurality of first input and output IO data corresponding to the obtained multi-level sub-modules, wherein each of the plurality of first input and output IO data comprises one or more of queue depth, IO size, IO latency, input / output operations per second (IOPS), and read / write interface latency, and the pressure coefficient is determined based on the plurality of first IO data; when the pressure coefficient exceeds the preset pressure threshold, collecting a plurality of second IO data corresponding to each of the multi-level sub-modules at a plurality of time points, wherein each of the plurality of second IO data comprises one or more of queue depth, IO size, IO latency, input / output operations per second (IOPS), and read / write interface latency; generating high-voltage point information based on the plurality of second IO data, wherein the high-voltage point information is used by a user device to determine a first quality of service (QoS) control strategy for global flow control.

[0006] To summarize, the present application provides a global flow control method that is independent of the distributed storage read and write process. It triggers a highly sensitive preset pressure threshold based on the acquired first IO data of the multi-level sub-modules, thereby timely collecting the second IO data of the multi-level sub-modules, and generating high-voltage point information based on the collected second IO data to determine the first service quality control strategy for global flow control. Compared with the current service quality control based on the IO feedback information at the entrance of the distributed system, the above method can timely and efficiently generate a more accurate service quality control strategy, thereby accurately and efficiently solving the load pressure problem.

[0007] In a possible implementation, the specific process of determining whether the pressure coefficient exceeds the preset pressure threshold according to the multiple first input and output IO data corresponding to the obtained multi-level sub-module is as follows. According to the multiple first IO data corresponding to the obtained multi-level sub-module, combined with the supervised learning classification algorithm, or combined with the unsupervised learning classification algorithm, the category to which the pressure coefficient corresponding to the multiple first IO data belongs is determined, and the category includes the category in which the pressure coefficient exceeds the preset pressure threshold, and the category in which the pressure coefficient does not exceed the preset pressure threshold. Alternatively, the process of determining whether the pressure coefficient exceeds the preset pressure threshold can also be based on the multiple first IO data corresponding to the obtained multi-level sub-module, and the statistical algorithm or the artificial intelligence algorithm, to generate the pressure coefficient, and determine whether the pressure coefficient exceeds the preset pressure threshold, and the preset pressure threshold is determined according to the fault diagnosis and self-healing architecture (fault detecting & self-healing architecture, FDSA). Alternatively, the process of determining whether the pressure coefficient exceeds the preset pressure threshold can also be based on the multiple first IO data corresponding to the obtained multi-level sub-module, and the fault diagnosis and self-healing mechanism FDSA, to determine whether any type of data in the first IO data exceeds the corresponding preset pressure threshold, and the preset pressure threshold is less than the preset threshold corresponding to the trigger FDSA. The above process can timely and accurately determine whether the pressure coefficient exceeds the preset pressure threshold, maintain high sensitivity of flow control, thereby avoiding untimely start-up control and ensuring system reliability. In addition, the present application provides a variety of judgment methods, which are simple to operate.

[0008] In a possible implementation, the high-voltage point information includes one or more of the time point of the blockage, the submodule corresponding to the root cause of the blockage, and the health monitoring coefficient, which is used to indicate the degree of blockage. The high-voltage point information is determined based on the timely collected IO multi-faceted related data, and the perception is sensitive and detailed, which is conducive to determining a more accurate global service quality control strategy.

[0009] In a possible implementation, the method further includes: after the user device performs global flow control according to the first QoS control strategy, when the health monitoring coefficient becomes the health detection coefficient calculated for the first time according to the multiple second IO data, determining whether the new pressure coefficient exceeds the preset pressure threshold according to the multiple first IO data corresponding to the re-acquired multi-level sub-module. After performing global flow control, timely determine whether the pressure coefficient exceeds the preset pressure threshold according to the IO data, so as to trigger the flow control operation again in time, so as to avoid the problem that the timing of starting the control is inaccurate, resulting in the problem that the flow control is not accurate and efficient enough.

[0010] In a possible implementation, the method further includes: updating a preset pressure threshold according to the high-voltage point information and the health monitoring coefficient of the user equipment after global flow control according to the first QoS control strategy. Updating the preset pressure threshold can maintain high sensitivity of the timing of triggering the flow control operation, thereby avoiding the problem of inaccurate timing of starting control, resulting in inaccurate and inefficient flow control.

[0011] In a second aspect, the present application provides a global flow control method, which is applied to a user device connected to a distributed storage system including a multi-level sub-module, the method comprising: receiving high-voltage point information, the high-voltage point information including a time point at which a blockage occurs, a sub-module corresponding to a blockage root cause, and one or more health monitoring coefficients, the health monitoring coefficient being used to indicate a degree of blockage; wherein the high-voltage point information is generated based on a plurality of second input and output IO data, the second IO data being collected from the multi-level sub-modules at a plurality of time points when a pressure coefficient exceeds a preset pressure threshold, each second IO data comprising one or more of queue depth, IO size, IO latency, the number of reads and writes per second IOPS, and a read-write interface latency, the pressure coefficient being determined based on a plurality of first IO data corresponding to the obtained multi-level sub-modules, each first IO data comprising one or more of queue depth, IO size, IO latency, the number of reads and writes per second IOPS, and a read-write interface latency; determining a first quality of service QoS control strategy based on the high-voltage point information, and performing global flow control according to the first QoS control strategy.

[0012] To sum up, the global flow control method provided in the present application determines the precise first service quality control strategy and performs global flow control by generating high-voltage point information based on the timely collected multi-level sub-module IO data. It can more intelligently and efficiently execute the precise service quality control strategy, thereby accurately and efficiently solving the load pressure problem.

[0013] In a possible implementation, the specific process of determining the first quality of service QoS control strategy based on the high-voltage point information and performing global flow control according to the first QoS control strategy is as follows. According to the high-voltage point information, determine the time difference between the time point when the blockage occurs and the time point corresponding to the first QoS control strategy, and determine the distance difference between the submodule corresponding to the root cause of the blockage and the user equipment; determine the first QoS pace parameter based on the time difference, distance difference and health monitoring coefficient; determine the first quality of service QoS control strategy based on the first QoS pace parameter, and perform global flow control based on the first quality of service QoS control strategy, wherein the first QoS pace parameter is fixed or dynamically adjusted by the balance beam algorithm. Through precise high-voltage point information, accurate and intelligent Qos control strategies are determined, combined with dynamic adjustment of the balance beam algorithm, global flow control can be made more intelligent and efficient.

[0014] In a third aspect, the present application provides a storage device, which includes a processor and a memory; the processor of the storage device is used to execute instructions stored in the memory of the storage device, so that the storage device executes the method provided in the first aspect.

[0015] In a fourth aspect, the present application provides a user device, comprising a processor and a memory; the processor of the user device is used to execute instructions stored in the memory of the user device, so that the user device executes the method provided in the second aspect.

[0016] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when executed by a storage device, causes the storage device to execute the method provided in the second aspect.

[0017] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed by a user device, enables the user device to execute the method provided in the first aspect.

[0018] In a seventh aspect, the present application provides a computer-readable storage medium, which includes computer program instructions. When the computer program instructions are executed by a storage device, the storage device executes the method provided in the first aspect.

[0019] In an eighth aspect, the present application provides a computer-readable storage medium, which includes computer program instructions. When the computer program instructions are executed by a user device, the user device executes the method provided in the second aspect.

[0020] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments.

[0022] Figure 1 It is a structural schematic diagram of a flow control system provided by an embodiment of the present application;

[0023] Figure 2 is a flow chart of a global flow control method provided in an embodiment of the present application;

[0024] Figure 3 is a flow chart of another global flow control method provided in an embodiment of the present application;

[0025] Figure 4 It is a schematic diagram of mapping the service quality control period according to the high-voltage point information provided by an embodiment of the present application;

[0026] Figure 5This is a complete process diagram of a global flow control method provided by an embodiment of the present application;

[0027] Figure 6 is a structural schematic diagram of a global flow control device provided in an embodiment of the present application;

[0028] Figure 7 It is a structural diagram of a management device provided in an embodiment of the present application;

[0029] Figure 8 It is a structural diagram of a user equipment provided in an embodiment of the present application. DETAILED DESCRIPTION

[0030] like Figure 1 As shown, Figure 1 It is a structural diagram of a traffic control system provided in an embodiment of the present application, wherein the system includes a user device 110 and a distributed storage system 120, wherein the distributed storage system 120 includes a multi-level sub-module 121, a software management layer 122 and a storage medium 123, wherein the software management layer includes one or more management nodes 124, and the sub-modules, the software management layer and the storage medium are connected via a network.

[0031] In the specific implementation, submodule 121 includes a data distribution module, a storage hierarchy module, a metadata management module, a cache module, a load balancing module, a data consistency module, an access control module, and a monitoring and management module, etc., which respectively implement different functions or services to ensure the function and performance of the entire system, and this application does not make specific limitations on this.

[0032] In a specific implementation, the software management layer 122 is used to manage the communication and collaboration between storage nodes and computing nodes, and to provide high-performance, high-availability and scalable storage services by coordinating input / output (IO) request distribution, maintaining metadata, controlling data consistency and load balancing. In one possible implementation, the I / O request initiated by the computing node is coordinated by the software management layer, routed to the appropriate storage node, and executed on the storage node. The management node 124 can be a bare metal server (BMS), a virtual machine or a container. Among them, BMS refers to a general physical server, such as an ARM server or an X86 server; a virtual machine refers to a complete computer system with complete hardware system functions implemented by network function virtualization (NFV) technology and simulated by software, running in a completely isolated environment; a container refers to a group of processes that are resource-constrained and isolated from each other. There can be one or more management nodes, and this application does not make specific restrictions on this.

[0033] In a specific implementation, the storage medium 123 is used to store data and may be a hard disk, a magnetic disk or other types of storage media in a storage node, such as a solid state disk (SSD) or a shingled magnetic recording hard disk, etc. This application does not make any specific limitations on this.

[0034] At present, in the scenario of high business pressure load, the above-mentioned flow control system has a variety of executable flow control strategies. Since the computing nodes far exceed the storage nodes in the scenario of distributed storage clusters, and information exchange between processes is difficult, a single-point quality of service (QoS) flow control strategy can be adopted. The user device perceives the IO flow rate by obtaining the feedback speed sent by the IO, determines the current load situation, and starts the control to limit the flow rate when the perceived load pressure is greater than the preset flow / delay threshold. Alternatively, on the basis of the above-mentioned single-point QoS flow control strategy, the user is guided to manually set the maximum or minimum value of the flow / delay through the user interaction interface to increase the user demand factor. The specific implementation method is also to start the control to limit the flow rate by sensing whether the flow rate exceeds the maximum and minimum values ​​manually set by the user or the threshold corresponding to the service level. The above two methods rely on the feedback obtained by the IO sent at the entrance to determine the load situation, but due to the long link, the data perception is not sensitive and the control cannot be started in time, resulting in the flow control being not accurate and efficient enough. In addition to the above two flow control strategies, the flow control of the distributed storage system can also be achieved by adding a cache management module and a disk read-write management module in the management node. The cache management module is used to control the flow control of IO in multi-level sub-modules, and the disk read-write management module is used to control the progress of sinking to the persistent storage layer. This flow control strategy relies on the information interaction and coordination between the cache management module and the disk read-write management module, and is difficult to implement.

[0035] Therefore, in order to solve the problems existing in the above-mentioned flow control strategies, the present application provides a global flow control method, which obtains the IO information of multi-level sub-modules in the distributed storage system through the management node in the software management layer of the distributed storage system, determines the highly sensitive triggering timing, and timely collects the IO information of the multi-level sub-modules, determines information including blocking position, blocking time, etc., and determines the high-voltage point information used to determine the global service quality flow control strategy, thereby making the global flow control method more accurate, thereby accurately and efficiently solving the load pressure problem.

[0036] like Figure 2 As shown, Figure 2 is a flow chart of a global flow control method provided in an embodiment of the present application, the method is applied to Figure 1 The management node in the traffic control system shown in the figure comprises the following steps.

[0037] Step S210: determining whether the pressure coefficient exceeds a preset pressure threshold according to the obtained plurality of first IO data corresponding to the multi-level sub-modules.

[0038] The first IO data corresponding to each of the multi-level sub-modules is obtained, and a pressure coefficient is determined according to the multiple first IO data to determine whether the pressure coefficient exceeds a preset pressure threshold, wherein each first IO data includes one or more of queue depth, IO size, IO latency, input / output operations per second (IOPS), and read / write interface latency. In a possible implementation, the first IO data may also include more or fewer types of data, which is not specifically limited in the present application.

[0039] In a possible implementation, the first IO data corresponding to each of the multi-level sub-modules is obtained by data mining technology, and the categories to which the pressure coefficients corresponding to the multiple first IO data belong are determined in combination with a supervised learning algorithm, wherein the categories include categories where the pressure coefficient exceeds a preset pressure threshold, and categories where the pressure coefficient does not exceed a preset pressure threshold, and the supervised learning algorithm includes convolutional neural networks (CNN), machine learning, classification model for multivariate time series (CMM), etc., and the present application does not specifically limit the type of supervised learning algorithm used. Before classifying the acquired first IO data according to the supervised learning algorithm, the classification model is trained according to a large amount of label data to obtain a classification model corresponding to the pressure coefficient, wherein the label data includes queue depth, IO size, IO delay, IOPS, read-write interface delay, and the category to which the pressure coefficient belongs. The supervised learning algorithm is used to predict the category to which the pressure coefficient corresponding to the first IO data belongs with high accuracy, thereby triggering the collection of the second IO data in a timely manner.

[0040] In another possible implementation, the first IO data corresponding to each of the multi-level sub-modules is obtained through data mining technology, and combined with an unsupervised clustering algorithm, the categories to which the pressure coefficients corresponding to the multiple first IO data belong are determined, wherein the categories include categories in which the pressure coefficient exceeds a preset pressure threshold, and categories in which the pressure coefficient does not exceed the preset pressure threshold.

[0041] The fault detecting self-healing architecture (FDSA) needs to spend a long time to perform business fault tolerance processing when a link is disconnected. At this time, the business is affected, but its judgment on the connection of the link depends on the feedback or response of the business. Therefore, there are problems such as increased delay in judging the connection of the link and inaccurate judgment of the connection of the link. In one possible implementation, according to various mechanisms of FDSA, a preset pressure threshold that is less than the preset threshold corresponding to triggering FDSA is determined in different dimensions. Afterwards, multiple first IO data corresponding to the multi-level sub-modules are obtained through data mining technology to determine whether any type of data in the first IO data exceeds the corresponding preset pressure threshold, thereby triggering subsequent operations.

[0042] In another possible implementation, multiple first IO data corresponding to the multi-level sub-modules are obtained through data mining technology, as well as statistical algorithms or artificial intelligence algorithms, to generate a pressure coefficient and determine whether the pressure coefficient exceeds a preset pressure threshold, wherein the preset pressure threshold is determined based on FDSA, and may be a pressure threshold determined based on relevant parameters when a lock application (within a specified time range) times out, a lock holding times out, or an IO hang (a task execution time exceeds 20 seconds), etc.

[0043] The above-mentioned various possible implementation methods can timely and accurately determine whether the pressure coefficient exceeds the preset pressure threshold, maintain high sensitivity of flow control, timely collect the second IO data of multi-level sub-modules, avoid untimely startup control, and thus ensure the reliability of the system.

[0044] Step S220: when the pressure coefficient exceeds the preset pressure threshold, a plurality of second IO data corresponding to each of the multi-level sub-modules are collected at a plurality of time points.

[0045] In a possible implementation, when the pressure coefficient exceeds a preset pressure threshold, multiple second IO data corresponding to each of the multi-level sub-modules are periodically collected at multiple time points according to a certain time interval, wherein each second IO data includes one or more of the queue depth, the IO size, the IO latency, the IOPS, and the read / write interface latency. The time series multi-dimensional data collected by the above process is shown in Table 1.

[0046] Table 1 Time series multidimensional data

[0047]

[0048] In another possible implementation, when the pressure coefficient does not exceed a preset pressure threshold, the global flow control process is terminated.

[0049] In the above process, when it is determined that the pressure coefficient exceeds the preset pressure threshold, the second IO data of the multi-level sub-modules in the distributed storage system is collected in time, which is conducive to the subsequent determination of more accurate high-pressure point information, the determination of more accurate global service quality control strategy, and the guarantee of high reliability of the system.

[0050] Step S230: Generate high-voltage point information according to the plurality of second IO data, wherein the high-voltage point information is used by the user equipment to determine the first quality of service QoS regulation strategy to perform global flow control.

[0051] When multiple second IO data are collected, high-voltage point information is generated according to the multiple second IO data and artificial intelligence algorithms, etc., wherein the high-voltage point information is used by the user device to determine the first service quality QoS regulation strategy for global flow control.

[0052] In a possible implementation, the high-voltage point information includes one or more of the blockage occurrence time point, the submodule corresponding to the blockage root, and the health monitoring coefficient, wherein the health monitoring coefficient is used to indicate the degree of blockage. The high-voltage point information may also include other types of data, which are not specifically limited in this application.

[0053] In a possible implementation, the time point of the congestion in the high-voltage point information is used to determine the time difference with the current time point, the submodule corresponding to the root cause of the congestion is used to determine the distance difference with the entrance position of the distributed storage system, and the time difference and the distance difference are used to determine the service quality step parameter, thereby determining the first QoS control strategy. Alternatively, the high-voltage point information is processed by other means to determine the service quality step parameter and determine the first service quality control strategy, which is not specifically limited in this application.

[0054] In a possible implementation, the management node can send the high-voltage point information to the user device so that the user device determines the first QoS control strategy, or it can determine the QoS control strategy based on the high-voltage point information, and send the determined QoS control strategy to the user device for global flow control, which is not specifically limited in this application. In the above process, the high-voltage point information is determined based on the timely collected IO multi-faceted related data, and the perception is sensitive and detailed, which is conducive to determining a more accurate global service quality control strategy.

[0055] In a possible implementation, after the user device performs global flow control according to the first QoS control strategy, when the health monitoring coefficient becomes the health monitoring coefficient calculated for the first time according to the plurality of second IO data, step S210 is re-executed. After global flow control, it is timely determined whether the pressure coefficient exceeds the preset pressure threshold according to the IO data to trigger the flow control operation again in time, so as to avoid the problem that the timing of starting the control is inaccurate, resulting in the flow control being not accurate and efficient enough.

[0056] In a possible implementation, after the user device performs global flow control according to the first QoS control strategy, the preset pressure threshold is updated according to the high-voltage point information and the health monitoring coefficient of the user device after performing global flow control according to the first QoS control strategy. Updating the preset pressure threshold can maintain high sensitivity of the timing of triggering the flow control operation, thereby avoiding the problem of inaccurate timing of starting control, resulting in inaccurate and inefficient flow control.

[0057] In a possible implementation, the IO and IOPS mentioned in the embodiments provided in the above-mentioned present application can be reused. The reusable IO / IOPS can enable the system to use hardware resources more efficiently, improve performance and reduce energy consumption, etc. According to the different scenarios corresponding to different embodiments and the different requirements of the system, data caching, read / write merging, data deduplication, compression and snapshot technologies can be used to achieve the reuse of IO and IOPS. This application does not make any specific limitations on this.

[0058] In a possible implementation, when the IO information of multi-level sub-modules in a distributed storage system is replaced with network information, the above method can be applied to network traffic service quality control. The above method can also be applied to a variety of scenarios, which is not specifically limited in this application.

[0059] To summarize, the global flow control method provided in the present application obtains the IO information corresponding to each multi-level sub-module in the distributed storage system, determines the high-sensitivity triggering timing, and timely collects the IO information of the multi-level sub-modules to determine the specific high-voltage point information including blocking position, blocking time and other information, and determines the global service quality flow control strategy according to the high-voltage point information, thereby improving the accuracy of the global flow control strategy and solving the load pressure problem accurately and efficiently.

[0060] like Figure 3 As shown, Figure 3 is a flowchart of another global flow control method provided by the present application, which is applied to Figure 1 The user equipment in the traffic control system shown in the figure, the method includes the following steps.

[0061] Step S310: receiving high voltage point information.

[0062] The user device receives high-voltage point information sent by the distributed storage system, wherein the high-voltage point information includes a time point at which the blockage occurs, a submodule corresponding to a root cause of the blockage, and one or more health monitoring coefficients, and the health monitoring coefficient is used to indicate the degree of blockage; wherein the high-voltage point information is generated based on multiple second input and output IO data, and the second IO data is collected from the multi-level sub-modules at multiple time points when the pressure coefficient exceeds a preset pressure threshold, and each second IO data includes one or more of queue depth, IO size, IO latency, the number of reads and writes per second IOPS, and the read-write interface latency, and the pressure coefficient is determined based on multiple first IO data corresponding to the obtained multi-level sub-modules, and each first IO data includes one or more of queue depth, IO size, IO latency, the number of reads and writes per second IOPS, and the read-write interface latency.

[0063] Step S320: Determine a first quality of service QoS control strategy according to the high-voltage point information, and perform global flow control according to the first QoS control strategy.

[0064] After receiving the high-voltage point information, the time difference between the time point corresponding to the currently determined first QoS control strategy is determined according to the blocking occurrence time point in the high-voltage point information, and the distance difference between the user equipment is determined according to the submodule corresponding to the blocking root cause. Afterwards, the current period of service quality control is determined according to the time difference, distance difference and health monitoring coefficient, and the first QoS pace parameter is determined according to the current period of service quality control, thereby determining the first service quality QoS control strategy, and performing global flow control according to the first service quality QoS control strategy, wherein the first QoS pace parameter is fixed or dynamically adjusted by the balance beam algorithm.

[0065] In a possible implementation, after obtaining the time difference, distance difference and health monitoring coefficient, the current service quality control period is determined by a simple mapping method, thereby determining the first QoS pace parameter. Figure 4 As shown, Figure 4It is a schematic diagram of mapping the service quality control period according to the high-voltage point information provided by the embodiment of the present application. Among them, the service quality control period includes the early control period, the middle period and the emergency period. According to the time difference, the distance difference and the health monitoring coefficient obtained from the high-voltage point information, the service quality control period can be determined by simple mapping. The health monitoring coefficient is used as an example in the figure, and the service quality control period is determined according to the size of the health monitoring coefficient. After determining the service quality control period, the first QoS step parameter can be determined. For example, when the service quality control period is determined to be the early control period, the first QoS step parameter follows the small step fast adjustment strategy. When the service quality control period is determined to be the emergency period, the first QoS step parameter follows the large granularity rapid flow control strategy. In a possible implementation, the Qos step length control strategy includes a sequential Qos control step length strategy, for example: the planned flow control step length at time t1 is n, the flow control step length at time t2 is n+2, the flow control step length at time t3 is n-1, etc. The Qos step length control strategy can also exist in many other forms, which are not specifically limited here.

[0066] In another possible implementation, after obtaining the time difference, distance difference and health monitoring coefficient, the pace parameters of QoS at multiple time points are determined through a sequence-to-sequence (seq2seq) model, and the first QoS pace parameter is determined, thereby determining the first QoS control strategy.

[0067] To sum up, compared with the current single-point service quality flow control strategy, the global flow control method provided by the present application determines a more intelligent and accurate global service quality flow control strategy by obtaining high-voltage point information generated based on the IO information of multi-level sub-modules collected in a timely manner, thereby solving the load pressure problem accurately and efficiently.

[0068] like Figure 5 As shown, Figure 5 It is a complete process diagram of a global flow control method provided by an embodiment of the present application. In a specific implementation, a mechanism exists in the internal IO fault diagnosis and self-healing mechanism of the distributed storage system: when six detection points are set in the system, when the I / O has not returned at a certain level for more than 6 minutes, it is considered that the I / O has been hung. The IO monitoring detects each detection point every 60 seconds. When there are more than 16 I / Os that have not returned at a certain level, the result of this detection is a fault, that is, when more than 16 IOs are hung for 6 consecutive minutes, the IO is determined to be hung. According to the above FDSA, the preset pressure threshold is set to "there are 5 I / Os that have not returned". The first IO data corresponding to the multi-level sub-module is obtained. When it is determined according to the first IO data that five IOs have not returned, and there is no other abnormal data, it is determined that the pressure coefficient is greater than the preset pressure threshold, and the flow control is triggered.

[0069] When starting the flow control phase, data collection is started, and the second IO data of the multi-level sub-modules at multiple time points are collected in a timely manner according to a certain time interval. The second IO data is a multi-dimensional time series data. Afterwards, the high-voltage point information (tn, X, percent) is generated according to the second IO data. (tn, X, percent) represents sub-module X, which starts to be blocked at time tn, and the degree of blocking is percent, where tn is the time point when the blocking occurs, sub-module X is the sub-module corresponding to the root cause of the blocking, and the degree of blocking percent is the health monitoring coefficient. The time difference with the current time point is determined according to tn, and the distance difference with the entry position is determined according to sub-module X. The time difference, distance difference and health detection coefficient can be used together as high-voltage point coefficients to determine the global QoS control strategy.

[0070] In the global QoS control stage, the current QoS control period is determined according to the high-pressure point coefficient, whether it is the early control period, the mid-term period, or the emergency period, so as to determine the QoS pace strategy, and finally determine the global QoS control strategy for global control until the health monitoring coefficient and other factors return to normal. After that, the pressure coefficient is recalculated and the above operation is repeated. In addition, the preset pressure threshold will also be evaluated for its accuracy and sensitivity based on the data of each round of health monitoring coefficient, global QoS control strategy, etc., so as to adaptively update the preset pressure threshold.

[0071] like Figure 6 As shown, Figure 6 is a schematic diagram of a global flow control device provided in an embodiment of the present application, the global flow control device is applied to Figure 1 In the system shown, execution Figure 2 , Figure 3 The global flow control method shown in FIG. 1 includes a trigger timing determination module 610, a process resource monitoring module 620 and a global service quality control module 630, wherein the trigger timing determination module 610 and the process resource monitoring module 620 are applied to Figure 1 The software management layer in the system shown in the figure, the global service quality control module 630 is applied to Figure 1 In the user device shown.

[0072] The trigger timing determination module 610 is used to determine whether the pressure coefficient exceeds a preset pressure threshold according to multiple first input and output IO data corresponding to the multi-level sub-modules obtained, wherein each first IO data in the multiple first input and output IO data includes one or more of queue depth, IO size, IO latency, input / output operations per second (IOPS), and read / write interface latency, and the pressure coefficient is determined based on the multiple first IO data.

[0073] The process resource monitoring module 620 is used to collect multiple second IO data corresponding to each of the multi-level sub-modules at multiple time points when the pressure coefficient exceeds a preset pressure threshold, each of the multiple second IO data includes one or more of queue depth, IO size, IO latency, IOPS, and read / write interface latency; and is also used to generate high-voltage point information based on the multiple second IO data, wherein the high-voltage point information is used by the user device to determine the first QoS regulation strategy for global flow control.

[0074] The global service quality control module 630 is used to receive the above-mentioned high-voltage point information, which includes the time point of blockage occurrence, the sub-module corresponding to the root cause of the blockage, and one or more of the health monitoring coefficients, and the health monitoring coefficient is used to indicate the degree of blockage; it is also used to determine the QoS pace parameter according to the high-voltage point information, thereby determining the first QoS control strategy, and performing global flow control according to the first QoS control strategy.

[0075] Specifically, the trigger timing determination module 610 executes Figure 2 In step S210, the process resource monitoring module 620 executes Figure 2 In step S220 and step S230 shown in FIG. 1 , the global service quality control module 630 executes Figure 3 Steps S310 and S320 are shown.

[0076] Need to explain, Figure 6 This is only one possible implementation of the embodiment of the present application. In actual applications, the global flow control device may also include more or fewer components, which is not limited here.

[0077] like Figure 7 As shown, Figure 7 is a schematic diagram of a management device provided in an embodiment of the present application, which can be used as a management node in Figure 1 In the system shown, execution Figure 2 The global flow control method shown includes the following steps: The management device 700 includes at least: a processor 710, a memory 720, a communication interface 730 and a bus 740. The processor, the memory and the communication interface may be connected via a bus.

[0078] The processor 710 may be composed of at least one general-purpose processor, such as a central processing unit (CPU), or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 710 is used to execute the corresponding steps to implement the corresponding functions.

[0079] The memory 720 may be a volatile memory, such as a random access memory (RAM), a dynamic RAM (DRAM), a static RAM (SRAM), a synchronous dynamic RAM (SDRAM), a double data rate RAM (DDR), a cache, etc. The memory may also include a combination of the above types. The memory 720 stores a management node for executing Figure 2 Instructions for the global flow control method in .

[0080] The communication interface 730 uses, for example but not limited to, a transceiver module such as a network interface card or a transceiver, which is not specifically limited in this application.

[0081] The bus 740 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 The bus 740 is represented by only one line, but it does not mean that there is only one bus or one type of bus. The bus 740 may include a path for transmitting information between various components of the management device (for example, the processor 710, the memory 720, and the communication interface 730).

[0082] Need to explain, Figure 7 This is only one possible implementation of the embodiment of the present application. In actual applications, the management device may also include more or fewer components, which is not limited here.

[0083] like Figure 8 As shown, Figure 8 is a schematic diagram of a user device provided in an embodiment of the present application, and the user device can be applied to Figure 1 In the system shown, execution Figure 3 The global flow control method shown includes the following steps: The user equipment 800 includes at least: a processor 810, a memory 820, a communication interface 830 and a bus 840. The processor, the memory and the communication interface may be connected via a bus.

[0084] The processor 810 may be composed of at least one general-purpose processor, such as a central processing unit (CPU), or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 810 is used to execute the corresponding steps to implement the corresponding functions.

[0085] The memory 820 may be a volatile memory, such as a random access memory (RAM), a dynamic RAM (DRAM), a static RAM (SRAM), a synchronous dynamic RAM (SDRAM), a double data rate RAM (DDR), a cache, etc. The memory may also include a combination of the above types. The memory 820 stores the user equipment for executing Figure 3 Instructions for the global flow control method in .

[0086] The communication interface 830 uses, for example but not limited to, a transceiver module such as a network interface card or a transceiver, which is not specifically limited in this application.

[0087] The bus 840 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 The bus 840 is represented by only one line, but it does not mean that there is only one bus or one type of bus. The bus 840 may include a path for transmitting information between various components of the user equipment (eg, the processor 810, the memory 820, and the communication interface 830).

[0088] Need to explain, Figure 8 This is only a possible implementation of the embodiment of the present application. In actual applications, the user equipment may also include more or fewer components, which is not limited here.

[0089] The present application also provides a computer program product including instructions. The computer program product may be a software or program product including instructions that can be run on a management device or stored in any available medium. When the computer program product is run on a management device, the management device is enabled to execute Figure 2 The global flow control method shown.

[0090] The present application also provides another computer program product including instructions. The computer program product may be a software or program product including instructions that can be run on a user device or stored in any available medium. When the computer program product is run on a user device, the user device is enabled to execute Figure 3 The global flow control method shown.

[0091] The present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that can be stored by the management device or a data management device such as a data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the management device to execute Figure 2 The global flow control method shown.

[0092] The embodiment of the present application also provides another computer-readable storage medium, which includes instructions to instruct the user device to execute Figure 3 The global flow control method shown.

[0093] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A global flow control method, applied to a distributed storage system including multi-level submodules, characterized in that: The method comprises: Determine whether the pressure coefficient exceeds a preset pressure threshold according to the obtained plurality of first input and output IO data corresponding to the multi-level sub-modules, wherein each first IO data of the plurality of first input and output IO data includes one or more of queue depth, IO size, IO latency, number of reads and writes per second IOPS, and read and write interface latency, and the pressure coefficient is determined according to the plurality of first IO data; When the pressure coefficient exceeds the preset pressure threshold, a plurality of second IO data corresponding to each of the multi-level sub-modules is collected at a plurality of time points, each of the plurality of second IO data comprising one or more of the queue depth, the IO size, the IO latency, the IOPS, and the read / write interface latency; High-voltage point information is generated according to the plurality of second IO data, wherein the high-voltage point information is used by the user equipment to determine a first quality of service QoS regulation strategy to perform global flow control.

2. The method according to claim 1, characterized in that The step of determining whether the pressure coefficient exceeds a preset pressure threshold according to the obtained plurality of first input / output IO data corresponding to the multi-level submodules includes: According to the obtained multiple first IO data corresponding to the multi-level submodules, in combination with a supervised learning classification algorithm, or in combination with an unsupervised learning classification algorithm, determine the category to which the pressure coefficient corresponding to the multiple first IO data belongs, the category including a category in which the pressure coefficient exceeds the preset pressure threshold, and a category in which the pressure coefficient does not exceed the preset pressure threshold; or, Generate the pressure coefficient according to the obtained multiple first IO data corresponding to the multi-level sub-modules and a statistical algorithm or an artificial intelligence algorithm, and determine whether the pressure coefficient exceeds the preset pressure threshold, where the preset pressure threshold is determined according to the fault diagnosis self-healing mechanism FDSA; or, According to the obtained multiple first IO data corresponding to the multi-level sub-modules and the FDSA, it is determined whether any type of data in the first IO data exceeds the corresponding preset pressure threshold, and the preset pressure threshold is less than the preset threshold corresponding to triggering the FDSA.

3. The method according to claim 1 or 2, characterized in that: The high-voltage point information includes one or more of the blockage occurrence time point, the submodule corresponding to the blockage root cause, and the health monitoring coefficient, and the health monitoring coefficient is used to indicate the degree of blockage.

4. The method according to claim 3, characterized in that The method further comprises: After the user device performs global flow control according to the first QoS control strategy, when the health monitoring coefficient becomes the health detection coefficient calculated for the first time based on the multiple second IO data, it is determined whether the new pressure coefficient exceeds the preset pressure threshold based on the multiple first IO data corresponding to the multi-level sub-modules that are re-acquired.

5. The method according to claim 4, characterized in that The method further comprises: The preset pressure threshold is updated according to the high-voltage point information and the health monitoring coefficient after the user equipment performs global flow control according to the first QoS regulation strategy.

6. A global flow control method, applied to a user device connected to a distributed storage system including a multi-level submodule, characterized in that: The method comprises: Receive high-voltage point information, the high-voltage point information including a time point at which a blockage occurs, a submodule corresponding to a root cause of the blockage, and one or more health monitoring coefficients, the health monitoring coefficient being used to indicate a degree of blockage; wherein the high-voltage point information is generated based on a plurality of second input and output IO data, the second IO data being collected from the multi-level submodules at a plurality of time points when a pressure coefficient exceeds a preset pressure threshold, each second IO data including one or more of queue depth, IO size, IO latency, the number of reads and writes per second IOPS, and a read-write interface latency, the pressure coefficient being determined based on a plurality of first IO data corresponding to the acquired multi-level submodules, each first IO data including one or more of the queue depth, the IO size, the IO latency, the IOPS, and the read-write interface latency; A first quality of service QoS control strategy is determined according to the high-voltage point information, and global flow control is performed according to the first QoS control strategy.

7. The method according to claim 6, characterized in that Determining a first quality of service QoS control strategy according to the high-voltage point information, and performing global flow control according to the first QoS control strategy includes: According to the high-voltage point information, determine the time difference between the time point when the congestion occurs and the time point corresponding to the first QoS control strategy, and determine the distance difference between the submodule corresponding to the congestion root source and the user equipment; Determining a first QoS pace parameter according to the time difference, the distance difference and the health monitoring coefficient; The first quality of service QoS control strategy is determined according to the first QoS pace parameter, and global flow control is performed according to the first quality of service QoS control strategy, wherein the first QoS pace parameter is fixed or dynamically adjusted by a balance beam algorithm.

8. A management device, applied to a distributed storage system including multiple sub-modules, characterized in that: The management device comprises a processor and a memory, wherein the processor is configured to execute instructions stored in the memory of the management device, so that the management device executes the method according to claims 1 to 5.

9. A user equipment, characterized in that: The user equipment is connected to a distributed storage system including multiple sub-modules, and the user equipment includes a processor and a memory, wherein the processor is used to execute instructions stored in the memory of the user equipment so that the user equipment executes the method as claimed in claims 6 to 7.

10. A computer program product comprising instructions, characterized in that When the instruction is executed by the management device, the management device executes the method according to claims 1 to 5.

11. A computer program product comprising instructions, characterized in that When the instruction is executed by the management device, the management device executes the method according to claims 6 to 7.

12. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a management device, the management device performs the method according to claims 1 to 5.

13. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, which, when executed by a management device, perform the method according to claims 6 to 7.