Method, device and system for determining equipment for waking up server and medium

By obtaining and analyzing the status information of candidate devices, determining the wake-up cause and analyzing the cause, the problem of difficulty in determining the wake-up device caused by complex server design is solved, and fast and accurate fault location is achieved.

CN120029809APending Publication Date: 2025-05-23INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510237567.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

When the server design is complex and multiple devices are connected, it is difficult to determine the specific device that wakes the server, resulting in a difficult fault location for abnormal wake-up.

Method used

By obtaining the device status information and initial status information of the candidate device, the interrupt information is determined, and the wake-up reason is determined based on the interrupt information and initial status information, and the cause is analyzed and the target device is determined from the candidate device.

Benefits of technology

It realizes the rapid and accurate determination of the devices that cause the server to wake up, reducing the difficulty of fault location caused by abnormal wake-up of the server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120029809A_ABST
    Figure CN120029809A_ABST
Patent Text Reader

Abstract

The invention provides a method, a device and a system for determining equipment for waking up a server, and a medium, which can be applied to the technical field of servers. The method comprises the steps that device state information and initial state information of candidate devices are acquired, the device state information represents the device state of the candidate devices in the process of waking up a server in response to a server wakeup request, and the initial state information represents the device state of the candidate devices after initialization is completed in response to the server wakeup request; determining interruption information from the equipment state information; determining an awakening reason according to the interruption information and the initial state information; the wake-up reason is analyzed, target equipment corresponding to the wake-up reason is determined from the candidate equipment, and the target equipment represents equipment for waking up the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server technology, and in particular to a method, device, system and medium for determining a device for waking up a server. Background Art

[0002] With the rapid development of the Internet, data centers support more and more types of servers. At the same time, the functions of servers are becoming more and more numerous and complete, and the requirements for matching customer needs are also getting higher and higher. Among them, customers' demands for the stability of the wake-up function of the server system and the monitoring function of the wake-up device are also getting higher and higher.

[0003] In the process of implementing the present application, the inventor discovered the complexity and particularity of server design in the related art. Most servers are connected to multiple high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIe) devices through slots. Since the wake-up signals of multiple PCIE devices are connected together, it is difficult to determine which PCIe device caused the server to wake up, making it difficult to locate the abnormal PCIe device. Summary of the invention

[0004] In view of the above problems, the present application provides a method, apparatus, system and medium for determining a device for waking up a server.

[0005] According to the first aspect of the present application, a method for determining a device for waking up a server is provided, comprising: obtaining device status information and initial status information of a candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to a server wake-up request, and the initial status information represents the device status of the candidate device after completing initialization in response to the server wake-up request; determining interrupt information from the device status information; determining a wake-up cause based on the interrupt information and the initial status information; parsing the wake-up cause, and determining a target device corresponding to the wake-up cause from the candidate devices, wherein the target device represents the device for waking up the server.

[0006] According to an embodiment of the present application, determining a wake-up reason according to interrupt information and initial state information includes: determining a first wake-up reason corresponding to the interrupt information according to the interrupt information, wherein the first wake-up reason represents the wake-up reason obtained by analyzing the interrupt information using a basic input / output system; and determining the wake-up reason by comparing the first wake-up reason and the second wake-up reason based on a device comparison result obtained by comparing the interrupt information with the initial state information, wherein the second wake-up reason represents the wake-up reason obtained by analyzing the interrupt information using an interrupt controller.

[0007] According to an embodiment of the present application, determining a first wake-up reason corresponding to the interruption information based on the interruption information includes: determining first log information corresponding to the interruption information, wherein the first log information includes a log recorded during the analysis of the interruption information using a basic input and output system; determining the first wake-up reason corresponding to the interruption information based on the first log information and preset field information.

[0008] According to an embodiment of the present application, based on a device comparison result obtained by comparing the interrupt information and the initial state information, the first wake-up reason and the second wake-up reason are compared to determine the wake-up reason, including: determining second log information corresponding to the interrupt information, wherein the second log information includes a log recorded during the analysis of the interrupt information using the interrupt controller; determining the second wake-up reason corresponding to the interrupt information based on the second log information and preset field information; when the device comparison result indicates that the device state information is consistent with the initial state information, comparing the first wake-up reason and the second wake-up reason to determine the wake-up reason.

[0009] According to an embodiment of the present application, the wake-up reason is parsed and a target device corresponding to the wake-up reason is determined from candidate devices, including: parsing the wake-up reason to determine the device number of the target device; and determining the target device corresponding to the wake-up reason from candidate devices based on the device number.

[0010] According to an embodiment of the present application, the wake-up reason is parsed to determine the device number of the target device, including: parsing the wake-up reason to obtain third log information, wherein the third log information is used to record the parsing result obtained by parsing the wake-up reason; and determining the device number of the target device based on the third log information.

[0011] According to an embodiment of the present application, the above-mentioned device determination method for waking up the server also includes: determining a device link related to the target device according to the target device; and determining fault location information according to the device link.

[0012] A second aspect of the present application provides a device for determining a device for waking up a server, comprising: an acquisition module, a first determination module, a second determination module and a parsing module.

[0013] The acquisition module is used to obtain device status information and initial status information of the candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to the server wake-up request, and the initial status information represents the device status of the candidate device after completing initialization in response to the server wake-up request.

[0014] The first determining module is used to determine the interruption information from the device status information.

[0015] The second determination module is used to determine the wake-up reason according to the interruption information and the initial state information.

