Storage system management method, device and system and storage medium

By identifying and connecting storage devices that meet performance requirements in heterogeneous storage systems, the problem of low resource utilization is solved and more efficient resource scheduling and data processing is achieved.

CN120371210APending Publication Date: 2025-07-25INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510473061.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-15
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The existing storage system management methods have low resource utilization in heterogeneous storage environments, making it difficult to effectively support storage devices with different parameters such as performance and capacity.

Method used

By sending discovery request information to the target storage node, identifying and selecting candidate storage devices that meet preset performance requirements, and establishing a connection relationship, intelligent scheduling and classification of resources are realized.

Benefits of technology

Improve resource utilization, ensure high-performance equipment is used for high-priority tasks, optimize data transmission paths, and improve overall performance and efficiency of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371210A_ABST
    Figure CN120371210A_ABST
Patent Text Reader

Abstract

The invention discloses a storage system management method, device and system and a storage medium, and relates to the technical field of data storage, and the method comprises the steps: sending discovery request information to a target storage node, so that the target storage node sends a discovery request to a plurality of candidate storage devices, the discovery request information is used for indicating address information of candidate storage devices, and the multiple candidate storage devices comprise different types of storage devices; target storage information meeting preset performance requirements is selected from the storage information returned by the multiple candidate storage devices, the candidate storage devices corresponding to the target storage information are determined as the target storage devices, and the storage information is used for indicating performance information of the candidate storage devices; and sending link establishment request information to the target storage node to establish a connection relationship between the target storage node and the target storage device. The technical problem that an existing storage system management method is low in resource utilization rate is solved, and the technical effect of improving the resource utilization rate is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of data storage, and in particular, to a management method and device, a system, and a storage medium for a storage system. Background Art

[0002] In existing storage systems, the use of the Non-Volatile Memory Express (NVMe) protocol can provide higher bandwidth, stronger speed, and lower end-to-end latency. And Non-Volatile Memory over Fabrics (NVMe-oF) further extends the NVMe protocol, which was originally only supported by local PCIe, to the network for use in distributed storage environments.

[0003] However, in the distributed storage systems of related technologies, they are usually designed for homogeneous storage environments composed of storage devices with the same type and performance characteristics, and it is difficult to effectively support heterogeneous storage environments composed of storage devices with different parameters such as performance and capacity. In the case of high-performance storage devices, they may be used for low-priority tasks, resulting in low resource utilization.

[0004] Regarding the technical problem of low resource utilization existing in the current storage system management method in related technologies, no effective solution has been proposed yet. Summary of the Invention

[0005] This application provides a management method and device, a system, and a storage medium for a storage system to at least solve the problem of low resource utilization existing in the storage system management method in related technologies.

[0006] This application provides a management method for a storage system, including: sending discovery request information to a target storage node so that the target storage node sends discovery requests to multiple candidate storage devices, where the discovery request information is used to indicate the address information of the candidate storage devices, and the multiple candidate storage devices include different types of storage devices;

[0007] Selecting target storage information that meets preset performance requirements from the storage information returned by the multiple candidate storage devices, and determining the candidate storage device corresponding to the target storage information as the target storage device, where the storage information is used to indicate the performance information of the candidate storage devices;

[0008] Sending connection establishment request information to the target storage node so that a connection relationship is established between the target storage node and the target storage device, where the connection establishment request information is used to indicate the address information of the target storage device.

[0009] The present application also provides a management system for a storage system, including: a front-end storage cluster, including a target storage node and a reference storage node, where the target storage node and the reference storage node are used to process storage requests of an application;

[0010] a heterogeneous storage device cluster, including various types of candidate storage devices, where the candidate storage devices are used to store data;

[0011] a data transmission network, used to connect the front-end storage cluster and the heterogeneous storage device cluster;

[0012] a storage management node, used to execute the management method of the above storage system.

[0013] The present application also provides a management device for a storage system, including: a discovery request sending module, used to send discovery request information to the target storage node, so that the target storage node sends discovery requests to multiple candidate storage devices, where the discovery request information is used to indicate the address information of the candidate storage devices, and the multiple candidate storage devices include different types of storage devices;

[0014] a target storage device determination module, used to select target storage information that meets preset performance requirements from the storage information returned by the multiple candidate storage devices, and determine the candidate storage device corresponding to the target storage information as the target storage device, where the storage information is used to indicate the performance information of the candidate storage devices;

[0015] a connection establishment request sending module, used to send connection establishment request information to the target storage node, so that a connection relationship is established between the target storage node and the target storage device, where the connection establishment request information is used to indicate the address information of the target storage device.

[0016] The present application also provides an electronic device, including: a memory, used to store a computer program; a processor, used to implement the steps of any of the above management methods of the storage system when executing the computer program.

[0017] The present application also provides a computer-readable storage medium, in which a computer program is stored, where the computer program implements the steps of any of the above management methods of the storage system when executed by a processor.

[0018] The present application also provides a computer program product, including a computer program, where the computer program implements the steps of any of the above management methods of the storage system when executed by a processor.

[0019] With this application, in a heterogeneous storage system, a storage management node can send request information to a target storage node in a front-end storage node cluster to indicate the address information of candidate storage devices at the back-end to the target storage node, so that the target storage node at the front-end can send discovery requests to the candidate storage devices at the back-end to obtain storage information returned by the candidate storage devices. The storage management node can determine whether there is storage information that meets the preset performance requirements, and determine the candidate storage device corresponding to the storage information that meets the requirements as the target storage device. For example, for requirements of high performance and low latency, a solid-state drive (SSD) may be determined as the target storage device. After determining the target storage device, a connection establishment request information can be sent to the target storage node at the front-end, so that the target storage node can establish a connection with the target storage device. To classify and schedule resources according to the performance characteristics of the storage device, and avoid using high-performance devices for low-priority tasks. Therefore, the problem of low resource utilization rate in the storage system management method in the related art can be solved, and the technical effect of improving the resource utilization rate can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] 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. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0021] Figure 1 is a schematic diagram of the hardware environment of an optional storage system management method according to an embodiment of the present application;

[0022] Figure 2 is a flowchart of an optional storage system management method according to an embodiment of the present application;

[0023] Figure 3 is a schematic diagram of an optional storage system management method according to an embodiment of the present application;

[0024] Figure 4 is a schematic diagram of another optional storage system management method according to an embodiment of the present application;

[0025] Figure 5 is a structural block diagram of an optional storage system management device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0026] 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 creative efforts belong to the protection scope of the present application.

[0027] It should be noted that in the description of the present application, the terms "including", "comprising" or any other variation 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 and are not used to describe a specific order or sequence.

[0028] 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.

[0029] According to one aspect of the embodiments of the present application, a method for managing a storage system is provided. As an optional implementation, the above method for managing a storage system can be but is not limited to being applied to a management system of a storage system in a hardware environment as Figure 1 shown. The management system of the storage system includes: a front-end storage cluster 102, including a target storage node 104 and a reference storage node 106; a heterogeneous storage device cluster 108, including various types of candidate storage devices (such as candidate storage device 110 and candidate storage device 112); a data transmission network 114 and a storage management node 116.

[0030] It should be noted that in a distributed storage system, the front-end storage cluster, front-end storage nodes, heterogeneous storage device cluster, data transmission network, and storage management node are key components that make up the entire system architecture. Their respective functions and cooperation methods are crucial for the performance, reliability, and scalability of the system. The following is a detailed description of these components:

