Loading method, device and equipment of server hardware device and storage medium

By obtaining and configuring the loading time configuration list, the loading time threshold of hardware devices can be flexibly set, which solves the problem of server crashes due to loading timeouts during startup and improves startup stability and efficiency.

CN120743363BActive Publication Date: 2025-11-21INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511225555.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-29
Publication Date
2025-11-21
Estimated Expiration
2045-08-29

AI Technical Summary

Technical Problem

When a server is powered on, due to the diversity and complexity of hardware devices, some devices may take a long time to load, which may cause the server to time out and crash, reducing the server's startup stability and overall boot efficiency.

Method used

By obtaining the first and second loading time configuration lists, the loading time threshold of the loading timer for each hardware device can be configured, allowing for flexible setting of the loading time for each hardware device. Larger thresholds can be configured for devices with longer loading times, and smaller thresholds can be configured for devices with shorter loading times, thus avoiding loading timeouts and system crashes.

Benefits of technology

It improves server startup stability and overall boot efficiency, prevents hardware devices from crashing due to loading timeouts, and enhances server startup stability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120743363B_ABST
    Figure CN120743363B_ABST
Patent Text Reader

Abstract

The application discloses a loading method and device of a server hardware device, equipment and a storage medium, and relates to the technical field of servers. The method comprises the following steps: in response to a starting instruction of a server, a first loading time configuration list is acquired; a query command of loading time information is sent to a baseboard management controller, and a second loading time configuration list returned by the baseboard management controller based on the query command is received; for each hardware device, the loading time threshold of a loading timer corresponding to the hardware device is configured based on the device identifier information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list; the loading timer corresponding to the hardware device is started, and the hardware device is loaded based on the loading timer until the loading of at least one hardware device is completed. The method can improve the starting stability of the server.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of servers, and particularly relates to a loading method and device of a server hardware device, a server hardware device loading equipment and a storage medium. BACKGROUND

[0002] With the rapid development of server technology, the number of hardware devices connected with the server is also increasing. When the server is started, the hardware devices connected with the server need to be loaded.

[0003] In the related art, when the server is started, each hardware device is loaded in sequence. If the loading time of a hardware device exceeds the preset maximum loading time, it is determined that the hardware device is loaded abnormally. At this time, the server cannot be started normally.

[0004] At present, due to the diversification and complexity of hardware devices, if there is a hardware device with a long normal loading time among the hardware devices connected with the server, the hardware device may be shut down due to exceeding the preset maximum loading time during normal loading, thereby reducing the startup stability of the server. SUMMARY

[0005] The present application provides a loading method and device of a server hardware device, and a server hardware device loading equipment and a storage medium, to at least solve the problem of inaccurate configuration of server port information in the related art, which leads to low server performance.

[0006] In one aspect, the present application provides a loading method of a server hardware device, comprising:

[0007] In response to a start instruction of the server, a first loading time configuration list is obtained, and the first loading time configuration list comprises first loading time information corresponding to each of at least one device identification information;

[0008] A loading time information query command is sent to a baseboard management controller, and a second loading time configuration list returned by the baseboard management controller based on the query command is received, and the second loading time configuration list comprises second loading time information corresponding to each of at least one device identification information;

[0009] For each hardware device, based on the device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list, the loading time threshold of the loading timer corresponding to the hardware device is configured;

[0010] The loading timer corresponding to the hardware device is started, and the hardware device is loaded based on the loading timer until the loading of at least one hardware device is completed.

[0011] In another aspect, the present application provides a loading method of a server hardware device, comprising:

[0012] receiving an adding command of loading time information sent by a basic input and output system of the server, the adding command carrying first device identification information and loading time information corresponding to the first device identification information;

[0013] adding the first device identification information and the loading time information corresponding to the first device identification information to a second loading time configuration list.

[0014] In another aspect, the application provides a loading device of a server hardware device, comprising:

[0015] an obtaining unit, configured to obtain a first loading time configuration list in response to a starting instruction of the server, the first loading time configuration list comprising first loading time information corresponding to at least one device identification information respectively;

[0016] a sending unit, configured to send a query command of loading time information to a baseboard management controller, and receive a second loading time configuration list returned by the baseboard management controller based on the query command, the second loading time configuration list comprising second loading time information corresponding to at least one device identification information respectively;

[0017] a configuring unit, configured to, for each hardware device, configure a loading time threshold of a loading timer corresponding to the hardware device based on device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list;

[0018] a loading unit, configured to start the loading timer corresponding to the hardware device, and load the hardware device based on the loading timer until loading of the at least one hardware device is completed.

[0019] In another aspect, the application provides a loading device of a server hardware device, comprising:

[0020] a receiving unit, configured to receive an adding command of loading time information sent by a basic input and output system of the server, the adding command carrying first device identification information and loading time information corresponding to the first device identification information;

[0021] an adding unit, configured to add the first device identification information and the loading time information corresponding to the first device identification information to a second loading time configuration list.

[0022] The application further provides an electronic device, comprising a memory for storing a computer program and a processor for executing the computer program to implement the steps of any one of the above-mentioned loading methods of a server hardware device.

[0023] The application further provides a computer readable storage medium, and the computer readable storage medium stores a computer program.

[0024] The application further provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the steps of the loading method of any one of the server hardware devices.

[0025] The application provides a loading method, device and equipment of a server hardware device and a storage medium. The method comprises the following steps: in response to a start-up instruction of the server, a first loading time configuration list is obtained, the first loading time configuration list comprising first loading time information corresponding to at least one device identification information; a query command of loading time information is sent to a baseboard management controller; a second loading time configuration list returned by the baseboard management controller based on the query command is received, the second loading time configuration list comprising second loading time information corresponding to at least one device identification information; for each hardware device, based on the device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list, a loading time threshold of a loading timer corresponding to the hardware device is configured; the loading timer corresponding to the hardware device is started, and the hardware device is loaded based on the loading timer until the loading of at least one hardware device is completed. In the embodiment of the application, for each hardware device, the loading timer corresponding to the hardware device can be started, and the hardware device is loaded based on the loading timer. In this way, by configuring the loading time threshold of each hardware device, the loading time of each hardware device can be flexibly configured. For a hardware device with a longer normal loading time, a larger loading time threshold can be configured. In this way, the hardware device can be prevented from being shut down due to exceeding the preset maximum loading time during normal loading, thereby improving the start-up stability of the server. Moreover, the loading time of each hardware device can be flexibly configured. In this way, for a hardware device with a shorter normal loading time, a smaller loading time threshold can be configured. In this way, the hardware device can be prevented from waiting for a long time when there is a real exception, thereby improving the start-up efficiency of the server. BRIEF DESCRIPTION OF DRAWINGS

