Method for acquiring server error information by BMC (Baseboard Management Controller)

By mapping the host serial port to the BMC based on CPLD in the server, and using CPLD to assist in serial debugging and data collection during the server judgment stage, the complexity and low efficiency of server error information collection in the existing technology is solved, and a simplified error information collection process and efficient error warning function are realized.

CN119782020AActive Publication Date: 2025-04-08联想长风科技(北京)有限公司

Patent Information

Application Number
CN202411872732.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-04-08
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

The prior art has problems such as high hardware support and software deployment requirements, complex design and low efficiency in server error information collection, especially in low-end servers, and there is a conflict between serial debugging and error information collection.

Method used

By mapping the host serial port to the BMC based on CPLD, CPLD assists in determining the server stage and performing serial debugging, the BMC collects startup data during the power-on startup stage, and data collection and error warning are performed based on serial port socket input or BMC during the operation stage.

Benefits of technology

It simplifies the server error information collection process without additional hardware support or complex software deployment, and improves the efficiency and reliability of server error information collection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119782020A_ABST
    Figure CN119782020A_ABST
Patent Text Reader

Abstract

The invention discloses a method for acquiring server error information by a BMC (baseboard management controller), and relates to the technical field of fault diagnosis, and the method comprises the following steps: mapping a host serial port to the BMC based on a CPLD (complex programmable logic device), assisting in judging a server stage and debugging the serial port through the CPLD, collecting starting data by the BMC in a power-on starting stage, and sending the starting data to the BMC; and data collection and error early warning are carried out according to serial port jack input or BMC in the operation stage. The technical problem that in the prior art, server error information collection has high requirements for hardware support and software deployment is solved, and the technical effect of simplifying the server error information collection process is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of fault diagnosis, and in particular to a method for a BMC to obtain server error information. Background Art

[0002] In modern server management, collecting and processing error information is an important part of ensuring the normal operation of the system. However, existing technologies usually rely on RAS architecture or shared memory mechanism. These methods have high requirements for hardware support, especially the assistance of high-end CPU, and are difficult to implement in low-end servers. In addition, the use of additional monitoring software increases the complexity of system design and occupies the computing resources of the server. At the same time, the conflict between serial port debugging and error information collection also makes it difficult for existing methods to take into account the collaboration between the two. This makes the existing solutions face many challenges in hardware adaptability, design simplification and resource utilization.

[0003] At present, there are technical problems in related technologies that server error information collection has high requirements for hardware support and software deployment, complex design and low efficiency. Summary of the invention

[0004] The present application provides a method for BMC to obtain server error information, maps the host serial port to BMC based on CPLD, uses CPLD to assist in judging the server stage and performing serial port debugging, collects startup data by BMC during the power-on startup stage, and collects data and issues error warnings according to serial port input or BMC during the running stage, thereby achieving the technical effect of simplifying the server error information collection process without the need for additional hardware support or complex software deployment.

[0005] The present application provides a method for a BMC to obtain server error information, including:

[0006] Based on CPLD, the host serial port is mapped to BMC, wherein the CPLD is connected to a serial port socket, and the serial port socket is used for serial port debugging of the host; according to the server stage, the CPLD is assisted to perform system entry judgment and serial port debugging, and execute server data collection and error warning; wherein, if the server stage is the power-on startup stage, the host serial port input is empty, and the BMC performs startup data collection; if the server stage is the running stage, data collection is performed based on the serial port socket input or the BMC.

[0007] A method for obtaining server error information from BMC proposed in this application first maps the host serial port to BMC based on CPLD, uses CPLD to assist in determining the server stage and performing serial port debugging, collects startup data by BMC during the power-on startup phase, and collects data and issues error warnings based on serial port input or BMC during the running phase, thereby achieving the technical effect of simplifying the server error information collection process without the need for additional hardware support or complex software deployment. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] In order to more clearly illustrate the technical solution of the embodiment of the present invention, the accompanying drawings of the embodiment of the present invention will be briefly introduced below. A flow chart is used in the present application to illustrate the operations performed by the system according to the embodiment of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, various steps can be processed in reverse order or simultaneously as needed. At the same time, other operations can also be added to these processes, or one or more operations can be removed from these processes.