[0031] The front-end storage cluster is a set composed of multiple front-end storage nodes, which are usually located between users or upper-layer application programs and the back-end storage device cluster. The main role of the front-end cluster is to process and schedule storage requests from users and provide data consistency, security, and high-performance data access services. Through load balancing and redundancy mechanisms, the front-end cluster can disperse the request load and improve the processing capacity and fault tolerance of the system.

[0032] The front-end storage node is an independent unit in the front-end cluster. Each node is responsible for receiving, processing, and forwarding users' storage requests. Specific software or applications run on the node for communicating with users, protocol conversion (such as converting upper-layer protocols into local protocols of backend devices), data caching, and partial data processing tasks. The front-end node may also include local storage resources for caching frequently accessed data to reduce direct access to backend storage devices and improve data access speed.

[0033] The heterogeneous storage device cluster is the backend part of the distributed storage system, consisting of various storage devices with different types and performance characteristics, such as Solid State Drives (SSDs), Hard Disk Drives (HDDs), Non-Volatile Memories (NVMs), etc. The design of the heterogeneous cluster aims to provide diverse storage options to meet the performance and cost requirements in different application scenarios. The devices in the storage device cluster are connected to the front-end cluster through high-bandwidth and low-latency networks to jointly provide data storage and access services.

[0034] The data transmission network is the link connecting the front-end storage cluster and the backend heterogeneous storage device cluster. Its main function is to transmit data and control information efficiently and reliably. The transmission network options supported by NVMe-oF include three major categories: Fibre Channel, Remote Direct Memory Access (RDMA), and TCP. Among them, RDMA can be further divided into InfiniBand (IB), RoCEv1, RoCEv2, and iWARP. NVMe-oF realizes fast and low-latency access to remote NVMe devices based on RDMA technology, further leveraging the high-performance advantages provided by the NVMe protocol in local access to the remote storage interconnection architecture. This application does not limit the specific network selection as long as data transmission can be achieved. Moreover, the network design often includes redundant links and dynamic routing functions to adapt to device failures or network congestion and ensure the continuity and high efficiency of data transmission.

[0035] The storage management node is the control center of the distributed storage system, responsible for resource management and scheduling within the entire system. It monitors the status of all nodes and devices, including performance metrics, health conditions, and load situations. The storage management node intelligently allocates storage resources, optimizes data transmission paths, and handles device failures and data consistency issues according to the current system status and storage policies. In addition, the storage management node is also responsible for advanced management tasks such as cluster configuration, security policy implementation, and performance optimization to ensure the stable and efficient operation of the storage system.

[0036] Specifically, such asFigure 1 As shown, it is a schematic diagram of the hardware environment of an optional management method for a storage system according to an embodiment of the present application; the front-end storage cluster 102 can be a cluster of front-end storage nodes. Since the front-end storage nodes can be in the form of controllers, network cards, etc., the front-end storage cluster 102 can be in a partial area of each storage node. The target storage node 104 can be the node that will perform data transmission with a new host, and the reference storage node 106 can be the node other than the target storage node 104. The heterogeneous storage device cluster 108 can include multiple types of storage devices. For example, the candidate storage device 110 can be an SSD, and the candidate storage device 112 can be an HDD. The data transmission network 114 can be the data transmission channel between the front-end storage nodes and the back-end storage devices. The storage management node 116 can communicate with each storage device at the back-end, and it can be located anywhere in the system.

[0037] The above scenarios are only examples. In the scenarios where the management of heterogeneous storage systems is required, the management method of the storage system of the present application can be used.

[0038] An embodiment of the present application provides a management method for a storage system. Figure 2 It is a flowchart of an optional management method for a storage system according to an embodiment of the present application; as Figure 2 shown, the management method of this storage system includes:

[0039] Step S202, sending discovery request information to the target storage node so that the target storage node sends discovery requests to multiple candidate storage devices, where the discovery request information is used to indicate the address information of the candidate storage devices, and the multiple candidate storage devices include different types of storage devices;

[0040] It should be noted that the storage management node can send discovery request information to one or more target storage nodes. After receiving this information, the target storage node will further send discovery requests to multiple candidate storage devices to obtain detailed information about these devices. Here, the "candidate storage devices" refer to the back-end devices that may be used for storage or data processing, including different types of storage devices such as NVMe SSDs, HDDs, NVMs, etc. For storage devices, it has been specifically described above and will not be elaborated here.

[0041] In an optional implementation, the storage management node can send discovery request information to the target storage node. This information usually contains some key parameters required for the discovery operation, such as the address information of the candidate storage devices, which may be the IP address, port number or other network identifiers of the devices. The storage management node can also specify other parameters in the discovery request information, such as the priority of the request, performance requirements or a specific storage protocol version.

[0042] After the target storage node receives the discovery request information from the storage management node, it will parse this information, extract the address information of the candidate storage devices, and send discovery requests to these devices. That is, the target storage node can determine the targets of the discovery requests based on the discovery request information. The target storage node sends the discovery requests to multiple backend candidate storage devices, and these devices can be distributed in different physical locations and may have different storage technologies (such as NVMe, SATA, SAS, or NVM). The purpose of the discovery requests is to let these devices respond and provide their own detailed information, including device type, capacity, connection status, performance parameters, etc.

[0043] It should be noted that since the candidate storage devices are heterogeneous, that is, they include different types of storage devices, it is necessary to be able to identify and process different types of devices. The software on the storage management node and the target storage node should support multiple storage protocols and interfaces, be able to communicate with different types of devices, and obtain their key information. After receiving the discovery requests, the candidate storage devices will return their own device information. The target storage node collects these responses and organizes them before feeding them back to the storage management node. Based on the information collected, the storage management node can further decide which storage devices to establish connections with and how to optimize resource allocation and data transfer paths.

[0044] Step S204: Select the target storage information that meets the preset performance requirements from the storage information returned by multiple candidate storage devices, and determine the candidate storage device corresponding to the target storage information as the target storage device, where the storage information is used to indicate the performance information of the candidate storage devices;

[0045] It should be noted that in a heterogeneous storage environment, the performance parameters of storage devices will vary, such as read / write speed, IOPS (input / output operations per second), latency, etc. Therefore, when the storage information of the storage devices is obtained in step S202, it is necessary to determine which storage devices meet the requirements.

[0046] In an alternative embodiment, after step S202, the storage management node can query the detailed information of all backend devices obtained in the discovery phase through a command-line tool, including but not limited to device type (such as NVMe SSD, HDD), performance parameters (such as read / write speed, IOPS), storage capacity, etc. It should be noted that the command-line query can be implemented by a system administrator or automated management software and can obtain a comprehensive view of backend resources, that is, the storage information can be displayed at this stage.

[0047] In an alternative embodiment, the storage management node can directly obtain the returned storage information and, based on preset performance requirements, filter out candidate storage devices that meet the criteria from the results. These preset performance requirements may originate from upper-layer application requirements, service level agreements (SLAs) set by users, or system performance optimization strategies.

[0048] Taking the storage information of the candidate storage devices (device type, performance parameters, capacity, etc.) as the judgment basis, the storage management node can compare this information with the preset performance requirements to determine which devices are most suitable for specific data operations. For example, if the preset performance requirements call for high-speed read and write and low latency, then the storage management node will tend to select NVMe SSDs as the target storage devices because they generally have higher read and write speeds and lower latency.

[0049] Step S206: Send a connection establishment request message to the target storage node so that a connection relationship is established between the target storage node and the target storage device, where the connection establishment request message is used to indicate the address information of the target storage device.