[0026] In order to more clearly illustrate the embodiments of the application, the drawings required in the embodiments will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort.

[0027] Figure 1 The application scenario diagram of the loading method of a server hardware device provided in the embodiments of the application;

[0028] Figure 2 The flow of the loading method of the server hardware device provided by the embodiment of the present application Figure One ;

[0029] Figure 3 The schematic diagram of the loading method of the server hardware device provided by the embodiment of the present application Figure One ;

[0030] Figure 4 The flow of the loading method of the server hardware device provided by the embodiment of the present application Figure Two ;

[0031] Figure 5 The schematic diagram of the loading method of the server hardware device provided by the embodiment of the present application Figure Two ;

[0032] Figure 6 The schematic diagram of the loading device of the server hardware device provided by the embodiment of the present application Figure One ;

[0033] Figure 7 The schematic diagram of the loading device of the server hardware device provided by the embodiment of the present application Figure Two ;

[0034] Figure 8 The schematic diagram of the electronic device provided by the present application. DETAILED DESCRIPTION

[0035] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.

[0036] It should be noted that, in the description of the present application, the terms “include”, “contain” or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or includes elements inherent to such process, method, article or device. The terms “first”, “second” and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.

[0037] With the rapid development of server technology, the number of hardware devices connected with the server is also increasing. When the server is started, the hardware devices connected with the server need to be loaded.

[0038] In the related art, when the server is powered on, each hardware device is loaded in turn. If the loading time of a hardware device exceeds the preset maximum loading time, it is determined that the hardware device is loaded abnormally. At this time, the server cannot be normally started.

[0039] At that time, due to the diversification and complication of hardware devices, if there is a hardware device with a long normal loading time among the hardware devices connected to the server, the hardware device may be shut down due to exceeding the preset maximum loading time during normal loading, thereby reducing the startup stability of the server.

[0040] For example, in a server and data center environment, the system needs to support a large number of PCIe (Peripheral Component Interconnect Express) devices of various types, including network cards, storage controllers, GPU acceleration cards, etc. These devices exhibit significant time variability during the initialization phase. Some devices may require a long loading time to complete complex initialization operations, while some devices can quickly complete loading. If a uniform loading time setting is used for all devices, it may cause some devices to fail to start due to insufficient loading time, or reduce the overall startup efficiency due to excessive waiting time.

[0041] Therefore, how to improve the flexibility of configuration loading time to improve the startup stability and overall startup efficiency of the server is a technical problem to be solved at present.

[0042] To solve the above technical problems, the present application provides a solution for flexibly setting the loading time of a hardware device. Correspondingly, the specific steps include: first, in response to a server startup instruction, a first loading time configuration list is obtained, the first loading time configuration list including first loading time information corresponding to at least one device identification information; a loading time information query command is sent to a baseboard management controller, and a second loading time configuration list returned by the baseboard management controller based on the query command is received, the second loading time configuration list including second loading time information corresponding to at least one device identification information. Then, for each hardware device, based on the device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list, the loading time threshold of the loading timer corresponding to the hardware device is configured. Finally, the loading timer corresponding to the hardware device is started, and the hardware device is loaded based on the loading timer until the loading of at least one hardware device is completed.

[0043] In the embodiment of the present application, for each hardware device, the loading timer corresponding to the hardware device can be started, and the hardware device is loaded based on the loading timer. In this way, by configuring the loading time threshold of each hardware device, the maximum loading time of each hardware device can be flexibly configured. For a hardware device with a longer normal loading time, a larger loading time threshold can be configured. In this way, the hardware device can be prevented from being shut down due to exceeding the preset maximum loading time during normal loading, thereby improving the startup stability of the server. Moreover, the maximum loading time of each hardware device can be flexibly configured. For a hardware device with a shorter normal loading time, a smaller loading time threshold can be configured. In this way, the hardware device can be prevented from waiting for a long time when there is a real exception, thereby improving the startup efficiency of the server.

[0044] In order for those skilled in the art in this technical field to better understand the present application, the present application will be further described in detail below in combination with the drawings and specific embodiments.

[0045] In combination with the specific application environment architecture or specific hardware architecture on which the server hardware device loading method is executed, the specific application environment architecture or specific hardware architecture is described here.

[0046] Figure 1 The application scenario of the server hardware device loading method provided in the embodiment of the present application is shown in FIG. 1. Figure 1 As shown in FIG. 1, the basic input / output system (BIOS) 101 and the baseboard management controller (BMC) 102 in the server can be connected through IPMI (Intelligent Platform Management Interface). When the server is powered on, the basic input / output system 101 can send a query command of loading time information to the baseboard management controller 102. Through the server hardware device loading method of the present application, the loading time threshold of the loading timer corresponding to the hardware device is configured, and the maximum loading time of each hardware device of the server is flexibly configured. In this way, for a hardware device with a shorter normal loading time, a smaller loading time threshold can be configured, and for a hardware device with a longer normal loading time, a larger loading time threshold can be configured. In this way, the hardware device can be prevented from being shut down due to exceeding the preset maximum loading time during normal loading, thereby improving the startup stability of the server.

[0047] Figure 2 The flow of the server hardware device loading method provided in the embodiment of the present application is shown in FIG. 2. Figure One The execution subject of the server hardware device loading method can be a server, and the basic input / output system can be deployed on the server. Figure 2 The method comprises:

[0048] S201, in response to a startup instruction of the server, obtaining a first loading time configuration list, the first loading time configuration list comprising first loading time information corresponding to each of at least one device identification information.

[0049] In the embodiment of the present application, the first loading time configuration list can be pre-stored in a non-volatile storage module. Accordingly, this step can comprise: in response to the startup instruction of the server, sending a reading instruction to the non-volatile storage module, and obtaining the first loading time configuration list stored in the non-volatile storage module. Optionally, the non-volatile storage module can be NVRAM (Non-Volatile Random Access Memory, non-volatile random access memory).

[0050] Optionally, the device identification information corresponding to the hardware device comprises at least one of the following: a vendor identification, a device identification, a sub-vendor identification and a sub-device identification.

[0051] The vendor identification can be represented as VID (Vendor ID), which is used to identify the manufacturer of the hardware device. The device identification can be represented as DID (Device ID), which is used to identify the model of the hardware device. The sub-vendor identification can be represented as SVID (Subsystem Vendor ID), which is used to identify the subsystem manufacturer of the hardware device. The sub-device identification can be represented as SDID (Subsystem Device ID), which is used to identify the hardware device of different configurations under the same model.

[0052] For example, as shown in the figure, Figure 3 This step can comprise: reading DID, VID, SDID, SVID and the longest loading time of the hardware device from NVRAM through the getVariable function to obtain the first loading time configuration list.

[0053] S202, sending a loading time information query command to the baseboard management controller, and receiving a second loading time configuration list returned by the baseboard management controller based on the query command, the second loading time configuration list comprising second loading time information corresponding to each of at least one device identification information.

[0054] In the embodiment of the present application, the query command can be an IPMI query command. The IPMI command can be used to manage and monitor the interface of the server hardware.

[0055] In some embodiments, the user can configure the first loading time configuration list and the second loading time configuration list on the baseboard management controller based on the configuration operation of the loading time. Accordingly, the method further comprises: in response to the configuration operation of the loading time, displaying a loading time configuration interface, the loading time configuration interface comprising at least a loading time information adding option; based on the loading time information adding option, obtaining first device identification information and loading time information corresponding to the first device identification information; adding the first device identification information and the loading time information corresponding to the first device identification information to the first loading time configuration list; and sending an adding command of the loading time information to the baseboard management controller, so that the baseboard management controller adds the first device identification information and the loading time information corresponding to the first device identification information to the second loading time configuration list.

[0056] Optionally, based on the loading time information adding option, the first device identification information and the loading time information corresponding to the first device identification information are obtained by: in response to a triggering operation of the loading time information adding option, displaying a loading time information adding interface, the loading time information adding interface comprising a first information input box for inputting device identification information and a second information input box for inputting loading time information; obtaining the first device identification information input by the first information input box and the loading time information input by the second information input box, to obtain the first device identification information and the loading time information corresponding to the first device identification information.

[0057] In the first information input box, there can be a supplier identification input box, a device identification input box, a sub-supplier identification input box and a sub-device identification input box, which are used to input the supplier identification, device identification, sub-supplier identification and sub-device identification of the hardware device, respectively.

[0058] Optionally, before sending the adding command of the loading time information to the baseboard management controller, the method further comprises: displaying an operation confirmation interface, the operation confirmation interface being provided with a "confirm" button and a "cancel" button. In response to a triggering operation of the "confirm" button, the adding command of the loading time information is sent to the baseboard management controller; and in response to a triggering operation of the "cancel" button, no setting is made and the method is returned to the previous page.

[0059] In some embodiments, the loading time configuration interface further comprises a loading time information deletion option; the method further comprises: in response to a triggering operation of the loading time information deletion option, displaying a loading time information deletion interface, the loading time information deletion interface comprising a third information input box for inputting device identification information; obtaining second device identification information input in the third information input box, and deleting the second device identification information and loading time information corresponding to the second device identification information from the first loading time configuration list; and sending a deletion command of the loading time information to the baseboard management controller, so that the baseboard management controller deletes the second device identification information and loading time information corresponding to the second device identification information from the second loading time configuration list.

[0060] In some embodiments, in response to the triggering operation of the loading time information deletion option, displaying the loading time information deletion interface comprises: in response to the triggering operation of the loading time information deletion option, popping up a deletion information interface, the deletion information interface displaying “whether to delete all information” and “yes” and “no” buttons.

[0061] Optionally, in response to the triggering operation of the “yes” button, deleting the first loading time configuration list and sending a deletion command of all loading time information to the baseboard management controller, so that the baseboard management controller deletes the second loading time configuration list. Optionally, in response to the triggering operation of the “no” button, displaying the loading time information deletion interface.

[0062] The third information input box can comprise: a supplier identification input box, a device identification input box, a sub-supplier identification input box and a sub-device identification input box, which are used to input the supplier identification, the device identification, the sub-supplier identification and the sub-device identification of the hardware device, respectively.

[0063] In some embodiments, before deleting the loading time information, the method further comprises: displaying an operation confirmation interface, the operation confirmation interface being provided with a “confirm” button and a “cancel” button. In response to the triggering operation of the “confirm” button, the second device identification information and the loading time information corresponding to the second device identification information are deleted from the first loading time configuration list, and a deletion command of the loading time information is sent to the baseboard management controller, so that the baseboard management controller deletes the second device identification information and the loading time information corresponding to the second device identification information from the second loading time configuration list. In response to the triggering operation of the “cancel” button, no setting is made and the previous page is returned.

[0064] In the embodiments of the present application, when the stored device identification information is large, the operation confirmation interface is displayed before deleting the loading time information, so as to avoid deleting the loading time information corresponding to other device identification information due to input error of the second device identification information, thereby improving the accuracy of deleting the loading time information corresponding to the second device identification information.