[0009] Figure 1 A block diagram of the principle design of a BMC obtaining server error information provided in an embodiment of the present application;

[0010] Figure 2 A schematic diagram of a monitoring and collection process for a BMC to obtain server error information provided in an embodiment of the present application. DETAILED DESCRIPTION

[0011] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below.

[0012] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

[0013] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict, and the terms "first\second" involved are merely to distinguish similar objects and do not represent a specific ordering of objects. The terms "including" and "having" and any variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products, or devices. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those generally understood by technicians in the technical field of this application. The terms used herein are for the purpose of describing the embodiments of the present application only.

[0014] The present application embodiment provides a method for a BMC to obtain server error information, such as Figure 1 As shown, the method includes:

[0015] Step S100, based on CPLD, the host serial port is mapped to BMC, wherein the CPLD is connected to a serial port socket, and the serial port socket is used for serial port debugging of the host. Specifically, in this scheme, the CPLD (complex programmable logic device) first performs correct connection with the host serial port, BMC (baseboard management controller) and serial port socket and follows electrical specifications, and then completes initialization programming by loading configuration data written by a schematic design tool or hardware description language and downloaded through a download cable, thereby having a mapping function. When the host serial port has an output signal, the logic circuit in the CPLD uses a signal buffer to enhance the driving capability and a multiplexer to allocate a path, ensuring that the signal is complete and the timing is correct and transmitted to the serial port socket and BMC at the same time. The serial port socket is used for serial port debugging of the host. During debugging, the technician connects the debugging equipment, and the CPLD controls the signal path switching to ensure that the debugging communication is normal and does not affect the BMC data collection and the operation of the host system. The data obtained by BMC through mapping is of great significance. During the power-on startup phase, it can collect information such as BIOS (Basic Input / Output System) or UEFI (Unified Extensible Firmware Interface) startup logs to discover hardware and configuration problems. During the operation phase, it collects system operation data, which can be analyzed and processed to warn of faults and performance problems, thereby improving server reliability and stability.

[0016] In a possible implementation, based on CPLD, the host serial port is mapped to BMC, wherein the CPLD is connected to a serial port socket, and the serial port socket is used for serial port debugging of the host, and step S100 further includes step S110, determining the internal interaction logic between the server host and the BMC. Specifically, the requirements and relationships between the server host and the BMC (baseboard management controller) in terms of data transmission, control signal interaction, etc. are studied. For example, it is clear which host status information needs to be transmitted to the BMC in a timely manner during the operation of the server, and how the BMC sends control instructions to the host (such as input switching instructions in the serial port debugging scenario, etc.), and the interaction between the two under different server working modes (such as normal operation, startup phase, fault state, etc.) should be considered, as well as how to ensure the accuracy, integrity and real-time nature of the data. Through a comprehensive analysis of the factors, a clear internal interaction logic between the server host and the BMC is sorted out, providing a theoretical framework for subsequent hardware configuration and programming work.

[0017] Step S120, based on the internal interactive logic, perform logic programming and configure the programmable interconnect array. Specifically, according to the determined internal interactive logic, start the logic programming operation, use professional hardware description language (such as VHDL or Verilog) to convert the interactive logic into code that can be understood and executed by the programmable logic device (CPLD), and configure the programmable interconnect array in the CPLD (complex programmable logic device). The programmable interconnect array is a key part of the CPLD (complex programmable logic device) to realize various logical functions. By reasonably setting its internal connection relationship and the combination of logic gate circuits, the CPLD can process the input and output signals according to the predetermined interactive logic. For example, according to the logic needs, configure a specific signal path connection, determine which signals need to be buffered, multiplexed or logically operated, etc., to realize the correct mapping of the host serial port output signal to the BMC (baseboard management controller) and the serial port socket, as well as the switching control of the serial port input signal and other functions, to ensure that the logical functions of the entire system are correctly realized.