[0050] It should be noted that in step S204, the storage management node selects the target storage device that best suits the current storage requirements. To establish a direct communication channel with the selected device, the storage management node needs to send a connection establishment request message to the target storage node.

[0051] In an alternative embodiment, the storage management node constructs and sends a connection establishment request message to the target storage node. This message contains the address information of the target storage device, that is, the unique network address used to identify the specific device, such as an IP address and a port number. In addition, the connection establishment request message may also include other parameters, such as the storage protocol version, authentication information, encryption standard, etc., which help to establish a secure and compatible connection.

[0052] After receiving the connection establishment request message, the target storage node attempts to establish a connection with the target storage device using the address information therein. Under the NVMe-oF protocol, TCP or RDMA (such as RoCE) may be used to build a reliable communication channel. Once the connection is successfully established, the front-end node can directly interact with the target storage device through the target storage node.

[0053] After the connection relationship is established, the logical connection between the target storage device and the target storage node is specified, which may include mapping the device as a virtual storage resource visible to the front-end node (such as a virtual disk vdisk). The vdisk of the target storage device will be mapped as the mdisk (memory disk) of the target storage node, so that the front-end node can indirectly access the data on the target storage device through the target storage node as if it were operating on local storage.

[0054] Figure 3 It is a schematic diagram of an optional management method for a storage system according to an embodiment of the present application; as Figure 3 shown, the storage management node 302 may execute step S302 to send discovery request information to the target storage node 304, and then the target storage node 304 may execute step S304 to send a discovery request to the candidate storage device 306. The candidate storage device 306 may execute step S306 to return storage information to the target storage node 304, and the target storage node 304 may execute step S308 to return storage information to the storage management node 302.

[0055] Figure 4 It is a schematic diagram of another optional management method for a storage system according to an embodiment of the present application; as Figure 4 shown, the storage management node 402 may execute step S402 to send connection establishment request information to the target storage node 404, and then the target storage node 404 executes step S404 to send a connection establishment request to the target storage device 406.

[0056] Through the present application, in a heterogeneous storage system, the storage management node may send request information to a target storage node in the front-end storage node cluster to indicate the address information of the candidate storage device at the back end for the target storage node, so that the front-end target storage node may send a discovery request to the candidate storage device at the back end to obtain the storage information returned by the candidate storage device. The storage management node may determine whether there is storage information that meets the preset performance requirements, and determine the candidate storage device corresponding to the storage information that meets the requirements as the target storage device. For example, for the requirements of high performance and low latency, a solid-state drive (SSD) may be determined as the target storage device. After determining the target storage device, connection establishment request information may be sent to the front-end target storage node, so that a connection can be established between the target storage node and the target storage device. To perform resource classification and scheduling according to the performance characteristics of the storage device, and avoid using high-performance devices for low-priority tasks. Therefore, the problem of low resource utilization rate in the storage system management method in the related art can be solved, and the technical effect of improving resource utilization rate can be achieved.

[0057] In an optional implementation manner, sending discovery request information to the target storage node further includes: sending candidate storage device parameters to the front-end storage cluster, so that the front-end storage cluster generates discovery request information based on the storage device parameters and sends the discovery request information to the target storage node;

[0058] Sending connection establishment request information to the target storage node further includes: sending target device parameters to the front-end storage cluster, so that the front-end storage cluster generates connection establishment request information based on the target device parameters and sends the connection establishment request information to the target storage node.

[0059] It should be noted that the front - end storage cluster can be a storage cluster composed of a target storage node and multiple reference storage nodes. The front - end storage cluster can serve as a transfer point for data or information transmission between the storage node and the rest, and can also uniformly manage the target storage node and multiple reference storage nodes. The front - end storage cluster can reserve a part of each of all storage nodes as the storage cluster, or can manage all storage nodes through an independent controller.

[0060] In an alternative embodiment, the front - end storage cluster can receive command - line parameters from a user or management software, or indirectly receive discovery request information sent through a storage management node, including the target IP address, port number, device type (such as NVMe SSD, HDD), and possible performance requirements (such as high throughput, low latency, etc.). These parameters are used to assemble discovery request information, which is used to indicate the address information of the backend storage devices that the front - end cluster needs to discover and confirm.

[0061] In an alternative embodiment, a user or automated management software can input parameters of the target storage device, such as the IP address and port number of the target device, as well as the device type and performance requirements to be discovered, through a command - line interface. The front - end storage cluster can directly receive these parameters, or receive these parameters through a storage management node, and assemble them into discovery request information, including but not limited to the specific network identification and performance metrics of the target device. The front - end storage cluster sends the generated discovery request information to the target storage node, which is responsible for forwarding it to the candidate storage devices at the backend for actual discovery operations.

[0062] Example 1: In a distributed storage system containing various types of storage devices (such as NVMe SSD, HDD, NVM), a user inputs the target IP address (e.g., 192.168.1.100), port number (e.g., 4420), and device type (NVMe SSD) through the command line. After receiving these parameters, the front - end storage cluster generates discovery request information, which requests the target storage node to discover all connectable NVMe SSD devices. Subsequently, the discovery request information is sent to the target storage node through the network, and the latter sends discovery requests to all possible NVMe SSD devices.

[0063] Similarly, the front - end storage cluster also needs to receive and assemble relevant parameters during the connection - building phase to generate connection - building request information. These parameters may include detailed address information of the target device, device type, performance requirements, etc., which are used to indicate which specific backend storage device the front - end storage cluster should establish a connection with.

[0064] In an alternative embodiment, the storage management node selects one or more target storage devices for connection establishment based on the backend device information obtained in the discovery phase and the preset performance requirements. Based on the selected target device parameters, the management node of the front-end storage cluster generates connection establishment request information. The front-end storage cluster sends the connection establishment request information to the target storage node, which is responsible for establishing a connection with the target storage device.

[0065] Embodiment 2: Continuing the scenario of the above Embodiment 1, assume that in the discovery phase, it has been confirmed that there are multiple NVMe SSD devices under the target IP address 192.168.1.100, and the storage management node selects one of the devices according to the performance requirements (such as high throughput and low latency). In the connection establishment phase, the management node of the front-end storage cluster will receive the detailed parameters of this target device, including its exact network address, port number, device type (NVMe SSD), and performance metrics. Based on this information, connection establishment request information is generated and sent to the target storage node through the network. After receiving the request, the target storage node establishes a connection with the selected NVMe SSD device to complete the connection establishment process.

[0066] Through the above embodiments of the present application, the distributed storage system can intelligently identify and connect to the storage device most suitable for the requirements, thereby improving the performance of data access and the resource utilization rate of the entire system, while ensuring the security and reliability of data transmission. The system flexibly selects and utilizes various types of storage resources according to actual needs.

[0067] In an alternative embodiment, sending candidate storage device parameters to the front-end storage cluster to enable the front-end storage cluster to generate discovery request information based on the storage device parameters and send the discovery request information to the target storage node further includes: sending candidate storage device parameters to the front-end storage cluster to enable the front-end storage cluster to send the discovery request information and a first cluster event to the target storage node and a reference storage node, where the reference storage node is used to indicate a storage node in the same front-end storage cluster as the target storage node, and the first cluster event is used to indicate the state of the front-end storage cluster in the discovery phase.

