Alarm event processing methods, transmission systems, processing devices, media and products

By dividing the management controller into volatile and non-volatile storage areas and combining the dual heartbeat packet detection mechanism and data compression technology, the problem of alarm event loss caused by network interruption is solved, ensuring the integrity and efficiency of server fault diagnosis.

CN120342836BActive Publication Date: 2025-09-19JINAN INSPUR DATA TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510797154.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-16
Publication Date
2025-09-19
Estimated Expiration
2045-06-16

AI Technical Summary

Technical Problem

When the network connection is interrupted, the alarm events generated by the management controller cannot be transmitted to the remote server, resulting in a decrease in the server fault diagnosis capability.

Method used

The management controller is divided into volatile storage areas and non-volatile storage areas. When a network interruption is detected, untransmitted alarm events are stored in these areas. When the network is restored, they are retrieved from these areas and transmitted to the remote server. The dual heartbeat packet detection mechanism is used to detect the network status, and the complete transmission of alarm events is ensured through data compression and priority sorting.

Benefits of technology

It realizes the permanent storage and rapid recovery of transmission of alarm events when the network is interrupted, improves the fault diagnosis capability of the remote server, reduces data loss and repeated transmission, and improves transmission efficiency and diagnosis efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120342836B_ABST
    Figure CN120342836B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for processing alarm events, a transmission system, a processing device, a medium and a product, and relates to the field of server technology. The management controller is pre-divided into its own volatile storage area and non-volatile storage area to implement an efficient caching strategy for the mixed storage area, thereby preventing the loss of alarm events when the network is interrupted. When the network is restored, the target alarm event is obtained from the memory area for transmission to the remote server. In this process, it is necessary to receive a returned alarm event fingerprint list in order to avoid repeated transmission through the record of the unique fingerprint identification. If it is not in the sending queue, it needs to be resent to prevent the omission of the target alarm event, to achieve the recovery transmission of the alarm event when the network is restored, to ensure that the remote server can fully receive the alarm event, and to improve the fault diagnosis capability of the remote server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of server technology, and in particular to a method for processing an alarm event, a transmission system, a processing device, a medium and a product. Background Art

[0002] When the management controller detects abnormal server hardware status, it generates an alarm event and reports it in real time to the remote alarm server via an out-of-band management channel, allowing the remote alarm server to immediately handle the alarm event. If the network connection between the management controller and the remote alarm server is interrupted, the alarm events corresponding to the transmission process and the alarm events generated but not transmitted by the local management controller may be lost. When the network connection is restored, the lost data cannot be retrieved, reducing the server's fault diagnosis capabilities.

[0003] Therefore, how to avoid the loss of alarm events when the network connection is interrupted is an urgent problem that needs to be solved by those skilled in the art. Summary of the Invention

[0004] The purpose of the present invention is to provide a method for processing an alarm event, a transmission system, a processing device, a medium and a product to solve the problem that the server fault diagnosis capability is reduced due to the loss of the alarm event caused by the interruption of network connection.

[0005] To solve the above technical problems, the present invention provides a method for processing an alarm event, comprising:

[0006] Pre-dividing the management controller into a volatile storage area and a non-volatile storage area from the server memory area;

[0007] When a network interruption with a remote server is detected, untransmitted alarm events are received and stored in memory areas corresponding to the volatile storage area and the non-volatile storage area;

[0008] When the network is restored, the target alarm event is obtained in the memory area and transmitted to the remote server to receive a returned alarm event fingerprint list;

[0009] If the target alarm event fingerprint in the alarm event fingerprint list is not in the sending queue of the management controller, the target alarm event is resent.

[0010] On the one hand, the untransmitted alarm events are stored in the memory areas corresponding to the volatile storage area and the non-volatile storage area, including:

[0011] Storing untransmitted alarm events in a volatile storage area;

[0012] When the storage space of the volatile storage area is smaller than the preset storage space, the untransmitted alarm events that have been written into the volatile storage area are migrated to the non-volatile storage area.

[0013] On the other hand, migrating the untransmitted alarm events that have been written to the volatile storage area to the non-volatile storage area includes:

[0014] taking the untransmitted alarm event that has been written to the volatile storage area as a first alarm event;

[0015] Performing data compression on the first alarm event to obtain a compressed first alarm event;

[0016] Migrating the compressed first alarm event to the non-volatile storage area.

[0017] On the other hand, the cache structure of the volatile storage area is a ring buffer structure;

[0018] When writing into the volatile storage area, the untransmitted alarm events are sequentially written into the data block positions corresponding to the ring buffer structure.

[0019] On the other hand, the method of using the untransmitted alarm event that has been written to the volatile storage area as the first alarm event includes:

[0020] Using the alarm event written into the data block position of the ring buffer structure as the second alarm event;

[0021] Determining a priority level of the second alarm event according to the urgency of the second alarm event;

[0022] A second alarm event corresponding to the first preset priority level is selected as the first alarm event.

[0023] On the other hand, obtaining a target alarm event in the memory area includes:

[0024] Determining a current second alarm event corresponding to a plurality of priority levels stored in a current volatile storage area;

[0025] Determining a current first alarm event corresponding to a plurality of priority levels stored in a current non-volatile storage area;

[0026] A target alarm event is selected from the current first alarm event and the current second alarm event based on a second preset priority level.

[0027] On the other hand, selecting a target alarm event based on a second preset priority level from the current first alarm event and the current second alarm event includes:

[0028] Sort the priority levels corresponding to the current first alarm event and the current second alarm event respectively;

[0029] generating a sending queue for the sorted alarm events according to the second preset priority level;

[0030] The target alarm event is obtained by reading from a storage area of ​​the sorted alarm events in the sending queue.

[0031] On the other hand, selecting a target alarm event based on a second preset priority level from the current first alarm event and the current second alarm event includes:

[0032] sorting the priority levels corresponding to the current first alarm event and the current second alarm event respectively to serve as the first sorted alarm event;

[0033] Determining storage times corresponding to the current first alarm event and the current second alarm event, respectively, and sorting the current first alarm event and the current second alarm event according to the storage times to serve as second sorted alarm events;

[0034] Determining a final third alarm event according to the alarm events after the first sorting and the alarm events after the second sorting;

[0035] generating a sending queue for the third alarm event according to the second preset priority level;

[0036] The target alarm event is obtained by reading from the storage area of ​​the third alarm event in the sending queue.

[0037] On the other hand, when the target alarm event is acquired in the non-volatile storage area, the target alarm event is transmitted to the remote server, including:

[0038] Decompressing the target alarm event to obtain a decompressed target alarm event;

[0039] The decompressed target alarm event is divided into blocks to obtain block data;

[0040] The block data is compressed and sent to the remote server; wherein the compression processing method of the block data is different from the data compression processing method of the first alarm event.

[0041] On the other hand, migrating the compressed first alarm event to the non-volatile storage area includes:

[0042] Acquire blocks corresponding to multiple sectors of the non-volatile storage area;

[0043] The compressed first alarm event is written sequentially according to blocks of multiple sectors to complete the migration.

[0044] On the other hand, the network detection process with the remote server includes:

[0045] Detecting the network status of the management controller and the remote server through a dual heartbeat packet detection mechanism;

