A pre-warning method and a first node
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- LENOVO (BEIJING) LTD
- Filing Date
- 2026-04-24
- Publication Date
- 2026-08-04
AI Technical Summary
[0002]现有的基板管理控制器(Baseboard Management Controller,BMC)是基于已经发生的事件进行告警,或者,通过“实时监控-异常检测-预测性算法-自动处置”的全链路逻辑,实现对服务器硬件风险的主动预测与管理,但是不管是对已发生事件进行告警,还是预测告警,告警逻辑均限于本机状态来告警,使得预测告警的方式存在局限性
Smart Images

Figure CN122507593A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of early warning technology, and in particular to an early warning method and a first node. Background Technology
[0002] Existing Baseboard Management Controllers (BMCs) issue alarms based on events that have already occurred, or they proactively predict and manage server hardware risks through a full-link logic of "real-time monitoring - anomaly detection - predictive algorithms - automatic handling". However, whether alarming based on events that have already occurred or predictive alarms, the alarm logic is limited to alarming based on the local state, which limits the predictive alarm method. Summary of the Invention
[0003] This application provides an early warning method and a first node.
[0004] The technical solution of this application embodiment is implemented as follows: This application provides an early warning method, the method comprising: Receive an early warning instruction; the early warning instruction includes the first status data of the second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm was generated, and the corresponding alarm event; From the first status data, determine the alarm status data that generated the alarm event; Obtain the second status data corresponding to the first node, and determine the warning result of the first node for the alarm event based on the similarity between the second status data and the alarm status data.
[0005] This application provides a first node, included in a first cluster, comprising: The receiving module is used to receive early warning instructions; the early warning instructions include the first status data of the second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm was generated, and the corresponding alarm event; The determination module is used to determine the alarm status data that generated the alarm event from the first status data; The early warning module acquires the second status data corresponding to the first node, and determines the early warning result of the first node for the alarm event based on the similarity between the second status data and the alarm status data.
[0006] This application provides a first node, included in a first cluster, comprising: a baseboard management controller; The baseboard management controller is used to receive an early warning instruction; the early warning instruction includes the first status data of the second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm was generated, and the corresponding alarm event; from the first status data, the alarm status data that generated the alarm event is determined; the second status data corresponding to the first node is obtained, and based on the similarity between the second status data and the alarm status data, the early warning result of the first node for the alarm event is determined.
[0007] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions, which, when executed by a processor, implements the early warning method provided in this application.
[0008] This application provides a computer program product, including a computer program or computer executable instructions, which, when executed by a processor, implements the early warning method provided in this application. Attached Figure Description
[0009] Figure 1 This is a flowchart illustrating an early warning method provided in an embodiment of this application; Figure 2 This is a schematic flowchart of an exemplary networking method provided in an embodiment of this application; Figure 3 This is an exemplary flowchart illustrating the process of determining alarm probability, provided in an embodiment of this application. Figure 4 This is an exemplary flowchart of determining the master node provided in an embodiment of this application; Figure 5 This is a flowchart illustrating an exemplary alarm method provided in an embodiment of this application; Figure 6 This is a schematic flowchart of an exemplary early warning method provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a first node provided in an embodiment of this application. Figure 1 ; Figure 8 This is a schematic diagram of the structure of a first node provided in an embodiment of this application. Figure 2 . Detailed Implementation
[0010] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0011] This application provides an early warning method, implemented by the first node in a first cluster, such as... Figure 1 As shown, the process includes the following steps S101 to S103: Step S101: Receive an early warning instruction; the early warning instruction includes the first status data of the second node in the first cluster that has generated a fault alarm within a preset time period, as well as the corresponding alarm event.
[0012] In the embodiments of this application, the first node is included in the first cluster. The first node is a device with an early warning function. Exemplarily, the first node can be a tablet computer, a laptop computer, a handheld computer, a personal digital assistant (PDA), a desktop computer, a server, etc. The exemplary first node is not limited here.
[0013] In the embodiments of this application, the first cluster includes multiple nodes, wherein the first node and the second node are both nodes in the first cluster. Any node in the first cluster can be either the first node or the second node. For example, the first node is the node that receives the warning instruction, and the second node is the node that collects the first status data and the corresponding alarm event within a preset time period when the fault alarm is generated. That is, when a fault alarm occurs in a node included in the first cluster, it is the second node. If the node receives the warning instruction based on the fault alarm of the second node, it is the first node.
[0014] In the embodiments of this application, the first node can receive an early warning instruction, which includes the first status data of the second node within a preset time period during which the fault alarm is generated, as well as the corresponding alarm event. The preset time period can be preset based on actual needs, for example, it can be 1 second, 1 minute, 2 minutes, or other time periods.
[0015] In the embodiments of this application, the first state data can be implemented by the second node through a sensor network. For example, it can be implemented by connecting a temperature sensor (such as CPU / GPU / memory temperature), a voltage monitoring chip (such as power module output voltage), a fan speed sensor, a current sensor, etc., via a bus, with a sampling frequency of up to the second level (such as 1 second / time) to ensure that abnormal states are detected in real time; or, it can read hard disk self-monitoring analysis and reporting technology (SMART) data (such as bad block count, temperature, remaining lifetime) through the Serial Advanced Technology Attachment (SATA) / Non-Volatile Memory Express (NVMe) interface; or, it can read the STATUS_WORD register of the power module through the power management bus (Pmbus) protocol to detect the Predict_failure status; or, it can monitor the network card port status (such as Link Up / Down), bandwidth utilization, latency jitter, and the BMC itself and the host system (such as the operating system (OS), Basic Input Output... The health of the communication link of the System (BIOS); or, by recording all hardware events (such as startup, shutdown, error events), firmware update records, BIOS / BMC configuration changes, etc., to form a timestamp-precise audit trail.
[0016] In the embodiments of this application, the second node can determine whether the above-detected state data analysis will trigger an alarm event based on anomaly detection and threshold management. If an alarm event occurs, it will collect the first state data and the corresponding alarm event within a preset time period during which the alarm event occurred.
[0017] In the embodiments of this application, a master node may also be set in the first cluster. The second node can report the collected first status data and the corresponding alarm events to the master node. The master node generates an early warning instruction based on the received data and sends it to all other nodes in the first cluster except for the second node.
[0018] Step S102: Determine the alarm status data that generated the alarm event from the first status data.
[0019] In the embodiments of this application, after obtaining the first state data, the first node can analyze the first state data to determine the alarm state data that generated the alarm event based on the first state data. That is, it determines from the first state data the alarm state data associated with the alarm event, or in other words, which state data caused the alarm event.
[0020] For example, if it is a temperature alarm event, the inlet temperature, the temperature of each component, and the load will be analyzed. If it is a voltage alarm event, the voltage of other components will be analyzed, and the impact of temperature and component load on voltage will be determined.
[0021] Step S103: Obtain the second state data corresponding to the first node, and determine the warning result of the first node for the alarm event based on the similarity between the second state data and the alarm state data.
[0022] In the embodiments of this application, the first node can obtain the current state data and obtain the second state data. For example, the method by which the first node obtains the second state data is the same as the method by which the second node obtains the state data described above, and will not be repeated here.
[0023] In the embodiments of this application, after obtaining the second state data, data related to the alarm state data can be selected from the second state data. For example, if the alarm event is a temperature alarm event, the analyzed alarm state data may be the temperature of each component and the load status. The first node can obtain the temperature of each component and the load status from the second state data, and further analyze the similarity between them and the alarm state data to determine whether there is a warning for the first node regarding the alarm event.
[0024] In the embodiments of this application, after analyzing the alarm status data, the first node may also only acquire data related to the alarm status data in order to analyze the similarity between the acquired data and the alarm status data and determine whether to issue a warning to the first node for the alarm event.
[0025] In this way, by analyzing the alarm events and status data of other nodes, it is possible to predict whether the current node will have similar alarm events, making the alarm prediction method not limited to its own status as in traditional methods, thus improving the flexibility of early warning.
[0026] In some embodiments, before the first node executes the "receive warning instruction" in step S101, the first node may also execute the following steps: using the baseboard management controller included in the first node to start the device discovery service so that multiple nodes of the same model can form a first cluster; the master node of the first cluster is determined among the multiple nodes through a preset election rule.
[0027] In the embodiments of this application, the first node includes a baseboard management controller that enables device discovery service so that multiple nodes of the same model can form a first cluster; the master node of the first cluster is determined among the multiple nodes through a preset election rule.
[0028] For example, all devices will enable Protocol Independent Multicast (PIM) or automatic network service discovery via User Datagram Protocol (UDP). This allows identical machines to obtain each other's Part Number (PN) and Field Replaceable Unit (FRU). For instance, after enabling SLP, the BMC will register as a service node providing FRU information. Other servers discover the BMC service address in the network through the SLP's User Agent (UA) or Directory Agent (DA). Within the local area network, server A discovers server B's BMC service through SLP, obtaining its IP address and port, laying the foundation for subsequent FRU information exchange. The total number of devices is at least greater than or equal to the number of nodes in the first cluster. That is, some devices may send a service start request but not be of the same model as nodes in the first cluster. Alternatively, all devices may be divided into multiple clusters, where the first cluster can be any of the multiple clusters.
[0029] For example, based on FRU information, it can be determined whether they belong to the same machine model. If they are the same machine model, networking can be achieved. In this way, multiple nodes of the same machine model form the first cluster, that is, the multiple nodes included in the first cluster are nodes of the same machine model.
[0030] For example, if multiple nodes of the same model form a first cluster, the BMCs among the multiple nodes in the first cluster can elect a master node according to the "resource richness" rule through an election mode. For example, it can be the node with the lowest CPU utilization. The preset election rule is CPU utilization.
[0031] For example, the preset election rules can also be implemented based on algorithms such as Raft, Bully, or Paxos.
[0032] After selecting the master node, receive the warning command, which includes the following steps: receive the warning command sent by the master node.
[0033] In the embodiments of this application, in the first cluster, all nodes other than the master node can be first nodes. Second nodes may or may not be excluded. For example, if the second nodes include at least two nodes, that is, if at least two nodes fail simultaneously, then a second node still needs to receive warning instructions from the master node corresponding to one or more other second nodes, or it can receive its own warning instructions but may not process them.
[0034] In the embodiments of this application, the second node sends the collected first status data and corresponding alarm events to the master node. For example, other nodes in the first cluster, excluding the master node, will periodically exchange status information through the Gossip protocol (e.g., once every 30 seconds), that is, they can send the first status data and corresponding alarm events to the master node through the Gossip protocol.
[0035] It should be noted that in the embodiments of this application, the BMCs can store private and public keys, and the communication between the BMCs can be based on key encryption and decryption. In this way, they are no longer limited by the BMC's account key. That is, even if the second node has an alarm event or failure, due to the independent characteristics of the BMC, the second node can upload the collected data to the master node.
[0036] In the embodiments of this application, after the master node receives the reported alarm event, it will encapsulate it into an early warning command and send it to all nodes in the first cluster.
[0037] In the embodiments of this application, if the master node receives multiple alarm events at the same time period, it can aggregate all the data and send an early warning command together, or send an early warning command for each alarm event, or send an early warning command on a node-by-node basis.
[0038] In this way, if any node in the first cluster fails, it can report to the master node, which can then send warning commands to all other nodes. This makes it easier for other nodes to analyze the current status based on the alarm information of the failed node, thus improving the flexibility of alarms.
[0039] In some embodiments, such as Figure 2 As shown, the first node can also perform the following steps S201 and S202: Step S201: Receive the configuration information of each node in the first cluster broadcast by the master node.
[0040] In the embodiments of this application, the master node broadcasts the configuration information of all network nodes to each node in the first cluster.
[0041] In the embodiments of this application, the configuration information can be a field-replaceable unit. For example, the configuration information can be information from multiple dimensions such as manufacturer information, product model / name, hardware specifications, firmware version, health status, and access method.
[0042] Step S202: Using the configuration information of each node, network it with nodes with the same configuration in the first cluster to obtain the first sub-cluster; multiple nodes form at least one first sub-cluster.
[0043] In the embodiments of this application, each node in the first cluster will, based on the configuration information of each node broadcast by the master node, perform secondary networking of nodes with the same configuration to obtain a first sub-cluster. In this way, multiple nodes in the first cluster will be divided into at least one first sub-cluster. Among them, the nodes in each first sub-cluster have the same configuration.
[0044] In this way, by performing secondary networking on the nodes, each node is divided into a first cluster of the same model and a first sub-cluster of the same model and configuration. This is intended to improve the accuracy of warnings by setting different similarity levels for different models or configurations when issuing warnings.
[0045] In some embodiments, when the first node performs step S102 as described above, it may also perform the following steps: The target model is invoked to analyze the first state data and alarm events, and the state data that generated the alarm events is identified as alarm state data.
[0046] In the embodiments of this application, after receiving the warning instruction, the first node can parse the warning instruction to obtain the first state data and the corresponding alarm event. Then, it calls the target model to analyze the first state data and the alarm event, and determines the state data that generated the alarm event as the alarm state data.
[0047] In embodiments of this application, the target model may be a model embedded in the BMC of the first node, and this model may be a trimmed version of an artificial intelligence (AI) model. This model has the ability to analyze the relationship between the first state data and alarm events.
[0048] In the embodiments of this application, the target model can directly output alarm status data based on the input first state data and alarm events. The alarm status data output by the target model includes not only relationships directly affecting alarm events, but also relationships indirectly affecting alarm events.
[0049] In this way, by using the target model of BMC on the first node, alarm status data can be analyzed based on the first status data and alarm events. Thus, by analyzing the data of the current node that matches the alarm status data, early warning of this alarm event can be achieved, so that the early warning is not limited to its own device and the scope of early warning is improved.
[0050] In some embodiments, before performing the above step: "calling the target model to analyze the first state data and alarm events", the first node may also perform the following steps: acquiring sample state data and sample alarm events corresponding to the sample state data; using the target model to be trained to perform data analysis on the sample state data and sample alarm events to obtain sample alarm state data; and adjusting the parameters of the target model to be trained based on the loss information between the sample alarm state data and the preset target alarm state data to obtain the target model.
[0051] In embodiments of this application, the sample status data may be the analysis and modeling of after-sales issues, or the status data and alarm events of each node collected over time.
[0052] In the embodiments of this application, after obtaining the sample state data, the target model to be trained can be used to perform data analysis on the sample state data and sample alarm events to obtain sample alarm state data. Then, based on the loss information between the sample alarm state data and the preset target alarm state data, the parameters of the target model to be trained are adjusted to obtain the target model.
[0053] In the embodiments of this application, the target model is trained using data on after-sales issues and various alarm cases, so that the obtained target model can analyze the corresponding alarm status data based on the input first state data and the corresponding alarm events.
[0054] This makes the analyzed alarm status data more accurate.
[0055] In some embodiments, when the first node performs step S103 as described above, Figure 3 As shown, the following steps S301 to S303 can also be performed: Step S301: Determine the similarity between the second state data and the alarm state data.
[0056] In the embodiments of this application, numerical data can first be normalized, and the differences can be calculated using distance measurement methods such as Euclidean distance and Mahalanobis distance. For example, the temperature values of each sensor.
[0057] In the embodiments of this application, for categorical data, one-hot encoding or label encoding can be performed, and the similarity measure can be Hamming distance or Jaccard similarity coefficient to determine the differences. For example, the device status (operation / failure) is calculated using the Jaccard coefficient to determine the degree of status overlap.
[0058] In the embodiments of this application, if it is mixed type data, the differences can be calculated separately and then the total difference can be calculated.
[0059] Step S302: In response to the fact that the first node and the second node belong to the same first sub-cluster, the first alarm probability of the first node generating an alarm event is determined based on the first weight and state similarity.
[0060] In the embodiments of this application, if the first node and the second node belong to the same first sub-cluster, it means that the first node and the second node belong to the same machine type and the same configuration. In this case, the alarm event of the second node is of great reference significance to the first node. Therefore, the first alarm probability of the first node generating an alarm event can be determined by combining the first weight and the state similarity.
[0061] In the embodiments of this application, the first node may determine the warning result of the alarm event based on the determined first alarm probability, or the first alarm probability may be directly used as the warning result.
[0062] For example, the first weight can be set to 0.8, 0.9, 0.95 or other values. If the similarity is determined to be 0.9, and the first weight is 0.9, the probability of the first node triggering the alarm event can be 0.81.
[0063] Step S303: In response to the fact that the first node and the second node do not belong to the same first sub-cluster, the second alarm probability of the first node generating an alarm event is determined based on the second weight and state similarity; the first weight is higher than the second weight.
[0064] In the embodiments of this application, if the first node and the second node belong to the same cluster but to different first sub-clusters, it means that the first node and the second node are of the same model but different configurations. In this case, compared with nodes of the same model and configuration, the reference value of the alarm event is lower. Therefore, the second alarm probability of the first node generating an alarm event can be determined by combining the second weight and the state similarity. Among them, the first weight is higher than the second weight.
[0065] For example, if the first weight is 0.9, then the second weight is a value lower than 0.9.
[0066] In the embodiments of this application, the first node may determine the warning result of the alarm event based on the determined second alarm probability, or the second alarm probability may be directly used as the warning result.
[0067] In the embodiments of this application, a warning threshold can be set. If the warning is greater than or equal to the warning threshold, a warning is issued directly. If the warning is less than the warning threshold, the first node can also record the alarm status data. Even if the current status data may not meet the warning threshold, subsequent status data may meet the warning threshold, and a warning can be issued based on this record.
[0068] In this way, by taking into account multi-dimensional information (such as model and configuration), the alarm probability can be determined, and an alarm can be issued when the alarm probability meets the warning threshold. In addition, it is not limited to the current status data, which improves the duration of the warning effect.
[0069] In some embodiments, such as Figure 4 As shown, the first node can also perform the following steps S401 and S402: Step S401: Obtain the role assignment instruction sent by the master node; the role assignment instruction is used to indicate the node type to which the first node belongs in the first cluster; the node type includes standby master node and standby node.
[0070] In the embodiments of this application, after the first cluster is successfully networked and a master node is selected, the master node can also select a backup master node and a backup node based on the resource richness of each node in the first cluster.
[0071] For example, if the first cluster includes nodes A, B, C, and D, where node D has the lowest CPU utilization, node A has the second highest CPU utilization, and nodes B / C have the highest CPU utilization, then node D is the master node, node A is the backup master node, and nodes B / C are the backup nodes.
[0072] In the embodiments of this application, after the master node determines the role assignment of each node in the first cluster, it sends a role assignment instruction to each node. The user role assignment instruction is used to indicate the node type to which the first node belongs in the first cluster; the node type includes standby master node and standby node.
[0073] Step S402: In response to the role allocation instruction indicating that the node type of the first node is a standby master node and the master node has crashed, a re-election is initiated, and the master node of the first cluster is determined through preset election rules.
[0074] In the embodiments of this application, if the role allocation instruction received by the first node is the standby master node in the first cluster, and the master node in the first cluster has crashed, the first node initiates a re-election and determines the master node of the first cluster through preset election rules.
[0075] For example, the standby master node can automatically initiate Raft re-election to become the master node of the first cluster, or the standby master node can be directly determined as the master node.
[0076] In the embodiments of this application, the master node will periodically send status information to the standby master node. For example, it will send a heartbeat to the standby master node every 30 seconds. If it does not send a heartbeat for a long time, for example, if it does not send a heartbeat for 60 seconds, it is considered that the master node has failed, and the standby master node can initiate a re-election.
[0077] In this way, if the master node in the first cluster fails, subsequent operations can be performed based on the newly determined master node, ensuring the normal operation of the first cluster.
[0078] In some embodiments, the first node may also perform the following steps: in response to a role assignment instruction indicating that the node type of the first node is a standby node, periodically send node status information to the master node.
[0079] In the embodiments of this application, if the node type of the first node received by the first node is a standby node, it needs to periodically send node status information to the master node to determine whether the standby node has crashed.
[0080] In the embodiments of this application, the node status information sent periodically may be a heartbeat or the actual status information of the node.
[0081] In this way, if any node in the first cluster goes down, other nodes (such as the primary node or the backup primary node) will be notified, avoiding long waiting times.
[0082] In some embodiments, such as Figure 5 As shown, the first node can also perform the following steps S501 and S502: Step S501: In response to a fault warning event, obtain the status data within a preset time period at the current moment.
[0083] In the embodiments of this application, if a fault warning event occurs in the first node, the first node will obtain the status data within a preset time period at the current moment. The method of obtaining the status data is the same as the method of obtaining the second status data in the above steps, and will not be described again here.
[0084] Step S502: Send the fault alarm event and status data to the master node in the first cluster, so that the master node can generate an early warning command based on the status data and fault alarm event and send it to other nodes in the first cluster.
[0085] In the embodiments of this application, when a fault warning event occurs, the first node is actually the second node in the first cluster. It collects fault alarm events and status data and sends them to the master node in the first cluster. That is, the first node is the node in the first cluster that receives the warning instruction, while the second node is the node that sends fault alarm events and status data to the master node in the first cluster. Under different circumstances, the roles of the nodes in the first cluster can be interchanged.
[0086] In the embodiments of this application, if the first node changes its role to the second node when a fault warning event occurs, then the fault alarm event discussed here is the alarm event of the second node, and the status data is the first status data of the second node.
[0087] In this way, the first node can also serve as a reference node for early warning of other nodes, thus improving the flexibility of early warning.
[0088] In some embodiments of this application, a device discovery service is initiated using a baseboard management controller included in the first node, so that multiple nodes of the same model form a first cluster; the multiple nodes determine the master node of the first cluster through a preset election rule; the configuration information of each node in the first cluster is received from the master node; using the configuration information of each node, a network is formed with nodes with the same configuration in the first cluster to obtain a first sub-cluster; multiple nodes form at least one first sub-cluster; in response to a fault warning event, status data within a preset time period at the current moment is obtained; the fault alarm event and status data are sent to the master node in the first cluster; the master node sends a message including the fault alarm of a second node in the first cluster, indicating that a fault has occurred. The system retrieves first state data within a preset time period for fault alarms, along with corresponding alarm event warning commands. It then parses the first state data and alarm events from the warning commands, and determines the alarm state data that generated the alarm event from the first state data. Next, it acquires the second state data corresponding to the first node and determines the state similarity between the second state data and the alarm state data. If the first node and the second node belong to the same first sub-cluster, it determines the first alarm probability of the first node generating an alarm event based on a first weight and state similarity. If the first node and the second node do not belong to the same first sub-cluster, it determines the second alarm probability of the first node generating an alarm event based on a second weight and state similarity. The first weight is higher than the second weight.
[0089] In some embodiments of this application, the device discovery service is initiated using the baseboard management controller included in the first node, so that multiple nodes of the same model form a first cluster; the master node of the first cluster is determined among the multiple nodes through a preset election rule; in response to a fault warning event, status data within a preset time period at the current time is obtained; the fault alarm event and status data are sent to the master node in the first cluster; a warning instruction sent by the master node is received, which includes the first status data of the second node in the first cluster that has generated the fault alarm within the preset time period, and the corresponding alarm event; the first status data and alarm event are parsed from the warning instruction, and then the target model is called to analyze the first status data and alarm event, and the analyzed status data that generated the alarm event is determined as alarm status data; the second status data corresponding to the first node is obtained, and the warning result of the first node for the alarm event is determined based on the similarity between the second status data and the alarm status data.
[0090] like Figure 6 The diagram illustrates an exemplary early warning method, including the following steps S601 to S606: Step S601: The baseboard management controller obtains information such as the part number of each other to determine whether they are the same model.
[0091] Here, the BMC on the device enables PIM and SLP services, so that the same machines can obtain each other's FRU information such as PN part number, and determine whether they are the same model based on the FRU information.
[0092] Step S602: The baseboard management controller performs network communication.
[0093] Here, if it is a single model, a network can be formed. The BMC itself stores a public key and a private key. Communication between BMCs is based on key encryption and decryption, and is no longer limited to the BMC's account key.
[0094] Step S603: After network formation, select the master node and the backup node.
[0095] Here, each BMC (Block Controller) employs an election model, selecting a master node based on a "resource abundance" rule (e.g., the node with the lowest CPU utilization). The master node sends role assignment instructions to other nodes (e.g., node A is designated as a "standby node" (corresponding to the standby master node mentioned above), and nodes B / C are designated as "regular nodes" (corresponding to the standby nodes mentioned above)). Nodes periodically exchange status information via the Gossip protocol (e.g., every 30 seconds). If the master node fails (does not send heartbeats for more than 60 seconds), the standby nodes automatically initiate Raft for a re-election.
[0096] Step S604: Based on the information of replaceable units on site, perform secondary networking of machines with the same configuration.
[0097] Here, the master node will broadcast the status of all networked machines (e.g., field replaceable unit FRU) to each node, and each node will configure the machines with the same information to form a secondary network.
[0098] Step S605: When a node issues a fault alarm, it collects data on the moment the local server fails and reports it to the master node.
[0099] Here, while the node itself issues a fault alarm, it collects data (such as temperature and voltage) on the local server at the moment of the fault and reports it to the master node.
[0100] Step S606: The master node synchronizes the data to each node, and each identical machine model calculates the error distribution to make predictive alarms.
[0101] Here, the master node aggregates all data, triggers warning rules, and sends warning commands to all nodes. Upon receiving the information, each node begins parsing the data. Machines with identical configurations utilize AI models to perform distributed computation on the data. Each node analyzes the cause of the alarm and the data collected at the time of the alarm. For example, in the case of a temperature alarm, it analyzes the inlet temperature, the temperature of various components, and their load conditions. For voltage alarms, it analyzes other voltage conditions and considers the impact of temperature and component load on voltage. The AI model analysis is based on the analysis and modeling of after-sales issues. Each node compares the analysis results with its own situation, and when its own situation is close to that of the alarming machine, it issues a pre-warning.
[0102] In this way, alarm events from other nodes can be used to determine the alarm status of the current node, enabling pre-alarms and thus preventing actual alarms from occurring.
[0103] This application provides an early warning method applied to a first node in a first cluster, which receives an early warning instruction. The early warning instruction includes first status data of a second node in the first cluster that has generated a fault alarm within a preset time period, and the corresponding alarm event. From the first status data, the alarm status data that generated the alarm event is determined. Second status data corresponding to the first node is obtained, and based on the similarity between the second status data and the alarm status data, the early warning result for the first node regarding the alarm event is determined. This early warning method, through the analysis of alarm events and status data of other nodes, can predict whether the current node has similar alarm events, making the alarm prediction method more flexible than traditional methods that are limited to their own status.
[0104] like Figure 7 As shown, this application embodiment provides a first node 7, including: a receiving module 701, a determining module 702, and an early warning module 703; The receiving module 701 is used to receive the warning instruction; the warning instruction includes the first status data of the second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm was generated, and the corresponding alarm event; The determination module 702 is used to determine the alarm status data that generated the alarm event from the first status data; The early warning module 703 acquires the second status data corresponding to the first node, and determines the early warning result of the first node for the alarm event based on the similarity between the second status data and the alarm status data.
[0105] In one embodiment of this application, the receiving module 701 is further configured to initiate a device discovery service using the baseboard management controller included in the first node, so that multiple nodes of the same model can form a first cluster; the master node of the first cluster is determined among the multiple nodes through a preset election rule; and the warning command sent by the master node is received.
[0106] In one embodiment of this application, the receiving module 701 is further configured to receive configuration information of each node in the first cluster broadcast by the master node; use the configuration information of each node to form a network with nodes with the same configuration in the first cluster to obtain a first sub-cluster; and multiple nodes form at least one first sub-cluster.
[0107] In one embodiment of this application, the early warning module 703 is used to determine the state similarity between the second state data and the alarm state data; in response to the first node and the second node belonging to the same first sub-cluster, based on the first weight and state similarity, to determine the first alarm probability of the first node generating an alarm event; in response to the first node and the second node not belonging to the same first sub-cluster, based on the second weight and state similarity, to determine the second alarm probability of the first node generating an alarm event; the first weight is higher than the second weight.
[0108] In one embodiment of this application, the determining module 702 is further configured to call the target model, analyze the first state data and the alarm event, and determine the analyzed state data that generated the alarm event as alarm state data.
[0109] In one embodiment of this application, the determining module 702 is further configured to acquire sample state data and sample alarm events corresponding to the sample state data; use the target model to be trained to perform data analysis on the sample state data and sample alarm events to obtain sample alarm state data; and adjust the parameters of the target model to be trained based on the loss information between the sample alarm state data and the preset target alarm state data to obtain the target model.
[0110] In one embodiment of this application, the receiving module 701 is further configured to obtain a role allocation instruction sent by the master node; the role allocation instruction is used to indicate the node type to which the first node belongs in the first cluster; the node type includes a standby master node and a standby node; in response to the role allocation instruction indicating that the node type of the first node is a standby master node and the master node has crashed, a re-election is initiated, and the master node of the first cluster is determined by a preset election rule.
[0111] In one embodiment of this application, the receiving module 701 is further configured to periodically send node status information to the master node in response to a role assignment instruction indicating that the node type of the first node is a standby node.
[0112] In one embodiment of this application, the receiving module 701 is further configured to, in response to a fault warning event, acquire status data within a preset time period at the current moment; and send the fault alarm event and status data to the master node in the first cluster, so that the master node can generate a warning instruction based on the status data and the fault alarm event and send it to other nodes in the first cluster.
[0113] like Figure 8 As shown, this application embodiment provides a first node 7, including: a baseboard management controller 801; the baseboard management controller 801 is used to receive a warning instruction; the warning instruction includes first status data of a second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm is generated, and the corresponding alarm event; from the first status data, the alarm status data that generated the alarm event is determined; the second status data corresponding to the first node is obtained, and based on the similarity between the second status data and the alarm status data, the warning result of the first node for the alarm event is determined.
[0114] In one embodiment of this application, the baseboard management controller 801 is further configured to initiate a device discovery service using the baseboard management controller included in the first node, so that multiple nodes of the same model can form a first cluster; the multiple nodes determine the master node of the first cluster through a preset election rule; and receive a warning instruction sent by the master node.
[0115] In one embodiment of this application, the baseboard management controller 801 is further configured to receive configuration information of each node in the first cluster broadcast by the master node; use the configuration information of each node to form a network with nodes with the same configuration in the first cluster to obtain a first sub-cluster; and multiple nodes form at least one first sub-cluster.
[0116] In one embodiment of this application, the baseboard management controller 801 is further configured to determine the state similarity between the second state data and the alarm state data; in response to the first node and the second node belonging to the same first sub-cluster, determine a first alarm probability of the first node generating an alarm event based on a first weight and state similarity; in response to the first node and the second node not belonging to the same first sub-cluster, determine a second alarm probability of the first node generating an alarm event based on a second weight and state similarity; the first weight is higher than the second weight.
[0117] In one embodiment of this application, the baseboard management controller 801 is further configured to call the target model, analyze the first state data and alarm events, and determine the analyzed state data that generated the alarm events as alarm state data.
[0118] In one embodiment of this application, the baseboard management controller 801 is further configured to acquire sample state data and sample alarm events corresponding to the sample state data; use the target model to be trained to perform data analysis on the sample state data and sample alarm events to obtain sample alarm state data; and adjust the parameters of the target model to be trained based on the loss information between the sample alarm state data and the preset target alarm state data to obtain the target model.
[0119] In one embodiment of this application, the baseboard management controller 801 is further configured to acquire a role allocation instruction sent by the master node; the role allocation instruction is used to indicate the node type to which the first node belongs in the first cluster; the node type includes a standby master node and a standby node; in response to the role allocation instruction indicating that the node type of the first node is a standby master node and the master node has crashed, a re-election is initiated, and the master node of the first cluster is determined by a preset election rule.
[0120] In one embodiment of this application, the baseboard management controller 801 is further configured to periodically send node status information to the master node in response to a role assignment instruction indicating that the node type of the first node is a standby node.
[0121] In one embodiment of this application, the baseboard management controller 801 is further configured to, in response to a fault warning event, acquire status data within a preset time period at the current moment; and send the fault alarm event and status data to the master node in the first cluster, so that the master node can generate a warning instruction based on the status data and the fault alarm event and send it to other nodes in the first cluster.
[0122] This application provides a first node, included in a first cluster, that receives an early warning instruction. The early warning instruction includes first status data of a second node in the first cluster that has generated a fault alarm within a preset time period, and the corresponding alarm event. From the first status data, the alarm status data that generated the alarm event is determined. Second status data corresponding to the first node is obtained, and based on the similarity between the second status data and the alarm status data, the early warning result for the first node regarding the alarm event is determined. This application provides a first node that can predict whether the current node has similar alarm events by analyzing the alarm events and status data of other nodes. This makes the alarm prediction method not limited to its own status as in traditional methods, thus improving the flexibility of early warning.
[0123] This application provides a computer-readable storage medium storing one or more computer programs, which can be executed by one or more processors to implement the aforementioned early warning method. The computer-readable storage medium can be transient or non-transient.
[0124] This application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements some or all of the steps in the aforementioned early warning method. This computer program product can be implemented specifically through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied as a computer storage medium; in another optional embodiment, the computer program product is specifically embodied as a software product, such as a software development kit (SDK), etc.
[0125] In some embodiments, the storage medium may be a computer-readable storage medium, which may be volatile memory, such as random-access memory (RAM); or non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), ferromagnetic random access memory (FRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic surface memory, optical disk, or compact disk-read-only memory (CD-ROM); or it may be various devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0126] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of hardware embodiments, software embodiments, or embodiments combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0127] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0128] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0129] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0130] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0131] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file containing other programs or data, for example, in one or more scripts within a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files storing one or more modules, subroutines, or code sections). As an example, executable instructions may be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0132] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0133] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not performed.
[0134] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. An early warning method, applied to a first node in a first cluster, the method comprising: Receive early warning instructions; The warning instruction includes the first status data of the second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm was generated, as well as the corresponding alarm event. From the first status data, determine the alarm status data that generated the alarm event; Obtain the second status data corresponding to the first node, and determine the warning result of the first node for the alarm event based on the similarity between the second status data and the alarm status data.
2. The early warning method according to claim 1, wherein before receiving the early warning instruction, the method further comprises: The device discovery service is initiated using the baseboard management controller included in the first node, so that multiple nodes of the same model can form the first cluster. The master node of the first cluster is determined among the multiple nodes by a preset election rule; Accordingly, receiving the early warning instruction includes: Receive the warning command sent by the master node.
3. The early warning method according to claim 2, further comprising: Receive the configuration information of each node in the first cluster broadcast by the master node; Using the configuration information of each node, a network is formed with nodes with the same configuration in the first cluster to obtain the first sub-cluster; The multiple nodes form at least one first sub-cluster.
4. The early warning method according to claim 3, wherein determining the early warning result of the first node for the alarm event based on the similarity between the second state data and the alarm state data includes: Determine the similarity between the second status data and the alarm status data; In response to the fact that the first node and the second node belong to the same first sub-cluster, a first alarm probability is determined based on the first weight and the state similarity, which determines the first alarm probability of the first node generating the alarm event. In response to the fact that the first node and the second node do not belong to the same first sub-cluster, a second alarm probability is determined based on the second weight and the state similarity, which determines the first node to generate the alarm event. The first weight is higher than the second weight.
5. The early warning method according to claim 1, wherein determining the alarm status data that generated the alarm event from the first status data includes: The target model is invoked to analyze the first state data and the alarm event, and the state data that generated the alarm event is determined as the alarm state data.
6. The early warning method according to claim 5, before calling the target model to analyze the first state data and the alarm event, the method further includes: Acquire sample status data and corresponding sample alarm events for the sample status data; Using the target model to be trained, data analysis is performed on the sample state data and the sample alarm events to obtain sample alarm state data; Based on the loss information between the sample alarm state data and the preset target alarm state data, the parameters of the target model to be trained are adjusted to obtain the target model.
7. The early warning method according to claim 2, further comprising: Obtain the role assignment instruction sent by the master node; The role assignment instruction is used to indicate the node type to which the first node belongs in the first cluster; The node types include standby master nodes and standby nodes; In response to the role allocation instruction indicating that the first node's node type is a standby master node and that the master node has crashed, a re-election is initiated, and the master node of the first cluster is determined through preset election rules.
8. The early warning method according to claim 7, further comprising: In response to the role assignment instruction indicating that the first node's node type is a standby node, node status information is periodically sent to the master node.
9. The early warning method according to any one of claims 1 to 6 and 8, further comprising: In response to a fault warning event, acquire status data for a preset time period at the current moment; The fault alarm event and the status data are sent to the master node in the first cluster, so that the master node can generate the warning instruction based on the status data and the fault alarm event and send it to other nodes in the first cluster.
10. A first node, contained in a first cluster, comprising: Baseboard management controller; The baseboard management controller is used to receive early warning commands; The warning instruction includes the first status data of the second node in the first cluster that has a fault alarm within a preset time period during which the fault alarm was generated, as well as the corresponding alarm event. From the first state data, determine the alarm state data that generated the alarm event; obtain the second state data corresponding to the first node, and based on the similarity between the second state data and the alarm state data, determine the warning result of the first node for the alarm event.