Cluster management method, device, system, equipment, storage medium and program product

CN122476102BActive Publication Date: 2026-10-23SUGON INFORMATION IND +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202610957304.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-06-30
Publication Date
2026-10-23
Estimated Expiration
2046-06-30

AI Technical Summary

Technical Problem

但是随着集群的规模不断扩展,集群的管理工作逐渐变得复杂,所以如何降低集群管理的复杂性是尤为重要的

Benefits of technology

[0028]本申请实施例提供的集群管理方法、装置、系统、设备、存储介质和程序产品,该方法包括:子网管理器按照预设的服务自发现协议,与每个子网代理器建立连接,并通过每个子网代理器,采集每个子网代理器连接的物理节点的拓扑数据,得到高带宽域的拓扑信息;子网管理器将高带宽域的拓扑信息发送给子网全局管理器,以使子网全局管理器将高带宽域的拓扑信息记录到预设的全局视图中;全局视图用于存储多个高带宽域的拓扑信息。通过采用子网代理器管理物理节点,采用子网管理器管理单个高带宽域,采用子网全局管理器管理多个高带宽域,即通过多层级式的系统框架,实现了集群拓扑信息的局部管理和全局的管理,从而将集群的管理工作分散到各个层级的管理实体中,降低了集群管理的复杂性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122476102B_ABST
    Figure CN122476102B_ABST
Patent Text Reader

Abstract

The application relates to a cluster management method, device, system, equipment, storage medium and program product. The method comprises the following steps: a subnet manager collects topology data of a physical node connected to each subnet agent through each subnet agent, and obtains topology information of a high-bandwidth domain; the subnet manager sends the topology information of the high-bandwidth domain to a subnet global manager, so that the subnet global manager records the topology information of the high-bandwidth domain into a preset global view; and the global view is used for storing topology information of multiple high-bandwidth domains. Through a multi-level system framework, local management and global management of cluster topology information are realized, so that the management work of the cluster is dispersed to management entities at various levels, and the complexity of cluster management is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a cluster management method, apparatus, system, device, storage medium, and program product. Background Technology

[0002] With the rapid growth in demand for HPC (High-performance computing), deep learning, and big data processing, traditional interconnect technologies face bandwidth limitations and latency issues, failing to meet the high data flow requirements of computing applications. To address these challenges, the emergence of high-speed interconnect technologies for efficient DCUs (Deep Computing Units) has become particularly urgent. High-speed DCU interconnect technology supports direct memory access between multiple DCUs, reducing the need for data copying and improving resource utilization, which is especially important for applications requiring frequent data exchange, such as deep learning training. High-speed DCU interconnect technology provides a powerful interconnect solution for modern computing environments, significantly improving the performance and flexibility of data centers and meeting ever-increasing computing demands.

[0003] High-speed interconnect technology for DCUs typically uses supernodes to build clusters. A supernode is an architecture that integrates multiple independent physical servers (physical nodes) through a high-speed interconnect network and software, making them logically appear as a single, powerful computing entity. Internally, a supernode forms a high-speed interconnected HBD (High Bandwidth Domain). However, as the cluster size continues to expand, cluster management becomes increasingly complex, making it crucial to reduce this complexity. Summary of the Invention

[0004] Therefore, it is necessary to provide a cluster management method, device, system, equipment, storage medium, and program product that can reduce the complexity of cluster management in response to the above-mentioned technical problems.

[0005] In a first aspect, this application provides a cluster management method applied to a subnet manager in a high-bandwidth domain. The high-bandwidth domain includes multiple physical nodes and multiple subnet proxies, with each physical node connected to one subnet proxy. The subnet manager is connected to a subnet global manager. The method includes: establishing a connection with each subnet proxy according to a preset service discovery protocol; collecting topology data of the physical nodes connected to each subnet proxy to obtain topology information of the high-bandwidth domain; and sending the topology information of the high-bandwidth domain to the subnet global manager so that the subnet global manager records the topology information of the high-bandwidth domain in a preset global view. The global view is used to store the topology information of multiple high-bandwidth domains.

[0006] In this embodiment, by employing a subnet proxy to manage physical nodes, a subnet manager to manage a single high-bandwidth domain, and a subnet global manager to manage multiple high-bandwidth domains, a multi-level system framework is used to achieve local and global management of cluster topology information. This disperses cluster management work among management entities at various levels, reducing the complexity of cluster management.

[0007] In an optional implementation, the high-bandwidth domain further includes multiple backup subnet managers, each of which is connected to the subnet manager. The method further includes: when an election message is received from one of the backup subnet managers, obtaining the term number of the backup subnet manager from the election message; wherein the election message is generated when the backup subnet manager has not received a heartbeat message from the subnet manager within a preset time period; if the term number of the backup subnet manager is greater than its own term number, then it is determined that the term of the backup subnet manager is later than its own term, and a voting message is sent to the backup subnet manager; wherein the voting message is used to select the backup subnet manager as the new subnet manager.

[0008] In this embodiment, an election mechanism is automatically triggered when the subnet manager malfunctions to achieve device switching, and term numbers are used to ensure the timeliness and rationality of the election. Furthermore, no data synchronization is required between the primary subnet manager and the backup subnet manager, reducing system overhead.

[0009] In an optional implementation, the high-bandwidth domain further includes multiple backup subnet managers, each of which is connected to the original subnet manager. The method further includes: when receiving election messages from multiple backup subnet managers, obtaining the term numbers of the multiple backup subnet managers from the multiple election messages; wherein the election messages are generated when a backup subnet manager does not receive a heartbeat message from the original subnet manager within a preset time period; selecting a target subnet manager from the multiple backup subnet managers according to the term numbers of the multiple backup subnet managers; and sending a voting message to the target subnet manager; wherein the voting message is used to select the target subnet manager as the new subnet manager.

[0010] In this embodiment, an election mechanism is automatically triggered when the subnet manager malfunctions to achieve device switching, and term numbers are used to ensure the timeliness and rationality of the election. Furthermore, no data synchronization is required between the primary subnet manager and the backup subnet manager, reducing system overhead.

[0011] In an optional implementation, selecting a target subnet manager from the plurality of backup subnet managers based on their term numbers includes: selecting a candidate subnet manager from the plurality of backup subnet managers whose term number is greater than its own; if there is only one candidate subnet manager, selecting that candidate subnet manager as the target subnet manager; if there are multiple candidate subnet managers, and if there is only one candidate subnet manager with the largest term number, selecting that candidate subnet manager with the largest term number as the target subnet manager; if there are multiple candidate subnet managers with the largest term number, selecting the candidate subnet manager with the largest term number and the earliest receipt time of the election message as the target subnet manager.

[0012] In this embodiment, by adopting a multi-layer selection strategy, a unique target subnet manager can still be selected even in complex scenarios where multiple backup subnet managers participate in the election simultaneously, ensuring that the election can be carried out smoothly and improving the stability of the subnet manager master-slave switchover.

[0013] In an optional implementation, establishing a connection with each subnet proxy according to a preset service discovery protocol includes: multicasting a query message containing a preset service name to the high-bandwidth domain according to the preset service discovery protocol, so that each subnet proxy sends a response message based on the query message; obtaining the address information of each subnet proxy based on each received response message; and sending a connection request to each subnet proxy based on each address information, so that each subnet proxy establishes a connection with the subnet manager based on the connection request.