[0046] When the network status is marked as disconnected, determining that the network is disconnected;

[0047] When the network status is marked as recovered, it is determined that the network is recovered.

[0048] On the other hand, detecting the network status of the management controller and the remote server by using a dual heartbeat packet detection mechanism includes:

[0049] Detecting the network connection status between the management controller and the remote server through a first heartbeat packet detection mechanism;

[0050] Detecting the log service running status of the remote log service listening port of the remote server through a second heartbeat packet detection mechanism;

[0051] If responses are received for both the network connection status and the log service operation status, the network status is determined to be normal;

[0052] If no response is received in the network connection state or the log service running state, the network state is determined to be marked as disconnected.

[0053] On the other hand, the process of receiving the response of the network connection status and the log service operation status includes:

[0054] Obtaining a first preset sending cycle and a first preset number of times;

[0055] Sending the first heartbeat packet detection mechanism and the second heartbeat packet detection mechanism according to a first preset sending period to obtain a first current sending number;

[0056] When the first current sending number reaches the first preset number and no response is received, obtaining a second preset sending cycle and a second preset number of times, wherein the second preset sending cycle is less than the first preset sending cycle;

[0057] Sending the first heartbeat packet detection mechanism and the second heartbeat packet detection mechanism according to the second preset sending period to obtain a second current sending number;

[0058] If any of the heartbeat packet detection mechanisms fails to send continuously during the second current number of transmissions, the number of consecutive transmission failures is recorded;

[0059] When the number of consecutive sending failures reaches a second preset number, determining that the network status is marked as disconnected;

[0060] When the first current sending number reaches a third preset number and the continuous sending success number reaches a fourth preset number, it is determined that the network status is marked as recovered.

[0061] On the other hand, the first heartbeat packet detection mechanism is implemented by network layer protocol transmission detection; the second heartbeat packet detection mechanism is implemented by transmission control protocol transmission detection.

[0062] On the other hand, the process of determining the target alarm event fingerprint includes:

[0063] The target alarm event is processed according to a hash algorithm to obtain a corresponding event fingerprint, so as to encapsulate the event fingerprint and the target alarm event in a data structure.

[0064] On the other hand, resending the target alarm event includes:

[0065] The priority level of the target alarm event is increased to reach the highest priority level in the next sending queue for resending.

[0066] In order to solve the above technical problems, the present invention also provides an alarm event transmission system, comprising a management controller and a remote server; the management controller and the remote server are connected via a network;

[0067] The management controller is used to execute the steps of the above-mentioned method for processing alarm events to transmit the alarm events to the remote server.

[0068] To solve the above technical problems, the present invention further provides a device for processing an alarm event, comprising:

[0069] memory for storing computer programs;

[0070] A processor is used to implement the steps of the method for processing an alarm event when executing the computer program.

[0071] To solve the above technical problems, the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for processing an alarm event as described above are implemented.

[0072] To solve the above technical problem, the present invention further provides a computer program product, comprising a computer program / instruction, which implements the steps of the method for processing the alarm event when executed by a processor.

[0073] The beneficial effects of the present invention are that, on the one hand, the management controller is pre-divided into its own storage area, and a two-level storage architecture is established in its own storage area: a volatile storage area and a non-volatile storage area. Under normal network conditions, alarm events are transmitted to the remote server in real time. When a network interruption is detected, the untransmitted alarm events are stored in the management controller's exclusive storage area. If stored in the memory area of ​​the volatile storage area, the read and write speed of the alarm events is improved, the access delay is reduced, and a short cache process is achieved, ensuring that the alarm events are not lost in the event of a network interruption during the server power-on process. If stored in the memory area of ​​the non-volatile storage area, the alarm events can be permanently not lost, realizing an efficient caching strategy of a mixed storage area of ​​the volatile storage area and the non-volatile storage area, and preventing the loss of alarm events during network interruptions. On the other hand, when the network is restored, the target alarm event is obtained from the memory area for transmission to the remote server. During this process, it is necessary to receive a returned alarm event fingerprint list so as to avoid repeated transmission through the record of the unique fingerprint identifier. At the same time, the target alarm event fingerprint in the received alarm event fingerprint list is compared with the sending queue. If it is not in the sending queue, it needs to be resent to prevent the omission of the target alarm event and realize the recovery transmission of the alarm event when the network is restored, ensuring that the remote server can fully receive the alarm event, so as to improve the fault diagnosis capability of the remote server.

[0074] Secondly, two buffered storage mechanisms are used. First, data is written to the volatile storage area. Leveraging the extremely high write speed of the volatile storage area, data can be quickly responded to data write requests. When the storage space in the volatile storage area is less than the preset storage space, data is migrated to the non-volatile storage area. Alarm events are efficiently read from the volatile storage area, ensuring high utilization of the storage space in the volatile storage area while improving the efficiency of reading alarm events. Dynamic alarm event migration is achieved based on the current storage space usage, improving flexibility. When migrating to the non-volatile storage area, compression is used to reduce the amount of data read for alarm events while improving read and write speeds. Untransmitted alarm events are sequentially written to the corresponding data block locations in the ring buffer structure. Through simple pointer movement of the ring buffer's read and write operations, low latency and continuous storage are achieved, improving the writing efficiency of alarm events. The first alarm event is determined based on the priority level of the alarm event to ensure that high-priority alarm events are persistently stored to avoid loss. The target alarm event is selected from the priority levels corresponding to all alarm events in each memory area based on the second preset priority level to ensure that alarm events with higher priority levels are transmitted first when the network is subsequently restored, ensuring that the alarm events can be transmitted to the remote server for timely diagnosis. The second preset priority level is set based on the priority levels of all alarm events, making the generation process of the sending queue simple and fast. Only the priority level determined by the urgency of the alarm event is read to achieve the fastest transmission of the alarm event. Based on the urgency and storage time of the alarm event, the priority level of the alarm event can be determined more accurately. This improves the efficiency and accuracy of alarm management and ensures that critical issues can be handled in a timely manner. During the transmission process, the data is compressed and transmitted in blocks to reduce the amount of data, improve transmission efficiency, and reduce network load. Compression significantly improves data transmission efficiency and avoids network congestion and delays.

[0075] In addition, the present invention also provides an alarm event transmission system, an alarm event processing device, a computer-readable storage medium, and a computer program product, which have the same beneficial effects as the above-mentioned alarm event processing method. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0077] Figure 1 A flowchart of a method for processing an alarm event provided by an embodiment of the present invention;

[0078] Figure 2A flowchart of another method for handling an alarm event provided by an embodiment of the present invention;

[0079] Figure 3 A structural diagram of a transmission system for an alarm event provided by an embodiment of the present invention;

[0080] Figure 4 A structural diagram of an alarm event processing device provided by an embodiment of the present invention;

[0081] Figure 5 A structural diagram of a device for processing alarm events provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0082] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts shall fall within the scope of protection of the present invention.

[0083] The core of the present invention is to provide a method for processing alarm events, a transmission system, a processing device, a medium and a product to solve the problem that the server fault diagnosis capability is reduced due to the loss of alarm events caused by network connection interruption.