[0018] Step S130, based on the programmable interconnect array, the CPLD is initialized. Specifically, after completing the configuration of the programmable interconnect array, the CPLD (complex programmable logic device) needs to be initialized, and the compiled and compiled configuration data is downloaded to the CPLD chip through a download cable. The initialization process enables each logic unit, register and other components inside the CPLD to be initially set according to the configuration data and enter a predetermined working state. The CPLD has the ability to process signals according to the pre-designed logic functions, and can accurately perform the interactive operation between the host and the BMC (baseboard management controller) during the operation of the server. For example, when the server is powered on, the CPLD can correctly transmit the BIOS (basic input / output system) startup log information output by the host serial port to the BMC and the serial port socket (if there is a debugging requirement) according to the initialization settings, and can switch and control the serial port input according to subsequent instructions (such as control signals from the BMC), thereby realizing the normal operation and data interaction management of the entire server system at the hardware level.

[0019] Step S200, according to the server stage, assist CPLD, perform system entry judgment and serial port debugging, execute server data collection and error warning. Specifically, the server operation is divided into power-on startup and operation stages. The POST End signal is assisted by CPLD (complex programmable logic device) to assist in the judgment stage. The signal is pulled high by CPLD to transmit to BMC after GPIO (general input / output). During serial port debugging, first formulate the flag information and IPMI (intelligent platform management interface) command, the user sends a command to select the serial port usage status, if it is used, CPLD will switch to the serial port to change the flag, BMC will stop receiving data but record the activity, if it is not used, it will switch to BMC (baseboard management controller) to change the flag, and it will automatically switch if there is no activity for more than half an hour. In the startup stage, BMC collects startup logs, and in the operation stage, BMC collects system logs and other data when not debugging. Before the error warning, the abnormal feature word determination coefficient is mined to build a library, and the BMC traverses the library matching during operation. If the threshold is exceeded, a serious alarm and guidance will be issued, and if it is not exceeded, a normal alarm log will be reported, so as to achieve error warning and effective server management and improve reliability and stability.

[0020] In one possible implementation, Figure 2According to the server stage, the CPLD is assisted to perform system entry judgment and serial port debugging, and server data collection and error warning are executed. Step S200 further includes step S210, which judges whether the server host has entered the system, wherein the query of the POST End signal is used as the judgment method. Specifically, during the operation of the server, accurately judging whether the server host has entered the system is an important basis for subsequent operations. The judgment is made by querying the POST End signal. POST, i.e., power-on self-test, is a series of hardware detection and initialization operations automatically performed after the computer system is powered on. The POST End signal marks the end of the POST process. When the server host completes all hardware detection and initialization and is ready to enter the operating system loading stage, the BIOS (basic input / output system) or UEFI will send a POST End signal. The signal, as a key identifier, plays a triggering role in the state transition in the entire server system. It indicates that the server host has completed basic hardware preparations and is about to enter the system operation stage or has entered the system operation stage, providing an important basis for judgment for subsequent different operations.

[0021] Step S220, if the POST End signal is queried, the GPIO connected to the CPLD assists in exchanging the POST End signal to the BMC, wherein if the system is not entered, the server stage is the power-on startup stage, and if the system is entered, the server stage is the running stage. Specifically, once the POST End signal is queried, the CPLD (complex programmable logic device) begins to play its key role in assisting the connection. The CPLD processes the received POST End signal through its internal logic circuit and the connection with the GPIO and interacts with the BMC (baseboard management controller). The CPLD acts as a bridge for signal conversion and transmission here. It can accurately identify the POST End signal from the BIOS / UEFI and convert it into a signal format suitable for transmission between the BMC and the host. The signal is transmitted to the BMC through the GPIO (general input / output), ensuring that the BMC can obtain the status information of the server host in a timely manner so that the BMC (baseboard management controller) can adjust its data collection and management strategy according to the stage of the server (operation stage or power-on startup stage). For example, in the operation stage, the BMC may perform more real-time monitoring and data collection tasks, while in the power-on startup stage, the BMC mainly focuses on collecting key information in the startup process, such as the startup log of the BIOS / UEFI. Depending on whether the POST End signal is queried, the server stage is clearly divided into the power-on startup stage and the operation stage. If the POST End signal is not queried, the server stage is clearly divided into the power-on startup stage and the operation stage. If the POST End signal is received, the server is currently in the power-on startup phase. In this phase, the host system mainly performs hardware initialization and self-test. At this time, the input of the host serial port is usually empty. The BMC will focus on collecting the startup data generated in this phase, such as the detailed log information output by the BIOS / UEFI during the startup process. These data are of great significance for analyzing whether there are hardware failures or configuration problems during the server startup process. If the POST End signal is queried, it indicates that the server host has entered the system operation phase, and the server's hardware has been initialized and is ready to run the operating system and applications. The BMC can adjust its working mode according to this state. For example, in the operation phase, the BMC may strengthen the real-time monitoring of the system operation data, and prepare to respond to various possible system events, such as error warnings, performance monitoring, etc., to ensure the stability and reliability of the server during operation. The server phase judgment mechanism based on the POST End signal provides a basic guarantee for the orderly operation and management of the entire server system.