[0014] In this embodiment, the subnet manager and subnet agent can automatically establish a connection through the service discovery protocol, thus eliminating the need for manual configuration of the address list and setting of the device startup order, thereby simplifying the cluster management process and improving the flexibility of cluster management.

[0015] In an optional implementation, the method further includes: receiving configuration information sent by the subnet global manager; and sending the configuration information to each of the subnet proxies, so that each of the subnet proxies configures the physical nodes it connects to based on the configuration information.

[0016] In this embodiment, by using the subnet manager as a relay node in the process of distributing configuration information, information transmission between the subnet global manager and various physical nodes in different high-bandwidth domains is realized, thereby achieving unified management of configuration information of multiple physical nodes in the cluster, improving configuration efficiency and ensuring configuration accuracy.

[0017] In an optional implementation, the method further includes: upon detecting a change in the topology data of any of the physical nodes, acquiring the changed data of the physical node; and sending the changed data to the subnet global manager so that the subnet global manager updates the global view based on the changed data.

[0018] In this embodiment, by using an incremental update mechanism to update the data when the topology data changes, the synchronous update of the topology data is achieved, ensuring the timeliness of the global view and avoiding frequent full data updates, thus improving update efficiency.

[0019] In an optional implementation, the method further includes: upon receiving abnormal event information from any of the subnet agents, sending the abnormal event information to the subnet global manager, so that the subnet global manager reports the abnormal event information.

[0020] In this embodiment, the subnet manager actively sends abnormal event information of physical nodes to the subnet global manager, which realizes rapid reporting of abnormal event information and eliminates the need for the subnet global manager to poll and query the status, thus reducing system overhead.

[0021] In an optional implementation, the method further includes: when an abnormal connection with the subnet global manager is detected, establishing a connection with the backup subnet global manager according to a preset service self-discovery protocol; collecting the latest topology data of the physical nodes connected to each subnet proxy through each subnet proxy to obtain the latest topology information of the high-bandwidth domain; and sending the latest topology information of the high-bandwidth domain to the backup subnet global manager so that the backup subnet global manager records the latest topology information of the high-bandwidth domain in the backup global view.

[0022] In this embodiment, the system's fault tolerance is improved by automatically switching between primary and backup subnets when the subnet global manager malfunctions, automatically establishing a connection between the subnet manager and the backup subnet global manager through a service self-discovery protocol, and ensuring information consistency by collecting the latest topology information.

[0023] Secondly, this application also provides a cluster management device applied to a subnet manager in a high-bandwidth domain. The high-bandwidth domain includes multiple physical nodes and multiple subnet proxies, with each physical node connected to one subnet proxy. The subnet manager is connected to a subnet global manager. The device includes: a processing module, configured to establish a connection with each subnet proxy according to a preset service discovery protocol; and to collect topology data of the physical nodes connected to each subnet proxy to obtain topology information of the high-bandwidth domain; and a sending module, configured to send the topology information of the high-bandwidth domain to the subnet global manager, so that the subnet global manager records the topology information of the high-bandwidth domain in a preset global view; the global view is used to store the topology information of multiple high-bandwidth domains.

[0024] Thirdly, this application provides a cluster management system, including a subnet global manager and multiple high-bandwidth domains. Each high-bandwidth domain includes a subnet manager, multiple physical nodes, and multiple subnet proxies. Each physical node is connected to one of the subnet proxies, and each subnet manager is connected to the subnet global manager. The subnet manager is used to establish a connection with each subnet proxy according to a preset service discovery protocol. The subnet manager is also used to collect topology data of the physical nodes connected to each subnet proxy to obtain the topology information of the high-bandwidth domain. The subnet manager is also used to send the topology information of the high-bandwidth domain to the subnet global manager. The subnet global manager is used to record the topology information of the high-bandwidth domain in a preset global view. The global view is used to store the topology information of multiple high-bandwidth domains.

[0025] Fourthly, this application provides a computer device including a processor and a memory, the memory storing a computer program, wherein when the processor executes the computer program, it implements the steps of the method described in any of the foregoing embodiments.

[0026] Fifthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in any of the foregoing embodiments.

[0027] Sixthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in any of the foregoing embodiments.

[0028] The cluster management method, apparatus, system, device, storage medium, and program product provided in this application embodiment include: a subnet manager establishing a connection with each subnet proxy according to a preset service discovery protocol, and collecting topology data of the physical nodes connected to each subnet proxy to obtain the topology information of a high-bandwidth domain; the subnet manager sending the topology information of the high-bandwidth domain to a subnet global manager, so that the subnet global manager records the topology information of the high-bandwidth domain in a preset global view; the global view is used to store the topology information of multiple high-bandwidth domains. By using subnet proxies to manage physical nodes, using a subnet manager to manage a single high-bandwidth domain, and using a subnet global manager to manage multiple high-bandwidth domains, a multi-level system framework is used to achieve local and global management of cluster topology information, thereby distributing cluster management work to management entities at various levels and reducing the complexity of cluster management. Attached Figure Description

[0029] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0030] Figure 1 A schematic diagram of a cluster management system provided in an embodiment of this application is shown;

[0031] Figure 2 An example diagram of a cluster management system provided in an embodiment of this application is shown;

[0032] Figure 3 A schematic diagram of a cluster management process provided in an embodiment of this application is shown;

[0033] Figure 4 This illustration shows a flowchart illustrating the process of establishing a connection between a subnet manager and a subnet proxy, as provided in an embodiment of this application.

[0034] Figure 5 This illustration shows another example of a process for establishing a connection between a subnet manager and a subnet proxy, as provided in an embodiment of this application.

[0035] Figure 6 An example diagram of an election process provided by an embodiment of this application is shown;

[0036] Figure 7 This illustration shows a schematic diagram of an election state transition provided in an embodiment of this application;

[0037] Figure 8 This paper illustrates a functional block diagram of a cluster management device provided in an embodiment of this application;

[0038] Figure 9 A schematic diagram of the internal structure of a computer device provided in an embodiment of this application is shown. Detailed Implementation

[0039] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0040] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.

[0041] In related technologies, the traditional PCIe (Peripheral Component Interconnect-express, a high-speed serial computer expansion bus standard) interface often becomes a performance bottleneck in multi-DCU systems, unable to support large-scale data transmission. High-speed DCU interconnect technology significantly improves the communication capabilities between DCUs. Deep learning and real-time computing applications require rapid data exchange. One of the design goals of high-speed DCU interconnect technology is to achieve low-latency, efficient data transmission, ensuring that DCUs can respond quickly to computing tasks. With increasing computing demands, data centers need to support more DCU devices. High-speed DCU interconnect switching technology can integrate multiple connected DCUs into a high-performance network, thereby improving system scalability and flexibility. High-speed DCU interconnect technology supports direct memory access between multiple DCUs, reducing the need for data copying and improving resource utilization, which is particularly important for applications requiring frequent data exchange, such as deep learning training. By designing and implementing high-speed DCU interconnect technology, a powerful interconnect solution has been provided for modern computing environments, greatly improving the performance and flexibility of data centers and meeting the ever-growing computing demands.

