Communication Method, Device and Computer Equipment of a Storage System

By establishing proxy components on the computing node, full-duplex communication between the computing node and the control server is achieved, the problem that the computing node needs to actively expose the ports is solved, reducing security risks and improving data security.

CN119363821BActive Publication Date: 2025-06-27CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411932189.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-06-27
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

Through the proxy components in the computing node, a full duplex communication connection between the computing node and the control server is established to realize the control server's access and management of the pre-stored data in the computing node, and avoid the computing node actively exposing the port.

Benefits of technology

It reduces the risk of external access to the computing nodes, improves data security of the storage system, and does not require the computing node to actively expose ports, simplifying security management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363821B_ABST
    Figure CN119363821B_ABST
Patent Text Reader

Abstract

The present application relates to a communication method, apparatus, and computer device for a storage system. The method is applied to a computing node in the storage system, and the storage system further includes a storage node for data storage and a control server for controlling the storage node, and includes: establishing a full-duplex communication connection between the computing node and the control server through a proxy component in the computing node; when obtaining interface call information sent by the control server based on the full-duplex communication connection through the proxy component, obtaining target call content from a local storage volume based on the interface call information; and sending the target call content to the control server through the proxy component based on the full-duplex communication connection. Using this method can improve the data security of the storage system.
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, device, computer device, computer-readable storage medium, and computer program product for a storage system. Background Art

[0002] With the rapid development of information technology, the demand for data storage and processing has shown explosive growth. To alleviate the challenges of data transmission latency and bandwidth bottleneck, etc., part of the data can be pre-positioned 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, and can be flexibly configured according to application requirements, applicable to scenarios such as big data analysis, real-time data processing, and machine learning, and can significantly improve the real-time performance and throughput of data processing.

[0003] However, the data storage management ability of the computing nodes is relatively weak, and it is necessary to actively expose ports to support the storage cluster on the storage side to be able to actively and securely access the pre-positioned stored data. However, the port exposure of the 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, device, computer device, computer-readable storage medium, and computer program product for a storage system that can improve the data security of the storage system for the above technical problems.

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

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

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

[0008] Send the target call content 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 for a storage system, which is applied to a computing node in the storage system. The storage system further includes a storage node for data storage and a control server for managing the storage node, and includes:

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

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

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

[0013] Thirdly, the present application also provides a computer device, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements each step of the communication method of the above storage system.

[0014] Fourthly, the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements each step of the communication method of the above storage system.

[0015] Fifthly, the present application also provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements each step of the communication method of the above storage system.

[0016] For the above communication method, device, computer device, computer-readable storage medium and computer program product of the storage system, a full-duplex communication connection between the computing node and the control server is established through the proxy component in the computing node. When obtaining interface call information sent by the control server 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 realized through the full-duplex communication connection established by the proxy component, without the computing node actively exposing ports, reducing the risk of external access to the computing node, and thus improving the data security of the storage system.

[0017] Sixthly, the present application provides a communication method of a storage system, 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, and the control server is used to manage the storage node; the method includes:

[0018] 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, and the full-duplex communication connection is established based on a proxy component in the computing node and the control server;

[0019] Send 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 based on the full-duplex communication connection through the proxy component;

[0020] Obtain the target call content corresponding to the interface call information through the full-duplex communication connection.

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

[0022] 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. 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, configured to send 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 based on the full-duplex communication connection through the proxy component;

[0024] A call content obtaining module, configured to obtain the target call content corresponding to the interface call information through the full-duplex communication connection.

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

[0026] In a ninth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements each step of the above communication method of the storage system.

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

[0028] For the communication method, device, computer equipment, computer-readable storage medium, and computer program product of the above storage system, when it is determined that a full-duplex communication connection is established between the proxy component in the computing node and the control server, the generated interface call information for the computing node is sent to the computing node through the full-duplex communication connection, so as to instruct the computing node to return, based on the full-duplex communication connection through the proxy component, the target call content obtained from the local storage volume of the computing node, and obtain the target call content corresponding to the interface call information through the full-duplex communication connection, enabling full-duplex communication between the computing node and the control server through the full-duplex communication connection established by the proxy component of the computing node, without the need for the computing node to actively expose ports, reducing the risk of external access to the computing node, and thus improving the data security of the storage system. 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 following will briefly introduce the drawings required for use in the description of the embodiments of the present application or related technologies. Obviously, the following described drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.