[0065] In some embodiments, the loading time configuration interface can further include a preset area for displaying the first loading time configuration list and the second loading time configuration list. Accordingly, the method further includes: in response to the configuration operation of the loading time, obtaining the first loading time configuration list, and sending a query command of the loading time information to the baseboard management controller, receiving the second loading time configuration list returned by the baseboard management controller based on the query command, and displaying the first loading time configuration list and the second loading time configuration list in the preset area of the loading time configuration interface.

[0066] Optionally, when backing to the previous page, the first loading time configuration list and the second loading time configuration list displayed in the preset area can be updated.

[0067] S203, for each hardware device, based on the device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list, configuring the loading time threshold of the loading timer corresponding to the hardware device.

[0068] In some embodiments, this step can include: based on the first loading time configuration list and the second loading time configuration list, synchronizing information of the first loading time configuration list and the second loading time configuration list; for each hardware device, according to the device identification information corresponding to the hardware device, determining the first loading time information corresponding to the device identification information from the first loading time configuration list; based on the first loading time information corresponding to the device identification information, configuring the loading time threshold of the loading timer corresponding to the hardware device.

[0069] Optionally, based on the first loading time configuration list and the second loading time configuration list, synchronizing information of the first loading time configuration list and the second loading time configuration list includes: comparing whether the first loading time configuration list and the second loading time configuration list are consistent; if consistent, not synchronizing information of the first loading time configuration list and the second loading time configuration list, if not consistent, synchronizing information of the first loading time configuration list and the second loading time configuration list.

[0070] Optionally, as shown in Figure 3 synchronizing information of the first loading time configuration list and the second loading time configuration list includes: determining whether the first loading time configuration list is null; if the first loading time configuration list is null, updating the first loading time configuration list to the second loading time configuration list, and storing the updated first loading time configuration list; if the first loading time configuration list is not null, sending an update instruction of the loading time configuration list to the baseboard management controller, so that the baseboard management controller updates the second loading time configuration list to the first loading time configuration list.

[0071] S204. Start the loading timer corresponding to the hardware device, and load the hardware device based on the loading timer until at least one hardware device has finished loading.

[0072] In some embodiments, starting a loading timer corresponding to the hardware device and loading the hardware device based on the loading timer includes: starting a loading timer corresponding to the hardware device; if the hardware device is loaded and the loading time obtained by the hardware device has not reached the loading time threshold configured by the loading timer, stopping the loading timer and ending the loading process of the hardware device; if the loading time obtained by the hardware device has reached the loading time threshold configured by the loading timer but the hardware device has not been loaded, obtaining the timeout processing mode corresponding to the hardware device and loading the hardware device according to the timeout processing mode.

[0073] For example, during the loading process, if a hardware device finishes loading, the timer is immediately stopped, the loading process for that hardware device ends, and the loading of the next hardware device continues. If the timer countdown ends before the hardware device finishes loading, a timeout handling mechanism is triggered. In this case, the timeout handling module can obtain the timeout handling mode corresponding to the hardware device and load the hardware device according to the timeout handling mode.

[0074] Optionally, loading a hardware device according to a timeout handling mode includes: if the timeout handling mode is a reload mode, resetting the loading state of the hardware device and the loading timer corresponding to the hardware device, and reloading the hardware device based on the loading timer; if the timeout handling mode is an abort loading mode, skipping the hardware device and continuing to load the next hardware device.

[0075] For example, the reload mode can be represented as Reload mode, and the abandon mode can be represented as Abandon mode.

[0076] In some embodiments, before resetting the loading state of the hardware device and the loading timer corresponding to the hardware device, the method further includes: obtaining the loading count of the hardware device; if the loading count reaches a preset loading count, then skipping the hardware device and continuing to load the next hardware device.

[0077] In this embodiment of the application, the value of the preset loading count is not specifically limited. For example, as shown... Figure 3 As shown, the preset number of loading attempts can be 3. If the hardware device loads successfully during the 3 reloading attempts, the process continues with the next hardware device; if all 3 attempts fail, the loading of that hardware device is stopped, it is skipped, and the process continues with the next hardware device.

[0078] It should be noted that before obtaining the timeout processing mode corresponding to the hardware device, the timeout processing mode corresponding to the hardware device can be configured. Correspondingly, the specific configuration method can include: in response to the configuration operation of the timeout processing mode, displaying a timeout processing mode configuration interface, the timeout processing mode configuration interface including a fourth information input box for inputting device identification information, a reload mode option and an abandon loading mode option; in response to the triggering operation of the reload mode option, obtaining the fourth device identification information input in the fourth information input box, and configuring the timeout processing mode of the hardware device corresponding to the fourth device identification information as the reload mode; in response to the triggering operation of the abandon loading mode option, configuring the timeout processing mode of the hardware device corresponding to the fourth device identification information as the abandon loading mode.

[0079] The fourth information input box can include: a supplier identification input box, a device identification input box, a sub-supplier identification input box and a sub-device identification input box, which are used to input the supplier identification, device identification, sub-supplier identification and sub-device identification of the hardware device in sequence.

[0080] The flow of the loading method of the server hardware device will be introduced below through a specific example. As shown in Figure 3 The steps of the loading method of the server hardware device include:

[0081] Step 1, the server is powered on.

[0082] Step 2, read DID, VID, SDID, SVID and the longest loading time of the hardware device from NVRAM through the getVariable function to obtain a first loading time configuration list.

[0083] Step 3, send a query command of loading time information to the baseboard management controller to obtain a second loading time configuration list.

[0084] Step 4, compare whether the first loading time configuration list and the second loading time configuration list are consistent. If they are consistent, go to step 5; if they are not consistent, continue to determine whether the first loading time configuration list is empty. If it is not empty, assign the first loading time configuration list to the second loading time configuration list, and update the related information to the baseboard management controller synchronously. If it is empty, assign the second loading time configuration list to the first loading time configuration list.

[0085] Step 5, determine whether there is loading timeout setting information. If there is loading timeout setting information, obtain the loading timeout setting information, otherwise, do not obtain.

[0086] Step 6: For each hardware device to be loaded, the control module first acquires the device identification information of the hardware device, and judges whether there is first loading time information of the hardware device in the first loading time configuration list.

