Network management server, message communication method, and storage medium

CN117221341BActive Publication Date: 2026-11-03JINAN INSPUR DATA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311297820.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-08
Publication Date
2026-11-03
Estimated Expiration
2043-10-08

AI Technical Summary

Technical Problem

In distributed storage systems, as the number of storage nodes increases, the number of network connections increases exponentially, leading to problems such as decreased system performance and management complexity, including resource waste and network failure risks.

Method used

By deploying a network management server in a distributed storage system, and utilizing the network communication server and network interface card (NIC) to build a network communication server and a virtual network connection module, the number of network connections can be reduced, message transmission channels can be interconnected, and connection storms and resource waste can be avoided.

Benefits of technology

It reduces the number of network connections, improves network efficiency, avoids performance degradation and resource consumption, simplifies cluster management and maintenance, and reduces the risk of network failure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117221341B_ABST
    Figure CN117221341B_ABST
Patent Text Reader

Abstract

The application relates to the computer technical field and discloses a network management server, a message communication method and a storage medium, which comprise the following steps: a first network connection management module transmits communication messages transmitted between any disk management server in a first node and any disk management server in a second node through a network communication transmission channel; a first network message processing module analyzes the communication messages received by the first network connection management module to obtain message content; a first network message distribution module distributes the message content to a target disk management server through a virtual message transmission channel pre-created by a first virtual network connection module; and the first virtual network connection module is used for creating the virtual message transmission channel, transmitting the message content to the target disk management server through the virtual message transmission channel, or receiving a virtual network connection request sent by any disk management server. The number of network connections in a distributed cluster is reduced, and network communication efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, specifically to network management servers, message communication methods, and storage media. Background Technology

[0002] With the development of the internet and big data industries, most enterprises have begun to adopt distributed storage and are placing increasingly higher demands on the performance and capacity of storage systems. The simplest and most direct way to increase storage system capacity is to expand the cluster size. However, as the number of storage nodes in the cluster increases, the number of network connections in the distributed storage system increases exponentially. When the number of network connections in the system is too high, it will cause many network-related problems. The most direct impact is that too many connections will consume a large amount of system memory and CPU resources, ultimately leading to a decline in the performance of the storage system and failing to achieve the performance specifications preset by the cluster design. At the same time, too many network connections will also make the cluster difficult to maintain and manage. In the event of a network failure, a large number of connection drops and reconnections may trigger a connection storm, causing network connection establishment failures. Summary of the Invention

[0003] In view of this, the present invention provides a network management server, a message communication method, and a storage medium to solve the problem of the number of network connections in the system in the prior art, thereby avoiding the occurrence of a series of problems caused by the number of network connections.

[0004] In a first aspect, the present invention provides a network management server, which is deployed on a first node. In addition to the network management server, the first node also includes a first network interface card and at least one disk management server. The first node is any node in a distributed storage cluster. The network management server includes: a first network connection management module, a first virtual network connection module, a first network message processing module, and a first network message distribution module.

[0005] The first network connection management module establishes a communication connection with the second network connection management module in the second node through a network communication transmission channel constructed by the first network card and the second network card. This connection is used to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel. The second network card is a network card deployed in the second node.

[0006] The first network message processing module establishes a communication connection with the first network connection management module and is used to parse the communication messages received by the first network connection management module and obtain the message content.

[0007] The first network message distribution module establishes communication connections with the first network message processing module and the first virtual network connection module, respectively, and is used to distribute message content to the target disk management server through the virtual message transmission channel pre-created by the first virtual network connection module. The target disk management server is any one of at least one disk management server.

[0008] The first virtual network connection module is used to create a virtual message transmission channel to transmit message content to the target disk management server, or to receive a virtual network connection request sent by any disk management server. The virtual network connection request is used to instruct the establishment of a communication connection with any disk management server in the second node.

[0009] The network management server provided by this invention has the following advantages:

[0010] In a distributed storage system, both the first and second nodes are equipped with network management servers. The network connection management modules within these servers establish communication connections using network communication channels built from network interface cards (NICs). These connections between modules within the network management servers facilitate the transmission of communication messages to the disk management servers. Throughout this process, different disk management servers do not need to establish communication with each other via network connections. Message communication can be achieved entirely through the "message transmission channel" jointly constructed by the network management server and the NICs. Since the number of network connections is independent of the number of disk management servers within a node, the number of network connections in the distributed cluster can be significantly reduced, improving network efficiency. Furthermore, it avoids the performance degradation caused by excessive connections consuming large amounts of system memory and CPU resources, simplifying cluster maintenance and management. Even in the event of a network failure, the reduced number of connection drops and reconnections minimizes the risk of connection failures due to connection storms.

[0011] In one optional implementation, the message content includes first identification information corresponding to the target disk management server; the first network message distribution module is specifically used for:

[0012] Select the target virtual message transmission channel based on the first identification information;

[0013] The message content is sent to the target disk management server through the target virtual message transmission channel.