[0022] In a possible implementation, according to the server stage, the CPLD is assisted to perform system entry judgment and serial port debugging, and server data collection and error warning are performed. Step S200 further includes step S230, formulating serial port flag information, judging whether to use the host serial port, performing serial port debugging and modifying the state of the serial port flag information. Specifically, first, in order to effectively manage the use of the host serial port, it is necessary to formulate serial port flag information, and the flag information is a state indicator for recording whether the host serial port is currently in use, and the information can be obtained by different processes in the system, thereby realizing global monitoring of the serial port use status.

[0023] Step S240, wherein determining whether to use the host serial port includes: Specifically, when determining whether to use the host serial port, the flag information is used as an important basis. By continuously querying the status of the flag information, the system can understand the occupancy of the serial port in real time, and then determine the subsequent operation process, ensuring that the serial port resources can be reasonably allocated and effectively utilized under different requirements.

[0024] Step S250, if it is used, a first command is generated and sent to the CPLD, the input of the host serial port is switched to the serial port, and the serial port flag information is adjusted to the use state. Specifically, when it is determined that the host serial port needs to be used for debugging and other operations, the system will generate a first command, which is an instruction specially designed for CPLD (complex programmable logic device), and its purpose is to accurately control the switching of the serial port input. After the command is generated, the system sends it to the CPLD. After the CPLD receives the command, according to its internal preset logic circuit, it quickly performs the switching operation, switches the input of the host serial port to the serial port, and the external debugging device (such as a serial port debugging terminal) can establish a direct connection with the host serial port through the serial port, realize bidirectional data transmission, and facilitate technicians to perform various debugging work, such as system troubleshooting, software program debugging, etc. In order to maintain the consistency and accuracy of the serial port status information, the system will adjust the serial port flag information to the use state, so that other processes can know in time that the serial port is currently occupied, and avoid other operations from interfering with the serial port debugging process.

[0025] Step S260, if it is not used, generate a second command, send it to the CPLD, switch the input of the host serial port to the BMC, and adjust the serial port flag information to a non-use state. Specifically, when it is determined that the host serial port does not need to be used, the system will generate a second command, which is also sent to the CPLD (complex programmable logic device). The CPLD performs the opposite operation according to this command, that is, switching the input of the host serial port to the BMC. The operation enables the BMC to continue to normally collect data output by the host serial port, such as system operation logs, status information, etc., to ensure that the monitoring function of the BMC (baseboard management controller) on the server system is not affected. The system will adjust the serial port flag information to a non-use state, indicating to the entire system that the serial port is in an idle state and can be used for other possible operations, thereby realizing flexible switching and efficient utilization of serial port resources in different demand scenarios, and optimizing the overall operation efficiency of the server system.

[0026] In a possible implementation, if it is not used, a second command is generated and sent to the CPLD, the host serial port input is switched to the BMC, and the serial port flag information is adjusted to a non-use state. Step S260 further includes step S261, obtaining serial port activity information, wherein the serial port activity information at least includes the generation timestamp of the last message. Specifically, the system needs to obtain serial port activity information, which is an important data source for the entire serial port debugging management process. The serial port activity information covers various dynamic data during the use of the serial port, including at least the generation timestamp of the last message. This timestamp accurately records the moment when the last data transmission of the serial port is completed. It is like a time mark, which provides a key basis for the subsequent judgment of whether the serial port is in an idle state. By continuously monitoring and recording the serial port activity information, the system can grasp the use of the serial port in real time, laying the foundation for the reasonable management of serial port resources.

