Bandwidth allocation method and device for storage device in active-active storage system

By analyzing the load change rate, machine learning and dynamic weighting are used to adjust the bandwidth allocation in the dual-active storage system, which solves the latency and unreliability problems caused by the traditional static allocation method, and realizes the rational utilization of bandwidth resources and the improvement of system performance.

CN120979950AActive Publication Date: 2025-11-18INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511495122.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-20
Publication Date
2025-11-18
Estimated Expiration
2045-10-20

AI Technical Summary

Technical Problem

In traditional active-active storage systems, static bandwidth allocation results in a mismatch between the available bandwidth of the service path and the control path and the actual demand, leading to increased overall latency and unreliable communication.

Method used

By analyzing the load data of storage devices, the load change rate is determined. Using machine learning and dynamic weighting bandwidth allocation, the available bandwidth of business paths and control paths is dynamically adjusted to adapt to load fluctuations and achieve rational utilization of bandwidth resources.

Benefits of technology

Dynamically allocating bandwidth can meet the actual needs of business paths and control paths, reduce the processing latency of dual-active storage systems, and improve the communication reliability and performance of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120979950A_ABST
    Figure CN120979950A_ABST
Patent Text Reader

Abstract

The invention provides a bandwidth allocation method and equipment for storage equipment in an active-active storage system, which can be applied to the technical field of storage. The method comprises the following steps: analyzing load data of the storage equipment in a preset time period, and determining a load change rate in the preset time period; based on the load change rate, one of a first bandwidth allocation mode and a second bandwidth allocation mode is determined as a target bandwidth allocation mode, the first bandwidth allocation mode is bandwidth allocation based on a bandwidth adjustment model obtained through machine learning, and the second bandwidth allocation mode is bandwidth allocation based on a dynamic weight; based on the target bandwidth allocation mode, available bandwidths of a service path and a control path of the storage device are determined, the service path is used for transmitting service flow, the control path is used for transmitting control flow, and the service path and the control path share a transmission channel of the storage device.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of storage, and more particularly to a bandwidth allocation method and device for storage devices in a dual-active storage system. BACKGROUND

[0002] A dual-active storage system usually utilizes multiple storage devices respectively independently deployed in different locations to share business loads.

[0003] However, in a conventional dual-active storage system, a static bandwidth allocation mode is usually adopted to allocate fixed available bandwidths for a business path and a control path of a storage device, which causes the available bandwidths of the business path and the control path to be mismatched with actual demand bandwidths, and further causes the overall delay of the dual-active storage system to be increased. SUMMARY

[0004] In view of the above problems, the present application provides a bandwidth allocation method and electronic device for storage devices in a dual-active storage system.

[0005] According to a first aspect of the present application, a bandwidth allocation method for storage devices in a dual-active storage system is provided, comprising: analyzing load data of the storage devices in a predetermined period to determine a load change rate in the predetermined period; determining one of a first bandwidth allocation mode and a second bandwidth allocation mode as a target bandwidth allocation mode based on the load change rate, the first bandwidth allocation mode being bandwidth allocation based on a bandwidth adjustment model obtained through machine learning, and the second bandwidth allocation mode being bandwidth allocation based on dynamic weights; and determining available bandwidths of a business path and a control path of the storage device based on the target bandwidth allocation mode, the business path being used for transmitting business traffic, the control path being used for transmitting control traffic, and the business path and the control path sharing a transmission channel of the storage device.

[0006] A second aspect of the present application provides a bandwidth allocation device for storage devices in a dual-active storage system, comprising: a load analysis module configured to analyze load data of the storage devices in a predetermined period to determine a load change rate in the predetermined period; a mode determination module configured to determine one of a first bandwidth allocation mode and a second bandwidth allocation mode as a target bandwidth allocation mode based on the load change rate, the first bandwidth allocation mode being bandwidth allocation based on a bandwidth adjustment model obtained through machine learning, and the second bandwidth allocation mode being bandwidth allocation based on dynamic weights; and a bandwidth allocation module configured to determine available bandwidths of a business path and a control path of the storage device based on the target bandwidth allocation mode, the business path being used for transmitting business traffic, the control path being used for transmitting control traffic, and the business path and the control path sharing a transmission channel of the storage device.

[0007] The third aspect of the present application provides an electronic device, comprising: one or more processors; a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method.

[0008] The fourth aspect of the present application further provides a computer-readable storage medium having stored thereon a computer program or instructions, which, when executed by a processor, implement the steps of the method.

[0009] The fifth aspect of the present application further provides a computer program product comprising a computer program or instructions, which, when executed by a processor, implement the steps of the method.

[0010] According to the embodiments of the present application, considering the influence of the load change rate on the accuracy of the bandwidth allocation manner, one of the first bandwidth allocation manner and the second bandwidth allocation manner is determined as the target bandwidth allocation manner, so that the target bandwidth allocation manner can adapt to the fluctuation of the load, dynamically allocate the available bandwidth of the service path and the control path respectively, and further make the available bandwidth of the service path and the control path meet the actual bandwidth demand, realize the reasonable utilization of the bandwidth resource, and reduce the processing delay of the dual-active storage system. BRIEF DESCRIPTION OF DRAWINGS

[0011] The above and other objects, features and advantages of the present application will become more apparent from the following description of embodiments of the present application, taken in conjunction with the accompanying drawings.

[0012] Figure 1 A scenario diagram for application of a bandwidth allocation method and device for a storage device in a dual-active storage system according to an embodiment of the present application is shown.

[0013] Figure 2 A flowchart of a bandwidth allocation method for a storage device in a dual-active storage system according to an embodiment of the present application is shown.

[0014] Figure 3 A system architecture diagram for implementing a bandwidth allocation method according to an embodiment of the present application is shown.

[0015] Figure 4 A flowchart of bandwidth allocation according to an embodiment of the present application is shown.

[0016] Figure 5 A structural block diagram of a bandwidth allocation apparatus for a storage device in a dual-active storage system according to an embodiment of the present application is shown.

[0017] Figure 6A block diagram of an electronic device suitable for implementing a bandwidth allocation method for storage devices in a dual-active storage system according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0018] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. It is to be understood, however, that the description is merely exemplary of the present application, and is not intended to limit the scope of the present application. In the following detailed description of the embodiments of the present application, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one skilled in the art that the present application can be practiced without these specific details. In other instances, well-known structures and functions have not been described in detail in order to avoid obscuring aspects of the present application.