[0014] Specifically, when different disk management servers establish a communication connection, the network message distribution module distributes the message content to different target virtual message transmission channels. Therefore, after obtaining the message content, the module selects the target virtual message transmission channel based on the first identifier information corresponding to the target disk management server included in the message content, and sends the message content to the target disk management server through the target virtual message transmission channel.

[0015] In one optional implementation, the message content includes: second identification information corresponding to the first disk management server, where the first disk management server is any disk management server in the second node that sent the communication message; and a first network message distribution module, specifically used for:

[0016] Select the target virtual message transmission channel based on the second identification information;

[0017] The message content is sent to the target disk management server through the target virtual message transmission channel.

[0018] Specifically, in addition to determining the target virtual message transmission channel through the aforementioned methods, if the message content includes the second identifier information corresponding to the sender, the target virtual message transmission channel can also be selected based on the sender's identifier information. Therefore, the target virtual message transmission channel can be selected based on the second identifier information corresponding to the first disk management server, and then the message content can be sent to the target disk management server through the target virtual message transmission channel.

[0019] In one alternative implementation, the first virtual network connection module is further configured to:

[0020] Receive a virtual network connection request sent by a second disk management server, wherein the second disk management server is any disk management server deployed in the first node, and the virtual network connection request includes third identification information corresponding to a third disk management server, wherein the third disk management server is any disk management server deployed in the second node;

[0021] Based on the third identification information, query whether a target network communication transmission channel exists, wherein the target network communication transmission channel is used to transmit communication messages between the second disk management server and the third disk management server;

[0022] Once the existence of a target network communication transmission channel is confirmed, a target virtual message transmission channel is established; a response message is sent to the second disk management server, indicating that the establishment of the target virtual message transmission channel is complete.

[0023] Receive connection management messages sent by the second disk management server through the target virtual message transmission channel;

[0024] A connection management message is sent to the first network connection management module, wherein the connection management message carries third identification information;

[0025] The first network connection management module sends connection management messages to the second node through the connection management message transmission channel, so that the second node can establish a communication connection between the first disk management server and the second disk management server based on the connection management messages.

[0026] Specifically, upon receiving a virtual network connection request from any disk management server deployed in the first node, the first virtual network connection module first determines whether a target network communication transmission channel exists. If it exists, a target virtual message transmission channel is established. If it does not exist, a target network communication transmission channel is created first. After creation, a target virtual message transmission channel is created. After the target virtual message transmission channel is created, a response message is sent to the disk management server that sent the virtual network connection request to inform it that the target virtual message transmission channel has been established. Then, it can receive a connection management message sent by the disk management server through the target virtual message transmission channel; it sends the connection management message to the first network connection management module, carrying the identification information corresponding to the disk management server in the connection management message. Then, the message is transmitted to the second node through the network communication transmission channel established by the first network connection management module and the second network connection management module in the second node, and the communication connection between the first disk management server and the second disk management server is realized through the modules in the network management server deployed in the second node.

[0027] In one optional implementation, the target virtual message transmission channel includes a connection management message transmission channel and a service message transmission channel; the communication messages include connection management messages or service messages.

[0028] Specifically, the connection management message transmission channel is the "channel" used to establish information transmission between two disk management servers. The business message transmission channel is used to transmit "business messages" between the two disk management servers.

[0029] In one alternative implementation, the network communication transmission channels include multiple channels.

[0030] In one optional implementation, the first virtual network connection module creates multiple virtual message transmission channels through virtual network connections; the first virtual network connection module is also used for:

[0031] Statistics on the occupancy of virtual message transmission channels created by the same virtual network connection;

[0032] When the virtual message transmission channels created by the same virtual network connection are not occupied at the current time, disconnect the virtual network connection and release the network resources corresponding to the virtual network connection.

[0033] That is, when all virtual message transmission channels created by the same virtual network connection are in an idle state, the virtual network connection is disconnected and network resources are released, ensuring that all network resources can be fully utilized while avoiding waste of network resources.

[0034] Secondly, the present invention provides a message communication method, which is applied to a network management server described in any embodiment of the first aspect. The network management server is deployed on a first node, and the first node includes, in addition to the network management server, a first network interface card (NIC) and at least one disk management server. The first node is any node in a distributed storage cluster. The network management server includes: a first network connection management module, a first virtual network connection module, a first network message processing module, and a first network message distribution module. The method includes:

[0035] The first network connection management module establishes a communication connection with the second network connection management module in the second node through a network communication transmission channel constructed by the first network card and the second network card. This connection is used to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel. The second network card is a network card deployed in the second node.

[0036] The first network message processing module parses the communication messages received by the first network connection management module and obtains the message content;

[0037] The first network message distribution module distributes message content to the target disk management server through the virtual message transmission channel pre-created by the first virtual network connection module, wherein the target disk management server is any one of at least one disk management server;