[0030] Figure 1 It is an application environment diagram of the communication method of the storage system in one embodiment;

[0031] Figure 2 It is a flowchart of the communication method of the storage system in one embodiment;

[0032] Figure 3 It is a flowchart of establishing a full-duplex communication connection in one embodiment;

[0033] Figure 4 It is a flowchart of the communication method of the storage system in another embodiment;

[0034] Figure 5 It is a flowchart of the communication method of the cloud-native storage system in one embodiment;

[0035] Figure 6 It is a timing diagram of establishing a full-duplex communication connection in one embodiment;

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

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

[0038] Figure 9Structural block diagram of the communication device of the storage system in yet another embodiment;

[0039] Figure 10 Internal structure diagram of a computer device in one embodiment;

[0040] Figure 11 Internal structure diagram of a computer device in yet another embodiment. Detailed implementation manners

[0041] In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to 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 by the embodiments of the present application can be applied to an application environment as Figure 1 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 storage nodes 106. The storage nodes 106 are used for data storage, and the control server 104 is used to manage the storage nodes 106. The computing node 102 and the storage nodes 106 communicate with the control server 104 through a network respectively. The data storage system can store the data that the control server 104 needs to process. The data storage system can be integrated on the control server 104, or placed in the cloud or other network servers.

[0043] On the one hand, a proxy component can be set on the computing node 102. 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 obtaining the interface call information sent by the control server 104 based on the full-duplex communication connection through the proxy component, 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 based on the full-duplex communication connection through the proxy component, so as to realize the access of the control server 104 to the pre-stored data in the computing node 102. The control server 104 can also update the obtained target call content to the storage nodes 106, so as to realize 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 proxy component in the computing node 102 and the control server 104, the control server 104 can generate interface call information for the computing node 102 and send the interface call information to the computing node 102 through the full-duplex communication connection, so as to instruct the computing node 102 to return, through the proxy component, the target call content obtained from the local storage volume of the computing node 102 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 realizing the access of the control server 104 to the pre-stored 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, laptop computers, 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 in-vehicle devices, projection devices, etc. The portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. The 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 composed of multiple physical servers, or a cloud server providing cloud computing services. The control server 104 or the storage node may specifically be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.

[0046] In an exemplary embodiment, as Figure 2 shown, a communication method for a storage system is provided. Taking the case where this method is applied to Figure 1 the computing node in the storage system as an example for illustration, it includes the following steps 202 to step 206. 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, specifically including a computing cluster and a storage cluster. The computing cluster can include at least one computing node, which is used for data computing and data storage. The storage cluster can include storage nodes for data storage and a control server for managing 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 nodes 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 implement full-duplex communication between the computing node and the control server. Full-duplex communication (Full Duplex) is an information interaction method in which both communication parties between the computing node and the control server can send and receive information simultaneously. The full-duplex communication connection can include a communication channel between the computing node and the control server, and this communication channel can support a full-duplex communication protocol, such as the websocket protocol, so that full-duplex communication between the computing node and the control server can be realized through this communication channel.

[0049] Exemplarily, the proxy component can be configured on the computing node, and a full-duplex communication connection with the control server can be established through the proxy component. For example, the computing node registers the proxy component to 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 in which the computing node and the control server can send and receive information simultaneously can be realized.

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

[0051] Among them, after the full-duplex communication connection is established, 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 at the local end of the computing node. The local storage volume is a logical container or partition in the local end of the computing node for storing data. 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 corresponding to the access by the control server through the interface call information, and specifically can include the data pre-stored by the computing node.

[0052] Optionally, the computing node can send and receive information to and from the control server through a proxy component, that is, achieve full-duplex communication between both parties. When obtaining the interface call information sent by the control server through the communication channel based on full-duplex communication connected by the proxy component, 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 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. For example, 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 storage system, through the proxy component in the computing node, a full-duplex communication connection is established between the computing node and the control server. When obtaining the interface call information sent by the control server 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 realized through the full-duplex communication connection established by the proxy component, without the computing node actively exposing ports, reducing the risk of external access to the computing node, thereby improving the data security of the storage system.