[0019] The terms used herein are merely used to describe specific embodiments, and are not intended to limit the present application. The terms "include" and "have" and the like used herein indicate the presence of the features, steps, operations and / or components, but do not exclude the presence or addition of one or more other features, steps, operations or components.

[0020] All terms used herein, including technical and scientific terms, have the same meanings as those generally understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having meanings consistent with the context of the present specification, and should not be interpreted in an idealized or excessively formal manner.

[0021] In the case of using expressions similar to "at least one of A, B, and C, etc.", it should generally be interpreted to include at least one of the items, unless otherwise defined. For example, "a system having at least one of A, B, and C" should include but not be limited to a system having A alone, a system having B alone, a system having C alone, a system having both A and B, a system having both A and C, a system having both B and C, and / or a system having A, B, and C, etc.

[0022] A dual-active storage system is a high-availability storage architecture design that typically includes multiple storage devices independently deployed at different locations to utilize multiple storage devices to share business loads and ensure seamless migration of services to backup storage devices in the event of a failure of a primary storage device, thereby ensuring continuity of service.

[0023] In a conventional dual-active storage system, a static bandwidth allocation method is typically used to allocate a large available bandwidth to a service path, or in the case of high service load, the service path occupies the entire bandwidth of the transmission channel, resulting in the inability of the storage device to transmit control traffic in a timely manner through the control path, an increase in transmission delay of control traffic, and thus an increase in overall delay of the dual-active storage system, and even an impact on storage consistency due to difficulty in communication between multiple storage devices.

[0024] The embodiment of the present application provides a bandwidth allocation method for a storage device in a dual-active storage system, which comprises the following steps: analyzing load data of the storage device in a predetermined period, and determining a load change rate in the predetermined period; determining one of a first bandwidth allocation mode and a second bandwidth allocation mode as a target bandwidth allocation mode based on the load change rate, the first bandwidth allocation mode being bandwidth allocation based on a bandwidth adjustment model obtained through machine learning, and the second bandwidth allocation mode being bandwidth allocation based on dynamic weights; and determining available bandwidths of a service path and a control path of the storage device based on the target bandwidth allocation mode, the service path being used for transmitting service traffic, and the control path being used for transmitting control traffic, the service path and the control path sharing a transmission channel of the storage device.

[0025] The embodiment of the present application considers the influence of the load change rate on the accuracy of the bandwidth allocation mode, determines one of the first bandwidth allocation mode and the second bandwidth allocation mode as the target bandwidth allocation mode, so that the target bandwidth allocation mode can adapt to the fluctuation of the load, dynamically allocates the available bandwidths of the service path and the control path, and further makes the available bandwidths of the service path and the control path meet actual bandwidth requirements, realizes reasonable use of bandwidth resources, and reduces processing delay of the dual-active storage system.

[0026] Figure 1 An application scenario diagram of the bandwidth allocation method and device for the storage device in the dual-active storage system according to the embodiment of the present application is shown.

[0027] As shown in Figure 1 The application scenario according to the embodiment can include a first terminal device 101, a second terminal device 102, a third terminal device 103, a server 105 and a dual-active storage system 106. A network 104 is used as a medium to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103 and the server 105. The network 104 can include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0028] A user can use the first terminal device 101, the second terminal device 102 and the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102 and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).

[0029] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, laptops, and desktop computers.

[0030] Server 105 can be a server that provides various services, such as a backend management server that supports websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103 (this is just an example). Server 105 can forward business requests to the dual-active storage system 106, so that the dual-active storage system 106 can process the stored data according to the business requests.

[0031] The dual-active storage system 106 may include multiple storage devices, such as a first storage device 106_1 and a second storage device 106_2, which can communicate with each other.

[0032] Storage devices can include data paths and control paths. Data paths are typically used to transmit business data; for example, when a server needs to read data, it can transmit read requests or read results through the data path. Data paths can also be used for data synchronization between multiple storage devices. Control paths are typically used to transmit management and control information. They can be paths for control operations such as status monitoring, fault detection, failover decisions, and arbitration mechanisms between servers and storage devices, and between multiple storage devices.

[0033] It should be noted that the bandwidth allocation method for storage devices in a dual-active storage system provided in this application embodiment can generally be executed by the first storage device 106_1 or the second storage device 106_2 in the dual-active storage system 106. Accordingly, the bandwidth allocation device for storage devices in a dual-active storage system provided in this application embodiment can generally be set in the first storage device 106_1 or the second storage device 106_2 in the dual-active storage system 106.

[0034] It should be understood that Figure 1 The number of the first terminal device, second terminal device, third terminal device, server, dual-active storage system, first storage device, and second storage device in the diagram is merely illustrative. Depending on the implementation requirements, any number of the first terminal device, second terminal device, third terminal device, server, dual-active storage system, first storage device, and second storage device can be included.

[0035] The following will be based on Figure 1 The described scene, through Figures 2-4The bandwidth allocation method for storage devices in a dual-active storage system according to the application embodiment is described in detail.

[0036] Figure 2 A flowchart of the bandwidth allocation method for storage devices in a dual-active storage system according to the application embodiment is shown.

[0037] As shown in Figure 2 , the bandwidth allocation method for storage devices in a dual-active storage system according to the embodiment includes operations S210-S230.

[0038] In operation S210, load data of the storage device in a predetermined period is analyzed to determine a load change rate in the predetermined period.

[0039] In operation S220, based on the load change rate, one of a first bandwidth allocation mode and a second bandwidth allocation mode is determined as a target bandwidth allocation mode, the first bandwidth allocation mode is to allocate bandwidth based on a bandwidth adjustment model obtained through machine learning, and the second bandwidth allocation mode is to allocate bandwidth based on dynamic weights.

[0040] In operation S230, based on the target bandwidth allocation mode, available bandwidths of a service path and a control path of the storage device are determined, the service path is used to transmit service traffic, the control path is used to transmit control traffic, and the service path and the control path share a transmission channel of the storage device.

[0041] The dual-active storage system usually uses multiple storage devices independently deployed in different locations to share service load, and the demand for service performance and the demand for communication reliability are both high. The delay of service traffic will cause the service performance to decrease, and the delay of control traffic will cause the communication reliability to decrease. In the case of sharing the transmission channel by the service path and the control path, the total bandwidth of the transmission channel needs to be reasonably allocated to the service path and the control path to ensure the communication reliability while ensuring the service performance.