[0038] The first virtual network connection module transmits message content to the target disk management server through a pre-built virtual message transmission channel, or receives a virtual network connection request sent by any disk management server. The virtual network connection request is used to instruct the establishment of a communication connection with any disk management server in the second node.

[0039] The message communication method provided by this invention has the following advantages:

[0040] In a distributed storage system, both the first and second nodes are equipped with network management servers. The network connection management modules within these servers establish communication connections using network communication channels built from network interface cards (NICs). These connections between modules within the network management servers facilitate the transmission of communication messages to the disk management servers. Throughout this process, different disk management servers do not need to establish communication with each other via network connections. Message communication can be achieved entirely through the "message transmission channel" jointly constructed by the network management server and the NICs. Since the number of network connections is independent of the number of disk management servers within a node, the number of network connections in the distributed cluster can be significantly reduced, improving network efficiency. Furthermore, it avoids the performance degradation caused by excessive connections consuming large amounts of system memory and CPU resources, simplifying cluster maintenance and management. Even in the event of a network failure, the reduced number of connection drops and reconnections minimizes the risk of connection failures due to connection storms.

[0041] In an optional implementation, after the first virtual network connection module receives a virtual network connection request sent by any disk management server, the method further includes:

[0042] The first virtual network connection module extracts the identification information corresponding to the first disk management server from the virtual network connection request, wherein the first disk management server is any one of the disk management servers in the second node;

[0043] Based on the identification information, query whether a target network communication transmission channel exists. The target network communication transmission channel is used to transmit communication messages between the second disk management server and the first disk management server. The second disk management server is any disk management server in the first node that sends a virtual network connection request to the first virtual network connection module.

[0044] Once the existence of a target network communication transmission channel is confirmed, a target virtual message transmission channel is established; a response message is sent to the second disk management server, indicating that the establishment of the target virtual message transmission channel is complete.

[0045] Receive connection management messages sent by the second disk management server through the target virtual message transmission channel;

[0046] A connection management message is sent to the first network connection management module, wherein the connection management message carries identification information;

[0047] The first network connection management module sends connection management messages to the second node through the connection management message transmission channel, so that the second node can establish a communication connection between the first disk management server and the second disk management server based on the connection management messages.

[0048] Specifically, upon receiving a virtual network connection request from any disk management server deployed in the first node, the first virtual network connection module first determines whether a target network communication transmission channel exists. If it exists, a target virtual message transmission channel is established. If it does not exist, a target network communication transmission channel is created first. After creation, a target virtual message transmission channel is created. After the target virtual message transmission channel is created, a response message is sent to the disk management server that sent the virtual network connection request to inform it that the target virtual message transmission channel has been established. Then, it can receive a connection management message sent by the disk management server through the target virtual message transmission channel; it sends the connection management message to the first network connection management module, carrying the identification information corresponding to the disk management server in the connection management message. Then, the message is transmitted to the second node through the network communication transmission channel established by the first network connection management module and the second network connection management module in the second node, and the communication connection between the first disk management server and the second disk management server is realized through the modules in the network management server deployed in the second node.

[0049] Thirdly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to perform the message communication method described in the second aspect or any of its corresponding embodiments. Attached Figure Description

[0050] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0051] Figure 1 This is a schematic diagram of the connection between two node systems provided in an embodiment of the present invention;

[0052] Figure 2 This is a schematic diagram of the structure of a network management server provided in an embodiment of the present invention;

[0053] Figure 3 This is a flowchart illustrating a message communication method according to an embodiment of the present invention;

[0054] Figure 4 This is a flowchart illustrating another message communication method provided according to an embodiment of the present invention;

[0055] Figure 5 This is a schematic diagram of the hardware structure of the network management server according to an embodiment of the present invention. Detailed Implementation

[0056] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0057] In distributed storage systems, network connections are primarily established for data balancing and backup between disks. Currently, mainstream distributed storage systems communicate by establishing socket connections between every two disk management services. As a result, the number of network connections increases exponentially with the number of disks in the cluster.

[0058] In a specific example, suppose the cluster has N nodes, and each node has P disk management services. Using a traditional approach, if all disk management services on each node in the cluster are guaranteed to be connected to each other, then the number of network connections in the cluster is M = NP * (NP-1) / 2. Increasing N or P will cause a sharp increase in the number of network connections. Too many network connections in the system can cause many network-related problems. The most direct impact is that excessive connections consume a large amount of system memory and CPU resources, ultimately leading to a decline in storage system performance and failing to meet the cluster's performance specifications. Furthermore, too many network connections make the cluster difficult to maintain and manage. During network failures, a large number of connection drops and reconnections can trigger a connection storm, causing network connection establishment failures.

[0059] To address the aforementioned problems, this invention provides an embodiment for remotely upgrading complex programmable logic devices. It should be noted that the steps shown in the flowcharts in the accompanying drawings can be executed in a computer system (client) including a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0060] This embodiment provides a network management server designed to manage network connections, providing limited network connections between distributed storage nodes for node use, thus decoupling the network module from the storage system's business modules. When storage nodes are expanded, the number of backend network connections in the cluster increases exponentially with the number of nodes. For disk services, their network usage remains unchanged; they obtain the necessary network connections from the network management module and directly receive and send messages.