[0087] Step 7: If there is no first loading time information, loading is performed in the default loading mode, the timer is not started, and the loading of the hardware device is directly performed. After the loading is completed, the next hardware device is processed.

[0088] Step 8: If there is first loading time information, a countdown timer is started, and the longest startup time corresponding to the hardware device (i.e., the first loading time information) is assigned to the timer, and then the loading of the hardware device is started.

[0089] Step 9: During the loading process, if the hardware device is loaded, the timer is immediately stopped, the loading process of the device is ended, and the next device is processed.

[0090] Step 10: If the timer countdown ends and the hardware device is not loaded, a timeout processing mechanism is triggered for further processing.

[0091] Step 11: The timeout processing module acquires the timeout processing mode. If the timeout processing mode is set to the Reload mode, the loading state of the current hardware device is rolled back (i.e., restored to the system state before the device is loaded), and then the loading of the hardware device is restarted. This process is repeated at most three times. If the hardware device is successfully loaded in the three reloading processes, the next hardware device is processed. If the three reloading processes all fail, the loading of the hardware device is stopped, the hardware device is skipped, and the next hardware device is processed.

[0092] Step 12: If the timeout processing mode is set to the Abandon mode, the loading information of the hardware device is rolled back, and then the loading of the hardware device is directly skipped, and the next hardware device is processed.

[0093] Step 13: When the loading processes of all hardware devices are completed, the server continues the subsequent startup process until the startup is completed.

[0094] The application provides a loading method of a server hardware device. In response to a start-up instruction of a server, a first loading time configuration list is obtained, the first loading time configuration list comprising first loading time information corresponding to each of at least one device identification information; a query command of loading time information is sent to a baseboard management controller, and a second loading time configuration list returned by the baseboard management controller based on the query command is received, the second loading time configuration list comprising second loading time information corresponding to each of at least one device identification information; for each hardware device, a loading time threshold of a loading timer corresponding to the hardware device is configured based on the device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list; the loading timer corresponding to the hardware device is started, and the hardware device is loaded based on the loading timer until the loading of the at least one hardware device is completed. In the embodiment of the application, for each hardware device, the loading timer corresponding to the hardware device can be started, and the hardware device can be loaded based on the loading timer. In this way, by configuring the loading time threshold of each hardware device, the loading duration of each hardware device can be flexibly configured. For a hardware device with a longer normal loading time, a larger loading time threshold can be configured, so that the hardware device can be prevented from being shut down due to exceeding the preset maximum loading duration during normal loading, thereby improving the start-up stability of the server. Moreover, the loading duration of each hardware device can be flexibly configured, so that for a hardware device with a shorter normal loading time, a smaller loading time threshold can be configured, so that the hardware device can be prevented from waiting for a long time when there is a real abnormality, thereby improving the start-up efficiency of the server.

[0095] Figure 4 The loading method of the server hardware device provided in the embodiment of the application Figure One The execution subject of the loading method of the server hardware device can be a server, and a baseboard management controller can be deployed on the server. As shown in Figure 4 The method comprises the following steps.

[0096] S401, in response to receiving a loading time information adding command sent by a basic input and output system of a server, first device identification information and loading time information corresponding to the first device identification information carried by the adding command are obtained.

[0097] S402, the first device identification information and the loading time information corresponding to the first device identification information are added to a second loading time configuration list.

[0098] The adding method of the loading time information will be introduced through a specific example. As shown in Figure 5 The specific steps comprise the following steps.

[0099] Step 1, an IPMI adding command is added for adding loading time information.

[0100] Step 2, after the BMC receives the adding command, the adding command carries the first device identification information and the loading time information corresponding to the first device identification information.

[0101] Step 3, read the stored multiple device identification information from the non-volatile memory, if the multiple device identification information already exists the first device identification information, return information 01, indicating that the current added first device identification information exists; otherwise, jump to the next step 4. Exemplarily, the non-volatile memory can be an EEPROM (Electrically Erasable Programmable Read-Only Memory).

[0102] Step 4, add the first device identification information and the loading time information corresponding to the first device identification information to the second loading time configuration list, and store it in the non-volatile memory.

[0103] In some embodiments, the loading time information can also be deleted from the second loading time configuration list. Accordingly, the method of deleting the loading time information comprises: in response to receiving the deletion command of the loading time information sent by the basic input output system of the server, obtaining the second device identification information carried by the deletion command; and according to the second device identification information, deleting the second device identification information and the loading time information corresponding to the second device identification information from the second loading time configuration list.

[0104] Optionally, the deletion command can be a deletion command of deleting one loading time information, or a deletion command of deleting all loading time information.

[0105] Exemplarily, as shown in Figure 5 , the step of deleting one loading time information comprises:

[0106] Step 1, add an IPMI deletion command for deleting a single loading time information.

[0107] Step 2, after the BMC receives the deletion command, the deletion command carries the second device identification information.

[0108] Step 3, delete the second device identification information and the loading time information corresponding to the second device identification information from the second loading time configuration list.

[0109] Step 4, update the second loading time configuration list, and write the updated second loading time configuration list back to the EEPROM and return 00, indicating that the loading time information has been successfully deleted.

[0110] Exemplarily, as shown in Figure 5As shown, the step of deleting all port identification information includes:

[0111] Step 1, add an IPMI delete command for deleting all loading time information.

[0112] Step 2, when the BMC receives the delete command, erase the second loading time configuration list in the EEPROM.

[0113] In some embodiments, the loading time information in the second loading time configuration list can also be updated. Accordingly, the method for updating the loading time information includes: in response to receiving an update command of the loading time information sent by the basic input output system of the server, obtaining third device identification information carried by the update command and first loading time information corresponding to the third device identification information; and updating the second loading time information corresponding to the third device identification information in the second loading time configuration list to the first loading time information according to the third device identification information.

[0114] Figure 6 The structure schematic diagram of the loading device of the server hardware device provided by the embodiments of the present application is shown in FIG. 1. Figure 6 As shown, the embodiments of the present application also provide a loading device of a server hardware device, which includes:

[0115] The obtaining unit 601 is configured to obtain a first loading time configuration list in response to a start-up instruction of the server, and the first loading time configuration list includes first loading time information corresponding to each of at least one device identification information;

[0116] The sending unit 602 is configured to send a query command of the loading time information to the baseboard management controller, and receive a second loading time configuration list returned by the baseboard management controller based on the query command, and the second loading time configuration list includes second loading time information corresponding to each of at least one device identification information;

[0117] The configuration unit 603 is configured to, for each hardware device, configure a loading time threshold of a loading timer corresponding to the hardware device based on the device identification information corresponding to the hardware device, the first loading time configuration list and the second loading time configuration list;

[0118] The loading unit 604 is configured to start the loading timer corresponding to the hardware device, and load the hardware device based on the loading timer until the loading of the at least one hardware device is completed.

[0119] In some embodiments, the configuration unit 603 configures, for each hardware device, the loading time threshold of the loading timer corresponding to the hardware device based on the device identification information corresponding to the hardware device, the first loading time configuration list, and the second loading time configuration list, including: performing information synchronization on the first loading time configuration list and the second loading time configuration list based on the first loading time configuration list and the second loading time configuration list.

[0120] For each hardware device, the first loading time information corresponding to the device identification information is determined from the first loading time configuration list according to the device identification information corresponding to the hardware device.

[0121] The loading time threshold of the loading timer corresponding to the hardware device is configured based on the first loading time information corresponding to the device identification information.

[0122] In some embodiments, the configuration unit 603 performs information synchronization on the first loading time configuration list and the second loading time configuration list based on the first loading time configuration list and the second loading time configuration list, including: comparing whether the first loading time configuration list and the second loading time configuration list are consistent; if consistent, not performing information synchronization on the first loading time configuration list and the second loading time configuration list, and if inconsistent, performing information synchronization on the first loading time configuration list and the second loading time configuration list.

[0123] In some embodiments, the configuration unit 603 performs information synchronization on the first loading time configuration list and the second loading time configuration list, including: determining whether the first loading time configuration list is empty; if the first loading time configuration list is empty, updating the first loading time configuration list to the second loading time configuration list, and storing the updated first loading time configuration list; and if the first loading time configuration list is not empty, sending an update instruction of the loading time configuration list to the baseboard management controller to enable the baseboard management controller to update the second loading time configuration list to the first loading time configuration list.

[0124] In some embodiments, the device identification information corresponding to the hardware device includes at least one of the following: a supplier identification, a device identification, a sub-supplier identification, and a sub-device identification.

[0125] In some embodiments, the loading unit 604 starts a loading timer corresponding to the hardware device, and loads the hardware device based on the loading timer, including: starting the loading timer corresponding to the hardware device, if the hardware device is loaded and the loading time of the hardware device does not reach a loading time threshold configured by the loading timer, stopping the loading timer and ending the loading process of the hardware device; if the loading time of the hardware device has reached the loading time threshold configured by the loading timer but the hardware device is not loaded, obtaining a timeout processing mode corresponding to the hardware device, and loading the hardware device according to the timeout processing mode.

[0126] In some embodiments, the loading unit 604 loads the hardware device according to the timeout processing mode, including: if the timeout processing mode is a reloading mode, resetting the loading state of the hardware device and the loading timer corresponding to the hardware device, and reloading the hardware device based on the loading timer; if the timeout processing mode is an abandoned loading mode, skipping the hardware device and continuing to load the next hardware device.

[0127] In some embodiments, the loading unit 604 is further configured to obtain the loading times of the hardware device, and if the loading times reach a preset loading times, skip the hardware device and continue to load the next hardware device.

[0128] In some embodiments, the apparatus further includes an information adding unit, which is configured to: in response to a configuration operation of the loading time, display a loading time configuration interface, the loading time configuration interface including at least a loading time information adding option; based on the loading time information adding option, obtain first device identification information and loading time information corresponding to the first device identification information; add the first device identification information and the loading time information corresponding to the first device identification information to a first loading time configuration list; and send an adding command of the loading time information to the baseboard management controller, so that the baseboard management controller adds the first device identification information and the loading time information corresponding to the first device identification information to a second loading time configuration list.

[0129] In some embodiments, the information adding unit obtains the first device identification information and the loading time information corresponding to the first device identification information based on the loading time information adding option, including: in response to a triggering operation of the loading time information adding option, displaying a loading time information adding interface, the loading time information adding interface including a first information input box for inputting device identification information and a second information input box for inputting loading time information; obtaining the first device identification information input by the first information input box and the loading time information input by the second information input box, to obtain the first device identification information and the loading time information corresponding to the first device identification information.

[0130] In some embodiments, the loading time configuration interface further comprises a loading time information deletion option; the apparatus further comprises: a first information deletion unit; the first information deletion unit is configured to, in response to a triggering operation of the loading time information deletion option, display a loading time information deletion interface, the loading time information deletion interface comprising a third information input box for inputting device identification information; obtain second device identification information input by the third information input box, and delete the second device identification information and loading time information corresponding to the second device identification information from the first loading time configuration list; and send a deletion command of the loading time information to the baseboard management controller, so that the baseboard management controller deletes the second device identification information and the loading time information corresponding to the second device identification information from the second loading time configuration list.

[0131] In some embodiments, the apparatus further comprises: a timeout configuration unit; the timeout configuration unit is configured to, in response to a configuration operation of the timeout processing mode, display a timeout processing mode configuration interface, the timeout processing mode configuration interface comprising a fourth information input box for inputting device identification information, a reload mode option and an abandon loading mode option; in response to a triggering operation of the reload mode option, obtain fourth device identification information input by the fourth information input box, and configure the timeout processing mode of a hardware device corresponding to the fourth device identification information as the reload mode; and in response to a triggering operation of the abandon loading mode option, configure the timeout processing mode of the hardware device corresponding to the fourth device identification information as the abandon loading mode.