[0056] In some exemplary embodiments, when 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, it includes: when obtaining the interface call information sent by the control server through the read process of the proxy component based on the full-duplex communication connection, converting the interface call information into a first request message and storing the first request message in the first request queue; obtaining the first request message from the first request queue through the call processing process of the proxy component, and 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 and control component.

[0057] Among them, the read process is used to implement the information reading of the proxy component, specifically to obtain the interface call information sent by the control server based on the full-duplex communication connection. The proxy component can maintain two message queues such as the first request queue and the first response queue. The first request queue is used to store the messages 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 messages 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 obtained by converting the interface call information. For example, after deserializing the interface call information, the first request message can be obtained. The call processing process is used to implement the data call processing of the proxy component. For example, the target call content can be obtained from the local storage volume of the computing node through the call processing process. The local volume management and control component can be used as the storage volume controller at the local end of the computing node. For example, it can specifically be xstor-volume, which can aggregate the storage volume shards on the remote storage volume sharding management component xstor-chunkserver into a storage volume, and perform various management and control operations such as attach link, detacch separation, and attribute setting on the storage volume.

[0058] Optionally, the proxy component of the computing node can start a read process, and the read process can specifically be a read coroutine. A coroutine, also known as a micro-thread, 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, and restore it to a first request message with the 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 sequentially obtain the request messages from the first request queue for corresponding data call processing. The computing node can read and process the request messages from the first request queue through the call processing process of the proxy component. For example, 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 obtained first request message through the call processing process, so as to access the local storage volume through the local volume management and control component based on the storage volume interface, and obtain the target call content required corresponding to the interface call information from the local storage volume. The computing node can feedback the obtained target call content to the control server based on the full-duplex communication connection through the proxy component, thereby realizing the communication between the computing node and the control server.

[0059] During the communication process 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 the 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 the first request message. 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 the full-duplex communication connection through the read process of the proxy component, converts the interface call information into the first request message and stores it in the 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 computing node can receive the interface call information sent by the control server through the proxy component of the computing node without the computing node actively exposing the port, reducing the risk of external access to the computing node, and 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 and control component, the communication method of the storage system further includes: obtaining the 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 the first response queue, where the first response message carries the target call content.

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

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

[0064] Further, sending the target call content to the control server based on the full-duplex communication connection through the proxy component includes: obtaining the 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 can extract the target call content from the first response message.

[0065] Among them, the write process is used to implement the information writing of the proxy component, specifically used to send the first response message to the control server based on the full-duplex communication connection. The write process can specifically include a write coroutine. Exemplarily, the proxy component of the computing node can also start the write process to obtain the response message from the first response queue through the write process. For example, it can obtain the first response message carrying the target call content from the first response queue. The computing node can send the first response message obtained from the first response queue to the control server based on the full-duplex communication connection through the write process. After receiving the first response message, the control server can 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, stores the first response message in the first response queue, and then obtains the first response message from the first response queue through the write process of the proxy component, and feeds back the obtained first response message to the control server based on the full-duplex communication connection, so as to send the target call content to the control server through the proxy component of the computing node, without the need for the computing node to actively expose the port, reducing the risk of external access to the computing node, and thus improving the data security of the storage system.

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

[0068] Step 302: The proxy component in the computing node sends a proxy registration request to the control server. 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.

[0069] Among them, the proxy registration request is used to register the proxy component with the control server, so as to establish a full-duplex communication connection between the computing node and the control server through the proxy component. The full-duplex communication protocol is a communication protocol that supports full-duplex communication between both communication parties. For example, it can specifically include the WebSocket protocol.