[0061] In this embodiment, the network management server is deployed on the first node. In addition to the network management server, the first node also includes a first network interface card and at least one disk management server. The first node is any node in the distributed storage cluster. The network management server includes: a first network connection management module, a first virtual network connection module, a first network message processing module, and a first network message distribution module.

[0062] For details, see Figure 1 As shown, Figure 1 The diagram illustrates the connection between two node systems. Figure 1 The system includes a first node and a second node. Both the first and second nodes include a network interface card (NIC), a network management server, and at least one disk management server. For example, to distinguish them, the first node includes a first NIC, a first network management server, and at least one disk management server. The second node includes a second NIC, a second network management server, and at least one disk management server.

[0063] The network connection between the first network management server and the second network management server is a socket connection, established through the first and second network interface cards (NICs) to enable communication between the two nodes. The network management server and the disk management server communicate via a pipe.

[0064] As shown in the diagram above, the number of network connections will decrease from NP*(NP-1) / 2 to Q*N(N-1) / 2. Here, N is the number of nodes, P is the number of disk management servers, and Q is the number of network connections between nodes. The number of connections is independent of the number of disk management services within a node; the value of Q is much smaller than P*P, and the value of N is also smaller than the value of P. This comparison demonstrates that this connection management method can significantly reduce the number of network connections in a distributed cluster.

[0065] See details Figure 2 As shown, Figure 2The diagram illustrates the structure of a network management server. Taking the first network management server as an example, it specifically includes: a first network connection management module, a first network message processing module, a first network message distribution module, and a first virtual network connection module, which are connected sequentially.

[0066] The specific working principle includes:

[0067] The first network connection management module establishes a communication connection with the second network connection management module in the second node through a network communication transmission channel constructed by the first network card and the second network card, so as to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel.

[0068] The first network message processing module establishes a communication connection with the first network connection management module and is used to parse the communication messages received by the first network connection management module and obtain the message content.

[0069] The first network message distribution module establishes communication connections with the first network message processing module and the first virtual network connection module, respectively, and is used to distribute message content to the target disk management server through the virtual message transmission channel pre-created by the first virtual network connection module. The target disk management server is any one of at least one disk management server.

[0070] The first virtual network connection module is used to create a virtual message transmission channel to transmit message content to the target disk management server, or to receive a virtual network connection request sent by any disk management server. The virtual network connection request is used to instruct the establishment of a communication connection with any disk management server in the second node.

[0071] Specifically, the first network management connection module can establish a communication connection with the second network connection management module in the second node through the network transmission channel constructed by the first network card and the second network card, so as to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel.

[0072] In a specific example, for instance, the first disk management server in the second node sends a communication message to the first disk management server in the first node.

[0073] After receiving the communication message through the network communication transmission channel, the first network management connection module will transmit it to the first network message processing module. The first network message processing module will then parse the communication message to obtain its content.

[0074] The message content is then transmitted to the first network message distribution module. The first network message distribution module then distributes the message content to the target disk management server through a virtual message transmission channel pre-created by the first virtual network connection module. The target disk management server may include one or more servers.

[0075] In an optional implementation, the network communication transmission channels and virtual message transmission channels used by different disk management servers in the first node to establish communication with different disk management servers in the second node can be different transmission channels.

[0076] For example, when disk management server A in the first node establishes a communication connection with disk management server B in the second node, network communication transmission channel 1 and virtual message transmission channel 1 are used. When disk management server C in the first node establishes a communication connection with disk management server D in the second node, network communication transmission channel 3 and virtual message transmission channel 3 are used.

[0077] Therefore, in one optional implementation, before transmitting communication messages, it is also necessary to select the target network communication transmission channel and the target virtual message transmission channel. The specific working principles are basically similar; the target network communication transmission channel and the target virtual message transmission channel can be selected based on the identification information corresponding to the target disk management server receiving the communication message. Alternatively, the target network communication channel and the target virtual message transmission channel can be selected based on the identification information corresponding to the disk management server at the sending end.

[0078] The following example illustrates how the first disk management server in the second node sends a communication message to the second disk management server in the first node, and how the first network message distribution module determines the target virtual message transmission channel:

[0079] When the message content includes first identification information corresponding to the target disk management server, the first network message distribution module is specifically used for:

[0080] Select the target virtual message transmission channel based on the first identification information;

[0081] The message content is sent to the target disk management server through the target virtual message transmission channel.

[0082] or,

[0083] When the message content includes second identification information corresponding to the first disk management server, and the first disk management server is any disk management server in the second node that sent the communication message, the first network message distribution module is specifically used for:

[0084] Select the target virtual message transmission channel based on the second identification information;

[0085] The message content is sent to the target disk management server through the target virtual message transmission channel.

