Session connection method and apparatus, interaction method and apparatus, device, and medium

By obtaining and updating registration command information and using physical port index information to distinguish session connections, the problem of single-node multi-session connections in multi-controller storage systems is solved, and the iSCSI shared storage performance and disaster recovery capabilities are improved.

WO2025200609A1PCT designated stage Publication Date: 2025-10-02INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
PCT/CN2024/139412
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-29
Filing Date
2024-12-13
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

In the prior art, a storage node in a multi-controller storage system can only establish an independent session connection with one client, resulting in poor iSCSI shared storage performance, inability to further differentiate access connections from different clients, and insufficient disaster recovery capabilities.

Method used

By receiving the registration command information transmitted by the client, obtaining the physical port index information of the target storage node, and updating the registration command information, the cluster storage manager is used to generate a target registration list, establish a multi-session connection between the client and the storage node, and use the physical port index information as an identity to distinguish different sessions.

Benefits of technology

It realizes the session connection between a storage node and multiple clients, improves the iSCSI shared storage performance and disaster recovery capabilities, and optimizes resource utilization and system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024139412_02102025_PF_FP_ABST
    Figure CN2024139412_02102025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers, and provides a session connection method and apparatus, an interaction method and apparatus, a device, and a medium. The method comprises: on the basis of registration command information transmitted by a client, acquiring index information of at least one first physical port to be connected of a target storage node; on the basis of the index information of each first physical port to be connected, updating the registration command information, and sending the updated registration command information to a cluster storage manager; on the basis of a target registration linked list which is transmitted by the cluster storage manager and obtained by performing updating on the basis of the updated registration command information, acquiring index information of at least one second physical port to be connected of the target storage node; and on the basis of the index information of each second physical port to be connected, establishing a multi-session connection between the client and the target storage node. The present application realizes a multi-session connection between a client and a storage node, improves the performance and scalability of a storage system, optimizes the resource utilization, and enhances the system stability.
Need to check novelty before this filing date? Find Prior Art

Description

Session connection method, interaction method, device, equipment and medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on March 29, 2024, with application number 202410371803.1, and application name “Session connection method, interaction method, device, equipment and medium”, all contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of computer technology, and in particular to a session connection method, an interaction method, an apparatus, a device, and a non-volatile readable storage medium. Background Art

[0004] With the rapid development of information technology and the dramatic increase in data volume, storage systems have become a core component of information technology. Among storage sharing technologies, iSCSI (Internet Small Computer System Interface), a storage interface protocol based on IP (Internet Protocol), has been widely used due to its high efficiency and flexibility.

[0005] Currently, storage sharing solutions using the iSCSI-pr (Internet Small Computer System Interface-Persistent Reservation) feature primarily identify initiators and target devices by creating an IQN (iSCSI Qualified Name). An IQN is a unique identifier used to distinguish different iSCSI devices and connections on a network. Its format typically includes a domain name, an organization name, and an optional string to ensure global uniqueness. In actual applications, each node has a unique IQN, which clients use to identify and establish connections with the corresponding node.

[0006] For multi-controller storage systems, although each storage node in the multi-controller storage system has a different IQN, for a single storage node, the current IQN mechanism can only distinguish different storage nodes and cannot further refine and distinguish access connections from different clients. As a result, a storage node can only establish an independent session connection with one client at a time, resulting in poor iSCSI shared storage performance. Summary of the Invention

[0007] The present application provides a session connection method, interaction method, apparatus, device and non-volatile readable storage medium to address the defects in the prior art that a storage node can only establish an independent session connection with one client at a time, resulting in low disaster recovery capability and low iSCSI shared storage performance, thereby effectively establishing a session connection between a storage node and multiple clients and improving iSCSI shared storage performance.

[0008] The present application provides a session connection method, which is applied to an agent of a target storage node, comprising:

[0009] receiving registration command information transmitted by the client, and acquiring index information of at least one first to-be-connected physical port of the target storage node according to the registration command information; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol;

[0010] updating the registration command information according to the index information of each first physical port to be connected, and sending the updated registration command information to the cluster storage manager;

[0011] Receiving a target registration linked list sent by the cluster storage manager, and obtaining index information of at least one second to-be-connected physical port of the target storage node according to the target registration linked list; the target registration linked list is obtained by the cluster storage manager updating registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information;

[0012] A multi-session connection is established between the client and the target storage node according to the index information of each second physical port to be connected.

[0013] According to a session connection method provided by the present application, registration command information is updated according to index information of each first physical port to be connected, including:

[0014] Generate each local wide area port name of the target storage node according to the index information of each first physical port to be connected and the global wide area port name of the target storage node in the registration command information;

[0015] The registration command information is updated according to each local wide area port name.

[0016] According to a session connection method provided by the present application, the local wide area port names of the target storage node are generated according to the index information of each first physical port to be connected and the global wide area port name of the target storage node in the registration command information, including:

[0017] The index information of each first physical port to be connected is concatenated with the global wide area port name to obtain each local wide area port name.

[0018] According to a session connection method provided by the present application, obtaining index information of at least one second to-be-connected physical port of a target storage node according to a target registration linked list includes:

[0019] On the agent side, obtain the first registration information of the target storage node;

[0020] In the target registration linked list, obtain the second registration information of the target storage node;

[0021] Matching the index information of the physical port in the first registration information with the index information of the physical port in the second registration information;

[0022] According to the matching result, the index information of the physical port that does not match the index information of the physical port in the first registration information is obtained from the index information of the multiple first physical ports to be connected in the second registration information as the index information of the second physical port to be connected.

[0023] According to a session connection method provided by the present application, the method further includes:

[0024] Obtaining the global wide area port name of the target storage node from the second registration information;

[0025] Obtain the local wide area port name of the target storage node based on the global wide area port name;

[0026] Obtain target login information based on the local wide area port name;

[0027] According to the target login information, search for the index information of the target physical port;

[0028] Obtain target registration information based on the index information of the target physical port;

[0029] Matching the target registration information with each first registration information;

[0030] If there is first registration information matching the target registration information in the proxy terminal, the matching first registration information is updated according to the target registration information;

[0031] In the case that the first registration information matching the target registration information does not exist in the proxy end of the target storage node, the target registration information is added to the proxy end as the newly added first registration information.

[0032] According to a session connection method provided by the present application, a multi-session connection is established between a client and a target storage node according to index information of each second physical port to be connected, including:

[0033] Acquire connection parameters of each second physical port to be connected according to index information of each second physical port to be connected; the connection parameters include network address, port number and protocol format;

[0034] A session connection is established between the client and each second physical port to be connected according to the connection parameters.

[0035] According to a session connection method provided by the present application, index information of at least one first to-be-connected physical port of a target storage node is obtained according to registration command information, including:

[0036] In the current login information, search for the login information corresponding to the registration command information;

[0037] When the login information corresponding to the registration command information is found, the index information of each first physical port to be connected is found according to the login information corresponding to the registration command information.

[0038] The present application also provides a session connection method, which is applied to a cluster storage manager, comprising:

[0039] receiving updated registration command information sent by the agent of each target storage node; the updated registration command information is obtained by the agent, upon receiving the registration command information transmitted by the client, obtaining index information of at least one first physical port to be connected of each target storage node according to the registration command information, and updating the registration command information according to the index information of each first physical port to be connected; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol;

[0040] According to the updated registration command information, the registration information in the registration linked list stored by the cluster storage manager is updated to obtain the target registration linked list;

[0041] The target registration list is sent to the agent end so that the agent end can obtain the index information of at least one second physical port to be connected of each target storage node according to the target registration list, and establish a multi-session connection between the client and each target storage node according to the index information of each second physical port to be connected.

[0042] According to a session connection method provided by the present application, registration information in a registration linked list stored by a cluster storage manager is updated according to updated registration command information to obtain a target registration linked list, including:

[0043] Get the status of each target storage node;

[0044] Obtain target registration command information based on the status of each target storage node and the updated registration command information;

[0045] According to the identity identifier in the target registration command information, search the registration information matching the target registration command information in the registration chain table;

[0046] When matching registration information is found, the matching registration information is updated according to the target registration command information;

[0047] In the case that no matching registration information is found, the registration information corresponding to the target registration command information is registered and generated in the registration chain table.

[0048] According to a session connection method provided by the present application, target registration command information is obtained according to the status of each target storage node and the updated registration command information, including:

[0049] When the states of the multiple target storage nodes are all normal, obtaining target registration command information according to the updated registration command information;

[0050] In the case that a faulty node exists among the multiple target storage nodes, the updated registration command information is adjusted, and the target registration command information is obtained according to the adjustment result.

[0051] According to a session connection method provided by the present application, adjusting updated registration command information includes:

[0052] According to the updated registration command information, the backup node corresponding to the failed node, as well as the node position and virtual port index of the backup node are obtained;

[0053] Perform the following adjustments to the updated registration command information:

[0054] updating the node position of the faulty node in the updated registration command information according to the node position of the standby node;

[0055] Update the virtual port index of the faulty node in the updated registration command information according to the virtual port index of the standby node;

[0056] The failover identifier of the failed node in the updated registration command information is updated.

[0057] According to a session connection method provided by the present application, obtaining target registration command information according to the adjustment result includes:

[0058] When it is determined that the updated registration command information is adjusted according to the adjustment result, determining whether the faulty node has returned to a normal state;

[0059] In the case that the faulty node has not recovered to a normal state, the adjusted registration command information is used as the target registration command information;

[0060] When the faulty node returns to a normal state, the adjusted registration command information is restored to obtain the target registration command information.

[0061] According to a session connection method provided by the present application, information recovery is performed on the adjusted registration command information to obtain target registration command information, including:

[0062] Restoring the node position updated in the adjusted registration command information to the node position of the failed node that has returned to a normal state;

[0063] Restoring the updated virtual port index in the adjusted registration command information to the virtual port index of the failed node that has returned to normal status;