[0068] It should be noted that when sending candidate storage device parameters to the front-end storage cluster, not only the target storage node needs this information, but all other storage nodes (reference storage nodes) in the cluster can also synchronize this discovery process to maintain the consistency of the cluster state. The first cluster event is used to indicate the state of the front-end storage cluster in the discovery phase, including the start, progress, and completion of the discovery request, which helps all nodes work together to perform the discovery operation and ensure the efficiency and accuracy of the discovery process.

[0069] In an alternative embodiment, when the discovery process starts, the front-end storage cluster receives candidate storage device parameters. These parameters may include the IP address, port number, device type (such as NVMe SSD, HDD) of the target storage device, and performance requirements, etc. The front-end storage cluster assembles the parameters of the candidate storage device into discovery request information, and at the same time creates a first cluster event, which indicates the start of the discovery request. Subsequently, the management node distributes the discovery request information and the first cluster event to all nodes in the front-end storage cluster, including the target storage node and the reference storage node.

[0070] It should be noted that for different storage nodes, the received discovery request information may be different, that is, different storage nodes may access different storage devices, so as to increase the number of accessed storage devices and reduce the frequency of data transmission.

[0071] In an alternative embodiment, after the target storage node and the reference storage node receive the discovery request information and the first cluster event, they enter the discovery state and perform corresponding discovery operations according to the event indication. The target storage node and the reference storage node directly send specific discovery requests to the back-end storage device. During the process of the discovery request, the first cluster event will be updated according to the status, changing from "start" to "in progress" until "completed". So that all front-end storage nodes can understand the discovery progress of the entire cluster, and ensure that after the discovery stage ends, all nodes have the latest and consistent device information.

[0072] Example 3: In a cluster containing multiple front-end storage nodes, assume the goal is to discover all high-performance NVMe SSD devices. The user inputs the parameters of the target storage device through the command line, such as the IP address 192.168.1.100, port number 4420, and device type NVMe SSD. After the management node of the front-end storage cluster receives these parameters, it assembles them into discovery request information, and at the same time creates a first cluster event (status is "start"), and then distributes this information to all nodes in the cluster. For each node, including the target storage node and the reference storage node, it starts or prepares to perform discovery operations according to the first cluster event. The target storage node and the reference storage node can directly send discovery requests to the specified IP address and port. As the discovery request progresses and is completed, the status of the first cluster event will also be updated accordingly, ensuring that all nodes are synchronized to the correct status and know when the discovery stage is completed.

[0073] Through the above embodiments of the present application, through the information distribution and cluster event notification mechanism, the distributed storage system can effectively coordinate all nodes in the front-end storage cluster, ensuring the efficiency, accuracy, and security of the resource discovery process. Through the distribution and status update of the first cluster event, all front-end storage nodes can perform discovery operations in a coordinated manner, avoiding resource conflicts and duplicate discoveries, and improving the efficiency and consistency of the discovery process. Moreover, the cluster event notification mechanism can reduce unnecessary network traffic, such as avoiding reference storage nodes from repeatedly sending discovery requests, thereby optimizing network communication, reducing network load, and improving the overall communication efficiency of the system.

[0074] In an alternative embodiment, before selecting the target storage information that meets the preset performance requirements from the storage information returned by multiple candidate storage devices and determining the candidate storage device corresponding to the target storage information as the target storage device, it includes: receiving the storage information corresponding to the candidate storage device sent by the front-end storage cluster, where the storage information is the information sent by the candidate storage device to the target storage node and the reference storage node.

[0075] It should be noted that after the discovery request stage, the front-end storage cluster will receive the storage information sent by the back-end storage device. This information is provided by the device in response to the discovery request, including the type of the device (NVMe SSD, HDD, etc.), performance parameters such as read and write speeds, IOPS, latency, and storage capacity, etc. The storage information is collected not only by the target storage node but also possibly by the reference storage node.

[0076] In an alternative embodiment, the front-end storage nodes (target storage node and reference storage node) send discovery requests to the back-end NVMe SSD and HDD devices through the RoCE protocol. These requests contain the basic parameters required for device location (such as IP address, port number, and device type), and the back-end devices (candidate storage devices and reference storage devices) will return their detailed storage information according to these requests. After receiving the discovery request, the back-end storage device will provide information such as its device type, performance parameters, and capacity. This information is collected by the target storage node and potential reference storage nodes and fed back to the front-end storage cluster through the network. After receiving the storage information of all storage devices, the front-end storage cluster will summarize and preliminarily analyze this information to determine which devices meet the preset performance requirements.

[0077] Example 4: In a distributed storage system containing NVMe SSDs and HDDs, the front-end storage cluster specifies the conditions for discovering back-end storage devices, including performance requirements such as high throughput and low latency. Subsequently, the front-end nodes in the cluster send discovery requests to the back-end devices. The back-end NVMe SSD and HDD devices respectively return detailed storage information. After the front-end storage cluster collects this information, it conducts analysis and screening, and finally determines several NVMe SSDs as the target storage devices because their performance parameters (such as IOPS and latency) meet the preset high standards.

[0078] Through the above implementation manner of the present application, the process of the front-end storage cluster receiving the storage information of the back-end devices is the key to realizing performance-driven resource selection and connection establishment. It allows the system to make wise decisions based on the actual device performance and preset requirements, thereby optimizing the data processing flow, improving resource utilization and system performance. Through precise analysis of the device performance information, the system can intelligently select the storage resources most suitable for the performance requirements, thus improving the speed and efficiency of data processing. Since the front-end storage cluster can determine the target storage devices based on the preset performance metrics, this ensures that the storage operations can be executed on the most suitable devices, minimizing unnecessary latency and performance bottlenecks.

[0079] In an alternative implementation, sending target device parameters to the front-end storage cluster to enable the front-end storage cluster to generate a connection establishment request message based on the target device parameters and send the connection establishment request message to the target storage node further includes: sending target storage device parameters and reference storage device parameters to the front-end storage cluster to enable the front-end storage cluster to send a connection establishment request message and a second cluster event to the target storage node and the reference storage node, where the connection establishment request message is used to indicate the address information of the target storage device for establishing a connection with the target storage node and the address information of the reference storage device for establishing a connection with the reference storage node, and the second cluster event is used to indicate the status of the front-end storage cluster in the connection establishment phase.

[0080] It should be noted that in the connection establishment request phase, the front-end storage cluster needs to receive the target storage device parameters and possibly the reference storage device parameters. These parameters are sent by the storage management node and are used to guide the front-end cluster on how to establish connections with the selected back-end devices, and may also involve connections with other reference devices to build a redundant and highly available storage architecture.

[0081] In an alternative embodiment, the storage management node or the external management system sends the target device parameters and the reference device parameters to the front-end storage cluster. These parameters include the network address of the device (such as IP address and port number), the device type (such as NVMe SSD, HDD), and possible performance requirements. The target device parameters are the information for establishing a direct connection with the target storage node, while the reference device parameters are for establishing a connection with the reference storage node. Based on the received target device parameters and reference device parameters, the front-end storage cluster generates connection establishment request information. This information not only indicates the connection request to the target storage device but may also contain connection establishment instructions for the reference storage device, which can enable the system to build a more complex storage network, such as multi-path connection or multi-node backup. In addition to the connection establishment request information, the front-end storage cluster also receives a second cluster event, which is used to indicate the status of the connection establishment phase, including "start", "in progress", and "completed". This ensures that all front-end storage nodes can perform corresponding operations according to the latest connection establishment status.