[0042] When allocating bandwidth to the service path and the control path, since the load of the storage device is real-time variable, the service traffic and the control traffic of the storage device are real-time variable, and thus the bandwidth demand of the service path and the control path is real-time variable. Therefore, a dynamic first bandwidth allocation mode or a second bandwidth allocation mode can be used to adjust the available bandwidth of the service path and the control path according to real-time service traffic state information and control traffic state information.

[0043] In the embodiments of the present application, considering that the load change rate of the storage device affects the accuracy of the bandwidth allocation manner, the load change rate of the storage device in a predetermined period can be determined first, and then in the first bandwidth allocation manner and the second bandwidth allocation manner, the bandwidth allocation manner with higher accuracy under the current load change rate is determined as the target bandwidth allocation manner.

[0044] When determining the load change rate of the storage device, statistical analysis can be performed on the load data of the storage device in a predetermined period, such as determining the load change rate according to the maximum load and the minimum load in the last 5 minutes, or fitting the load data in the last 5 minutes into a load data curve, and then determining the load change rate according to the load data curve.

[0045] When determining the target bandwidth allocation manner, the target bandwidth allocation manner can be determined according to the comparison result between the load change rate and the load change rate threshold, or the bandwidth allocation manner that has a mapping relationship with the load change rate can be determined as the target bandwidth allocation manner according to the mapping relationship between the preconfigured load change rate and the bandwidth allocation manner.

[0046] For example, when the load change rate is large, the first bandwidth allocation manner uses the bandwidth adjustment model obtained through machine learning to adaptively learn the changing load pattern, and the accuracy is relatively higher than that of the second bandwidth allocation manner, so the first bandwidth allocation manner can be set as the allocation manner when the load change rate is large.

[0047] In some embodiments, when the target bandwidth allocation manner is the first bandwidth allocation manner, the real-time service traffic state information and the control traffic state information can be input into the bandwidth adjustment model obtained through machine learning to perform bandwidth allocation using the bandwidth adjustment model. When the target bandwidth allocation manner is the second bandwidth allocation manner, the dynamic weights of the service path and the control path can be determined according to the real-time service traffic state information and the control traffic state information, so as to perform bandwidth allocation on the service path and the control path using the dynamic weights.

[0048] According to the embodiments of the present application, considering the influence of the load change rate on the accuracy of the bandwidth allocation manner, one of the first bandwidth allocation manner and the second bandwidth allocation manner is determined as the target bandwidth allocation manner, so that the target bandwidth allocation manner can adapt to the fluctuation of the load, and dynamically allocate the available bandwidth of the service path and the control path, thereby making the available bandwidth of the service path and the control path meet the actual bandwidth demand, realizing reasonable utilization of bandwidth resources, and reducing the processing delay of the dual-active storage system.

[0049] Figure 3 A system architecture diagram for implementing the bandwidth allocation method according to the embodiments of the present application is shown.

[0050] As Figure 3As shown, the system architecture for implementing the bandwidth allocation method includes a monitoring layer, a decision layer and an execution layer. The monitoring layer can be used to obtain load data in a preset period, the decision layer can be used to determine a target bandwidth allocation mode, and the execution layer can be used to allocate bandwidth according to the target bandwidth allocation mode.

[0051] According to the embodiments of the present application, the load data of the storage device in the predetermined period is analyzed, and the load change rate in the predetermined period is determined, including: determining a target fitting mode for fitting the load data based on the distribution characteristics of the load data in the predetermined period; using the target fitting mode to perform curve fitting on the load data to obtain a load change curve; and determining the load change rate based on the load change curve.

[0052] In determining the load change rate, since the load change of the storage device is complex, the load change rate determined only according to the ratio of the maximum load to the minimum load cannot reflect the change of the load, so the load data can be curve fitted, and the load change rate can be determined according to the load change curve obtained by curve fitting.

[0053] In order to improve the accuracy of curve fitting of the load data, the target fitting mode matched with the change of the load data can be selected according to the distribution characteristics of the load data, and the load data can be curve fitted.

[0054] For example, when the distribution characteristics represent that the load data is linearly distributed, the target fitting mode can be determined as linear regression, and when the distribution characteristics represent that the load data changes periodically, the target fitting mode can be determined as Fourier series fitting.

[0055] In some embodiments, in order to ensure the accuracy of the load change curve, after the load change curve is obtained by curve fitting of the load data, the load change curve can be verified, and in the case that the load change curve passes the verification, the load change rate is determined using the load change curve, and in the case that the load change curve does not pass the verification, the load data can be curve fitted using other preset fitting modes until the load change curve passes the verification.

[0056] After the load change curve is obtained, the load change curve can be differentiated to obtain a load change rate function, and then the instantaneous load change rate at each time in the preset period can be obtained according to the load change rate function, and then the load change rate in the preset period can be determined according to the plurality of instantaneous load change rates.

[0057] According to the embodiment of the present application, by fitting the load data by using a target fitting mode matched with the load data distribution characteristics, the load change curve obtained by fitting can accurately represent the actual change of the load, thereby improving the accuracy of the load change rate determined according to the load change curve, and further improving the accuracy of the target bandwidth allocation mode.

[0058] According to the embodiment of the present application, based on the load change rate, one of the first bandwidth allocation mode and the second bandwidth allocation mode is determined as the target bandwidth allocation mode, including: in response to determining that the load change rate is greater than the load change rate threshold, determining the first bandwidth allocation mode as the target bandwidth allocation mode; in response to determining that the load change rate is less than or equal to the load change rate threshold, determining the second bandwidth allocation mode as the target bandwidth allocation mode.

[0059] In determining the target bandwidth allocation mode, the load change rate can be compared with the load change rate threshold, and when the load change rate is greater than the load change rate threshold, it represents that the current load fluctuation is large. Since the first bandwidth allocation mode utilizes the bandwidth adjustment model obtained by machine learning, it can adaptively learn the changing load pattern, and can determine the first bandwidth allocation mode as the target bandwidth allocation mode when the load change rate is greater than the load change rate threshold.