[0132] Figure 7 A structural schematic diagram of a loading device of a server hardware device provided by an embodiment of the present application is shown in FIG. 1. As shown in FIG. 1, the embodiment of the present application further provides a loading device of a server hardware device, which comprises: Figure 7

[0133] A receiving unit 701 is configured to receive an addition command of loading time information sent by a basic input / output system of a server, the addition command carrying first device identification information and loading time information corresponding to the first device identification information.

[0134] An adding unit 702 is configured to add the first device identification information and the loading time information corresponding to the first device identification information to a second loading time configuration list.

[0135] In some embodiments, the apparatus further comprises: a second information deletion unit; the second information deletion unit is configured to, in response to receiving a deletion command of loading time information sent by a basic input / output system of a server, obtain second device identification information carried by the deletion command; and delete the second device identification information and loading time information corresponding to the second device identification information from the second loading time configuration list according to the second device identification information.

[0136] ​In some embodiments, the apparatus further comprises an information updating unit; the information updating unit is configured to, in response to receiving an update command of loading time information sent by a basic input output system of the server, acquire third device identification information carried by the update command and first loading time information corresponding to the third device identification information; and update the second loading time information corresponding to the third device identification information in the second loading time configuration list to the first loading time information according to the third device identification information.

[0137] The application provides a loading apparatus of a server hardware device, for each hardware device, a loading timer corresponding to the hardware device can be started, and the hardware device is loaded based on the loading timer, so that by configuring a loading time threshold of each hardware device, a loading duration of each hardware device can be flexibly configured, for a hardware device with a longer normal loading time, a larger loading time threshold can be configured, so that the hardware device can be prevented from being shut down due to exceeding a preset maximum loading duration during normal loading, and therefore the startup stability of the server is improved. Moreover, because the loading duration of each hardware device can be flexibly configured, for a hardware device with a shorter normal loading time, a smaller loading time threshold can be configured, so that when the hardware device has a real abnormality, the waiting time for loading can be prevented from being too long, and therefore the startup efficiency of the server is improved.

[0138] The description of the features in the embodiments of the loading apparatus of the server hardware device provided by the application can be referred to the related description of the embodiments of the loading method of the server hardware device, which will not be repeated here.

[0139] Figure 8 The application provides a structural diagram of an electronic device. As shown in Figure 8 The electronic device 80 provided by the embodiment includes at least one processor 801 and a memory 802. Optionally, the device 80 further includes a communication component 803. The processor 801, the memory 802 and the communication component 803 are connected through a bus.

[0140] In the specific implementation process, the at least one processor 801 executes the computer execution instructions stored in the memory 802, so that the at least one processor 801 executes the above-mentioned embodiments of the loading method of the server hardware device.

[0141] The specific implementation process of the processor 801 can be referred to the above-mentioned method embodiments, which have similar implementation principles and technical effects, and will not be repeated here.

[0142] In the above embodiments, it should be understood that the processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor and the like. The steps of the method disclosed in conjunction with the application can be directly embodied as hardware processor execution, or executed by a combination of hardware and software modules in the processor.

[0143] The memory can include a random access memory (RAM), and can also include a non-volatile memory (NVM), such as at least one disk memory.

[0144] The bus can be an industry standard architecture (ISA) bus, a peripheral component (PCI) bus, or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application does not limit to only one bus or one type of bus.

[0145] Embodiments of the present application also provide a computer readable storage medium, which stores a computer program, wherein the computer program is configured to execute the steps in any of the above server hardware device loading method embodiments when running.

[0146] In an example embodiment, the above computer readable storage medium can include, but is not limited to, a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0147] Embodiments of the present application also provide a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the steps in any of the above server hardware device loading method embodiments.

[0148] The embodiment of the present application further provides another computer program product, comprising a nonvolatile computer readable storage medium, the nonvolatile computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the steps in the loading method embodiment of any of the server hardware devices.

[0149] Those skilled in the art will further appreciate that the units and algorithm steps of the examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, and to avoid obscuring the disclosure, the various examples have been described in general terms above with reference to the drawings. Whether such functionality is implemented in hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

[0150] The above describes in detail the loading method, device, equipment and storage medium of the server hardware device provided by the present application. The principles and implementation modes of the present application are described by applying specific examples in the present application. The above description of the examples is only to help understand the method of the present application and its core idea. It should be pointed out that, for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.

Claims

1. A method for loading server hardware, characterized in that, include: In response to the server's power-on command, a first loading time configuration list is obtained, wherein the first loading time configuration list includes first loading time information corresponding to at least one device identification information. Send a query command for loading time information to the baseboard management controller, and receive a second loading time configuration list returned by the baseboard management controller based on the query command. The second loading time configuration list includes second loading time information corresponding to at least one device identification information. For each hardware device, the first loading time configuration list and the second loading time configuration list are synchronized based on the first loading time configuration list and the second loading time configuration list; for each hardware device, the first loading time information corresponding to the device identification information is determined from the first loading time configuration list according to the device identification information corresponding to the hardware device. Based on the first loading time information corresponding to the device identification information, configure the loading time threshold of the loading timer corresponding to the hardware device; Start the loading timer corresponding to the hardware device, and load the hardware device based on the loading timer until the loading of the hardware device is completed.

2. The loading method according to claim 1, characterized in that, The step of synchronizing information between the first loading time configuration list and the second loading time configuration list based on the first loading time configuration list and the second loading time configuration list includes: Compare whether the first loading time configuration list and the second loading time configuration list are consistent; If they match, the first loading time configuration list and the second loading time configuration list will not be synchronized; if they do not match, the first loading time configuration list and the second loading time configuration list will be synchronized.

3. The loading method according to claim 2, characterized in that, The step of synchronizing information between the first loading time configuration list and the second loading time configuration list includes: Determine whether the first loading time configuration list is empty; If the first loading time configuration list is empty, then update the first loading time configuration list to the second loading time configuration list, and store the updated first loading time configuration list. If the first loading time configuration list is not empty, an update instruction for the loading time configuration list is sent to the baseboard management controller so that the baseboard management controller updates the second loading time configuration list to the first loading time configuration list.

