Communication method and device of storage system and computer equipment

By setting up a proxy component on the computing node and establishing a full-duplex communication connection with the control server, the problem that the computing node needs to actively expose its port is solved, security risks are reduced, and data security is improved.

CN119363821AActive Publication Date: 2025-01-24CHINA TELECOM CLOUD TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411932189.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-01-24
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

The data storage management capabilities of computing nodes are weak, and ports need to be actively exposed to support the storage cluster on the storage side to access data, resulting in increased security management difficulty and potential security risks.

Method used

By calculating the proxy components in the computing node, the full dual -work connection between the computing node and the control server can be established to realize the access and management of the pre -storage data in the computing node to control the active exposure of the node.

Benefits of technology

It reduces the risk of external access to the calculation node, improves the data security of the storage system, and does not require the active exposure of the node to the port, simplifying security management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363821A_ABST
    Figure CN119363821A_ABST
Patent Text Reader

Abstract

The invention relates to a communication method and device of a storage system and computer equipment. The method is applied to a computing node in a storage system, the storage system further comprises a storage node for data storage and a control server for controlling the storage node, and the method comprises the following steps: establishing full-duplex communication connection between the computing node and the control server through an agent component in the computing node; when interface calling information sent by the control server is obtained through the proxy component based on the full-duplex communication connection, target calling content is obtained from a local end storage volume based on the interface calling information; and sending the target call content to the control server through the proxy component based on the full-duplex communication connection. By adopting the method, the data security of the storage system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a communication method, apparatus, computer equipment, computer-readable storage medium and computer program product of a storage system. Background Art

[0002] With the rapid development of information technology, the demand for data storage and processing has shown explosive growth. In order to alleviate the challenges of data transmission delays and bandwidth bottlenecks, some data can be moved from the storage cluster on the storage side to the computing nodes on the computing side for storage. The computing nodes are not only responsible for data processing tasks, but also serve as temporary or persistent storage points for data. They can be flexibly configured according to application requirements and are suitable for scenarios such as big data analysis, real-time data processing, and machine learning. They can significantly improve the real-time and throughput of data processing.

[0003] However, the data storage management capabilities of computing nodes are relatively weak, and ports need to be actively exposed to support the storage cluster on the storage side to actively and securely access the pre-stored data. However, the port exposure of computing nodes greatly increases the difficulty of security management and potential security risks, and reduces the data security of the storage system. Summary of the invention

[0004] Based on this, it is necessary to provide a communication method, apparatus, computer device, computer-readable storage medium and computer program product for a storage system that can improve the data security of the storage system in response to the above technical problems.

[0005] In a first aspect, the present application provides a communication method of a storage system, which is applied to a computing node in the storage system, wherein the storage system also includes a storage node for data storage and a control server for managing and controlling the storage node; the method includes:

[0006] Establishing a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node;

[0007] When the interface call information sent by the control server is obtained through the proxy component based on the full-duplex communication connection, the target call content is obtained from the local storage volume based on the interface call information;

[0008] The target call content is sent to the control server through the proxy component based on the full-duplex communication connection.

[0009] In a second aspect, the present application further provides a communication device of a storage system, which is applied to a computing node in the storage system, wherein the storage system also includes a storage node for data storage and a control server for managing and controlling the storage node, including:

[0010] A full-duplex connection establishment module, used to establish a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node;

[0011] The interface call processing module is used to obtain the interface call information sent by the control server through the proxy component based on the full-duplex communication connection, and obtain the target call content from the local storage volume based on the interface call information;

[0012] The call content feedback module is used to send the target call content to the control server through the proxy component based on the full-duplex communication connection.

[0013] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements each step of the communication method of the above storage system when executing the computer program.

[0014] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the various steps of the communication method of the above storage system are implemented.

[0015] In a fifth aspect, the present application also provides a computer program product, including a computer program, which implements the various steps of the above storage system communication method when executed by a processor.

[0016] The communication method, apparatus, computer equipment, computer-readable storage medium and computer program product of the storage system above establish a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node. When the interface call information sent by the control server is obtained through the proxy component based on the full-duplex communication connection, the target call content is obtained from the local storage volume based on the interface call information, and the target call content is sent to the control server through the proxy component based on the full-duplex communication connection, so that full-duplex communication between the computing node and the control server can be achieved through the full-duplex communication connection established by the proxy component, without the computing node actively exposing the port, reducing the risk of external access to the computing node, thereby improving the data security of the storage system.

[0017] In a sixth aspect, the present application provides a communication method of a storage system, which is applied to a control server in the storage system, wherein the storage system further includes a storage node for data storage and a computing node for data processing, and the control server is used to manage and control the storage node; the method includes:

[0018] In the case of determining that a full-duplex communication connection is established between the control server and the computing node, generating interface call information for the computing node, the full-duplex communication connection being established based on an agent component in the computing node and the control server;

[0019] Sending interface call information to the computing node through a full-duplex communication connection, the interface call information being used to instruct the computing node to return target call content obtained from a local storage volume of the computing node through the proxy component based on the full-duplex communication connection;

[0020] The target calling content corresponding to the interface calling information is obtained through a full-duplex communication connection.

[0021] In a seventh aspect, the present application further provides a communication device of a storage system, which is applied to a control server in the storage system, wherein the storage system also includes a storage node for data storage and a computing node for data processing, and the control server is used to manage and control the storage node, including:

[0022] A call information generation module, used to generate interface call information for the computing node when it is determined that a full-duplex communication connection is established between the control server and the computing node, wherein the full-duplex communication connection is established based on the proxy component in the computing node and the control server;

[0023] A call information sending module, used to send interface call information to the computing node through a full-duplex communication connection, the interface call information is used to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection;

[0024] The calling content obtaining module is used to obtain the target calling content corresponding to the interface calling information through a full-duplex communication connection.

[0025] In an eighth aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements each step of the communication method of the above storage system when executing the computer program.

[0026] In a ninth aspect, the present application also provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the various steps of the communication method of the above storage system are implemented.

[0027] In a tenth aspect, the present application also provides a computer program product, including a computer program, which implements the various steps of the above storage system communication method when executed by a processor.