[0070] Exemplarily, the computing node can send a proxy registration request to the control server through the proxy component. The proxy registration request may include information such as the communication address of the proxy component itself and the identifier of the local storage volume managed correspondingly. In some embodiments, after the computing node starts the proxy component, it 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 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 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 between the computing node and the control server is established 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 it is determined that the communication protocol 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. For example, the computing node can establish a full-duplex communication connection between the computing node and the control server through the proxy component based on the full-duplex communication protocol, 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, a computing node sends a proxy registration request to a control server through a 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, enabling full-duplex communication between the computing node and the control server based on the full-duplex communication connection, without the computing node actively exposing ports, reducing the risk of external access to the computing node, and thus 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 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.

[0075] Among them, the half-duplex communication computing node is a computing node that realizes half-duplex communication with the control server in the storage system, and specifically may include a computing node that can expose ports to the storage cluster, that is, the half-duplex communication computing node may include a non-containerized computing node. Exemplarily, for the half-duplex communication computing node in the 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 node in the storage system can establish a full-duplex communication connection with the control server through a proxy component, and the half-duplex communication computing node supports establishing 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, and it can adapt to more application scenarios. In an exemplary embodiment, as Figure 4 shown, a communication method of a storage system is provided, and this method is described by taking the control server in the Figure 1 storage system as an example, including the following steps 402 to step 406. 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, generate interface call information for the computing node, and 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, specifically including a computing cluster and a storage cluster. The computing cluster can include at least one computing node, which is used for data computing and data storage. The storage cluster can include storage nodes for data storage and a control server for managing 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 nodes 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 side of the computing node, which is used to implement 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 in the local side of the computing node.

[0079] Optionally, a full-duplex communication connection can be established between the control server and the computing node, specifically by establishing a full-duplex communication connection between the proxy component of the computing node and the control server. When the control server determines that a full-duplex communication connection is established 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, send 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 based on the full-duplex communication connection through the proxy component.

[0081] Among them, the local storage volume is a logical container or partition in the local side of the computing node for storing data. That is, the pre-stored data of the computing node is specifically stored in the local storage volume. The target call content is the data corresponding to the access by the control server through the interface call information, and specifically can include the pre-stored data of 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 the data of the computing node through the interface call information. After obtaining the interface call information based on the full-duplex communication connection, the computing node can obtain the target call content from the local storage volume of the computing node and return the target call content based on the full-duplex communication connection through the proxy component.

[0083] Step 406, obtain the target call content corresponding to the interface call information through the full-duplex communication connection.

[0084] Optionally, the control server can obtain the data sent by the computing node through the full-duplex communication connection, specifically obtain the 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 storage system, when it is determined that a full-duplex communication connection is established between the proxy component in the computing node and the control server, the generated interface call information for the computing node is sent to the computing node through the full-duplex communication connection, so as 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 full-duplex communication between the computing node and the control server can be realized through the full-duplex communication connection established by the proxy component of the computing node, without the need for the computing node to actively expose ports, reducing the risk of external access to the computing node, thereby improving the data security of the storage system.

[0086] In some exemplary embodiments, generating interface call information for a 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 write process and using the second request message as the interface call information for the computing node.

[0087] Among them, the second request message is used for data access to the data pre-stored in the computing node. The control server can maintain two message queues, namely a second request queue and a second response queue. The second request queue is used to store request messages that need to be sent to the computing node based on the full-duplex communication connection, and the second response queue is used to store response messages fed back by the computing node based on the full-duplex communication connection. The write process is used to implement the information writing of the control server, specifically used to send 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 in the computing node, the control server can generate a second request message for the computing node and store the second request message in the second request queue. The control server can 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 can 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 through the write process based on the full-duplex communication connection.

[0090] Optionally, the control server can send the interface call information to the computing node through the write process, for example, the control server can send the interface call information to the computing node based on the full-duplex communication connection through the write process.