4. The loading method according to claim 1, characterized in that, The device identification information corresponding to the hardware device includes at least one of the following: supplier identifier, device identifier, sub-supplier identifier, and sub-device identifier.

5. The loading method according to claim 1, characterized in that, The step of starting the loading timer corresponding to the hardware device and loading the hardware device based on the loading timer includes: Start the loading timer corresponding to the hardware device. If the hardware device is loaded and the loading time of the hardware device has not reached the loading time threshold configured by the loading timer, then stop the loading timer and end the loading process of the hardware device. If the hardware device has reached the loading time threshold configured by the loading timer but has not finished loading, then the timeout processing mode corresponding to the hardware device is obtained, and the hardware device is loaded according to the timeout processing mode.

6. The loading method according to claim 5, characterized in that, Loading the hardware device according to the timeout handling mode includes: If the timeout handling mode is the reload mode, then the loading state of the hardware device and the loading timer corresponding to the hardware device are reset, and the hardware device is reloaded based on the loading timer; If the timeout handling mode is the abort loading mode, then the hardware device is skipped and the next hardware device is loaded.

7. The loading method according to claim 6, characterized in that, Before resetting the loading state of the hardware device and the loading timer corresponding to the hardware device, the method further includes: Obtain the number of times the hardware device has been loaded; If the number of loading attempts reaches the preset number, the hardware device is skipped, and the next hardware device is loaded.

8. The loading method according to claim 1, characterized in that, The method further includes: In response to a configuration operation for loading time, a loading time configuration interface is displayed, which includes at least an option to add loading time information. Based on the loading time information, add options, obtain the first device identification information and the loading time information corresponding to the first device identification information; add the first device identification information and the loading time information corresponding to the first device identification information to the first loading time configuration list; Send an add command for loading time information to the baseboard management controller, so that the baseboard management controller adds the first device identification information and the loading time information corresponding to the first device identification information to the second loading time configuration list.

9. The loading method according to claim 8, characterized in that, The step of adding options based on the loading time information, obtaining the first device identification information and the loading time information corresponding to the first device identification information, includes: In response to the triggering operation of the loading time information addition option, a loading time information addition interface is displayed, which includes a first information input box for inputting device identification information and a second information input box for inputting loading time information; Obtain the first device identification information input in the first information input box and the loading time information input in the second information input box to obtain the first device identification information and the loading time information corresponding to the first device identification information.

10. The loading method according to claim 8, characterized in that, The loading time configuration interface also includes a loading time information deletion option; the method further includes: In response to the triggering operation of the loading time information deletion option, a loading time information deletion interface is displayed, which includes a third information input box for inputting device identification information; Obtain the second device identification information input from the third information input box, and delete the second device identification information and the corresponding loading time information from the first loading time configuration list; A deletion command for loading time information is sent to the baseboard management controller so that the baseboard management controller deletes the second device identification information and the loading time information corresponding to the second device identification information from the second loading time configuration list.

11. The loading method according to claim 9, characterized in that, The method further includes: In response to the configuration operation of the timeout processing mode, the timeout processing mode configuration interface is displayed, which includes a fourth information input box for inputting device identification information, a reload mode option, and an abandon loading mode option. In response to the triggering operation of the reload mode option, the fourth device identification information input in the fourth information input box is obtained, and the timeout processing mode of the hardware device corresponding to the fourth device identification information is configured as the reload mode; in response to the triggering operation of the abandon loading mode option, the timeout processing mode of the hardware device corresponding to the fourth device identification information is configured as the abandon loading mode.

12. The loading method according to claim 8, characterized in that, Also includes: In response to receiving an add command for loading time information sent by the server's basic input / output system, the add command carries first device identification information and loading time information corresponding to the first device identification information; Add the first device identification information and the corresponding loading time information to the second loading time configuration list.

13. The loading method according to claim 12, characterized in that, The method further includes: In response to a deletion command sent by the basic input / output system of the receiving server with loading time information, the second device identification information carried in the deletion command is obtained; Based on the second device identification information, delete the second device identification information and the corresponding loading time information from the second loading time configuration list.

14. The loading method according to claim 12, characterized in that, The method further includes: In response to receiving an update command for loading time information sent by the server's basic input / output system, the system acquires the third device identification information carried in the update command and the first loading time information corresponding to the third device identification information; Based on the third device identification information, the second loading time information corresponding to the third device identification information in the second loading time configuration list is updated to the first loading time information.

15. A loading device for server hardware, characterized in that, include: The acquisition unit is used to acquire a first loading time configuration list in response to the server's power-on command. The first loading time configuration list includes first loading time information corresponding to at least one device identification information. The sending unit is configured to send a query command for loading time information to the baseboard management controller and receive a second loading time configuration list returned by the baseboard management controller based on the query command. The second loading time configuration list includes second loading time information corresponding to at least one device identification information. The configuration unit is used to synchronize information between the first loading time configuration list and the second loading time configuration list for each hardware device, based on the first loading time configuration list and the second loading time configuration list; and to determine the first loading time information corresponding to the device identification information from the first loading time configuration list for each hardware device according to the device identification information corresponding to the hardware device. Based on the first loading time information corresponding to the device identification information, configure the loading time threshold of the loading timer corresponding to the hardware device; The loading unit is used to start the loading timer corresponding to the hardware device and load the hardware device based on the loading timer until the loading of the hardware device is completed.

16. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the loading method for the server hardware device as described in any one of claims 1 to 14 when executing the computer program.

17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements the steps of the loading method for the server hardware device as described in any one of claims 1 to 14.

18. A computer program product, characterized in that, Includes a computer program, wherein when the computer program is executed by a processor, it implements the steps of the loading method for the server hardware device as described in any one of claims 1 to 14.

Citation Information

Patent Citations

  • Page loading method, device and equipment and storage medium

    CN109800025A

  • Server startup processing method and device, electronic equipment and storage medium

    CN118152182A