[0064] When it is determined that the Internet port of the faulty node that has recovered to a normal state has drifted back, the failover identifier of the faulty node that has recovered to a normal state in the updated registration command information is restored to an initial state.

[0065] This application also provides an interactive method, applied to a cluster storage manager, comprising:

[0066] Get the input and output sequence data sent by the client;

[0067] Slice the input and output sequence data to obtain multiple input and output sub-segment data;

[0068] The plurality of input and output sub-segment data are transmitted to the target storage node through the session queue pool corresponding to the multi-session connection established between the client and the target storage node, so that the target storage node can reassemble the plurality of input and output sub-segment data to obtain input and output sequence data;

[0069] The multi-session connection is established based on any one of the above-mentioned session connection methods.

[0070] According to an interactive method provided by the present application, input and output sequence data are sliced ​​to obtain multiple input and output sub-segment data, including:

[0071] Obtain configuration parameters and business data from input and output sequence data;

[0072] Slice business data into multiple sub-segment business data;

[0073] According to the configuration parameters and the business data of each sub-segment, the input and output sub-segment data are obtained.

[0074] According to an interactive method provided by the present application, multiple input and output sub-segment data are transmitted to a target storage node through a session queue pool corresponding to a multi-session connection established between a client and the target storage node, including:

[0075] Extracting a first preset number of input and output sub-segment data from the plurality of input and output sub-segment data to obtain a plurality of first sub-segment data;

[0076] Polling each first sub-segment data into a session queue pool, and obtaining a first processing speed and a first waiting time corresponding to each session queue in the session queue pool; the first processing speed and the first waiting time are the processing speed and the waiting time formed when each session queue transmits the first sub-segment data;

[0077] Obtaining a performance score for each session queue according to the first processing speed and the first waiting time;

[0078] Based on the performance score, the session queue pool is divided into the primary session queue pool and the backup session queue pool;

[0079] Extracting input and output sub-segment data other than the first sub-segment data from the plurality of input and output sub-segment data to obtain a plurality of second sub-segment data;

[0080] The plurality of second sub-segment data are transmitted to the target storage node through the main session queue pool.

[0081] According to an interactive method provided by the present application, a plurality of second sub-segment data are transmitted to a target storage node through a main session queue pool, including:

[0082] Extracting a second preset number of sub-segment data from the plurality of second sub-segment data to obtain a plurality of third sub-segment data;

[0083] Polling multiple third sub-segment data into a main session queue pool, and obtaining a second processing speed and a second waiting time corresponding to each session queue in the main session queue pool; the second processing speed and the second waiting time are the processing speed and the waiting time formed when each session queue transmits the third sub-segment data;

[0084] reslicing the sub-segment data except the third sub-segment data among the plurality of second sub-segment data according to the second processing speed and the second waiting time to obtain a plurality of new second sub-segment data;

[0085] The operations of polling and inputting the data into the main session queue pool and reslicing are iteratively performed on the multiple new second sub-segment data until it is known that all sub-segment data of the input and output sequence data are transmitted to the target storage node.

[0086] According to an interactive method provided by the present application, sub-segment data other than the third sub-segment data in the plurality of second sub-segment data are re-sliced ​​according to a second processing speed and a second waiting time to obtain a plurality of new second sub-segment data, including:

[0087] When the second processing speed of at least one session queue is lower than the theoretical processing speed, and / or the second waiting time of at least one session queue is higher than the theoretical waiting time, increasing a slice length value in an initial slicing strategy corresponding to the input and output sequence data to obtain a first slicing strategy, and re-slicing the sub-segment data except the third sub-segment data according to the first slicing strategy to obtain a plurality of new second sub-segment data;

[0088] When the second processing speed of at least one session queue is less than the theoretical processing speed and the second waiting time of at least one session queue is less than the theoretical waiting time, the slice length value in the initial slicing strategy is reduced to obtain a second slicing strategy, and according to the second slicing strategy, the sub-segment data except the third sub-segment data are re-sliced ​​to obtain multiple new second sub-segment data.

[0089] According to an interactive method provided by the present application, multiple input and output sub-segment data are transmitted to a target storage node through a session queue pool corresponding to a multi-session connection established between a client and the target storage node, including:

[0090] The session queue pool is divided into a primary session queue pool and a backup session queue pool according to the security index value corresponding to the input and output sequence data;

[0091] Transmit multiple input and output sub-segment data to the target storage node through the main session queue pool.

[0092] The present application also provides a session connection device, which is applied to an agent end of a target storage node, comprising:

[0093] The first information processing unit is configured to receive registration command information transmitted by the client and obtain index information of at least one first to-be-connected physical port of the target storage node according to the registration command information; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol;

[0094] a first information updating unit configured to update the registration command information according to the index information of each first physical port to be connected, and send the updated registration command information to the cluster storage manager;

[0095] The second information processing unit is configured to receive a target registration linked list sent by the cluster storage manager, and obtain index information of at least one second to-be-connected physical port of the target storage node according to the target registration linked list; the target registration linked list is obtained by the cluster storage manager updating registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information;

[0096] The session connection unit is configured to establish a multi-session connection between the client and the target storage node according to the index information of each second physical port to be connected.

[0097] The present application also provides a session connection device, which is applied to a cluster storage manager, comprising:

[0098] The receiving unit is configured to receive updated registration command information sent by the agent of each target storage node; the updated registration command information is obtained by the agent, upon receiving the registration command information transmitted by the client, obtaining index information of at least one first physical port to be connected of each target storage node according to the registration command information, and updating the registration command information according to the index information of each first physical port to be connected; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol;

[0099] The second information updating unit is configured to update the registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information to obtain a target registration linked list;

[0100] The sending unit is configured to send the target registration list to the agent end, so that the agent end can obtain the index information of at least one second physical port to be connected of each target storage node according to the target registration list, and establish a multi-session connection between the client and each target storage node according to the index information of each second physical port to be connected.

[0101] The present application also provides an interactive device, applied to a cluster storage manager, comprising:

[0102] a third information processing unit, configured to obtain input and output sequence data sent by the client;

[0103] a slicing unit configured to slice the input and output sequence data to obtain a plurality of input and output sub-segment data;

[0104] a transmission unit configured to transmit the plurality of input and output sub-segment data to the target storage node via a session queue pool corresponding to a multi-session connection established between the client and the target storage node, so that the target storage node reassembles the plurality of input and output sub-segment data to obtain input and output sequence data;

[0105] The multi-session connection is established based on any one of the above-mentioned session connection methods.

[0106] The present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements any of the above-mentioned session connection methods or interaction methods.

[0107] The present application also provides a non-volatile readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the above-mentioned session connection methods or interaction methods.

[0108] The present application also provides a computer program product, including a computer program, which implements any of the above-mentioned session connection methods or interaction methods when executed by a processor.

[0109] The session connection method, interaction method, apparatus, device and non-volatile readable storage medium provided in the present application, the agent side receives and processes the registration command information transmitted by the client to obtain the index information of the physical port to be connected of the target storage node, and updates the registration command information accordingly, and finally works in collaboration with the cluster storage manager based on the updated registration command information to establish a multi-session connection, and uses the actual physical port index information as an identity identifier to distinguish different session identifiers required to establish the registration command, thereby realizing multi-session connection between the client and the storage node, which not only improves the performance and scalability of the storage system, but also optimizes resource utilization and enhances system stability. BRIEF DESCRIPTION OF THE DRAWINGS

[0110] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0111] FIG1 is a flow chart of a session connection method provided by the present application;

[0112] FIG2 is a schematic diagram of the structure of the dual control system provided by the present application;

[0113] FIG3 is a second structural diagram of the dual control system provided by the present application;

[0114] FIG4 is a second flow chart of the session connection method provided by the present application;

[0115] FIG5 is a third flow chart of the session connection method provided by the present application;

[0116] FIG6 is a flow chart of the interactive method provided by the present application;

[0117] FIG7 is a structural diagram of a session connection device provided by the present application;

[0118] FIG8 is a second structural diagram of the session connection device provided by the present application;

[0119] FIG9 is a schematic structural diagram of an interactive device provided by the present application;

[0120] FIG10 is a schematic structural diagram of the electronic device provided in this application. DETAILED DESCRIPTION

[0121] To make the objectives, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments of this application, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of this application.

[0122] iSCSI is a storage technology based on the Internet Protocol and the SCSI-3 protocol. It is a standard for data block transmission on the Internet Protocol, especially Ethernet. It is a new storage technology based on IP Storage (network storage) theory. This technology combines the SCSI interface widely used in the storage industry with IP network technology to build a SAN (Storage Area Network) on the IP network. Simply put, iSCSI is a network storage technology that runs the iSCSI protocol on the old IP network.

[0123] iSCSI-pr can effectively implement storage sharing by creating an IQN to identify the initiator and target, then establishing a TPG (Target Portal Group) to set the corresponding access control permissions, then adding a LUN (Logical Unit Number) (such as a storage device) to the shared storage group, and then establishing a port (such as an IP port) to implement shared storage.

[0124] The IQN format can be expressed as:

[0125] iqn.YYYY-MM.com.reversed.domain[:optional_string];

[0126] Among them, "iqn:" indicates that this name uses the domain as the identifier; "YYYY-MM" indicates the year and month when the domain name is owned; "com.reversed.domai:" indicates the reverse domain name that owns this iSCSI organization; ":optional_sting" is an optional string prefixed by a colon, which is globally unique and assigned by the domain owner.

[0127] For example, in a dual-controller system, the IQN of storage node 1 is {iqn.2004-12.inspur:mcs.dbdw.node1}; the IQN of storage node 2 is {iqn.2004-12.inspur:mcs.dbdw.node2}. Clients can distinguish different storage nodes by IQN. Clients can only establish sessions with different storage nodes in a dual-controller system. iSCSI storage mappings between clients and different storage nodes are provided to the client environment in the form of LUNs.