[0084] In order to enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0085] Management controllers, such as the Baseboard Management Controller (BMC), are core components of server hardware management. They are responsible for monitoring the status of server hardware (such as temperature, voltage, fan speed, etc.) and generating alarm events when an anomaly is detected. Traditional BMCs report alarm events in real time to remote alarm servers (such as Simple Network Management Protocol (SNMP) services, Redfish (a modern protocol for server management) servers, cloud management platforms, etc.) through out-of-band management channels. However, when the network connection is interrupted, the alarm event may be lost due to the inability to transmit, resulting in the operation and maintenance personnel being unable to fully understand the server status, affecting the efficiency of fault diagnosis and recovery. The method for processing alarm events provided by the present invention can solve the above technical problems.

[0086] The management controller can be set up on the server in the computer room. The remote server and the server in the computer room are both connected to the Internet. The remote server and the management controller in the server in the computer room are connected through network communication.

[0087] Figure 1 A flowchart of a method for processing an alarm event provided by an embodiment of the present invention is shown in FIG. Figure 1 As shown, the method includes:

[0088] S11: pre-dividing the management controller into a volatile storage area and a non-volatile storage area from the server memory area;

[0089] S12: When a network interruption with a remote server is detected, receiving an untransmitted alarm event and storing it in a memory area corresponding to the volatile storage area and the non-volatile storage area;

[0090] S13: When the network is restored, the target alarm event is obtained in the memory area and transmitted to the remote server to receive the returned alarm event fingerprint list;

[0091] S14: Determine whether the target alarm event fingerprint in the alarm event fingerprint list is in the sending queue of the management controller; if not, proceed to step S15; if so, return to step S13 to obtain the next target alarm event;

[0092] S15: If the target alarm event fingerprint in the alarm event fingerprint list is not in the sending queue of the management controller, the target alarm event is resent.

[0093] Specifically, the server in step S11 is the server to which the management controller belongs, which is distinct from the remote server. In conjunction with the aforementioned interaction scenario between the remote server and the management controller in the server in the computer room, the server's memory area corresponds to the memory area of ​​the server in the computer room. Regarding the management controller, an independent storage area can be used to store not only the corresponding firmware and configuration data, but also the alarm events of the present invention. Furthermore, confirm whether the current management controller supports partitioning storage areas from the server's memory. If so, log in to the management controller's management interface (typically via a web interface or command line tool). In the management interface, search for options related to storage configuration, such as "Storage Partitioning" or "Memory Management," and configure the size and purpose of the storage area according to the documentation for the management controller. To configure storage space for the management controller in the server operating system, use tools provided by the operating system (such as Linux's fdisk or Windows's Disk Management tool) to create an independent partition or logical volume and mount it to a path accessible to the management controller. Alternatively, use logical volume management to create a logical volume and assign it to the management controller, thereby allocating an independent logical volume to the management controller.

[0094] There is no limit on the size of the divided storage area, and it can be set according to actual conditions. It should be noted that in this embodiment, the storage area is divided into a hybrid storage area such as a volatile storage area and a non-volatile storage area. Considering that volatile storage (such as dynamic random access memory (DRAM)) has extremely high read and write speeds, it is suitable for frequent access and fast processing of data. For example, in database transaction processing, storing hot data (frequently read, recorded and written) in DRAM can significantly reduce data access latency. Although non-volatile storage (such as solid state drive (SSD)) is slightly slower, it can persist data. The hybrid storage system can reasonably distribute data between the two, taking advantage of the high-speed characteristics of DRAM while ensuring the persistence of data.

[0095] In step S12, when a network interruption is detected, the detection mechanism can use Ping to check whether the network connection is normal, or use network management tools to monitor the network interface status, or use open source network monitoring tools to monitor the status of network devices, servers, and applications. It can also be detected through programming interfaces, or by using hardware devices such as the port status of network switches and routers, or by using network monitoring equipment. When an interruption is detected, untransmitted alarm events are directly received. The untransmitted alarm events here can be alarm events detected on the local end of the management controller that have not yet been transmitted on the network, as well as alarm events that are being transmitted during network transmission. These alarm events are stored in the memory area corresponding to the volatile storage area and the non-volatile storage area.

[0096] The storage strategies for the two storage areas are different. Alarms can be stored first in the volatile storage area. This is because alarms tend to accumulate quickly, requiring faster write speeds. This allows for faster processing of alarms through higher read and write speeds. When the volatile storage area runs low on free space, alarms can be migrated to the non-volatile storage area.

[0097] Alternatively, the alarm events are first stored in a volatile storage area, where they are prioritized, and higher-priority alarm events are then moved to a non-volatile storage area. This hybrid storage area improves data storage performance and implements an efficient caching strategy. Compared to conventional solutions where alarm events are lost due to network interruptions, this embodiment stores them through caching to prevent loss.

[0098] In step S13, when the network is restored, the alarm events stored in the storage area are directly read and transmitted to the remote server. The detection of network recovery can be the same as the detection mechanism of step S12 above, or it can be different. It is not limited here and can be set according to actual conditions. The target alarm event is obtained in the memory area. It should be noted that the acquisition of the alarm event here can be read according to the order of storage, or it can be set according to the urgency of the alarm event. From which specific memory area of ​​the volatile storage area and the non-volatile storage area is obtained? It can be obtained from the memory area where the alarm event is stored, according to the priority level corresponding to the urgency of the alarm event.

[0099] Regarding the storage process based on the urgency of alarm events, considering that when the storage is migrated to the non-volatile storage area, more urgent alarm events will be added at any time and stored in the volatile storage area, it is necessary to compare all the alarm events in the two memory areas and find the one with the highest priority to be transmitted first.

[0100] In addition, not only the priority level is considered, but also the storage time can be combined with the factor, so that alarm events with longer storage time and higher priority level are transmitted to the remote server first.

[0101] After transmission to the remote server, the alarm event fingerprint list is received back. This is to consider whether there may be omissions or duplications in the alarm event transmission process corresponding to the recovery data transmission mechanism in this embodiment. The fingerprint corresponding to each alarm event unique identifier in the alarm event fingerprint list is compared and distinguished. This ensures that the alarm event transmission is not duplicated or omitted.

[0102] In step S14, the target alarm event fingerprint is compared with the fingerprint of the management controller's send queue. If they match, it indicates that the alarm has been transmitted. If they differ, it indicates that the alarm has been missed locally and needs to be resent. The resend can be placed anywhere in the send queue, or it can be placed first for priority transmission.

[0103] The beneficial effects of the embodiments of the present invention are as follows: on the one hand, the management controller is pre-allocated its own storage area, and a two-level storage architecture is established within the storage area: a volatile storage area and a non-volatile storage area. Under normal network conditions, alarm events are transmitted to a remote server in real time. When a network interruption is detected, untransmitted alarm events are stored in a storage area dedicated to the management controller. If stored in the memory area of ​​the volatile storage area, the read and write speed of the alarm events is improved, access latency is reduced, and a short caching process is achieved, ensuring that the alarm events are not lost in the event of a network interruption during server power-on. If stored in the memory area of ​​the non-volatile storage area, the alarm events are permanently not lost, achieving an efficient caching strategy for a hybrid storage area of ​​volatile and non-volatile storage areas, and preventing the loss of alarm events during network interruptions. On the other hand, when the network is restored, the target alarm events are retrieved from the memory area for transmission to the remote server. During this process, a returned alarm event fingerprint list needs to be received to avoid duplicate transmission by recording the unique fingerprint identifier. At the same time, the target alarm event fingerprint in the received alarm event fingerprint list is compared with the sending queue. If it is not in the sending queue, it needs to be resent to prevent the omission of the target alarm event and realize the recovery transmission of the alarm event when the network is restored, ensuring that the remote server can fully receive the alarm event, so as to improve the fault diagnosis capability of the remote server.