[0016] The parsing module is used to parse the wake-up reason and determine the target device corresponding to the wake-up reason from the candidate devices, wherein the target device represents the device that wakes up the server.

[0017] The third aspect of the present application provides a device determination system for waking up a server, the system comprising: an interrupt controller, used to monitor device status information of candidate devices; a basic input and output system, used to obtain device status information and initial status information of candidate devices, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to a server wake-up request, and the initial status information represents the device status of the candidate device after initialization is completed in response to the server wake-up request; a baseboard management controller, used to determine interrupt information from the device status information, parse the wake-up reason determined according to the interrupt information and the initial status information, determine the target device corresponding to the wake-up reason from the candidate devices, and configure the interrupt controller, wherein the target device represents the device that wakes up the server.

[0018] The fourth aspect of the present application provides an electronic device, comprising: one or more processors; a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.

[0019] The fifth aspect of the present application also provides a computer-readable storage medium on which a computer program or instruction is stored, and the steps of the above method are implemented when the above computer program or instruction is executed by a processor.

[0020] The sixth aspect of the present application also provides a computer program product, including a computer program or instructions, which implement the steps of the above method when the above computer program or instructions are executed by a processor.

[0021] According to the device determination method for waking up the server provided in the present application, by determining the interruption information from the device status information of the acquired candidate device, and based on the interruption information and the initial status information, the wake-up cause can be determined, and then the wake-up cause can be analyzed. The target device corresponding to the wake-up cause can be determined from multiple candidate devices, thereby realizing the device determination for server wake-up and reducing the difficulty of locating faults caused by abnormal server wake-up. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The above contents and other purposes, features and advantages of the present application will become more apparent through the following description of the embodiments of the present application with reference to the accompanying drawings, in which:

[0023] Figure 1Schematically shows a structural block diagram of a device determination system for server wake-up in the related art;

[0024] Figure 2 The following schematically shows a monitoring logic diagram of a wake-up signal in a server shutdown state in the related art;

[0025] Figure 3A An example diagram schematically shows a method for determining a device to be woken up by a server in the related art;

[0026] Figure 3B A diagram schematically shows an example of another method for determining a device to be woken up by a server in the related art;

[0027] Figure 4 A schematic diagram showing an application scenario of a method for determining a device for waking up a server according to an embodiment of the present application;

[0028] Figure 5 A flowchart of a method for determining a device for waking up a server according to an embodiment of the present application is schematically shown;

[0029] Figure 6 A schematic diagram of monitoring logic of a wake-up signal of a server in a shutdown state according to an embodiment of the present application is shown;

[0030] Figure 7 A structural block diagram of a device for waking up a server according to an embodiment of the present application is schematically shown;

[0031] Figure 8 A structural block diagram of a device determination system for waking up a server according to an embodiment of the present application is schematically shown; and

[0032] Fig. 9 A block diagram of an electronic device suitable for implementing a device determination method for waking up a server according to an embodiment of the present application is schematically shown. DETAILED DESCRIPTION

[0033] Below, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present application. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present application. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present application.

[0034] The terms used herein are only for describing specific embodiments and are not intended to limit the present application. The terms "include", "comprising", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0035] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0036] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0037] In the technical solution of the present application, the user information (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with relevant laws, regulations and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0038] In the process of implementing this application, it is found that with the rapid development of the Internet, the types of servers supported by data centers are increasing, and the functions of servers are also increasing and perfect, matching customer needs more and more. Especially with the popularity of artificial intelligence (AI), AI server models are particularly outstanding, and graphics processing unit (GPU) configurations dominate the mainstream. Among them, customer requirements for the stability of the wake-up function of the server system and the monitoring function of the wake-up device are also increasing. In a data center or enterprise environment, the server may need to be woken up or remotely managed regularly according to business needs. In related technologies, server wake-up is mainly achieved through a network adapter (Wake-on-LAN, WOL) or a baseboard management controller (Baseboard Management Controller, BMC). The BMC receives remote commands through protocols such as the Intelligent Platform Management Interface (IPMI) to wake up the server, because these methods allow remote management. The stability of the wake-up function of the server system and the monitoring requirements of the wake-up device are mainly achieved by the monitoring of the server operating system itself. In addition, the server is equipped with a data processing unit (DPU) package, which results in the server having no local operating system, making it difficult to ensure the stability and reliability of the server's data and functions. In addition, due to the complexity and particularity of server design, the wake-up signals of most servers are connected together. The wake-up signal may malfunction due to individual PCIE devices, cable abnormalities, foreign objects, and other scenarios, causing the server to wake up abnormally, which also greatly affects the operation and stability.

[0039] In addition, the device determination method for waking up the server in the related art mainly includes checking the basic input / output system settings, checking the system log, using hardware monitoring tools, disabling device testing, physical inspection, and checking using software tools. Among them, checking the basic input / output system settings is to enter the input / output system settings, check the power management options, and confirm whether a specific device is set to allow waking up the server. Checking the system log is to check the system log, such as Windows Event Viewer, Linux dmesg log, etc., to find relevant records of wake-up events. Using hardware monitoring tools is to use hardware monitoring tools, such as IPMI, server management software, etc. to monitor system wake-up events. Disabling device testing is to disable the wake-up function of the device suspected of causing the server to wake up in the Basic Input / Output System (BIOS), and then retest whether it will still be woken up. Physical inspection is to disconnect the device suspected of causing the server to wake up. If the server is not woken up, it may be caused by the device. Checking using software tools is to check the wake-up settings of the device by using special power management software or command line tools, such as ethtool to check the WOL settings of the network adapter. Although there are a variety of methods for determining the device that wakes up the server in the related art, the operation process is relatively complicated and it is difficult to quickly and accurately determine the device that causes the server to wake up.