[0128] However, due to the limitations of the iSCSI-3 protocol, due to the lack of a unique identifier for the Initartor-Target (initiator / initiator-target) relationship, single-controller multi-session mode is not supported, and the multi-session function cannot be supported for upper-layer applications, that is, one storage node cannot connect to multiple clients. As in the above example, the two storage nodes of the dual-control system correspond to two IQNs respectively, but for one storage node, it is impossible to further refine and distinguish the access connections of different clients through IQN, resulting in a storage node being able to establish an independent session connection with only one client at a time, that is, a storage node can only support one client to establish iSCSI shared storage, without the port redundancy capability of iSCSI shared storage, and there is no way to further improve the performance of iSCSI shared storage, resulting in reduced disaster recovery capabilities and poor iSCSI shared storage performance.

[0129] Therefore, in order to solve the above problems, this embodiment provides a session connection method to achieve further refinement of a storage node according to the connections of different clients, so that a storage node can establish iSCSI shared storage connections for multiple clients, that is, to achieve parallel session connections between a single controller and multiple clients, so as to significantly improve the disaster recovery capability and performance limit of iSCSI shared storage and meet the growing data storage and access needs.

[0130] Figure 1 is one of the flow charts of the session connection method provided in the present application; the method is applied to a dual-control system or a multi-control system; Figure 2 is one of the structural schematics of the dual-control system provided in the present application; Figure 3 is the second structural schematic of the dual-control system provided in the present application; as shown in Figures 2 and 3, the dual-control system includes a client system, a server system, and a storage system, and the server system and the storage system can be connected through a single-segment Ethernet communication or through a multi-segment Ethernet communication; the server system includes multiple servers, such as server 1, server 2 and server 3; the storage system includes a CSM (Clustered Storage Manager) and two storage nodes, namely storage node 1 and storage node 2.

[0131] As shown in Figure 1, the method uses one or more target storage node agents as the execution subject to implement session connection. The following description is based on the agent of one target storage node as the execution subject. The method includes:

[0132] Step 110: Receive registration command information transmitted by the client, and obtain index information of at least one first to-be-connected physical port of the target storage node according to the registration command information; the registration command information is generated according to a persistent reservation instruction of the small computer system interface protocol;

[0133] Here, the registration command information can be generated by the client through an iSCSI-pr (Internet Small Computer System Interface-Persistent Reservation) instruction and is used to access the storage node. The so-called pr is a mechanism for locking a device using a persistent reservation lock.

[0134] Optionally, a physical connection is established between the target storage node and the client via iSCSI; the agent of the target storage node receives registration command information (or iSCSI-pr command) generated by the client via the iSCSI-pr instruction via the server in real time.

[0135] After receiving the iSCSI-pr command, the proxy can obtain index information of at least one first physical port to be connected to the target storage node based on the registration command information. The index information of the first physical port to be connected is the index information (also called pport or platform port index) of the physical port corresponding to the registration command information and required to establish a session connection with the client.

[0136] The obtaining step here may be to search and obtain the index information of the first physical port to be connected according to the login information corresponding to the registration command information.

[0137] In some optional embodiments, the step of obtaining index information of at least one first to-be-connected physical port of the target storage node includes:

[0138] In the current login information, search for the login information corresponding to the registration command information;

[0139] When the login information corresponding to the registration command information is found, the index information of each first physical port to be connected is found according to the login information corresponding to the registration command information.

[0140] Optionally, the step of obtaining index information of the first physical port to be connected in step 110 includes:

[0141] In the current login information of the agent, the login information corresponding to the registration command information is searched; if the login information corresponding to the registration command information is not found, it indicates that the agent cannot identify the physical port configuration information of the target storage node. At this time, the agent can only establish an independent session connection with the client according to the global wide area port name of the target storage node. If the login information corresponding to the registration command information is found, it indicates that the agent can identify the physical port configuration information of the target storage node; at this time, the index information of each first physical port to be connected can be obtained based on the physical port configuration information of the target storage node in the login information corresponding to the registration command information, so as to subsequently establish a multi-session connection with the client based on the index information of each first physical port to be connected.

[0142] The method provided in this embodiment, by performing an associated query on physical port index information through login information, can more efficiently manage and allocate physical port resources, avoid duplicate occupation and waste of resources, and thus improve the overall operating efficiency of the system.

[0143] Step 120: updating the registration command information according to the index information of each first physical port to be connected, and sending the updated registration command information to the cluster storage manager;

[0144] Optionally, after obtaining the index information of the first physical port to be connected, the registration command information can be updated to update the index information configuration of the first physical port to be connected to the registration command information, and the updated registration command information is sent to the cluster storage manager in the form of a base event, so that the cluster storage manager can obtain the index information of the physical port internally. When comparing the identities of all subsequent iSCSI-pr commands, the comparison can be based on the index information of the physical port, thereby facilitating the distinction between different sessions based on the index information of the physical port, achieving the purpose of distinguishing different iSCSI-pr commands, and further realizing the establishment of multiple sessions.

[0145] Here, updating the registration command information may be directly filling the index information of the first physical port to be connected into the registration command information, or may be processing the index information of the first physical port to be connected and then filling it into the registration command information.

[0146] In some optional embodiments, the step of updating the registration command information includes:

[0147] Generate each local wide area port name of the target storage node according to the index information of each first physical port to be connected and the global wide area port name of the target storage node in the registration command information;

[0148] The registration command information is updated according to each local wide area port name.

[0149] The registration command information here includes but is not limited to gwwpn (Global World Wide Port Name), node identifier (or node id), and virtual port type index (or io_port_type_index).

[0150] The so-called gwwpn is used by the CSM and corresponds to each IQN. The so-called lwwpn (Local Worldwide Port Name) is used by the agent and corresponds to each session.

[0151] Optionally, the step of updating the registration command information includes:

[0152] First, the registration command information is parsed to obtain the gwwpn therefrom; the index information of each first physical port to be connected and the gwwpn are combined to generate a corresponding lwwpn; the so-called combination can be splicing, combined coding, etc.

[0153] In some implementations, the step of generating the local wide area port name includes:

[0154] The index information of each first physical port to be connected is concatenated with the global wide area port name to obtain each local wide area port name.

[0155] Optionally, the index information of the first physical port to be connected may be concatenated to gwwpn to obtain the corresponding lwwpn.

[0156] Subsequently, after obtaining each lwwpn, the lwwpn may be converted into a gwwpn format and then filled into the registration command information to update the registration command information.

[0157] The method provided in this embodiment combines the index information of the first physical port to be connected with the global wide area port name and updates the registration command information accordingly, so that the index information of the physical port can be subsequently identified based on the lwwpn in the updated registration command information to distinguish different sessions, thereby more efficiently establishing a multi-session connection.

[0158] Step 130: Receive a target registration linked list sent by the cluster storage manager, and obtain index information of at least one second to-be-connected physical port of the target storage node based on the target registration linked list; the target registration linked list is obtained by the cluster storage manager updating registration information in the registration linked list stored by the cluster storage manager based on updated registration command information;

[0159] Optionally, after the updated registration command information is sent to the cluster storage manager, a target registration linked list returned by the cluster storage manager based on the updated registration command information can be received in real time. The target registration linked list is obtained by the cluster storage manager updating the registration information in the registration linked list stored by the cluster storage manager based on the updated registration command information. The update can be performed by directly searching the registration linked list for matching registration information based on the identity identifier in the updated registration command information, updating the matching registration information based on the updated registration command information, and, if no matching registration information is found, registering the registration information corresponding to the updated registration command information in the registration linked list. Alternatively, the updated registration command information can be adjusted based on the state of the target storage node, and then searching the registration linked list for matching registration information based on the identity identifier in the adjusted registration command information, updating the matching registration information based on the adjusted registration command information, and, if no matching registration information is found, registering the registration information corresponding to the adjusted registration command information in the registration linked list.

[0160] Subsequently, the first registration information of the target storage node stored on the proxy end and the second registration information of the target storage node in the target registration linked list are compared to obtain the physical port to be connected that has not established a session with the client as the second physical port to be connected among multiple first physical ports to be connected, and obtain the index information of the second physical port to be connected, so as to subsequently establish the remaining multi-session connections based on the index information of each second physical port to be connected.

[0161] In some optional embodiments, the step of determining index information of the second physical port to be connected includes:

[0162] On the agent side, obtain the first registration information of the target storage node;

[0163] In the target registration linked list, obtain the second registration information of the target storage node;

[0164] Matching the index information of the physical port in the first registration information with the index information of the physical port in the second registration information;

[0165] According to the matching result, the index information of the physical port that does not match the index information of the physical port in the first registration information is obtained from the index information of the multiple first physical ports to be connected in the second registration information as the index information of the second physical port to be connected.

[0166] Optionally, in the registration linked list stored on the proxy side, the first registration information of the target storage node is obtained; in the target registration linked list, the second registration information of the target storage node is obtained; the index information of the physical port in the first registration information is matched with the index information of the physical port in the second registration information to obtain the index information of the multiple first physical ports to be connected in the second registration information, and the index information of the physical port that does not match the index information of the physical port in the first registration information, that is, the index information of the physical port that has not established a session with the client, as the index information of the second physical port to be connected.

[0167] The method provided in this embodiment matches the physical port index information in the first registration information and the second registration information, and selects a suitable physical port to establish a connection, which helps to achieve dynamic load balancing and improve the overall performance and efficiency of the session connection.

[0168] Step 140: Establish a multi-session connection between the client and the target storage node according to the index information of each second physical port to be connected.

[0169] Optionally, after obtaining the index information of the second physical port to be connected that has not established a session connection with the client, the agent can initiate a session connection request to the target storage node through the corresponding protocol and mechanism for the index information of each second physical port to be connected to establish multiple session connections.

[0170] In some optional embodiments, the step of establishing a multi-session connection in step 140 includes:

[0171] Acquire connection parameters of each second physical port to be connected according to index information of each second physical port to be connected; the connection parameters include network address, port number and protocol format;

[0172] A session connection is established between the client and each second physical port to be connected according to the connection parameters.

