Multi-node communication system and method, electronic equipment and storage medium

By introducing a transfer card and logic module in a multi-node system, multiple nodes share expansion equipment and provide redundant power supply through the second power supply power supply, the problem of insufficient redundant power supply caused by strong dependence of master and slave architecture is solved, ensuring business continuity and resource utilization.

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

Patent Information

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

AI Technical Summary

Technical Problem

The strong dependence of master-slave architecture in multi-node systems leads to insufficient redundant power supply capabilities, resulting in increased network delays and increased failure probability, affecting business continuity.

Method used

By introducing a transfer card and logic module into the multi-node system, multiple nodes share expansion equipment is realized, and redundant power is provided through the second power supply power supply, and the sideband signal is switched in combination with the switching module to ensure that communication is not interrupted.

Benefits of technology

It realizes that business continuity can be maintained during node failure, reduce the number of hardware devices, improve resource utilization, and reduce network latency and failure probability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378236A_ABST
    Figure CN120378236A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-node communication system and method, electronic equipment and a storage medium, and relates to the technical field of electronics, the multi-node communication system comprises a first node, a second node and an adapter card; wherein the first node is connected with the expansion equipment, and the second node is connected with the adapter card; the first node comprises a first power supply, a first connector, a logic module and a switching module; the second node comprises a second power supply, and the second power supply is connected with the adapter card; the adapter card comprises a second connector, the second connector and the first connector are connected to form a communication link, and the second node accesses the extension device through the communication link and supplies power to the switching module and the extension device through the second power supply and the first power supply input logic module. And the switching module is used for switching sideband signals of the first node and the second node so as to control communication with the extension equipment, so that the technical problem of insufficient redundant power supply capability caused by strong dependency of the master-slave architecture is solved, and the service continuity is ensured not to be interfered.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic technologies, and particularly to a multi-node communication system, method, electronic device, and storage medium. Background Art

[0002] In a distributed computing system, expansion devices (such as network cards, storage controllers, etc.) serve as core peripherals and undertake key functions of data interaction and protocol parsing. Their resource sharing capabilities directly affect the efficiency and flexibility of the multi-node architecture. Currently, the access of multi-nodes to expansion devices usually relies on a master-slave architecture, that is, a single master node directly accesses the expansion device, and the remaining slave nodes need to indirectly access it through an intermediary device. For example, in a multi-node environment, the master node is directly connected to the network card, and other nodes must access it through an additional switch or router.

[0003] Although this method can achieve the sharing of hardware resources of multiple nodes, it increases the hardware cost, and all data streams need to pass through the intermediary device, which is prone to form a bottleneck, resulting in an increase in network latency and an increase in the probability of failures. In addition, since the shared nodes are distinguished between master and slave, when the master node fails, the slave nodes cannot access the expansion device, and at the same time, the expansion device will also fail due to power supply interruption, causing service interruption and resource waste. Summary of the Invention

[0004] This application provides a multi-node communication system, method, electronic device, and storage medium to at least solve the problem of insufficient redundant power supply ability caused by strong dependence on the master-slave architecture in related technologies.

[0005] In a first aspect, this application provides a multi-node communication system, including: a first node, a second node, and an adapter card; wherein, the first node is connected to an expansion device, and the second node is connected to the adapter card; the first node includes a first power supply, a first connector, a logic module, and a switching module. The first power supply and the first connector are respectively connected to the input end of the logic module, and the output end of the logic module is respectively connected to the switching module and the expansion device; the second node includes a second power supply, the second power supply is connected to the adapter card, the adapter card includes a second connector, and the second connector is connected to the first connector to form a communication link; the second node accesses the expansion device through the communication link, and supplies power to the switching module and the expansion device through the second power supply and the first power supply input to the logic module. The switching module is used to switch the sideband signals of the first node and the second node to control the communication with the expansion device.