[0040] Figure 1 The structural block diagram of the device determination system for server wake-up in the related art is schematically shown.

[0041] like Figure 1 As shown, the server includes a central processing unit (CPU). When the central processing unit is awakened, it can be characterized that the server is awakened. The central processing unit CPU is electrically connected to the platform controller hub (Platform Controller Hub, PCH), the platform controller hub is electrically connected to the resistor R1, the resistor R2 is electrically connected to the power supply 3V3, and the X PCIe devices connected to the server are each electrically connected to the resistor R1 and the resistor R2 through a resistor. For example, the first PCIe device is electrically connected to the resistor R1 and the resistor R2 through the resistor R3. Figure 1In the example, the PCIe device is connected to the PCH through different pins to transmit the wake-up signal. For example, the PCIe device is a network card, which has a dedicated pin responsible for outputting the wake-up signal, as shown in Table 1 below, which is directly connected to the corresponding receiving pin of the PCH to ensure that the wake-up signal can be accurately transmitted. When the PCIe device has a wake-up requirement, such as when the network card receives a specific network wake-up packet, its internal wake-up logic circuit will be activated to generate a wake-up signal. This signal is usually a level change signal, which changes from a low level to a high level or vice versa, indicating a wake-up request. The wake-up signal starts from the PCIe device and is transmitted to the PCH through a hardware connection. There is a dedicated signal detection circuit inside the PCH to continuously monitor the signal status of these pins. When a signal change that meets the wake-up condition is detected, the PCH will identify it as a valid wake-up request. After the PCH receives the wake-up signal, it will trigger a series of internal operations, such as sending a wake-up interrupt to the CPU to notify the server that a device has requested to wake up. After receiving the interrupt, the server executes the corresponding wake-up program, initializes and configures the PCIe device, and restores the server from a low-power state to a normal operating state.

[0042] Table 1 Pins and function descriptions of PCIe devices in related technologies

[0043]

[0044]

[0045] Figure 2 The figure schematically shows a monitoring logic diagram of a wake-up signal of a server in a shutdown state in the related art.

[0046] like Figure 2 As shown, the monitoring logic of the wake-up signal in the server shutdown state in the related art includes operations S210 to S250.

[0047] In operation S210, it is determined whether the PCH detects a wake-up signal. If yes, operation S220 is performed. If no, operation S210 is performed in a loop.

[0048] In operation S220, it is determined whether the PCH generates an interrupt, and if so, operation S230 is performed, and if not, operation S220 is performed in a loop.

[0049] In operation S230, an interrupt service routine in the BIOS is called to process the interrupt.

[0050] In operation S240, the BIOS checks the source of the wake-up signal and decides how to respond to determine the wake-up cause.

[0051] In operation S250, a wake-up operation is performed.

[0052] In the related art, when the server is in the shutdown state, most of the hardware will be powered off, and the PCH will maintain partial power in order to monitor the wake-up signal. When the PCH detects a change in the pin configured as the wake-up signal, the PCH will try to wake up the server. First, the PCH detects whether the server is allowed to be woken up from the shutdown state. If allowed, the PCH will start the wake-up process, for example, start supplying power to the hardware. When the hardware is powered, the basic input and output system will reinitialize the hardware and check the wake-up reason based on the fixed hardware event status register of ACPI. The basic input and output system performs corresponding operations according to the wake-up reason, for example, restoring the server or entering diagnostic mode.

[0053] Figure 3A The figure schematically shows an example of a method for determining a device for waking up a server in the related art. Figure 3B The following is a schematic diagram showing an example of another method for determining a device for waking up a server in the related art.

[0054] like Figure 3A As shown in the figure, the server can be connected to the PCIe device through a cable. In this example, the wake-up signal of the server cable is short-circuited to the ground, causing the server to fail to shut down. That is, the server will automatically wake up and start up after shutting down. It is difficult to determine which link and which PCIe device caused the abnormal wake-up. By measuring the signal and locating it with a multimeter, it is determined that it is due to Figure 3B The presence of dust on the gold finger shown causes abnormal wake-up. In the related art, troubleshooting and locating the fault by measuring signals and positioning with a multimeter is time-consuming and labor-intensive, affecting the user experience.

[0055] In view of this, an embodiment of the present application provides a method for determining a device for waking up a server, including: obtaining device status information and initial status information of a candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to a server wake-up request, and the initial status information represents the device status of the candidate device after completing initialization in response to the server wake-up request; determining interrupt information from the device status information; determining the wake-up cause based on the interrupt information and the initial status information; parsing the wake-up cause, and determining a target device corresponding to the wake-up cause from the candidate devices, wherein the target device represents the device that wakes up the server.

[0056] Figure 4 An application scenario diagram of a method for determining a device for waking up a server according to an embodiment of the present application is schematically shown.

[0057] like Figure 4As shown, the application scenario 400 according to this embodiment may include a first terminal device 401, a second terminal device 402, a third terminal device 404, a network 404, and a server 405. The network 404 is used to provide a medium for a communication link between the first terminal device 401, the second terminal device 402, the third terminal device 404, and the server 405. The network 404 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.