[0173] Optionally, after obtaining the index information of each second physical port to be connected, the connection parameters of each second physical port to be connected are obtained according to the index information association of each second physical port to be connected, so as to establish a session connection between the client and each second physical port to be connected based on the network address, port number and protocol format, and return the connection status to the client, thereby realizing multi-session connection.

[0174] In the method provided in this embodiment, the agent receives and processes the registration command information transmitted by the client to obtain the index information of the physical port to be connected to the target storage node, and updates the registration command information accordingly. Finally, based on the updated registration command information, the agent works in collaboration with the cluster storage manager to establish a multi-session connection. The index information of the actual physical port is used as an identity identifier to distinguish different session identifiers required to establish the registration command, thereby realizing a multi-session connection between the client and the storage node, which not only improves the performance and scalability of the storage system, but also optimizes resource utilization and enhances system stability.

[0175] In some optional embodiments, after receiving the target registration linked list sent by the cluster storage manager, the method further includes:

[0176] Obtaining the global wide area port name of the target storage node from the second registration information;

[0177] Obtain the local wide area port name of the target storage node based on the global wide area port name;

[0178] Obtain target login information based on the local wide area port name;

[0179] According to the target login information, search for the index information of the target physical port;

[0180] Obtain target registration information based on the index information of the target physical port;

[0181] Matching the target registration information with each first registration information;

[0182] If there is first registration information matching the target registration information in the proxy terminal, the matching first registration information is updated according to the target registration information;

[0183] In the case that the first registration information matching the target registration information does not exist in the proxy end of the target storage node, the target registration information is added to the proxy end as the newly added first registration information.

[0184] Optionally, after receiving the target registration linked list sent by the cluster storage manager, the agent can also obtain second registration information of the target storage node from the target registration linked list sent by the cluster storage manager, parse the second registration information to obtain the gwwpn of the target storage node, and convert the gwwpn to obtain at least one lwwpn of the target storage node. Each lwwpn corresponds to one session identifier. If there are multiple sessions, the number of lwwpns is also multiple.

[0185] Then, based on the obtained lwwpn, the corresponding target login information (or login) is searched; after finding the corresponding target login information, the corresponding target platform port index can be searched through the target login information; among them, the platform port index that is the same is the login of the current pr command. Therefore, the corresponding target registration information can be obtained by matching the target platform port index. If the target registration information is matched, the corresponding lwwpn is obtained by parsing the target registration information, and according to the lwwpn, the target registration information is matched with each first registration information stored in the agent. If there is a first registration information that matches the target registration information, it indicates that the identity information corresponding to the target registration information already exists in the registration chain list of the agent. At this time, the matching first registration information can be updated according to the target registration information; if there is no first registration information that matches the target registration information, it indicates that the identity information corresponding to the target registration information does not exist in the registration chain list of the agent. At this time, the target registration information needs to be added to the agent as the newly added first registration information.

[0186] The method provided in this embodiment uses the platform port index to identify different sessions on the same controller. In the interaction between the CSM and the agent, the login and the platform port index are converted to distinguish the lwwpn on different logins, so as to achieve the purpose of converting between gwwpn and multiple lwwpn. When the UA (User Agent) needs to be set, the current login can be found through the platform port index and lwwpn to set the UA. It also effectively realizes the synchronous update of the registration list of the CSM and the agent to dynamically manage the registration list of the storage node, avoid the establishment of duplicate or conflicting sessions, and thus optimize the multi-session performance.

[0187] FIG4 is a second flow chart of the session connection method provided by the present application. This method can also be applied to a dual-controller system or a multi-controller system. The session connection method is implemented by a cluster storage manager that centrally manages multiple storage nodes. As shown in FIG4 , the method includes:

[0188] Step 410: Receive updated registration command information sent by the agent of each target storage node; the updated registration command information is obtained by the agent, upon receiving the registration command information transmitted by the client, obtaining index information of at least one first physical port to be connected of each target storage node based on the registration command information, and updating the registration command information based on the index information of each first physical port to be connected; the registration command information is generated according to a persistent reservation instruction of the small computer system interface protocol;

[0189] Optionally, the cluster storage manager may be a real-time receiver of updated registration command information sent by the agent of each target storage node via a base event. The updated registration command information here may be obtained by the agent obtaining index information of at least one first physical port to be connected of each target storage node based on the registration command information transmitted by the client, and updating based on the index information of the first physical port to be connected. For implementation steps, refer to the session connection method executed by the agent of the target storage node, such as steps 110-120 shown in FIG1 for updating the registration command information, which will not be repeated here.

[0190] Step 420: Update the registration information in the registration list stored by the cluster storage manager according to the updated registration command information to obtain a target registration list;

[0191] Optionally, after obtaining the updated registration command information, the registration information of each target storage node in the registration linked list stored by the cluster storage manager may be updated according to the updated registration command information to obtain a target registration linked list.

[0192] The update here can be directly based on the identity identifier in the updated registration command information, and the registration information matching it is searched in the registration linked list to update the matching registration information according to the updated registration command information, and when no matching registration information is found, the registration information corresponding to the updated registration command information is registered in the registration linked list; it can also be based on the status of the target storage node to adjust the updated registration command information, and then based on the identity identifier in the adjusted registration command information, the registration information matching it is searched in the registration linked list to update the matching registration information according to the adjusted registration command information, and when no matching registration information is found, the registration information corresponding to the adjusted registration command information is registered in the registration linked list.

[0193] In step 430, the target registration list is sent to the proxy end, so that the proxy end can obtain the index information of at least one second physical port to be connected of each target storage node according to the target registration list, and establish a multi-session connection between the client and each target storage node according to the index information of each second physical port to be connected.

[0194] Optionally, after obtaining the target registration list, it can be passed to each agent end through a call gate, so that each agent end compares the first registration information of the target storage node stored on the agent end and the second registration information of the target storage node stored in the target registration list, so as to obtain the physical port to be connected that has not established a session with the client as the second physical port to be connected among multiple first physical ports to be connected, and obtain the index information of the second physical port to be connected, so as to establish a multi-session connection between the target storage node and the client based on the index information of each second physical port to be connected. The implementation steps can refer to the session connection method executed by the agent end of the target storage node provided in the above embodiments, such as referring to steps 130-140 shown in Figure 1 for multi-session establishment, which will not be repeated here.

[0195] The method provided in this embodiment is that the cluster storage manager receives and processes the updated registration command information formed by the index information of at least one first physical port to be connected of each target storage node obtained based on the registration command information transmitted by the client through the agent end of each target storage node, and updates the registration linked list based on the updated registration command information, so as to cooperate with the agent end of each target storage node based on the updated target registration linked list to establish a multi-session connection, and uses the index information of the actual physical port as an identity identifier to distinguish different session identifiers required to establish the registration command, thereby realizing multi-session connection between the client and the storage node, which not only improves the performance and scalability of the storage system, but also optimizes resource utilization and enhances system stability.

[0196] In some optional embodiments, the step of updating and obtaining the target registration list in step 420 includes:

[0197] Get the status of each target storage node;

[0198] Obtain target registration command information based on the status of each target storage node and the updated registration command information;

[0199] According to the identity identifier in the target registration command information, search the registration information matching the target registration command information in the registration chain table;

[0200] When matching registration information is found, the matching registration information is updated according to the target registration command information;

[0201] In the case that no matching registration information is found, the registration information corresponding to the target registration command information is registered and generated in the registration chain table.

[0202] Optionally, each target storage node is monitored to obtain a status of each target storage node; the status includes a normal state or an abnormal state.

[0203] Subsequently, based on the status of each target storage node, it is determined whether the updated registration command information needs to be adjusted again; when it is determined based on the judgment result that adjustment is required, the updated registration command information is adjusted again based on the status of the target storage node to obtain the target registration command information; when it is determined based on the judgment result that adjustment is not required, the updated registration command information is directly used as the target registration command information.

[0204] Subsequently, based on the identity identifier in the target registration command information, the registration information that matches the target registration command information is searched in the registration linked list to determine whether the registration information corresponding to the target registration command information exists in the registration linked list; the so-called identity identifier includes but is not limited to gwwpn, node id, io port type (input and output port type) and platform port index.

[0205] When matching registration information is found, the matching registration information in the registration chain table is updated according to the target registration command information. When no matching registration information is found, the registration information corresponding to the target registration command information is generated in the registration chain table.

[0206] The method provided in this embodiment can accurately determine the target registration command information according to the node status and the updated registration command information, so that the success rate of establishing multiple sessions based on the target registration command information can be improved and the influence of faulty nodes can be avoided.

[0207] In some optional embodiments, the step of obtaining target registration command information further includes:

[0208] When the states of the multiple target storage nodes are all normal, obtaining target registration command information according to the updated registration command information;

[0209] In the case that a faulty node exists among the multiple target storage nodes, the updated registration command information is adjusted, and the target registration command information is obtained according to the adjustment result.

[0210] Optionally, when it is determined based on the status of each target storage node that the status of multiple target storage nodes are all normal, the target storage nodes required to establish multi-session connections with the client in the updated registration command information are all in normal status, and the reliability of multi-session establishment can be guaranteed based on the updated registration command information. Therefore, the updated registration command information can be directly used as the target registration command information to establish multi-sessions; when it is determined based on the status of each target storage node that there is a faulty node in a faulty state among the multiple target storage nodes, the target storage nodes required to establish multi-session connections with the client in the updated registration command information include a faulty node in an abnormal state. In this scenario, the client cannot establish a session connection with the faulty node. Therefore, it is necessary to adjust the configuration information of the faulty node in the updated registration command information so that the target registration command information formed based on the adjustment result only includes the configuration information of the normal node, thereby ensuring the reliability of multi-session establishment.

[0211] The so-called implementation method of forming the target registration command information based on the adjustment result includes directly using the adjusted registration command information as the target registration command information; or monitoring the status of the faulty node again to adjust the adjusted registration command information again according to the status of the faulty node to form the target registration command information.