[0006] In a second aspect, the present application further provides a multi-node communication method, including: performing in-place detection on a first connector and a second connector, and determining a current mode according to the detection result, where the current mode includes a single-host mode and a multi-host mode; in response to the current mode being the multi-host mode, establishing a communication link between the first connector and the second connector, so that a second power supply and a first power supply together serve as an input to a logic module through the communication link; in response to one or more nodes failing, switching the power supply through the logic module to supply power to a switching module and an expansion device, and switching sideband signals through the switching module to control communication with the expansion device.

[0007] In a third aspect, the present application further provides an electronic device, including: a memory for storing a computer program; a processor for implementing the steps of the multi-node communication method in the following embodiments when executing the computer program: performing in-place detection on a first connector and a second connector, and determining a current mode according to the detection result, where the current mode includes a single-host mode and a multi-host mode; in response to the current mode being the multi-host mode, establishing a communication link between the first connector and the second connector, so that a second power supply and a first power supply together serve as an input to a logic module through the communication link; in response to one or more nodes failing, switching the power supply through the logic module to supply power to a switching module and an expansion device, and switching sideband signals through the switching module to control communication with the expansion device.

[0008] In a fourth aspect, the present application further provides a computer-readable storage medium storing a computer program, where the computer program, when executed by a processor, implements the steps of the multi-node communication method in the following embodiments: performing in-place detection on a first connector and a second connector, and determining a current mode according to the detection result, where the current mode includes a single-host mode and a multi-host mode; in response to the current mode being the multi-host mode, establishing a communication link between the first connector and the second connector, so that a second power supply and a first power supply together serve as an input to a logic module through the communication link; in response to one or more nodes failing, switching the power supply through the logic module to supply power to a switching module and an expansion device, and switching sideband signals through the switching module to control communication with the expansion device.

[0009] With the present application, due to the use of an out-of-band management method, the hardware connection and configuration are simplified. A communication link is established through connectors on different nodes to share an expansion device, and a second power supply on a second node provides redundant power supply for the expansion device. At the same time, the sideband signals of a first node and a second node are switched through a switching module to control the expansion device. Therefore, the technical problem of insufficient redundant power supply caused by strong dependence on the master-slave architecture can be solved. Even if one of the nodes loses power supply, it will not affect the normal operation of the entire system, ensuring that business continuity is not disturbed. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0011] Figure 1 A structural block diagram of a multi-node communication system provided in an embodiment of the present application;

[0012] Figure 2 A structural block diagram of a transfer card in a multi-node communication system provided in an embodiment of the present application;

[0013] Figure 3 A flowchart of a multi-node communication method provided in an embodiment of the present application;

[0014] Figure 4 A schematic diagram of a flow chart of a multi-node communication step provided in an embodiment of the present application;

[0015] Figure 5 This is a diagram of the internal structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0016] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0017] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence.

[0018] As described in the background technology, in a multi-node system, the traditional management method of multiple nodes sharing hardware resources usually involves a single node directly connecting to an expansion device, while other nodes access it through an intermediary. This not only introduces additional hardware overhead, but also distinguishes between master and slave devices. When the master node is not working, the slave device cannot independently access the expansion device, resulting in a waste of server resources.

[0019] To solve the above problems, in the embodiments of the present application, a multi-node communication system is creatively proposed. By using a connector and an adapter card, the sharing of expansion devices is realized, allowing multiple nodes to use the same expansion device simultaneously, maximizing the utilization of its bandwidth. And by adopting a logic module, any node can operate independently without relying on other nodes. Even if one of the nodes loses power supply, it will not affect the normal operation of the entire system.