[0104] In some embodiments, the network detection process with the remote server includes:

[0105] Detect the network status of the management controller and the remote server through the dual heartbeat packet detection mechanism;

[0106] When the network status is marked as disconnected, it is determined that the network is disconnected;

[0107] When the network status is marked as recovered, it is determined that the network is recovered.

[0108] Specifically, in this embodiment, a dual heartbeat packet detection mechanism is used to detect the network status between the management controller and the remote server. Bidirectional heartbeat detection can be used, or a heartbeat packet can be set to detect the network connection status between the management controller and the remote server, and a heartbeat packet can be set to detect the receiving port of the remote server. There is no limitation on the two methods.

[0109] If heartbeat detection is performed using the former method, with both the sender and receiver regularly sending heartbeat packets, it effectively avoids misjudgments caused by unidirectional heartbeat packet loss. This mechanism ensures that even in complex network environments, even if heartbeat packets in one direction are lost, heartbeat packets in the other direction can still provide accurate connection status information. Network status can be monitored at short intervals, quickly detecting network disconnections or anomalies. If one end fails to receive the other end's heartbeat packet within the specified time, the fault detection mechanism is triggered, enabling timely action.

[0110] If the latter is used for heartbeat detection, the same network connection status can be determined through different dimensions or different detection points, and the accuracy of heartbeat detection can be improved through multi-dimensional detection.

[0111] If the network status is marked as disconnected, it is determined that the network is disconnected and the process proceeds to step S12 ; if the network status is marked as recovered, it is determined that the network is recovered and the process proceeds to step S13 .

[0112] The dual heartbeat detection mechanism provided in this embodiment can quickly detect the network status while improving the accuracy of detection and judgment, and can also be applied to various network protocols and complex network environments.

[0113] In some embodiments, detecting the network status of the management controller and the remote server using a dual heartbeat packet detection mechanism includes:

[0114] Detecting the network connection status between the management controller and the remote server through a first heartbeat packet detection mechanism;

[0115] Detect the log service running status of the remote log service listening port of the remote server through the second heartbeat packet detection mechanism;

[0116] If responses are received for both the network connection status and the log service operation status, the network status is marked as normal.

[0117] If no response is received in the network connection state or the log service running state, the network state is determined to be marked as disconnected.

[0118] Specifically, the first heartbeat packet detects the network connection status between the two, and the second heartbeat packet detects the listening port of the remote server. If both heartbeat packets receive a response, the network status is marked as normal and everything is transmitted normally. If there is a heartbeat packet that does not receive a response, the network status is marked as disconnected.

[0119] The first heartbeat packet detects the network connection status between the two, and can promptly detect network interruptions, packet loss, or high latency. For example, if the heartbeat packet does not receive a response within the specified time, it can be determined that the network connection may have been interrupted.

[0120] The second heartbeat packet detects the listening port of the remote server. Even if the network connection is normal, a specific service on the remote server may stop listening due to a fault. The second heartbeat packet can promptly detect when the port is unresponsive, avoiding misjudgment of the network connection status.

[0121] This embodiment provides two heartbeat packets, each corresponding to a detection mechanism, to comprehensively determine network status markers, significantly improving the accuracy, speed, and reliability of network status detection. It is applicable to a variety of complex network environments and application scenarios, enabling rapid fault detection, optimized resource utilization, enhanced system fault tolerance, and improved user experience.

[0122] In some embodiments, the first heartbeat packet detection mechanism is implemented by network layer protocol transmission detection; the second heartbeat packet detection mechanism is implemented by transmission control protocol transmission detection.

[0123] Specifically, the protocols used by the two heartbeat packet detection mechanisms may be the same or different. In order to more accurately determine the network status mark, different protocols are set.

[0124] The first heartbeat packet detection mechanism is implemented using network layer protocol transmission detection, which can be the Internet Control Message Protocol (ICMP). It primarily checks the connectivity of network links. It can quickly determine whether the network connection between the local device and the remote device is normal. It is suitable for quickly testing network connectivity. ICMP detection does not rely on upper-layer application protocols and can operate independently of application layer services, allowing rapid detection of network-level problems.

[0125] The second heartbeat packet detection mechanism is implemented using a Transmission Control Protocol (TCP) transport probe. This protocol can be used to detect whether a specific port on a remote server is listening. Even if the network link is functioning properly, a service on the remote server may stop listening due to a fault. TCP heartbeat packets can be used to detect whether the port is responding, thereby determining the availability of the service. TCP is a connection-oriented protocol that provides reliable data transmission and error detection mechanisms, ensuring the sending and receiving of heartbeat packets.

[0126] The two heartbeat packet detection mechanisms provided in this embodiment use different protocols to quickly locate fault points. This dual layer of protection at both the network and transport layers reduces troubleshooting time and improves system availability. Furthermore, network layer detection offers low overhead, while transport layer detection enables on-demand detection, ensuring optimal resource utilization while ensuring effective detection.

[0127] In some embodiments, the process of receiving a response regarding the network connection status and the log service operation status includes:

[0128] Obtaining a first preset sending cycle and a first preset number of times;

[0129] Sending the first heartbeat packet detection mechanism and the second heartbeat packet detection mechanism according to a first preset sending period to obtain a first current sending number;

[0130] When the first current sending number reaches the first preset number and no response is received, obtaining a second preset sending cycle and a second preset number of times, wherein the second preset sending cycle is less than the first preset sending cycle;

[0131] Sending the first heartbeat packet detection mechanism and the second heartbeat packet detection mechanism according to a second preset sending period to obtain a second current sending number;

[0132] If any of the heartbeat packet detection mechanisms fails to send continuously during the second current number of times, the number of consecutive failures is recorded.

[0133] When the number of consecutive sending failures reaches a second preset number, determining that the network status is marked as disconnected;

[0134] When the first current sending number reaches a third preset number and the continuous sending success number reaches a fourth preset number, it is determined that the network status is marked as recovered.

[0135] Specifically, the response receiving process is to first send two heartbeat packet detection mechanisms according to the first preset sending cycle. The sending frequencies of the two heartbeat packet detection mechanisms can be the same or different. In order to facilitate the statistics of heartbeat packet responses, the sending frequencies of the two heartbeat packet detection mechanisms are the same. During the sending process, the first current number of transmissions is counted. When the first current number of transmissions reaches the first preset number of times, both heartbeat packet detection mechanisms have not received a response, which indicates that a problem has occurred in the network during the detection process. In order to further determine whether it is accurate, continue to send with a second preset sending cycle that is less than the first preset sending cycle to obtain the second current number of transmissions. If any of the heartbeat packet detection mechanisms fails to send continuously, it is necessary to record the number of continuous transmission failures. When the second preset number of times is reached, it is necessary to determine that the network status is marked as disconnected. When the first current number of transmissions reaches the third preset number of times and the number of continuous successful transmissions reaches the fourth preset number of times, it is determined that the network status is marked as recovered.