[0086] In the example above, this is because message content distribution is required. Therefore, a target virtual message transmission channel needs to be selected based on the first identifier information and / or the second identifier information to distribute the message content to the target disk management server. Similarly, if the second network connection management module in the second node needs to send a communication message to the first network connection management module in the first node, a similar operation is required to select a target network communication transmission channel. The communication message is then transmitted to the first network connection management module through the target network communication transmission channel.

[0087] By using the above method to execute communication between different disk management servers on different nodes, the number of network connections can be greatly reduced in the distributed cluster because the number of network connections is independent of the number of disk management services within the node.

[0088] This invention provides a network management server in a distributed storage system. Both the first and second nodes are equipped with network management servers. The network connection management modules within these servers establish communication connections using network communication channels built by network interface cards (NICs). Connections are established between the modules within the network management servers to transmit communication messages to the disk management servers. Throughout this process, different disk management servers do not need to establish communication with each other via network connections. Message communication can be achieved entirely through the "message transmission channel" jointly constructed by the network management server and the NIC. Since the number of network connections is independent of the number of disk management servers within a node, the number of network connections in the distributed cluster can be significantly reduced, improving network efficiency. Furthermore, it avoids the performance degradation of the storage system caused by excessive connections consuming large amounts of system memory and CPU resources, facilitating cluster maintenance and management. Even in the event of a network failure, because there is no longer a large number of connection drops and reconnections, network connection establishment failures due to connection storms are minimized.

[0089] In an optional implementation, based on the foregoing embodiments, the first virtual network connection module is further configured to:

[0090] Receive a virtual network connection request sent by a second disk management server, wherein the second disk management server is any disk management server deployed in the first node, and the virtual network connection request includes third identification information corresponding to a third disk management server, wherein the third disk management server is any disk management server deployed in the second node;

[0091] Based on the third identification information, query whether a target network communication transmission channel exists, wherein the target network communication transmission channel is used to transmit communication messages between the second disk management server and the third disk management server;

[0092] Once the existence of a target network communication transmission channel is confirmed, a target virtual message transmission channel is established; a response message is sent to the second disk management server, indicating that the establishment of the target virtual message transmission channel is complete.

[0093] Receive connection management messages sent by the second disk management server through the target virtual message transmission channel;

[0094] A connection management message is sent to the first network connection management module, wherein the connection management message carries third identification information;

[0095] The first network connection management module sends connection management messages to the second node through the connection management message transmission channel, so that the second node can establish a communication connection between the first disk management server and the second disk management server based on the connection management messages.

[0096] Specifically, in the aforementioned embodiments, the function performed by each module in the first disk management server was illustrated by taking the example of the first disk management server in the second node sending a communication message to the second disk management server in the first node. In the following description, the example of the second disk management server in the first node sending a request to establish a communication connection to the third disk management server in the second node will be used. Of course, the third disk management server can be any disk management server in the second node; that is, the third disk management server can also be the first disk management server.

[0097] First, the second disk management server sends a virtual network connection request to the first virtual network connection module.

[0098] After receiving a virtual network connection request from the second disk management server, the first virtual network connection module extracts the third identifier information corresponding to the third disk management server from the request. Then, based on the third identifier information, it checks whether a target network communication transmission channel exists. As explained earlier, different disk management servers in different nodes use a fixed target network communication transmission channel to transmit communication messages when establishing a communication connection.

[0099] Therefore, the first virtual network connection module needs to first check if a target network communication transmission channel exists. If it exists, it means that the target network communication transmission channel has already been created. In an optional implementation, the created target network communication transmission channel can be stored in a data structure for easy management, for example, the created target network communication transmission channel can be managed in a map. Then, the first virtual network connection module can check in the map whether a target network communication transmission channel exists for communication between the second disk management server and the third disk management server.

[0100] If it exists, a target virtual message transmission channel is established. Upon successful creation, a response message is sent to the second disk management server, informing it that the target virtual message transmission channel has been created. The second disk management server can then send connection management messages to the first virtual network connection module through the target virtual message transmission channel. In an optional example, the virtual message transmission channel can be a named pipe created using the `splice` method. Each named pipe corresponds to one virtual network connection, and one virtual network connection can correspond to multiple named pipes. The virtual network connection referred to here can include network resources, i.e., network resources used to transmit communication messages. Finally, the first virtual network connection module sends a connection management message to the first network connection management module, carrying third identification information within the connection management message.

[0101] The first network connection management module sends connection management messages to the second node through the connection management message transmission channel, so that the second node can establish a communication connection between the first disk management server and the second disk management server based on the connection management messages.

[0102] The operations performed on the second node side are actually the same as or similar to those performed on the first node side. For example, after receiving a connection management message, the second network connection management module on the second node side will send it to the second network message processing module, which will then parse the connection management message to obtain the message content.

[0103] In an optional implementation, the network message management module is further configured to determine the message type based on the message content. The message type includes connection management messages and service messages.

[0104] Clearly, the message type mentioned here refers to connection management messages.