[0020] To enable those skilled in the art of this technology to better understand the solution of the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0021] In one embodiment, as Figure 1 shown, a multi-node communication system is provided, including: a first node, a second node, and an adapter card; wherein, the first node is connected to an expansion device, and the second node is connected to the adapter card; the first node includes a first power supply, a first connector, a logic module, and a switching module. The first power supply and the first connector are respectively connected to the input end of the logic module, and the output end of the logic module is respectively connected to the switching module and the expansion device; the second node includes a second power supply, the second power supply is connected to the adapter card, the adapter card includes a second connector, and the second connector is connected to the first connector to form a communication link; the second node accesses the expansion device through the communication link, and supplies power to the switching module and the expansion device through the second power supply and the first power supply input to the logic module. The switching module is used to switch the sideband signals of the first node and the second node to control the communication with the expansion device.

[0022] In the present application, the expansion device takes a server network card as an example, such as a network card that conforms to the Open Compute Project (OCP) standard. In a multi-node system, it is a common requirement for multiple nodes to share a network card. It is a bridge between the server and the network, capable of realizing data transmission and communication, and ensuring the connection and data exchange between the server and other devices.

[0023] Among them, the connector can adopt an MCIO connector (Multi-Host Communication Interface / Orchestration), which is connected to the node through a cable, and is used to integrate PCIe data channels, sideband signals, and power supply paths, and adjust the PCIe bandwidth allocation and power supply path in real time based on the sideband signals to achieve multi-host hardware-level collaboration.

[0024] The adapter card can adopt an OCP riser card, which serves as a carrier for sharing out-of-band management functions, used to forward high-speed signals and feedback signals to achieve PCIE channel expansion. For example, in the case of a dual-node shared network card, the PCIe Lane<0:7> of the network card is routed to the first node, while the riser card can route the PCIe Lane<8:15> to the second node through the MCIO connector, thus realizing multi-host sharing.

[0025] It should be noted that the first node and the second node adopt exactly the same hardware structure, including a power supply, an MCIO interface slot, a logic module, and a switching module. The only difference in their roles lies in whether the first connector is inserted, and the first connector is pluggable. Therefore, users can dynamically configure the node roles according to actual needs without customizing the hardware.

[0026] Specifically, before forming the multi-host mode, it is necessary to first perform an MCIO presence detection. If the first connector is inserted and connected to the expansion device, it acts as the first node, undertaking the functions of direct control and data transmission. If the first connector is not inserted, it acts as the second node, connecting to the first node through the adapter card to provide redundant power supply and fault takeover capabilities. At this time, the first node is directly connected to the network card through the PCIe Lane<0:7>, and the second node is connected to the first connector through the adapter card and accesses the network card through the PCIeLane<8:15>.

[0027] Among them, the number of the first node and the second node can be set according to actual needs to meet the requirements for the number of network cards, network bandwidth, and redundancy capabilities in different scenarios. For example, in a multi-network card scenario, the first node is configured by inserting the first connector, and each first node is directly connected to the network card. The remaining nodes without the first connector inserted act as the second node, sharing access to the network card through the adapter card to achieve redundant deployment and balance cost and reliability. If different types of expansion devices need to be connected, the first node and the second node can be grouped, where each first node corresponds to one or more second nodes to achieve sharing of expansion devices within the group.

[0028] Based on the above solution, a communication link is established through the first connector and the second connector, enabling the first node and the second node to share the network card, reducing the number of hardware devices, and improving resource utilization. And redundant power supply is provided through the second power supply. Even if the first node experiences an unexpected power outage, the second node can still maintain a continuous connection with the external network, ensuring that business continuity is not disturbed.

[0029] In an alternative embodiment, the first node further includes a first processor and a first controller. The first processor is connected to the third port of the expansion device, and the first port of the first connector is connected to the first port of the expansion device; the second node further includes a second processor and a second controller. The second processor and the second controller are respectively connected to the adapter card, and the second connector is connected to the third port of the first connector; the first processor and the second processor are respectively used to configure the bandwidth of the corresponding node; the first controller and the second controller are used to configure the sideband signal, and the sideband signal is used to control the expansion device.