[0060] When the load change rate is less than or equal to the load change rate threshold, it represents that the current load fluctuation is small. At this time, using the first bandwidth allocation mode will cause waste of computing resources, so the second bandwidth allocation mode can be determined as the target bandwidth allocation mode when the load change rate is less than or equal to the load change rate threshold. Not only can the bandwidth allocation be performed for the service path and the control path according to the real-time service traffic state information and the control traffic state information, but also the consumption of computing resources can be reduced.

[0061] According to the embodiment of the present application, by determining the first bandwidth allocation mode as the target bandwidth allocation mode when the load change rate is greater than the change rate threshold, and determining the second bandwidth allocation mode as the target bandwidth allocation mode when the load change rate is less than or equal to the change rate threshold, not only the accuracy of the bandwidth allocation using the target bandwidth allocation mode can be ensured, but also the consumption of computing resources due to the bandwidth allocation can be reduced.

[0062] According to the embodiment of the present application, the load change rate threshold is determined by: using a plurality of test strategies determined based on different load change rates to test the storage device to simulate the operation of the storage device under different load change rates; obtaining performance indicators of the storage device under each test strategy, and determining the load change rate threshold according to the plurality of performance indicators.

[0063] For example, a load change rate that causes a significant increase in the packet loss rate can be determined according to the performance indicators, and the load change rate is determined as the load change rate threshold.

[0064] According to an embodiment of the present application, by utilizing a plurality of test strategies determined based on different load change rates, the change rate threshold for the storage device is determined so that the change rate threshold matches the actual performance of the storage device, thereby improving the accuracy of the determined target bandwidth allocation mode.

[0065] According to an embodiment of the present application, based on the target bandwidth allocation mode, the available bandwidths of the service path and the control path of the storage device are determined, including: in response to determining that the target bandwidth allocation mode is the first bandwidth allocation mode, inputting the current service traffic state information, the current control traffic state information and the current transmission channel state information into the bandwidth adjustment model to obtain a bandwidth adjustment amount; and based on the bandwidth adjustment amount, adjusting the available bandwidth of the service path and the available bandwidth of the control path respectively.

[0066] The bandwidth adjustment model utilized by the first bandwidth allocation mode can be obtained through reinforcement learning. In an embodiment of the present application, the actor-critic algorithm can be used to perform reinforcement learning on the bandwidth adjustment model, so that the bandwidth adjustment model can adaptively learn the changing load pattern.

[0067] When the actor-critic algorithm is used to perform reinforcement learning on the bandwidth adjustment model, the bandwidth adjustment model can include an actor network and a critic network, and the actor network and the critic network can include a plurality of fully connected layers.

[0068] When the bandwidth adjustment model is used to perform bandwidth adjustment, the current service traffic state information, the current control traffic state information and the current transmission channel state information can be input into the actor network of the bandwidth adjustment model to output the bandwidth adjustment amount using the actor network, and the current service traffic state information, the current control traffic state information and the current transmission channel state information can be input into the critic network to estimate the value of the current state using the critic network to obtain a current state evaluation value.

[0069] After obtaining the bandwidth adjustment amount, the available bandwidth of the service path and the available bandwidth of the control path can be adjusted based on the bandwidth adjustment amount to obtain the adjusted available bandwidths of the service path and the control path respectively.

[0070] In some embodiments, the available bandwidth can represent a proportion in the total bandwidth of the transmission channel, and the bandwidth adjustment amount can represent an adjustment amount of the proportion. For example, the original available bandwidth of the service path is 60% of the total bandwidth of the transmission channel, and the original available bandwidth of the control path is 40% of the total bandwidth of the transmission channel. The bandwidth adjustment amount can represent a decrease of 10% in the proportion of the available bandwidth of the service path in the total bandwidth. After adjustment, the available bandwidth of the service path is 50% of the total bandwidth of the transmission channel, and the available bandwidth of the control path is 50% of the total bandwidth of the transmission channel.

[0071] Due to the adjustment of the available bandwidth of the service path and the control path, the service flow state, the control flow state and the transmission channel state of the storage device are changed. The next service flow state information, the next control flow state information and the next transmission channel state information after bandwidth adjustment can be obtained, and the next service flow state information, the next control flow state information and the next transmission channel state information are input into the critic network. The critic network is used to estimate the value of the next state to obtain the next state evaluation value.

[0072] After obtaining the next state evaluation value, the current reward value can be calculated based on the service flow delay, the heartbeat delay and the transmission channel bandwidth utilization by using the reward function. The reward function can be shown in the following formula (1):

[0073] rt = 0.6 x (1 / max(data_latency, 0.1)) + 0.3 x (1-min(heartbeat_delay / 500, 1)) + 0.1 x (1-abs(bandwidth_usage-0.7)) (1);

[0074] Wherein, rt represents the current reward value, data_latency represents the service delay, heartbeat_delay represents the heartbeat delay, and bandwidth_usage represents the bandwidth utilization.

[0075] After obtaining the reward value, the reward value, the current state evaluation value and the next state evaluation value can be processed by using the temporal difference (TD) error function to obtain the current TD error. The temporal difference error function can be shown in the following formula (2):

[0076] δt = rt + θV(st+1) - V(st) (2);

[0077] Wherein, δt represents the current TD error, θ represents the discount factor, V(st+1) represents the next state evaluation value, and V(st) represents the current state evaluation value.

[0078] After obtaining the TD error, parameters of the actor network and the critic network are adjusted based on the TD error to realize iterative updating of the bandwidth adjustment model.

[0079] According to an embodiment of the present application, bandwidth allocation is performed by using the bandwidth adjustment model obtained through reinforcement learning, so that the parameters of the bandwidth adjustment model can change according to the change of state information, and then the bandwidth adjustment model can adapt to the changing load mode, thereby improving the accuracy of bandwidth allocation.

[0080] According to an embodiment of the present application, the current service traffic state information includes at least one of a service processing rate, a service delay and a pending service amount. In a specific embodiment, the service processing rate can be an Input / Output Per Second (IOPS) of the storage device, the service delay can be a Percentile-99 (P99) delay, and the pending service amount can be a service queue depth.

[0081] According to an embodiment of the present application, the current control traffic state information includes at least one of a heartbeat delay and a pending metadata amount. In a specific embodiment, the heartbeat delay can be an average delay of the last 10 heartbeats, and the pending metadata amount can represent a backlog of metadata synchronization.