[0105] After parsing the connection management message and determining its type, the second network message processing module sends the message content to the second network message distribution module. Based on the message content type, the second network message distribution module determines that the message is a connection relationship message and will transmit it to the third disk management server through the connection management message transmission channel.

[0106] In one alternative implementation, the virtual message transmission channel includes a connection management message transmission channel and a business message transmission channel.

[0107] In the second node, the second virtual network connection module also creates a virtual message transmission channel in advance, following a similar method described earlier. That is, before communication message transmission, the virtual network connection module in each node creates its corresponding virtual message transmission channel. Different types of virtual message transmission channels have different functions; for example, the connection management message transmission channel is used to transmit connection management messages, while the business message transmission channel is used to transmit business messages.

[0108] In an optional implementation, if there are different types of transmission channels such as connection management message transmission channel and business message transmission channel, the network message distribution module will also select the connection management message channel or the business message transmission channel according to the type of message content after determining the message content type.

[0109] Of course, if there is no deliberate distinction between virtual message transmission channels, the network message distribution module can determine the target virtual message transmission channel simply based on the identifier information of the receiver or the identifier information of the sender.

[0110] The specific operation can be set according to the actual situation, and no restrictions are imposed here.

[0111] In an optional implementation, in addition to sending message content to the corresponding target disk management server through the virtual message transmission channel in the manner described above, the network message distribution module can also obtain message content in the following manner.

[0112] For example, message distribution can be implemented using shared memory. Specific steps include:

[0113] First, a shared memory block is allocated. The network message distribution module and disk management server, both configured within the same network management server, are mounted within this shared memory. After the network message processing module parses the communication message, it reads the parsing result into the shared memory. Then, the network message distribution module simply sends the message's starting address and length information from the shared memory to the target disk management server via the target virtual message transmission channel. The target disk management server can then read the message content from the shared memory based on the starting address and length information.

[0114] This method eliminates the need for a network message distribution module to send the entire message content to the target disk management server via a virtual network connection, significantly saving network resources. Furthermore, the data distribution method becomes more efficient.

[0115] In an optional implementation, the first virtual network connection module creates multiple virtual message transmission channels through virtual network connections; the first virtual network connection module is also used for:

[0116] Statistics on the occupancy of virtual message transmission channels created by the same virtual network connection;

[0117] When the virtual message transmission channels created by the same virtual network connection are not occupied at the current time, disconnect the virtual network connection and release the network resources corresponding to the virtual network connection.

[0118] Specifically, as mentioned earlier, virtual message transmission channels are created through virtual network connections. Furthermore, one virtual network connection can correspond to multiple virtual message transmission channels. Therefore, this method can also include tracking the occupancy of virtual message transmission channels created by the same virtual network connection. If none of the virtual message transmission channels created by the same virtual network connection are currently occupied, the virtual network connection is disconnected, releasing the network resources corresponding to the virtual network connection.

[0119] In one specific implementation, the number of virtual message transmission channels already occupied in the virtual message transmission channels created by the same virtual network connection can be counted, and the virtual network connection can be disconnected to release network resources when the reference count is zero.

[0120] In another optional implementation, the first virtual network connection module is also responsible for monitoring the traffic statistics of different transmission paths arriving at the same node, and selecting the optimal transmission path based on the traffic statistics to achieve traffic balancing.

[0121] Traffic statistics for different transmission paths require big data analytics. When enabling communication between different disk management servers on different nodes, the network resources occupied by the network communication transmission channel and virtual message transmission channel that enable communication between these two disk management servers are statistically analyzed. Then, the network communication transmission channel and virtual message transmission channel with the lowest network resource consumption are selected to form the optimal transmission path.

[0122] The aforementioned optional solutions all illustrate the establishment of communication connections between disk management servers on different nodes. However, this solution is also applicable to the situation where disk management servers on the same node establish communication connections. In this case, there is no need for the first and second network cards to establish a communication connection between the two nodes; communication between multiple disk management servers on the node is achieved simply by utilizing the internal structure of the network management server. This method can also avoid the need for different disks to establish communication with each other via network connections, and can also reduce the number of network connections to a certain extent. The specific working principle is the same as or similar to that described above, so it will not be elaborated further here.

[0123] This embodiment provides a message communication method that can be used in the aforementioned network management server. The network management server is deployed on a first node. In addition to the network management server, the first node also includes a first network interface card and at least one disk management server. The first node can be any node in a distributed storage cluster. The network management server includes: a first network connection management module, a first virtual network connection module, a first network message processing module, and a first network message distribution module. Figure 3 This is a flowchart illustrating a message communication method provided according to an embodiment of the present invention, such as... Figure 3 As shown, the process includes the following steps:

[0124] Step S301: The first network connection management module establishes a communication connection with the second network connection management module in the second node through the network communication transmission channel constructed by the first network card and the second network card, so as to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel.

[0125] The second network interface card (NIC) is the NIC deployed in the second node.