[0030] Specifically, the first processor and the second processor in this embodiment may be CPUs. The CPUs on different nodes are used to access the network card registers and dynamically allocate the available PCIe channel bandwidth of the nodes. For example, in the multi-host mode formed by two nodes, the first processor CPU1 splits the PCIe x16 channel into two groups of x8 channels (Lane<0:7> and Lane

[0031] <8:15>), and allocates them to the first node and the second node respectively. In the single-host mode, the first processor monopolizes the x16 bandwidth.

[0032] The first controller and the second controller in this embodiment may be CPLDs. The first controller CPLD1 receives the feedback signal of the expansion device, generates a sideband signal instruction after parsing, and the second controller CPLD2 receives the feedback signal of the expansion device through the adapter card and configures the sideband signal output of the second node. The feedback signals here include the presence signal, power status signal, interrupt request, etc. For example, the first controller CPLD1 can judge whether the node is inserted into the first connector and the network card through the presence signal, and monitor the network card power through the power status signal, so as to dynamically adjust the configuration of the sideband signal.

[0033] Based on the above solution, the node bandwidth can be dynamically configured by the processor to avoid resource waste or congestion. At the same time, the controller is used to receive the feedback signal of the expansion device to configure the sideband signal, ensuring consistent multi-node timing and avoiding out-of-order data.

[0034] In an alternative embodiment, the first node further includes a logic module and a switching module. The switching module is used to switch the sideband signals of the first node and the second node; the logic module includes a first diode and a second diode connected in parallel. The output end of the first power supply is connected to the anode of the first diode, the second port of the first connector is connected to the anode of the second diode, and the cathodes of the first diode and the second diode are respectively connected to the second port of the expansion device and the power supply end of the switching module; the first power supply and the second power supply are input into the logic module, and the switching module and the expansion device are powered through the logic module.

[0035] Among them, the logic module is used to manage the redundant power supply of the expansion device. When any of its inputs is at a high level (i.e., the effective power supply), it outputs a high level. Taking the dual-node as an example, when forming a multi-host mode, the first power supply provides power for the first node and supplies the main power for the network card through the logic module. The second power supply provides power for the second node and the backup power supply link. The logic module is usually implemented by diodes or MOSFET field-effect transistors, which is used to perform the logical OR operation on the input signals and output. Its input end receives the first power supply and the second power supply of the second node, and the output end is connected to the power interfaces of the network card and the switching module, realizing the redundant power supply switching and supplying power to the switching module. When the first power supply is normal, it outputs a high level. At this time, the logic module preferentially conducts the main power path to supply power to the expansion device. When the first power supply fails, it outputs a low level, and the logic module automatically switches to the second power supply to ensure power supply continuity.

[0036] Specifically, the logic module adopts a diode parallel design. The anode of the first diode D1 is connected to the output end of the first power supply, and the anode of the second diode D2 receives the second power supply through the first connector. The cathodes of both are connected in parallel and jointly connected to the second port of the network card to realize the logical OR operation of the two power supplies. In the normal multi-host mode, the first power supply is effective, and the first diode D1 conducts forwardly to supply power to the network card. The second diode D2 is in a cut-off state because the anode voltage ≤ cathode voltage (the voltage of the second power supply is the same or slightly lower when the first power supply is effective). If the first power supply fails (the voltage drops to 0V or is lower than the second power supply), the second diode D2 conducts forwardly, and the second power supply supplies power to the expansion device through the second diode D2. Among them, the one-way conduction characteristic of the diode can prevent the current of the second power supply from flowing reversely into the first power supply path and protect the power supply module.

[0037] Preferably, the sideband signal of the default first controller CPLD1 can be configured to have a high priority. When the first controller CPLD1 is effective, the switching module preferentially transmits its signal and suppresses the sideband signal of the second controller CPLD2. In this way, when the signal of the first controller CPLD1 fails (such as continuous low level), it can automatically switch to the signal of the second controller CPLD2 without software intervention.