[0042] With the development of DCU high-speed interconnect technology, ensuring efficient subnet management across different product forms has become particularly important. This includes reducing configuration and management complexity, minimizing coupling with specific product forms, shortening fault recovery time in complex network environments, extending the administrator intervention cycle, and reducing network administrator intervention. When building larger-scale clusters involving HBD domains composed of multiple supernodes, the uncertainty of the expansion scale and the complexity of management-related tasks such as startup and configuration become crucial. Therefore, reducing configuration and management complexity is paramount. Furthermore, as the cluster size expands further, the impact of disaster recovery on cluster operations becomes critical, requiring rapid and efficient disaster recovery failover and minimizing disaster recovery overhead.

[0043] The existing cluster management methods have the following problems: (1) Centralized management of the HBD domain within the supernode requires an external configuration file, and the data in the configuration files on multiple nodes needs to be consistent, resulting in a cumbersome and error-prone configuration process for large-scale HBD domains. (2) The existing centralized subnet management within the HBD domain has requirements on the startup order of devices, which must be started in a predetermined order, lacking flexibility. (3) When the HBD domain performs disaster recovery switching, in order to maintain data consistency between the primary and backup nodes, logs need to be constantly synchronized, resulting in huge performance overhead. (4) The subnet manager and global manager of the HBD domain need to pre-design the target address, which is a relatively cumbersome configuration method. (5) When the upper layer performs queries, it consumes the resources of the lower layer, affecting the job. Therefore, the embodiments of this application provide a cluster management method to solve the above problems.

[0044] The cluster management method provided in this application embodiment can be applied to, for example, Figure 1 The cluster management system shown includes a subnet global manager and multiple high-bandwidth domains. Each high-bandwidth domain contains a subnet manager, multiple physical nodes, and multiple subnet proxies. Each physical node is connected to a subnet proxy, and each subnet proxy is connected to a subnet manager. Each subnet manager in each high-bandwidth domain is connected to the subnet global manager. It should be understood that the number of physical nodes in different high-bandwidth domains can be the same or different. Furthermore, the subnet global manager, also known as the SGM (Subnet Global Manager), manages multiple high-bandwidth domains; the subnet manager, also known as the SFM (Subnet Fabric Manager), manages a single high-bandwidth domain; and the subnet proxy, also known as the HFM (Host Fabric Manager), manages a single physical node. This cluster management system allows for dynamic expansion within high-bandwidth domains, and once a high-bandwidth domain is started, it is automatically integrated into the management and monitoring of the subnet global manager, without affecting the services of other high-bandwidth domains.

[0045] For ease of understanding, this application provides an example diagram of a cluster management system. Please refer to [link / reference]. Figure 2The cluster management system comprises a management node (SGM), a Scale Out domain (horizontal scaling network), and multiple Scale Up domains (vertical scaling networks). The Scale Out domain enhances overall network capacity and performance by adding more network devices and interconnecting them as a unified logical system. It includes Layer 2 switches (L2-01 and L2-02) and Layer 1 switches (L1-01 to L1-04). The Scale Up domain enhances network capacity and performance by adding more and more powerful components within individual network devices. A Scale Up domain is a high-bandwidth domain comprising multiple Type 1 physical nodes and multiple Type 2 physical nodes. Type 1 physical nodes contain HCAs (Host Channel Adapters) and DCUs, while Type 2 physical nodes contain HYSs (HYlink Switches). Each Type 1 and Type 2 physical node is equipped with an HFM, and each Type 2 physical node is equipped with an SFM.

[0046] Furthermore, the Layer 2 switches are connected to the Layer 1 switches via IB (InfiniBand, dedicated high-speed data) cables, and the Layer 1 switches are also connected to each Category 1 physical node via IB cables. These IB cables are as follows: Figure 2 As shown by the pink line segment, its bandwidth is 400Gbps. The Type 1 and Type 2 physical nodes in each Scale Up domain are connected via Hylink cables, as shown in the diagram. Figure 2 The black line segment indicates a bandwidth of 256Gbps. The HFM and SFM in each Scale Up domain are connected via an Ethernet network, and the SGM is also connected to the SFM in each Scale Up domain via an Ethernet network, as shown below. Figure 2 As shown by the blue line segment in the image.

[0047] The following section will use the subnet manager as the execution entity to describe the various steps and corresponding technical effects of the cluster management method provided in this application's embodiments. Please refer to... Figure 3 This is a flowchart illustrating a cluster management method provided in an embodiment of this application, including steps 210 to 220.

[0048] Step 210: Collect the topology data of the physical nodes connected to each subnet proxy to obtain the topology information of the high-bandwidth domain.

[0049] Physical nodes refer to nodes composed of network resources. Topology data includes data such as the type, quantity, status, and link connection relationships of network resources in physical nodes.

[0050] In this embodiment of the application, the subnet manager sends a data collection request to each subnet agent. After receiving the data collection request, each subnet agent collects the topology data of the physical nodes connected to it and sends it to the subnet manager. Then, the subnet manager summarizes the topology data of each physical node received to obtain the topology information of the high bandwidth domain.

[0051] Step 220: Send the topology information of the high-bandwidth domain to the subnet global manager so that the subnet global manager records the topology information of the high-bandwidth domain in the preset global view.

[0052] The global view is used to store topology information for multiple high-bandwidth domains. For example, the global view can be a topology information view indexed by the unique identifier (UID) of each high-bandwidth domain. The unique identifier of a high-bandwidth domain is generated by the identifier library during the first startup initialization, and this unique identifier is reported to the subnet global manager by the subnet manager.

[0053] In this embodiment, the subnet manager sends the obtained topology information of the high-bandwidth domains to the subnet global manager, which then records the received topology information in the global view. This can be understood as the subnet global manager monitoring and maintaining the topology information of each high-bandwidth domain through the global view, and providing topology information from a full cluster perspective to the upper-layer management platform. Thus, when the management platform needs to query topology information, it can do so through the global view provided by the subnet global manager, without needing to query through the subnet manager or subnet proxy. This improves query response speed and reduces the resource consumption of underlying devices by upper-layer topology queries.

[0054] As can be seen, by using a subnet proxy to manage physical nodes, a subnet manager to manage a single high-bandwidth domain, and a subnet global manager to manage multiple high-bandwidth domains, a multi-level system framework is used to achieve local and global management of cluster topology information. This distributes cluster management work among management entities at various levels, reducing the complexity of cluster management.

[0055] Optionally, prior to step 210, this application embodiment also provides an implementation method for establishing a connection between a subnet proxy and a subnet manager, namely: according to a preset service discovery protocol, a query message containing a preset service name is multicast to the high-bandwidth domain so that each subnet proxy sends a response message based on the query message; based on each received response message, the address information of each subnet proxy is obtained; based on each address information, a connection request is sent to each subnet proxy so that each subnet proxy establishes a connection with the subnet manager based on the connection request.