[0027] Step S262, set the debugging constraint time zone. Specifically, the system will set the debugging constraint time zone, which is a predefined time range rule. The purpose of setting the debugging constraint time zone is to provide a reasonable time limit for the serial port debugging process to avoid affecting other normal operations or resource occupation of the server system due to excessive debugging time. For example, according to the server's workload, performance requirements and actual application scenarios, the administrator may set the debugging constraint time zone to a specific duration such as half an hour or one hour. The set value will serve as an important criterion for subsequent judgment on whether the serial port debugging should be ended, ensuring that the serial port debugging activity is carried out within a reasonable time range and improving the overall operation efficiency of the server system.

[0028] Step S263, by identifying the serial port activity information, combined with the real-time time node, determine the interval time zone, and determine whether the debugging constraint time zone is met. Specifically, the system identifies the acquired serial port activity information, especially pays attention to the generation timestamp of the last piece of information, and combines the current real-time time node to calculate the interval time zone between the two. The interval time zone represents the length of time from the end of the last serial port activity to the current moment. Then, the calculated interval time zone is compared with the preset debugging constraint time zone to determine whether the debugging constraint time zone is met. If the interval time zone is greater than or equal to the debugging constraint time zone, it means that the serial port has been inactive for a long time, and the debugging work may have been completed or is in an idle state, and further processing is required; on the contrary, if the interval time zone is less than the debugging constraint time zone, it means that the serial port is still within the normal debugging use time range, and the system continues to maintain the current state and continuously monitor the serial port activity.

[0029] Step S264, if the debugging constraint time zone is met, a debugging termination instruction is generated. Specifically, when the judgment result is that the debugging constraint time zone is met, the system will automatically generate a debugging termination instruction, which is a control signal used to notify the system to perform a series of operations to end the current serial port debugging process. The generation of the debugging termination instruction marks the system's preparation for switching from the serial port debugging mode to the normal operation mode, which ensures that the serial port debugging activity is terminated at the right time, avoiding unnecessary waste of resources and potential system risks, and ensuring that the server system can be restored to a normal working state in a timely manner and continue to perform other important tasks.

[0030] Step S265, based on the debug termination instruction, control the CPLD to switch input, and synchronize the state of the serial port flag information. Specifically, based on the generated debug termination instruction, the system controls the CPLD (complex programmable logic device) to perform the switch input operation, and the CPLD switches the input of the host serial port from the current debug connection (such as the serial port) to the BMC (baseboard management controller) according to the instruction, so that the BMC can restart the collection of data output by the host serial port and resume normal monitoring of the server system. In order to maintain the accurate recognition of the serial port status by the entire system, the system will synchronously update the state of the serial port flag information and modify it to a non-use state. When other processes query the serial port flag information, they can immediately understand that the serial port has ended debugging and can be used for other operations, thereby achieving consistency and efficiency in serial port resource management and ensuring coordinated operation between various components of the server system.

[0031] In a possible implementation, according to the server stage, the CPLD is assisted to perform system entry judgment and serial port debugging, and server data collection and error warning are performed. Step S200 further includes step S270, obtaining the server operation record, mining abnormal feature words, wherein the abnormal feature words are marked with error coefficients and error types. Specifically, in order to effectively determine the server error, the system needs to obtain the server operation record, and the operation record contains various data generated by the server during operation, such as system logs, application operation logs, hardware status information, etc., which fully reflect the working status of the server. By analyzing the operation record, the system uses specific data mining algorithms and technologies to mine abnormal feature words. Abnormal feature words are key information fragments closely related to possible errors in the server, and each abnormal feature word is marked with an error coefficient and an error type. The error coefficient is used to quantify the severity of the error represented by the feature word. For example, a feature word with a high error coefficient may indicate that the server has a serious hardware failure risk, and the error type clarifies the category to which the error belongs, such as hardware error, software error, network error, etc., which helps the system to more accurately locate and understand the problems that the server may face.

[0032] Step S280, integrate the abnormal feature words and build an error feature library. Specifically, the mined abnormal feature words need to be integrated to build a complete error feature library, organize each abnormal feature word and its related error coefficient and error type according to certain rules and structures, and form a database that can be quickly queried and compared by the system. The error feature library is like a knowledge base for error diagnosis, which stores the error feature patterns that may occur in the server under various operating conditions. By continuously accumulating and improving this library, the system can cover more types of server error situations, improve the ability to identify different errors, provide a comprehensive and accurate basis for subsequent error judgments, and enhance the effectiveness and reliability of server error management.