[0038] Based on the above solution, through the switching logic of the logic module, any node is allowed to operate independently without relying on other nodes, and it is ensured that the expansion device switches to the second power supply when the first power supply fails, without affecting the continuous operation of the expansion device, improving the reliability and stability of the system. Through the signal management of the switching module, it is ensured that the control instructions take effect immediately, realizing the seamless switching of the sideband signals of multiple nodes and avoiding the interruption of the control link.

[0039] In an alternative embodiment, the switching module further includes a first selection port, a second selection port, a first input terminal, a second input terminal, an output terminal, and an interrupt port. The first selection port is used to detect the operating state of the first node, and the second selection port is used to detect the operating state of the second node. The first input terminal of the switching module is connected to the output terminal of the first controller, the second input terminal of the switching module is connected to the fourth port of the first connector, the output terminal of the switching module is connected to the fourth port of the expansion device, and the interrupt port of the switching module is respectively connected to the input terminal of the first controller and the fifth port of the first connector. The sideband signals of the first controller and the second controller are input into the switching module, and the switching module switches the sideband signals and sends them to the expansion device.

[0040] Specifically, the switching module is used to switch the sideband signals generated by the first node and the second node. When the first node and the second node start to work, the first selection port Channel 0select and the second selection port Channel 1select are respectively opened. The first input terminal and the second input terminal are commonly connected to a single-pole double-throw switch. When the first node is working properly, the first input terminal receives a high level, and the second input terminal receives a low level, and is connected to the output terminal through the single-pole double-throw switch, so that the output terminal outputs the sideband signal of the first controller CPLD1. When the first node is powered off, the second power supply powers the switching module. The first selection port Channel 0select detects the operating state of the first node, switches the signal channel to the second node, and simultaneously sends an interrupt signal through the interrupt port to notify the second controller CPLD2 to receive the control right. At this time, the first input terminal receives a low level, and the second input terminal receives a high level, and is connected to the output terminal through the single-pole double-throw switch, so that the output terminal outputs the sideband signal of the second controller CPLD2, ensuring the continuous transmission of control instructions.

[0041] Based on the above solution, through the diode hardware design of the logic module and the switching module, the efficient coordination of redundant power supply and signal control is realized, the continuity of critical services is guaranteed, and the parallel connection of multi-stage OR gates is supported to realize multi-node redundant power supply and signal coordination.

[0042] In an alternative embodiment, in response to the first selection port detecting that the first node is powered off, the first diode is cut off, and the second diode is forward-conducted. The second power supply powers the switching module and the expansion device through the second diode. The first input terminal of the switching module receives a high-level signal, sends an interrupt signal to the second controller through the interrupt port, and sends the sideband signal of the second node to the expansion device through the output terminal of the switching module.

[0043] The embodiment of the present application also provides a multi-node communication method, including the following steps:

[0044] S1. Perform the in-place detection of the first connector and the second connector, and determine the current mode according to the detection results. The current mode includes the single-host mode and the multi-host mode.

[0045] S2. In response to the current mode being the multi-host mode, establish a communication link between the first connector and the second connector, so that the second power supply and the first power supply jointly serve as the input of the logic module through the communication link.

[0046] S3. In response to one or more nodes failing, switch the power supply through the logic module to power the switching module and the expansion device, and switch the sideband signal through the switching module to control the communication with the expansion device.

[0047] Among them, when a node needs to manage an expansion device, it first determines whether to form a multi-host mode through in-place detection. If the first connector and the second connector are respectively in place on different nodes, it is determined to form a multi-host mode, and it is necessary to allocate PCIe channels and synchronize sideband signals for the first node and the second node, so as to establish a communication link between them. For example, in the case where two nodes share an expansion device, if it is the single-host mode, the first node is directly connected to the expansion device and monopolizes the PCIe bandwidth (such as x16); if it is the multi-host mode, the second node accesses the first node through an adapter card and a communication link, and the two share the PCIe bandwidth (such as x8+x8).