[0056] The service discovery protocol, also known as MDNS-SD (Multicast Domain Name System-Service Discovery), is a zero-configuration service discovery mechanism. Zero configuration means that no pre-configured IP (Internet Protocol) address list is required. Service discovery enables automatic service identification within a local area network (LAN) such as a VLAN (Virtual Local Area Network). Using VLANs allows for network isolation between subnet managers in different high-bandwidth domains and also isolates multicast packets within different high-bandwidth domains. This prevents multicast storms and reduces the impact on high-bandwidth domains during scaling. The default service name is a pre-set name used to represent the address subscription service provided. Address information includes IP address and port information.

[0057] It is understood that the startup order of the subnet proxy and the subnet manager is not limited in this embodiment. That is, whether the subnet proxy or the subnet manager starts first, the subnet proxy and the subnet manager can automatically establish a connection. For ease of understanding, the connection establishment process in the two cases of starting the subnet proxy first and starting the subnet manager first will be described below.

[0058] The process of establishing a connection when the subnet proxy starts up: (1) After each subnet proxy in the high-bandwidth domain starts up, each subnet proxy will multicast a notification message containing the preset service name, its own IP address and port information to the high-bandwidth domain. (2) Each subnet proxy listens to the multicast of the address subscription service and waits for the subnet manager to start up and send a query message. (3) After receiving the query message sent by the subnet manager, each subnet proxy sends a response message containing its own IP address and port information so that the subnet manager can send a connection request to it based on the subnet proxy's IP address and port information. (4) After receiving the connection request, each subnet proxy establishes a reliable connection with the subnet manager.

[0059] The process of establishing a connection when the subnet manager starts up is as follows: (1) After the subnet manager starts up, it multicasts a query message containing a preset service name to the high-bandwidth domain. (2) After each subnet agent starts up, it receives the query message and sends a response message containing its own IP address and port information. (3) After receiving the response message sent by each subnet agent, the subnet manager sends a connection request to each subnet agent according to the IP address and port information in the response message. (4) After receiving the connection request, each subnet agent establishes a reliable connection with the subnet manager.

[0060] For ease of understanding, this application provides two example diagrams to illustrate the process of establishing a connection between the subnet manager and the subnet proxy. Please refer to... Figure 4 If the HFM starts first, upon its first launch or re-launch, the HFM registers a service to send a broadcast packet and starts an asynchronous background listener for broadcast packets, waiting for connections. The SFM listens for broadcast packets asynchronously in the background and completes HFM discovery upon receiving a broadcast packet. The SFM then proactively initiates a connection with the HFM to establish a connection. After the SFM and HFM establish a connection, business processing begins. Please refer to [link to relevant documentation]. Figure 5 If the Service Message Function (SFM) starts first, upon its first launch or re-launch, the SFM initiates asynchronous listening and sends service query broadcast packets. Upon receiving the service query, the Service Message Function (HFM) responds via unicast or multicast. Upon receiving the response packet, the SFM completes HFM discovery and then proactively initiates a connection with the HFM to establish a connection. Once the connection is established, business processing begins.

[0061] As can be seen, the service discovery protocol enables the subnet manager and subnet agent to automatically establish a connection, eliminating the need for manual configuration of address lists and setting of device startup order, thereby simplifying the cluster management process and improving the flexibility of cluster management.

[0062] Optionally, after step 220, this application embodiment also provides an implementation method for distributing configuration information, namely: receiving configuration information sent by the subnet global manager; sending the configuration information to each subnet proxy so that each subnet proxy can configure the physical nodes it connects to based on the configuration information.

[0063] The configuration information may include the working mode and transmission rate of the physical node.

[0064] In this embodiment, the subnet global manager can send configuration information to subnet managers in a high-bandwidth domain to achieve targeted distribution of individual configuration information. The subnet global manager can also send the same or different configuration information to subnet managers in multiple high-bandwidth domains to achieve unified distribution of configuration information. After receiving the configuration information, the subnet manager forwards it to each subnet proxy connected to it. Upon receiving the configuration information, the subnet proxy parses it to obtain the configuration content and configures the physical nodes connected to it according to this content. For example, the subnet proxy can modify the working mode, transmission rate, and other information of the physical nodes by calling their management interfaces according to the configuration content.

[0065] As can be seen, by using the subnet manager as a relay node in the process of distributing configuration information, information can be transferred between the subnet global manager and various physical nodes in different high-bandwidth domains. This enables unified management of configuration information for multiple physical nodes in the cluster, improves configuration efficiency, and ensures configuration accuracy.

[0066] Optionally, after step 220, this application embodiment also provides a method for synchronously updating topology data, namely: when a change in the topology data of any physical node is detected, the changed data of the physical node is obtained; the changed data is sent to the subnet global manager so that the subnet global manager updates the global view based on the changed data.

[0067] Among them, the change data is used to represent the changes in the type, quantity, status and link connection relationship of network resources in physical nodes, which is incremental information of topology data.

[0068] In this embodiment, the subnet manager periodically sends data collection requests to each subnet proxy at preset time points, enabling each subnet proxy to collect the current topology data of the physical nodes connected to it and send it to the subnet manager. Upon receiving the current topology data of each physical node, the subnet manager compares the current topology data of the same physical node with the previously stored topology data. If the two are inconsistent, it indicates that the topology data of the physical node has changed. The subnet manager then determines the difference between the current and previous topology data of the physical node to obtain the changed data of the physical node and sends it to the subnet global manager. Upon receiving the changed data of the physical node, the subnet global manager updates the global view, that is, it updates the topology information of the high-bandwidth domain to which the physical node belongs in the global view, thereby achieving synchronous updating of the topology data.

[0069] As can be seen, by using an incremental update mechanism to update the data when the topology data changes, the synchronous update of the topology data is achieved, ensuring the timeliness of the global view and avoiding frequent full data updates, thus improving update efficiency.

[0070] Optionally, after step 220, this application embodiment also provides an implementation method for reporting abnormal event information, namely: when receiving abnormal event information sent by any subnet agent, the abnormal event information is sent to the subnet global manager so that the subnet global manager reports the abnormal event information.

[0071] Among them, abnormal event information is used to describe relevant information when an abnormality occurs in a physical node, such as the time when the abnormality occurs and the type of abnormality.

[0072] In this embodiment, the subnet proxy monitors the operational status of the physical nodes connected to it in real time. When the subnet proxy detects an anomaly in a connected physical node, it generates an anomaly event and sends it to the subnet manager. Upon receiving the anomaly event, the subnet manager forwards it to the subnet global manager. The subnet global manager then reports the anomaly event. For example, the subnet global manager might send the anomaly event to a user interface, which then pushes the information to the management platform. The management platform can then generate an alert to notify maintenance personnel that the physical node has malfunctioned, facilitating troubleshooting or appropriate recovery measures.

[0073] As can be seen, by having the subnet manager actively send abnormal event information of physical nodes to the subnet global manager, the abnormal event information can be reported quickly, and the subnet global manager does not need to poll the status, thus reducing system overhead.

[0074] Optionally, this application embodiment also provides an implementation method for subnet manager disaster recovery switching, that is, after step 220, it further includes steps 230 to 240.

[0075] Step 230: When an election message is received from a backup subnet manager, the term number of the backup subnet manager is obtained from the election message.