[0091] Further, obtain the target call content corresponding to the interface call information through a full-duplex communication connection, including: obtaining, by a read process, a first response message sent by a proxy component based on the full-duplex communication connection, where the first response message carries the target call content corresponding to the interface call information; converting, by the read process, the first response message into a second response message 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] Among them, the read process is used to implement information reading of the control server, specifically for obtaining a first response message carrying the target call content feedback by a computing node based on the full-duplex communication connection. The second response message is a message obtained by converting the first response message. For example, after deserializing the first response message, the second response message can be obtained 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, through the read process, a first response message sent by the computing node through the proxy component based on the full-duplex communication connection. The first response message carries the target call content corresponding to the interface call information, and the target call content is 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 the second response queue. The control server can read messages from the second response queue, specifically, can 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 node based on the message queue mechanism and read / write process mechanism of the second request queue and the second response queue, ensuring context consistency while ensuring high-concurrency processing capabilities, and without requiring the computing node to actively expose ports, reducing the risk of external access to the computing node, thereby improving the data security of the storage system.

[0095] This application also provides an application scenario that applies the communication method of the above storage system. Specifically, the application of the communication method of the storage system in this 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 and typically runs on containerized platforms such as Kubernetes (k8s). Cloud-native storage is based on a cloud platform, stores data in the cloud, and uses technologies such as containerization and microservices to enable storage services to have advantages such as high scalability, high availability, and low cost.

[0097] Specifically, with the popularization of containerization technology, especially the widespread application of Kubernetes, the cloud-native transformation of storage systems has also become an important trend. In the scenario of cloud-native transformation of storage, some implementation solutions of storage systems need to pre-position some storage components on the computing nodes for the storage disks on the control nodes, and the storage cluster control 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 it is necessary to actively expose ports, then a loadbalance (load balancing) needs to be configured for external access, or by declaring NodePorts, open ports on each node on the computing side for services outside the cluster to access. Among them, Kubernetes is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications; the loadbalance 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 (node ports) is a type of Service in Kubernetes that allows external traffic to access services in the computing cluster through a fixed port of the node.

[0098] However, the Loadbalance of k8s is for the entire service and is not suitable for scenarios where each node (computing node) exposes ports. Moreover, using NodePorts will result in a large number of ports being exposed, and exposing each node to the outside 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. Additionally, the communication between the control components of mainstream cloud-native storage system solutions generally only supports the half-duplex communication mode and is not suitable for scenarios with this hybrid communication mode requirement.

[0099] Based on this, when the communication method of the storage system provided by this application is applied to a cloud-native storage system, the communication mode between the computationally constrained component with network limitations and the storage server component is switched to a full-duplex communication mode. At the forwarding proxy and server that support full-duplex communication, send and receive queues for encapsulating interface calls are maintained, and read, write, and logical processing coroutines for full-duplex link messages are started respectively. The interfaces that the server management component originally needed to actively call the computational storage component are encapsulated and forwarded by the proxy service on the computational side through websocket full-duplex communication. In addition, by introducing an architecture and method of a full-duplex and half-duplex hybrid communication mode, problems such as excessive port exposure, complex security management, and network limitations existing in traditional cloud-native storage systems can be solved, thereby improving the data security of the storage system.

[0100] Specifically, as Figure 5 shown, the storage system can be a cloud-native storage system, specifically including a storage cluster and a computational cluster. The storage cluster can include a control server, and the control server can include a storage cluster management and control component (xstor-manager). The storage cluster management and control 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), and the storage volume shard management component is responsible for the cloud disk IO (input / output) processing logic of the storage volume shards. The computational cluster can include multiple Nodes (computational nodes), and the computational nodes can include computational nodes that do not actively expose ports to the storage cluster and computational nodes that can expose ports to the storage cluster. Among them, the computational nodes that do not actively expose ports to the storage cluster can include containerized computational nodes in the k8s cluster, and the computational nodes that can expose ports to the storage cluster can include non-containerized computational nodes.

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

[0102] Furthermore, in this cloud native storage system, a hybrid communication mode that supports websocket full duplex and http (HyperText Transfer Protocol) half duplex is supported. The interactions between the framework components are as follows: (1) xstor-manager in the control server of the storage cluster communicates with xstor-proxy on the computing side that does not expose ports through the websocket full-duplex communication mode, and proxies the interfaces that originally need to actively call xstor-volume through xstor-proxy; (2) xstor-manager in the control server of the storage cluster directly makes the original http half-duplex call to the computing node that provides ports; (3) xstor-volme in the computing node can actively access the sharded service component xstor-chunkserver on the storage side through storage protocols such as NVMf (NVMe over Fabrics) / ISCSI (Internet Small Computer System Interface) for storage IO reading and writing. As Figure 5 shown, the solid double-headed arrow 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, and the dashed single-headed arrow represents the communication between the management and control component of the computing node and the storage volume shard management component.