[0033] Step S290, based on the error feature library, error determination of server data is performed. Specifically, when the server continues to run and generates new data, the system performs error determination on these server data based on the error feature library that has been constructed. The specific operation is to compare the server data obtained in real time with the abnormal feature words in the error feature library one by one. The system traverses each information fragment in the server data to check whether it matches a certain abnormal feature word in the error feature library. If a matching abnormal feature word is found, the system can quickly determine whether an error occurs in the server and the severity and type of the error according to its corresponding error coefficient and error type. For example, if an abnormal feature word related to hardware overheating is detected in the server data, and its error coefficient is high, the system can promptly determine that the server has serious hardware problems, and take corresponding measures according to the error type, such as issuing an alarm to notify the administrator, starting the hardware protection mechanism, etc., so as to achieve real-time monitoring and effective processing of server errors and ensure the stable operation of the server.

[0034] In a possible implementation, the server operation record is obtained, and abnormal feature words are mined, wherein the abnormal feature words are marked with error coefficients and error types. Step S270 further includes step S271, traversing the abnormal feature words, and mining the first error coefficient for a single feature word. Specifically, the mined abnormal feature words are traversed, and for each individual feature word, the system uses specific data mining techniques and algorithms to mine its corresponding first error coefficient. It is necessary to deeply analyze the frequency of occurrence of the single feature word in the server operation data, context association, and similarity with known error patterns. For example, if a single feature word frequently appears in the log when the server fails and is associated with a typical hardware failure, it may be assigned a higher first error coefficient. By performing such detailed analysis and calculation on each single feature word, the system can preliminarily quantify the severity of the error potentially represented by each feature word, laying the foundation for a more comprehensive and accurate determination of the error coefficient in the future.

[0035] Step S272, based on the synchronization relationship of the abnormal feature words, determine the feature phrase group. Specifically, after completing the preliminary analysis of the single feature word, the feature phrase group is determined based on the synchronization relationship between the abnormal feature words. The synchronization relationship means that in the server operation data, some feature words will appear at the same time or be closely related under a specific time series or logical relationship. For example, when a network failure occurs in the server, the two feature words "network connection interruption" and "high packet loss rate" may appear at the same time. There is an obvious logical association between them, so they can be combined into a feature phrase group. The system finds out these feature word combinations with synchronization relationships through analysis and pattern recognition of a large amount of server operation data, thereby forming more representative and targeted feature phrase groups. These feature phrase groups can more comprehensively reflect the complex error conditions that may exist in the server.

[0036] Step S273, mining the second error coefficient for the feature phrase. Specifically, for the determined feature phrase, the system uses data mining again to mine the corresponding second error coefficient. The process of mining the second error coefficient is similar to mining the first error coefficient of a single feature, but the factors considered are more complex, because there are relationships between multiple feature words in the feature phrase. In addition to considering the attributes of each feature word itself, it is also necessary to comprehensively analyze the overall probability of the feature phrase in the server error scenario, the degree of impact on the server operation, and the matching degree with other known error combination patterns. For example, a feature phrase containing multiple key hardware failure-related feature words often appears when a serious hardware problem occurs on the server, then it will be assigned a higher second error coefficient to reflect its important indicative role in server errors.

[0037] Step S274, based on the first error coefficient and the second error coefficient, determine the error coefficient. Specifically, based on the first error coefficient and the second error coefficient that have been mined, the system determines the final error coefficient of each abnormal feature word (including single feature words and feature words in feature word groups), and the determination method may involve weighted summation, logical judgment or other comprehensive calculation methods. For example, different weights can be set for the first error coefficient and the second error coefficient according to the importance of feature words and feature word groups in server error determination, and then they are weighted and summed to obtain the final error coefficient. The determined final error coefficient can more comprehensively and accurately reflect the true severity of the server error represented by the abnormal feature word, and provide a more reliable quantitative basis for subsequent server data error determination based on the error feature library, thereby achieving more accurate server error management and processing.