[0058] The user may use the first terminal device 401, the second terminal device 402, and the third terminal device 403 to interact with the server 405 through the network 404 to receive or send messages, etc. Various communication client applications may be installed on the first terminal device 401, the second terminal device 402, and the third terminal device 403, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only for example).

[0059] The first terminal device 401, the second terminal device 402, and the third terminal device 403 may be various electronic devices having display screens and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0060] The server 405 may be a server that provides various services, such as a background management server (only as an example) that provides support for websites browsed by users using the first terminal device 401, the second terminal device 402, and the third terminal device 403. The background management server may analyze and process the received data such as user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal device.

[0061] It should be noted that the device determination method for waking up the server provided in the embodiment of the present application can generally be executed by the server 405. Accordingly, the device determination device for waking up the server provided in the embodiment of the present application can generally be set in the server 405. The device determination method for waking up the server provided in the embodiment of the present application can also be executed by a server or server cluster that is different from the server 405 and can communicate with the first terminal device 401, the second terminal device 402, the third terminal device 403 and / or the server 405. Accordingly, the device determination device for waking up the server provided in the embodiment of the present application can also be set in a server or server cluster that is different from the server 405 and can communicate with the first terminal device 401, the second terminal device 402, the third terminal device 403 and / or the server 405.

[0062] It should be understood that Figure 4The number of the first terminal device, the second terminal device, the third terminal device, the network and the server in the embodiment is only for illustration. According to the implementation requirements, there may be any number of the first terminal device, the second terminal device, the third terminal device, the network and the server.

[0063] Figure 5 The flowchart of the device determination method for waking up the server according to an embodiment of the present application is schematically shown.

[0064] like Figure 5 As shown, the device determination method 500 for waking up a server in this embodiment includes operations S510 to S540.

[0065] In operation S510, device state information and initial state information of a candidate device are acquired.

[0066] In operation S520, interruption information is determined from the device status information.

[0067] In operation S530, a wakeup reason is determined according to the interruption information and the initial state information.

[0068] In operation S540, the wake-up reason is parsed, and a target device corresponding to the wake-up reason is determined from the candidate devices.

[0069] According to an embodiment of the present application, the server can connect and communicate with multiple candidate devices through a PCIe bus. For example, the candidate device can be a PCIe device, wherein the PCIe device can be a network card, a solid state drive (SSD) and other devices. In addition to being a PCIe device, the device under test can also be a motherboard, a power management integrated circuit (PMIC) and other devices.

[0070] According to the embodiments of the present application, there are various ways to wake up the server. For example, network wake-up is to wake up the server by receiving a "magic packet" through a network adapter, where the network adapter is usually a PCIe device. For another example, scheduled wake-up is to wake up the server by setting a scheduled task using a real-time clock (RTC) or a basic input / output system (BIOS). For another example, external signal wake-up is to wake up the server by receiving a signal through a Universal Serial Bus (USB) device, a PCIe device or other external interface. For another example, the baseboard management controller (BMC) is the server's BMC that receives remote commands through protocols such as the Intelligent Platform Management Interface I (PMI) to wake up the server.

[0071] According to an embodiment of the present application, the device status information may represent the device status of the candidate device in the process of waking up the server in response to the server wake-up request. For example, the device status may be information such as the manufacturer number, bus number, device number, and function number (BDF number for short) of the device. The initial status information represents the device status of the candidate device after the initialization is completed in response to the server wake-up request.

[0072] According to an embodiment of the present application, since there may be multiple candidate devices, both the device state information and the initial state information of the candidate devices may include multiple devices, and the number of the devices is the same as the number of the candidate devices.

[0073] According to an embodiment of the present application, interrupt information can be determined from the device status information of multiple candidate devices. When the interrupt information is determined, it indicates that a candidate device has requested to wake up the server. When the candidate device receives a specific network wake-up packet, a wake-up request is generated, and the internal wake-up logic circuit of the candidate device is activated to generate interrupt information and request to wake up the server. The wake-up request can be set according to actual needs or experience to be sent directly to the server or to be sent to the server after a preset time extension.

[0074] According to an embodiment of the present application, the interrupt information may be a level change signal. For example, the interrupt information may be a signal that changes from a low level to a high level, or from a low level to a high level. The device comparison result may be determined based on the interrupt information and the initial state information, and then the wake-up reason may be determined.

[0075] According to an embodiment of the present application, the target device represents a device that wakes up the server. By parsing the wake-up reason, the target device corresponding to the wake-up reason can be determined from the candidate devices.

[0076] According to an embodiment of the present application, by determining the interrupt information from the device status information of the acquired candidate device, and based on the interrupt information and the initial status information, the wake-up cause can be determined, and then the wake-up cause is analyzed, and the target device corresponding to the wake-up cause can be determined from multiple candidate devices, thereby realizing the device determination of server wake-up, reducing the difficulty of locating faults caused by abnormal server wake-up.

[0077] According to an embodiment of the present application, the wake-up reason is determined according to the interruption information and the initial state information, including: determining a first wake-up reason corresponding to the interruption information according to the interruption information; and determining the wake-up reason by comparing the first wake-up reason and the second wake-up reason based on a device comparison result obtained by comparing the interruption information and the initial state information.

[0078] According to an embodiment of the present application, the first wake-up reason may be characterized by analyzing the interrupt information using the basic input output system BIOS to obtain the wake-up reason. By analyzing the interrupt information using the basic input output system BIOS, the first wake-up reason corresponding to the interrupt information may be determined.