[0076] Step 240: If the term number of the standby subnet manager is greater than the term number of its own, then it is determined that the term of the standby subnet manager is later than the term of its own, and a voting message is sent to the standby subnet manager.

[0077] In this context, a standby subnet manager refers to any subnet manager in a high-bandwidth domain other than the primary subnet manager. The primary subnet manager is the one currently performing management functions; for example, at least three subnet managers must be deployed in a high-bandwidth domain. The term number indicates the election round for the primary subnet manager, reflecting the chronological order of the election. A larger term number, a later chronological order, and a later term indicate a more timely election. An election message is generated when the standby subnet manager does not receive a heartbeat message from another subnet manager within a preset timeframe. A voting message is used to select the standby subnet manager as the new primary subnet manager.

[0078] To facilitate understanding, the following explanation uses a high-bandwidth domain comprising three subnet managers: subnet manager A, subnet manager B, and subnet manager C. Assume subnet manager A is the primary subnet manager, and subnet managers B and C are backup subnet managers.

[0079] First, subnet manager A will send heartbeat messages to subnet manager B and subnet manager C at preset time intervals to maintain connections with subnet manager B and subnet manager C respectively.

[0080] Then, if subnet manager A malfunctions, such as a network connection interruption, and subnet manager B does not receive a heartbeat message from subnet manager A within a preset time, it will consider subnet manager A to be abnormal. In this case, subnet manager B will trigger the election mechanism, which will use the number of the current cumulative election rounds plus one as its own term number (subnet manager B's term number), and generate an election message requesting to elect itself as the new master subnet manager based on its own term number, and send the election message to subnet manager A and subnet manager C.

[0081] Furthermore, if subnet manager A experiences a malfunction, such as a network connection interruption, causing subnet manager C to not receive a heartbeat message from subnet manager A within a preset time period, it will consider subnet manager A to be abnormal. Before subnet manager C triggers the election mechanism, it receives an election message from subnet manager B. Since subnet manager C only receives one election message, it sends a vote message to subnet manager B to elect subnet manager B as the new master subnet manager.

[0082] Next, subnet manager A restores the network connection and receives the election message from subnet manager B. It then retrieves subnet manager B's term number from the election message and compares its own term number (subnet manager A's term number) with subnet manager B's term number. For example, if subnet manager A determines that subnet manager B's term number is greater than its own, it determines that subnet manager B's term started later than its own, meaning subnet manager A considers subnet manager B a candidate for the new master subnet manager. Since subnet manager A has only received an election message from one candidate, it will send a vote message to subnet manager B to select subnet manager B as the new master subnet manager.

[0083] Finally, subnet managers A, B, and C will each count the voting messages they received to obtain their total votes. Since subnet manager B participated in the election, it will vote for itself, so its total votes are the sum of the total number of voting messages it received plus one. Because subnet manager B has the most votes, it becomes the new master subnet manager. Subnet manager B will then establish connections with the subnet global manager and each subnet agent through the aforementioned service discovery mechanism. It will collect the current topology data of each physical node through each subnet agent, obtain the current topology information of the high-bandwidth domain, and send it to the subnet global manager. This way, even if the topology data changes during the master / slave switchover of the subnet managers, data integrity can be ensured by re-acquiring the topology data, thus avoiding data loss.

[0084] Understandably, when a subnet manager receives an election message with an term number smaller than its own, it assumes the message refers to the previous election, meaning it considers the message expired. Therefore, the subnet manager will directly reject the message and will not respond. Regarding the total vote count for each subnet manager, if multiple subnet managers have the most votes, a new round of elections will be initiated. Furthermore, the original master subnet manager will send the unique identifier of the high-bandwidth domain to the new master subnet manager to achieve a seamless handover of subnet managers.

[0085] As can be seen, by automatically triggering the election mechanism to achieve device switching when the subnet manager encounters an anomaly, and by using term numbering to ensure the timeliness and rationality of the election, and by eliminating the need for data synchronization between the primary subnet manager and the backup subnet manager, system overhead is reduced.

[0086] Optionally, this application embodiment provides another implementation method for subnet manager disaster recovery switching, which includes steps 250 to 270 after step 220.

[0087] Step 250: When an election message is received from multiple backup subnet managers, the term number of the multiple backup subnet managers is obtained from the multiple election messages.

[0088] Step 260: Select the target subnet manager from the multiple standby subnet managers based on their term numbers.

[0089] Step 270: Send a voting message to the target subnet manager.

[0090] In this context, a standby subnet manager refers to any subnet manager in a high-bandwidth domain other than the primary subnet manager. The primary subnet manager is the one currently performing management functions; for example, at least three subnet managers must be deployed in a high-bandwidth domain. The term number indicates the election round for the primary subnet manager, reflecting the chronological order of the election. A larger term number, a later chronological order, and a later term indicate a more timely election. An election message is generated when the standby subnet manager does not receive a heartbeat message from a subnet manager within a preset timeframe. A voting message is used to select the target subnet manager as the new primary subnet manager.

[0091] To facilitate understanding, the following example uses a high-bandwidth domain comprising four subnet managers: subnet manager A, subnet manager B, subnet manager C, and subnet manager D. Assume subnet manager A is the primary subnet manager, and subnet managers B, C, and D are backup subnet managers.

[0092] First, subnet manager A will send heartbeat messages to subnet managers B, C, and D at preset time intervals to maintain connections with them respectively.

[0093] Then, due to a malfunction in subnet manager A, such as a network connection interruption, subnet managers B, C, and D all fail to receive a heartbeat message from subnet manager A within a preset time period. In this case, subnet managers B, C, and D all consider subnet manager A to be abnormal, and all of them trigger the election mechanism, that is, they all send election messages to subnet manager A.

[0094] Next, subnet manager A restores the network connection and receives election messages from subnet managers B, C, and D respectively; that is, subnet manager A receives three election messages. Subnet manager A then retrieves the term numbers of subnet managers B, C, and D from these three election messages, and based on these term numbers, selects a target subnet manager. It then sends a voting message to this target subnet manager to elect it as the new primary subnet manager.

[0095] Finally, subnet managers A, B, C, and D will each count the voting messages they received to obtain their total votes. Since subnet managers B, C, and D all participated in the election, they will each cast one vote for themselves. Therefore, subnet manager B's total votes are the total number of voting messages it received plus one, subnet manager C's total votes are the total number of voting messages it received plus one, and subnet manager D's total votes are the total number of voting messages it received plus one.

[0096] Assuming subnet manager A selects subnet manager B as its target subnet manager (i.e., subnet manager A sends a voting message to subnet manager B), subnet manager B receives the most votes and becomes the new master subnet manager. Subnet manager B then uses the aforementioned service discovery mechanism to establish connections with the subnet global manager and each subnet proxy. It collects the current topology data of each physical node through each subnet proxy, obtains the current topology information of the high-bandwidth domain, and sends it to the subnet global manager. This ensures data integrity and prevents data loss even if the topology data changes during a master-slave switchover.