[0048] Based on the above steps, the system can automatically switch modes according to the hardware connection status. In the multi-host mode, the two nodes share the network card resources. In the single-host mode, the exclusive bandwidth guarantees the performance of critical services, reduces the errors that may be caused by manual configuration, improves the operation and maintenance efficiency, and supports rapid expansion and disaster recovery switching, which is suitable for complex business requirements.

[0049] In an optional implementation manner, an arbitration module can also be set on the adapter card, which is used to receive I2C access request signals from multiple nodes and perform arbitration according to a preset policy; in response to the preset policy being priority arbitration, a unique priority value is pre-allocated to each node, and the node with the highest priority in the current access request is selected as the target node to grant bus permission; if the target node occupies the bus for a duration exceeding the preset threshold, its priority is reduced; in response to the preset policy being polling arbitration, a node request queue is established, and multiple nodes are added to the node request queue in a preset order, and an authorization time is set; monitor the level status of the SDA line, if an unexpected low level is detected, trigger a bus reset and re-arbitrate.

[0050] Based on the above steps, in the priority arbitration mode, high-priority nodes can preempt the bus to ensure that emergency operations are completed in real time. In the polling mode, authorization is carried out in order. Combining with the timeout degradation mechanism, the bandwidth allocation difference between nodes can be reduced, long-term blocking of low-priority nodes can be avoided, and dynamic switching of arbitration strategies is supported to adapt to diverse requirements from the data center (priority mode) to industrial control (polling mode).

[0051] In an optional implementation manner, in-place detection of the first connector and the second connector is performed, and the current mode is determined according to the detection result, including: determining whether the first connector on the node where the first controller and the second controller are located is in place; taking the node where the first connector is in place as the first node, and taking the node where the first connector is not in place as the second node; determining whether the first node is connected to an expansion device and whether the second node is connected to an adapter card; in response to the first node being connected to the expansion device and the second node being connected to the adapter card, determining that the current mode is the multi-host mode; in response to the first node being connected to the expansion device and the second node not being connected to the adapter card, determining that the current mode is the single-host mode.

[0052] Specifically, if the first controller CPLD1 receives that the in-place signal PRSNT# is at a low level, it is determined that the first connector on the node is in place, and the current node is taken as the first node; if PRSNT# is at a high level or floating, it is determined that the first connector on the node is not in place, and it is necessary to further determine whether the adapter card is in place. If it is in place, the current node is taken as the second node. When the first node is connected to the first connector and the expansion device, it means that the current expansion device needs to form a multi-host mode. At this time, the first node and the second node are respectively configured with corresponding bandwidths and execute corresponding multi-host timings. At the same time, it is detected that the power status signal PWRGD of the network card is at a high level to ensure that the network card is normally powered and in an operable state.

[0053] In an optional implementation manner, in response to one or more nodes failing, the power supply is switched by the logic module to supply power to the switching module and the expansion device, and the sideband signal is switched by the switching module to control the communication with the expansion device, including: monitoring whether the first node and the second node are working properly; in response to the first node failing, the second power supply supplies power to the switching module and the expansion device through the logic module, and the second controller outputs the sideband signal to the expansion device through the switching module to keep the second node in communication with the expansion device; in response to the second node failing, the first node keeps in communication with the expansion device.

[0054] Through the description of the above implementation manners, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation manner.

[0055] Embodiments of the present application also provide an electronic device, which may be a server, and its internal structure diagram may be as shown in Figure 5 . The electronic device includes a memory, a processor, a network interface, and a database connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic 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 electronic device is used to store data of expansion devices and multiple nodes. The network interface of the electronic device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements a multi-node communication method.