[0028] The communication method, apparatus, computer equipment, computer-readable storage medium and computer program product of the above-mentioned storage system, when determining to establish a full-duplex communication connection with the control server based on the proxy component in the computing node, sends the generated interface call information for the computing node to the computing node through the full-duplex communication connection to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection, and obtains the target call content corresponding to the interface call information through the full-duplex communication connection, so that the full-duplex communication connection established by the proxy component of the computing node can be used to realize full-duplex communication between the computing node and the control server, without the need for the computing node to actively expose the port, thereby reducing the risk of external access to the computing node, thereby improving the data security of the storage system. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0030] Figure 1 An application environment diagram of a communication method of a storage system in one embodiment;

[0031] Figure 2 A schematic diagram of a flow chart of a communication method of a storage system in one embodiment;

[0032] Figure 3 A schematic diagram of a process for establishing a full-duplex communication connection in one embodiment;

[0033] Figure 4 is a flow chart of a communication method of a storage system in yet another embodiment;

[0034] Figure 5 A schematic diagram of a flow chart of a communication method of a cloud native storage system in one embodiment;

[0035] Figure 6 A timing diagram for establishing a full-duplex communication connection in one embodiment;

[0036] Figure 7 is a timing diagram of a communication method of a storage system in one embodiment;

[0037] Figure 8 is a structural block diagram of a communication device of a storage system in one embodiment;

[0038] Fig. 9is a structural block diagram of a communication device of a storage system in yet another embodiment;

[0039] Fig.10 is an internal structure diagram of a computer device in one embodiment;

[0040] Fig.11 FIG. 4 is a diagram showing the internal structure of a computer device in yet another embodiment. DETAILED DESCRIPTION

[0041] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0042] The communication method of the storage system provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the storage system includes a computing cluster and a storage cluster, the computing cluster includes at least one computing node 102, the storage cluster includes a control server 104 and a storage node 106, the storage node 106 is used for data storage, and the control server 104 is used to manage the storage node 106. The computing node 102 and the storage node 106 communicate with the control server 104 through the network respectively, and the data storage system can store data that the control server 104 needs to process. The data storage system can be integrated on the control server 104, or it can be placed on the cloud or other network servers.

[0043] On the one hand, a proxy component can be set on the computing node 102, and the computing node 102 can establish a full-duplex communication connection between the computing node 102 and the control server 104 through the proxy component. When the interface call information sent by the control server 104 is obtained through the proxy component based on the full-duplex communication connection, the computing node 102 obtains the target call content from the local storage volume based on the interface call information, and sends the target call content to the control server 104 through the proxy component based on the full-duplex communication connection, thereby enabling the control server 104 to access the pre-storage data in the computing node 102. The control server 104 can also update the obtained target call content to the storage node 106, thereby realizing data synchronization between the computing cluster and the storage cluster in the storage system.

[0044] On the other hand, when the control server 104 determines that a full-duplex communication connection is established between the control server 104 and the computing node 102 based on the proxy component in the computing node 102, the control server 104 can generate interface call information of the computing node 102, and send the interface call information to the computing node 102 through the full-duplex communication connection to instruct the computing node 102 to return the target call content obtained from the local storage volume of the computing node 102 through the proxy component based on the full-duplex communication connection. The control server 104 can obtain the target call content corresponding to the interface call information through the full-duplex communication connection, thereby enabling the control server 104 to access the pre-storage data in the computing node 102.

[0045] Among them, the computing node 102 may include a terminal or a server. The terminal may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices may be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices may be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The server may be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services. The control server 104 or storage node may specifically be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services.

[0046] In an exemplary embodiment, Figure 2 As shown, a communication method of a storage system is provided, and the method is applied to Figure 1 Taking a computing node in a storage system as an example, the following steps 202 to 206 are included. Among them:

[0047] Step 202: Establish a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node.

[0048] Among them, the storage system can be a distributed system, which can specifically include a computing cluster and a storage cluster. The computing cluster can include at least one computing node, and the computing node is used for data computing and data storage. The storage cluster can include storage nodes for data storage and a control server for managing and controlling the storage nodes, that is, the data in the storage system can be stored in the storage nodes of the storage cluster and the computing nodes of the computing cluster. The computing node can synchronize the pre-stored data in the computing node to the storage node of the storage cluster based on the communication method of the storage system. The proxy component can be a communication proxy component set for the local end of the computing node, which is used to realize full-duplex communication between the computing node and the control server. Full-duplex communication is an information interaction method in which the two communicating parties of the computing node and the control server can send and receive information at the same time. The full-duplex communication connection can include a communication channel between the computing node and the control server, and the communication channel can support a full-duplex communication protocol, such as a websocket protocol, so that full-duplex communication between the computing node and the control server can be realized through the communication channel.

[0049] Exemplarily, a proxy component can be configured on a computing node, and a full-duplex communication connection with a control server can be established through the proxy component. For example, the computing node registers the proxy component with the control server to establish a full-duplex communication connection between the computing node and the control server through the proxy component. Based on the full-duplex communication connection, information interaction between the computing node and the control server can be achieved by simultaneously sending and receiving information.

[0050] Step 204: when the proxy component obtains the interface call information sent by the control server based on the full-duplex communication connection, the target call content is obtained from the local storage volume based on the interface call information.

[0051] After establishing a full-duplex communication connection, the communication between the computing node and the control server can be realized through the proxy component. The interface call information is sent by the control server and is used to access the data stored locally on the computing node. The local storage volume is a logical container or partition used to store data on the local side of the computing node, that is, the data pre-stored by the computing node is specifically stored in the local storage volume. The target call content is the data accessed by the control server through the interface call information, which may specifically include the data pre-stored by the computing node.

[0052] Optionally, the computing node can send and receive information with the control server at the same time through the proxy component, that is, to achieve full-duplex communication between the two parties. When the proxy component obtains the interface call information sent by the control server through the communication channel based on the full-duplex communication connection, it indicates that the control server needs to access the data pre-stored by the computing node. The computing node can query data from the local storage volume based on the interface call information to obtain the target call content corresponding to the interface call information.

[0053] Step 206: Send the target call content to the control server through the proxy component based on the full-duplex communication connection.

[0054] Exemplarily, the computing node can send the target call content to the control server through the proxy component based on the full-duplex communication connection, thereby realizing the communication between the computing node and the control server. In some embodiments, the computing node can send the target call content to the control server through the proxy component according to the full-duplex communication protocol supported by the full-duplex communication connection, so that the control server can perform subsequent processing on the target call content, such as the control server can synchronize the target call content to the storage node, thereby realizing data synchronization in the storage system.