[0097] Understandably, if multiple subnet managers have the most votes based on the total vote count, a new round of elections will be initiated. Furthermore, the original master subnet manager will send the unique identifier of the high-bandwidth domain to the new master subnet manager to achieve a seamless handover of subnet managers.

[0098] As can be seen, by automatically triggering the election mechanism to achieve device switching when the subnet manager encounters an anomaly, and by using term numbering to ensure the timeliness and rationality of the election, and by eliminating the need for data synchronization between the primary subnet manager and the backup subnet manager, system overhead is reduced.

[0099] Optionally, for step 260 above, this application embodiment provides a possible implementation method, namely: selecting a candidate subnet manager with an term number greater than its own from multiple backup subnet managers; if there is only one candidate subnet manager, using that candidate subnet manager as the target subnet manager. If there are multiple candidate subnet managers, if there is only one candidate subnet manager with the largest term number, then that candidate subnet manager with the largest term number is used as the target subnet manager; if there are multiple candidate subnet managers with the largest term number, then the candidate subnet manager with the largest term number and the earliest election message reception time is used as the target subnet manager.

[0100] To facilitate understanding, we will continue with the example above, which includes a high-bandwidth domain with four subnet managers: subnet manager A, subnet manager B, subnet manager C, and subnet manager D.

[0101] Suppose that subnet manager A receives election messages from subnet managers B, C, and D in sequence. Then, subnet manager A will obtain the term numbers of subnet managers B, C, and D respectively based on these three election messages.

[0102] Subsequently, subnet manager A compares its term number with the term numbers of subnet managers B, C, and D. If, after comparison, only one backup subnet manager has a term number greater than that of subnet manager A (e.g., only subnet manager B has a term number greater than that of subnet manager A), then there is only one candidate subnet manager. Subnet manager A will then select this candidate subnet manager, i.e., subnet manager B, as the target subnet manager and send a voting message to subnet manager B to elect subnet manager B as the new master subnet manager.

[0103] If, after comparison, two backup subnet managers have term numbers greater than the term number of subnet manager A (e.g., subnet manager B and subnet manager C each have term numbers greater than the term number of subnet manager A), then there are two candidate subnet managers. Subnet manager A will then select the target subnet manager based on the term numbers of subnet managers B and C, the time of receiving the election message from subnet manager B, and the time of receiving the election message from subnet manager C.

[0104] Subnet manager A compares the term number of subnet manager B with the term number of subnet manager C. If their term numbers are different, for example, subnet manager B's term number is greater than subnet manager C's term number, then subnet manager A selects subnet manager B, whose term number is greater, as the target subnet manager and sends a voting message to subnet manager B to elect subnet manager B as the new master subnet manager.

[0105] If the term numbers of the two are the same, that is, the term number of subnet manager B is equal to the term number of subnet manager C, then subnet manager A will choose subnet manager B, which received the election message earlier, as the target subnet manager, and send a voting message to subnet manager B to select subnet manager B as the new master subnet manager.

[0106] Understandably, if a subnet manager receives an election message with an term number smaller than its own term number, it assumes that the election message refers to the previous election, meaning it considers the election message to be expired. In this case, the subnet manager will directly reject the election message and will not respond to it.

[0107] It is evident that by adopting a multi-layer selection strategy, a unique target subnet manager can still be selected even in complex scenarios where multiple backup subnet managers participate in the election simultaneously, ensuring the smooth execution of the election and improving the stability of the subnet manager master-slave switchover.

[0108] For ease of understanding, this application provides an example diagram of an election process. Please refer to [link / reference]. Figure 6 The subnet manager has three roles: Leader, the sole node that handles client requests and is responsible for log replication and heartbeat maintenance; Follower, which passively receives instructions from the Leader and initiates an election if it does not receive a heartbeat message within a timeout; and Candidate, a temporary role that attempts to run for leader during the election period.

[0109] When a server starts up or the current leader fails, the backup server transitions to a candidate state, increments its term number by one based on the cumulative election rounds, votes for itself, and sends an election message (Request Vote) generated based on the RPC (Remote Procedure Call) protocol to other servers, waiting for a vote response. If the backup server does not receive a majority of votes within the timeout period, it increments its term number and restarts the election. If the backup server receives an Appen Entries heartbeat message generated based on the RPC protocol from the new leader, it transitions to a follower state. If the backup server receives a majority of votes, it becomes the leader and sends Appen Entries heartbeat messages based on the RPC protocol to respond to followers; under normal response conditions, the backup server maintains the leader state; under no response within the timeout period, the backup server resends the heartbeat message.

[0110] Please see Figure 7 This is a schematic diagram of an election state transition provided in an embodiment of this application. If a follower does not receive a heartbeat within the time limit, it becomes a candidate; if a candidate receives a heartbeat or fails to vote, it becomes a follower; if a candidate obtains a majority of votes and becomes the leader, the election process terminates normally; if the leader loses connection with a majority of followers, it becomes a follower.

[0111] Optionally, after step 220, this application embodiment also provides an implementation method for disaster recovery switching of the subnet global manager, namely: when an abnormal connection with the subnet global manager is detected, a connection is established with the backup subnet global manager according to a preset service self-discovery protocol; through each subnet proxy, the latest topology data of the physical nodes connected to each subnet proxy is collected to obtain the latest topology information of the high-bandwidth domain; the latest topology information of the high-bandwidth domain is sent to the backup subnet global manager so that the backup subnet global manager records the latest topology information of the high-bandwidth domain in the backup global view.

[0112] In a cluster management system, two subnet global managers are deployed: one is the primary subnet global manager, which performs management functions, and the other is a backup subnet global manager. The global view in the backup subnet global manager is the backup global view, which is also used to store topology information for multiple high-bandwidth domains.

[0113] In this embodiment, the primary subnet global manager and the backup subnet global manager periodically synchronize the topology information in the global view. Furthermore, the primary subnet global manager sends heartbeat messages to the subnet manager at preset time intervals to maintain connection. If the subnet manager does not receive a heartbeat message from the primary subnet global manager within a preset time period, it considers the connection between the two to be abnormal.

[0114] The subnet manager will then mark the message queue it sent to the primary subnet global manager as invalid and establish a connection with the backup subnet global manager according to the service self-discovery protocol described above. Furthermore, the subnet manager will collect the latest topology data of the physical nodes connected to each subnet proxy, obtain the latest topology information for the high-bandwidth domain, and send it to the backup subnet global manager. The backup subnet global manager will then record the received latest topology information in the backup global view.

[0115] This can be understood as follows: even if the subnet global manager malfunctions, it will not affect operations within the high-bandwidth domain; that is, an anomaly in the management plane will not affect the data plane. Furthermore, the subnet global manager and the subnet manager are deployed in a non-binding manner, meaning that even if the subnet global manager malfunctions, the subnet manager can still manage the high-bandwidth domain normally.

[0116] It is evident that by automatically switching between primary and backup subnets when the subnet global manager malfunctions, by using a service self-discovery protocol to automatically establish a connection between the subnet manager and the backup subnet global manager, and by collecting the latest topology information to ensure information consistency, the system's tolerance to faults is improved.

[0117] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.