[0212] In some optional embodiments, the step of adjusting the updated registration command information includes:

[0213] According to the updated registration command information, the backup node corresponding to the failed node, as well as the node position and virtual port index of the backup node are obtained;

[0214] Perform the following adjustments to the updated registration command information:

[0215] updating the node position of the faulty node in the updated registration command information according to the node position of the standby node;

[0216] Update the virtual port index of the faulty node in the updated registration command information according to the virtual port index of the standby node;

[0217] The failover identifier of the failed node in the updated registration command information is updated.

[0218] Optionally, the adjusting step includes:

[0219] First, when there is a faulty node, since the IP port of the faulty node drifts, it is necessary to associate and obtain the backup node corresponding to the faulty node, as well as the node position and virtual port index (or io_port_type_index) of the backup node based on the configuration information of the faulty node in the updated registration command information.

[0220] Subsequently, the node position of the faulty node in the updated registration command information is updated based on the node position of the standby node. The virtual port index of the faulty node in the updated registration command information is also updated based on the virtual port index of the standby node. For example, if the virtual port index of the faulty node is even and the virtual port index of the standby node is odd, the virtual port index of the faulty node in the updated registration command information is changed from even to odd, i.e., the virtual port index is updated by taking the modulo 2 of io_port_type_inde. Furthermore, the failover flag (also known as failover flag) of the faulty node in the updated registration command information is updated to the faulty state.

[0221] The method provided in this embodiment adjusts the updated registration command information according to the node status so that the adjusted target registration command information only includes the configuration information of normal nodes, thereby ensuring the reliability of multi-session establishment.

[0222] In some optional embodiments, the step of obtaining target registration command information includes:

[0223] When it is determined that the updated registration command information is adjusted according to the adjustment result, determining whether the faulty node has returned to a normal state;

[0224] In the case that the faulty node has not recovered to a normal state, the adjusted registration command information is used as the target registration command information;

[0225] When the faulty node returns to a normal state, the adjusted registration command information is restored to obtain the target registration command information.

[0226] Optionally, when it is determined based on the adjustment result that the adjustment of the updated registration command information is completed, the status of the faulty node is monitored again to determine whether the faulty node has returned to normal; when the faulty node still has not returned to normal, the adjusted registration command information is used as the target registration command information to participate in the subsequent multi-session establishment; when the faulty node returns to normal, the adjusted registration command information is restored based on the configuration information of the faulty node, so that the restored registration command information is used as the target registration command information to participate in the subsequent multi-session establishment.

[0227] The method provided in this embodiment monitors the status of each node in real time and promptly recovers the registration command information based on the recovery status of the faulty node, so that the restored faulty node can participate in the establishment of multiple sessions in a timely manner, thereby ensuring that the interruption or delay caused by the node failure is reduced while improving the stability and availability of the multi-session establishment.

[0228] In some optional embodiments, the step of restoring the registration command information includes:

[0229] Restoring the node position updated in the adjusted registration command information to the node position of the failed node that has returned to a normal state;

[0230] Restoring the updated virtual port index in the adjusted registration command information to the virtual port index of the failed node that has returned to normal status;

[0231] When it is determined that the Internet port of the faulty node that has recovered to a normal state has drifted back, the failover identifier of the faulty node that has recovered to a normal state in the updated registration command information is restored to an initial state.

[0232] Optionally, when the failed node returns to normal, the node location information and virtual port index are restored first. When the IP port returns to normal, the failover flag is restored. The following steps can be performed to restore the registration command information:

[0233] Based on the node position updated in the adjusted registration command information, the node position of the faulty node that has been restored to the normal state is restored, and the virtual port index updated in the adjusted registration command information is restored to the virtual port index of the faulty node that has been restored to the normal state; after the configuration information of the faulty node that has been restored to the normal state is restored, it is determined whether the IP port of the faulty node that has been restored to the normal state has drifted back; in the case of the IP port drifting back, the failover identifier of the faulty node that has been restored to the normal state in the updated registration command information is restored to the initial state, that is, restored to the normal state.

[0234] The method provided in this embodiment is that when the faulty node returns to normal, the node location information and virtual port index are restored first, and when the IP port drifts back, the failover flag is restored, thereby ensuring the reliability of the recovery process and further improving the reliability of multi-session establishment.

[0235] The following describes the session connection method provided by this embodiment in detail with reference to optional examples. FIG5 is a flow chart of the session connection method provided by this application; as shown in FIG5 , the method includes:

[0236] Step 1) The client establishes an iSCSI physical connection with the storage node;

[0237] Step 2) The client issues an iSCSI-pr command to access the storage node;

[0238] Step 3), the proxy end (or agent end) of the storage node receives the iSCSI-pr command;

[0239] Step 4) The agent finds the corresponding platform port index through the current login;

[0240] Step 5) The agent converts the platform port index and gwwpn to obtain lwwpn, and fills it into the iSCSI-pr command to obtain an updated iSCSI-pr command;

[0241] Step 6) The agent sends the updated iSCSI-pr command to the CSM of the storage node through the base event;

[0242] Step 7) The CSM searches the registration list using the identity in the updated iSCSI-pr command to determine whether the registration information corresponding to the updated iSCSI-pr command already exists; the identity includes but is not limited to wwpn, node id, io port type, and platform port index;

[0243] Step 8) If the registration information corresponding to the updated iSCSI-pr command exists, then the partial information of the registration information matching the updated iSCSI-pr command in the registration linked list is updated; if the registration information corresponding to the updated iSCSI-pr command does not exist, then the registration is performed according to the updated iSCSI-pr command and added to the registration linked list;

[0244] Step 9) After the CSM completes the processing, it passes the updated target registration list to each agent through the call gate;

[0245] Step 10) The agent converts the gwwpn into at least one lwwpn; if there are multiple sessions, there will be multiple lwwpns;

[0246] Step 11) The agent finds the login according to the lwwpn, and then obtains the platform port index.

[0247] Step 12) The agent obtains the corresponding login according to the platform port index; that is, the login for the current pr command is the one with the same platform port index;

[0248] Step 13) The agent parses the login and obtains the corresponding lwwpn;

[0249] Step 14) The agent matches the registration information in the registration list of the agent based on the obtained identity identifiers such as lwwpn, gwwpn, platform port index, etc.

[0250] Step 15), if the corresponding identity information exists in the registration list of the agent side, it is updated; if not, it is added to the registration list of the agent side;

[0251] Step 16) The agent returns a registration completion and session connection completion status to the client, confirming that the iSCSI connection is successfully established.

[0252] Step 17) When a node fails and IP port drift occurs, the CSM will adjust the pr registration information on the failed node. The adjustment content includes: a. node location information; b. virtual port index (io_port_type_index), from even to odd; c. failover flag;

[0253] Step 18), when the failed node is restored, the node location information and virtual port index are restored first, and when the port is back to normal, the failover flag is restored;

[0254] In step 19), when the login corresponding to the iSCSI-pr command does not exist, the agent cannot recognize the corresponding lwwpn. In this case, gwwpn is used, and the agent will make a distinction when processing. If lwwpn can be obtained, the normal processing flow from step 5) to step 18) is executed to establish multiple sessions. If only gwwpn can be obtained, the corresponding independent session connection is established according to the current different pr instructions.

[0255] Compared with the original iSCSI-PR feature that does not support multiple sessions on a single controller, this embodiment uses flexible and detailed information screening and identification, adds the actual physical port ID (Identity document) as an identity identifier, and distinguishes different sessions, so as to achieve the purpose of distinguishing PR commands for different sessions, thereby realizing that the iSCSI-PR feature supports multiple sessions on a single controller, that is, multiple sessions can be established between the same client and the same storage node, increasing the disaster recovery capability of iSCSI shared storage, improving the performance limit of iSCSI sharing, and expanding the single-controller multi-session capability in iSCSI scenarios. It can also be applied to various shared storage services, thereby improving the applicability of shared storage.

[0256] FIG6 is a flow chart of the interactive method provided by the present application. The method can also be applied to a dual-controller system or a multi-controller system. The interactive method is implemented by a cluster storage manager that centrally manages multiple storage nodes. As shown in FIG6 , the method includes:

[0257] Step 610: Obtain input and output sequence data sent by the client;

[0258] Optionally, a multi-session connection is established between the client and the target storage node through the session establishment method provided in the above embodiments. The session establishment method shown in Figures 1, 4 and 5 may be referred to and will not be described again here.

[0259] After the multi-session connection is established, the server can monitor the IO (Input / Output) sequence data sent by the client in real time. The so-called sequence data is a combination of configuration parameters and business data. The length of business data is much longer than the configuration data.

[0260] Step 620, slicing the input and output sequence data to obtain a plurality of input and output sub-segment data;

[0261] Optionally, in order to achieve concurrent use of multiple links under multiple sessions and effectively improve the bandwidth of data transmission, the IO sequence data may be sliced ​​to divide the IO sequence data into multiple IO sub-segment data.

[0262] The slicing here can be fixed slicing based on a fixed slice length and step size, or it can be dynamically adjusting the slice length and / or step size based on the real-time performance indicators of each session queue in the session queue pool corresponding to the multi-session connection during the transmission process, so as to perform dynamic slicing based on the dynamically adjusted slice length and / or step size. This embodiment does not make any specific restrictions on this.

[0263] In step 630, the multiple input and output sub-segment data are transmitted to the target storage node through the session queue pool corresponding to the multi-session connection established between the client and the target storage node, so that the target storage node can reorganize the multiple input and output sub-segment data to obtain input and output sequence data.

[0264] Optionally, after obtaining multiple IO sub-segment data through slicing, the main session queue can be obtained in the session queue pool to concurrently transmit the multiple IO sub-segment data to the target storage node through multiple main session queues. After obtaining the multiple IO sub-segment data, the target storage node can merge the IO sub-segment data with the same configuration parameters based on the configuration parameters of each IO sub-segment data. During the merging process, a copy of the configuration parameters is retained, and the business data is spliced ​​according to the sub-segment sequence number, thereby realizing the reorganization of multiple IO sub-segment data and obtaining complete input and output sequence data.