[0079] According to an embodiment of the present application, the interruption information includes candidate devices in the process of waking up the server in response to the server wake-up request, and the initial state information includes candidate devices after initialization is completed in response to the server wake-up request. The device comparison result can be obtained by comparing the interruption information with the initial state information, that is, comparing the candidate devices in the process of waking up the server in response to the server wake-up request with the candidate devices after initialization is completed in response to the server wake-up request.

[0080] According to an embodiment of the present application, the interrupt controller may be a crosspoint switch that may monitor multiple device status information and generate interrupt information when the status changes. The second wake-up reason may represent the wake-up reason obtained by analyzing the interrupt information using the interrupt controller. When the device comparison result indicates that the device comparison is passed, that is, the candidate device after the wake-up request is initialized is the same as the candidate device in the server wake-up process, the first wake-up reason and the second wake-up reason are compared to obtain the wake-up reason.

[0081] According to an embodiment of the present application, a device comparison result can be obtained by comparing the interrupt information and the initial state information. Based on the device comparison result, the first wake-up reason and the second wake-up reason are compared to obtain the wake-up result. When the device comparison result indicates that the comparison is passed, the first wake-up reason and the second wake-up reason are compared to further improve the accuracy of the wake-up reason.

[0082] According to an embodiment of the present application, determining a first wake-up reason corresponding to the interruption information according to the interruption information includes: determining first log information corresponding to the interruption information; determining the first wake-up reason corresponding to the interruption information according to the first log information and preset field information.

[0083] According to an embodiment of the present application, the first log information may include a log recorded in the process of analyzing the interruption information using the basic input and output system. By analyzing the interruption information using the basic input and output system, the first log information corresponding to the interruption information may be determined.

[0084] According to an embodiment of the present application, the preset field information may be field information summarized based on debugging experience. The first wake-up reason corresponding to the interrupt information may be determined based on the first log information and the preset field information, that is, the preset field information may be retrieved in the first log information, and the first wake-up reason may be determined based on the log information before and after the preset field information in the first log information.

[0085] According to an embodiment of the present application, when determining the first log information corresponding to the interruption information, based on the preset field information, the first wake-up reason corresponding to the interruption information can be determined from the first log information, thereby improving the accuracy of the determined first wake-up reason.

[0086] According to an embodiment of the present application, based on a device comparison result obtained by comparing the interrupt information and the initial state information, the first wake-up reason and the second wake-up reason are compared to determine the wake-up reason, including: determining the second log information corresponding to the interrupt information; determining the second wake-up reason corresponding to the interrupt information according to the second log information and preset field information; when the device comparison result indicates that the device state information is consistent with the initial state information, comparing the first wake-up reason and the second wake-up reason to determine the wake-up reason.

[0087] According to an embodiment of the present application, the second log information may include a log recorded in the process of analyzing the interrupt information using the interrupt controller. By analyzing the interrupt information using the interrupt controller, the second log information corresponding to the interrupt information may be determined.

[0088] According to an embodiment of the present application, the second wake-up reason corresponding to the interruption information can be determined based on the second log information and the preset field information, that is, the preset field information can be retrieved in the second log information, and the second wake-up reason can be determined based on the log information before and after the preset field information in the second log information.

[0089] According to an embodiment of the present application, when the device comparison result indicates that the device state information is consistent with the initial state information, that is, when the device comparison result indicates that the device comparison is passed, the first wake-up reason and the second wake-up reason are compared to determine the wake-up reason. When the first wake-up reason and the second wake-up reason are the same, the wake-up reason is the first wake-up reason or the second wake-up reason. When the first wake-up reason and the second wake-up reason are different, it is necessary to wait for continued detection information to be analyzed.

[0090] According to an embodiment of the present application, by retrieving preset field information in the second location information, the second wake-up reason corresponding to the interruption information can be determined, and by comparing the first wake-up reason with the second wake-up reason, the wake-up reason can be determined, thereby improving the accuracy of the determined wake-up reason.

[0091] According to an embodiment of the present application, the wake-up reason is parsed, and a target device corresponding to the wake-up reason is determined from candidate devices, including: parsing the wake-up reason to determine the device number of the target device, including: parsing the wake-up reason to obtain third log information; determining the device number of the target device based on the third log information; and determining the target device corresponding to the wake-up reason from candidate devices based on the device number.

[0092] According to an embodiment of the present application, the device number of the target device is determined by parsing the wake-up reason.

[0093] According to an embodiment of the present application, the third log information can be used to record the parsing result obtained by parsing the wake-up reason. The third log information can be obtained by parsing the wake-up reason. The third log information may include the device number of the device related to the server wake-up, so that the device number of the target device can be determined according to the log information.

[0094] According to an embodiment of the present application, each candidate device has a unique device number. When the device number of the target device is determined, the target device corresponding to the wake-up reason can be determined from the candidate devices.

[0095] According to an embodiment of the present application, by analyzing the wake-up cause, a third log information can be obtained. Since the third log information records the analysis result of the wake-up cause, the device number of the target device can be determined from the third log information. Since the number of the candidate device is unique, the target device corresponding to the wake-up cause can be determined from the candidate devices, thereby improving the accuracy of the determined target device.

[0096] According to an embodiment of the present application, the first log information, the second log information and the third log information obtained during the server wake-up process can be stored in an out-of-band log, and an out-of-band alarm can be issued to facilitate operation and maintenance personnel to further investigate abnormal server wake-up based on the log information, thereby simplifying the debugging process for determining the fault location information.

