Storage resource allocation method and device, electronic equipment and storage medium
By dynamically adjusting the storage resource allocation method, combining the performance indicators of RoCE network and heterogeneous storage devices, the problems of storage performance jitter and resource waste are solved, and efficient storage resource management and data consistency are achieved.
Patent Information
- Application Number
- CN202510724587.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2045-05-30
AI Technical Summary
When existing storage virtualization technologies are combined with RoCE networks, they cannot dynamically adjust storage resource allocation according to real-time network status, resulting in storage performance jitter, and heterogeneous storage devices are not fully utilized, resulting in resource waste and data consistency problems.
By collecting network status information and performance indicator information of storage volumes, the priority weight of each storage volume is determined, and bandwidth is allocated based on the weight, and the task needs to operate across heterogeneous storage devices, dynamically adjust the target transmission path and storage volume, and use the zero-copy mechanism of the RoCE network for processing.
Reduces storage performance jitter, improves system stability, optimizes resource utilization of heterogeneous storage devices, reduces network congestion risks, and ensures data consistency.
Smart Images

Figure CN120238447A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of resource scheduling, and in particular to a storage resource allocation method, apparatus, electronic device, and storage medium. Background Art
[0002] With the rapid development of cloud computing, artificial intelligence, and big data technologies, the data center's demand for high throughput and low latency performance of the storage system has increased sharply. The traditional storage virtualization technology based on the Transmission Control Protocol / Internet Protocol (TCP / IP) protocol stack is difficult to meet the requirements of scenarios such as real-time data analysis and artificial intelligence (AI) model training due to the large processing overhead and high latency of the protocol stack. As a Remote Direct Memory Access (RDMA) technology based on Ethernet, the Remote Direct Memory Access over Converged Ethernet (RoCE) network has become the core of the high-performance network in the data center by bypassing the operating system kernel and implementing a zero-copy mechanism to achieve ultra-low latency.
[0003] In the related storage virtualization technology, when combined with the RoCE network, there is a problem that the storage virtualization layer and the network layer are managed independently, and the storage resource allocation cannot be dynamically adjusted according to the real-time network state, resulting in storage performance jitter. Summary of the Invention
[0004] This application provides a storage resource allocation method, apparatus, electronic device, and storage medium to at least solve the problem in the related technology that the storage resource allocation cannot be dynamically adjusted according to the real-time network state, resulting in storage performance jitter.
[0005] This application provides a storage resource allocation method, including: Collect network status information; Every preset time period or if the network status information indicates that network congestion occurs currently, collect the performance index information of each storage volume in the storage pool, and determine the priority weight of each storage volume based on the network status information and the performance index information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type; Allocate corresponding bandwidth for each storage volume based on the priority weight of each storage volume; Determine whether the current task to be processed needs to operate across heterogeneous storage devices; If the current task to be processed does not require cross - heterogeneous storage device operations, determine the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume; Process the current task to be processed based on the target transmission path and target storage volume.
[0006] This application also provides a storage resource allocation device, including: An acquisition module, configured to acquire network status information; A first determination module, configured to collect performance metric information of each storage volume in the storage pool every preset time period or if the network status information indicates that network congestion occurs currently, and determine the priority weight of each storage volume based on the network status information and the performance metric information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type; An allocation module, configured to allocate corresponding bandwidth for each storage volume based on the priority weight of each storage volume; A judgment module, configured to judge whether the current task to be processed requires cross - heterogeneous storage device operations; A second determination module, configured to determine the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed if the current task to be processed does not require cross - heterogeneous storage device operations; A processing module, configured to process the current task to be processed based on the target transmission path and target storage volume.
[0007] This application also provides an electronic device, including: a memory, configured to store a computer program; a processor, configured to implement the steps of any of the above - mentioned storage resource allocation methods when executing the computer program.
[0008] This application also provides a computer - readable storage medium, in which a computer program is stored, and the computer program implements the steps of any of the above - mentioned storage resource allocation methods when being executed by a processor.
[0009] This application also provides a computer program product, including a computer program, and the computer program implements the steps of any of the above - mentioned storage resource allocation methods when being executed by a processor.
[0010] With this application, since the network status information is collected; every preset time period or if the network status information indicates that network congestion occurs currently, the performance index information of each storage volume in the storage pool is collected, and based on the network status information and the performance index information of each storage volume, the priority weight of each storage volume is determined, where each storage volume corresponds to one or more storage devices of the same type; based on the priority weight of each storage volume, the corresponding bandwidth is allocated to each storage volume; it is determined whether the current task to be processed needs to operate across heterogeneous storage devices; if the current task to be processed does not need to operate across heterogeneous storage devices, then according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume, the target transmission path and the target storage volume of the current task to be processed are determined; based on the target transmission path and the target storage volume, the current task to be processed is processed. Therefore, the technical problem that the storage resource allocation cannot be dynamically adjusted according to the real-time network status, resulting in storage performance jitter, can be solved, and the technical effect of reducing sudden latency or stuttering phenomena and improving system stability can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] To more clearly illustrate the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0012] Figure 1 FIG. [X] is a schematic structural diagram of a storage resource allocation system provided by an embodiment of the present application; Figure 2 FIG. [X] is a schematic flowchart of a storage resource allocation method provided by an embodiment of the present application; Figure 3 FIG. [X] is a schematic structural diagram of a storage system provided by an embodiment of the present application; Figure 4 FIG. [X] is a schematic flowchart of another storage resource allocation method provided by an embodiment of the present application; Figure 5 FIG. [X] is a schematic flowchart of another storage resource allocation method provided by an embodiment of the present application; Figure 6 FIG. [X] is a schematic structural diagram of a storage resource allocation device provided by an embodiment of the present application; Figure 7 FIG. [X] is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0013] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without making creative efforts belong to the protection scope of the present application.
[0014] It should be noted that in the description of the present application, the terms "include", "comprise" or any other variant thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects, rather than to describe a specific order or sequence.
[0015] In order to enable those skilled in the art of the present technology to better understand the solution of the present application, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
[0016] With the rapid development of cloud computing, artificial intelligence, and big data technologies, the performance requirements of data centers for storage systems have shown exponential growth. Traditional storage virtualization technologies achieve the pooling of storage resources through the TCP / IP protocol stack. However, its core problem lies in that network transmission depends on the TCP / IP protocol stack, requiring multiple data copies and context switches, introducing additional latency. The protocol stack has high processing overhead and latency, making it difficult to meet the requirements of high-throughput, low-latency scenarios (such as real-time data analysis, AI model training).
[0017] As an Ethernet-based RDMA technology, the RoCE network allows data to be directly transferred from the memory of one device to the memory of another device on the Ethernet without passing through the operating system kernel for processing. By bypassing the operating system kernel and the zero-copy mechanism, the network transmission latency is significantly reduced (which can be as low as below 10 μs), and it has gradually become the core technology of high-performance networks in data centers.
[0018] However, the storage virtualization technologies in the related art still face the following challenges when combined with the RoCE network: Resource fragmentation problem: The storage virtualization layer and the network layer are independently managed and cannot dynamically adjust the storage resource allocation according to the real-time network status (such as congestion, bandwidth utilization rate), resulting in storage performance jitter. Among them, storage performance jitter includes sudden latency or stuttering phenomena during critical moments of data transmission.
[0019] In the related art, one way to solve the storage performance jitter requires additional device deployment, and the deployment cost is relatively high. Another way can only adjust the response order of various data requests during network congestion to relieve congestion, and cannot actively adjust to avoid the occurrence of network congestion.
[0020] Poor heterogeneous storage compatibility: There are performance differences among heterogeneous storage devices such as the Non-Volatile Memory Express (NVMe), Solid State Drive (SSD), and Hard Disk Drive (HDD). These differences have not been fully utilized by the dynamic storage resource scheduling algorithms in the related art, resulting in resource waste. For example, the high Input / Output Operations Per Second (IOPS) potential of SSDs is wasted, and the throughput of HDDs is not fully exploited.
[0021] Data consistency issues: The lack of atomicity guarantee for data operations across heterogeneous storage devices leads to low data synchronization efficiency in distributed scenarios.
[0022] In view of the above problems, the embodiments of the present application provide a storage resource allocation method, apparatus, electronic device, and storage device. The method is applied to a storage system and includes: collecting network status information; collecting performance metric information of each storage volume in the storage pool at every preset time interval or if the network status information indicates that network congestion occurs currently. Based on the network status information and the performance metric information of each storage volume, determine the priority weight of each storage volume, where each storage volume corresponds to one or more storage devices of the same type; based on the priority weight of each storage volume, allocate the corresponding bandwidth for each storage volume; determine whether the current task to be processed needs to operate across heterogeneous storage devices; if the current task to be processed does not need to operate across heterogeneous storage devices, then determine the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume; process the current task to be processed based on the target transmission path and target storage volume. The method provided by the above solution realizes dynamic resource scheduling by jointly modeling the RoCE network status information and the performance metrics of heterogeneous storage devices, achieving the technical effects of reducing sudden latency or stuttering phenomena and improving system stability. It reduces the environmental deployment cost and realizes the dynamic scheduling of storage resources for heterogeneous storage devices without relying on additional device deployment. Through the bypass of the operating system kernel and zero-copy mechanism of RoCE, network congestion conditions are reduced or even avoided.
[0023] In combination with the specific application environment architecture or specific hardware architecture on which the execution of the storage resource allocation method depends, the specific application environment architecture or specific hardware architecture is described herein.
[0024] The storage resource allocation method, device, electronic device, and storage device provided in the embodiments of the present application are applicable to allocating storage resources for a task to be processed according to network status information and the performance metrics of each storage device. As Figure 1 shown, it is a schematic structural diagram of the storage resource allocation system based on the present application. The storage resource allocation system includes a server and a storage system. Among them, the server sends a task to be processed to the storage system, and the storage system collects network status information; every preset time period or if the network status information indicates that network congestion occurs currently, the performance metric information of each storage volume in the storage pool is collected, and based on the network status information and the performance metric information of each storage volume, the priority weight of each storage volume is determined, where each storage volume corresponds to one or more storage devices of the same type; based on the priority weight of each storage volume, the corresponding bandwidth is allocated to each storage volume; it is determined whether the current task to be processed needs to operate across heterogeneous storage devices; if the current task to be processed does not need to operate across heterogeneous storage devices, then according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume, the target transmission path and target storage volume of the current task to be processed are determined; based on the target transmission path and target storage volume, the current task to be processed is processed.
[0025] An embodiment of the present application provides a storage resource allocation method, which is applied to a storage system. Figure 2 It is a schematic flowchart of the storage resource allocation method provided in the embodiments of the present application. As Figure 2 shown, the storage resource allocation method includes the following processes: Step S201, collect network status information.
[0026] It should be noted that the network status information is collected every first preset time period. It can be understood that the network status information is the network status information of the RoCE network.
[0027] Figure 3 It is a schematic structural diagram of the storage system provided in the embodiments of the present application. The storage system includes a heterogeneous device storage pool and a virtualization layer module. The virtualization layer module includes a monitoring module, a scheduling decision module, and an execution module, and cooperates with the heterogeneous device storage pool through the RoCE network topology. The heterogeneous device storage pool includes storage devices such as SSD, HDD, and NVMe.
[0028] The function of the monitoring module is to collect RoCE network status information and storage volume performance metric information in real time, providing data input for dynamic scheduling. The function of the scheduling decision module is to generate a dynamic resource allocation strategy based on the data of the monitoring module, optimizing the collaborative utilization of storage and network resources. The execution module directly operates on the storage resources according to the dynamic resource allocation strategy of the scheduling decision module to ensure low latency and data consistency.
[0029] The monitoring module includes a network status monitoring unit, a storage performance monitoring unit, and a data preprocessing unit.
[0030] Among them, the network status detection unit is used to collect the network status information of the RoCE network every first preset time period. Specifically, it captures in the form of binary packets and directly reads the network status information through the RoCE network card driver.
[0031] The network status information includes the Priority Flow Control (PFC) congestion signal (such as XOFF / XON frames) of the RoCE network and the congestion quantization parameters of the Data Center Quantized Congestion Notification (DCQCN) (such as packet marking probability, queue depth). Among them, the PFC congestion signal is usually triggered by the buffer status at the receiving end. Specifically, when the buffer usage of a certain priority queue at the receiving end exceeds a preset threshold (for example, 80% capacity), a PFC congestion signal is generated. At this time, the PFC congestion signal is an XOFF pause frame, notifying the sending end to immediately stop sending the data stream of this priority. When the buffer of a certain priority queue at the receiving end is released to a safe level, an XON resume frame is sent to notify the sending end to resume the traffic transmission of this priority. It can be understood that in this application, the receiving end is the storage system and the sending end is the server. The tasks sent by the server will place the tasks to be processed into different priority queues according to the priority of the tasks to be processed. The storage system obtains the tasks to be processed from the priority queue for processing. The priority queue is a first-in, first-out data structure.
[0032] DCQCN quantifies the network congestion degree through the Explicit Congestion Notification (ECN) marking bit in the Internet Protocol (IP) packet.
[0033] It can be understood that the network in the embodiments of this application is a RoCE network. The first preset time period is set by technical personnel and is not specifically limited here. Exemplarily, the first preset time period is 10 milliseconds to ensure real-time performance.
[0034] Step S202: Every time a preset time period elapses, or if the network status information indicates that network congestion currently occurs, collect the performance metric information of each storage volume in the storage pool, and determine the priority weight of each storage volume based on the network status information and the performance metric information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type.
[0035] Determine whether network congestion currently occurs by statistically analyzing the triggering frequency of XOFF pause frames in each priority queue and the probability that the ECN flag bit in the IP packet indicates congestion experienced (CE). It can be understood that if the triggering frequency of XOFF pause frames in any priority queue is higher than the preset triggering frequency threshold, and the probability that the ECN flag bit in the IP packet indicates CE exceeds the preset probability threshold, it is determined that network congestion currently occurs.
[0036] The preset time period is set by the technician and is not specifically limited here.
[0037] The storage performance monitoring unit is used to collect the performance metric information of each storage volume in the storage pool every second preset time period. It can be understood that the storage pool is a heterogeneous device storage pool.
[0038] When the type of the storage device corresponding to the storage volume is an NVMe device, the performance metric information is the namespace utilization rate and command queue depth of the NVMe device. Exemplarily, as Figure 3 shown, the command queue depth of an NVMe device is 1024.
[0039] When the type of the storage device corresponding to the storage volume is an SSD device, the performance metric information is IOPS and queue latency. Exemplarily, as Figure 3 shown, the IOPS of an SSD device is 100K, and 100K means that the SSD device can perform 100,000 read or write operations per second.
[0040] When the type of the storage device corresponding to the storage volume is an HDD device, the performance metric information is throughput (MB / s) and seek time. Exemplarily, as Figure 3 shown, the throughput of an HDD device is 200MB / s, which means that the hard disk can successfully transfer 200 megabytes of data per second under ideal conditions.
[0041] The second preset time period is set by the technician and is not specifically limited here. Exemplarily, the second preset time period is 1 second to avoid the impact of high-frequency collection on storage performance.
[0042] When the type of the storage device corresponding to the storage volume is an SSD device or an HDD device, the performance metric information of the storage volume, i.e., the performance metric information of the HDD / SSD device, is obtained through the Small Computer System Interface (SCSI) command set. When the type of the storage device corresponding to the storage volume is an NVMe device, the performance metric information of the storage volume, i.e., the performance metric information of the NVMe device, is obtained through the NVMe over Fabrics (NVMe-oF) protocol.
[0043] It can be understood that SSD devices, NVMe devices, and HDD devices belong to different types of storage devices.
[0044] Based on the network status information and the performance metric information of each storage volume, determine the priority weight of each storage volume, including: performing normalization processing on the network status information and the performance metric information of each storage volume to generate standardized metric data, and based on the standardized metric data, determining the priority weight of each storage volume.
[0045] The data preprocessing unit is used to perform normalization processing on the network status information and the performance metric information of each storage device to generate standardized metric data, such as the relative utilization rate of IOPS, the bandwidth utilization rate, etc., where the network status information also includes the bandwidth information of the RoCE network.
[0046] Specifically, for a storage volume whose corresponding storage device type is an SSD device, determine the relative utilization rate of the IOPS of the storage volume according to the current IOPS value and the maximum IOPS value of the storage volume:
[0047] where, is the current IOPS value of the storage volume, is the maximum IOPS value of the storage volume.
[0048] Based on the bandwidth information of the RoCE network, determine the bandwidth utilization rate of the RoCE network through the following formula: BWutil =
[0049] where, is the used bandwidth value of the RoCE network, is the total available bandwidth value of the RoCE network.
[0050] It is understandable that for a storage volume whose corresponding storage device is of the HDD device type, the relative utilization rate of the throughput of the storage volume is determined based on the current throughput value and the maximum throughput value of the storage volume. The calculation method is similar to that of the storage volume whose corresponding storage device is of the SSD device type described above, and will not be elaborated here.
[0051] For a storage volume whose corresponding storage device is of the NVMe device type, the relative utilization rate of the command queue of the storage volume is determined based on the current command queue depth and the maximum command queue depth of the storage volume. The calculation method is similar to that of the storage volume whose corresponding storage device is of the SSD device type described above, and will not be elaborated here.
[0052] The scheduling decision module is used to receive the normalized data and issue a resource allocation policy based on the normalized data.
[0053] For a storage volume composed of SSD devices, the priority weight of the storage volume is determined according to the weight calculation formula. Among them, the weight calculation formula is: Wi = α × IOPSutil + β × BWutil Where Wi is the priority weight of the i-th storage volume composed of SSD devices, α and β are dynamic adjustment coefficients, the initial values are set to 0.6 and 0.4, IOPSutil is the relative utilization rate of the IOPS of the i-th storage volume composed of SSD devices, and Wutil is the network bandwidth utilization rate, that is, the bandwidth utilization rate of the RoCE network.
[0054] α and β can be adjusted in real time according to the historical load prediction model (such as the ARIMA model). For example, the α coefficient is increased in a high-IOPS scenario. If a sudden IOPS load (such as a surge in database transactions) is detected, the α coefficient is dynamically increased to 0.8. Correspondingly, the β coefficient becomes 0.2. That is to say, the sum of the α coefficient and the β coefficient is equal to 1.
[0055] It is understandable that after transforming the calculation method of the priority weight of the storage volume composed of SSD devices, the priority weight of the storage volume composed of other types of storage devices can be obtained.
[0056] Step S203: Allocate corresponding bandwidths for each storage volume based on the priority weights of each storage volume.
[0057] Among them, the priority weights of each storage volume are mapped to specific resource allocation policies. For example, SSD storage volume 1 is allocated 40% bandwidth, and HDD storage volume 2 is allocated 60% bandwidth. The policy is issued to the execution module through the control plane (such as the gRPC protocol) so that the execution module can execute the specific resource allocation policy.
[0058] After obtaining the priority weights of each storage volume, corresponding bandwidths are allocated to each storage volume based on the magnitudes of the priority weights of each storage volume.
[0059] Step S204: Determine whether the current task to be processed needs to operate across heterogeneous storage devices.
[0060] Among them, operating across heterogeneous storage devices means that data is migrated or simultaneously operated between storage devices of different types. It can be understood that different types of storage devices are storage devices with different storage media.
[0061] It can be understood that if the current task to be processed clearly indicates that data is migrated from a storage device of one storage medium to a storage device of another storage medium, it is determined that the current task to be processed needs to operate across heterogeneous storage devices; otherwise, it is determined that the current task to be processed does not need to operate across heterogeneous storage devices.
[0062] Step S205: If the current task to be processed does not need to operate across heterogeneous storage devices, determine the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume.
[0063] Step S206: Process the current task to be processed based on the target transmission path and target storage volume.
[0064] The storage resource allocation method provided by the embodiment of the present application collects network status information; at every preset time interval or if the network status information indicates that network congestion occurs currently, collects the performance index information of each storage volume in the storage pool, determines the priority weight of each storage volume based on the network status information and the performance index information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type; allocates corresponding bandwidths to each storage volume based on the priority weights of each storage volume; determines whether the current task to be processed needs to operate across heterogeneous storage devices; if the current task to be processed does not need to operate across heterogeneous storage devices, determines the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume; and processes the current task to be processed based on the target transmission path and target storage volume. Therefore, the technical problem of being unable to dynamically adjust the storage resource allocation according to the real-time network status, resulting in storage performance jitter, can be solved, and the technical effect of reducing sudden delays or stuttering phenomena and improving system stability can be achieved.
[0065] An embodiment of the present application provides a storage resource allocation method, which is applied to a storage system. Figure 4 It is a schematic flowchart of the storage resource allocation method provided by the embodiment of the present application, as Figure 4 shown, and this storage resource allocation method includes the following processes: Step S401: Collect network status information. For details, please refer to Figure 2 Step S201 of the embodiment shown, which will not be elaborated here.
[0066] Step S402: Every preset time interval or if the network status information indicates current network congestion, collect the performance metric information of each storage volume in the storage pool, and determine the priority weight of each storage volume based on the network status information and the performance metric information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type. For details, please refer to Figure 2 Step S202 of the embodiment shown, which will not be elaborated here.
[0067] Step S403: Allocate corresponding bandwidth for each storage volume based on the priority weight of each storage volume. For details, please refer to Figure 2 Step S203 of the embodiment shown, which will not be elaborated here.
[0068] Step S404: Determine whether the current task to be processed needs to operate across heterogeneous storage devices. For details, please refer to Figure 2 Step S204 of the embodiment shown, which will not be elaborated here.
[0069] Step S405: If the current task to be processed does not need to operate across heterogeneous storage devices, determine the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume.
[0070] Specifically, the above Step S405 includes: Step S4051: When the priority of the current task to be processed is the first priority, determine that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes of the first type corresponding to the storage device, determine that the type of the first target transmission channel of the current task to be processed is the direct memory access reliable connection channel, obtain the path delay rate and bandwidth utilization rate of each transmission path in the first target transmission channel, and determine the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path.
[0071] Where the first priority is the high priority, and the current task to be processed with the first priority can be tasks with low latency requirements such as metadata update requests and transaction logs. The type of the corresponding storage device is the first type, indicating that the storage device is an SSD device. The high-priority task to be processed is allocated to the RoCE reliable connection (RC) channel to ensure end-to-end reliability and low latency (<20 μs), that is, the direct memory access reliable connection channel is the RoCE reliable connection channel.
[0072] Step S4052: When the priority of the current task to be processed is the second priority, determine that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes of the second type corresponding to the storage device, determine that the type of the second target transmission channel of the current task to be processed is the direct memory access non-reliable connection channel, obtain the path delay rate and bandwidth utilization rate of each transmission path in the multiple transmission paths of the second target transmission channel, and determine the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path.
[0073] Among them, the second priority is the normal priority. The current task to be processed with the second priority can be tasks with high throughput requirements for databases such as data backup and bulk writing. The type of the corresponding storage device is the second type, indicating that the storage device is an HDD device. The tasks to be processed with the normal priority are allocated to the RoCE non-reliable connection (UC) channel. That is to say, the direct memory access non-reliable connection channel is the RoCE non-reliable connection channel, and multi-path sharding is used to improve the throughput.
[0074] Among them, the first priority is higher than the second priority. The storage device of the first type is a solid-state drive, and the storage device of the second type is a hard disk drive.
[0075] Step S406: Process the current task to be processed based on the target transmission path and the target storage volume. For details, please refer to Figure 2 Step S206 of the illustrated embodiment, which will not be elaborated here.
[0076] The storage resource allocation method provided by the embodiments of the present application can ensure that tasks with low latency requirements (such as metadata update requests, transaction logs, etc.) are completed with the lowest latency by allocating them to the storage volume with the largest bandwidth in the SSD device and using the RoCE reliable connection (RC) channel. This helps to quickly respond to critical tasks and improve the overall performance of the system. For non-critical tasks, they are allocated to ordinary storage volumes with larger bandwidth and transmitted through non-reliable connection channels, which can make full use of system resources without affecting high-priority tasks.
[0077] In some optional embodiments, the above step S4051 or step S4052 includes: Step a1: Determine the target transmission path corresponding to the current task to be processed through the following formula: Pathselected = arg
[0078] Among them, Pathselected is the target transmission path corresponding to the current task to be processed, is the current path delay data of the i-th transmission path, is the maximum path delay data of the i-th transmission path, is the path delay rate of the i-th transmission path, i is the used bandwidth value of the i-th transmission path, is the total bandwidth value of the i-th transmission path, is the bandwidth utilization rate of the i-th transmission path, arg represents obtaining the transmission path with the minimum sum of the path delay rate and the bandwidth utilization rate among multiple transmission paths as the target transmission path.
[0079] In some alternative embodiments, the above step S4052 includes: Step b1, when the priority of the current task to be processed is the second priority, based on the network status information, determine whether there is network congestion in the second priority queue corresponding to the second priority.
[0080] Step b2, if there is network congestion in the second priority queue, then based on the path delay rate and the bandwidth utilization rate of each transmission path, determine the sum of the path delay rate and the bandwidth utilization rate of each transmission path, sort the multiple transmission paths in ascending order of the sum of the path delay rate and the bandwidth utilization rate, and determine the transmission paths ranked in the top preset positions as the target transmission paths corresponding to the current task to be processed.
[0081] Among them, the preset position is greater than 1. It can be understood that when the transmission data of the task to be processed is a small file (≤4KB), it is preferentially allocated to the SSD and transmitted through the RC channel, and a large file (≥1MB) is allocated to the HDD and transmitted through the UC channel. Generally, the transmission data of high-priority tasks to be processed is small files, and the transmission data of ordinary-priority tasks to be processed is large files. If network congestion is detected (such as triggered by a PFC XOFF frame), the large file is automatically fragmented into multiple 4KB blocks and dispersed for transmission through different paths, that is, multi-path transmission is performed.
[0082] The storage resource allocation method provided by the embodiments of the present application, when detecting network congestion, the system will select the transmission path with a lower sum of the path delay rate and the bandwidth utilization rate as the target transmission path corresponding to the current task to be processed according to the path delay rate and the bandwidth utilization rate of multiple transmission paths, and use multiple target transmission paths to process the task to be processed, which can effectively avoid congested paths and improve data transmission efficiency.
[0083] In some alternative embodiments, the above step S406 includes: Step c1, based on the target storage volume, determine the target storage address of the current task to be processed.
[0084] Step c2, if the priority of the current processing task is the second priority and there is a network congestion situation in the second priority queue corresponding to the second priority, then divide the updated storage data of the target storage address of the current task to be processed into multiple data blocks.
[0085] Step c3, based on multiple target transmission paths, transmit multiple data blocks in parallel to write the updated storage data into the target storage address.
[0086] It can be understood that after parallel transmission to the target storage address, the multiple data blocks are recombined at the target storage address to obtain the updated storage data, and the updated storage data is written into the target storage address.
[0087] In the storage resource allocation method provided by the embodiments of the present application, when it is detected that there is a network congestion situation in the second priority queue, the system will divide the updated storage data into multiple data blocks. This data block division and shunt strategy can effectively reduce the load pressure on a single path and avoid transmission delay or failure caused by network congestion.
[0088] In some optional implementation manners, the above storage resource allocation method includes: Step d1, if the current task to be processed needs to operate across heterogeneous storage devices, then determine the type of the target storage device based on the current task to be processed.
[0089] Step d2, based on the type of the target storage device, determine that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes whose type of the corresponding storage device is the same as the type of the target storage device, and determine the target transmission path of the current task to be processed based on the priority of the current task to be processed.
[0090] Among them, the process of determining the target transmission path of the current task to be processed based on the priority of the current task to be processed is similar to the descriptions in the foregoing steps S4051 and S4052, and will not be elaborated here.
[0091] Step d3, based on the target storage volume, determine the target storage address of the current task to be processed.
[0092] Step d4, read the current storage data of the target storage address of the current task to be processed.
[0093] Step d5, compare the current storage data of the target storage address with the expected storage data of the target storage address.
[0094] Step d6, if the current storage data of the target storage address is the same as the expected storage data of the target storage address, then write the updated storage data of the target storage address of the current task to be processed into the target storage address based on the target transmission path.
[0095] That is to say, when the current task to be processed needs to operate across heterogeneous storage devices, since the type of the target storage device is clear, the storage volume with the maximum bandwidth is directly determined from the storage volumes of the same type as the target storage device as the target storage volume.
[0096] To ensure the atomicity of operations across heterogeneous storage devices, the Atomic Compare-and-Swap (Atomic CAS) unit in the execution module performs atomic operations across heterogeneous storage devices by calling the Atomic CAS instruction of RoCE to ensure the atomic update of data blocks.
[0097] If the current stored data at the target storage address is the same as the expected stored data at the target storage address, then based on the target transmission path, through the RDMA Write engine of RoCE, the updated stored data at the target storage address of the current task to be processed is written to the target storage address, that is, the data is directly written from the client memory to the memory address space of the storage device, performing a direct memory operation, bypassing the copy overhead of the virtualization layer, and achieving zero-copy transmission.
[0098] It should be noted that before writing to the target storage address, memory registration needs to be performed, that is, the target storage area is pre-locked to avoid memory page conflicts during the transmission process.
[0099] The storage resource allocation method provided by the embodiments of this application can ensure data consistency before the write operation by comparing the current stored data at the target storage address with the expected stored data. Only when the current stored data is the same as the expected stored data, the write operation of updating the stored data will be executed. This mechanism can effectively prevent miswriting.
[0100] In some alternative embodiments, the above storage resource allocation method further includes: Step e1, if the current stored data at the target storage address is different from the expected stored data at the target storage address, then return to execute the step of reading the current stored data at the target storage address of the current task to be processed.
[0101] Step e2, if the number of times of returning to execute the step of reading the current stored data at the target storage address of the current task to be processed exceeds the preset number threshold, and the current stored data at the target storage address is still different from the expected stored data at the target storage address, then an alarm is generated.
[0102] In the storage resource allocation method provided by the embodiment of the present application, when the number of times of returning to execute the reading step exceeds the preset number threshold and the data is still inconsistent, the system will trigger an alarm mechanism. This design can effectively prevent infinite loops caused by hardware failures, network problems or other abnormal situations, thus ensuring the stability of the system.
[0103] It should be noted that after the execution module completes the storage resource allocation, the transmission delay of each transmission path, the throughput data of the storage device, etc. are fed back to the monitoring module. The scheduling decision module adjusts the α and β coefficients according to the feedback data. For example, when the bandwidth is tight, the β weight is increased.
[0104] In some alternative embodiments, the above step c3 further includes: Step c31, encrypting multiple data blocks respectively.
[0105] Step c32, if the number of data blocks is more than the number of target transmission paths, then in the way of average distribution, the encrypted data blocks are allocated to the corresponding target transmission paths, and based on multiple target transmission paths and the target transmission channels established thereon, multiple encrypted data blocks are transmitted in parallel to write the updated storage data to the target storage address.
[0106] It can be understood that by dividing the number of data blocks by the number of target transmission paths, the quotient value is the number of data blocks to be transmitted on each target transmission path, and the remainder is the number of data blocks that cannot be evenly distributed to the target transmission paths.
[0107] For the data blocks that cannot be evenly distributed to the target transmission paths, the multiple target transmission paths are sorted in ascending order of the sum of the path delay rate and the bandwidth utilization rate, and based on the order from first to last in the sorting, the data blocks that cannot be evenly distributed to the target transmission paths are allocated to the corresponding target transmission paths.
[0108] Step c33, if the number of data blocks is less than the number of target transmission paths, then the multiple target transmission paths are sorted in ascending order of the sum of the path delay rate and the bandwidth utilization rate, and based on the order from first to last in the sorting, the encrypted data blocks are allocated to the corresponding target transmission paths, and based on multiple target transmission paths and the target transmission channels established thereon, multiple encrypted data blocks are transmitted in parallel to write the updated storage data to the target storage address.
[0109] In the storage resource allocation method provided by the embodiment of the present application, multiple data blocks are encrypted respectively. This encryption mechanism can effectively protect the privacy and integrity of the data, preventing it from being illegally intercepted or tampered with during the transmission process. The comprehensive consideration of the path delay rate and the bandwidth utilization rate ensures the efficiency of data transmission, and preferentially selecting paths with better performance can significantly reduce the transmission delay and failure rate.
[0110] An embodiment of the present application also provides a storage resource allocation method. Figure 5 It is a schematic flowchart of the storage resource allocation method provided by the embodiment of the present application. As Figure 5 shown, the method includes the following processes: Start periodic scheduling according to a trigger condition, where the trigger condition is network congestion or timer trigger.
[0111] Step S1, the monitoring module collects network status information and performance metric information of the storage volume.
[0112] Step S2, the scheduling decision module calculates the priority weight of the storage volume to obtain a weight result.
[0113] Step S3, determine whether cross-storage operation is required. That is, determine whether cross-heterogeneous storage device operation is required.
[0114] If cross-storage operation is required, call the Atomic CAS instruction, and the scheduling decision module determines the data sharding (nvme: 4KB sharding, HDD: 1MB sharding) strategy, multi-path transmission strategy, and media type (NVME / SSD / HDD) matching strategy. For details, refer to the foregoing steps d1 to d6, which will not be elaborated here.
[0115] If cross-storage operation is not required, the scheduling decision module allocates UC / RC channels. Specifically, execute the relevant descriptions of the foregoing steps S4051 and S4052, which will not be elaborated here.
[0116] Step S4, the execution module completes resource allocation according to the strategy of the scheduling decision module, monitors and feeds back latency and throughput data to the monitoring module, and ends and returns to the monitoring state.
[0117] For the storage resource allocation method provided by the embodiment of the present application, when the RoCE network detects multi-path congestion, the scheduling module preferentially allocates high-IOPS requests (such as database logs) to SSDs and high-throughput requests (such as video streams) to HDDs, optimizing resource utilization. The dynamic scheduling algorithm reduces the utilization difference between SSDs and HDDs and improves the utilization rate of each type of hard disk. By using the Multipath RDMA feature of RoCE, data is sharded and transmitted to different paths, and the shard size is dynamically adjusted in combination with the response time of the storage medium, reducing latency. Through the zero-copy and atomic operations of RoCE, storage I / O reduces latency, improves throughput, and reduces or even avoids network congestion. By calling the Atomic CAS instruction when performing data operations across heterogeneous storage, the error rate of data operations across heterogeneous storage is reduced, ensuring data transmission consistency.
[0118] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation method.
[0119] An embodiment of the present application further provides a storage resource allocation device, as Figure 6 shown, including: An acquisition module 601, configured to acquire network status information.
[0120] A first determination module 602, configured to collect performance index information of each storage volume in the storage pool every preset time period or if the network status information indicates that network congestion occurs currently, and determine the priority weight of each storage volume based on the network status information and the performance index information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type.
[0121] An allocation module 603, configured to allocate corresponding bandwidths to each storage volume based on the priority weight of each storage volume.
[0122] A judgment module 604, configured to judge whether the current task to be processed needs to operate across heterogeneous storage devices.
[0123] A second determination module 605, configured to, if the current task to be processed does not need to operate across heterogeneous storage devices, determine the target transmission path and the target storage volume of the current task to be processed according to the priority of the current task to be processed.
[0124] A processing module 606, configured to process the current task to be processed based on the target transmission path and the target storage volume.
[0125] In some optional implementation manners, the second determination module 605 includes: A first determination unit, configured to, when the priority of the current task to be processed is the first priority, determine that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes of the first type corresponding to the corresponding storage devices, determine that the type of the first target transmission channel of the current task to be processed is a direct memory access reliable connection channel, obtain the path delay rate and bandwidth utilization rate of each transmission path in the first target transmission channel, and determine the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path.
[0126] A second determination unit, configured to, when the priority of the current task to be processed is the second priority, determine that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes of the second type corresponding to the storage device, determine that the type of the second target transmission channel of the current task to be processed is a direct memory access non-reliable connection channel, obtain the path delay rate and bandwidth utilization rate of each transmission path in multiple transmission paths in the second target transmission channel, and determine the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path.
[0127] Wherein, the first priority is higher than the second priority, the storage device of the first type is a solid state drive, and the storage device of the second type is a hard disk drive.
[0128] In some optional embodiments, the first determination unit or the second determination unit includes: A third determination unit, configured to determine the target transmission path corresponding to the current task to be processed through the following formula: Pathselected = arg
[0129] Wherein, Pathselected is the target transmission path corresponding to the current task to be processed, is the current path delay data of the i-th transmission path, is the maximum path delay data of the i-th transmission path, is the path delay rate of the i-th transmission path, i is the used bandwidth value of the i-th transmission path, is the total bandwidth value of the i-th transmission path, is the bandwidth utilization rate of the i-th transmission path, arg represents obtaining the transmission path with the smallest sum of the path delay rate and bandwidth utilization rate among multiple transmission paths as the target transmission path.
[0130] In some optional embodiments, the second determination unit includes: A fourth determination unit, configured to, when the priority of the current task to be processed is the second priority, determine whether there is network congestion in the second priority queue corresponding to the second priority based on the network status information.
[0131] A fifth determination unit, configured to, if there is network congestion in the second priority queue, determine the sum of the path delay rate and bandwidth utilization rate of each transmission path based on the path delay rate and bandwidth utilization rate of each transmission path, sort the multiple transmission paths in ascending order of the sum of the path delay rate and bandwidth utilization rate, and determine the transmission paths ranked in the first preset positions as the target transmission paths corresponding to the current task to be processed.
[0132] In some alternative embodiments, the processing module 606 includes: A sixth determination unit, configured to determine a target storage address of a current task to be processed based on a target storage volume.
[0133] A partitioning unit, configured to partition updated stored data of the target storage address of the current task to be processed into multiple data blocks if the priority of the current processing task is the second priority and there is a network congestion situation in the second priority queue corresponding to the second priority.
[0134] A transmission unit, configured to transmit the multiple data blocks in parallel based on multiple target transmission paths to write the updated stored data into the target storage address.
[0135] In some alternative embodiments, the storage resource allocation device further includes: A seventh determination unit, configured to determine a type of a target storage device based on the current task to be processed if the current task to be processed needs to operate across heterogeneous storage devices.
[0136] An eighth determination unit, configured to determine, based on the type of the target storage device, that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes of the type corresponding to the type of the storage device and the type of the target storage device, and determine a target transmission path of the current task to be processed based on the priority of the current task to be processed.
[0137] A ninth determination unit, configured to determine a target storage address of the current task to be processed based on the target storage volume.
[0138] A reading unit, configured to read current stored data of the target storage address of the current task to be processed.
[0139] A comparison unit, configured to compare the current stored data of the target storage address with expected stored data of the target storage address.
[0140] A writing unit, configured to write the updated stored data of the target storage address of the current task to be processed into the target storage address based on the target transmission path if the current stored data of the target storage address is the same as the expected stored data of the target storage address.
[0141] In some alternative embodiments, the storage resource allocation device further includes: A return execution unit, configured to return to execute the step of reading the current stored data of the target storage address of the current task to be processed if the current stored data of the target storage address is not the same as the expected stored data of the target storage address.
[0142] An alarm unit is configured to give an alarm if the number of times of returning to execute the step of reading the current stored data at the target storage address of the current task to be processed exceeds a preset number threshold, and the current stored data at the target storage address is still different from the expected stored data at the target storage address.
[0143] For the description of the features in the embodiments corresponding to the storage resource allocation device, reference can be made to the relevant descriptions in the embodiments corresponding to the storage resource allocation method, which will not be elaborated here one by one.
[0144] An embodiment of the present application further provides an electronic device, as Figure 7 shown, including a processor 701 and a memory 702. A computer program is stored in the memory 702, and the processor 701 is configured to run the computer program to execute the steps in any of the above embodiments of the storage resource allocation method.
[0145] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, and the computer program is configured to execute the steps in any of the above embodiments of the storage resource allocation method when running.
[0146] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: various media such as a USB flash drive, a read-only memory (ROM for short), a random access memory (RAM for short), a mobile hard disk, a magnetic disk, or an optical disc that can store a computer program.
[0147] An embodiment of the present application further provides a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, the steps in any of the above embodiments of the storage resource allocation method are implemented.
[0148] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above embodiments of the storage resource allocation method are implemented.
[0149] Those skilled in the art may further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered as exceeding the scope of this application.
[0150] The above has introduced in detail a storage resource allocation method, device, electronic device, and storage medium provided by this application. Specific examples are used herein to elaborate on the principles and implementation manners of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art in this technical field, without departing from the principle of this application, several improvements and modifications can still be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A storage resource allocation method, characterized in that, Including: Collecting network status information; Collecting performance metric information of each storage volume in the storage pool every preset time period or if the network status information indicates that network congestion occurs currently, and determining the priority weight of each storage volume based on the network status information and the performance metric information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type; Allocating corresponding bandwidth for each storage volume based on the priority weight of each storage volume; Determining whether the current task to be processed needs to operate across heterogeneous storage devices; If the current task to be processed does not need to operate across heterogeneous storage devices, determining the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume; Processing the current task to be processed based on the target transmission path and the target storage volume.
2. The storage resource allocation method according to claim 1, wherein The determining the target transmission path and target storage volume of the current task to be processed according to the priority of the current task to be processed and the bandwidth corresponding to each storage volume includes: When the priority of the current task to be processed is the first priority, determining the target storage volume of the current task to be processed as the storage volume with the largest bandwidth among the storage volumes of the first type whose corresponding storage device type is the first type, determining the type of the first target transmission channel of the current task to be processed as the direct memory access reliable connection channel, obtaining the path delay rate and bandwidth utilization rate of each transmission path in the first target transmission channel, and determining the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path; When the priority of the current task to be processed is the second priority, determining the target storage volume of the current task to be processed as the storage volume with the largest bandwidth among the storage volumes of the second type whose corresponding storage device type is the second type, determining the type of the second target transmission channel of the current task to be processed as the direct memory access non-reliable connection channel, obtaining the path delay rate and bandwidth utilization rate of each transmission path in the second target transmission channel, and determining the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path; Wherein, the first priority is higher than the second priority, the first type of storage device is a solid state drive, and the second type of storage device is a hard disk drive.
3. The storage resource allocation method according to claim 2, wherein The determining the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path includes: Determining the target transmission path corresponding to the current task to be processed through the following formula: Pathselected= arg Among them, Pathselected is the target transmission path corresponding to the current task to be processed, is the current path delay data of the i-th transmission path, is the maximum path delay data of the i-th transmission path, is the path delay rate of the i-th transmission path, i is the used bandwidth value of the i-th transmission path, is the total bandwidth value of the i-th transmission path, is the bandwidth utilization rate of the i-th transmission path, arg represents obtaining the transmission path with the minimum sum of the path delay rate and the bandwidth utilization rate among multiple transmission paths as the target transmission path.
4. The storage resource allocation method according to claim 2, wherein When the priority of the current task to be processed is the second priority, determining the target transmission path corresponding to the current task to be processed based on the path delay rate and bandwidth utilization rate of each transmission path includes: When the priority of the current task to be processed is the second priority, determining whether there is network congestion in the second priority queue corresponding to the second priority based on the network status information; If there is network congestion in the second priority queue, then based on the path delay rate and bandwidth utilization rate of each transmission path, determine the sum of the path delay rate and bandwidth utilization rate of each transmission path, and sort the multiple transmission paths in ascending order of the sum of the path delay rate and bandwidth utilization rate, and determine the transmission paths ranked in the top preset positions as the target transmission paths corresponding to the current task to be processed.
5. The storage resource allocation method according to claim 4, characterized in that The processing of the current task to be processed based on the target transmission path and the target storage volume includes: Based on the target storage volume, determine the target storage address of the current task to be processed; If the priority of the current processing task is the second priority and there is network congestion in the second priority queue corresponding to the second priority, then divide the updated stored data at the target storage address of the current task to be processed into multiple data blocks; Based on the multiple target transmission paths, transmit the multiple data blocks in parallel to write the updated stored data to the target storage address.
6. The storage resource allocation method according to claim 1, wherein The method further includes: If the current task to be processed needs to operate across heterogeneous storage devices, then based on the current task to be processed, determine the type of the target storage device; Based on the type of the target storage device, determine that the target storage volume of the current task to be processed is the storage volume with the largest bandwidth among the storage volumes of the same type as the type of the corresponding storage device and the type of the target storage device, and based on the priority of the current task to be processed, determine the target transmission path of the current task to be processed; Based on the target storage volume, determine the target storage address of the current task to be processed; Read the current stored data at the target storage address of the current task to be processed; Compare the current stored data at the target storage address with the expected stored data at the target storage address; If the current stored data at the target storage address is the same as the expected stored data at the target storage address, then based on the target transmission path, write the updated stored data at the target storage address of the current task to be processed to the target storage address.
7. The storage resource allocation method according to claim 6, wherein The method further includes: If the current stored data at the target storage address is different from the expected stored data at the target storage address, then return to execute the step of reading the current stored data at the target storage address of the current task to be processed; If the number of times of returning to execute the step of reading the current stored data at the target storage address of the current task to be processed exceeds the preset number threshold and the current stored data at the target storage address is still different from the expected stored data at the target storage address, then give an alarm.
8. A storage resource allocation device, characterized in that, including: An acquisition module for acquiring network status information; A first determination module for collecting performance index information of each storage volume in the storage pool every preset time period or if the network status information indicates that network congestion occurs currently, and determining the priority weight of each storage volume based on the network status information and the performance index information of each storage volume, where each storage volume corresponds to one or more storage devices of the same type; An allocation module for allocating corresponding bandwidths to each storage volume based on the priority weight of each storage volume; A judgment module, configured to judge whether the current task to be processed needs to operate across heterogeneous storage devices; A second determination module, configured to, if the current task to be processed does not need to operate across heterogeneous storage devices, determine the target transmission path and the target storage volume of the current task to be processed according to the priority of the current task to be processed; A processing module, configured to process the current task to be processed based on the target transmission path and the target storage volume.
9. An electronic device, characterized in that, Comprising: A memory, configured to store a computer program; A processor, configured to implement the steps of the storage resource allocation method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, wherein the computer program implements the steps of the storage resource allocation method according to any one of claims 1 to 7 when executed by a processor.
Citation Information
Patent Citations
Method and device for checking data consistency
CN105045721A
Task scheduling method for heterogeneous storage
CN107273200A
Storage resource centralized management method and device, equipment and readable storage medium
CN108874316A
Storage network congestion management method and system, terminal and storage medium
CN112491732A
Storage resource pooling system and dynamic adjustment method
CN115543192A
Cited By
Code fragment storage method, electronic equipment, storage medium and program product
CN120950004A
Control method, device and equipment based on enhanced SGPIO
CN121233516A
Communication resource allocation method and device, storage medium and electronic device
CN121792467A