[0118] To perform the corresponding steps in the above embodiments and various possible methods, an implementation of a cluster management device is given below. Please refer to... Figure 8 This is a functional block diagram of the cluster management device provided in this application embodiment. It should be noted that the basic principle and technical effects of the cluster management device 300 provided in this embodiment are the same as those in the above embodiments. For the sake of brevity, any parts not mentioned in this embodiment can be referred to the corresponding content in the above embodiments. The cluster management device 300 includes:

[0119] The processing module 310 is used to collect the topology data of the physical nodes connected to each subnet proxy through each subnet proxy to obtain the topology information of the high bandwidth domain.

[0120] The sending module 320 is used to send the topology information of the high-bandwidth domain to the subnet global manager so that the subnet global manager records the topology information of the high-bandwidth domain in a preset global view; the global view is used to store the topology information of multiple high-bandwidth domains.

[0121] Optionally, the processing module 310 is further configured to: when receiving an election message sent by a backup subnet manager, obtain the term number of the backup subnet manager from the election message; wherein the election message is generated when the backup subnet manager does not receive a heartbeat message sent by a subnet manager within a preset time period; if the term number of the backup subnet manager is greater than its own term number, determine that the term of the backup subnet manager is later than its own term, and send a voting message to the backup subnet manager; wherein the voting message is used to select the backup subnet manager as the new subnet manager.

[0122] Optionally, the processing module 310 is further configured to: when receiving election messages sent by multiple backup subnet managers, obtain the term numbers of multiple backup subnet managers from the multiple election messages; wherein the election message is generated when a backup subnet manager does not receive a heartbeat message sent by a subnet manager within a preset time period; select a target subnet manager from the multiple backup subnet managers according to the term numbers of the multiple backup subnet managers; and send a voting message to the target subnet manager; wherein the voting message is used to select the target subnet manager as the new subnet manager.

[0123] Optionally, the processing module 310 is further configured to: select a candidate subnet manager with an term number greater than its own from multiple backup subnet managers; if there is only one candidate subnet manager, use the candidate subnet manager as the target subnet manager; if there are multiple candidate subnet managers, and if there is only one candidate subnet manager with the largest term number, use the candidate subnet manager with the largest term number as the target subnet manager; if there are multiple candidate subnet managers with the largest term number, use the candidate subnet manager with the largest term number and the earliest time of receiving the election message as the target subnet manager.

[0124] Optionally, the processing module 310 is further configured to: multicast a query message containing a preset service name to the high-bandwidth domain according to a preset service discovery protocol, so that each subnet agent sends a response message based on the query message; obtain the address information of each subnet agent according to each received response message; the sending module 320 is further configured to: send a connection request to each subnet agent according to each address information, so that each subnet agent establishes a connection with the subnet manager based on the connection request.

[0125] Optionally, the cluster management device 300 further includes a receiving module 330, configured to: receive configuration information sent by the subnet global manager; the sending module 320 is further configured to: send the configuration information to each subnet agent, so that each subnet agent configures the physical nodes it connects to based on the configuration information.

[0126] Optionally, the processing module 310 is further configured to: acquire the changed data of the physical node when a change in the topology data of any physical node is detected; the sending module 320 is further configured to: send the changed data to the subnet global manager so that the subnet global manager updates the global view based on the changed data.

[0127] Optionally, the sending module 320 is further configured to: upon receiving abnormal event information sent by any subnet agent, send the abnormal event information to the subnet global manager so that the subnet global manager reports the abnormal event information.

[0128] Optionally, the processing module 310 is further configured to: when an abnormal connection with the subnet global manager is detected, establish a connection with the backup subnet global manager according to a preset service self-discovery protocol; collect the latest topology data of the physical nodes connected to each subnet proxy through each subnet proxy to obtain the latest topology information of the high bandwidth domain; the sending module 320 is further configured to: send the latest topology information of the high bandwidth domain to the backup subnet global manager so that the backup subnet global manager records the latest topology information of the high bandwidth domain in the backup global view.

[0129] Each module in the aforementioned cluster management device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0130] This application embodiment also provides a cluster management system, including a subnet global manager and multiple high-bandwidth domains. Each high-bandwidth domain includes a subnet manager, multiple physical nodes, and multiple subnet proxies. Each physical node is connected to a subnet proxy, each subnet proxy is connected to a subnet manager, and each subnet manager is connected to the subnet global manager. The subnet manager is used to collect topology data of the physical nodes connected to each subnet proxy to obtain the topology information of the high-bandwidth domain. The subnet manager is also used to send the topology information of the high-bandwidth domains to the subnet global manager. The subnet global manager is used to record the topology information of the high-bandwidth domains in a preset global view. The global view is used to store the topology information of multiple high-bandwidth domains.

[0131] This application also provides a computer device, the internal structure of which can be shown in the following embodiment: Figure 9As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores databases, the operating system, and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a cluster management method.

[0132] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0133] This application also provides a computer device, including a processor and a memory, wherein the memory stores a computer program, and when the processor executes the computer program, it implements the cluster management method disclosed in this application.

[0134] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the cluster management method disclosed in this application.

[0135] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the cluster management method disclosed in this application.

[0136] In summary, the cluster management method, apparatus, system, equipment, storage medium, and program products provided in this application have the following technical effects: (1) Configuration-free startup of cluster management is achieved. There is no specific startup order between SFM and HFM, or between SFM and SGM, and no need to configure and maintain the address list information of each HFM, thus achieving configuration-free startup. (2) Flexible cluster management is provided. SGM and SFM are not bound together, and SFM can independently complete the topology management of HBD domains. SGM completes the topology information caching, and the topology data of each HBD domain is independent and maintained by each SFM. Efficient external query response is built through SGM, without the need for each HBD domain to respond in real time. (3) Fast disaster recovery switching is achieved, and the resource overhead of disaster recovery switching is small, without the need to maintain data synchronization. (4) Dynamic expansion of supernode HBD domains is achieved without downtime configuration, and can be dynamically incorporated into the network management of SGM.

[0137] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0138] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0139] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A cluster management method, characterized in that, A subnet manager is applied in a high-bandwidth domain, the high-bandwidth domain including multiple physical nodes and multiple subnet proxies, one physical node being connected to one subnet proxy, the subnet manager being connected to a subnet global manager, the high-bandwidth domain also including multiple backup subnet managers, each backup subnet manager being connected to the subnet manager, the method comprising: According to a preset service discovery protocol, a query message containing a preset service name is multicast to the high-bandwidth domain, so that each subnet agent sends a response message based on the query message; the service discovery protocol does not require a pre-configured IP address list; Based on each of the received response messages, the address information of each of the subnet proxies is obtained; Based on each of the address information, a connection request is sent to each of the subnet proxies, so that each subnet proxy establishes a connection with the subnet manager based on the connection request; By using each subnet proxy, the topology data of the physical nodes connected to each subnet proxy is collected to obtain the topology information of the high-bandwidth domain; the topology data includes the type, quantity, status, and link connection relationships of network resources in the physical nodes; The topology information of the high-bandwidth domain is sent to the subnet global manager, so that the subnet global manager records the topology information of the high-bandwidth domain in a preset global view; the global view is used to store the topology information of multiple high-bandwidth domains. When multiple election messages are received from the backup subnet managers, the term numbers of the backup subnet managers are obtained from the multiple election messages; wherein, the election message is generated when the backup subnet manager does not receive a heartbeat message from the subnet manager within a preset time period; A target subnet manager is selected from the multiple backup subnet managers based on their term numbers; the term number of the target subnet manager is greater than the term number of the subnet manager, or the term number of the target subnet manager is greater than the largest term number among the term numbers of the subnet managers; the term duration of the target subnet manager is later than the term duration of the subnet manager. A voting message is sent to the target subnet manager; wherein the voting message is used to select the target subnet manager as the new subnet manager.