[0082] Example 5: In a distributed storage cluster, assume that it is necessary to establish connections with a group of high-performance NVMe SSD devices and another group of large-capacity HDD devices to meet different data storage and access requirements. The user inputs the target device parameters (IP addresses and port numbers of several NVMe SSDs) and the reference device parameters (IP addresses and port numbers of several HDDs) through the command line or the management interface. After receiving these parameters, the front-end storage cluster generates connection establishment request information and starts a second cluster event to indicate the start of the connection establishment process. Subsequently, the connection establishment request information and the event status are sent to each node in the front-end cluster.

[0083] It should be noted that the second cluster event can ensure that all front-end storage nodes can operate synchronously during connection establishment, avoiding resource conflicts or invalid connection establishment attempts caused by inconsistent information. By monitoring the status of the second cluster event in real time, the front-end storage cluster can promptly detect and respond to abnormalities during the connection establishment process, such as device offline, network interruption, etc., and quickly take measures to restore the connection or reselect devices, enhancing the reliability and robustness of the system. The second cluster event can also help the front-end storage cluster make performance optimization and load balancing decisions. For example, if it is found during the connection establishment process that the connection latency of some devices is too high, the system can adjust the event status to direct more traffic to the devices with lower latency, thereby optimizing the data transmission efficiency of the entire system.

[0084] Through the above embodiments of the present application, by sending the target device parameters and reference device parameters to the front-end storage cluster, as well as the status update during the connection establishment process, i.e., the second cluster event, the distributed storage system can achieve a higher level of resource management and optimization. This not only ensures an effective connection with the target storage device but also constructs a storage network that can quickly respond to changes, automatically adapt to the load, and optimize performance, greatly improving the system stability and data access efficiency. Moreover, based on the target device parameters and reference device parameters, the front-end storage cluster can make more intelligent and dynamic decisions during the connection establishment process. For example, if the target NVMe SSD device has a high load at a certain moment, the system can select to establish a connection with the reference HDD device according to the status of the second cluster event to relieve the performance pressure.

[0085] In an alternative embodiment, before sending the discovery request information to the target storage node, it includes at least one of the following:

[0086] 1) Sending an online verification signal to the target storage node, and determining that the target storage node is in an online state when receiving the response signal returned by the target storage node;

[0087] 2) Sending a probe data packet to the port of the candidate storage device, and determining that the port of the candidate storage device is valid when receiving the status information returned by the candidate storage device;

[0088] 3) Determining that the link verification passes when the link state between the target storage node and the candidate storage device meets the preset link requirements.

[0089] It should be noted that in a distributed storage environment, ensuring that all participating components (such as front-end storage nodes, back-end storage devices, and the network links between them) are in a normal working state is a prerequisite for efficient storage resource discovery and connection establishment.

[0090] It should be noted that the online status of the target storage node can be verified. Before officially sending the discovery request, the online status of the target storage node can be verified to ensure its reachability. This can be achieved by sending an online verification signal and waiting for a response.

[0091] In an alternative embodiment, the storage management node can send a heartbeat signal or a Ping command to the target storage node. The heartbeat mechanism periodically sends signals to confirm the active state of the target node; the Ping command detects the network connectivity with the target node by sending an ICMP request packet. If the front-end node can receive the response signal from the target storage node (such as a heartbeat response or an ICMP reply), it can be determined that the target node is in an online state and can receive and process subsequent discovery request information.

[0092] Example 6: In the front-end storage cluster of a distributed storage system, the storage management node sends a heartbeat signal to the target storage node. If a heartbeat response is received within a preset time, the storage management node determines that the target storage node is online and can continue with the resource discovery process.

[0093] In an alternative implementation, the validity of candidate storage device ports can be verified. For example, verify whether a specific port of the candidate storage device is open and reachable to ensure that subsequent discovery requests can be correctly received and processed. The storage management node sends a probe data packet to the port of the candidate storage device. Common network probing tools such as Nmap can be used to complete this task. It analyzes the received response data packet to determine the open status of the target port and the reachability of the network service.

[0094] Example 7: The front-end storage node sends a probe data packet to port 4420 of the candidate NVMe SSD device through Nmap. If Nmap reports that the port is in an open state and can receive a response, then the front-end node determines that the device port is valid and can normally send a discovery request.

[0095] It should be noted that the link status can also be verified. That is, before initiating a discovery request, it is necessary to confirm whether the network link status between the target storage node and the candidate storage device meets the preset requirements, such as link bandwidth, latency, etc. The storage management node checks whether the link between the front-end node and the back-end device is normal through a link layer protocol, such as LLDP. LLDP allows nodes to exchange link status information, including link bandwidth, connection status, port ID, etc. If the link status meets the preset link requirements, such as the link bandwidth is not less than 1 Gbps and the latency is less than 1 ms, then the link verification passes and resource discovery can be safely performed.

[0096] Example 8: In a distributed storage system, the link status between the front-end storage node and the candidate HDD device is verified through LLDP. If the bandwidth and latency of the link meet the preset requirements, the front-end node determines that the link verification passes and can continue to send a discovery request to the candidate device.

[0097] Through the above implementation manners of the present application, it is ensured that the target storage node, the candidate storage device port, and the network link between them are all in a normal state, significantly improving the accuracy and efficiency of storage resource discovery, and at the same time enhancing the overall stability and data transmission performance of the system. These mechanisms can effectively prevent and solve a series of potential problems in practical applications, ensuring that the distributed storage system can operate efficiently and reliably.

[0098] In an alternative implementation, before sending the connection establishment request information to the target storage node, it includes at least one of the following:

[0099] 1) Determine that the target storage device passes the verification when the device type of the target storage device conforms to the preset type, the performance parameters of the target storage device conform to the preset performance parameters, and the capacity of the target storage device conforms to the preset capacity.

[0100] 2) Determine that the target storage node passes the verification when the network status of the target storage node conforms to the preset network conditions and the resource utilization rate of the target storage node is less than the preset threshold.

[0101] It should be noted that in a distributed storage system, it is very crucial to ensure sufficient verification before establishing a connection with the target storage device and the target storage node.

[0102] In an alternative embodiment, before attempting to establish a connection with the target storage device or the target storage node, it can be ensured that they meet the preset conditions of the system. This can include verification of the device type, performance parameters, device capacity, as well as verification of the network status and resource utilization rate of the target storage node.

[0103] In an alternative embodiment, the target storage device can be verified. For example, check whether the target device belongs to the storage type expected by the system. For example, if the system is looking for high-performance NVMe SSD devices, then all non-NVMe type devices will be excluded. It is necessary to ensure that the performance metrics such as the read and write speed, latency, and IOPS (input / output operations per second) of the target device reach or exceed the preset minimum standards. Also, check whether the storage capacity of the target device is large enough to support the required storage needs.

[0104] In an alternative embodiment, the target storage node can be verified. For example, evaluate the network connectivity, bandwidth, latency, and packet loss rate of the target node to ensure that it can provide a stable and high-speed network environment. Check the CPU, memory, and storage resource occupancy of the target node. If the resource utilization rate exceeds the predetermined threshold, it may affect the stability and performance of the connection.

[0105] Example 9: In a distributed storage system containing heterogeneous storage devices, before the connection establishment request is sent to the target storage node, the front-end storage cluster performs a detailed verification:

[0106] Verify the target storage device: According to the type, performance parameters, and capacity of the storage device, the system checks a device named "DeviceX", confirms that it is an NVMe SSD, the read speed exceeds 1 GB / s, the latency is less than 0.1 ms, and the remaining capacity is greater than 50%.