[0265] Methods for determining the so-called primary session queue include: using all session queues in the session queue pool as primary queues; or, based on the security index values ​​corresponding to the input and output sequence data, dividing a portion of the session queues in the session queue pool into the primary session queue pool and another portion of the session queues into the backup session queue pool; or, based on the real-time performance indicators of each session queue in the session queue pool corresponding to multiple session connections, dividing a portion of the session queues in the session queue pool into the primary session queue pool and another portion of the session queues into the backup session queue pool. This embodiment does not specifically limit this.

[0266] The method provided in this embodiment implements concurrent use of multiple links under multiple sessions by slicing and reorganizing the IO of the ISCSI-PR system. This can improve the efficiency and accuracy of data transmission, enhance the parallel processing capability of the dual-controller system or multi-controller system, optimize resource utilization efficiency, and thus improve the overall performance and efficiency of the dual-controller system or multi-controller system.

[0267] In some implementations, the slicing step in step 620 includes:

[0268] Obtain configuration parameters and business data from input and output sequence data;

[0269] Slice business data into multiple sub-segment business data;

[0270] According to the configuration parameters and the business data of each sub-segment, the input and output sub-segment data are obtained.

[0271] Optionally, the IO sequence data is parsed to obtain configuration parameters and business data for the IO sequence data; the configuration parameters include, but are not limited to, the original IO sequence number, the IO switching sub-segment sequence number, the business end address, the target end address, and the protocol mode. The business data is the data required for business logic processing.

[0272] Subsequently, according to the splitting length and step size in the initial slicing strategy, the business data is sliced ​​into multiple sub-segment business data; and the configuration parameters and each sub-segment business data are merged to obtain each IO sub-segment data, that is, each IO sub-segment data in the same IO sequence data has the same configuration parameters, and each IO sub-segment data includes different sub-segment business data.

[0273] The so-called initial slicing strategy may be a standard slicing strategy configured based on an average performance indicator of a theoretical session queue, such as a configuration with an initial value of N1 and a step size of M.

[0274] The method provided in this embodiment splits sub-segment data based on configuration parameters and business data, which can better optimize resource utilization. When data is subsequently reorganized, data can be quickly reorganized according to the configuration parameters and the sequence number of the IO sub-segment data, effectively improving data transmission efficiency.

[0275] In some optional embodiments, the data transmission step in step 630 includes:

[0276] Extracting a first preset number of input and output sub-segment data from the plurality of input and output sub-segment data to obtain a plurality of first sub-segment data;

[0277] Polling each first sub-segment data into a session queue pool, and obtaining a first processing speed and a first waiting time corresponding to each session queue in the session queue pool; the first processing speed and the first waiting time are the processing speed and the waiting time formed when each session queue transmits the first sub-segment data;

[0278] Obtaining a performance score for each session queue according to the first processing speed and the first waiting time;

[0279] Based on the performance score, the session queue pool is divided into the primary session queue pool and the backup session queue pool;

[0280] Extracting input and output sub-segment data other than the first sub-segment data from the plurality of input and output sub-segment data to obtain a plurality of second sub-segment data;

[0281] The plurality of second sub-segment data are transmitted to the target storage node through the main session queue pool.

[0282] Optionally, after the initial segmentation strategy is used to obtain multiple IO sub-segment data, a first preset number of multiple IO sub-segment data can be extracted from the multiple IO sub-segment data as multiple first sub-segment data; the so-called first preset number can be configured according to actual needs, such as 1000.

[0283] Subsequently, multiple first sub-segment data are traversed through the multi-session paths corresponding to the multi-session queues in the session queue pool in a polling manner, so as to transmit the multiple first sub-segment data to the target storage node through the multi-session paths corresponding to the multi-session queues, and the processing speed and waiting time formed when each session queue transmits the first sub-segment data are collected in real time, thereby obtaining the first processing speed and first waiting time corresponding to each session queue.

[0284] Then, a performance score of each session queue is obtained based on the first processing speed and the first waiting time.

[0285] Subsequently, the session queues are sorted in descending order of performance score; a target number of session queues with the highest sorting positions in the session queue pool are allocated to the primary session queue pool; and the session queues in the session queue pool other than the session queues in the primary session queue pool are allocated to the backup session queue pool; the target number can be configured according to actual needs, such as the session queues with the top 80% of the scores being allocated to the primary session queue pool, and the session queues with the bottom 20% of the scores being allocated to the backup session queue pool.

[0286] Subsequently, the IO sub-segment data other than the first sub-segment data in the plurality of IO sub-segment data are used as a plurality of second sub-segment data, and the plurality of second sub-segment data are concurrently transmitted to the target storage node through a plurality of session queues in the main session queue pool.

[0287] The method provided in this embodiment obtains the performance of each session queue in real time and intelligently allocates resources to the session queue based on the performance, thereby effectively improving data transmission efficiency and enhancing data transmission reliability, thereby optimizing the data transmission process and improving the overall performance and stability of data transmission.

[0288] In some optional embodiments, transmitting the plurality of second sub-segment data to the target storage node through the primary session queue pool includes:

[0289] Extracting a second preset number of sub-segment data from the plurality of second sub-segment data to obtain a plurality of third sub-segment data;

[0290] Polling multiple third sub-segment data into a main session queue pool, and obtaining a second processing speed and a second waiting time corresponding to each session queue in the main session queue pool; the second processing speed and the second waiting time are the processing speed and the waiting time formed when each session queue transmits the third sub-segment data;

[0291] reslicing the sub-segment data except the third sub-segment data among the plurality of second sub-segment data according to the second processing speed and the second waiting time to obtain a plurality of new second sub-segment data;

[0292] The operations of polling and inputting the data into the main session queue pool and reslicing are iteratively performed on the multiple new second sub-segment data until it is known that all sub-segment data of the input and output sequence data are transmitted to the target storage node.

[0293] Optionally, the step of transmitting the second sub-segment data includes:

[0294] A second preset number of IO sub-segment data may be first extracted from the plurality of second sub-segment data as the plurality of third sub-segment data; the second preset number may be the same as or different from the first preset number, such as 1000.

[0295] Subsequently, multiple third sub-segment data are traversed through the multi-session paths corresponding to the multi-session queues in the main session queue pool in a polling manner, so as to transmit the multiple third sub-segment data to the target storage node through the multi-session paths corresponding to the multi-session queues in the main session queue pool, and the processing speed and waiting time generated when each session queue transmits the third sub-segment data are collected in real time, thereby obtaining the second processing speed and second waiting time corresponding to each session queue.

[0296] Subsequently, based on the second processing speed and the second waiting time, the initial slicing strategy is re-updated, so that based on the updated slicing strategy, the sub-segment data other than the third sub-segment data in the multiple second sub-segment data are re-sliced ​​to obtain multiple new second sub-segment data; and the new second sub-segment data is input into the main session queue pool operation, the processing speed and waiting time acquisition operation, and the data re-slicing operation according to the above-mentioned polling operation, and data transmission is iterated until it is known that all sub-segment data of the input and output sequence data are transmitted to the target storage node, and the data transmission process is stopped.

[0297] The so-called method of re-updating the initial slicing strategy can be to obtain a performance score based on the second processing speed and the second waiting time, and to re-update the initial slicing strategy based on the performance score; or, to compare the second processing speed and the second waiting time with the corresponding theoretical values, and to re-update the initial slicing strategy based on the comparison. This embodiment does not specifically limit this.

[0298] The method provided in this embodiment dynamically slices data multiple times according to the real-time performance of the session queue to dynamically adjust the data transmission strategy, thereby ensuring the integrity and accuracy of data transmission while maximizing transmission efficiency.

[0299] In some optional embodiments, the step of reslicing includes:

[0300] When the second processing speed of at least one session queue is lower than the theoretical processing speed, and / or the second waiting time of at least one session queue is higher than the theoretical waiting time, increasing a slice length value in an initial slicing strategy corresponding to the input and output sequence data to obtain a first slicing strategy, and re-slicing the sub-segment data except the third sub-segment data according to the first slicing strategy to obtain a plurality of new second sub-segment data;

[0301] When the second processing speed of at least one session queue is less than the theoretical processing speed and the second waiting time of at least one session queue is less than the theoretical waiting time, the slice length value in the initial slicing strategy is reduced to obtain a second slicing strategy, and according to the second slicing strategy, the sub-segment data except the third sub-segment data are re-sliced ​​to obtain multiple new second sub-segment data.

[0302] The theoretical processing speed here may be an average processing speed of multiple session queues in a theoretical state; the theoretical waiting time here may be an average waiting time of multiple session queues in a theoretical state.

[0303] Optionally, when the second processing speed A of at least one session queue is less than the theoretical processing speed C, and / or the second waiting time B of at least one session queue is greater than the theoretical waiting time D, the IO slice length is increased to N2 to obtain the first slicing strategy, and the sub-segment data other than the third sub-segment data are re-sliced ​​according to the first slicing strategy to obtain multiple new second sub-segment data. The so-called method of increasing the IO slice length can be to adjust the step size in the initial slicing strategy, such as configuring N2 = N1 + M; then, a second preset number of sub-segments are selected from the multiple new second sub-segments, and the above data transmission and judgment are repeated. If A is still less than C and / or B is greater than D, the IO slice length is further increased.

[0304] When the second processing rate A of at least one session queue is less than the theoretical processing rate C, and the second waiting time B of at least one session queue is less than the theoretical waiting time D, the IO slice length is reduced to N3 to obtain a second slicing strategy. The sub-segments except the third sub-segment are then re-sliced ​​according to the second slicing strategy to obtain multiple new second sub-segments. Increasing the IO slice length can be done by adjusting the step size in the initial slicing strategy, such as configuring N3 = N1 - M.