[0082] According to an embodiment of the present application, the current transmission channel state information includes a transmission channel bandwidth utilization and a cross-storage device delay. In a specific embodiment, the dual-active storage system includes multiple data centers, and the cross-storage device delay can include a cross-data center delay.

[0083] According to an embodiment of the present application, the bandwidth adjustment amount is determined by using state data of multiple dimensions, so that the data input to the bandwidth adjustment model is more comprehensive, the accuracy of the bandwidth adjustment amount output by the bandwidth adjustment model is improved, and then the accuracy of the available bandwidth allocated to the service path and the control path is improved.

[0084] According to an embodiment of the present application, the output of the bandwidth adjustment model further includes a control path bandwidth limit threshold; and the bandwidth allocation method further includes: in response to the current available bandwidth of the control path being less than the control path bandwidth limit threshold, triggering synchronization metadata compression and / or heartbeat aggregation.

[0085] The bandwidth adjustment model can output a control path bandwidth limit threshold matched with the current state information according to the real-time state information. However, in the case of heavy service load, the current available bandwidth of the adjusted control path can be less than the control path bandwidth limit threshold, resulting in high control traffic delay, even control signaling loss, and then possibly affecting the communication between multiple storage devices.

[0086] In order to ensure service performance and communication reliability at the same time, synchronous metadata compression and / or heartbeat aggregation can be triggered in the case that the current available bandwidth of the control path is less than the control path bandwidth limit threshold, so as to reduce the transmission pressure of the control path by reducing the data amount of the control traffic, and ensure that the key control signaling is not lost.

[0087] According to the embodiments of the present application, by triggering synchronous metadata compression and / or heartbeat aggregation in response to the current available bandwidth of the control path being less than the control path bandwidth limit threshold, service performance and communication reliability are ensured at the same time.

[0088] According to the embodiments of the present application, based on the target bandwidth allocation mode, the available bandwidths of the service path and the control path of the storage device are determined, including: in response to determining that the target bandwidth allocation mode is the second bandwidth allocation mode, determining the service path weight based on the service traffic state information by using a preset service weight determination function; determining the control path weight based on the control traffic state information by using a preset control weight determination function; and determining the available bandwidths of the service path and the control path of the storage device based on the total bandwidth of the transmission channel of the storage device, the service path weight and the control path weight.

[0089] When the second bandwidth allocation mode is used for bandwidth allocation, the dynamic weights of the service path and the control path can be determined according to the service traffic state information and the control traffic state information, and then bandwidth allocation is performed according to the dynamic weights of the service path and the control path.

[0090] In the embodiments of the present application, the service path weight is determined based on the service traffic state information by using a preset service weight determination function. The preset service weight determination function can be as shown in the following formula (3):

[0091] W_data=α×(IOPS / IOPS_max)+β×(Latency_actual / Latency_SLA)+γ×(Business_Priority) (3);

[0092] Wherein, W_data represents the service path weight, IOPS represents the input / output per second, IOPS_max represents the maximum input / output per second of the storage device, Latency_SLA represents the maximum delay allowed by the service, Latency_actual represents the service delay of the storage device, Business_Priority represents the service level of the to-be-processed service, ranging from 0.1 to 1.0, and α, β and γ represent adjustable parameters.

[0093] In the embodiments of the present application, the control path weight is determined based on the control traffic state information by using a preset control weight determination function. The preset control weight determination function can be shown in the following formula (4):

[0094] W_ctrl=μ×(Heartbeat_Urgency)+λ×(Metadata_Update_Rate)+ω×(Network_Jitter) (4);

[0095] wherein W_ctrl represents the control path weight, Heartbeat_Urgency represents the heartbeat delay, Metadata_Update_Rate represents the metadata change frequency, Network_Jitter represents the network jitter, and μ, λ, ω represent adjustable parameters.

[0096] After the service path weight and the control path weight are determined, the bandwidth proportion of the service path and the control path can be determined according to the ratio of the service path weight and the control path weight, and then the available bandwidth of the service path and the control path can be determined. The process of determining the available bandwidth of the service path and the control path of the storage device can be shown in the following formula (5) and formula (6):

[0097] BW_data = (W_data / (W_data + W_ctrl)) × Total_BW (5);

[0098] BW_ctrl = Total_BW - BW_data (6);

[0099] wherein BW_data represents the available bandwidth of the service path, BW_ctrl represents the available bandwidth of the control path, and Total_BW represents the total bandwidth of the transmission channel.

[0100] According to the embodiments of the present application, the service path weight and the control path weight are dynamically determined according to the service traffic state information and the control traffic state information, and then the available bandwidth of the service path and the control path can be adjusted according to the service path weight and the control path weight, so that the allocated available bandwidth matches the actual demand bandwidth, and the bandwidth utilization is improved.

[0101] Figure 4 A flowchart of bandwidth allocation according to the embodiments of the present application is shown.

[0102] As shown in Figure 4 , the bandwidth allocation includes operation S410 to operation S460.

[0103] In operation S410, the service traffic state information is obtained.

[0104] In operation S420, control traffic state information is acquired.

[0105] In operation S430, transmission channel state information is acquired.

[0106] In operation S440, it is determined whether the target bandwidth allocation mode is the first bandwidth allocation mode. In the case where the target bandwidth allocation mode is the first bandwidth allocation mode, operation S450 is performed, otherwise operation S460 is performed.

[0107] In operation S450, bandwidth allocation is performed based on a bandwidth adjustment model obtained through machine learning, using service traffic state information, control traffic state information, and transmission channel state information.

[0108] In operation S460, bandwidth allocation is performed based on a dynamic weight, using service traffic state information and control traffic state information.

[0109] According to an embodiment of the present application, based on a total bandwidth of a transmission channel of a storage device, a service path weight, and a control path weight, available bandwidths of the service path and the control path of the storage device are determined, including: based on the service path weight and the control path weight, determining an initial service bandwidth proportion and an initial control bandwidth proportion; in the case where the initial service bandwidth proportion is greater than a service bandwidth proportion threshold, based on the service bandwidth proportion threshold and the total bandwidth of the transmission channel, determining the available bandwidth of the service path; based on the total bandwidth of the transmission channel and the available bandwidth of the service path, determining the available bandwidth of the control path.