[0136] For example, the network status monitoring module starts running after the BMC is started. It uses a dual heartbeat detection mechanism, one for ICMP detection and the other for scanning the remote log service TCP port. The detection logic is:

[0137] 1. Send ICMP heartbeat packets to detect the network connection with the remote log server;

[0138] 2. Send a TCP probe packet to the remote log service listening port to detect the operation status of the log service;

[0139] 3. The detection packet sending cycle in normal mode is 5 seconds. If no response is received for two consecutive heartbeat packets, the device switches to intensive mode and the sending cycle is changed to 1 second. If any detection fails, the failure count is increased by one. If five consecutive failures occur, the network is marked as disconnected. After confirming the network disconnection, the detection cycle returns from intensive mode to normal mode to avoid resource waste. When both detection modes succeed 10 times in a row, the network status is marked as recovered.

[0140] The specific response process of the heartbeat detection mechanism provided in this embodiment is used to determine different network status marks, thereby improving the accuracy of detection. At the same time, the accuracy of determining the network status mark is improved through the recording process of the response mechanism.

[0141] In some embodiments, storing the untransmitted alarm event in the memory area corresponding to the volatile storage area and the non-volatile storage area includes:

[0142] Storing untransmitted alarm events in a volatile storage area;

[0143] When the storage space of the volatile storage area is smaller than the preset storage space, the untransmitted alarm events that have been written to the volatile storage area are migrated to the non-volatile storage area.

[0144] Specifically, the untransmitted alarm events are first stored in the volatile storage area. Considering the limited storage space of the volatile storage area, when the storage space of the volatile storage area is less than the preset storage space, it is necessary to indicate that the utilization rate of the volatile storage area is low. At this time, the alarm events that have been written to the volatile storage area need to be migrated to the non-volatile storage area to reserve storage space for subsequent alarm events, so as to ensure that the storage utilization rate of the volatile storage area is always maintained at a high utilization rate.

[0145] Regarding the migration of alarm events already written to the volatile storage area to the non-volatile storage area, this can be a portion of the currently written alarm events, or all of them. The portion to be migrated can be determined by the length of time they have been stored in the volatile storage area, or by their priority level. The migration method can be compressed or other methods can be used, given the slow read speed of the non-volatile storage area, and are not limited here.

[0146] The two mitigation storage mechanisms provided in this embodiment first write to the volatile storage area, leveraging the extremely high write speed of the volatile storage area to quickly respond to data write requests. When the storage space in the volatile storage area is less than the preset storage space, the data is migrated to the non-volatile storage area. Alarm events are efficiently read from the volatile storage area, ensuring high utilization of the storage space in the volatile storage area while improving the efficiency of reading alarm events. Dynamic alarm event migration is achieved based on the current storage space usage, improving flexibility.

[0147] In some embodiments, migrating an untransmitted alarm event that has been written to a volatile storage area to a non-volatile storage area includes:

[0148] taking the untransmitted alarm event that has been written to the volatile storage area as the first alarm event;

[0149] Performing data compression processing on the first alarm event to obtain a compressed first alarm event;

[0150] The compressed first alarm event is migrated to a non-volatile storage area.

[0151] Specifically, considering that the non-volatile storage area has a slow reading and writing speed and can store alarm events persistently, the alarm events are compressed when written to the non-volatile storage area. This embodiment does not limit the specific compression mechanism corresponding to the compression processing here, and it can be selected according to actual conditions.

[0152] The first alarm event may be part of the data written into the volatile storage area, or all of the data. It can be set according to actual conditions and is not limited here.

[0153] This embodiment provides that when migrating to the non-volatile storage area, a compression method is used to reduce the amount of data read for the alarm event while improving the reading and writing speed.

[0154] In some embodiments, the cache structure of the volatile storage area is a ring buffer structure;

[0155] When writing to the volatile storage area, the untransmitted alarm events are sequentially written to the data block positions corresponding to the ring buffer structure.

[0156] Specifically, in the ring buffer structure, when the network is interrupted, alarm events generated in real time are received, supporting high-concurrency writing and low-latency reading. The ring buffer structure is a first-in-first-out data structure. When the buffer is full, the conventional technical solution will overwrite the oldest old data with the new alarm event to achieve the recycling of storage space. In this embodiment, when the buffer is about to be full, it will be migrated to the non-volatile storage area. When writing the untransmitted alarm events to the storage area of ​​the ring buffer structure, its ring buffer structure is divided into data block positions of fixed size and written to the corresponding data block positions in sequence.

[0157] This embodiment provides a method of sequentially writing untransmitted alarm events to corresponding data block positions of a ring buffer structure, and achieves low latency and continuous storage through simple pointer movement of read and write operations of the ring buffer, thereby improving the writing efficiency of alarm events.

[0158] In some embodiments, taking the untransmitted alarm event that has been written to the volatile storage area as the first alarm event includes:

[0159] The alarm event written into the data block position of the ring buffer structure is used as the second alarm event;

[0160] Determining the priority level of the second alarm event according to the urgency of the second alarm event;

[0161] The second alarm event corresponding to the first preset priority level is selected as the first alarm event.

[0162] Specifically, in combination with the above embodiments, some alarm events are selected for migration in this embodiment, so how to select some alarm events, all the untransmitted alarm events written to the volatile storage area are used as second alarm events, and the corresponding priority level is determined according to the urgency of the alarm event. The urgency here can be determined by setting a comprehensive value based on the weights corresponding to various factors such as the severity of the alarm event, the scope of impact, and potential consequences, and the corresponding priority level is determined by comparing the size of the comprehensive value.

[0163] Select the second alarm event corresponding to the first preset priority level. The first preset priority level here can be selected from the first few priority levels. The first few here can be set according to actual conditions.

[0164] The first alarm event provided in this embodiment is determined based on the priority level of the alarm event to ensure that alarm events with high priority levels are persistently stored to avoid loss.

[0165] In some embodiments, obtaining a target alarm event in a memory area includes:

[0166] Determining a current second alarm event corresponding to a plurality of priority levels stored in a current volatile storage area;

[0167] Determining a current first alarm event corresponding to a plurality of priority levels stored in a current non-volatile storage area;

[0168] A target alarm event is selected from the current first alarm event and the current second alarm event based on a second preset priority level.

[0169] Specifically, the target alarm event is obtained in the memory area. In combination with the above embodiment, it is mentioned that there are multiple memory areas (volatile storage area and non-volatile storage area). How to obtain it can be determined according to the priority level. In the above embodiment, it is mentioned that the alarm events with high priority levels have been migrated to the non-volatile storage area, but the premise of migration is that the migration occurs when the storage space of the volatile storage area is small. The current storage process may involve the storage of newly received but not transmitted alarm events in the volatile storage area, and the priority level will be higher than the priority level of the alarm events stored in the non-volatile storage area. Therefore, in this case, a comprehensive judgment is required.