[0055] In the communication method of the above-mentioned storage system, a full-duplex communication connection is established between the computing node and the control server through the proxy component in the computing node. When the interface call information sent by the control server is obtained through the proxy component based on the full-duplex communication connection, the target call content is obtained from the local storage volume based on the interface call information, and the target call content is sent to the control server through the proxy component based on the full-duplex communication connection, so that full-duplex communication between the computing node and the control server can be achieved through the full-duplex communication connection established by the proxy component, and the computing node does not need to actively expose the port, which reduces the risk of external access to the computing node, thereby improving the data security of the storage system.

[0056] In some exemplary embodiments, when the interface call information sent by the control server is obtained through the proxy component based on a full-duplex communication connection, the target call content is obtained from the local storage volume based on the interface call information, including: when the interface call information sent by the control server is obtained through the read process of the proxy component based on the full-duplex communication connection, the interface call information is converted into a first request message, and the first request message is stored in a first request queue; the first request message is obtained from the first request queue through the call processing process of the proxy component, and the storage volume interface is called based on the obtained first request message, and the target call content is obtained from the local storage volume through the local volume control component.

[0057] Among them, the reading process is used to implement the information reading of the proxy component, specifically to implement the interface call information sent by the control server based on the full-duplex communication connection. The proxy component can maintain two message queues, namely the first request queue and the first response queue. The first request queue is used to store the message obtained by the proxy component from the control server based on the full-duplex communication connection, and the first response queue is used to store the message that the proxy component needs to send to the control server based on the full-duplex communication connection. The first request message is a message converted from the interface call information, such as the first request message can be obtained after the interface call information is deserialized. The call processing process is used to implement the data call processing of the proxy component, such as obtaining the target call content from the local storage volume of the computing node through the call processing process. The local volume control component can be used as a storage volume controller on the local end of the computing node, such as xstor-volume, which can aggregate the storage volume slices on the remote storage volume slice management component xstor-chunkserver into a storage volume, and perform various control operations on the storage volume, such as attaching links, detaching, setting properties, etc.

[0058] Optionally, the proxy component of the computing node can start a read process, and the read process can specifically be a read coroutine, which is also called a microthread and is a lightweight thread. The computing node can obtain the interface call information sent by the control server based on the full-duplex communication connection through the read process started by the proxy component, and perform message conversion on the interface call information to convert the interface call information into a first request message. For example, when the interface call information is serialized data, the read process of the proxy component can perform deserialization processing on the interface call information to decode and restore the interface call information to restore it to a first request message with an original data structure. The computing node can also store the first request message in the first request queue maintained by the proxy component through the read process of the proxy component, so as to obtain the request message from the first request queue in sequence for corresponding data call processing. The computing node can read and call the request message from the first request queue through the call processing process of the proxy component, such as the computing node can obtain the first request message from the first request queue through the call processing process of the proxy component, and obtain the corresponding target call content from the local storage volume according to the first request message. For example, the computing node can call the storage volume interface based on the first request message obtained by calling the processing process, so as to access the local storage volume through the local volume management component based on the storage volume interface, and obtain the interface call information corresponding to the required target call content from the local storage volume. The computing node can feedback the obtained target call content to the control server through the proxy component based on the full-duplex communication connection, thereby realizing communication between the computing node and the control server.

[0059] During the communication between the computing node and the control server based on the full-duplex communication connection, the control server can continuously send interface call information to the computing node based on the full-duplex communication connection, and the computing node can also continuously feedback the corresponding target call content to the control server based on the full-duplex communication connection, thereby realizing full-duplex communication between the computing node and the control server. In some embodiments, the interface call information continuously sent by the control server to the computing node based on the full-duplex communication connection can be stored in the first request queue after being converted into a first request message, and the computing node obtains the corresponding request message from the first request queue through the call processing process of the proxy component for call processing, and feeds back the target call content obtained from the local storage volume to the control server based on the full-duplex communication connection.

[0060] In an exemplary embodiment, the computing node obtains interface call information based on a full-duplex communication connection through the reading process of the proxy component, converts the interface call information into a first request message and stores it in a first request queue. The call processing process of the proxy component obtains the first request message from the first request queue, and calls the storage volume interface based on the obtained first request message to obtain the target call content from the local storage volume. Thus, the interface call information sent by the control server can be received by the proxy component of the computing node, and the computing node does not need to actively expose the port, which reduces the risk of external access to the computing node, thereby improving the data security of the storage system.

[0061] In some exemplary embodiments, after calling the storage volume interface based on the obtained first request message and obtaining the target call content from the local storage volume through the local volume management component, the communication method of the storage system also includes: obtaining a first response message based on the target call content and the first request message through a calling processing process, and storing the first response message in a first response queue, wherein the first response message carries the target call content.

[0062] The first response message is a message used to feed back to the control server based on a full-duplex communication connection, and the first response message can be used as a response result to the first request message. The first response queue is used to store messages that the proxy component needs to send to the control server based on a full-duplex communication connection, and can be specifically used to store the first response message carrying the target call content.

[0063] Optionally, the computer node may also generate a first response message for the first request message by calling the processing process, such as generating a corresponding first response message based on the target call content and the first request message by calling the processing process, and the first response message may carry the target call content. For example, the computer node may generate a first response message by calling the processing process target call content and the request identifier of the first request message. The computer node may store the first response message in the first response queue by calling the processing process, so as to store the response message that needs to be fed back to the control server through the first response queue.

[0064] Furthermore, the target call content is sent to the control server through the proxy component based on the full-duplex communication connection, including: obtaining a first response message from the first response queue through the write process of the proxy component, and sending the obtained first response message to the control server based on the full-duplex communication connection, so that the control server extracts the target call content from the first response message.

[0065] Among them, the write process is used to implement information writing of the proxy component, specifically to implement sending a first response message to the control server based on a full-duplex communication connection, and the write process may specifically include a write coroutine. Exemplarily, the proxy component of the computing node may also start a write process to obtain a response message from the first response queue through the write process, such as obtaining a first response message for carrying the target call content from the first response queue. The computing node may send the first response message obtained from the first response queue to the control server based on a full-duplex communication connection through the write process. After receiving the first response message, the control server may extract the target call content for the interface call information from the first response message.