[0107] Verify the target storage node: Meanwhile, the network status and resource utilization rate of the target storage node "NodeY" are also checked. It is confirmed that its network latency is less than 1 ms, the packet loss rate is less than 0.1%, the CPU usage rate is less than 60%, and the memory occupancy is less than 70%, ensuring a stable network environment and sufficient processing power.

[0108] Through the above implementation manners of the present application, since detailed verification is performed before establishing a connection, the system can avoid establishing connections with devices or nodes that do not meet the requirements, reduce the risk of connection failure, and improve the reliability of the connection. By verifying the performance and remaining capacity of the target device, the system can select the most suitable storage resources, avoid overloading or wasting situations, and improve the utilization rate and overall performance of the storage resources. Verifying the network status and resource utilization rate of the target storage node ensures that stable network communication and storage services can be maintained even in a high-load environment, enhancing the stability and reliability of the distributed storage system.

[0109] In an optional implementation manner, a connection establishment request message is sent to the target storage node to establish a connection relationship between the target storage node and the target storage device, including: sending a connection establishment request message to the target storage node to enable the target storage node to partition the storage area of the target storage device, and format and set mounting parameters for the partitioned storage area.

[0110] It should be noted that in a distributed storage system, the connection establishment request is not just a simple network connection establishment, but involves in-depth configuration and integration of the resources of the backend storage device. As mentioned above, after the front-end storage node and the backend storage device are officially connected, the virtual disk (vdisk) of the backend storage device is mapped to the logical disk (mdisk) of the front-end storage node.

[0111] In an alternative embodiment, the connection establishment request information sent by the storage management node to the target storage node includes detailed parameters of the target storage device, including the IP address, port number, device type (such as NVMe SSD), and possible performance requirements. In addition, the request also includes further configuration instructions indicating how the target storage node should handle its relationship with the target storage device, including partitioning, formatting, and setting mounting parameters for the storage area of the target device. After receiving the connection establishment request, the target storage node divides the storage area of the target storage device according to the instructions, forming multiple independent physical storage units. Subsequently, these partitions are formatted, that is, the storage structure is initialized for subsequent data writing and reading operations. It should be noted that the mounting parameters define how to map the partitions (vdisk) of the storage device to the file system of the front-end storage node, becoming a logical disk (mdisk) that can be directly accessed by the front-end node. This includes defining the mount point, access mode, permissions, and other parameter settings related to data storage and access.

[0112] Example 10: In a distributed storage system containing high-performance NVMe SSDs, assume the goal is to map a large virtual disk (vdisk) to multiple nodes in the front-end storage cluster to achieve decentralized data storage and load balancing. The connection establishment request information includes the IP address, port number of the target device, as well as explicit instructions for partitioning, formatting, and mounting parameters. The storage management node sends the connection establishment request information to the target storage node (such as the master node in the cluster). The information can detail the specific location of the NVMe SSD device to be connected and how to perform partitioning and formatting. After receiving the request, the target storage node partitions the storage area of the target NVMe SSD device, forming multiple smaller physical storage units to meet the storage requirements of the front-end nodes and optimize data distribution. Subsequently, each partition is formatted to ensure compatibility with the file system of the front-end storage node. The target storage node further sets the mounting parameters, defining how to map these partitions (vdisk) to the nodes of the front-end storage cluster, becoming directly accessible logical disks (mdisk). The mounting parameters may include the selection of the mount point, setting of I / O performance parameters, assignment of read and write permissions, etc., to meet business requirements.

[0113] Through the above implementation manners of the present application, for the partition, formatting, and mounting parameter settings guided by the connection establishment request information, the front-end storage cluster can more precisely control resource allocation, ensure that the storage areas of each NVMe SSD device are fully utilized, and reduce waste of storage space. Moreover, the vdisk after partitioning is mapped to an mdisk, which means that the front-end storage node can directly access the back-end storage device through the local file system without going through additional network layer conversion, significantly reducing the latency of data access. Mapping the vdisk to multiple mdisks and dispersing them to different nodes in the cluster helps to achieve redundant storage of data. Even if a certain front-end node fails, the mdisk on other nodes can still ensure data continuity and uninterrupted operation of the service, enhancing the stability and fault tolerance of the system.

[0114] In an alternative implementation manner, after sending the connection establishment request information to the target storage node, it further includes: determining the network topology structure based on the connection relationship between the target storage node and the target storage device and the connection relationship between the reference storage node and the reference storage device, where the network topology structure is used to indicate the network link network of the storage system; determining the load information of the target storage node, the target storage device, the reference storage node, and the reference storage device, where the load information is used to indicate the load conditions of the storage node and the storage device; in the case where the network link has a bandwidth drop or the load information is greater than a preset load threshold, determining the storage node and the storage device corresponding to the network link with a bandwidth drop or the load information greater than the preset load threshold as the storage nodes to be adjusted; the storage nodes to be adjusted determine the storage devices to be adjusted based on the network topology structure and the load information, and connect the storage nodes to be adjusted and the storage devices to be adjusted.

[0115] It should be noted that in a distributed storage system, the efficient utilization of storage resources not only depends on the direct connection establishment with storage devices, but also requires the system to be able to monitor the network link status and the load conditions of storage resources in real time and perform dynamic adjustments to ensure optimized data transmission and balanced operation of the system. And after establishing connections with the target storage device and the reference storage device, the system needs to determine the network topology structure based on the newly established connection relationship and collect the load information related to the storage devices and storage nodes in real time.

[0116] In an alternative embodiment, based on the connection between the target storage node and the target storage device, and the connection between the reference storage node and the reference storage device, the storage management node can construct a network link diagram of the storage system. This includes all connected devices, nodes, and the network paths between them, forming a visual network topology that provides a basis for subsequent optimization of the data transmission path. The storage management node needs to monitor and collect the load information of the target storage node, target storage device, reference storage node, and reference storage device in real time, which includes CPU usage, memory occupancy, storage resource occupancy, and network bandwidth, etc. These load information are crucial for evaluating the current working state of the devices and nodes, and for determining whether path adjustment or resource reallocation is needed.

[0117] It should be noted that when the network link bandwidth drops, or the load information of the storage node and device exceeds the preset load threshold, the storage management node will identify these abnormal situations and take necessary adjustment measures.

[0118] In an alternative embodiment, the storage management node checks the network topology and load information. If it finds that the bandwidth of a certain network link drops, or the load of a certain storage node or device exceeds the preset threshold, it will mark these devices or nodes as storage nodes to be adjusted. The storage nodes to be adjusted will intelligently determine the storage devices that need to be adjusted based on the network topology and the current load information. If the load of a certain device is too high, the storage management node will consider reallocating some requests to other storage devices with lower loads to balance the system load and improve performance. The storage management node will dynamically adjust the connection between the storage node and the storage device, and select a new data transmission path to reduce network congestion and transmission delay. This may include remapping the data stream, adjusting the network routing strategy, or enabling an alternative link, etc.

[0119] Example 11: In a distributed storage system, multiple front-end storage nodes (including the target storage node and the reference storage node) are connected to the backend NVMe SSD devices and HDD devices. Due to a large number of data write operations, the network link connected to the NVMe SSD device begins to experience a bandwidth drop, and at the same time, the resource utilization rate of the target storage node approaches the preset threshold of 70%. In this case, based on the analysis of the network topology and load information, the storage management node determines that the target storage device NVMe SSD and the target storage node are in a high-load state, and marks them as storage nodes to be adjusted. Subsequently, the storage management node dynamically adjusts the data transmission path, reallocates some data write requests to the reference storage device HDD with a smoother network link and lower load, and at the same time, also adjusts the connection between the target storage node and the reference storage device to disperse the load and reduce the resource pressure on the target storage node.