[0110] In the case where service load is large, the initial service bandwidth proportion and the initial control bandwidth proportion determined may be seriously unbalanced, with the initial service bandwidth proportion being extremely high and the initial control bandwidth proportion being extremely low, resulting in high control traffic delay and affecting communication between multiple storage devices.

[0111] In order to ensure normal communication between multiple storage devices, a service bandwidth proportion threshold can be preset, and in the case where the initial service bandwidth proportion is greater than the service bandwidth proportion threshold, the available bandwidth of the service path is determined based on the service bandwidth proportion threshold, so as to avoid difficulty in normal communication between multiple storage devices due to the small available bandwidth of the control path.

[0112] According to an embodiment of the present application, by determining the available bandwidth of the service path based on the service bandwidth proportion threshold and the total bandwidth of the transmission channel in the case where the initial service bandwidth proportion is greater than the service bandwidth proportion threshold, the available bandwidth of the service path is limited, which can avoid the available bandwidth of the control path being too low and ensure communication reliability.

[0113] According to an embodiment of the present application, the bandwidth allocation method further comprises: determining a priority of each of the plurality of to-be-processed services according to service attribute information of each of the plurality of to-be-processed services; determining a total priority of the plurality of to-be-processed services according to the priority of each of the plurality of to-be-processed services; and adjusting the initial service bandwidth proportion threshold according to the total priority to obtain the service bandwidth proportion threshold.

[0114] Since the priorities of the plurality of services are different, the service delay requirement of a low-priority service is lower, and therefore the service bandwidth proportion threshold can be set to change in real time according to the priority of the to-be-processed service, and the service bandwidth proportion threshold can be appropriately reduced when the priority is low.

[0115] When determining the priority of each of the plurality of to-be-processed services, the priority of each of the plurality of to-be-processed services can be determined according to service attribute information of each of the plurality of to-be-processed services, such as a service type of each of the plurality of to-be-processed services, and the average of the plurality of priorities can be determined as the total priority.

[0116] After the total priority is determined, the total priority can be compared with a priority threshold, in a case where the total priority is greater than the priority threshold, a preset proportion threshold adjustment amount can be added to the initial service bandwidth proportion threshold, and in a case where the total priority is less than or equal to the priority threshold, the preset proportion threshold adjustment amount can be reduced from the initial service bandwidth proportion threshold to obtain the service bandwidth proportion threshold.

[0117] According to an embodiment of the present application, by adjusting the service bandwidth proportion threshold in real time according to the priority of the to-be-processed service, the control traffic backlog caused by the long-time low control path available bandwidth in the case of high service load can be avoided, the communication reliability is improved while the service performance requirement is ensured.

[0118] Based on the bandwidth allocation method for the storage device in the dual-active storage system, the present application further provides a bandwidth allocation apparatus for the storage device in the dual-active storage system. The following will be described in detail Figure 5 with reference to the bandwidth allocation apparatus for the storage device in the dual-active storage system.

[0119] Figure 5 A structure block diagram of the bandwidth allocation apparatus for the storage device in the dual-active storage system according to an embodiment of the present application is shown.

[0120] As Figure 5 shown, the bandwidth allocation apparatus 500 for the storage device in the dual-active storage system of this embodiment comprises a load analysis module 510, a mode determination module 520 and a bandwidth allocation module 530.

[0121] The load analysis module 510 is configured to analyze load data of the storage device in a predetermined period, and determine a load change rate in the predetermined period. In an embodiment, the load analysis module 510 can be configured to perform operation S210 described above, and details are not repeated here.

[0122] The mode determination module 520 is configured to determine one of a first bandwidth allocation mode and a second bandwidth allocation mode as a target bandwidth allocation mode based on the load change rate, the first bandwidth allocation mode being bandwidth allocation based on a bandwidth adjustment model obtained through reinforcement learning, and the second bandwidth allocation mode being bandwidth allocation based on dynamic weights. In an embodiment, the mode determination module 520 can be configured to perform operation S220 described above, and details are not repeated here.

[0123] The bandwidth allocation module 530 is configured to determine available bandwidths of a service path and a control path of the storage device based on the target bandwidth allocation mode, the service path being used to transmit service traffic, the control path being used to transmit control traffic, and the service path and the control path sharing a transmission channel of the storage device. In an embodiment, the bandwidth allocation module 530 can be configured to perform operation S230 described above, and details are not repeated here.

[0124] According to an embodiment of the present application, the bandwidth allocation module 530 includes an adjustment determination sub-module and a bandwidth adjustment sub-module.

[0125] The adjustment determination sub-module is configured to input current service traffic state information, current control traffic state information, and current transmission channel state information into the bandwidth adjustment model to obtain a bandwidth adjustment amount in response to determining that the target bandwidth allocation mode is the first bandwidth allocation mode.

[0126] The bandwidth adjustment sub-module is configured to adjust the available bandwidth of the service path and the available bandwidth of the control path based on the bandwidth adjustment amount, respectively.

[0127] According to an embodiment of the present application, the current service traffic state information includes at least one of a service processing rate, a service delay, and an amount of pending service; the current control traffic state information includes at least one of a heartbeat delay and an amount of pending metadata; and the current transmission channel state information includes a transmission channel bandwidth utilization rate and a cross-storage device delay.

[0128] According to an embodiment of the present application, the output of the bandwidth adjustment model further includes a control path bandwidth limit threshold; and the bandwidth allocation module 530 further includes a control triggering module.

[0129] The control triggering module is configured to trigger synchronization metadata compression and / or heartbeat aggregation in response to the current available bandwidth of the control path being less than the control path bandwidth limit threshold.

[0130] According to an embodiment of the present application, the bandwidth allocation module 530 further comprises a service determining sub-module, a control determining sub-module and a bandwidth determining sub-module.

[0131] The service determining sub-module is configured to determine a service path weight based on service traffic state information by using a preset service weight determination function in response to determining that the target bandwidth allocation mode is the second bandwidth allocation mode.

[0132] The control determining sub-module is configured to determine a control path weight based on control traffic state information by using a preset control weight determination function.

[0133] The bandwidth determining sub-module is configured to determine available bandwidths of the service path and the control path of the storage device respectively based on a total bandwidth of a transmission channel of the storage device, the service path weight and the control path weight.

[0134] According to an embodiment of the present application, the bandwidth determining sub-module comprises an initial determination unit, a threshold determination unit and a bandwidth determination unit.