[0097] According to an embodiment of the present application, the above-mentioned device determination method for waking up the server also includes: determining a device link related to the target device according to the target device; and determining fault location information according to the device link.

[0098] According to an embodiment of the present application, the device link associated with the target device may represent a link formed by devices, cables, etc. connected to the target device. When the target device is determined, the device link associated with the target device may be determined.

[0099] According to an embodiment of the present application, when a device link related to a target device is determined, fault location information can be determined by troubleshooting the device link.

[0100] According to an embodiment of the present application, when the target device is determined, the device link related to the target device can be determined, so that the device link can be checked and the fault location information can be determined, which simplifies the debugging process of determining the fault location information that causes the server to wake up abnormally.

[0101] Figure 6 The following schematically shows a monitoring logic diagram of a wake-up signal in a server shutdown state according to an embodiment of the present application.

[0102] like Figure 6 As shown, the monitoring logic of the wake-up signal of the server in the shutdown state in the embodiment of the present application includes operations S601 to S610.

[0103] In operation S601 , the BMC continuously monitors the interrupt control register status.

[0104] In operation S602, it is determined whether interrupt information is generated. If yes, operation S603 is performed. If no, operation S602 is performed in a loop.

[0105] In operation S603, the BMC determines a second wakeup reason according to the interruption information and the initial state information.

[0106] In operation S604, it is determined whether the PCH detects a wake-up signal. If yes, operation S605 is performed. If not, operation S604 is performed in a loop.

[0107] In operation S605, it is determined whether the PCH generates an interrupt, and if so, operation S606 is performed, and if not, operation S605 is performed in a loop.

[0108] In operation S606, an interrupt service routine in the BIOS is called to process the interrupt.

[0109] In operation S607, the BIOS checks the source of the wake-up signal and decides how to respond to determine the first wake-up reason.

[0110] In operation S608, a wake-up operation is performed.

[0111] In operation S609 , it is compared whether the first wakeup reason and the second wakeup reason are the same. If yes, operation S610 is performed, and if no, operation S605 is performed.

[0112] In operation S610 , the BMC issues an out-of-band alarm.

[0113] According to an embodiment of the present application, when the server enters the shutdown state (referred to as S5 state), most of the hardware will be powered off, and the PCH will maintain partial power in order to monitor the wake-up signal. When the PCH detects a change in the pin configured as the wake-up signal, the PCH will try to wake up the server. First, the PCH detects whether the server is allowed to be woken up from the shutdown state. If allowed, the PCH will start the wake-up process, for example, start supplying power to the hardware. When the hardware is powered, the basic input and output system will reinitialize the hardware and check the wake-up reason based on the fixed hardware event status register of ACPI. The basic input and output system performs corresponding operations according to the wake-up reason, for example, restoring the server or entering diagnostic mode.

[0114] Based on the above-mentioned method for determining a device to wake up a server, the present application also provides a device to determine a device to wake up a server. Figure 7 The device is described in detail.

[0115] Figure 7 The structural block diagram of the device for waking up the server according to an embodiment of the present application is schematically shown.

[0116] like Figure 7As shown, the device determining apparatus 700 for waking up a server in this embodiment includes an acquisition module 710 , a first determination module 720 , a second determination module 730 and a parsing module 740 .

[0117] The acquisition module 710 is used to acquire device status information and initial status information of the candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to the server wake-up request, and the initial status information represents the device status of the candidate device after the initialization is completed in response to the server wake-up request. In one embodiment, the acquisition module 710 can be used to perform the operation S510 described above, which will not be repeated here.

[0118] The first determination module 720 is used to determine the interruption information from the device status information. In one embodiment, the first determination module 720 can be used to perform the operation S520 described above, which will not be described in detail here.

[0119] The second determination module 730 is used to determine the wake-up reason according to the interruption information and the initial state information. In one embodiment, the second determination module 730 can be used to perform the operation S530 described above, which will not be described in detail here.

[0120] The parsing module 740 is used to parse the wake-up reason and determine the target device corresponding to the wake-up reason from the candidate devices, wherein the target device represents the device that wakes up the server. In one embodiment, the parsing module 740 can be used to perform the operation S540 described above, which will not be repeated here.

[0121] According to an embodiment of the present application, the second determination module 730 includes: a first determination submodule and a second determination submodule.

[0122] The first determination submodule is used to determine a first wakeup reason corresponding to the interruption information according to the interruption information, wherein the first wakeup reason represents the wakeup reason obtained by analyzing the interruption information using the basic input and output system.

[0123] The second determination submodule is used to compare the first wake-up reason and the second wake-up reason based on the device comparison result obtained by comparing the interrupt information and the initial state information, and determine the wake-up reason, wherein the second wake-up reason represents the wake-up reason obtained by analyzing the interrupt information using the interrupt controller.

[0124] According to an embodiment of the present application, the first determining submodule includes: a first determining unit and a second determining unit.

[0125] The first determining unit is used to determine first log information corresponding to the interruption information, wherein the first log information includes a log recorded in a process of analyzing the interruption information using a basic input and output system.

[0126] The second determining unit is used to determine a first wake-up reason corresponding to the interruption information according to the first log information and the preset field information.

[0127] According to an embodiment of the present application, the second determining submodule includes: a third determining unit, a fourth determining unit and a fifth determining unit.

