Data processing method and device, computer equipment, storage medium and program product
By identifying and blocking target devices that frequently report error information in the server, the SMI interrupt problem caused by excessive CE is solved, and the server's operating efficiency and computing performance are improved.
Patent Information
- Application Number
- CN202510155128.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-12
- Publication Date
- 2025-03-14
AI Technical Summary
The server can correct errors (CEs) too frequently lead to continuous system management interruptions (SMI), affecting the normal operation of the business and the computing performance of the server.
When the service processor detects the error message, it determines the target device and its device type that reported the error message, and obtains the corresponding preset threshold. When the number of error message reports of the target device exceeds the preset threshold, use an error suppressor to block the error message reports of the target device to avoid frequent SMI interrupts.
It effectively reduces the processing time wasted by the server due to frequent SMI interrupts, improves the server's operation efficiency and job fluency, and improves the overall computing performance.
Smart Images

Figure CN119621409A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a data processing method, apparatus, computer equipment, storage medium and program product. Background Art
[0002] Since most servers nowadays run 24 hours a day, correctable errors (CE) are common in servers. After a CE is generated in a server, the server will enter the system management interrupt (SMI). At this time, the server can run the fault diagnosis code in the BIOS. Specifically, BIOS (Basic Input and Output System) is a set of programs fixed to a ROM chip on the motherboard of the computer. It stores the most important power-on self-test, hardware initialization program, and system-level service programs.
[0003] However, when CE appears too frequently in the server, constant SMI interrupts can easily affect the normal operation of the business, causing the processor to spend more time processing errors rather than normal business, affecting the overall computing performance of the server. Summary of the invention
[0004] In view of this, the present invention provides a data processing method, apparatus, computer equipment, storage medium and program product to solve the problem that CE appears too frequently in the server, causing continuous entry into SMI and affecting the normal operation of the business.
[0005] In a first aspect, the present invention provides a data processing method, the method comprising: When the service processor currently detects error information, determining a target device to which the error information is reported, and determining a device type corresponding to the target device, wherein the error information is used to indicate the error information causing the operating system to be interrupted; Obtaining a preset threshold corresponding to the device type, wherein the preset threshold is an upper limit value of the number of error messages reported set for each device corresponding to the device type; When the number of error information reported by the target device exceeds a preset threshold, the error information reported by the target device is shielded by the error suppressor.
[0006] In an optional implementation, determining the device type corresponding to the target device includes: When it is determined that the error type matching the target device is the first error type, the device type corresponding to the target device is determined to be a processor; or when it is determined that the error type matching the target device is the second error type, the device type corresponding to the target device is determined to be a memory; or when it is determined that the error type matching the target device is the third error type, the device type corresponding to the target device is determined to be an external device, wherein the external device is a hardware device mounted on the server and complies with the high-speed serial computer expansion bus standard.
[0007] In an embodiment of the present invention, on the basis of distinguishing the error information according to the device type (processor, memory, external device) of the reporting device, the target device that uploads the error information under each device type can be further distinguished, thereby refining the management granularity and improving the accuracy of locating target devices that frequently trigger operating system interrupts, thereby improving the operating efficiency of the server and the smoothness of server operations.
[0008] In an optional implementation manner, determining that the error type matching the target device is the first error type includes: Get the preset error type set for the processor; When the type identifier of the error information reported by the target device matches the preset error type, it is determined that the error type matching the target device is the first error type.
[0009] In an embodiment of the present invention, on the basis of distinguishing the error information according to the device type (processor, memory, external device) of the reporting device, the target device that uploads the error information under each device type can be further distinguished, thereby refining the management granularity and improving the accuracy of locating target devices that frequently trigger operating system interrupts, thereby improving the operating efficiency of the server and the smoothness of server operations.
[0010] In an optional implementation manner, determining a target device for reporting error information includes: When a memory identifier is included in the error message, a target memory whose number matches the memory identifier is determined in the server's memory; Identify the target memory as the target device.
[0011] In an embodiment of the present invention, on the basis of distinguishing the error information according to the device type (processor, memory, external device) of the reporting device, the target device that uploads the error information under each device type can be further distinguished, thereby refining the management granularity and improving the accuracy of locating target devices that frequently trigger operating system interrupts, thereby improving the operating efficiency of the server and the smoothness of server operations.
[0012] In an optional implementation manner, determining a target device for reporting error information includes: When the error information includes an external device identifier, determining a target external device that matches the external device identifier based on the association information, wherein the association information is used to indicate an association relationship between the external device identifier and the corresponding external device; The target external device is determined as the target device.
[0013] In an embodiment of the present invention, on the basis of distinguishing the error information according to the device type (processor, memory, external device) of the reporting device, the target device that uploads the error information under each device type can be further distinguished, thereby refining the management granularity and improving the accuracy of locating target devices that frequently trigger operating system interrupts, thereby improving the operating efficiency of the server and the smoothness of server operations.
[0014] In an optional embodiment, the method further includes: Get the log files of the target device; Based on the log file, find the detection time of the error information, where the detection time is used to indicate the time when the target device last reported the error information; When it is determined that the detection time does not exceed the time threshold, a step of obtaining a preset threshold corresponding to the device type is performed.
[0015] In an embodiment of the present invention, after obtaining the error information reported by the target device, the detection time corresponding to the historically reported error information can be searched in the log file corresponding to the target device, and it can be determined whether the detection time exceeds the time threshold, so as to decide whether to execute the shielding judgment of the target device, so as to reduce the triggering frequency of the judgment process and save the computing resources and storage resources of the server.
[0016] In an optional implementation, determining whether the detection time satisfies the counting condition includes: Obtaining the current time when the service processor currently detects the error information, and determining the time difference between the detection time and the current time; When the time difference is less than the preset time window, it is determined that the detection time does not exceed the time threshold.
[0017] In an embodiment of the present invention, when the time difference between the detection time of the error information and the current time is not less than the preset time window, the detection time in the maintenance log can be updated to the current time to avoid occupying the number of log entries in the maintenance log, thereby ensuring the validity of various types of logs and reducing the memory usage corresponding to the maintenance log.
[0018] In an optional embodiment, the method further includes: When the time difference is greater than or equal to the preset time window, the detection time is updated to the current time.
[0019] In an embodiment of the present invention, when the time difference between the detection time of the error information and the current time is not less than the preset time window, the detection time in the maintenance log can be updated to the current time to avoid occupying the number of log entries in the maintenance log, thereby ensuring the validity of various types of logs and reducing the memory usage corresponding to the maintenance log.
[0020] In an optional implementation, shielding error information reported by the target device by an error suppressor includes: Generates masking instructions matching the target device through an error suppressor; A shielding instruction is sent to the processor so that the processor shields the error information reported by the target device.
[0021] In an embodiment of the present invention, after determining that the number of reports of error information corresponding to the target device exceeds a preset threshold, the error information reported by the target device can be shielded through a shielding instruction, thereby realizing SMI shielding based on the target device, thereby improving the maintainability of the system.
[0022] In an optional embodiment, the method further includes: After the processor shields the error information reported by the target device, the error information reported by the target device during the shielding period is obtained; A mask record is generated based on the error information and stored in the maintenance log.
[0023] In an embodiment of the present invention, after the processor shields the error information reported by the target device, the error information reported by the target device can be obtained to store the shielding record in the maintenance log, thereby facilitating status monitoring of the target device and subsequent tracing.
[0024] In an optional embodiment, the method further includes: Get the recovery time threshold; When it is detected that the shielding time of the target device exceeds the recovery time threshold, a recovery instruction is generated; In response to the recovery instruction, the error suppressor is instructed to release the masking state of the error information reported by the target device.
[0025] In an embodiment of the present invention, a recovery instruction can be generated when the detected shielding time exceeds the recovery time threshold to release the shielding state of the target device, so that the target device can enable the SMI function again to report error information, thereby avoiding affecting the normal operation of the server.
[0026] In a second aspect, the present invention provides a data processing device, the device comprising: A determination module, used for determining a target device to report the error information and determining a device type corresponding to the target device when the service processor currently detects the error information, wherein the error information is used to indicate the error information causing the operating system to be interrupted; An acquisition module is used to acquire a preset threshold corresponding to a device type, where the preset threshold is an upper limit value of the number of error messages reported set for each device corresponding to the device type; The shielding module is used to shield the error information reported by the target device through the error suppressor after the number of error information reported by the target device exceeds a preset threshold.
[0027] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the data processing method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0028] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the data processing method of the first aspect or any corresponding embodiment thereof.
[0029] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the data processing method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0031] Figure 1 is a flow chart of a data processing method according to an embodiment of the present invention; Figure 2 is a flow chart of another data processing method according to an embodiment of the present invention; Figure 3 is a flow chart of another data processing method according to an embodiment of the present invention; Figure 4 is an architectural diagram of a data processing system according to an embodiment of the present invention; Figure 5 is a structural block diagram of a data processing device according to an embodiment of the present invention; Figure 6 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0032] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0033] In conjunction with the application scenarios on which the execution of the data processing method depends, the application scenarios are described here.
[0034] Since most servers nowadays run 24 hours a day, correctable errors (CE) are common in servers. After a CE is generated in a server, the server will enter the system management interrupt (SMI). At this time, the server can run the fault diagnosis code in the BIOS. Specifically, BIOS (Basic Input and Output System) is a set of programs fixed to a ROM chip on the motherboard of the computer. It stores the most important power-on self-test, hardware initialization program, and system-level service programs.
[0035] However, when CE appears too frequently in the server, constant SMI interrupts can easily affect the normal operation of the business, causing the processor to spend more time processing errors rather than normal business, affecting the overall computing performance of the server.
[0036] In the relevant data processing scheme, the CE management scheme can be configured by in-band data management, in which the CE management data and the business data in the server share the same network channel. Specifically, a CE threshold can be set in advance. After the CE triggers the SMI interrupt, the number of times the CE is triggered for the SMI can be calculated. If the CE threshold is reached, the CE report is shielded. However, since the server's BMC (Baseboard Management Controller) has a limit on the number of CEs when recording CEs in the SEL (System Event Log), it is likely to cause CE shielding to fail when a large number of CEs are generated, so there are great limitations.
[0037] Based on this, an embodiment of the present invention provides a data processing method. First, when an error message is detected, the target device that reports the error message can be determined, wherein the error message is used to indicate the error message that causes the operating system to be interrupted. Next, the preset threshold corresponding to the target device can be obtained. Then, after the number of reports of the error message exceeds the preset threshold, the target device can be determined as a target state, wherein the target state is used to indicate the shielding of the operating system interrupt function of the target device, thereby refining the shielding granularity to each target device that generates the error message, so that the target device is set to the target state after the number of error messages generated by the target device exceeds the preset threshold, thereby improving the fluency of the server operation and the overall computing performance.
[0038] According to an embodiment of the present invention, a data processing method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0039] In this embodiment, a data processing method is provided, which can be used for the above server. Figure 1 is a flow chart of a data processing method according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps: Step S101, when the service processor currently detects error information, determines a target device to which the error information is reported, and determines a device type corresponding to the target device, wherein the error information is used to indicate error information that causes an operating system interruption.
[0040] In an embodiment of the present invention, the error information is the above-mentioned CE, the operating system interrupt is the above-mentioned SMI, and the type of the target device may include a processor (hereinafter referred to as CPU), memory and PCIE device in the server. Among them, the PCIE device may include a graphics card, a network card, a solid-state hard drive, a sound card, a built-in acquisition card, a Bluetooth receiver and other external devices connected to the server through a PCIE interface.
[0041] Here, when the CPU of the server detects error information, it can determine the target device that reports the error information and the device type of the target device to execute a judgment process for the target device of the device type to determine whether the SMI function of the target device needs to be shielded.
[0042] Step S102: obtaining a preset threshold corresponding to the device type, wherein the preset threshold is an upper limit value of the number of reported error information items set for each device corresponding to the device type.
[0043] In the embodiment of the present invention, the preset threshold may be an upper limit of the number of error information reported by the target device set in advance. Here, the preset thresholds corresponding to different types of target devices may be different.
[0044] Specifically, a corresponding buffer area may be pre-set in the BMC buffer area for each type of target device to store error information reported by the target device of that type, thereby obtaining the number of error information based on the buffer area corresponding to the target device and comparing it with a preset threshold.
[0045] It should be understood that the cache areas corresponding to target devices of different device types can be managed independently, thereby reducing the impact of the number of entries in the SEL on the cache area. For example, after the number of reports corresponding to the target device exceeds a preset threshold, the count of error information in the cache area corresponding to the target device can be cleared, further reducing the cache pressure.
[0046] Step S103: after the number of error information reports of the target device exceeds a preset threshold, the error information reported by the target device is shielded by an error suppressor.
[0047] In an embodiment of the present invention, the number of times error information is reported may be the total number of times the target device reports error information within a preset time window. Here, when the number of reports exceeds a preset threshold, it indicates that the target device frequently triggers SMI. At this time, the state of the target device may be adjusted to a shielded state through an error suppressor. When the target device is in the shielded state, the processor may shield the SMI function of the target device to shield the error information reported by the target device.
[0048] It should be understood that the data processing scheme of the present invention can be set up out-of-band, that is, the management traffic corresponding to the data processing scheme and the business traffic of the server are independent of each other and do not share the same network channel. Therefore, the administrator can configure the parameters of the data processing scheme in real time through the out-of-band management interface. For example, the preset threshold corresponding to each type of target device can be modified online, and the modification can take effect in real time, thereby improving the maintainability of the scheme.
[0049] For example, if the business scenario changes, resulting in stricter requirements on the stability and smoothness of server operation, the administrator can lower the preset threshold in real time through the out-of-band management interface to reduce the number of SMIs that occur on the server, thereby improving the stability and smoothness of server operation.
[0050] It can be known from the above description that in an embodiment of the present invention, when the service processor currently detects error information, the target device that reports the error information can be determined, and the device type corresponding to the target device can be determined, wherein the error information is used to indicate the error information that causes the operating system to be interrupted. Next, the preset threshold corresponding to the device type can be obtained, wherein the preset threshold is the upper limit of the number of error messages reported set for each device corresponding to the device type, and after the number of error messages reported by the target device exceeds the preset threshold, the error information reported by the target device is shielded by the error suppressor, thereby refining the shielding granularity to each target device that generates error information, so as to shield the error information reported by the target device after the number of error messages generated by the target device exceeds the preset threshold, so as to avoid causing the operating system to be interrupted, thereby improving the fluency of server operations and the overall computing performance.
[0051] In some optional implementations, the above step S101, determining the device type corresponding to the target device, includes: When it is determined that the error type matching the target device is the first error type, the device type corresponding to the target device is determined to be a processor; or when it is determined that the error type matching the target device is the second error type, the device type corresponding to the target device is determined to be a memory; or when it is determined that the error type matching the target device is the third error type, the device type corresponding to the target device is determined to be an external device, wherein the external device is a hardware device mounted on the server and complies with the high-speed serial computer expansion bus standard.
[0052] In the embodiment of the present invention, it can be seen from the above that the device type of the target device may include a CPU, a memory, and a PCIE device, wherein the PCIE device is the above-mentioned external device. Here, the judgment strategies corresponding to different device types may be different, for example, the preset thresholds corresponding to the PCIE device and the memory are different. Therefore, the device type of the target device that reports the error information may be determined first to execute the judgment strategy corresponding to the target device.
[0053] Specifically, when an error occurs during the operation of a device and triggers the SMI, the BIOS error reporting module works to capture the error information and report it according to the error type, error level, and device identification, and passes it to the above-mentioned BMC through the IPMI (Intelligent Platform Management Interface, an open standard for computer system hardware management) protocol.
[0054] After the BMC receives the error, it can enter the BMC storage log module and generate a maintenance log according to the error type, error level, and device identification. Here, since the BMC storm suppression module monitors the maintenance log in a polling manner, at this time, the BMC storm suppression module starts working and determines whether it is a CE error based on the latest log of the maintenance log. Among them, the BMC storm suppression module is used to suppress PCIE storms to avoid frequent triggering of SMIs caused by CE errors.
[0055] When determining the error type of the error information, the error type of the error information may be read based on the maintenance log, wherein the first error type is a processor error, the second error type is a memory error, and the third error type is a PCIE error.
[0056] In some optional implementations, the CE error may be determined as the above error information, and the target device that reports the error information may be judged on each device type in turn. Specifically, determining that the error type matching the target device is the first error type may include the following process: Step a1, obtaining a preset error type pre-set for the processor.
[0057] Step a2: when the type identifier of the error information matches the preset error type, determining that the error type matching the target device is the first error type.
[0058] In the embodiment of the present invention, the error information corresponding to the CPU may be a hardware or software problem related to the CPU. Here, multiple preset error types corresponding to the CPU may be predefined, and each preset error type may be monitored respectively.
[0059] For example, the preset error types may include: Ubox (a USB device or USB interface) error, UPI (Ultra Path Interface, an interconnection technology used in servers and high-performance computing systems) error, PCU (Power Control Unit) error, CHA (Channel associated) error, etc. Here, the Ubox error is used to indicate a fault or problem related to the Ubox (a USB device or USB interface), and the Ubox error may include the failure of the Ubox to be recognized by the system, data transmission failure, communication interruption, etc. The PCU error can be used to indicate a fault or problem related to the power control unit or the processing clock unit, which may specifically involve power supply, clock frequency control, energy saving management, etc. The CHA error can be used to indicate a fault or problem related to a channel in the computer hardware (such as a memory channel, etc.), which may specifically include problems with channel connection, data transmission, communication, etc.
[0060] It should be understood that the preset error type may also include other hardware or software problems related to the CPU, which will not be listed here one by one, and the specific use scenario and user's use requirements shall prevail. Here, when it is determined that the error type of the initial error information matches any preset error type, the error information is determined to be error information reported by the CPU, that is, the first error type mentioned above.
[0061] In addition, the above step S101, determining the target device for reporting the error information, may include the following process: Step b1, when the error message includes a memory identifier, determining a target memory in the memory of the server whose number matches the memory identifier.
[0062] Step b2, determining the target memory as the target device.
[0063] In an embodiment of the present invention, in order to process more data in parallel and thus improve the overall computing speed and responsiveness, the server may set up multiple memory blocks and number the memory blocks according to the order of the memory slots on the motherboard to facilitate the distinction and management of different memories.
[0064] Here, the memory in the server can be differentiated to determine the target memory of the work error information, thereby refining the management granularity of the CE error to the level of each memory bar, thereby realizing the separate shielding of the target memory that triggers more SMIs.
[0065] Specifically, when the device identifier in the error information reported by the BIOS is a memory identifier, it can be identified based on the number corresponding to the memory identifier to obtain the target memory matching the number, and the target memory can be determined as the target device to execute the next step of the judgment process regarding the preset threshold corresponding to the target device.
[0066] In addition, the above step S101, determining the target device for reporting the error information, may include the following process: Step c1, when the error information includes an external device identifier, determining a target external device matching the external device identifier based on association information, wherein the association information is used to indicate an association relationship between an error type of the error information and a corresponding external device.
[0067] Step c2: determining the target external device as the target device.
[0068] In an embodiment of the present invention, the error information corresponding to the PCIE device may be an error that causes the PCIE device to be unable to be correctly started or run due to hardware, software configuration or environmental factors. Here, multiple error types corresponding to the PCIE device and external device identifiers corresponding to various error types may be predefined, and each error type may be monitored and the corresponding target device may be shielded.
[0069] For example, the error types corresponding to PCIE devices may include: Header Log Overflow, Corrected Internal Error, Advisory Non-Fatal Error, Replay Timer Timeout, REPLAY_NUM Rollover, Bad DLLP, Bad Data Link Layer Packet, Bad TLP, Receiver Erro, etc.
[0070] Specifically, Header Log Overflow is used to indicate that when the device encounters an uncorrectable error, the erroneous TLP header information will be recorded in the Header Log. If multiple such errors occur continuously, the Header Log may overflow, resulting in the inability to record subsequent error information. Corrected Internal Error is used to indicate an error detected and corrected during internal logic processing. Advisory Non-Fatal Error is used to indicate a non-fatal error that causes performance degradation. Replay Timer Timeout is used to indicate that under the retransmission mechanism, data has not been successfully transmitted after exceeding the set time limit. REPLAY_NUM Rollover is used to indicate that the counter REPLAY_NUM used to track the number of retransmitted data packets reaches the maximum value and starts counting from zero again. Bad DLLP indicates that the received protocol data unit does not conform to the expected format or content. Bad TLP is used to indicate that the received transaction layer data packet has a format error or inconsistent content. ReceiverErro is used to indicate an error detected when receiving data.
[0071] It should be understood that the association relationship between each error type and the PCIE device that can cause the error type can be preset to obtain association information. For example, Receiver Error indicates a physical layer error, that is, the receiver detects an error during the receiving process. The Receiver Error can occur on any PCIE device with a physical layer receiving function, such as a network card, a graphics card, etc. Therefore, an association relationship between Receiver Error and devices such as a network card and a graphics card can be established.
[0072] In an embodiment of the present invention, on the basis of distinguishing the error information according to the device type (CPU, memory, external device) of the reporting device, the target device that uploads the error information under each device type can be further distinguished, thereby refining the management granularity of CE storm suppression and improving the accuracy of locating target devices that frequently trigger SMI, thereby improving the operating efficiency of the server and the smoothness of server operations.
[0073] In some optional embodiments, the above Figure 1 The corresponding embodiments also include: Step S11, obtaining the log file of the target device.
[0074] Step S12: searching for the detection time of the error information based on the log file, wherein the detection time is used to indicate the time when the target device last reported the error information.
[0075] Step S13, when it is determined that the detection time does not exceed the time threshold, a step of obtaining a preset threshold corresponding to the device type is executed.
[0076] In an embodiment of the present invention, the error file may include the above-mentioned maintenance log, and the error file may include CE data reported by the target device. Here, when searching for error information in the log file, the CE causing the SMI reported by the target device may be searched as error information, and the reporting time of the last reporting of the error information may be obtained as the detection time.
[0077] Next, it can be determined whether the time interval between the detection time and the current time of the currently reported error information exceeds the time threshold. It should be understood that if the time interval between the two is too long, it is determined that the detection time does not meet the counting condition, the frequency of the target device triggering SMI is low, and the impact on the performance of the server is small, and the target device can be ignored for shielding judgment. If the time interval between the two meets the counting condition, the step of obtaining the preset threshold corresponding to the target device can be executed to make further shielding judgment on the target device.
[0078] Here, if it is determined that the detection time does not meet the counting condition, the device identification, current occurrence time and initial occurrence number 1 of the current error information can be recorded, and the error information search process is terminated.
[0079] In an embodiment of the present invention, after obtaining the error information reported by the target device, the detection time corresponding to the historically reported error information can be searched in the log file corresponding to the target device, and it can be determined whether the detection time exceeds the time threshold, so as to decide whether to execute the shielding judgment of the target device, so as to reduce the triggering frequency of the judgment process and save the computing resources and storage resources of the server.
[0080] In some optional implementations, the above step S12, determining whether the detection time satisfies the counting condition, includes: Step d1, obtaining the current time when the service processor detects the error information, and determining the time difference between the detection time and the current time.
[0081] Step d2: When the time difference is less than the preset time window, determine that the detection time does not exceed the time threshold.
[0082] In the embodiment of the present invention, after the historical error information reporting record is detected in the above maintenance log, a step of obtaining a preset threshold corresponding to the target device may be further performed, so as to make further shielding judgment on the target device.
[0083] Specifically, when it is determined that the time difference between the detection time and the current time is less than a preset time window, such as 24 hours, it can be determined that the detection time does not exceed the time threshold, and the number of occurrences of the error information is increased by 1.
[0084] Next, the preset threshold corresponding to the target device can be obtained, and when the error information reaches or exceeds the preset threshold (for example, 1000), the target device is determined as the target state through the shielding module to shield the error information reported by the target device, thereby preventing the target device from frequently triggering the server's SMI.
[0085] In addition, when the time difference is greater than or equal to the preset time window, the detection time can be updated to the current time.
[0086] In an embodiment of the present invention, in order to avoid unlimited storage of error information occupying the number of log entries and memory resources in the above-mentioned SEL log (i.e., maintenance log), the reporting time of the last error information can be overwritten when the detection time of the last error information is far away from the current time when the error information occurs.
[0087] Specifically, if the time difference between the detection time and the current time is not less than the preset time window, it is considered that the error information time occurs at a long interval, the target device triggers SMI at a low frequency, and the impact on the server performance is small, so the detection time is updated to the current time.
[0088] In an embodiment of the present invention, when the time difference between the detection time of the error information and the current time is not less than the preset time window, the detection time in the maintenance log can be updated to the current time to avoid occupying the number of log entries in the maintenance log, thereby ensuring the validity of various types of logs and reducing the memory usage corresponding to the maintenance log.
[0089] In this embodiment, another data processing method is provided, which can be used for the above server. Figure 2 is a flow chart of another data processing method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps: Step S201, when the service processor currently detects error information, determines the target device to which the error information is reported, and determines the device type corresponding to the target device, wherein the error information is used to indicate the error information that causes the operating system to be interrupted. Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.
[0090] Step S202: Obtain a preset threshold corresponding to the device type, wherein the preset threshold is an upper limit of the number of error messages reported by each device corresponding to the device type. Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.
[0091] Step S203: after the number of error information reports from the target device exceeds a preset threshold, the error information reported by the target device is shielded by an error suppressor.
[0092] Specifically, the above step S203 includes: Step S2031: Generate a masking instruction matching the target device through the error suppressor.
[0093] Step S2032: Send a shielding instruction to the processor so that the processor shields the error information reported by the target device.
[0094] In an embodiment of the present invention, the masking instruction may be a PCIE command generated by the error suppressor that matches the error type of the error information reported by the target device. For example, if the error type of the error information is a CPU error, the PCIE command may be a first PCIE command. For another example, if the error type of the error information is a Corrected Internal Error corresponding to the above-mentioned PCIE device, the PCIE command may be a second PCIE command. For another example, if the error type of the error information is a memory CE corresponding to the above-mentioned memory, the PCIE command may be a third PCIE command.
[0095] Specifically, after obtaining the error type corresponding to the error information, the error suppressor can generate a PCIE command matching the error type, and call the PCIE generation interface to send the PCIE command to the CPU, so that the CPU shields the SMI function of the corresponding target device to prevent the target device from triggering SMI.
[0096] In an embodiment of the present invention, after determining that the number of reports of error information corresponding to the target device exceeds a preset threshold, the SMI function of the target device can be shielded through a shielding instruction, thereby realizing SMI shielding based on the target device, thereby improving the maintainability of the system.
[0097] In some optional embodiments, the above Figure 1 The corresponding embodiments also include: Step S21, after the processor shields the error information reported by the target device, the error information reported by the target device during the shielding period is obtained.
[0098] Step S22: Generate a shielding record based on the error information, and store the shielding record in a maintenance log.
[0099] In the embodiment of the present invention, a shielding record can be generated by a shielding module. Specifically, the error information reported by the target device when it is in the target state can be monitored, that is, the CE reported by the target device is detected, and the CE that can trigger the SMI is identified to obtain the error information. The shielding record may include the reporting time corresponding to the error information, the error type, etc.
[0100] Here, the shielding record can be obtained through the BMC of the server and stored in the maintenance log. Specifically, the shielding record can be uploaded and stored in real time to facilitate status monitoring of the target device during the shielding process of the target device.
[0101] In the embodiment of the present invention, when the target device is in the target state, the error information reported by the target device can be obtained to store the shielding record in the maintenance log, thereby facilitating the state monitoring of the target device and facilitating subsequent tracing.
[0102] In some optional embodiments, the above Figure 1 The corresponding embodiments also include: Step S31, obtaining a restoration time threshold.
[0103] Step S32: when it is detected that the shielding time of the target device exceeds the restoration time threshold, a restoration instruction is generated.
[0104] Step S33, in response to the recovery instruction, releasing the target state of the target device so that the target device can recover the function of generating an operating system interrupt in response to the error information.
[0105] In an embodiment of the present invention, the recovery instruction may include a PCIE instruction, which may be configured out-of-band or automatically generated based on a recovery time threshold. Here, a recovery instruction may be generated when the target device is out of a fault state or the time it is in the target state reaches the recovery time threshold.
[0106] Here, when configuring the recovery instruction in real time out-of-band, the administrator can configure the recovery instruction according to the needs of the business scenario, and send the recovery instruction to the CPU through the corresponding PCIE interface, so that the CPU releases the target state of the target device in response to the recovery instruction.
[0107] In addition, when automatically generating a recovery instruction according to the recovery time threshold, it is possible to detect whether the target device has left the fault state, so as to avoid the target device from frequently triggering the SMI again after reaching the target state of the target device. Specifically, the shielding record of the target device during the shielding period can be obtained, and when the reporting frequency of the error information corresponding to the shielding record is less than the fault identification standard, a recovery instruction is generated.
[0108] In addition, when automatically generating a recovery instruction based on the recovery time threshold, it can be detected whether the time the target device is in the target state exceeds the time threshold. If so, a reply instruction is generated to prevent the target device from being shielded for too long and affecting the normal operation of the server.
[0109] It should be understood that after the target device is released from the target state, it can automatically recover Figure 1 The shielding judgment process in the corresponding embodiment continues to judge whether the target device has entered the target state, so as to prevent the target device from affecting the smoothness of the server operation.
[0110] In an embodiment of the present invention, a recovery instruction may be generated when it is detected that the target device meets the recovery time threshold to release the target state of the target device so that the target device can enable the SMI function again, thereby avoiding affecting the normal operation of the server.
[0111] In this embodiment, another data processing method is provided, which can be used for the above server. Figure 3 is a flow chart of another data processing method according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps: Step S301: when error information is detected, report the error information to the BMC, wherein the error information includes an error level, a device identifier, and an error type.
[0112] In the embodiment of the present invention, the error information may be a CE that triggers an SMI.
[0113] Step S302: The BMC generates a maintenance log according to the error information.
[0114] Step S303: determining the error type of the error information based on the target device that reports the error information, wherein the error types include the processor CE, the memory CE, and the external device CE.
[0115] Step S304, searching the error file to see whether there is a detection time corresponding to the error information, if yes, executing step S305, if not, executing step S306.
[0116] Step S305: Add error information to the error file.
[0117] Step S306, obtaining the current occurrence time corresponding to the error information.
[0118] Step S307, determining whether the time difference between the detection time and the current occurrence time exceeds a preset time window, if so, executing step S308, if not, executing step S309.
[0119] Step S308: Update the detection time in the error file to the current time.
[0120] Step S309, determining whether the number of reports of error information within the preset time window exceeds a preset threshold, if so, executing step S311, if not, executing step S310.
[0121] Step S310, updating the detection time in the error file to the current time, and updating the reporting times of the error information.
[0122] Step S311, determining the target device as a target state to shield the SMI function of the target device.
[0123] In summary, in an embodiment of the present invention, when the service processor currently detects error information, the target device that reports the error information can be determined, and the device type corresponding to the target device can be determined, wherein the error information is used to indicate the error information that causes the operating system to be interrupted. Next, a preset threshold corresponding to the device type can be obtained, wherein the preset threshold is the upper limit of the number of error messages reported set for each device corresponding to the device type, and after the number of error messages reported by the target device exceeds the preset threshold, the error information reported by the target device is shielded by the error suppressor, thereby refining the shielding granularity to each target device that generates error information, so as to shield the error information reported by the target device after the number of error messages generated by the target device exceeds the preset threshold, so as to avoid causing the operating system to be interrupted, thereby improving the fluency of server operations and the overall computing performance.
[0124] In this embodiment, a data processing system is also provided. Figure 4 The data processing system includes a CPU, a memory, an operating system, external devices, a BMC, and a BIOS.
[0125] The memory and the external device are used to report error information to the CPU. After the CE of the memory or the external device triggers the SMI, the error information corresponding to the CE can be obtained and reported.
[0126] The operating system is system software used to manage, configure, stabilize and ensure the coordinated operation of server hardware and software resources.
[0127] BIOS is used to execute the server's power-on self-test, hardware initialization program, and system-level service programs.
[0128] The BMC is used to store error information reported by various types of target devices and generate maintenance logs.
[0129] In the present embodiment, a data processing device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0130] This embodiment provides a data processing device, such as Figure 5 As shown, including: The determination module 501 is used to determine the target device to report the error information and determine the device type corresponding to the target device when the service processor currently detects the error information, wherein the error information is used to indicate the error information that causes the operating system to be interrupted; An acquisition module 502 is used to acquire a preset threshold corresponding to a device type, where the preset threshold is an upper limit value of the number of error information reports set for each device corresponding to the device type; The shielding module 503 is used to shield the error information reported by the target device through an error suppressor after the number of error information reported by the target device exceeds a preset threshold.
[0131] In some optional implementations, the first determining module 501 is further configured to: When it is determined that the error type matching the target device is the first error type, the device type corresponding to the target device is determined to be a processor; or when it is determined that the error type matching the target device is the second error type, the device type corresponding to the target device is determined to be a memory; or when it is determined that the error type matching the target device is the third error type, the device type corresponding to the target device is determined to be an external device, wherein the external device is a hardware device mounted on the server and complies with the high-speed serial computer expansion bus standard.
[0132] In some optional implementations, the first determining module 501 is further configured to: Get the preset error type set for the processor; When the type identifier of the error information reported by the target device matches the preset error type, it is determined that the error type matching the target device is the first error type.
[0133] In some optional implementations, the first determining module 501 is further configured to: When a memory identifier is included in the error message, a target memory whose number matches the memory identifier is determined in the server's memory; Identify the target memory as the target device.
[0134] In some optional implementations, the first determining module 501 is further configured to: Get the error type of the error information; When the error information includes an external device identifier, a target external device matching the external device identifier is determined based on association information, and the target external device is determined as the target device, wherein the association information is used to indicate an association relationship between an error type of the external device identifier and the corresponding external device.
[0135] In some optional embodiments, the device is also used for: Get the log files of the target device; Based on the log file, find the corresponding detection time of the error information, where the detection time is used to indicate the time when the target device last reported the error information; When it is determined that the detection time does not exceed the time threshold, a step of obtaining a preset threshold corresponding to the device type is performed.
[0136] In some optional embodiments, the device is also used for: Obtaining the current time when the service processor currently detects the error information, and determining the time difference between the detection time and the current time; When the time difference is less than the preset time window, it is determined that the detection time does not exceed the time threshold.
[0137] In some optional embodiments, the device is also used for: When the time difference is greater than or equal to the preset time window, the detection time is updated to the current time.
[0138] In some optional implementations, the second determining module 503 is further configured to: Generates masking instructions matching the target device through an error suppressor; A shielding instruction is sent to the processor so that the processor shields the error information reported by the target device.
[0139] In some optional embodiments, the device is also used for: After the processor shields the error information reported by the target device, the error information reported by the target device during the shielding period is obtained; A mask record is generated based on the error information and stored in the maintenance log.
[0140] In some optional embodiments, the device is also used for: Get the recovery time threshold; When the detected shielding time exceeds the recovery time threshold, a recovery instruction is generated; In response to the recovery instruction, the error suppressor is instructed to release the masking state of the error information reported by the target device.
[0141] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0142] The data processing device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0143] The embodiment of the present invention also provides a computer device having the above Figure 5 The data processing device shown.
[0144] See also Figure 6 , Figure 6 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 6 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 6 A processor 10 is taken as an example.
[0145] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0146] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0147] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0148] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0149] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0150] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0151] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0152] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the present invention.
Claims
1. A data processing method, characterized in that: The method comprises: When the service processor currently detects error information, determining a target device to which the error information is reported, and determining a device type corresponding to the target device, wherein the error information is used to indicate error information that causes an operating system interruption; Obtaining a preset threshold corresponding to the device type, wherein the preset threshold is an upper limit value of the number of reported error information items set for each device corresponding to the device type; After the number of error information reports of the target device exceeds the preset threshold, the error information reported by the target device is shielded by an error suppressor.
2. The method according to claim 1, characterized in that The determining the device type corresponding to the target device includes: When it is determined that the error type matching the target device is the first error type, determining the device type corresponding to the target device as a processor; or When it is determined that the error type matching the target device is the second error type, determining the device type corresponding to the target device as a memory; or When it is determined that the error type matching the target device is the third error type, the device type corresponding to the target device is determined to be an external device, wherein the external device is a hardware device mounted on the server and conforming to the high-speed serial computer expansion bus standard.
3. The method according to claim 2, characterized in that The determining that the error type matching the target device is a first error type includes: Obtaining a preset error type set for the processor; When the type identifier of the error information reported by the target device matches the preset error type, it is determined that the error type matching the target device is the first error type.
4. The method according to claim 1, characterized in that: The determining a target device to which the error information is reported includes: When the error message includes a memory identifier, determining a target memory in the memory of the server whose number matches the memory identifier; The target memory is determined as the target device.
5. The method according to claim 1, characterized in that The determining of the target device to which the error information is reported further includes: When the error information includes an external device identifier, determining a target external device matching the external device identifier based on association information, wherein the association information is used to indicate an association relationship between the external device identifier and the corresponding external device; The target external device is determined as the target device.
6. The method according to claim 1, characterized in that The method further comprises: Obtaining a log file of the target device; Based on the log file, searching for the detection time of the error information, wherein the detection time is used to indicate the time when the target device last reported the error information; When it is determined that the detection time does not exceed the time threshold, a step of obtaining a preset threshold corresponding to the device type is performed.
7. The method according to claim 6, characterized in that The determining that the detection time satisfies a counting condition includes: Obtaining a current time at which the service processor currently detects the error information, and determining a time difference between the detection time and the current time; When the time difference is less than a preset time window, it is determined that the detection time does not exceed a time threshold.
8. The method according to claim 7, characterized in that The method further comprises: When the time difference is greater than or equal to the preset time window, the detection time is updated to the current time.
9. The method according to claim 1, characterized in that: The step of shielding the error information reported by the target device by using an error suppressor includes: generating, by the error suppressor, a masking instruction matching the target device; The shielding instruction is sent to a processor so that the processor shields the error information reported by the target device.
10. The method according to claim 9, characterized in that The method further comprises: After the processor shields the error information reported by the target device, acquiring the error information reported by the target device during the shielding period; A mask record is generated based on the error information, and the mask record is stored in a maintenance log.
11. The method according to claim 1, characterized in that: The method further comprises: Get the recovery time threshold; When it is detected that the shielding time of the target device exceeds the recovery time threshold, generating a recovery instruction; In response to the recovery instruction, the error suppressor is instructed to release the masking state of the error information reported by the target device.
12. A data processing device, characterized in that: The device comprises: a determination module, configured to determine, when the service processor currently detects error information, a target device to which the error information is reported, and to determine a device type corresponding to the target device, wherein the error information is used to indicate error information that causes an operating system interruption; An acquisition module, used to acquire a preset threshold corresponding to the device type, where the preset threshold is an upper limit value of the number of reported error information items set for each device corresponding to the device type; The shielding module is used to shield the error information reported by the target device through an error suppressor after the number of error information reported by the target device exceeds the preset threshold.
13. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the data processing method according to any one of claims 1 to 11 by executing the computer instructions.
14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the data processing method according to any one of claims 1 to 11.
15. A computer program product, characterized in that The method comprises computer instructions for causing a computer to execute the data processing method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Correctable error threshold setting method and device, electronic equipment and storage medium
CN116820828A
Equipment correctable error processing method and device, computer equipment and storage medium
CN117170921A
Method and device for adjusting correctable error report threshold and related equipment
CN117608893A
Error information processing method and device, computer equipment and storage medium
CN119356976A