[0126] In step S302, the first network message processing module parses the communication message received by the first network connection management module and obtains the message content.

[0127] In step S303, the first network message distribution module distributes the message content to the target disk management server through the virtual message transmission channel pre-created by the first virtual network connection module.

[0128] The target disk management server is any one of at least one disk management servers.

[0129] In step S304, the first virtual network connection module transmits message content to the target disk management server through a pre-built virtual message transmission channel, or receives a virtual network connection request sent by any disk management server.

[0130] The virtual network connection request is used to instruct the establishment of a communication connection with any of the disk management servers in the second node.

[0131] The above methods and steps have been described in detail in the foregoing embodiments, so they will not be repeated here.

[0132] The message communication method provided in this embodiment, in a distributed storage system, includes network management servers configured in both the first and second nodes. The network connection management modules within the network management servers of different nodes establish communication connections using network communication transmission channels built by network interface cards (NICs). Connections are established between the various modules within the network management servers to transmit communication messages to the disk management servers. Throughout this process, different disk management servers do not need to establish communication with each other via network connections. Message communication can be achieved entirely through the "message transmission channel" jointly constructed by the network management server and the NIC. Because the number of network connections is independent of the number of disk management servers within a node, the number of network connections in the distributed cluster can be significantly reduced, improving network efficiency. Furthermore, it avoids the performance degradation of the storage system caused by excessive connections consuming large amounts of system memory and CPU resources, facilitating cluster maintenance and management. Even in the event of a network failure, because there is no longer a large number of connection drops and reconnections, network connection establishment failures due to connection storms are minimized.

[0133] This embodiment provides a message communication method that can be used in the aforementioned network management server. Figure 4 This is a flowchart illustrating another message communication method provided by an embodiment of the present invention, such as... Figure 4 As shown, based on the aforementioned method flow steps, after the first virtual network connection module receives a virtual network connection request sent by any disk management server, the process may further include the following steps:

[0134] Step S401: The first virtual network connection module extracts the identification information corresponding to the first disk management server from the virtual network connection request.

[0135] The first disk management server is any one of the disk management servers in the second node.

[0136] Step S402: Based on the identification information, query whether a target network communication transmission channel exists.

[0137] The target network communication transmission channel is used to transmit communication messages between the second disk management server and the first disk management server. The second disk management server is any disk management server in the first node that sends a virtual network connection request to the first virtual network connection module.

[0138] Step S403: When it is determined that a target network communication transmission channel exists, a target virtual message transmission channel is established.

[0139] Step S404: Send response information to the second disk management server.

[0140] The response information is used to indicate that the target virtual message transmission channel has been established.

[0141] Step S405: Receive the connection management message sent by the second disk management server through the target virtual message transmission channel.

[0142] Step S406: Send a connection management message to the first network connection management module, wherein the connection management message carries identification information.

[0143] In step S407, the first network connection management module sends a connection management message to the second node through the connection management message transmission channel.

[0144] This allows the second node to establish a communication connection between the first and second disk management servers based on the connection management message.

[0145] The above operations have been described and explained in detail in the foregoing embodiments, so they will not be repeated here.

[0146] This invention also provides a hardware structure diagram of a network management server; please refer to [link / reference]. Figure 5As shown, the network management server includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the client, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple clients can be connected, each device providing some of the necessary operations (e.g., as a server array, a set of blade servers, or a multiprocessor system). Figure 5 Take a processor 10 as an example.

[0147] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.

[0148] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.

[0149] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the client's use based on the display of a mini-program landing page. Furthermore, the memory 20 may include high-speed random access memory and non-transient memory, such as at least one disk storage device, flash memory device, or other non-transient solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the client via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0150] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.

[0151] The client also includes an input device 30 and an output device 40. The processor 10, memory 20, input device 30, and output device 40 can be connected via a bus or other means. Figure 5 Taking the example of a connection between China and Israel via a bus.

[0152] Input device 30 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the client, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 40 may include display devices, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration motors). The aforementioned display devices include, but are not limited to, liquid crystal displays, light-emitting diodes, displays, and plasma displays. In some alternative embodiments, the display device may be a touch screen.

[0153] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.

[0154] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. A network management server, characterized in that, The network management server is deployed on the first node. In addition to the network management server, the first node also includes a first network interface card and at least one disk management server. The first node can be any node in the distributed storage cluster. The network management server includes: a first network connection management module, a first virtual network connection module, a first network message processing module, and a first network message distribution module; The first network connection management module establishes a communication connection with the second network connection management module in the second node through a network communication transmission channel constructed by the first network card and the second network card, so as to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel, wherein the second network card is a network card deployed in the second node; The first network message processing module establishes a communication connection with the first network connection management module and is used to parse the communication messages received by the first network connection management module to obtain the message content; The first network message distribution module establishes communication connections with the first network message processing module and the first virtual network connection module, respectively, and is used to distribute the message content to the target disk management server through the virtual message transmission channel pre-created by the first virtual network connection module, wherein the target disk management server is any one of at least one disk management server. The first virtual network connection module is used to create the virtual message transmission channel and transmit the message content to the target disk management server through the virtual message transmission channel, or to receive a virtual network connection request sent by any disk management server, wherein the virtual network connection request is used to indicate the establishment of a communication connection with any disk management server in the second node.