[0038] In a possible implementation, based on the first error coefficient and the second error coefficient, the error coefficient is determined, and step S274 further includes step S2741, collecting server data, traversing the error feature library for matching, and determining the error matching result. Specifically, the system will first continuously collect various data generated by the server during operation, and the data covers server hardware status information, system operation logs, application program operation records and other aspects. The collected data is the basis for subsequent error determination. The system traverses the pre-built error feature library, and compares and matches each information fragment in the collected server data with the abnormal feature words in the error feature library one by one. In the matching process, it will check whether the keywords, data patterns, numerical ranges, etc. in the data are consistent with the abnormal feature words. For example, if a specific error code related to hardware failure or an abnormal system status description appears in the server data, the system will search for the corresponding abnormal feature words in the error feature library. Through a comprehensive and detailed matching process, it is determined whether there is content in the server data that matches the abnormal situation defined in the error feature library, thereby obtaining an error matching result, which will reflect whether there may be an error in the server and what kind of error may exist.

[0039] Step S2742, if the error matching result is not empty and is greater than the preset coefficient threshold, a first alarm instruction is generated and operation guidance information is output. Specifically, when the error matching result is not empty, it indicates that a possible error situation is detected in the server data, and the severity of the error needs to be further determined. The system compares the error coefficient corresponding to the error matching result with the preset coefficient threshold. If the error coefficient is greater than the preset coefficient threshold, it means that the detected error is more serious and may have a significant impact on the normal operation of the server. In this case, the system will generate a first alarm instruction, which will trigger a series of emergency measures. For example, the first alarm instruction may cause the server to sound an alarm or send an emergency notification to the administrator, such as an email, text message, etc., to ensure that the administrator can know the serious problem of the server in time. At the same time, the system will also output operation guidance information, which is generated based on the pre-analysis and processing experience of this type of error, and is intended to help the administrator quickly locate the problem and take effective solutions, such as providing possible fault cause analysis, recommended repair steps or links to relevant technical documents, so that the administrator can quickly respond to serious error situations, reduce server downtime, and reduce the impact on the business.

[0040] Step S2743, if the error matching result is not empty and is less than the preset coefficient threshold, an alarm log is generated and reported, and the preset coefficient threshold is a critical value for defining the severity of the error. Specifically, if the error matching result is not empty, but the error coefficient is less than the preset coefficient threshold, that is, the detected error is relatively light, although it will not immediately pose a serious threat to the normal operation of the server, it still needs to be recorded and paid attention to. The system will generate an alarm log, which records the relevant information of the error in detail, including the specific abnormal feature words in the error matching result, the corresponding error coefficient, the time when the error was found, and the context information related to the server (such as the application program running at the time, the system load, etc.). After the alarm log is generated, the system will report it to the server management system or the relevant monitoring platform. The administrator can view these alarm logs later, conduct a retrospective analysis of the operating status of the server, and understand the minor errors that occurred in the server over a period of time, so as to timely discover potential problem trends and take preventive measures in advance to avoid small problems from gradually accumulating and evolving into serious failures, thereby ensuring the long-term stable operation of the server.

[0041] Step S300, wherein, if the server stage is the power-on startup stage, the host serial port input is empty, and the BMC collects startup data. If the server stage is the operation stage, data collection is performed based on the serial port input or the BMC. Specifically, when the server is in the power-on startup stage, the host serial port input is empty. At this time, the BMC focuses on collecting startup data, such as the startup log of the BIOS or UEFI. These data are helpful in troubleshooting problems during hardware initialization and self-test. After entering the operation stage, if serial port debugging is required, the serial port socket is connected to the debugging device, and the host serial port input is switched to this. Although the BMC suspends regular data collection, it will record the serial port debugging operation; if no debugging is required, the host serial port input is switched to the BMC end, and the BMC executes commands to collect system operation logs and other data, and performs abnormality checks at the same time. The server operation status is judged based on the collected data compared with the preset range or mode, providing a basis for error warnings, thereby achieving effective data management and status monitoring of the server at different stages.

[0042] The embodiment of the present application adopts CPLD-based mapping of the host serial port to the BMC, and uses CPLD to assist in determining the server stage and performing serial port debugging. The BMC collects startup data during the power-on startup stage, and performs data collection and error warning according to serial port input or BMC during the running stage, thereby achieving the technical effect of simplifying the server error information collection process without the need for additional hardware support or complex software deployment.