[0066] In an exemplary embodiment, the computing node obtains a first response message carrying the target call content based on the target call content and the first request message through the call processing process of the proxy component, and stores the first response message in a first response queue. After obtaining the first response message from the first response queue through the write process of the proxy component, the obtained first response message is fed back to the control server based on a full-duplex communication connection, thereby sending the target call content to the control server through the proxy component of the computing node. The computing node does not need to actively expose the port, which reduces the risk of external access to the computing node and improves the data security of the storage system.

[0067] In some exemplary embodiments, Figure 3 As shown, the process of establishing a full-duplex communication connection, that is, establishing a full-duplex communication connection between a computing node and a control server through an agent component in the computing node, includes steps 302 to 304. Among them:

[0068] Step 302: Send an agent registration request to the control server through the agent component in the computing node, where the agent registration request is used to update the communication protocol between the control server and the computing node to a full-duplex communication protocol.

[0069] The proxy registration request is used to register the proxy component to the control server so as to establish a full-duplex communication connection between the computing node and the control server through the proxy component. A full-duplex communication protocol is a communication protocol that supports full-duplex communication between both parties, such as a websocket protocol.

[0070] Exemplarily, the computing node can send a proxy registration request to the control server through the proxy component, and the proxy registration request may include information such as the communication address of the proxy component itself and the identifier of the corresponding local storage volume to be managed. In some embodiments, after starting the proxy component, the computing node can call the original communication protocol registration interface of the control server and send a proxy registration request to the control server through the original communication protocol registration interface. After receiving the proxy registration request, the control server can register for the proxy component to update the communication protocol between the control server and the computing node to a full-duplex communication protocol. Specifically, the original communication protocol between the control server and the computing node can be updated to a full-duplex communication protocol so as to establish a corresponding full-duplex communication connection based on the full-duplex communication protocol.

[0071] Step 304, when the proxy component determines that the communication protocol between the control server and the computing node is updated to a full-duplex communication protocol, a full-duplex communication connection is established between the computing node and the control server based on the full-duplex communication protocol. The full-duplex communication connection is used for full-duplex communication processing between the computing node and the control server.

[0072] Exemplarily, after determining that the communication between the control server and the computing node is updated to a full-duplex communication protocol, it indicates that the computing node and the control server can communicate through the full-duplex communication protocol. The computing node can establish a full-duplex communication connection between the computing node and the control server based on the full-duplex communication protocol, such as the computing node can establish a full-duplex communication connection between the computing node and the control server based on the full-duplex communication protocol through an agent component, so as to implement full-duplex communication processing between the computing node and the control server based on the full-duplex communication connection.

[0073] In an exemplary embodiment, the computing node sends a proxy registration request to the control server through the proxy component to update the communication protocol between the control server and the computing node to a full-duplex communication protocol, thereby establishing a corresponding full-duplex communication connection based on the full-duplex communication protocol, so that full-duplex communication between the computing node and the control server can be achieved based on the full-duplex communication connection, without the computing node actively exposing the port, reducing the risk of external access to the computing node, thereby improving the data security of the storage system.

[0074] In some exemplary embodiments, the storage system further includes a half-duplex communication computing node for establishing a half-duplex communication connection with a control server, and the half-duplex communication connection is used for half-duplex communication processing between the half-duplex communication computing node and the control server.

[0075] Among them, the half-duplex communication computing node is a computing node in the storage system that implements half-duplex communication with the control server, and can specifically include a computing node that can expose a port to the storage cluster, that is, the half-duplex communication computing node can include a non-containerized computing node. Exemplarily, for a half-duplex communication computing node in a storage system, the half-duplex communication computing node can establish a half-duplex communication connection with the control server, and implement half-duplex communication processing based on the half-duplex communication connection. For example, the half-duplex communication computing node can establish a half-duplex communication connection with the control server through the http (HyperText Transfer Protocol) protocol.

[0076] In an exemplary embodiment, the computing nodes in the storage system can establish a full-duplex communication connection with the control server through the proxy component, and the half-duplex communication computing nodes support the establishment of a half-duplex communication connection with the control server, so that a hybrid communication mode of full-duplex and half-duplex can be provided according to the actual application scenario, which can be adapted to more application scenarios. In an exemplary embodiment, Figure 4 As shown, a communication method of a storage system is provided, and the method is applied to Figure 1 Taking the control server in the storage system as an example, the following steps 402 to 406 are included. Among them:

[0077] Step 402: when it is determined that a full-duplex communication connection is established between the control server and the computing node, interface call information for the computing node is generated. The full-duplex communication connection is established based on the proxy component in the computing node and the control server.

[0078] Among them, the storage system can be a distributed system, which can specifically include a computing cluster and a storage cluster. The computing cluster can include at least one computing node, and the computing node is used for data computing and data storage. The storage cluster can include storage nodes for data storage and a control server for managing and controlling the storage nodes, that is, the data in the storage system can be stored in the storage nodes of the storage cluster and the computing nodes of the computing cluster. The computing node can synchronize the pre-stored data in the computing node to the storage node of the storage cluster based on the communication method of the storage system. The proxy component can be a communication proxy component set for the local end of the computing node, which is used to realize full-duplex communication between the computing node and the control server. The interface call information is generated by the control server and is used to access the data stored on the local end of the computing node.

[0079] Optionally, a full-duplex communication connection can be established between the control server and the computing node, and specifically, a full-duplex communication connection can be established between the proxy component of the computing node and the control server. When the control server determines to establish a full-duplex communication connection with the computing node, when it is necessary to access the pre-stored data in the computing node, the control server can generate interface call information for the computing node.

[0080] Step 404, the interface call information is sent to the computing node via the full-duplex communication connection, the interface call information is used to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection.

[0081] The local storage volume is a logical container or partition for storing data in the local end of the computing node, that is, the data stored in the computing node is specifically stored in the local storage volume. The target call content is the data accessed by the control server through the interface call information, which may specifically include the data stored in the computing node.

[0082] Exemplarily, the control server can send the interface call information to the computing node through the full-duplex communication connection to access data for the computing node through the interface call information. After the computing node obtains the interface call information based on the full-duplex communication connection, the target call content can be obtained from the local storage volume of the computing node, and the target call content can be returned through the proxy component based on the full-duplex communication connection.