2. The network management server according to claim 1, characterized in that, The message content includes first identification information corresponding to the target disk management server; the first network message distribution module is specifically used for: Select the target virtual message transmission channel based on the first identification information; The message content is sent to the target disk management server through the target virtual message transmission channel.

3. The network management server according to claim 1, characterized in that, The message content includes: second identification information corresponding to the first disk management server, wherein the first disk management server is any disk management server in the second node that sent the communication message; the first network message distribution module is specifically used for: Select the target virtual message transmission channel based on the second identification information; The message content is sent to the target disk management server through the target virtual message transmission channel.

4. The network management server according to claim 3, characterized in that, The first virtual network connection module is further configured to: The system receives a virtual network connection request sent by a second disk management server, wherein the second disk management server is any disk management server deployed in the first node, and the virtual network connection request includes third identification information corresponding to a third disk management server, wherein the third disk management server is any disk management server deployed in the second node. Based on the third identification information, query whether a target network communication transmission channel exists, wherein the target network communication transmission channel is used to transmit communication messages between the second disk management server and the third disk management server; When the existence of the target network communication transmission channel is confirmed, a target virtual message transmission channel is established; a response message is sent to the second disk management server, the response message indicating that the establishment of the target virtual message transmission channel is complete; Receive connection management messages sent by the second disk management server through the target virtual message transmission channel; The connection management message is sent to the first network connection management module, wherein the connection management message carries the third identification information; The first network connection management module sends the connection management message to the second node through the connection management message transmission channel, so that the second node can establish a communication connection between the first disk management server and the second disk management server according to the connection management message.

5. The network management server according to claim 4, characterized in that, The target virtual message transmission channel includes a connection management message transmission channel and a service message transmission channel; the communication message includes a connection management message or a service message.

6. The network management server according to any one of claims 1-5, characterized in that, There are multiple network communication transmission channels.

7. The network management server according to any one of claims 1-5, characterized in that, The first virtual network connection module creates multiple virtual message transmission channels through virtual network connections; the first virtual network connection module is also used for: Statistics on the occupancy of virtual message transmission channels created by the same virtual network connection; When the virtual message transmission channels created by the same virtual network connection are not occupied at the current time, the virtual network connection is disconnected and the network resources corresponding to the virtual network connection are released.

8. A message communication method, characterized in that, The method is applied to the network management server according to any one of claims 1-7, wherein the network management server is deployed on a first node, and the first node includes, in addition to the network management server, a first network card and at least one disk management server, and the first node is any node in a distributed storage cluster; The network management server includes: a first network connection management module, a first virtual network connection module, a first network message processing module, and a first network message distribution module; the method includes: The first network connection management module establishes a communication connection with the second network connection management module in the second node through a network communication transmission channel constructed by the first network card and the second network card, so as to transmit communication messages between any disk management server in the first node and any disk management server in the second node through the network communication transmission channel, wherein the second network card is a network card deployed in the second node; The first network message processing module parses the communication messages received by the first network connection management module to obtain the message content; The first network message distribution module distributes the message content to the target disk management server through the virtual message transmission channel pre-created by the first virtual network connection module, wherein the target disk management server is any one of at least one disk management server; The first virtual network connection module transmits the message content to the target disk management server through a pre-built virtual message transmission channel, or receives a virtual network connection request sent by any disk management server. The virtual network connection request is used to indicate the establishment of a communication connection with any disk management server in the second node.

9. The method according to claim 8, characterized in that, After the first virtual network connection module receives a virtual network connection request sent by any disk management server, the method further includes: The first virtual network connection module extracts the identification information corresponding to the first disk management server from the virtual network connection request, wherein the first disk management server is any one of the disk management servers in the second node; Based on the identification information, query whether a target network communication transmission channel exists, wherein the target network communication transmission channel is used to transmit communication messages between the second disk management server and the first disk management server, and the second disk management server is any disk management server in the first node that sends the virtual network connection request to the first virtual network connection module; When the existence of the target network communication transmission channel is confirmed, a target virtual message transmission channel is established; Send a response message to the second disk management server, the response message indicating that the target virtual message transmission channel has been established; Receive connection management messages sent by the second disk management server through the target virtual message transmission channel; The connection management message is sent to the first network connection management module, wherein the connection management message carries the identification information; The first network connection management module sends the connection management message to the second node through the connection management message transmission channel, so that the second node can establish a communication connection between the first disk management server and the second disk management server according to the connection management message.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for instructing the network management server to execute the message communication method of claim 8 or 9.

Citation Information

Patent Citations

  • Communication method, device and system of distributed storage cluster

    CN107608632A

  • Communication optimization method and device

    CN113890817A