[0305] The method provided in this embodiment dynamically slices data multiple times according to the real-time performance of the session queue to dynamically adjust the data transmission strategy, thereby ensuring the integrity and accuracy of data transmission while maximizing transmission efficiency.

[0306] In some optional embodiments, transmitting the plurality of input and output sub-segment data to the target storage node via a session queue pool corresponding to a multi-session connection established between the client and the target storage node includes:

[0307] The session queue pool is divided into a primary session queue pool and a backup session queue pool according to the security index value corresponding to the input and output sequence data;

[0308] Transmit multiple input and output sub-segment data to the target storage node through the main session queue pool.

[0309] Optionally, in custom mode, the number of alternative paths in the multi-session path, that is, the number of session queues in the backup session queue pool in the session queue pool, can be set according to the security index value K corresponding to the input and output sequence data; wherein, the higher the security index value K is, the higher the client's requirement for the stability of iSCSI-pr system message processing, that is, the more backup paths in the multi-session path, the fewer the main session paths for sending IO messages, that is, the smaller the theoretical session queue performance C, the longer the theoretical session queue waiting time, the larger the IO slice length N, and the reduced number of sub-IO data packets after IO slicing.

[0310] Therefore, based on the security index value corresponding to the input and output sequence data, the main session queue pool and the backup session queue pool in the session queue pool can be adaptively divided, so that the multiple session queues in the main session queue pool formed based on this division can transmit multiple input and output sub-segment data to the target storage node in parallel, efficiently and stably according to user needs.

[0311] The session connection device provided in the present application is described below. The session connection device described below and the session connection method described above can be referenced to each other.

[0312] FIG7 is a structural diagram of a session connection device provided in this application. As shown in FIG7 , the device includes:

[0313] The first information processing unit 710 is configured to receive registration command information transmitted by the client, and obtain index information of at least one first to-be-connected physical port of the target storage node according to the registration command information; the registration command information is generated according to a persistent reservation instruction of the small computer system interface protocol;

[0314] The first information updating unit 720 is configured to update the registration command information according to the index information of each first physical port to be connected, and send the updated registration command information to the cluster storage manager;

[0315] The second information processing unit 730 is configured to receive a target registration linked list sent by the cluster storage manager, and obtain index information of at least one second to-be-connected physical port of the target storage node according to the target registration linked list; the target registration linked list is obtained by the cluster storage manager updating registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information;

[0316] The session connection unit 740 is configured to establish a multi-session connection between the client and the target storage node according to the index information of each second physical port to be connected.

[0317] In the device provided in this embodiment, the agent side receives and processes the registration command information transmitted by the client to obtain the index information of the physical port to be connected of the target storage node, and updates the registration command information accordingly. Finally, based on the updated registration command information, the agent side cooperates with the cluster storage manager to establish a multi-session connection, and uses the index information of the actual physical port as an identity identifier to distinguish different session identifiers required to establish the registration command, thereby realizing a multi-session connection between the client and the storage node, which not only improves the performance and scalability of the storage system, but also optimizes resource utilization and enhances system stability.

[0318] FIG8 is a second structural diagram of the session connection device provided by the present application; as shown in FIG8 , the device includes:

[0319] The receiving unit 810 is configured to receive updated registration command information sent by the agent of each target storage node; the updated registration command information is obtained by the agent, upon receiving the registration command information transmitted by the client, obtaining index information of at least one first physical port to be connected of each target storage node according to the registration command information, and updating the registration command information according to the index information of each first physical port to be connected; the registration command information is generated according to the persistent reservation instruction of the small computer system interface protocol;

[0320] The second information updating unit 820 is configured to update the registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information to obtain a target registration linked list;

[0321] The sending unit 830 is configured to send the target registration list to the agent end, so that the agent end can obtain the index information of at least one second physical port to be connected of each target storage node according to the target registration list, and establish a multi-session connection between the client and each target storage node according to the index information of each second physical port to be connected.

[0322] In the device provided by this embodiment, the cluster storage manager receives and processes the updated registration command information formed by the index information of at least one first physical port to be connected of each target storage node obtained based on the registration command information transmitted by the client, and updates the registration linked list based on the updated registration command information, so as to cooperate with the agent end of each target storage node based on the updated target registration linked list to establish a multi-session connection, and uses the index information of the actual physical port as an identity identifier to distinguish different session identifiers required to establish the registration command, thereby realizing multi-session connection between the client and the storage node, which not only improves the performance and scalability of the storage system, but also optimizes resource utilization and enhances system stability.

[0323] FIG9 is a schematic diagram of the structure of the interactive device provided by the present application; as shown in FIG9 , the device includes:

[0324] The third information processing unit 910 is configured to obtain input and output sequence data sent by the client;

[0325] The slicing unit 920 is configured to slice the input and output sequence data to obtain a plurality of input and output sub-segment data;

[0326] The transmission unit 930 is configured to transmit the plurality of input and output sub-segment data to the target storage node via the session queue pool corresponding to the multi-session connection established between the client and the target storage node, so that the target storage node can reassemble the plurality of input and output sub-segment data to obtain input and output sequence data.

[0327] The multi-session connection is established based on the session connection method provided in the above embodiments.

[0328] The device provided in this embodiment implements concurrent use of multiple links under multiple sessions by slicing and reorganizing the IO of the ISCSI-PR system, thereby improving the efficiency and accuracy of data transmission, enhancing the parallel processing capability of the dual-control system or multi-control system, optimizing resource utilization efficiency, and thus improving the overall performance and efficiency of the dual-control system or multi-control system.

[0329] Each device provided in this application is configured to execute the method embodiments corresponding to the above-mentioned devices. Please refer to the above-mentioned embodiments for specific processes and detailed contents, which will not be repeated here.

[0330] FIG10 illustrates a schematic diagram of the physical structure of an electronic device. As shown in FIG10 , the electronic device may include: a processor 1010, a communications interface 1020, a memory 1030, and a communication bus 1040. The processor 1010, the communications interface 1020, and the memory 1030 communicate with each other via the communication bus 1040. The processor 1010 may invoke logic instructions in the memory 1030 to execute the session connection method provided by the aforementioned methods, or the session connection method provided by the aforementioned methods.

[0331] In addition, the logic instructions in the above-mentioned memory 1030 can be implemented in the form of a software functional unit and can be stored in a non-volatile readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a non-volatile readable storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned non-volatile readable storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc., various non-volatile readable storage media that can store program code.

[0332] On the other hand, the present application also provides a computer program product, which includes a computer program. The computer program can be stored on a non-volatile readable storage medium. When the computer program is executed by a processor, the computer can execute the session connection method provided by the above methods, or the session connection method provided by the above methods.

[0333] On the other hand, the present application also provides a non-volatile readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the session connection method provided by the above methods, or the session connection method provided by the above methods.

[0334] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units. That is, they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0335] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the above technical solution, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product can be stored in a non-volatile computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of each embodiment or certain parts of the embodiment.

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

Claims

1. A session connection method, characterized in that: The agent applied to the target storage node includes: receiving registration command information transmitted by the client, and acquiring index information of at least one first to-be-connected physical port of the target storage node according to the registration command information; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol; updating the registration command information according to the index information of each of the first physical ports to be connected, and sending the updated registration command information to the cluster storage manager; receiving a target registration linked list sent by the cluster storage manager, and obtaining index information of at least one second to-be-connected physical port of the target storage node according to the target registration linked list; the target registration linked list is obtained by the cluster storage manager updating registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information; A multi-session connection is established between the client and the target storage node according to the index information of each of the second physical ports to be connected.

2. The session connection method according to claim 1, wherein: The updating of the registration command information according to the index information of each of the first physical ports to be connected includes: generating each local wide area port name of the target storage node according to the index information of each first physical port to be connected and the global wide area port name of the target storage node in the registration command information; The registration command information is updated according to each of the local wide area port names.

3. The session connection method according to claim 2, wherein: Generating each local wide area port name of the target storage node according to the index information of each first physical port to be connected and the global wide area port name of the target storage node in the registration command information includes: The index information of each of the first physical ports to be connected is concatenated with the global wide area port name to obtain each of the local wide area port names.

4. The session connection method according to any one of claims 1 to 3, characterized in that: The acquiring, according to the target registration linked list, index information of at least one second to-be-connected physical port of the target storage node includes: At the agent end, obtaining first registration information of the target storage node; Obtaining second registration information of the target storage node in the target registration linked list; Matching the index information of the physical port in the first registration information with the index information of the physical port in the second registration information; According to the matching result, the index information of the physical port that does not match the index information of the physical port in the first registration information is obtained from the index information of the multiple first physical ports to be connected in the second registration information as the index information of the second physical port to be connected.

5. The session connection method according to claim 4, characterized in that: The method further comprises: Obtaining a global wide area port name of the target storage node from the second registration information; According to the global wide area port name, obtaining the local wide area port name of the target storage node; Obtain target login information according to the local wide area port name; Searching for index information of a target physical port according to the target login information; Obtain target registration information according to the index information of the target physical port; matching the target registration information with each of the first registration information; If there is first registration information matching the target registration information in the proxy terminal, updating the matching first registration information according to the target registration information; In a case where the agent of the target storage node does not have first registration information matching the target registration information, the target registration information is added to the agent as newly added first registration information.

6. The session connection method according to any one of claims 1 to 3, characterized in that: The establishing of a multi-session connection between the client and the target storage node according to the index information of each second physical port to be connected includes: Acquire connection parameters of each second physical port to be connected according to index information of each second physical port to be connected; the connection parameters include a network address, a port number, and a protocol format; A session connection is established between the client and each of the second physical ports to be connected according to the connection parameters.

7. The session connection method according to any one of claims 1 to 3, characterized in that: The acquiring, according to the registration command information, index information of at least one first to-be-connected physical port of the target storage node includes: Search the current login information for the login information corresponding to the registration command information; When the login information corresponding to the registration command information is found, the index information of each of the first physical ports to be connected is searched according to the login information corresponding to the registration command information.