[0083] Step 406: Obtain the target calling content corresponding to the interface calling information through the full-duplex communication connection.

[0084] Optionally, the control server may obtain data sent by the computing node through a full-duplex communication connection, and specifically may obtain target call content corresponding to the interface call information sent by the computing node through the full-duplex communication connection of the proxy component.

[0085] In the communication method of the above-mentioned storage system, when it is determined that a full-duplex communication connection is established between the computing node and the control server based on the proxy component in the computing node, the interface call information generated for the computing node is sent to the computing node through the full-duplex communication connection to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection, and obtain the target call content corresponding to the interface call information through the full-duplex communication connection, so that the full-duplex communication connection established by the proxy component of the computing node can be used to realize full-duplex communication between the computing node and the control server, without the need for the computing node to actively expose the port, thereby reducing the risk of external access to the computing node, thereby improving the data security of the storage system.

[0086] In some exemplary embodiments, interface call information for a computing node is generated, including: generating a second request message for the computing node, storing the second request message in a second request queue; obtaining the second request message from the second request queue through a write process, and using the second request message as the interface call information for the computing node.

[0087] The second request message is used to access the data pre-stored in the computing node. The control server can maintain two message queues, the second request queue and the second response queue. The second request queue is used to store the request message that needs to be sent to the computing node based on the full-duplex communication connection, and the second response queue is used to store the response message fed back by the computing node based on the full-duplex communication connection. The write process is used to implement information writing of the control server, specifically to implement sending the second request message to the computing node based on the full-duplex communication connection.

[0088] Exemplarily, when it is necessary to access the data pre-stored by the computing node, the control server may generate a second request message for the computing node and store the second request message in the second request queue. The control server may obtain the second request message from the second request queue through the started write process and use the second request message as the interface call information for the computing node. The write process may specifically include a write coroutine.

[0089] Furthermore, sending the interface call information to the computing node through the full-duplex communication connection includes: sending the interface call information to the computing node based on the full-duplex communication connection through the write process.

[0090] Optionally, the control server may send the interface call information to the computing node through a write process, such as sending the interface call information to the computing node through a write process based on a full-duplex communication connection.

[0091] Furthermore, the target call content corresponding to the interface call information is obtained through a full-duplex communication connection, including: obtaining a first response message sent by the proxy component based on the full-duplex communication connection through a reading process, the first response message carrying the target call content corresponding to the interface call information; converting the first response message into a second response message through the reading process, and storing the second response message in a second response queue; obtaining the second response message from the second response queue, and extracting the target call content from the second response message.

[0092] The reading process is used to read the information of the control server, and is specifically used to obtain the first response message carrying the target call content fed back by the computing node based on the full-duplex communication connection. The second response message is a message converted from the first response message, such as the first response message can be deserialized to obtain the second response message, so as to extract the target call content corresponding to the interface call information from the second response message.

[0093] Exemplarily, the control server can obtain a first response message sent by the computing node through the proxy component through a read process based on a full-duplex communication connection. The first response message carries the target call content corresponding to the interface call information. The target call content is the data content obtained from the local storage volume of the computing node according to the interface call information. The control server can convert the first response message through the read process to obtain a second response message, and store the second response message in a second response queue. The control server can read the message from the second response queue, specifically obtain the second response message from the second response queue, and extract the target call content from the obtained second response message.

[0094] In an exemplary embodiment, the control server implements full-duplex communication with the computing nodes based on the message queue mechanism of the second request queue and the second response queue and the read-write process mechanism, thereby ensuring context consistency while ensuring high concurrent processing capabilities, and does not require the computing nodes to actively expose ports, thereby reducing the risk of external access to the computing nodes and improving the data security of the storage system.

[0095] The present application also provides an application scenario, which applies the communication method of the storage system. Specifically, the application of the communication method of the storage system in the application scenario is as follows:

[0096] The storage system involved in this application scenario can be a cloud-native storage system. Cloud-native storage refers to a storage solution designed for cloud-native environments, usually running on containerized platforms such as Kubernetes (k8s). Cloud-native storage is a storage method based on cloud platforms that stores data in the cloud and uses technologies such as containerization and microservices to make storage services highly scalable, highly available, and low-cost.

[0097] Specifically, with the popularization of containerization technology, especially the widespread application of Kubernetes, the cloud nativeization of storage systems has also become an important trend. In the cloud native storage scenario, some storage system implementations require that some storage components be pre-placed on the computing nodes to manage the storage cloud disks on the nodes, and the storage cluster management components deployed on the storage side need to actively access the storage component interfaces on each node on the computing side. Generally, the k8s cluster is allowed to access external interfaces. If you need to actively expose the port, you need to configure load balancing for external access, or declare NodePorts to open ports on each node on the computing side for access by services outside the cluster. Among them, Kubernetes is an open source container orchestration platform designed to automate the deployment, expansion, and management of containerized applications; the load balance service is used to ensure that services in the computing cluster can evenly share traffic, thereby improving the stability and reliability of the system; NodePorts is a Service type in Kubernetes, which allows external traffic to access services in the computing cluster through fixed ports of nodes.

[0098] However, k8s's Loadbalance is for the entire service and is not suitable for scenarios where each node (computing node) exposes ports. Moreover, the use of NodePorts will result in a large number of ports being exposed. Exposing each node to the outside world greatly increases the difficulty of security management and potential security risks. In addition, in some environments with high security requirements, the storage components deployed on the computing side cannot be managed due to network problems. In addition, the communication between the management components of the mainstream cloud native storage system solution generally only supports half-duplex communication mode, which is not suitable for scenarios requiring this hybrid communication mode.

[0099] Based on this, the communication method of the storage system provided by the present application, when applied to a cloud-native storage system, switches the communication mode between the computing-side component with network restrictions and the storage service-side component to a full-duplex communication mode, maintains the sending and receiving queues of the interface call encapsulation on the forwarding proxy end and the server end that support full-duplex communication, and respectively starts the reading, writing and logic processing coroutines for the full-duplex link message, and encapsulates the interface that the original server-side management component needs to actively call the computing-side storage component, and forwards it through the websocket full-duplex communication by the proxy service on the computing side. In addition, by introducing the architecture and method of full-duplex and half-duplex hybrid communication modes, it is possible to solve the problems of excessive port exposure, complex security management and network restrictions in traditional cloud-native storage systems, thereby improving the data security of the storage system.