[0170] The priority levels corresponding to all alarm events in each memory area are sorted, and a target alarm event is selected based on a second preset priority level.

[0171] This embodiment provides a method for selecting target alarm events from the priority levels corresponding to all alarm events in each memory area based on the second preset priority level to ensure that alarm events with higher priority levels are transmitted first when the network is subsequently restored, and to ensure that the alarm events are transmitted to the remote server for timely diagnosis.

[0172] In some embodiments, selecting a target alarm event based on a second preset priority level from the current first alarm event and the current second alarm event includes:

[0173] Sort the priority levels corresponding to the current first alarm event and the current second alarm event respectively;

[0174] generating a sending queue for the sorted alarm events according to a second preset priority level;

[0175] The target alarm event is obtained by reading the storage area of ​​the sorted alarm events in the sending queue.

[0176] In combination with the above embodiment, the second preset priority level is the priority level after the priority levels of all alarm events are sorted to generate a sending queue.

[0177] The second preset priority level provided in this embodiment is set based on the priority levels of all alarm events, making the generation process of the transmission queue simple and fast. Only the priority level determined by the urgency of the alarm event is read to achieve the fastest transmission of the alarm event.

[0178] In some other embodiments, selecting a target alarm event based on a second preset priority level from the current first alarm event and the current second alarm event includes:

[0179] sorting the priority levels corresponding to the current first alarm event and the current second alarm event respectively to serve as the first sorted alarm event;

[0180] Determine storage times corresponding to the current first alarm event and the current second alarm event, respectively, and sort the current first alarm event and the current second alarm event according to the storage times to serve as second sorted alarm events;

[0181] Determining a final third alarm event according to the first sorted alarm events and the second sorted alarm events;

[0182] generating a sending queue for the third alarm event according to the second preset priority level;

[0183] The target alarm event is obtained by reading from the storage area of ​​the third alarm event in the sending queue.

[0184] Specifically, in addition to the priority level determined by the urgency of the alarm event, the alarm storage time is also added to characterize the severity of the alarm event based on the urgency. The storage time represents the duration of the alarm event or the length of its history. A short-term alarm occurs recently and lasts for a short time. A long-term alarm lasts for a long time and may indicate a more serious or difficult-to-solve problem.

[0185] In this embodiment, a final third alarm event is determined based on the first ranked alarm events and the second ranked alarm events. This can be determined comprehensively using a priority matrix or by weighting to determine a corresponding comprehensive value. A second preset priority level is selected based on the comprehensive value to generate a sending queue.

[0186] This embodiment provides a more accurate determination of the priority level of an alarm event based on the urgency and storage time of the alarm event, thereby improving the efficiency and accuracy of alarm management and ensuring that key issues can be addressed in a timely manner.

[0187] In some embodiments, when a target alarm event is acquired in a non-volatile storage area, the target alarm event is transmitted to a remote server, including:

[0188] Decompressing the target alarm event to obtain a decompressed target alarm event;

[0189] The decompressed target alarm event is divided into blocks to obtain block data;

[0190] The block data is compressed and sent to a remote server; wherein the compression processing method of the block data is different from the compression processing method of the data of the first alarm event.

[0191] Specifically, in combination with the above embodiments, considering that the alarm events migrated to the non-volatile storage area are stored after compression processing, the target alarm events need to be decompressed during this process. The decompression processing method here matches the compression processing method in the above embodiments. There is no limitation on the decompression algorithm, and it can be used according to actual conditions.

[0192] The decompressed target alarm event is divided into blocks to obtain block data. The block data division here is to prevent too many alarm events from being transmitted in a single time, which will slow down the transmission process and cause omissions. Therefore, the number of alarm events sent in each batch is limited. The block data is compressed and sent to the remote server. The compression processing here is different from the data compression processing method of the first alarm event mentioned above. It takes into account the transmission factors involved in the link during the transmission process. Other compression methods can be selected and compression can be performed according to the actual situation.

[0193] During the transmission process, the target alarm event can be encrypted, and the payload part can be encrypted using an encryption algorithm to improve the security of data transmission.

[0194] The present embodiment provides a block-based compression transmission process, which reduces the amount of data, improves transmission efficiency, and reduces network load. Compression significantly improves data transmission efficiency and avoids network congestion and delays.

[0195] In some embodiments, the process of determining the target alarm event fingerprint includes:

[0196] The target alarm event is processed according to a hash algorithm to obtain a corresponding event fingerprint, so as to encapsulate the event fingerprint and the target alarm event in a data structure.

[0197] Specifically, the generation of alarm events is based on the monitored hardware failures, and nanosecond timestamps, event levels, device unique identifiers, event codes, and detailed descriptions of the alarm events are added to generate structured event data.

[0198] The structured event data looks like this:

[0199] {

[0200] "timestamp": 1718000000123456, / / nanosecond timestamp;

[0201] "severity": "CRITICAL", / / event level;

[0202] "device_id": "SVR-Node-01", / / device unique identifier;

[0203] "event_code": 0x1A3B, / / IPMI standard event code;

[0204] "payload": "CPU1 Temp=98℃" / / Detailed description of the alarm event;

[0205] }.

[0206] A unique event fingerprint is generated based on the hash algorithm to encapsulate the event fingerprint and target alarm event in a data structure. The specific structure is as follows:

[0207] typedef struct{

[0208] char fingerprint

[65] ; / / 64-bit SHA-256 string + terminator;

[0209] uint8_t event_data

[1024] ; / / Original event content;

[0210] uint8_t transmission_flag; / / 0 = not sent, 1 = sent pending confirmation, 2 = confirmed;

[0211] }cached_event_t.

[0212] The target alarm event fingerprint provided in this embodiment is determined using a hash algorithm and is used to verify whether data has been tampered with during transmission or storage, maintaining data consistency and preventing data tampering. Each alarm event has a unique fingerprint, facilitating tracking and management.

[0213] In some embodiments, migrating the compressed first alarm event to a non-volatile storage area includes:

[0214] Obtaining blocks corresponding to multiple sectors of a non-volatile storage area;

[0215] The compressed first alarm event is written sequentially according to blocks of multiple sectors to complete the migration.

[0216] Specifically, non-volatile storage areas are stored in sectors, with a sector typically being 512 bytes or 4096 bytes (4KB). Applications or operating systems access storage devices using logical block addresses (LBAs). Storage devices use physical addresses to manage the actual storage location of data. Storage devices (such as SSDs) maintain a mapping table that maps logical addresses to physical addresses. When data is written, the mapping table is updated to reflect the actual storage location of the data. The operating system or application initiates a write request, specifying the data to be written and the target logical address. The storage device controller searches the mapping table to determine the physical address corresponding to the target logical address. If the block where the target physical address is located is free, the data is written directly to the target page.

[0217] Considering that if writing is performed in one sector, when the first alarm event after compression is written, only this sector will be written, resulting in higher wear, so in order to balance to other sectors, this embodiment completes the migration by writing in blocks of multiple sectors in turn.

[0218] The compressed first alarm event provided in this embodiment is written sequentially according to the migration process of blocks of multiple sectors, and its writing operation is dispersed to different physical blocks, thereby achieving wear leveling and extending the service life.