[0056] Those skilled in the art can understand that Figure 5 the structure shown in is only a block diagram of some structures related to the solution of the present application, and does not constitute a limitation on the electronic device to which the solution of the present application is applied. The specific electronic device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0057] In one embodiment, an electronic device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented: performing in-place detection of a first connector and a second connector, and determining the current mode according to the detection result, where the current mode includes a single-host mode and a multi-host mode; in response to the current mode being the multi-host mode, establishing a communication link between the first connector and the second connector, so that a second power supply and a first power supply jointly serve as an input of a logic module through the communication link; in response to one or more nodes failing, switching the power supply to a switching module and an expansion device through the logic module, and switching sideband signals through the switching module to control communication with the expansion device.

[0058] In one embodiment, when the processor executes the computer program, the following steps are also implemented: determining whether a first connector on the node where the first controller and the second controller are located is in place; taking the node where the first connector is in place as the first node, and taking the node where the first connector is not in place as the second node; determining whether the first node is connected to an expansion device, and whether the second node is connected to an adapter card; in response to the first node being connected to the expansion device and the second node being connected to the adapter card, determining that the current mode is the multi-host mode; in response to the first node being connected to the expansion device and the second node not being connected to the adapter card, determining that the current mode is the single-host mode.

[0059] In one embodiment, when the processor executes the computer program, the following steps are further implemented: monitoring whether the first node and the second node are working properly; in response to a failure of the first node, the second power supply powers the switching module and the expansion device through the logic module, and the second controller outputs a sideband signal to the expansion device through the switching module to enable the second node to communicate with the expansion device; in response to a failure of the second node, the first node communicates with the expansion device.

[0060] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to perform the following steps when running: performing in-place detection on the first connector and the second connector, and determining the current mode according to the detection result, where the current mode includes a single-host mode and a multi-host mode; in response to the current mode being the multi-host mode, establishing a communication link between the first connector and the second connector, so that the second power supply and the first power supply jointly serve as inputs to the logic module through the communication link; in response to one or more nodes failing, switching the power supply through the logic module to power the switching module and the expansion device, and switching the sideband signal through the switching module to control communication with the expansion device.

[0061] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: determining whether the first connector on the node where the first controller and the second controller are located is in place; taking the node where the first connector is in place as the first node, and taking the node where the first connector is not in place as the second node; determining whether the first node is connected to the expansion device and whether the second node is connected to the adapter card; in response to the first node being connected to the expansion device and the second node being connected to the adapter card, determining that the current mode is the multi-host mode; in response to the first node being connected to the expansion device and the second node not being connected to the adapter card, determining that the current mode is the single-host mode.

[0062] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: monitoring whether the first node and the second node are working properly; in response to a failure of the first node, the second power supply powers the switching module and the expansion device through the logic module, and the second controller outputs a sideband signal to the expansion device through the switching module to enable the second node to communicate with the expansion device; in response to a failure of the second node, the first node communicates with the expansion device.

[0063] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: various media such as USB flash drives, read-only memories (ROMs), random access memories (RAMs), external hard drives, magnetic disks, or optical discs that can store computer programs.

[0064] Embodiments of the present application also provide a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the steps in any of the above embodiments of the multi-node communication method are implemented.

[0065] Embodiments of the present application also provide another computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above embodiments of the multi-node communication method are implemented.

[0066] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in this document can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present application.

[0067] The above has introduced in detail a multi-node communication system, method, electronic device, and storage medium provided by the present application. Specific examples are used in this document to elaborate on the principle and implementation manner of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.

Claims

1. A multi-node communication system, characterized in that, Including: A first node, a second node, and an adapter card; wherein, the first node is connected to an expansion device, and the second node is connected to the adapter card; The first node includes a first power supply, a first connector, a logic module, and a switching module. The first power supply and the first connector are respectively connected to the input end of the logic module, and the output end of the logic module is respectively connected to the switching module and the expansion device; The second node includes a second power supply, the second power supply is connected to the adapter card, the adapter card includes a second connector, and the second connector is connected to the first connector to form a communication link; The second node accesses the expansion device through the communication link, and the second power supply and the first power supply input the logic module to supply power to the switching module and the expansion device. The switching module is used to switch the sideband signals of the first node and the second node to control the communication with the expansion device.