[0100] Specifically, Figure 5 As shown, the storage system can be a cloud native storage system, specifically including a storage cluster and a computing cluster. The storage cluster can include a control server, and the control server can include a storage cluster management component (xstor-manager). The storage cluster management component is responsible for a series of storage business logics such as metadata operations of cloud disk storage volumes, storage volume shard allocation, storage volume replicas, and cloud disk availability recovery. The storage cluster can also include a storage volume shard management component (xstor-chunkserver), which is responsible for the cloud disk IO (input and output) processing logic of storage volume shards. The computing cluster can include multiple Nodes (computing nodes), and the computing nodes can include computing nodes that do not actively expose ports to the storage cluster and computing nodes that can expose ports to the storage cluster. Among them, the computing nodes that do not actively expose ports to the storage cluster can include containerized computing nodes in the k8s cluster, and the computing nodes that can expose ports to the storage cluster can include non-containerized computing nodes.

[0101] Among them, each computing node that does not actively expose ports to the storage cluster can include a proxy component (xstor-proxy) and a control component (xstor-volume). The proxy component is a full-duplex proxy component in the computing node. In a cloud-native environment, it will be deployed in the same pod with the k8s CSI (Container Storage Interface) node service. Pod is the smallest basic unit of deployment and management in a Kubernetes cluster. It represents one or more processes (i.e., a collection of one or more containers) running on the cluster. The control component is the control component of the storage volume on the computing node. In a cloud-native environment, it will be deployed in the same pod with the k8s CSI node service. The computing node that can expose ports to the storage cluster can include the control component (xstor-volume) but not the proxy component.

[0102] Furthermore, the cloud-native storage system supports a hybrid communication mode of websocket full-duplex and http (HyperText Transfer Protocol) half-duplex. The interactions between framework components are as follows: (1) The xstor-manager in the control server of the storage cluster communicates with the xstor-proxy on the computing side of the unexposed port through the websocket full-duplex communication mode, and proxies the interface that originally needs to actively call xstor-volume through xstor-proxy; (2) The xstor-manager in the control server of the storage cluster directly makes the original http half-duplex call to the computing node that provides the port; (3) The xstor-volme in the computing node can actively access the storage side's sharding business component xstor-chunkserver for storage IO reading and writing through storage protocols such as NVMf (NVMe overFabrics, a structure-based non-volatile memory fast access protocol) / ISCSI (Internet Small Computer System Interface). Figure 5 As shown, the solid double-directional arrow line represents the communication between the computing node and the management and control component of the storage cluster, including WebSocket full-duplex communication and HTTP half-duplex communication, and the dotted unidirectional arrow line represents the communication between the management and control component of the computing node and the storage volume sharding management component.

[0103] The control server encapsulates the interface information of the active call to the computing node into the following request and response structures:

[0104] type RequestMessage struct { / / Request message structure

[0105] Method string `json:"method"` / / Interface calling method

[0106] URL string `json:"url"` / / Call link

[0107] Headers map[string]string `json:"headers"` / / header information

[0108] Body string `json:"body"` / / message body

[0109] RequestID string `json:"requestid"` / / Request message ID

[0110] }

[0111] type ResponseMessage struct { / / Response message structure

[0112] Status int `json:"status"` / / Interface return code

[0113] Headers map[string]string `json:"headers"` / / header information

[0114] Body string `json:"body"` / / message body

[0115] RequestID string `json:"requestid"` / / Request message ID

[0116] }

[0117] Among them, in the request message structure, Method is the method of the original active call to the xstor-volume http interface, including Get (get) / Delete (delete) / Put (update) / Post (create) and other types of operations; URL (Uniform Resource Locator) is the URL of the original active call to the xstor-volume http interface; Headers is the http header content of the xstor-volume interface; Body is the interface call message body; RequestID is the context unique identifier of a single interface forwarding call. In the response message structure, Status is the interface return code, which is consistent with the http status code; Headers is the header information of the response message; Body is the message body of the response message; RequestID is the context unique identifier of a single interface forwarding call, which is consistent with the request message identifier in the corresponding request message.

[0118] Furthermore, when establishing full-duplex communication between the computing node and the control server, such as Figure 6As shown, after the proxy component xstor-proxy of the computing node is started, it calls the http registration interface of the storage cluster management component xstor-manager in the control server, and registers the communication address of xstor-proxy itself and the volumeID of the management to xstor-manager. VolumeID is the identifier of the management component xstor-volume corresponding to xstor-proxy. xstor-manager records the source IP (Internet Protocol) address of the registration interface, upgrades the http protocol to the websocket protocol, obtains the corresponding full-duplex communication connection, which can be a websocket connection ProxyConnection, and performs subsequent full-duplex communication with xstor-proxy. Specifically, xstor-proxy can send an HTTP request with an Upgrade header to xstor-manager, and xstor-manager can check the validity of the request and return an HTTP 101 response to implement protocol switching. xstor-proxy confirms the response and upgrades the connection. xstor-proxy establishes a full-duplex communication connection, specifically a websocket connection with xstor-manager, and xstor-manager confirms the websocket connection for xstor-proxy. After the full-duplex communication connection is established, that is, after the websocket connection is established, xstor-proxy and xstor-manager can exchange data through the websocket connection, thereby realizing full-duplex communication between the computing node and the control server. Specifically, a cyclic call of interface forwarding can be realized, and xstor-manager can encapsulate the interface call information, and forward the interface call information through the websocket connection. xstor-proxy returns the target call content corresponding to the interface call information to realize the response to the interface call information. When closing the connection, xstor-proxy can send a websocket close frame to xstor-manager, which ends the full-duplex communication connection and sends a websocket close frame to xstor-proxy in response, thereby closing the websocket connection between xstor-proxy and xstor-manager, that is, ending the full-duplex communication connection between the computing node and the control server.