[0219] In some embodiments, resending the target alarm event includes:

[0220] The priority level of the target alarm event is increased so that it reaches the highest priority level in the next sending queue for resending.

[0221] Specifically, if the packet is not in the send queue, it needs to be resent. At this time, it needs to be marked as sent and awaiting confirmation. The unconfirmed target alarm event is re-added to the send queue, with a higher priority, awaiting the next retransmission. In addition, by setting the mark, breakpoint resumability is supported, so that if the network is disconnected again, the transmission can be continued from the last successful transmission point.

[0222] The data structure of the send queue is as follows:

[0223] typedef struct{

[0224] cached_event_t events; / / event pointer array;

[0225] uint32_t queue_size; / / Current queue length;

[0226] uint32_t next_index; / / next position to be sent;

[0227] }retransmission_queue_t.

[0228] This embodiment provides for increasing the priority level of the target alarm event and resending it in the next sending queue with the highest priority level, so as to avoid omission in the next sending process and improve the reliability of transmission.

[0229] Figure 2 A flowchart of another method for processing an alarm event provided by an embodiment of the present invention is shown in FIG. Figure 2 As shown, the steps include:

[0230] S21: alarm event generation;

[0231] S22: Check whether the network is normal. If so, proceed to step S23; if not, proceed to step S24;

[0232] S23: Upload the alarm event in real time;

[0233] S24: Encode the alarm event;

[0234] S25: Writing the encoded alarm event into the ring buffer;

[0235] S26: Determine whether the storage space of the ring buffer is less than the preset storage space; if not, proceed to step S27; if so, proceed to step S28;

[0236] S27: Waiting for the next alarm event;

[0237] S28: Starting the compression mechanism to compress the alarm event to obtain a compressed alarm event;

[0238] S29: Migrate the compressed alarm event to the non-volatile storage area;

[0239] S30: When the network is restored, the alarm events in the ring buffer corresponding to the non-volatile storage area and the volatile storage area are sorted by priority, and the target alarm event with the highest priority is selected;

[0240] S31: Transmit the target alarm event in blocks to the remote server.

[0241] Furthermore, the present invention also provides a transmission system for alarm events. Figure 3 A structural diagram of a transmission system for an alarm event provided by an embodiment of the present invention, such as Figure 3 As shown, it includes a management controller and a remote server; the management controller and the remote server are connected via a network;

[0242] The management controller is used to execute the steps of the above-mentioned method for processing alarm events to transmit the alarm events to a remote server.

[0243] For an introduction to the alarm event transmission system provided by the present invention, please refer to the above method embodiment, and the present invention will not be described in detail here. It has the same beneficial effects as the above alarm event processing method.

[0244] The above describes in detail various embodiments corresponding to the method for processing an alarm event. On this basis, the present invention also discloses an alarm event processing device corresponding to the above method. Figure 4 This is a structural diagram of an alarm event processing device provided by an embodiment of the present invention. Figure 4 As shown, the alarm event processing equipment includes:

[0245] A partitioning module 11 is used to pre-partition the management controller from the server memory area into a volatile storage area and a non-volatile storage area;

[0246] The receiving module 12 is used to receive the untransmitted alarm event when a network interruption with the remote server is detected, and store it in the memory area corresponding to the volatile storage area and the non-volatile storage area;

[0247] The transmission module 13 is used to obtain the target alarm event in the memory area and transmit it to the remote server when the network is restored, so as to receive the returned alarm event fingerprint list;

[0248] The sending module 14 is configured to resend the target alarm event if the target alarm event fingerprint in the alarm event fingerprint list is not in the sending queue of the management controller.

[0249] Since the embodiments of the device part correspond to the above embodiments, the embodiments of the device part please refer to the description of the embodiments of the method part, and will not be repeated here.

[0250] For an introduction to an alarm event processing device provided by the present invention, please refer to the above method embodiment, and the present invention will not be described in detail here. It has the same beneficial effects as the above alarm event processing method.

[0251] Figure 5 A structural diagram of a device for processing an alarm event provided by an embodiment of the present invention, such as Figure 5 As shown, the device includes:

[0252] Memory 21, for storing computer programs;

[0253] The processor 22 is configured to implement the steps of the method for processing an alarm event when executing a computer program.

[0254] The alarm event processing device provided in this embodiment may include but is not limited to a smart phone, a tablet computer, a laptop computer, or a desktop computer.

[0255] The processor 22 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 22 may be implemented in at least one of the following hardware forms: a digital signal processor (DSP), a field-programmable gate array (FPGA), or a programmable logic array. The processor 22 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 22 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 22 may also include an artificial intelligence (AI) processor, which is responsible for processing computing operations related to machine learning.

[0256] The memory 21 may include one or more computer-readable storage media, which may be non-transitory. The memory 21 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 21 is at least used to store the following computer program 211, wherein, after the computer program is loaded and executed by the processor 22, it can implement the relevant steps of the method for handling alarm events disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 21 may also include an operating system 212 and data 213, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 212 may include Windows, Unix, Linux, etc. The data 213 may include but is not limited to data involved in the method for handling alarm events, etc.

[0257] In some embodiments, the alarm event processing device may further include a display screen 23 , an input / output interface 24 , a communication interface 25 , a power supply 26 , and a communication bus 27 .

[0258] Those skilled in the art will understand that Figure 5 The structure shown in the figure does not constitute a limitation on the device for processing alarm events, and may include more or fewer components than shown in the figure.

[0259] The processor 22 implements the method for processing the alarm event provided by any of the above embodiments by calling the instructions stored in the memory 21 .

[0260] For an introduction to an alarm event processing device provided by the present invention, please refer to the above method embodiment, and the present invention will not be described in detail here. It has the same beneficial effects as the above alarm event processing method.

[0261] Furthermore, the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by the processor 22, the steps of the method for processing the alarm event as described above are implemented.

[0262] It is understood that if the methods in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods in each embodiment of the present invention. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0263] For an introduction to a computer-readable storage medium provided by the present invention, please refer to the above method embodiment, which will not be described in detail herein. The computer-readable storage medium has the same beneficial effects as the above method for processing alarm events.

[0264] Furthermore, the present invention also provides a computer program product, including a computer program / instruction, which implements the steps of the method for processing an alarm event when executed by a processor.

[0265] For an introduction to a computer program product provided by the present invention, please refer to the above method embodiment, which will not be described in detail herein. The computer program product has the same beneficial effects as the above alarm event processing method.

[0266] The above is a detailed introduction to the alarm event processing method, transmission system, processing device, medium and product provided by the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, the present invention can also be improved and modified in several ways, and these improvements and modifications also fall within the scope of protection of the present invention.

[0267] It should also be noted that, in this specification, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.

Claims