[0135] The initial determination unit is configured to determine an initial service bandwidth proportion and an initial control bandwidth proportion based on the service path weight and the control path weight.

[0136] The threshold determination unit is configured to determine the available bandwidth of the service path based on a service bandwidth proportion threshold and the total bandwidth of the transmission channel in a case where the initial service bandwidth proportion is greater than the service bandwidth proportion threshold.

[0137] The bandwidth determination unit is configured to determine the available bandwidth of the control path based on the total bandwidth of the transmission channel and the available bandwidth of the service path.

[0138] According to an embodiment of the present application, the bandwidth allocation apparatus 500 for the storage device in the dual-active storage system further comprises a priority determining module, a total priority determining module and a proportion threshold determining module.

[0139] The priority determining module is configured to determine priorities of a plurality of to-be-processed services respectively according to service attribute information of the plurality of to-be-processed services respectively.

[0140] The total priority determining module is configured to determine a total priority of the plurality of to-be-processed services according to the priorities of the plurality of to-be-processed services respectively.

[0141] The proportion threshold determining module is configured to adjust an initial service bandwidth proportion threshold according to the total priority to obtain a service bandwidth proportion threshold.

[0142] According to an embodiment of the present application, the mode determining module 520 comprises a first determining sub-module and a second determining sub-module.

[0143] The first determining sub-module is configured to determine the first bandwidth allocation mode as the target bandwidth allocation mode in response to determining that the load change rate is greater than the load change rate threshold.

[0144] The second determining sub-module is configured to determine the second bandwidth allocation mode as the target bandwidth allocation mode in response to determining that the load change rate is less than or equal to the load change rate threshold.

[0145] According to an embodiment of the present application, the load analysis module 510 comprises a mode determining sub-module, a load fitting sub-module and a change determining sub-module.

[0146] The mode determining sub-module is configured to determine a target fitting mode for fitting the load data based on a distribution feature of the load data in a predetermined time period.

[0147] The load fitting sub-module is configured to perform curve fitting on the load data using the target fitting mode to obtain a load change curve.

[0148] The change determining sub-module is configured to determine a load change rate based on the load change curve.

[0149] According to an embodiment of the present application, any of the load analysis module 510, the mode determining module 520 and the bandwidth allocation module 530 can be combined in one module, or any of the modules can be split into multiple modules. Alternatively, at least part of the function of one or more of the modules can be combined with at least part of the function of the other modules, and implemented in one module. According to an embodiment of the present application, at least one of the load analysis module 510, the mode determining module 520 and the bandwidth allocation module 530 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on board, a system on package, an application specific integrated circuit (ASIC), or any other reasonable manner of hardware or firmware that can be integrated or packaged, or implemented in any one of software, hardware and firmware or in a proper combination of any of them. Alternatively, at least one of the load analysis module 510, the mode determining module 520 and the bandwidth allocation module 530 can be at least partially implemented as a computer program module that can perform corresponding functions when the computer program module is run.

[0150] Figure 6 A block diagram of an electronic device suitable for implementing the bandwidth allocation method for storage devices in a dual-active storage system according to an embodiment of the present application is shown.

[0151] As Figure 6As shown, the electronic device 600 according to embodiments of the present application includes a processor 601 which can perform various appropriate actions and processes in accordance with a program stored in a read only memory (ROM) 602 or a program loaded from a storage section 608 into a random access memory (RAM) 603. The processor 601 can include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor, and / or a related chip set, and / or a special purpose microprocessor (e.g., an application specific integrated circuit (ASIC)), and so on. The processor 601 can also include an on-board memory for cache use. The processor 601 can include a single processing unit or multiple processing units to perform the various actions of the method processes according to embodiments of the present application.

[0152] In the RAM 603, various programs and data required for the operation of the electronic device 600 are stored. The processor 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. The processor 601 performs various operations of the method processes according to embodiments of the present application by executing the programs in the ROM 602 and / or the RAM 603. Note that the programs can also be stored in one or more memories other than the ROM 602 and the RAM 603. The processor 601 can also perform various operations of the method processes according to embodiments of the present application by executing the programs stored in the one or more memories.

[0153] According to embodiments of the present application, the electronic device 600 can also include an input / output (I / O) interface 605 which is also connected to the bus 604. The electronic device 600 can also include one or more of the following components connected to the input / output (I / O) interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the input / output (I / O) interface 605 as necessary. A removable medium 611 such as a magnetic disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 610 as necessary, so that a computer program read out therefrom is installed in the storage section 608 as necessary.

[0154] The application further provides a computer readable storage medium, which can be included in the device / apparatus / system described in the above embodiments, or can exist independently without being assembled into the device / apparatus / system. The computer readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of the application.

[0155] According to the embodiments of the application, the computer readable storage medium can be a non-volatile computer readable storage medium, which can include, but is not limited to, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any appropriate combination thereof. In this application, a computer readable storage medium can be any tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to the embodiments of the application, the computer readable storage medium can include one or more of the above-described ROM 602 and / or RAM 603 and / or one or more memories other than the ROM 602 and the RAM 603.

[0156] The embodiments of the application also include a computer program product, which includes a computer program containing program codes for executing the methods shown in the flowcharts. When the computer program product is run in a computer system, the program codes are used to make the computer system implement the methods provided by the embodiments of the application.

[0157] The above-described functions defined in the system / apparatus of the embodiments of the application are performed when the computer program is executed by the processor 601. According to the embodiments of the application, the above-described system, apparatus, module, unit, etc. can be implemented by computer program modules.

[0158] In one embodiment, the computer program can rely on a tangible storage medium such as an optical storage medium, a magnetic storage medium, etc. In another embodiment, the computer program can also be transmitted, distributed, and downloaded in the form of a signal on a network medium, and be downloaded and installed through the communication part 609, and / or installed from the detachable medium 611. The program codes contained in the computer program can be transmitted by any appropriate network medium, including but not limited to wireless, wired, etc., or any appropriate combination thereof.

[0159] In such embodiments, the computer program can be downloaded and installed from the network via the communication section 609, and / or installed from the removable media 611. When the computer program is executed by the processor 601, the above-described functions defined in the system of the embodiments of the present application are performed. According to the embodiments of the present application, the system, device, apparatus, module, unit, and the like described above can be realized by the computer program module.