2. The multi-node communication system according to claim 1, wherein: The first node further includes a first processor and a first controller. The first processor is connected to a third port of the expansion device, and a first port of the first connector is connected to a first port of the expansion device; The second node further includes a second processor and a second controller. The second processor and the second controller are respectively connected to the adapter card, and the second connector is connected to a third port of the first connector; The first processor and the second processor are respectively used to configure the bandwidth of the corresponding node; The first controller and the second controller are used to configure sideband signals, and the sideband signals are used to control the expansion device.

3. The multi-node communication system according to claim 2, characterized in that: The logic module includes a first diode and a second diode connected in parallel. The output end of the first power supply is connected to the anode of the first diode, the second port of the first connector is connected to the anode of the second diode, and the cathodes of the first diode and the second diode are respectively connected to the second port of the expansion device and the power supply end of the switching module.

4. The multi-node communication system according to claim 3, wherein: The switching module further includes a first selection port, a second selection port, a first input end, a second input end, an output end, and an interrupt port. The first selection port is used to detect the working state of the first node, and the second selection port is used to detect the working state of the second node; The first input end of the switching module is connected to the output end of the first controller, the second input end of the switching module is connected to the fourth port of the first connector, the output end of the switching module is connected to the fourth port of the expansion device, and the interrupt port of the switching module is respectively connected to the input end of the first controller and the fifth port of the first connector; The sideband signals of the first controller and the second controller are input into the switching module, and the switching module switches the sideband signals and sends them to the expansion device.

5. The multi-node communication system according to claim 4, wherein: In response to the first selection port detecting that the first node is powered off, the first diode is turned off, the second diode is forward-conducted, and the second power supply powers the switching module and the expansion device through the second diode; When the first input end of the switching module receives a high-level signal, an interrupt signal is sent to the second controller through the interrupt port, and the sideband signal of the second node is sent to the expansion device through the output end of the switching module.

6. A multi-node communication method, applied to the multi-node communication system as described in claim 5, characterized in that, The method includes: Performing in-position detection on the first connector and the second connector, and determining the current mode according to the detection result, where the current mode includes a single-host mode and a multi-host mode; In response to the current mode being the multi-host mode, establishing a communication link between the first connector and the second connector, so that the second power supply and the first power supply together serve as the input of the logic module through the communication link; In response to one or more nodes failing, switching the power supply through the logic module to power the switching module and the expansion device, and switching the sideband signal through the switching module to control communication with the expansion device.

7. The multi-node communication method according to claim 6, wherein The performing in-position detection on the first connector and the second connector, and determining the current mode according to the detection result includes: Determining whether the first connector on the node where the first controller and the second controller are located is in position; Taking the node where the first connector is in position as the first node, and taking the node where the first connector is not in position as the second node; Determining whether the first node is connected to the expansion device and whether the second node is connected to the adapter; In response to the first node being connected to the expansion device and the second node being connected to the adapter, determining that the current mode is the multi-host mode; In response to the first node being connected to the expansion device and the second node not being connected to the adapter, determining that the current mode is the single-host mode.

8. The multi-node communication method according to claim 6 or 7, characterized in that The responding to one or more nodes failing, switching the power supply through the logic module to power the switching module and the expansion device, and switching the sideband signal through the switching module to control communication with the expansion device includes: Monitoring whether the first node and the second node are operating normally; In response to the first node failing, the second power supply powers the switching module and the expansion device through the logic module, and the second controller outputs a sideband signal to the expansion device through the switching module, so that the second node maintains communication with the expansion device; In response to the second node failing, the first node maintains communication with the expansion device.

9. An electronic device, characterized in that, It includes: A memory for storing a computer program; A processor for implementing the steps of the multi-node communication method according to any one of claims 6 to 8 when executing the computer program.

10. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, where the computer program implements the steps of the multi-node communication method according to any one of claims 6 to 8 when executed by a processor.