8. A session connection method, characterized in that: Applies to cluster storage managers, including: receiving updated registration command information sent by the agent of each target storage node; the updated registration command information is obtained by the agent, upon receiving the registration command information transmitted by the client, obtaining index information of at least one first physical port to be connected of each target storage node according to the registration command information, and updating the registration command information according to the index information of each first physical port to be connected; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol; According to the updated registration command information, the registration information in the registration linked list stored by the cluster storage manager is updated to obtain a target registration linked list; The target registration list is sent to the proxy end so that the proxy end can obtain the index information of at least one second physical port to be connected of each target storage node according to the target registration list, and establish a multi-session connection between the client and each target storage node according to the index information of each second physical port to be connected.

9. The session connection method according to claim 8, wherein: The updating of the registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information to obtain a target registration linked list includes: Obtaining the status of each target storage node; Acquire target registration command information according to the status of each target storage node and the updated registration command information; Searching, in the registration linked list, for registration information that matches the target registration command information according to the identity identifier in the target registration command information; When the matching registration information is found, updating the matching registration information according to the target registration command information; In the case that the matching registration information is not found, the registration information corresponding to the target registration command information is registered and generated in the registration linked list.

10. The session connection method according to claim 9, wherein: The acquiring target registration command information according to the status of each target storage node and the updated registration command information includes: When the states of the plurality of target storage nodes are all normal, obtaining the target registration command information according to the updated registration command information; In the case that there is a faulty node in a fault state among the plurality of target storage nodes, the updated registration command information is adjusted, and the target registration command information is obtained according to the adjustment result.

11. The session connection method according to claim 10, wherein: The adjusting the updated registration command information includes: Acquire, according to the updated registration command information, a backup node corresponding to the failed node, and a node position and a virtual port index of the backup node; The following adjustment steps are performed on the updated registration command information: updating the node position of the faulty node in the updated registration command information according to the node position of the standby node; updating the virtual port index of the faulty node in the updated registration command information according to the virtual port index of the standby node; The failover identifier of the failed node in the updated registration command information is updated.

12. The session connection method according to any one of claims 10 or 11, characterized in that: The step of obtaining the target registration command information according to the adjustment result includes: If it is determined that the adjustment of the updated registration command information is completed according to the adjustment result, determining whether the faulty node has returned to a normal state; In a case where the faulty node has not recovered to a normal state, using the adjusted registration command information as the target registration command information; When the faulty node recovers to a normal state, the adjusted registration command information is restored to obtain the target registration command information.

13. The session connection method according to claim 12, wherein: The step of restoring the adjusted registration command information to obtain the target registration command information includes: Restoring the node position updated in the adjusted registration command information to the node position of the faulty node that has returned to a normal state; Restoring the updated virtual port index in the adjusted registration command information to the virtual port index of the faulty node that has returned to a normal state; When it is determined that the Internet port of the faulty node that has recovered to a normal state has drifted back, the failover identifier of the faulty node that has recovered to a normal state in the updated registration command information is restored to an initial state.

14. An interactive method, characterized in that: Applies to cluster storage managers, including: Get the input and output sequence data sent by the client; Slicing the input and output sequence data to obtain a plurality of input and output sub-segment data; transmitting the plurality of input and output sub-segment data to the target storage node through a session queue pool corresponding to a multi-session connection established between the client and the target storage node, so that the target storage node reassembles the plurality of input and output sub-segment data to obtain the input and output sequence data; The multi-session connection is established based on the session connection method according to any one of claims 1 to 13.

15. The interactive method according to claim 14, characterized in that: The step of slicing the input and output sequence data to obtain a plurality of input and output sub-segment data includes: Obtaining configuration parameters and business data in the input and output sequence data; Slicing the business data into a plurality of sub-segment business data; The input and output sub-segment data are acquired according to the configuration parameters and the service data of each sub-segment.

16. The interactive method according to any one of claims 14-15, characterized in that: The transmitting the plurality of input and output sub-segment data to the target storage node through a session queue pool corresponding to a multi-session connection established between the client and the target storage node includes: Extracting a first preset number of input and output sub-segment data from the plurality of input and output sub-segment data to obtain a plurality of first sub-segment data; Polling each first sub-segment data into the session queue pool, and obtaining a first processing speed and a first waiting time corresponding to each session queue in the session queue pool; the first processing speed and the first waiting time are the processing speed and the waiting time formed when each session queue transmits the first sub-segment data; Obtaining a performance score for each of the session queues according to the first processing speed and the first waiting time; Dividing the session queue pool into a primary session queue pool and a backup session queue pool according to the performance score; Extracting input and output sub-segment data other than the first sub-segment data from the plurality of input and output sub-segment data to obtain a plurality of second sub-segment data; The plurality of second sub-segment data are transmitted to the target storage node through the main session queue pool.

17. The interactive method according to claim 16, characterized in that: The transmitting the plurality of second sub-segment data to the target storage node through the main session queue pool includes: Extracting a second preset number of sub-segment data from the plurality of second sub-segment data to obtain a plurality of third sub-segment data; Polling the plurality of third sub-segment data into the primary session queue pool, and obtaining a second processing speed and a second waiting time corresponding to each session queue in the primary session queue pool; the second processing speed and the second waiting time are the processing speed and the waiting time formed when each session queue transmits the third sub-segment data; reslicing the sub-segment data except the third sub-segment data among the plurality of second sub-segment data according to the second processing speed and the second waiting time to obtain a plurality of new second sub-segment data; The operations of polling and inputting the new second sub-segment data into the main session queue pool and re-slicing are iteratively performed on the plurality of new second sub-segment data until it is known that all sub-segment data of the input-output sequence data are transmitted to the target storage node.

18. The interactive method according to claim 17, characterized in that: The step of reslicing the sub-segment data except the third sub-segment data in the plurality of second sub-segment data according to the second processing speed and the second waiting time to obtain a plurality of new second sub-segment data includes: When the second processing speed of at least one of the session queues is lower than the theoretical processing speed, and / or the second waiting time of at least one of the session queues is longer than the theoretical waiting time, increasing a slice length value in an initial slicing strategy corresponding to the input and output sequence data to obtain a first slicing strategy, and re-slicing the sub-segment data except the third sub-segment data according to the first slicing strategy to obtain a plurality of new second sub-segment data; When the second processing speed of at least one of the session queues is less than the theoretical processing speed, and the second waiting time of at least one of the session queues is less than the theoretical waiting time, the slice length value in the initial slicing strategy is reduced to obtain a second slicing strategy, and according to the second slicing strategy, the other sub-segment data except the third sub-segment data are re-sliced ​​to obtain multiple new second sub-segment data.

19. The interactive method according to any one of claims 14-15, characterized in that: The transmitting the plurality of input and output sub-segment data to the target storage node through a session queue pool corresponding to a multi-session connection established between the client and the target storage node includes: Dividing the session queue pool into a main session queue pool and a backup session queue pool according to the security index value corresponding to the input and output sequence data; The plurality of input and output sub-segment data are transmitted to the target storage node through the main session queue pool.

20. A session connection device, characterized in that: The agent applied to the target storage node includes: a first information processing unit configured to receive registration command information transmitted by a client, and obtain index information of at least one first to-be-connected physical port of the target storage node according to the registration command information; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol; a first information updating unit configured to update the registration command information according to the index information of each of the first to-be-connected physical ports, and send the updated registration command information to the cluster storage manager; a second information processing unit configured to receive a target registration linked list sent by the cluster storage manager, and obtain index information of at least one second to-be-connected physical port of the target storage node according to the target registration linked list; the target registration linked list is obtained by the cluster storage manager updating registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information; The session connection unit is configured to establish a multi-session connection between the client and the target storage node according to the index information of each of the second physical ports to be connected.

21. A session connection device, characterized in that: Applies to cluster storage managers, including: A receiving unit is configured to receive updated registration command information sent by the agent of each target storage node; the updated registration command information is obtained by the agent, upon receiving the registration command information transmitted by the client, obtaining index information of at least one first physical port to be connected of each target storage node according to the registration command information, and updating the registration command information according to the index information of each first physical port to be connected; the registration command information is generated according to a persistent reservation instruction of a small computer system interface protocol; A second information updating unit is configured to update the registration information in the registration linked list stored by the cluster storage manager according to the updated registration command information to obtain a target registration linked list; The sending unit is configured to send the target registration list to the proxy end, so that the proxy end can obtain the index information of at least one second physical port to be connected of each target storage node according to the target registration list, and establish a multi-session connection between the client and each target storage node according to the index information of each second physical port to be connected.

22. An interactive device, characterized in that: Applies to cluster storage managers, including: a third information processing unit, configured to obtain input and output sequence data sent by the client; a slicing unit configured to slice the input and output sequence data to obtain a plurality of input and output sub-segment data; a transmission unit configured to transmit the plurality of input and output sub-segment data to the target storage node via a session queue pool corresponding to a multi-session connection established between the client and the target storage node, so that the target storage node reassembles the plurality of input and output sub-segment data to obtain the input and output sequence data; The multi-session connection is established based on the session connection method according to any one of claims 1 to 13.

23. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the session connection method according to any one of claims 1 to 13 or the interaction method according to any one of claims 14 to 19 is implemented.

24. A non-volatile readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the session connection method according to any one of claims 1 to 13 or the interaction method according to any one of claims 14 to 19 is implemented.

Citation Information

Patent Citations

  • Method for accessing storage device through internet small computer system interface (iSCSI) in multipath manner and storage device

    CN102118389A

  • Processing method and obtaining method for physical link information of paths of multi-path equipment

    CN114238181A

  • Host management method and device, equipment and medium

    CN117289862A

  • Management method, system and device for storage rear-end full-sharing extension cabinet and storage medium

    CN117289866A

  • Session connection method, interaction method, device, equipment and medium

    CN117978851A

Cited By

  • Defense method and device for spliced malicious code and computer readable storage medium

    CN122093191A