[0120] Through the above embodiments of the present application, the storage management node can promptly respond to changes in the network link status, select a path with more sufficient bandwidth and lower latency, reduce network congestion, and improve data transmission efficiency. Reallocating data write requests to reference storage devices with lower loads and adjusting the connections between target storage nodes and storage devices effectively balance the load of storage resources, avoid overloading of a single device or node, and improve the overall stability and performance of the system. The implementation of the dynamic path adjustment and resource reallocation mechanism significantly improves the throughput of the storage system. Even in complex network environments and with fluctuating device loads, the system can maintain efficient data processing capabilities.

[0121] It should be noted that in a distributed storage system, especially in a heterogeneous storage environment, efficient resource management and scheduling can optimize system performance, improve storage service quality, and response speed.

[0122] In an optional embodiment, the storage management node first identifies the types of storage devices, such as NVMe SSDs, HDDs, or NVMs, and their performance parameters, including read / write speeds, latency, IOPS (input / output operations per second), and storage capacity. Based on the device types and performance parameters, the devices are divided into different resource groups. For example, high-performance NVMe SSD devices may be classified into a "high-performance resource group", while large-capacity HDD devices are grouped into a "large-capacity resource group". This classification and grouping ensure that devices with the same performance characteristics are centrally managed, facilitating subsequent resource scheduling decisions.

[0123] When the distributed storage system receives a storage request, the storage management node first analyzes the performance requirements and data types of the request. For example, requests with high throughput may require fast read / write speeds, while the storage of large amounts of data may be more concerned about the storage capacity of the device. Based on the request analysis, the storage management node determines which devices in which resource groups are most suitable for processing the current request. If the request requires high throughput, then NVMe SSD devices in the "high-performance resource group" will be given priority. After determining the resource group, an intelligent scheduling algorithm is used to select one or more devices from that resource group to process the request. The algorithm may consider the current load of the device, performance parameters, as well as the access pattern and storage requirements of the data to make the best resource allocation decision.

[0124] It should be noted that in a distributed heterogeneous storage system, real-time monitoring and status detection are important mechanisms for maintaining the efficient and stable operation of the system. This mechanism is executed by the storage management node, mainly focusing on the operating status and load conditions of storage devices, so that when a device fails or resources are strained, it can quickly respond, adjust the resource allocation strategy, and thus maintain the continuity and reliability of the system.

[0125] In an alternative embodiment, online status detection can be performed to ensure that all storage devices (including NVMe SSDs and HDDs) are online and capable of receiving and processing data requests. The storage management node confirms the online status of the devices through a periodic heartbeat mechanism or network probing. Once a device is found to be offline, corresponding resource reallocation is triggered.

[0126] The storage management node can also evaluate the health status of the devices by periodically detecting their health metrics, such as error rate, temperature, wear condition, etc. If the health of a device deteriorates, the management node can perform data migration or backup in advance to prevent data loss.

[0127] Performance status monitoring involves the current performance level of the devices, including key performance metrics such as read / write speed, latency, IOPS (input / output operations per second), etc. The storage management node continuously tracks these parameters to ensure that the devices can meet the current performance requirements. If the performance degrades, the management node adjusts the resource allocation, redirecting high-priority or high-load data requests to devices with better performance. In addition to the performance status, the storage management node also needs to monitor the load conditions of the devices, including the utilization of CPU, memory, and storage resources. Through load monitoring, the management node can avoid device overload, balance the load among devices, and improve the overall resource utilization and response speed of the system.

[0128] Example 12: In a heterogeneous storage system containing NVMe SSDs and HDDs, the storage management node continuously monitors the online status, health status, performance status, and load conditions of all storage devices. Assume the following situations exist in the system:

[0129] Device A: NVMe SSD, currently processing a large number of high-throughput read / write requests, with a CPU utilization rate of 80% and a memory utilization rate of 70%, and the performance status is normal.

[0130] Device B: NVMe SSD, with a CPU utilization rate of 30% and a memory utilization rate of 40%, currently having a low load, and the performance status is good.

[0131] Device C: HDD, used to store a large amount of data with low-frequency access, currently having a moderate load.

[0132] If at a certain moment, the storage management node detects that Device A has failed (such as a hardware failure or software error), resulting in its inability to continue processing data requests, considering that Device B has a relatively low current load and a good performance state, the storage management node can reassign high-priority requests originally processed by Device A to Device B. This is achieved by modifying the storage path and adjusting the load balancing strategy to ensure the continuity of data access and the reduction of response time. At the same time, the storage management node initiates a fault recovery plan, which may include automatic data backup, fault diagnosis and repair notification of Device A, and potential data migration to other healthy storage devices.

[0133] Through the above embodiments of the present application, the resource classification and grouping mechanism can quickly and accurately identify and allocate storage devices, ensuring that high-performance devices such as NVMe SSDs focus on processing speed-sensitive applications such as databases and virtualization platforms, while large-capacity devices such as HDDs are responsible for data warehouses and backups, achieving the best matching of resources and maximizing utilization. By optimizing the data transmission path, the intelligent scheduling algorithm can dynamically identify and alleviate network congestion, select network paths with sufficient bandwidth and low latency, significantly reducing the latency of data access and enhancing the experience of users and applications. The storage resource monitoring and dynamic adjustment mechanism enhances the stability and fault tolerance of the system. Even in the face of storage device failures or sudden high loads, it can quickly redirect requests to healthy devices to maintain service continuity. At the same time, the system design fully considers the flexibility of future expansion, and can easily cope with data growth and application upgrades to maintain long-term efficient operation.

[0134] 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.

[0135] The embodiments of the present application also provide a management device for a storage system. Figure 5 It is a structural block diagram of an optional management device for a storage system according to an embodiment of the present application, as Figure 5 shown. The device includes:

[0136] A discovery request sending module 502, configured to send discovery request information to a target storage node, so that the target storage node sends discovery requests to multiple candidate storage devices, where the discovery request information is used to indicate the address information of the candidate storage devices, and the multiple candidate storage devices include different types of storage devices;

[0137] A target storage device determination module 504, configured to select target storage information that meets preset performance requirements from the storage information returned by multiple candidate storage devices, and determine the candidate storage device corresponding to the target storage information as the target storage device, where the storage information is used to indicate the performance information of the candidate storage device;

[0138] A connection establishment request sending module 506, configured to send connection establishment request information to the target storage node, so that a connection relationship is established between the target storage node and the target storage device, where the connection establishment request information is used to indicate the address information of the target storage device.

[0139] Optionally, the discovery request sending module 502 is further configured to: send candidate storage device parameters to the front-end storage cluster, so that the front-end storage cluster generates discovery request information based on the storage device parameters, and send the discovery request information to the target storage node;

[0140] The connection establishment request sending module 506 is further configured to: send target device parameters to the front-end storage cluster, so that the front-end storage cluster generates connection establishment request information based on the target device parameters, and send the connection establishment request information to the target storage node.

[0141] Optionally, sending candidate storage device parameters to the front-end storage cluster, so that the front-end storage cluster generates discovery request information based on the storage device parameters, and send the discovery request information to the target storage node, further includes: sending candidate storage device parameters to the front-end storage cluster, so that the front-end storage cluster sends discovery request information and a first cluster event to the target storage node and a reference storage node, where the reference storage node is used to indicate a storage node in the same front-end storage cluster as the target storage node, and the first cluster event is used to indicate the state of the front-end storage cluster in the discovery stage.