[0043] The above specific implementation manner does not constitute a limitation to the protection scope of the present application. It should be understood by those skilled in the art that various modifications, combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the protection scope of the present application. In some cases, the actions or steps recorded in the present application can be performed in an order different from that in the embodiment and can still achieve the desired results. In addition, the process depicted in the accompanying drawings does not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

Claims

1. A method for BMC to obtain server error information, characterized in that: The method comprises: Based on CPLD, the host serial port is mapped to the BMC, wherein the CPLD is connected to a serial port socket, and the serial port socket is used for serial port debugging of the host; According to the server stage, assist CPLD to perform system entry judgment and serial port debugging, and execute server data collection and error warning; Among them, if the server stage is the power-on startup stage, the host serial port input is empty, and the BMC starts data collection; if the server stage is the running stage, data collection is performed based on the serial port socket input or BMC.

2. A method for BMC to obtain server error information as claimed in claim 1, characterized in that: Configure the CPLD, including: Determine the internal interaction logic between the server host and the BMC; Based on the internal interaction logic, perform logic programming and configure a programmable interconnect array; The CPLD is initialized based on the programmable interconnect array.

3. A method for obtaining server error information by a BMC as claimed in claim 1, characterized in that: The system entry judgment comprises: Determine whether the server host has entered the system, wherein the query of the POST End signal is used as the determination method; If the POST End signal is queried, the GPIO connected to the CPLD assists in exchanging the POST End signal to the BMC. If the system is not entered, the server stage is the power-on startup stage, and if the system is entered, the server stage is the running stage.

4. A method for obtaining server error information by a BMC as claimed in claim 1, characterized in that: Perform serial port debugging, including: Formulate serial port flag information, determine whether to use the host serial port, perform serial port debugging and modify the status of the serial port flag information; Wherein, judging whether to use the host serial port includes: If it is used, generating a first command, sending it to the CPLD, switching the input of the host serial port to the serial port, and adjusting the serial port flag information to the use state; If it is not used, a second command is generated and sent to the CPLD to switch the input of the host serial port to the BMC, and adjust the serial port flag information to a non-used state.

5. A method for BMC to obtain server error information as claimed in claim 4, characterized in that: The method further comprises: Acquire serial port activity information, wherein the serial port activity information at least includes a generation timestamp of the last piece of information; Set the debugging constraint time zone; By identifying the serial port activity information, combined with the real-time time node, determining the interval time zone, and judging whether the debugging constraint time zone is met; If the debugging constraint time zone is met, generating a debugging termination instruction; Based on the debugging termination instruction, the CPLD is controlled to switch inputs, and the state of the serial port flag information is synchronized.

6. A method for obtaining server error information by a BMC as claimed in claim 1, characterized in that: Before executing the error warning, include: Obtaining server operation records and mining abnormal feature words, wherein the abnormal feature words are marked with error coefficients and error types; Integrate the abnormal feature words to build an error feature library; Based on the error feature library, error determination of server data is performed.

7. A method for BMC to obtain server error information as claimed in claim 6, characterized in that: The abnormal feature word is marked with an error coefficient, including: Traversing the abnormal feature words, and mining the first error coefficient for a single feature word; Determining a characteristic phrase group based on the synchronization relationship of the abnormal characteristic words; For the characteristic phrase, mining a second error coefficient; The error coefficient is determined based on the first error coefficient and the second error coefficient.

8. A method for BMC to obtain server error information as claimed in claim 6, characterized in that: Execution error warnings, including: Collect server data, traverse the error feature library for matching, and determine the error matching result; If the error matching result is not empty and is greater than a preset coefficient threshold, a first warning instruction is generated and operation guidance information is output; If the error matching result is not empty and is less than a preset coefficient threshold, an alarm log is generated and reported. The preset coefficient threshold is a critical value that defines the severity of the error.

Citation Information

Patent Citations

  • Multi-serial port switching system and method used for debugging server system

    CN106339344A

  • Control method and system for internal serial port access of multi-node equipment

    CN111078603A

  • Serial port information collection device and method and server

    CN114579400A

  • Method and device for mining abnormal rules

    CN115659232A

  • Object action anomaly detection method and device, readable medium and electronic equipment

    CN116992374A

Cited By

  • Multi-serial-port communication scheduling method and system, electronic equipment and storage medium

    CN120692238A