[0103] Among them, the interface information of the active call of the control server for the computing node is encapsulated into the following request and response structures:

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

[0105] Method string `json:"method"` / / Interface call 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 identifier

[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 identifier

[0116] }

[0117] Among them, in the request message structure, Method is the method originally used for the active call to the xstor-volume http interface, including types of operations such as Get (retrieve) / Delete (delete) / Put (update) / Post (create), etc.; 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 message body of the interface call; RequestID is the unique context identifier for 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 unique context identifier for a single interface forwarding call, which is consistent with the request message identifier in the corresponding request message.

[0118] Further, when establishing full-duplex communication between the compute node and the control server, such as Figure 6As shown in the figure, after the proxy component xstor-proxy of the computing node starts, it calls the http registration interface of the storage cluster management and control component xstor-manager in the control server, and registers its own communication address and the managed volume ID to xstor-manager. The volume ID is the identifier of the xstor-volume corresponding to the xstor-proxy management and control component. 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, specifically, it can be the websocket connection ProxyConnection, and conducts subsequent full-duplex communication with xstor-proxy. Specifically, xstor-proxy can send an HTTP request with an Upgrade header to xstor-manager. Xstor-manager can check the validity of the request and return an HTTP 101 response to achieve protocol switching. Xstor-proxy confirms the response and upgrades the connection. Xstor-proxy establishes a full-duplex communication connection, specifically, it establishes a websocket connection with xstor-manager, and xstor-manager confirms the websocket connection for xstor-proxy. After establishing the full-duplex communication connection, that is, after establishing the websocket connection, data exchange can be carried out between xstor-proxy and xstor-manager through the websocket connection, thus realizing the full-duplex communication between the computing node and the control server. Specifically, it can realize the loop call of interface forwarding. Xstor-manager can encapsulate the interface call information and forward the call of 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. Xstor-manager ends the full-duplex communication connection and sends a websocket close frame in response to xstor-proxy, so that the websocket connection between xstor-proxy and xstor-manager is closed, that is, the full-duplex communication connection between the computing node and the control server is ended.