[0160] According to the embodiments of the present application, the program code for executing the computer program provided by the embodiments of the present application can be written in any combination of one or more programming languages, and specifically, these computer programs can be implemented using high-level procedural and / or object-oriented programming language, and / or assembly / machine language. The programming language includes, but is not limited to, such as Java, C++, python, "C" language, or similar programming language. The program code can be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In the case involving a remote computing device, the remote computing device can be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, connected to the Internet through an Internet service provider).

[0161] The flowcharts and block diagrams in the drawings illustrate the possible implementation architectures, functions, and operations of the systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowcharts or block diagrams can represent a module, a program segment, or a portion of code that contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different orders than that shown in the figures. For example, two blocks that are shown in succession can actually be executed substantially concurrently, or they can sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams or flowcharts, and combinations of blocks in the block diagrams or flowcharts, can be implemented by a dedicated hardware-based system that performs specified functions or operations, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0162] Those skilled in the art can understand that the features described in various embodiments of the present application can be combined and / or integrated in various combinations, even if such combinations are not explicitly described in the present application. In particular, the features described in various embodiments of the present application can be combined and / or integrated in various combinations without departing from the spirit and teachings of the present application. All such combinations and / or integrations are within the scope of the present application.

[0163] The embodiments of the application have been described. However, these embodiments are merely for illustration and are not intended to limit the scope of the application. Although each embodiment is described above separately, this does not mean that the measures in each embodiment cannot be used advantageously in combination. Various alternatives and modifications to the embodiments described herein will be apparent to those skilled in the art in view of the foregoing description. Such alternatives and modifications are intended to fall within the scope of the application.

Claims

1. A bandwidth allocation method for storage devices in a dual-active storage system, characterized in that, The bandwidth allocation method includes: Analyze the load data of the storage device within a predetermined time period to determine the load change rate within the predetermined time period; Based on the load change rate, one of the first bandwidth allocation method and the second bandwidth allocation method is determined as the target bandwidth allocation method. The first bandwidth allocation method is based on a bandwidth adjustment model obtained through machine learning, and the second bandwidth allocation method is based on dynamic weights. Based on the target bandwidth allocation method, the available bandwidth of the service path and control path of the storage device is determined respectively. The service path is used to transmit service traffic, and the control path is used to transmit control traffic. The service path and the control path share the transmission channel of the storage device.

2. The bandwidth allocation method according to claim 1, characterized in that, The step of determining the available bandwidth for the service path and control path of the storage device based on the target bandwidth allocation method includes: In response to determining that the target bandwidth allocation method is the first bandwidth allocation method, the current service traffic status information, the current control traffic status information, and the current transmission channel status information are input into the bandwidth adjustment model to obtain the bandwidth adjustment amount; Based on the bandwidth adjustment amount, the available bandwidth of the service path and the available bandwidth of the control path are adjusted respectively.

3. The bandwidth allocation method according to claim 2, characterized in that, The current service traffic status information includes at least one of service processing rate, service latency, and pending service volume; The current control flow status information includes at least one of heartbeat delay and the amount of metadata to be synchronized; The current transmission channel status information includes transmission channel bandwidth utilization and cross-storage device latency.

4. The bandwidth allocation method according to claim 2, characterized in that, The output of the bandwidth adjustment model also includes a control path bandwidth limit threshold; the bandwidth allocation method further includes: In response to the current available bandwidth of the control path being less than the control path bandwidth limit threshold, synchronous metadata compression and / or heartbeat aggregation are triggered.

5. The bandwidth allocation method according to claim 1, characterized in that, The step of determining the available bandwidth for the service path and control path of the storage device based on the target bandwidth allocation method includes: In response to determining that the target bandwidth allocation method is the second bandwidth allocation method, the service path weight is determined based on the service traffic status information using a preset service weight determination function. The control path weights are determined using a preset control weight determination function based on control flow status information. Based on the total bandwidth of the transmission channel of the storage device, the service path weight, and the control path weight, the available bandwidth of the service path and control path of the storage device is determined.

6. The bandwidth allocation method according to claim 5, characterized in that, The determination of the available bandwidth of the service path and control path of the storage device based on the total bandwidth of the transmission channel of the storage device, the service path weight, and the control path weight includes: Based on the service path weight and the control path weight, the initial service bandwidth ratio and the initial control bandwidth ratio are determined. If the initial service bandwidth ratio is greater than the service bandwidth ratio threshold, the available bandwidth of the service path is determined based on the service bandwidth ratio threshold and the total bandwidth of the transmission channel. The available bandwidth of the control path is determined based on the total bandwidth of the transmission channel and the available bandwidth of the service path.

7. The bandwidth allocation method according to claim 6, characterized in that, The bandwidth allocation method further includes: Based on the business attribute information of each of the multiple pending services, the priority of each of the multiple pending services is determined. The overall priority of the multiple pending services is determined based on the individual priorities of each service. Based on the total priority, the initial service bandwidth percentage threshold is adjusted to obtain the service bandwidth percentage threshold.

8. The bandwidth allocation method according to claim 1, characterized in that, The step of determining one of the first bandwidth allocation method and the second bandwidth allocation method as the target bandwidth allocation method based on the load change rate includes: In response to determining that the load change rate is greater than the load change rate threshold, the first bandwidth allocation method is determined to be the target bandwidth allocation method; In response to determining that the load change rate is less than or equal to the load change rate threshold, the second bandwidth allocation method is determined to be the target bandwidth allocation method.

9. The bandwidth allocation method according to claim 1, characterized in that, The step of analyzing the load data of the storage device within a predetermined time period to determine the load change rate within the predetermined time period includes: Based on the distribution characteristics of the load data within the predetermined time period, a target fitting method for fitting the load data is determined. Using the target fitting method, curve fitting is performed on the load data to obtain the load change curve; The load change rate is determined based on the load change curve.

10. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the bandwidth allocation method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Bandwidth sharing method, and related apparatus and system

    CN106797588A

  • Bandwidth allocation method and device

    CN112148426A

  • Method, system for dynamically adjusting dual-live volume resynchronization speed, and terminal

    CN113608923A

  • System for allocation of network resources for optimized data communication in hierarchical networks

    US20250247442A1

  • Weight-based bandwidth allocation for network traffic

    US7983299B1