[0142] Optionally, sending target device parameters to the front-end storage cluster, so that the front-end storage cluster generates connection establishment request information based on the target device parameters, and send the connection establishment request information to the target storage node, further includes: sending target storage device parameters and reference storage device parameters to the front-end storage cluster, so that the front-end storage cluster sends connection establishment request information and a second cluster event to the target storage node and a reference storage node, where the connection establishment request information is used to indicate the address information of the target storage device to be connected to the target storage node and the address information of the reference storage device to be connected to the reference storage node, and the second cluster event is used to indicate the state of the front-end storage cluster in the connection establishment stage.

[0143] Optionally, the connection establishment request sending module 506 is further configured to: send connection establishment request information to the target storage node, so that the target storage node partitions the storage area of the target storage device, and formats and sets mounting parameters for the partitioned storage area.

[0144] Optionally, the connection establishment request sending module 506 is further configured to: determine a network topology structure based on the connection relationship between the target storage node and the target storage device and the connection relationship between the reference storage node and the reference storage device, where the network topology structure is used to indicate the network link network of the storage system; determine the load information of the target storage node, the target storage device, the reference storage node, and the reference storage device, where the load information is used to indicate the load conditions of the storage node and the storage device; in the case where the network link has a bandwidth drop or the load information is greater than a preset load threshold, determine that the network link with the bandwidth drop or the storage node and the storage device corresponding to the load information greater than the preset load threshold are storage nodes to be adjusted; the storage nodes to be adjusted determine the storage devices to be adjusted based on the network topology structure and the load information, and connect the storage nodes to be adjusted and the storage devices to be adjusted.

[0145] For the description of the features in the corresponding embodiments of the management device of the storage system, reference may be made to the relevant descriptions in the corresponding embodiments of the management method of the storage system, which will not be elaborated here one by one.

[0146] An embodiment of the present application further provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above embodiments of the management method of the storage system.

[0147] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, where the computer program is configured to execute the steps in any of the above embodiments of the management method of the storage system when running.

[0148] 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.

[0149] 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, it implements the steps in any of the above embodiments of the management method of the storage system.

[0150] 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, it implements the steps in any of the above embodiments of the management method of the storage system.

[0151] 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 to exceed the scope of this application.

[0152] The above has introduced in detail a management method and device, a system, and a storage medium for a storage system provided by this application. Specific examples are used herein to elaborate on the principle and implementation manner 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 management method for a storage system, characterized in that: It includes: Sending discovery request information to a target storage node so that the target storage node sends discovery requests to multiple candidate storage devices, wherein the discovery request information is used to indicate the address information of the candidate storage devices, and the multiple candidate storage devices include different types of storage devices; Selecting target storage information that meets preset performance requirements from the storage information returned by the multiple candidate storage devices, and determining the candidate storage device corresponding to the target storage information as the target storage device, wherein the storage information is used to indicate the performance information of the candidate storage devices; Sending connection establishment request information to the target storage node so that a connection relationship is established between the target storage node and the target storage device, wherein the connection establishment request information is used to indicate the address information of the target storage device.

2. The method according to claim 1, characterized in that: The sending of the discovery request information to the target storage node further includes: Sending candidate storage device parameters to a front-end storage cluster so that the front-end storage cluster generates discovery request information based on the storage device parameters and sends the discovery request information to the target storage node; The sending of the connection establishment request information to the target storage node further includes: Sending target device parameters to the front-end storage cluster so that the front-end storage cluster generates connection establishment request information based on the target device parameters and sends the connection establishment request information to the target storage node.

3. The method according to claim 2, characterized in that: The sending of the candidate storage device parameters to the front-end storage cluster so that the front-end storage cluster generates discovery request information based on the storage device parameters and sends the discovery request information to the target storage node further includes: Sending candidate storage device parameters to the front-end storage cluster so that the front-end storage cluster sends the discovery request information and a first cluster event to the target storage node and a reference storage node, wherein the reference storage node is used to indicate a storage node in the same front-end storage cluster as the target storage node, and the first cluster event is used to indicate the state of the front-end storage cluster in the discovery stage.

4. The method according to claim 2, characterized in that: The sending of the target device parameters to the front-end storage cluster so that the front-end storage cluster generates connection establishment request information based on the target device parameters and sends the connection establishment request information to the target storage node further includes: Sending target storage device parameters and reference storage device parameters to the front-end storage cluster so that the front-end storage cluster sends the connection establishment request information and a second cluster event to the target storage node and a reference storage node, wherein the connection establishment request information is used to indicate the address information of the target storage device to be connected to the target storage node and the address information of the reference storage device to be connected to the reference storage node, and the second cluster event is used to indicate the state of the front-end storage cluster in the connection establishment stage.

5. The method according to any one of claims 1 to 4, characterized in that sending a connection establishment request message to the target storage node to establish a connection relationship between the target storage node and the target storage device, includes: sending a connection establishment request message to the target storage node to cause the target storage node to partition the storage area of the target storage device, and format and set mounting parameters for the partitioned storage area.

6. The method according to claim 5, characterized in that after sending the connection establishment request message to the target storage node, further includes: determining a network topology structure based on the connection relationship between the target storage node and the target storage device and the connection relationship between the reference storage node and the reference storage device, wherein the network topology structure is used to indicate the network link network of the storage system; determining the load information of the target storage node, the target storage device, the reference storage node and the reference storage device, wherein the load information is used to indicate the load conditions of the storage node and the storage device; in the case of a bandwidth drop in the network link or the load information being greater than a preset load threshold, determining the network link with the bandwidth drop or the storage node and the storage device corresponding to the load information greater than the preset load threshold as the storage nodes to be adjusted; the storage nodes to be adjusted determine the storage devices to be adjusted based on the network topology structure and the load information, and connect between the storage nodes to be adjusted and the storage devices to be adjusted.

7. A management system for a storage system, characterized in that includes: a front-end storage cluster, including a target storage node and a reference storage node, the target storage node and the reference storage node being used to process storage requests of application programs; a heterogeneous storage device cluster, including various types of candidate storage devices, the candidate storage devices being used to store data; a data transmission network for connecting the front-end storage cluster and the heterogeneous storage device cluster; a storage management node for executing the method according to any one of claims 1 to 6 above.

8. A management device for a storage system, characterized in that includes: a discovery request sending module for sending a discovery request message to a target storage node to cause the target storage node to send discovery requests to a plurality of candidate storage devices, wherein the discovery request message is used to indicate the address information of the candidate storage devices, and the plurality of candidate storage devices include different types of storage devices; a target storage device determining module for selecting target storage information that meets preset performance requirements from the storage information returned by the plurality of candidate storage devices, and determining the candidate storage device corresponding to the target storage information as the target storage device, wherein the storage information is used to indicate the performance information of the candidate storage devices; a connection establishment request sending module for sending a connection establishment request message to the target storage node to establish a connection relationship between the target storage node and the target storage device, wherein the connection establishment request message is used to indicate the address information of the target storage device.

9. An electronic device, characterized in that, comprising: a memory for storing a computer program; a processor for implementing the steps of the management method of the storage system according to any one of claims 1 to 6 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 management method of the storage system according to any one of claims 1 to 6 when executed by a processor.