[0119] Furthermore, if Figure 7The figure shows the interface proxy processing sequence diagram between the proxy component xstor-proxy on the computing node side and the xstor-manager on the control server side. Specifically, (1) the xstor-manager in the control server initializes two message queues RequestQueue (second request queue) and ResponseQueue (second response queue), and additionally starts the read and write coroutines for ProxyConnection (full-duplex communication connection), where the write coroutine writes the request (second request message) of the second request queue RequestQueue to xstor-proxy through ProxyConnection, and the read coroutine reads the message from ProxyConnection, deserializes the returned content and stores it in the second response queue ResponseQueue; (2) when the xstor-manager control process calls the xstor-volume interface, it determines whether the target node is the registered xstor-proxy proxy address; (3) if it is not a proxy address, it is called directly according to the original logic, and the http half-duplex communication protocol is used at this time; (4) if it is a proxy address, it is called through UUID (Universally UniqueIdentifier, universal unique identifier) ​​generates the requestID (request message identifier) ​​of the local forwarding call; (5) xstor-manager encapsulates the content of RequestMessage (the second request message) according to the interface, parameters and requestID, and writes it to RequestQueue; (6) xstor-proxy also maintains two message queues RequestQueue (the first request queue) and ResponseQueue (the first response queue), and starts three coroutines for reading, writing and calling processing; (7) When the xstor-proxy reading coroutine reads the websocket connection and obtains the interface call information, it deserializes it into RequestMessage (the first request message) and stores it in the first request queue RequestQueue; (8) The call processing coroutine of xstor-proxy obtains the first request message from the first request queue RequestQueue, assembles the http interface parameters to directly call the xstor-volume interface service in the same pod, and encapsulates its return content and the original RequestID into ResponseMessage (the first response message), and stores it in the first response queue ResponseQueue;(9) The xstor-proxy write coroutine reads the first response queue ResponseQueue, serializes the content of the first response message ResponseMessage, and writes it back to the xstor-manager through the websocket connection; (10) The xstor-manager read coroutine obtains the message from ProxyConnection and deserializes it into the second response message ResponseMessage and writes it into the second response queue ResponseQueue; (11) The xstor-manager main process obtains the return result of this forwarding call from the second response queue ResponseQueue according to the RequestID, that is, obtains the target call content corresponding to the interface call information. ;

[0120] The communication method of the storage system provided in this application adds a proxy component (xstor-proxy) on the computing node side, which can actively connect to the management and control component (xstor-manager) on the storage cluster side and establish full-duplex communication through the websocket protocol, thereby eliminating the need to actively open exposed ports on the k8s node, reducing the risk of external access. Moreover, message queues and coroutines are used on both ends of xstor-proxy and xstor-manager to process requests and responses, thereby converting interface calls from asynchronous to synchronous through request IDs based on the message queue and coroutine processing mechanism, ensuring high concurrent processing capabilities while ensuring context consistency. Specifically, the communication method of the storage system provided by the present application can make full use of CPU (Central Processing Unit) resources to provide concurrency capabilities. The request is converted into an asynchronous request and returned immediately after sending. Different interface requests can be sent directly to the queue without blocking. Other interface requests will not be unable to be made due to the previous interface request being blocked. After the xstor-proxy forwarding returns, the return content will be stored in the message queue. The request and return are associated and corresponded through the ID. The original coroutine that processes the request obtains the return value from the asynchronous queue according to the ID, and the receiving process can achieve the asynchronous to synchronous effect of this request. In addition, the communication method of the storage system provided by the present application supports WebSocket full-duplex and HTTP half-duplex hybrid communication modes, and is compatible with different network environments and distributed storage system deployment scenarios.

[0121] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0122] Based on the same inventive concept, the embodiment of the present application also provides a communication device for a storage system for implementing the communication method for the storage system involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the embodiments of the communication device for one or more storage systems provided below can refer to the limitations on the communication method for the storage system above, and will not be repeated here.

[0123] In an exemplary embodiment, Figure 8 As shown, a communication device 800 of a storage system is provided, which is applied to a computing node in the storage system. The storage system also includes a storage node for data storage and a control server for managing the storage node, including: a full-duplex connection establishment module 802, an interface call processing module 804 and a call content feedback module 806, wherein:

[0124] A full-duplex connection establishment module 802 is used to establish a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node;

[0125] The interface call processing module 804 is used to obtain the interface call information sent by the control server through the proxy component based on the full-duplex communication connection, and obtain the target call content from the local storage volume based on the interface call information;

[0126] The call content feedback module 806 is used to send the target call content to the control server through the proxy component based on the full-duplex communication connection.

[0127] In some embodiments, the interface call processing module 804 is also used to obtain the interface call information sent by the control server through the reading process of the proxy component based on the full-duplex communication connection, convert the interface call information into a first request message, and store the first request message in the first request queue; obtain the first request message from the first request queue through the call processing process of the proxy component, and call the storage volume interface based on the obtained first request message to obtain the target call content from the local storage volume.

[0128] In some embodiments, the interface call processing module 804 is also used to obtain a first response message based on the target call content and the first request message through a call processing process, and store the first response message in a first response queue, wherein the first response message carries the target call content; the call content feedback module 806 is also used to obtain the first response message from the first response queue through the write process of the proxy component, and send the obtained first response message to the control server based on a full-duplex communication connection, so that the control server can extract the target call content from the first response message.

[0129] In some embodiments, the full-duplex connection establishment module 802 is also used to send a proxy registration request to the control server through the proxy component in the computing node, and the proxy registration request is used to update the communication protocol between the control server and the computing node to a full-duplex communication protocol; when it is determined through the proxy component that the communication protocol between the control server and the computing node is updated to a full-duplex communication protocol, a full-duplex communication connection is established between the computing node and the control server based on the full-duplex communication protocol, and the full-duplex communication connection is used for full-duplex communication processing between the computing node and the control server.

[0130] In an exemplary embodiment, Fig. 9 As shown, a communication device 900 of a storage system is provided, which is applied to a control server in the storage system. The storage system also includes a storage node for data storage and a computing node for data processing. The control server is used to manage and control the storage node, including: a call information generation module 902, a call information sending module 904 and a call content acquisition module 906, wherein:

[0131] A call information generating module 902, for generating interface call information for a computing node when it is determined that a full-duplex communication connection is established between the control server and the computing node, wherein the full-duplex communication connection is established based on an agent component in the computing node and the control server;

[0132] A call information sending module 904 is used to send interface call information to the computing node through a full-duplex communication connection, where the interface call information is used to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection;