[0128] The third determining unit is used to determine second log information corresponding to the interruption information, wherein the second log information includes a log recorded in a process of analyzing the interruption information using the interruption controller.

[0129] The fourth determining unit is used to determine a second wake-up reason corresponding to the interruption information according to the second log information and the preset field information.

[0130] The fifth determining unit is configured to compare the first wake-up reason and the second wake-up reason to determine the wake-up reason when the device comparison result indicates that the device state information is consistent with the initial state information.

[0131] According to an embodiment of the present application, the parsing module 740 includes: a first parsing submodule and a second parsing submodule.

[0132] The first parsing submodule is used to parse the wake-up reason and determine the device number of the target device.

[0133] The second parsing submodule is used to determine a target device corresponding to the wake-up reason from the candidate devices according to the device number.

[0134] According to an embodiment of the present application, the first parsing submodule includes: a first parsing unit and a second parsing unit.

[0135] The first parsing unit is used to parse the wake-up reason to obtain third log information, wherein the third log information is used to record the parsing result obtained by parsing the wake-up reason.

[0136] The second parsing unit is used to determine the device number of the target device according to the third log information.

[0137] According to an embodiment of the present application, the device determining apparatus 700 for waking up the server further includes: a third determining module and a fourth determining module.

[0138] The third determining module is used to determine a device link related to the target device according to the target device.

[0139] The fourth determination module is used to determine the fault location information according to the device link.

[0140] According to an embodiment of the present application, any multiple modules of the acquisition module 710, the first determination module 720, the second determination module 730 and the analysis module 740 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present application, at least one of the acquisition module 710, the first determination module 720, the second determination module 730 and the analysis module 740 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware and firmware or in a suitable combination of any of them. Alternatively, at least one of the acquisition module 710 , the first determination module 720 , the second determination module 730 , and the parsing module 740 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be performed.

[0141] Figure 8 The structural block diagram of the device determination system for waking up the server according to an embodiment of the present application is schematically shown.

[0142] like Figure 8 As shown, the device determination system for waking up the server includes an interrupt controller, a basic input and output system (BIOS), a baseboard management controller (BMC), a platform controller hub (PCH), multiple resistors, and multiple PCIe devices. The interrupt controller has the same number of monitor channels as the PCIe devices, which are used to monitor the device status information of the PCIe devices, and the power supply 3V3 is used to power the device determination system for waking up the server.

[0143] According to an embodiment of the present application, an interrupt controller can be used to monitor device status information of a candidate device. The device determination system for waking up the server also includes a PCH, and the device status information of each candidate device is indirectly connected to the PCH through a monitor channel of the interrupt controller. The candidate device may be a PCIe device. When the PCIe device has a wake-up request, the level change will be detected by the interrupt controller and can be reported to the interrupt management controller by way of an interrupt.

[0144] According to an embodiment of the present application, the device status information represents the device status of the candidate device in the process of waking up the server in response to the server wake-up request, and the initial status information represents the device status of the candidate device after the initialization is completed in response to the server wake-up request. The basic input and output system can be used to obtain the device status information and initial status information of the candidate device.

[0145] According to an embodiment of the present application, the target device represents a device that wakes up the server. The baseboard management controller can be used to determine the interrupt information from the device status information, parse the wake-up reason determined according to the interrupt information and the initial status information, determine the target device corresponding to the wake-up reason from the candidate devices, and configure the interrupt controller, for example, set each monitored monitor channel to an interrupt mode, and when the level in the device status information changes, for example, a rising edge or a falling edge, trigger a corresponding interrupt to the interrupt controller, and the baseboard management controller can periodically read the device status information of the monitor channel monitored by the interrupt controller.

[0146] According to an embodiment of the present application, the baseboard manager may store the log information obtained by parsing the wake-up reason determined according to the interrupt information and the initial state information into an out-of-band log for implementing a BMC out-of-band alarm.

[0147] According to an embodiment of the present application, the interrupt information starts from the PCIe device and is connected to the interrupt controller through hardware. There is a special signal detection circuit inside the PCH, which can continuously detect the device status information of the interrupt controller pin. When interrupt information that meets the wake-up conditions is detected, the PCH will recognize it as a valid wake-up request.

[0148] According to an embodiment of the present application, after receiving the wake-up signal, the PCH will trigger a series of internal operations, such as sending a wake-up interrupt to the server, notifying the server that a candidate device has requested to be woken up. After receiving the interrupt, the server executes the corresponding wake-up program, initializes and configures the candidate device, and performs other operations to restore the server from a low-power state to a normal operating state.

[0149] Fig. 9 A block diagram of an electronic device suitable for implementing a device determination method for waking up a server according to an embodiment of the present application is schematically shown.

[0150] like Fig. 9As shown, the electronic device 900 according to an embodiment of the present application includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 into a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present application.

[0151] In RAM 903, various programs and data required for the operation of electronic device 900 are stored. Processor 901, ROM 902 and RAM 903 are connected to each other via bus 904. Processor 901 performs various operations of the method flow according to the embodiment of the present application by executing the program in ROM 902 and / or RAM 903. It should be noted that the program can also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 can also perform various operations of the method flow according to the embodiment of the present application by executing the program stored in the one or more memories.