2. The method according to claim 1, characterized in that, The high-bandwidth domain further includes multiple backup subnet managers, each of which is connected to the subnet manager. The method further includes: When an election message is received from a backup subnet manager, the term number of the backup subnet manager is obtained from the election message; wherein, the election message is generated when the backup subnet manager has not received a heartbeat message from the subnet manager within a preset time period; If the term number of the backup subnet manager is greater than its own term number, then it is determined that the term of the backup subnet manager is later than its own term, and a voting message is sent to the backup subnet manager; wherein, the voting message is used to select the backup subnet manager as the new subnet manager.

3. The method according to claim 1, characterized in that, The step of selecting a target subnet manager from the multiple backup subnet managers based on their term numbers includes: From among the multiple backup subnet managers, select a candidate subnet manager whose term number is greater than its own term number; If there is only one candidate subnet manager, then the candidate subnet manager shall be used as the target subnet manager. If there are multiple candidate subnet managers, and there is only one candidate subnet manager with the largest term number, then the candidate subnet manager with the largest term number will be selected as the target subnet manager; if there are multiple candidate subnet managers with the largest term number, then the candidate subnet manager with the largest term number and the earliest receipt time of the election message will be selected as the target subnet manager.

4. The method according to claim 1, characterized in that, The method further includes: Receive configuration information sent by the subnet global manager; The configuration information is sent to each of the subnet proxies so that each of the subnet proxies can configure the physical nodes it connects to based on the configuration information.

5. The method according to claim 1, characterized in that, The method further includes: If a change in the topology data of any of the physical nodes is detected, the change data of the physical node is obtained; The changed data is sent to the subnet global manager so that the subnet global manager updates the global view based on the changed data.

6. The method according to claim 1, characterized in that, The method further includes: Upon receiving an abnormal event message from any of the subnet proxies, the abnormal event message is sent to the subnet global manager so that the subnet global manager reports the abnormal event message.

7. The method according to claim 1, characterized in that, The method further includes: When an abnormal connection with the subnet global manager is detected, a connection is established with the backup subnet global manager according to the preset service self-discovery protocol. By using each subnet proxy, the latest topology data of the physical nodes connected to each subnet proxy is collected to obtain the latest topology information of the high-bandwidth domain; The latest topology information of the high-bandwidth domain is sent to the backup subnet global manager so that the backup subnet global manager records the latest topology information of the high-bandwidth domain in the backup global view.

8. A cluster management device, characterized in that, A subnet manager for use in a high-bandwidth domain, the high-bandwidth domain including multiple physical nodes and multiple subnet proxies, one physical node connected to one subnet proxy, the subnet manager connected to a subnet global manager, the high-bandwidth domain also including multiple backup subnet managers, each backup subnet manager connected to the subnet manager, the device comprising: The processing module is configured to multicast a query message containing a preset service name to the high-bandwidth domain according to a preset service discovery protocol, so that each subnet proxy sends a response message based on the query message; the service discovery protocol does not require a pre-configured IP address list; obtain the address information of each subnet proxy based on each received response message; send a connection request to each subnet proxy based on each address information, so that each subnet proxy establishes a connection with the subnet manager based on the connection request; and collect the topology data of the physical nodes connected to each subnet proxy to obtain the topology information of the high-bandwidth domain; the topology data includes the type, quantity, status, and link connection relationships of network resources in the physical nodes. The sending module is used to send the topology information of the high-bandwidth domain to the subnet global manager, so that the subnet global manager records the topology information of the high-bandwidth domain in a preset global view; the global view is used to store the topology information of multiple high-bandwidth domains. The processing module is further configured to: when receiving election messages sent by multiple backup subnet managers, obtain the term numbers of multiple backup subnet managers from the multiple election messages; wherein, the election message is generated when a backup subnet manager does not receive a heartbeat message sent by a subnet manager within a preset time period; select a target subnet manager from the multiple backup subnet managers according to the term numbers of the multiple backup subnet managers; wherein the term number of the target subnet manager is greater than the term number of the subnet manager, or the term number of the target subnet manager is greater than the largest number among the term numbers of the subnet managers; the term duration of the target subnet manager is later than the term duration of the subnet manager; send a voting message to the target subnet manager; wherein, the voting message is used to select the target subnet manager as the new subnet manager.

9. A cluster management system, characterized in that, It includes a subnet global manager and multiple high-bandwidth domains. Each high-bandwidth domain includes a subnet manager, multiple physical nodes, and multiple subnet proxies. Each physical node is connected to a subnet proxy, and each subnet manager is connected to the subnet global manager. A high-bandwidth domain also includes a plurality of backup subnet managers, each of the backup subnet managers in the high-bandwidth domain being connected to a subnet manager in the high-bandwidth domain; The subnet manager is used to multicast a query message containing a preset service name to the high-bandwidth domain according to a preset service discovery protocol. The service discovery protocol does not require a pre-configured list of IP addresses; The subnet proxy is used to send a response message based on the query message; The subnet manager is further configured to obtain the address information of each subnet proxy based on each received response message; and send a connection request to each subnet proxy based on each address information. The subnet proxy is also used to establish a connection with the subnet manager based on the connection request; The subnet manager is also used to collect topology data of the physical nodes connected to each subnet proxy through each subnet proxy to obtain the topology information of the high-bandwidth domain; the topology data includes the type, quantity, status and link connection relationship of network resources in the physical nodes; The subnet manager is also used to send the topology information of the high-bandwidth domain to the subnet global manager; The subnet global manager is used to record the topology information of the high-bandwidth domain into a preset global view; The global view is used to store the topology information of multiple high-bandwidth domains; The subnet manager is further configured to, when receiving election messages from multiple backup subnet managers, obtain the term numbers of multiple backup subnet managers from the multiple election messages; wherein the election message is generated when a backup subnet manager does not receive a heartbeat message from a subnet manager within a preset time period; select a target subnet manager from the multiple backup subnet managers based on the term numbers of the multiple backup subnet managers; the term number of the target subnet manager is greater than the term number of the subnet manager, or the term number of the target subnet manager is greater than the largest number among the term numbers of the subnet managers; the term duration of the target subnet manager is later than the term duration of the subnet manager; and send a voting message to the target subnet manager; wherein the voting message is used to select the target subnet manager as the new subnet manager.

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

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

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

Citation Information

Patent Citations

  • Method and device for determining master node and storage medium

    CN110417882A

  • Network management system for joint multi-site logical network

    CN115380513A

  • Semi-hierarchical system and method for administration of clusters of computer resources

    US20040103166A1