[0133] The calling content obtaining module 906 is used to obtain the target calling content corresponding to the interface calling information through a full-duplex communication connection.

[0134] In some embodiments, the call information generation module 902 is also used to generate a second request message for the computing node, and store the second request message in the second request queue; obtain the second request message from the second request queue through the write process, and use the second request message as the interface call information for the computing node; the call information sending module 904 is also used to send the interface call information to the computing node through the write process based on the full-duplex communication connection; the call content acquisition module 906 is also used to obtain the first response message sent by the proxy component based on the full-duplex communication connection through the read process, the first response message carries the target call content corresponding to the interface call information; convert the first response message into a second response message through the read process, and store the second response message in the second response queue; obtain the second response message from the second response queue, and extract the target call content from the second response message.

[0135] Each module in the communication device of the above storage system can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0136] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Fig.10 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data involved in the communication method of the above-mentioned storage system. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a communication method of a storage system is implemented.

[0137] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Fig.11 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a communication method of a storage system is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.

[0138] Those skilled in the art will understand that Fig.10 and Fig.11 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0139] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0140] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0141] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0142] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0143] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0144] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0145] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A communication method of a storage system, characterized in that: A computing node applied to a storage system, wherein the storage system further comprises a storage node for data storage and a control server for managing and controlling the storage node; the method comprises: Establishing a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node; When the interface call information sent by the control server is obtained through the proxy component based on the full-duplex communication connection, the target call content is obtained from the local storage volume based on the interface call information; The target call content is sent to the control server through the proxy component based on the full-duplex communication connection.

2. The method according to claim 1, characterized in that: The method of obtaining the interface call information sent by the control server through the proxy component based on the full-duplex communication connection and obtaining the target call content from the local storage volume based on the interface call information includes: When the reading process of the proxy component obtains the interface call information sent by the control server based on the full-duplex communication connection, the interface call information is converted into a first request message, and the first request message is stored in a first request queue; The first request message is obtained from the first request queue through the call processing process of the proxy component, and the storage volume interface is called based on the obtained first request message, and the target call content is obtained from the local storage volume through the local volume management component.

3. The method according to claim 2, characterized in that After calling the storage volume interface based on the first request message obtained, and obtaining the target calling content from the local storage volume through the local volume control component, the method further includes: Obtaining a first response message based on the target call content and the first request message through the call processing process, and storing the first response message in a first response queue, wherein the first response message carries the target call content; The step of sending the target call content to the control server based on the full-duplex communication connection through the proxy component includes: The first response message is obtained from the first response queue through the writing process of the proxy component, and the obtained first response message is sent to the control server based on the full-duplex communication connection, so that the control server extracts the target call content from the first response message.

4. The method according to any one of claims 1 to 3, characterized in that: The step of establishing a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node includes: Sending a proxy registration request to the control server through the proxy component in the computing node, wherein the proxy registration request is used to update the communication protocol between the control server and the computing node to a full-duplex communication protocol; When it is determined through the proxy component that the communication protocol between the control server and the computing node is updated to a full-duplex communication protocol, a full-duplex communication connection is established between the computing node and the control server based on the full-duplex communication protocol, and the full-duplex communication connection is used for full-duplex communication processing between the computing node and the control server.

5. The method according to claim 1, characterized in that The storage system also includes a half-duplex communication computing node for establishing a half-duplex communication connection with the control server, and the half-duplex communication connection is used for half-duplex communication processing between the half-duplex communication computing node and the control server.

6. A communication method of a storage system, characterized in that: A control server applied to a storage system, wherein the storage system further includes storage nodes for data storage and computing nodes for data processing, and the control server is used to manage and control the storage nodes; the method includes: In the case of determining that a full-duplex communication connection is established between the control server and the computing node, generating interface call information for the computing node, wherein the full-duplex communication connection is established based on an agent component in the computing node and the control server; Sending the interface call information to the computing node through the full-duplex communication connection, the interface call information is used to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection; The target calling content corresponding to the interface calling information is obtained through the full-duplex communication connection.

7. The method according to claim 6, characterized in that The generating of interface call information for the computing node includes: generating a second request message for the computing node, and storing the second request message in a second request queue; Obtaining the second request message from the second request queue through a writing process, and using the second request message as interface call information for the computing node; The step of sending the interface call information to the computing node through the full-duplex communication connection includes: Sending the interface call information to the computing node through the write process based on the full-duplex communication connection; The step of obtaining the target calling content corresponding to the interface calling information through the full-duplex communication connection includes: Obtaining, through a reading process based on the full-duplex communication connection, a first response message sent by the proxy component, wherein the first response message carries the target call content corresponding to the interface call information; Converting the first response message into a second response message through the read process, and storing the second response message in a second response queue; The second response message is obtained from the second response queue, and the target call content is extracted from the second response message.

8. A communication device for a storage system, characterized in that: A computing node applied to a storage system, wherein the storage system further includes a storage node for data storage and a control server for managing the storage node; the device includes: A full-duplex connection establishment module, used to establish a full-duplex communication connection between the computing node and the control server through the proxy component in the computing node; An interface call processing module, configured to obtain, through the proxy component based on the full-duplex communication connection, interface call information sent by the control server, and obtain target call content from a local storage volume based on the interface call information; A call content feedback module is used to send the target call content to the control server through the proxy component based on the full-duplex communication connection.

9. A communication device for a storage system, characterized in that: A control server applied to a storage system, wherein the storage system further includes storage nodes for data storage and computing nodes for data processing, and the control server is used to manage and control the storage nodes; the device includes: A call information generation module, configured to generate interface call information for the computing node when it is determined that a full-duplex communication connection is established between the control server and the computing node, wherein the full-duplex communication connection is established based on an agent component in the computing node and the control server; A call information sending module, used to send the interface call information to the computing node through the full-duplex communication connection, wherein the interface call information is used to instruct the computing node to return the target call content obtained from the local storage volume of the computing node through the proxy component based on the full-duplex communication connection; The calling content obtaining module is used to obtain the target calling content corresponding to the interface calling information through the full-duplex communication connection.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Edge cloud system, data transmission method and device and storage medium

    CN113726843A

  • Edge server management system and server cluster

    CN115190168A

  • System for collecting data of Internet of Things terminal in real time

    CN117857617A

  • Read performance from disaggregated storage using distributed storage agents

    US20230393971A1