1. A method for processing an alarm event, characterized in that: include: Pre-dividing the management controller into a volatile storage area and a non-volatile storage area from the server memory area; When a network interruption with a remote server is detected, untransmitted alarm events are received and stored in memory areas corresponding to the volatile storage area and the non-volatile storage area; wherein, the network status corresponding to the management controller and the remote server is detected by a dual heartbeat packet detection mechanism, and the network connection status of the management controller and the remote server is detected by a first heartbeat packet detection mechanism; and the log service operation status of the remote log service listening port of the remote server is detected by a second heartbeat packet detection mechanism; When the network is restored, the target alarm event is obtained in the memory area and transmitted to the remote server to receive a returned alarm event fingerprint list; wherein the acquisition process is read according to the order of storage and / or set according to the urgency of the alarm event; when storing according to the urgency, all alarm events in the memory area are compared and the alarm event with the highest priority level is found for acquisition; If the target alarm event fingerprint in the alarm event fingerprint list is not in the sending queue of the management controller, the target alarm event is resent to ensure that the alarm event is not transmitted repeatedly or missed.

2. The method for processing an alarm event according to claim 1, wherein: Store untransmitted alarm events in the memory areas corresponding to the volatile storage area and the non-volatile storage area, including: Storing untransmitted alarm events in a volatile storage area; When the storage space of the volatile storage area is smaller than the preset storage space, the untransmitted alarm events that have been written into the volatile storage area are migrated to the non-volatile storage area.

3. The method for processing an alarm event according to claim 2, wherein: Migrating the untransmitted alarm events that have been written to the volatile storage area to the non-volatile storage area includes: taking the untransmitted alarm event that has been written to the volatile storage area as a first alarm event; Performing data compression on the first alarm event to obtain a compressed first alarm event; Migrating the compressed first alarm event to the non-volatile storage area.

4. The method for processing an alarm event according to claim 2, wherein: The cache structure of the volatile storage area is a ring buffer structure; When writing into the volatile storage area, the untransmitted alarm events are sequentially written into the data block positions corresponding to the ring buffer structure.

5. The method for processing an alarm event according to claim 4, characterized in that: The method further comprises: taking the untransmitted alarm event that has been written to the volatile storage area as the first alarm event; Using the alarm event written into the data block position of the ring buffer structure as the second alarm event; Determining a priority level of the second alarm event according to the urgency of the second alarm event; A second alarm event corresponding to the first preset priority level is selected as the first alarm event.

6. The method for processing an alarm event according to claim 5, characterized in that: Obtaining a target alarm event in the memory area includes: Determining a current second alarm event corresponding to a plurality of priority levels stored in a current volatile storage area; Determining a current first alarm event corresponding to a plurality of priority levels stored in a current non-volatile storage area; A target alarm event is selected from the current first alarm event and the current second alarm event based on a second preset priority level.

7. The method for processing an alarm event according to claim 6, characterized in that: Selecting a target alarm event from the current first alarm event and the current second alarm event based on a second preset priority level includes: Sort the priority levels corresponding to the current first alarm event and the current second alarm event respectively; generating a sending queue for the sorted alarm events according to the second preset priority level; The target alarm event is obtained by reading from a storage area of ​​the sorted alarm events in the sending queue.

8. The method for processing an alarm event according to claim 6, characterized in that: Selecting a target alarm event from the current first alarm event and the current second alarm event based on a second preset priority level includes: sorting the priority levels corresponding to the current first alarm event and the current second alarm event respectively to serve as the first sorted alarm event; Determining storage times corresponding to the current first alarm event and the current second alarm event, respectively, and sorting the current first alarm event and the current second alarm event according to the storage times to serve as second sorted alarm events; Determining a final third alarm event according to the alarm events after the first sorting and the alarm events after the second sorting; generating a sending queue for the third alarm event according to the second preset priority level; The target alarm event is obtained by reading from the storage area of ​​the third alarm event in the sending queue.

9. The method for processing an alarm event according to claim 3, wherein: When the target alarm event is acquired in the non-volatile storage area, the target alarm event is transmitted to the remote server, including: Decompressing the target alarm event to obtain a decompressed target alarm event; Divide the decompressed target alarm event into blocks to obtain block data; The block data is compressed and sent to the remote server; wherein the compression processing method of the block data is different from the data compression processing method of the first alarm event.

10. The method for processing an alarm event according to claim 3, wherein: Migrating the compressed first alarm event to the non-volatile storage area includes: Acquire blocks corresponding to multiple sectors of the non-volatile storage area; The compressed first alarm event is written sequentially according to blocks of multiple sectors to complete the migration.

11. The method for processing an alarm event according to claim 1, wherein: The network detection process with the remote server includes: When the network status is marked as disconnected, determining that the network is disconnected; When the network status is marked as recovered, it is determined that the network is recovered.

12. The method for processing an alarm event according to claim 11, characterized in that: The process of determining the network status mark includes: If responses are received for both the network connection status and the log service operation status, the network status is determined to be normal; If no response is received in the network connection state or the log service running state, the network state is determined to be marked as disconnected.

13. The method for processing an alarm event according to claim 12, characterized in that: The process of receiving a response to the network connection status and the log service operation status includes: Obtaining a first preset sending cycle and a first preset number of times; Sending the first heartbeat packet detection mechanism and the second heartbeat packet detection mechanism according to a first preset sending period to obtain a first current sending number; When the first current sending number reaches the first preset number and no response is received, obtaining a second preset sending cycle and a second preset number of times, wherein the second preset sending cycle is less than the first preset sending cycle; Sending the first heartbeat packet detection mechanism and the second heartbeat packet detection mechanism according to the second preset sending period to obtain a second current sending number; If any of the heartbeat packet detection mechanisms fails to send continuously during the second current number of transmissions, the number of consecutive transmission failures is recorded; When the number of consecutive sending failures reaches a second preset number, determining that the network status is marked as disconnected; When the first current sending number reaches a third preset number and the continuous sending success number reaches a fourth preset number, it is determined that the network status is marked as recovered.

14. The method for processing an alarm event according to claim 12, wherein: The first heartbeat packet detection mechanism is implemented by network layer protocol transmission detection; the second heartbeat packet detection mechanism is implemented by transmission control protocol transmission detection.

15. The method for processing an alarm event according to claim 1, wherein: The process of determining the target alarm event fingerprint includes: The target alarm event is processed according to a hash algorithm to obtain a corresponding event fingerprint, so as to encapsulate the event fingerprint and the target alarm event in a data structure.

16. The method for processing an alarm event according to claim 1, characterized in that: Resending the target alarm event includes: The priority level of the target alarm event is increased to reach the highest priority level in the next sending queue for resending.

17. A transmission system for alarm events, characterized in that: It includes a management controller and a remote server; the management controller and the remote server are connected via a network; The management controller is used to execute the steps of the method for processing alarm events according to any one of claims 1 to 16 above, so as to transmit the alarm events to the remote server.

18. A device for processing an alarm event, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the method for processing an alarm event according to any one of claims 1 to 16 when executing the computer program.

19. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for processing an alarm event according to any one of claims 1 to 16 are implemented.

20. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the method for processing an alarm event according to any one of claims 1 to 16 are implemented.

Citation Information

Patent Citations

  • Alarm recovery message reporting method

    CN101159634A

  • Alarm grading method, device and equipment and readable storage medium

    CN117421188A

  • Event log management method, device and equipment and readable storage medium

    CN118487924A

  • BMC (Baseboard Management Controller) management alarm event processing method and device, equipment and medium

    CN118740583A

  • Network system event protection method and system

    CN119743369A