[0152] According to an embodiment of the present application, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to the bus 904. The electronic device 900 may further include one or more of the following components connected to the input / output (I / O) interface 905: an input portion 906 including a keyboard, a mouse, etc.; an output portion 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 908 including a hard disk, etc.; and a communication portion 909 including a network interface card such as a LAN card, a modem, etc. The communication portion 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output (I / O) interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed, so that a computer program read therefrom is installed into the storage portion 908 as needed.

[0153] The present application also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present application is implemented.

[0154] According to an embodiment of the present application, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present application, the computer-readable storage medium may include the ROM 902 and / or RAM 903 described above and / or one or more memories other than ROM 902 and RAM 903.

[0155] The embodiment of the present application also includes a computer program product, which includes a computer program, and the computer program includes a program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the device determination method for waking up the server provided in the embodiment of the present application.

[0156] The computer program executes the above functions defined in the system / device of the embodiment of the present application when the processor 901 executes the computer program. According to the embodiment of the present application, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0157] In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication part 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0158] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above functions defined in the system of the embodiment of the present application are performed. According to the embodiment of the present application, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.

[0159] According to an embodiment of the present application, the program code for executing the computer program provided by the embodiment of the present application can be written in any combination of one or more programming languages, and specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, such as Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or completely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).

[0160] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the above-mentioned module, program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0161] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present application may be combined and / or combined in a variety of ways, even if such combinations or combinations are not explicitly described in the present application. In particular, without departing from the spirit and teachings of the present application, the features described in the various embodiments of the present application may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present application.

[0162] The embodiments of the present application are described above. However, these embodiments are only for the purpose of illustration, and are not intended to limit the scope of the present application. Although each embodiment is described above, this does not mean that the measures in each embodiment cannot be used in combination advantageously. Without departing from the scope of the present application, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present application.

Claims

1. A method for determining a device for waking up a server, characterized in that: The method comprises: Acquire device status information and initial status information of the candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to the server wake-up request, and the initial status information represents the device status of the candidate device after completing initialization in response to the server wake-up request; determining interrupt information from the device status information; Determine a wake-up reason according to the interrupt information and the initial state information; The wake-up reason is parsed, and a target device corresponding to the wake-up reason is determined from the candidate devices, wherein the target device represents a device that wakes up the server.

2. The method according to claim 1, characterized in that The determining the wake-up reason according to the interrupt information and the initial state information includes: Determine, according to the interruption information, a first wakeup reason corresponding to the interruption information, wherein the first wakeup reason represents the wakeup reason obtained by analyzing the interruption information using a basic input and output system; The wakeup reason is determined based on a device comparison result obtained by comparing the interrupt information with the initial state information, comparing the first wakeup reason and the second wakeup reason, wherein the second wakeup reason represents the wakeup reason obtained by analyzing the interrupt information using an interrupt controller.

3. The method according to claim 2, characterized in that The determining, according to the interrupt information, a first wake-up reason corresponding to the interrupt information includes: Determine first log information corresponding to the interruption information, wherein the first log information includes a log recorded in a process of analyzing the interruption information using the basic input and output system; A first wake-up reason corresponding to the interruption information is determined according to the first log information and the preset field information.

4. The method according to claim 3, characterized in that The determining the wakeup reason by comparing the first wakeup reason and the second wakeup reason based on a device comparison result obtained by comparing the interrupt information with the initial state information includes: Determine second log information corresponding to the interrupt information, wherein the second log information includes a log recorded in a process of analyzing the interrupt information using the interrupt controller; Determine a second wake-up reason corresponding to the interrupt information according to the second log information and the preset field information; When the device comparison result indicates that the device state information is consistent with the initial state information, the first wake-up reason and the second wake-up reason are compared to determine the wake-up reason.

5. The method according to claim 1, characterized in that The parsing the wake-up reason and determining a target device corresponding to the wake-up reason from the candidate devices includes: Analyze the wake-up reason and determine the device number of the target device; According to the device number, a target device corresponding to the wake-up reason is determined from the candidate devices.

6. The method according to claim 5, characterized in that The parsing the wake-up reason to determine the device number of the target device includes: Parsing the wake-up reason to obtain third log information, wherein the third log information is used to record a parsing result obtained by parsing the wake-up reason; Determine the device number of the target device according to the third log information.

7. The method according to claim 1, characterized in that The method further comprises: According to the target device, determining a device link related to the target device; According to the device link, fault location information is determined.

8. A device for determining a device for waking up a server, characterized in that: The device comprises: an acquisition module, configured to acquire device status information and initial status information of a candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to a server wake-up request, and the initial status information represents the device status of the candidate device after initialization is completed in response to the server wake-up request; A first determining module, configured to determine interruption information from the device status information; A second determination module, configured to determine a wake-up reason according to the interrupt information and the initial state information; The parsing module is used to parse the wake-up reason and determine a target device corresponding to the wake-up reason from the candidate devices, wherein the target device represents a device that wakes up the server.

9. A device determination system for waking up a server, characterized in that: The system comprises: An interrupt controller for monitoring device status information of candidate devices; A basic input and output system, configured to obtain device status information and initial status information of the candidate device, wherein the device status information represents the device status of the candidate device in the process of waking up the server in response to the server wake-up request, and the initial status information represents the device status of the candidate device after initialization is completed in response to the server wake-up request; The baseboard management controller is used to determine the interrupt information from the device status information, parse the wake-up reason determined according to the interrupt information and the initial status information, determine the target device corresponding to the wake-up reason from the candidate devices, and configure the interrupt controller, wherein the target device represents the device that wakes up the server.

10. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.