[0119] Furthermore, as Figure 7As shown, it is a timing diagram of interface proxy processing between the proxy component xstor-proxy on the compute node side and xstor-manager on the control server side. Specifically, (1) xstor-manager in the control server initializes two message queues, RequestQueue (the second request queue) and ResponseQueue (the second response queue), and additionally starts read and write coroutines for ProxyConnection (full-duplex communication connection). Among them, the write coroutine writes the request (the second request message) of the second request queue RequestQueue to xstor-proxy through ProxyConnection, and the read coroutine reads messages 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 proxy address registered by xstor-proxy; (3) If it is not the proxy address, it directly calls according to the original logic, and at this time, the http half-duplex communication protocol is used; (4) If it is the proxy address, it generates a requestID (request message identifier) for local forwarding call through UUID (Universally Unique Identifier); (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 call processing; (7) When the xstor-proxy read 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, directly calls the xstor-volume interface service in the same pod, and encapsulates its returned 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 xstor-manager through the websocket connection; (10) After obtaining the message from the ProxyConnection, the xstor-manager read coroutine deserializes it into a second response message ResponseMessage and writes it into the second response queue ResponseQueue; (11) The main process of xstor-manager 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 by this application adds a proxy component (xstor-proxy) on the computing node side. This proxy component 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. Therefore, there is no need to actively open and expose ports on the k8s nodes, reducing the risk of external access. Moreover, message queues and coroutines are used at both ends of xstor-proxy and xstor-manager to process requests and responses. Thus, based on the message queue and coroutine processing mechanism, the interface call is changed from asynchronous to synchronous through the request ID, ensuring high concurrent processing ability while ensuring context consistency. Specifically, the communication method of the storage system provided by this application can make full use of CPU (Central Processing Unit) resources to provide concurrent capabilities. The request sending is converted into an asynchronous request and returns immediately after sending. Different interface requests can be directly sent to the queue without blocking, and other interface requests will not be blocked because the previous interface request has not returned. After the xstor-proxy forwarding returns, the return content will be stored in the message queue. The request and the return are associated and corresponding through the ID. The original coroutine for processing the request obtains the return value from the asynchronous queue according to the ID, and the asynchronous-to-synchronous effect of this request can be achieved in the receiving process. In addition, the communication method of the storage system provided by this application supports the mixed communication mode of WebSocket full-duplex and HTTP half-duplex, and can be compatible with different network environments and distributed storage system deployment scenarios.

[0121] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of the steps or stages in other steps or other steps.

[0122] Based on the same inventive concept, an embodiment of the present application further provides a communication device for a storage system for implementing the communication method of the storage system involved above. The solution provided by this device to solve the problem is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the communication device for the storage system provided below can refer to the limitations on the communication method of the storage system in the above text, and will not be repeated here.

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

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

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

[0126] The call content feedback module 806 is configured 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 further configured to, when obtaining interface call information sent by the control server through the read 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 target call content from the local storage volume of the computing node.

[0128] In some embodiments, the interface call processing module 804 is further configured to obtain a first response message based on the target call content and the first request message through the call processing process, and store the first response message in the first response queue, where the first response message carries the target call content; the call content feedback module 806 is further configured 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 the full-duplex communication connection, so that the control server extracts the target call content from the first response message.

[0129] In some embodiments, the full-duplex connection establishment module 802 is further configured to send a proxy registration request to the control server through the proxy component in the computing node, where the proxy registration request is used to update the communication protocol between the control server and the computing node to the 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 the full-duplex communication protocol, establish a full-duplex communication connection 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, as Figure 9 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 further includes a storage node for data storage and a computing node for data processing. The control server is used to manage the storage node, and includes: a call information generation module 902, a call information sending module 904, and a call content obtaining module 906, where:

[0131] The call information generation module 902 is 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, and the full-duplex communication connection is established based on the proxy component in the computing node and the control server;

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

[0133] A call content acquisition module 906, configured to acquire target call content corresponding to interface call information through a full-duplex communication connection.

[0134] In some embodiments, the call information generation module 902 is further configured to generate a second request message for a computing node, store the second request message in a second request queue; obtain the second request message from the second request queue through a write process, and use the second request message as interface call information for the computing node; the call information sending module 904 is further configured to send the interface call information to the computing node based on the full-duplex communication connection through the write process; the call content acquisition module 906 is further configured to obtain a first response message sent by a proxy component based on the full-duplex communication connection through a read process, where 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 a 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, and their combination. The above modules can be embedded in or independent of a processor in a computer device in the form of hardware, or stored in a memory in the computer device in the form of software, so that the processor can call and execute operations corresponding to the above modules.

[0136] In an exemplary embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 10 shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated 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 storage system. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with an external terminal through a network connection. The computer program, when executed by the processor, implements a communication method of a storage system.

[0137] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structural diagram may be as shown in Figure 11 FIG. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. Among them, 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. 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 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 for exchanging information between the processor and external devices. The communication interface of the computer device is used for communicating with external terminals in a wired or wireless manner. 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, it implements a communication method of a storage system. 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. The input device of the computer device can be a touch layer covered on the display screen, or a button, a trackball, or a touchpad provided on the computer device housing, or an external keyboard, touchpad, or mouse, etc.

[0138] Those skilled in the art can understand that Figure 10 and Figure 11 the structures shown in FIGS. are only block diagrams of some structures related to the solution of the present application, and do 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 some components, or have different component arrangements.

[0139] In an embodiment, a computer device is further provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.

[0140] In an embodiment, a computer-readable storage medium is provided, storing a computer program, and when the computer program is executed by the processor, the steps in the above method embodiments are implemented.

[0141] In an embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by the processor, the steps in the above method embodiments are implemented.

[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 for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.

[0143] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. 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 methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in this 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), magnetoresistive 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. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in this application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in this application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, artificial intelligence (AI) processors, etc., without limitation.

[0144] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, 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, it should be considered as the scope recorded in this application.

[0145] The above-described embodiments merely represent several implementation manners of this application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of this application. It should be noted that for those of ordinary skill in the art, without departing from the concept of this application, several modifications and improvements can still be made, and these all belong to the protection scope of this application. Therefore, the protection scope of this application shall be subject to the appended claims.

Claims

1. A communication method of a storage system, characterized in that: A computing node applied to a storage system, wherein an agent component is arranged on the computing node, and 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: After the computing node starts the configured proxy component, the original communication protocol registration interface of the control server is called, and based on the original communication protocol registration interface, a proxy registration request is sent to the control server through the proxy component, wherein the proxy registration request includes the communication address of the proxy component itself and the corresponding local storage volume identifier to be managed, and the proxy registration request is used to register the proxy component with the control server, and the proxy registration request is used to update the original communication protocol between the control server and the computing node to a full-duplex communication protocol; When it is determined by 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; 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 local storage volume is a logical container or partition for storing data in the local end of the computing node, and the data pre-stored by the computing node is stored in the local storage volume, and the target call content is the data corresponding to the control server accessed through the interface call information, including the data pre-stored by the computing node; 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 full-duplex communication protocol includes the websocket protocol.

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 a storage node for data storage and a computing node for data processing, an agent component is provided on the computing node, and the control server is used to manage and control the storage node; the method includes: In the case of determining 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, wherein the full-duplex communication connection is established based on the proxy component in the computing node and the control server; the step of establishing the full-duplex communication connection comprises: after the computing node starts the configured proxy component, the computing node calls the original communication protocol registration interface of the control server, and based on the original communication protocol registration interface, sends a proxy registration request to the control server through the proxy component, wherein the proxy registration request includes the communication address of the proxy component itself and the corresponding local storage volume identifier to be managed, the proxy registration request is used to register the proxy component with the control server, and the proxy registration request is used to update the original 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, the computing node establishes a full-duplex communication connection 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; The interface call information is sent to the computing node through the full-duplex communication connection, and 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 local storage volume is a logical container or partition for storing data in the local end of the computing node, and the data pre-stored by the computing node is stored in the local storage volume, and the target call content is the data corresponding to the access of the control server through the interface call information, including the data pre-stored by the computing node; 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 an agent component is arranged on the computing node, wherein the storage system further comprises a storage node for data storage and a control server for managing and controlling the storage node; the device comprises: A full-duplex connection establishment module, which is used to call the original communication protocol registration interface of the control server after the configured proxy component is started on the computing node, and based on the original communication protocol registration interface, send a proxy registration request to the control server through the proxy component, wherein the proxy registration request includes the communication address of the proxy component itself and the corresponding local storage volume identifier to be managed, and the proxy registration request is used to register the proxy component with the control server, and the proxy registration request is used to update the original 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; 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; the local storage volume is a logical container or partition for storing data in the local end of the computing node, and the data pre-stored by the computing node is stored in the local storage volume, and the target call content is the data corresponding to the control server accessed through the interface call information, including the data pre-stored by the computing node; 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 a storage node for data storage and a computing node for data processing, an agent component is provided on the computing node, and the control server is used to manage and control the storage node; the device includes: 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; the step of establishing the full-duplex communication connection includes: after the computing node starts the configured proxy component, the computing node calls the original communication protocol registration interface of the control server, and based on the original communication protocol registration interface, sends a proxy registration request to the control server through the proxy component, wherein the proxy registration request includes the communication address of the proxy component itself and the corresponding local storage volume identifier to be managed, the proxy registration request is used to register the proxy component with the control server, and the proxy registration request is used to update the original 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, the computing node establishes a full-duplex communication connection 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; A call information sending module, used to send 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 local storage volume is a logical container or partition for storing data in the local end of the computing node, the data pre-stored by the computing node is stored in the local storage volume, and the target call content is the data accessed by the control server through the interface call information, including the data pre-stored by the computing node; 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.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Edge server management system and server cluster

    CN115190168A

  • Read performance from disaggregated storage using distributed storage agents

    US20230393971A1