Method and device for adjusting starting priority among equipment groups
By automatically obtaining startup setting information from the controller, adjusting the startup priority of the device group and storing the default priority, the problem of manual adjustment in the existing technology is solved, and the server operation efficiency is improved.
Patent Information
- Application Number
- CN202510333039.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-20
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2045-03-20
AI Technical Summary
The prior art requires manual entry of the BIOS interface when the server is started, which is time-consuming and labor-intensive, resulting in inefficient server operation.
By obtaining startup setting information from the controller, the startup priority of the device group is automatically adjusted, the temporary priority sequence is generated, and the default priority is stored in the preset storage area to achieve automatic recovery.
The labor cost of manual adjustment and recovery of startup priority among equipment groups is reduced, the problem of manual adjustment is solved, and the server operation efficiency is improved.
Smart Images

Figure CN119847774A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method and apparatus for adjusting startup priorities between device groups. Background Art
[0002] The peripheral devices configured on the server can be classified according to different definitions. For example, the peripheral devices can be divided into network card device group, storage device group, optical drive device group and other device groups. There is a startup priority between device groups, and the startup priority is fixed when the server leaves the factory. However, in actual applications, it is inevitable to encounter situations where the startup priority between device groups needs to be temporarily adjusted.
[0003] At present, the relevant technology usually enters the installation interface of the Basic Input Output System (BIOS) during the startup process of the server and manually adjusts the startup priority between device groups. However, this adjustment solution is time-consuming and labor-intensive, and ultimately leads to low operating efficiency of the server. Summary of the invention
[0004] The present application provides a method and apparatus for adjusting the startup priority between device groups to improve the operating efficiency of a server.
[0005] The present application provides a method for adjusting startup priorities between device groups, including:
[0006] In response to the first start operation, obtaining response data from the controller and determining whether the response data meets a preset condition;
[0007] When the preset conditions are met, the startup setting information is obtained and the startup flag is determined to be valid according to the information;
[0008] When the startup flag is valid, the startup priority of the device group is adjusted according to the startup setting information to generate a temporary priority sequence;
[0009] Determine whether the startup type is single startup;
[0010] In the single start type, each device group is started in sequence according to the temporary priority sequence;
[0011] Store the default startup priority of the device group in the preset storage area;
[0012] After responding to the second startup operation, the default priority is extracted from the storage area and restored, and then each device group is started in sequence according to the default priority, wherein the second startup operation is located after the first startup operation.
[0013] The present application also provides a device for adjusting the startup priority between device groups, including:
[0014] A response module, used for responding to the first start operation, obtaining response data from the controller and determining whether the response data meets a preset condition;
[0015] An acquisition module is used to acquire startup setting information and determine whether the startup flag is valid according to the information when the preset conditions are met;
[0016] A processing module, used for adjusting the startup priority of the device group according to the startup setting information and generating a temporary priority sequence when the startup flag is valid;
[0017] A judgment module, used to judge whether the startup type is a single startup;
[0018] The processing module is also used to start each device group in sequence according to the temporary priority sequence under the single start type;
[0019] The processing module is further used to store the default startup priority of the device group in a preset storage area;
[0020] The response module is further used to extract and restore the default priority from the storage area after responding to the second startup operation, and then start each device group in sequence according to the default priority, wherein the second startup operation is located after the first startup operation.
[0021] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned methods for adjusting the startup priority between device groups when executing the computer program.
[0022] The present application also provides a computer-readable storage medium, in which a computer program is stored, wherein when the computer program is executed by a processor, the steps of any of the above-mentioned methods for adjusting the startup priority between device groups are implemented.
[0023] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned methods for adjusting the startup priority between device groups when the computer program is executed by a processor.
[0024] Through the method and device for adjusting the boot priority between device groups provided by the present application, when the server is started, there is no need to enter the BIOS installation interface every time to manually adjust the boot priority between device groups, and after starting according to the adjusted boot priority between device groups, there is no need to manually restore the boot priority between device groups. Instead, the boot priority between device groups can be automatically adjusted according to the boot setting information obtained from the control end, and the default priority can be stored in the preset storage area. When the server is started again, the default priority can be obtained from the preset storage area, and automatically restored according to the obtained default boot priority between backup groups. Therefore, the present application reduces the manpower cost of manually adjusting and restoring the boot priority between device groups through the method of automatically adjusting and automatically restoring the boot priority between device groups, solves the problem of time-consuming and labor-intensive manual adjustment, and ultimately improves the operating efficiency of the server. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0026] Figure 1 A schematic diagram of a hardware architecture provided for an embodiment of the present application;
[0027] Figure 2 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 1 ;
[0028] Figure 3 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 2 ;
[0029] Figure 4 Steps for adjusting the startup priority for the example Figure 1 ;
[0030] Figure 5 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 3 ;
[0031] Figure 6 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 4 ;
[0032] Figure 7 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 5 ;
[0033] Figure 8 Steps for adjusting the startup priority for the example Figure 2 ;
[0034] Fig. 9 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 6 ;
[0035] Fig.10 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 7 ;
[0036] Fig.11 Steps for adjusting the startup priority for the example Figure 3 ;
[0037] Fig.12 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 8 ;
[0038] Fig.13 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 9 ;
[0039] Fig.14 Steps for adjusting the startup priority for the example Figure 4 ;
[0040] Fig.15 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 10 ;
[0041] Fig.16 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 10 one;
[0042] Fig.17 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 10 two;
[0043] Fig.18 A swimlane for the method of adjusting the priority between device groups for the example Figure 1 ;
[0044] Fig.19 A swimlane for the method of adjusting the priority between device groups for the example Figure 2 ;
[0045] Fig. 20 A schematic diagram of the structure of a device for adjusting startup priorities between device groups provided in an embodiment of the present application;
[0046] Fig.21 A schematic diagram of the structure of the electronic device provided in this application. DETAILED DESCRIPTION
[0047] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0048] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0049] In the early days, servers were mainly x86 architecture servers. Recently, with the continuous update and iteration of processor manufacturing technology, servers with Advanced RISC Machine (ARM) architecture have gradually replaced x86 architecture servers. Regardless of the architecture of the server, the same peripheral devices need to be configured. Peripheral devices can be classified according to different definitions. For example, peripheral devices can be divided into network card device group, storage device group, optical drive device group and other device groups. There is a boot priority between device groups, and the boot priority is solidified when the server leaves the factory, but in actual applications, it is inevitable to encounter situations where the boot priority between device groups needs to be temporarily adjusted. At present, the relevant technology usually enters the BIOS installation interface during the server startup process to manually adjust the boot priority between device groups, but this adjustment scheme is time-consuming and labor-intensive, and ultimately leads to low server operation efficiency.
[0050] When the server is started, the application automatically adjusts the startup priority between device groups according to the startup setting information obtained from the control end, and stores the default priority in the preset storage area. When the server is started again, the default priority can be obtained from the preset storage area and automatically restored according to the obtained default priority. The human cost of manually adjusting and restoring the startup priority between device groups is reduced, the problem of time-consuming and labor-intensive manual adjustment is solved, and the operation efficiency of the server is finally improved.
[0051] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0052] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the method for adjusting the startup priority between device groups depends, the specific application environment architecture or specific hardware architecture is described herein. Figure 1 , Figure 1 A schematic diagram of a hardware architecture provided in an embodiment of the present application is shown as follows: Figure 1 As shown, it includes a central processing unit (CPU) and a server, wherein the server includes a baseboard management controller (BMC), the server also includes BIOS, and also includes peripheral devices connected to the server. Among them, the BMC and BIOS can interact through the Intelligent Platform Management Interface (IPMI) protocol, and the BIOS and CPU can interact through the Peripheral Component Interconnect (PCI), or the Serial Peripheral Interface (SPI) or the Quad Serial Peripheral Interface (QSPI). The BMC and CPU can interact through the Redfish protocol. The CPU and storage device group, the network card device group and the optical drive device group can interact through PCI connection, the CPU and other device groups can interact through Universal Serial Bus (USB), the BMC and the network card device group can interact through LPC or PCI interface, wherein the storage device group can be composed of multiple hard disk devices, the optical drive device group includes an optical drive which can be a Compact Disc Read-Only Memory (CD-ROM) drive or a Digital Video Disc-Read Only Memory (DVD-ROM), and other device groups can be devices such as USB flash drives and USB keyboard hot keys.
[0053] Figure 2 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 1 ,like Figure 2 As shown, an embodiment of the present application provides a method for adjusting the startup priority between device groups, and the method is described in detail as follows:
[0054] S201: In response to a first startup operation, obtaining response data from a controller and determining whether the response data meets a preset condition.
[0055] Combined with the scenario example, the first startup operation is only the startup operation of the server. Specifically, the server can be started through the BMC network or IPMI command, or the server can be started by turning on the physical power button of the server. The controller can be selected as BMC. BMC is a dedicated controller for monitoring and managing servers. It is an independent system under the host server system. After the server is started, the response data about the IPMI startup item settings on the BMC side can be read through the IPMI protocol. The preset conditions can be determined according to the actual situation. After obtaining the response data, it can be determined whether the response data meets the preset conditions.
[0056] S202: When the preset conditions are met, the startup setting information is obtained and the startup flag is determined to be valid according to the information.
[0057] Combined with the scenario example, the boot setting information can be obtained from the BMC through the IPMI protocol based on the BIOS. The boot setting information includes the parameters of the boot type and the boot mode, where the boot type indicates whether it is a single boot or multiple boots, and the parameters of the boot mode indicate the boot order corresponding to the device group that needs to be adjusted. For example, the default priority is: storage device group, network card device group, optical drive device group and other device groups. If you want to adjust the boot order of the network card device group to the first order, the parameters of the boot mode can indicate that the boot order of the network card device group is adjusted to the first order. The boot flag bit can indicate whether the boot priority between device groups can be adjusted. The boot priority between device groups can be adjusted only when the boot flag bit is valid. When the boot flag bit is invalid, that is, the boot setting information is not set, or the waiting time has timed out, the boot priority between device groups cannot be adjusted.
[0058] S203: When the startup flag is valid, the startup priority of the device group is adjusted according to the startup setting information to generate a temporary priority sequence.
[0059] Combined with the scenario example, when the startup flag is valid, the startup priority of the device group is adjusted according to the startup setting information obtained above. For example, if the parameter of the startup mode in the startup setting information indicates that the startup sequence of the network card device group is adjusted to the first startup, the network card device group can be adjusted to the first startup sequence, so the temporary priority sequence obtained should be: network card device group, storage device group, optical drive device group and other device groups.
[0060] S204: Determine whether the startup type is a single startup.
[0061] In combination with the scenario example, the number of times the startup item is set can be determined according to the startup type in the startup setting information, thereby determining whether it is a single startup or multiple startups.
[0062] S205: In the single startup type, each device group is started in sequence according to the temporary priority sequence.
[0063] Combined with the scenario example, if it is a single startup, each device group is started in sequence according to the determined temporary priority sequence, that is, the network card device group, storage device group, optical drive device group and other device groups are started in sequence.
[0064] S206: Storing the default startup priority of the device group in a preset storage area.
[0065] Combined with the scenario example, since the startup priority between devices is temporary and one-time during this startup, the next startup needs to start each device group in sequence according to the default startup priority between devices. Therefore, it is necessary to temporarily store the default priority to the preset target area, such as non-volatile random access memory (NVROM).
[0066] S207: After responding to the second startup operation, extract the default priority from the storage area and restore it, and then start each device group in sequence according to the default priority, wherein the second startup operation is located after the first startup operation.
[0067] Combined with the scenario example, after completing the startup in the order of the network card device group, storage device group, optical drive device group and other device groups, the default startup priority between devices can be restored by restarting. The second startup operation can be achieved through a restart command or a shutdown and restart operation. After the server is restarted or shut down and restarted, the default priority can be obtained from the NVROM and the default priority can be restored so that each device group is started according to the default priority this time, that is, it is started in the order of the storage device group, network card device group, optical drive device group and other device groups.
[0068] The method provided in this example can reduce the labor cost of manually adjusting and restoring the startup priority between device groups by automatically adjusting and restoring the startup priority between device groups, solve the problem of time-consuming and labor-intensive manual adjustment, and ultimately improve the operating efficiency of the server.
[0069] Optional, Figure 3 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 2 ,like Figure 3As shown, in S201, response data is obtained, including:
[0070] S301: Create a single start command.
[0071] In conjunction with the scenario example, a single boot command refers to a one-time boot command of the Preboot Execution Environment (PXE), including corresponding boot setting information.
[0072] S302: Sending a single start command to a controller, so that the controller stores the single start command locally for a limited time to generate response data.
[0073] In combination with the scenario example, the controller may be the above-mentioned BMC, so after sending the created single-start command to the BMC, the BMC may store the obtained single-start command locally, that is, store the startup setting information locally, such as in NVROM or electrically erasable programmable read only memory (EEPROM), to record the startup setting information. After receiving the single-start command, the BMC may generate corresponding response data.
[0074] S303: Extract response data from the controller.
[0075] Combined with the scenario example, the server can extract corresponding response data from the controller BMC. Figure 4 Steps for adjusting the startup priority for the example Figure 1 ,like Figure 4 As shown, it is worth mentioning that after the BMC stores the single startup command in the NVROM or EEPROM, it starts automatic timing at the same time. The timing time can be preset, for example, the timing time can be set to three minutes. When the timing time reaches three minutes, regardless of whether the server has started to obtain the startup setting information, the startup setting information corresponding to the single startup command will be deleted from the NVROM or EEPROM. When the timing time does not reach three minutes, the storage of the startup setting information in the NVROM or EEPROM can be maintained. After the server obtains the startup setting information, regardless of whether the timing time reaches three minutes, the startup setting information corresponding to the single startup command will be deleted from the NVROM or EEPROM.
[0076] The method provided in this example can temporarily store the startup setting information corresponding to the single startup command to ensure the security of the startup setting information corresponding to the single startup command.
[0077] Optional, Figure 5Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 3 ,like Figure 5 As shown, accordingly, S301 includes:
[0078] S501: In the shutdown state, respond to a remote interface operation to set a single pre-boot execution environment to start, so as to create a single boot command.
[0079] Combined with the scene example, combined with Figure 4 The single boot command can be implemented in three ways. The first way is that when the server is shut down, it can be created by responding to the remote interface operation. Specifically, the remote interface can be an IPMI interface, that is, a PXE boot is set through a remote IPNI interface command to create a single boot command.
[0080] S502: In the running state, responding to the interface operation under the operating system to set a single pre-start execution environment start to create a single start command.
[0081] Combined with the scene example, combined with Figure 4 The second method is to set a PXE boot once through the in-band IPMI interface command in the system when the server is running, so as to create a single boot command. The third method is to set a PXE boot once through the single PXE function setting button on the management control interface of the BMC to create a single boot command.
[0082] The method provided in this example can achieve the purpose of generating a single startup command.
[0083] Optional, Figure 6 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 4 ,like Figure 6 As shown, S202 includes:
[0084] S601: Determine whether the response data is a first preset value, and determine whether the target position in the response data is a second preset value.
[0085] In combination with the scenario example, the first preset value may be selected as "0", the target position may be selected as bit0, and the second preset value may be "1".
[0086] S602: If the response data is not the first preset value, and the value corresponding to the target position in the response data is not the second preset value, it is determined that the response data does not meet the preset condition.
[0087] Combined with the scenario example, when the corresponding data is not 0 and the data corresponding to bit0 in the response data is not 1, for example, when the data corresponding to bit0 in the response data is 0, it can be determined that the response data does not meet the preset conditions. At this time, each device group is started in turn according to the default priority.
[0088] S603: If the response data is a first preset value, or the value corresponding to the target position in the response data is a second preset value, it is determined that the response data meets the preset condition.
[0089] In combination with the scenario example, when the corresponding data is 0, or the data corresponding to bit0 in the response data is 1, it can be determined that the response data does not meet the preset conditions, and the above S203 and subsequent solutions can continue to be executed.
[0090] The method provided in this example can achieve the purpose of determining the status of response data.
[0091] Optionally, the server further includes a basic input and output system;
[0092] Accordingly, in S207, each device group is started in sequence according to the temporary priority sequence, including:
[0093] The temporary priority sequence is updated to the installation interface of the basic input and output system, and each device group is started in sequence according to the temporary priority sequence on the installation interface.
[0094] Combined with the scenario example, the temporary priority sequence is: network card device group, storage device group, optical drive device group and other device groups. Therefore, the startup priority of the network card device group, storage device group, optical drive device group and other device groups can be updated to the BIOS installation interface. The server can start each device group in turn according to the startup priority between the device groups updated on the BIOS installation interface.
[0095] This example provides a method for temporarily adjusting the startup priority between device groups.
[0096] Optionally, in S210, extracting and restoring the default priority from the storage area includes:
[0097] Update the default priority to the BIOS installation interface to restore the default priority.
[0098] Combined with the scenario example, the default priorities are: storage device group, network card device group, optical drive device group and other device groups. After each device group is started in sequence according to the temporary priority sequence, when the computer is turned on again, each device group needs to be started in sequence according to the default startup priority. Therefore, the default startup priority between backup groups can be updated to the BIOS installation interface. The server can start each device group in sequence according to the startup priority between device groups updated on the BIOS installation interface.
[0099] The method provided in this example can restore the default priority so that each device group can be started according to the default startup priority.
[0100] Optional, Figure 7 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 5 ,like Figure 7 As shown, it also includes:
[0101] S701: When the response data does not meet the preset conditions, each device group is started in sequence according to the default priority.
[0102] Combined with the scene example, Figure 8 Steps for adjusting the startup priority for the example Figure 2 ,like Figure 8 As shown, following the above steps, after receiving the response data, the server determines whether the response data is 0, or determines whether bit0 in the response data is 1. If the response data is 0 or bit0 is 1, the startup setting information can be obtained from the BMC through the IPMI protocol according to the BIOS. If the response data is not 0 and bit0 is not 1, that is, when bit0 is 0, each device group can be started in sequence according to the default priority.
[0103] S702: When the startup flag is invalid, each device group is started in sequence according to the default priority.
[0104] Combined with the scene example, combined with Figure 8 After the BIOS obtains the boot setting information from the BMC through the IPMI protocol, it determines whether the boot flag is valid. If the boot flag is invalid, each device group is started in sequence according to the default priority. If the boot flag is valid, the number of boot items is determined according to the boot type in the boot setting information, so as to determine whether it is a single boot or multiple boots. If it is a single boot, each device group is started in sequence according to the determined temporary priority sequence, that is, it is started in sequence according to the boot order of the network card device group, storage device group, optical drive device group and other device groups, and the default priority is stored in the NVROM.
[0105] S703: When the startup type is multiple startup, each device group is started in sequence according to the default priority.
[0106] Combined with the scene example, combined with Figure 8 If it is not a single startup, each device group will be started in sequence according to the default priority.
[0107] The method provided in this example can limit the startup priority between device groups to determine the situation where each device group needs to be started with the default startup priority to avoid operation errors.
[0108] Fig. 9 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 6 ,like Fig. 9 As shown, it also includes:
[0109] S901: Determine whether the execution condition is met.
[0110] In conjunction with the scenario example, the execution condition represents whether there is an execution environment for executing a single PXE boot inside the server.
[0111] S902: If the execution condition is not met, each device group is started in sequence according to the default priority.
[0112] Combined with the scenario example, if there is no execution environment for performing a single PXE boot inside the server, it means that the server cannot adjust the boot priority between device groups, and each device group can be started according to the default boot priority, that is, in the order of storage device group, network card device group, optical drive device group and other device groups.
[0113] S903: If the execution condition is met, each device group is started in sequence according to the temporary priority sequence.
[0114] Combined with the scenario example, if there is an execution environment for performing a single PXE boot inside the server, it means that the server can adjust the boot priority between device groups, and then start each device group according to the temporary boot priority, that is, start in the order of network card device group, storage device group, optical drive device group and other device groups.
[0115] This example provides a method for determining whether the startup priorities between device groups can be adjusted within the server.
[0116] Fig.10 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 7 ,like Fig.10 As shown, S901 includes:
[0117] S1001: Installing an interface command protocol in a driver execution environment.
[0118] Combined with the scene example, Fig.11 Steps for adjusting the startup priority for the example Figure 3 ,like Fig.11 As shown, after the server is powered on, the IPMI command protocol is installed in the driver execution environment (DXE) stage of the server.
[0119] S1002: Determine whether the interface command protocol is installed successfully.
[0120] Combined with the scene example, combined with Fig.11 As shown, after the operation of installing IPMI is performed in the DXE stage of the server, it is determined whether IPMI has been successfully installed.
[0121] S1003: If the interface command protocol is not installed successfully, it is determined that the first startup operation does not meet the execution condition.
[0122] Combined with the scene example, combined with Fig.11 As shown, if IPMI is not successfully installed, it is determined that the above-mentioned first startup operation does not meet the execution conditions. At this time, the BIOS of the server cannot adjust the startup priority between device groups. Therefore, if IPMI is not successfully installed, each device group is started in turn according to the default priority.
[0123] S1004: If the interface command protocol is installed successfully, check whether the hardware management protocol supports operation.
[0124] Combined with the scene example, combined with Fig.11 As shown, if IPMI is successfully installed, it is checked in the DXE stage of the server whether the hardware management protocol supports operation, and the hardware management protocol can be the Redfish protocol.
[0125] S1005: If the hardware management protocol does not support operation, determine that the first startup operation meets the execution condition.
[0126] Combined with the scene example, combined with Fig.11 As shown, if the Redfish protocol does not support operation, the server can perform the first startup operation, and continue to perform the steps of obtaining the IPMI startup setting response data of the BMC end through the IPMI command and the subsequent steps.
[0127] S1006: If the hardware management protocol supports the execution of the first startup operation, it is determined whether the hardware management protocol has information for modifying the startup item settings.
[0128] Combined with the scene example, combined with Fig.11 As shown, if the Redfish protocol supports running, it is determined whether there is information for modifying the startup item settings of the Redfish protocol.
[0129] S1007: If the hardware management protocol contains information for modifying the startup item settings, it is determined that the first startup operation does not meet the execution condition.
[0130] Combined with the scene example, combined with Fig.11 As shown, if the Redfish protocol has information for modifying the startup item settings, the startup priority between the device groups should be set according to the information for modifying the startup item settings in the Redfish protocol, and the device groups should be started in sequence according to the startup priority between the device groups after the setting.
[0131] S1008: If the hardware management protocol does not contain information for modifying the startup item settings, it is determined that the first startup operation meets the execution condition.
[0132] Combined with the scene example, combined with Fig.11 As shown, if the Redfish protocol does not have information for modifying the startup item settings, the server can perform the first startup operation and continue to perform the steps of obtaining the IPMI startup setting response data of the BMC end through the IPMI command and the subsequent steps.
[0133] The method provided in this example can judge the IPMI protocol and the Redfish protocol in turn to ensure the execution condition of the first startup operation.
[0134] Fig.12 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 8 ,like Fig.12 As shown, it also includes:
[0135] S1201: If the hardware management protocol contains information for modifying the startup item settings, then the startup priority between the device groups corresponding to the hardware management protocol is determined.
[0136] Combined with the scene example, combined with Fig.11 As shown, when there is information about modifying the startup item settings in the Redfish protocol, the startup priorities between the device groups are adjusted according to the information about modifying the startup item settings in the Redfish protocol.
[0137] S1202: Start each device group in sequence according to the startup priority between the device groups corresponding to the hardware management protocol.
[0138] Combined with the scene example, combined with Fig.11As shown, each device group is started in sequence according to the startup priority between the device groups corresponding to the Redfish protocol. The startup priority between the device groups corresponding to the Redfish protocol can be the default priority, that is, the storage device group, the network card device group, the optical drive device group and other device groups. At this time, each device group is started in sequence according to the startup sequence of the storage device group, the network card device group, the optical drive device group and other device groups. The startup priority between the device groups corresponding to the Redfish protocol can also be a temporary priority sequence, that is, the network card device group, the storage device group, the optical drive device group and other device groups. At this time, each device group is started in sequence according to the startup sequence of the network card device group, the storage device group, the optical drive device group and other device groups. The startup priority between the device groups corresponding to the Redfish protocol can also be other startup priorities. For example, if the startup priority between the device groups corresponding to the Redfish protocol is the network card device group, the optical drive device group, the storage device group and other device groups, then at this time, each device group is started in sequence according to the startup sequence of the network card device group, the optical drive device group, the storage device group and other device groups.
[0139] The method provided in this example starts with the corresponding startup priority in the Redfish protocol, which can ensure the normal operation of the server.
[0140] Fig.13 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 9 ,like Fig.13 As shown, it also includes:
[0141] S1301: Real-time monitoring of whether there is any hot key command input.
[0142] Combined with the scene example, Fig.14 Steps for adjusting the startup priority for the example Figure 4 ,like Fig.14 As shown, when the server is started according to the temporary priority sequence updated on the BIOS installation interface, the hotkey function module is executed to monitor in real time whether there is an input of a hotkey instruction.
[0143] S1302: If there is a hot key command input, execute the function corresponding to the hot key command.
[0144] Combined with the scene example, combined with Fig.14 If the input of a hot key command is detected, the function corresponding to the hot key command is executed to interrupt the activity of starting each device group in sequence according to the temporary priority sequence.
[0145] S1303: If there is no hot key command input, each device group is started in sequence according to the temporary priority sequence.
[0146] Combined with the scene example, combined with Fig.14 If no hot key command input is detected, each device group will continue to be started in sequence according to the temporary priority sequence, that is, each device group will be started in sequence according to the startup order of the network card device group, storage device group, optical drive device group and other device groups.
[0147] The method provided in this example can interrupt the process of starting each device group in sequence according to the temporary priority sequence through a hotkey command, so as to improve the flexibility of server startup.
[0148] Fig.15 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 10 ,like Fig.15 As shown, S1302 includes:
[0149] S1501: Determine the hot key instruction type.
[0150] Combined with the scenario examples, the hotkey command types mainly include the following: Delete hotkey command, F11 hotkey command and F12 hotkey command.
[0151] S1502: If the hotkey command type is a preset first hotkey command, then enter the basic input and output system installation interface and select the pre-boot execution environment to start.
[0152] In combination with the scenario example, the preset first hotkey command may be a Delete hotkey command. When the received hotkey command is the Delete hotkey command, the BIOS installation interface may be entered, and PXE boot may be selected in the BIOS installation interface.
[0153] S1503: If the hot key instruction type is the preset second hot key instruction, select the device group to be started and start it.
[0154] Combined with the scenario example, the preset second hot key command can be the F11 hot key command. When the received hot key command is the F11 hot key command, you can select the device group to be started through the device item to start it. For example, if you select the network card device group, you can start the network card device group; if you select the storage device group, you can start the storage device group.
[0155] S1504: If the hotkey instruction type is the preset third hotkey instruction, the pre-start execution environment function is started.
[0156] In combination with the scenario example, the preset second hotkey command can be an F12 hotkey command. When the received hotkey command is the F12 hotkey command, the PXE function is started. At this time, the adjusted startup item device grouping order will not be modified in the hotkey function part, that is, it will be started according to the default priority.
[0157] The method provided in this example can achieve different functions through different hotkey commands, which can improve the flexibility of server startup.
[0158] Optionally, after S1303, the following steps are further included:
[0159] Determine whether the current device group startup priority meets expectations.
[0160] Combined with the scenario example, in the absence of hotkey command input, after starting each device group according to the startup sequence of the network card device group, storage device group, optical drive device group and other device groups, it can be determined whether the actual startup priority corresponding to the device groups conforms to the startup sequence of the network card device group, storage device group, optical drive device group and other device groups.
[0161] This example provides a method for determining whether each device group is successfully started according to the temporary priority sequence.
[0162] Fig.16 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 10 One, such as Fig.16 As shown, determine whether the current device group startup priority meets expectations, including:
[0163] S1601: Use the preset environment tool to read the current startup sequence between device groups.
[0164] Combined with the scene example, combined with Fig.14 , to determine whether the actual boot priorities corresponding to the device groups are consistent with the boot sequence of the network card device group, storage device group, optical drive device group and other device groups. By entering the PXE operating system and using the preset environment tool, you can set the control environment (Setup Control Environment, SCE for short) to read the actual boot device group sequence of the current server.
[0165] S1602: Determine whether the current startup sequence between device groups corresponds to the temporary priority sequence.
[0166] Combined with the scene example, combined with Fig.14 , judging whether the actual startup item device group sequence of the current server read by the SCE is the startup sequence of the network card device group, the storage device group, the optical drive device group and the other device groups.
[0167] S1603: If the current startup sequence between the device groups corresponds to the temporary priority sequence, it is determined that the current startup priority of the device group meets expectations; otherwise, it is determined that the current startup priority of the device group does not meet expectations.
[0168] Combined with the scene example, combined with Fig.14 If the actual startup item device group sequence of the current server meets the startup sequence of the network card device group, storage device group, optical drive device group and other device groups, then it is determined that the device group startup priority meets expectations; conversely, if the actual startup item device group sequence of the previous server does not meet the startup sequence of the network card device group, storage device group, optical drive device group and other device groups, then it is determined that the device group startup priority does not meet expectations.
[0169] This example provides a method for determining whether each device group is successfully started according to the temporary priority sequence.
[0170] Optionally, after S2011, it also includes:
[0171] Determine whether the current device group startup priority meets expectations.
[0172] Combined with the scene example, combined with Fig.14 After verifying the current boot order between device groups using the preset environment tool, you need to restore the boot order between device groups to the default boot priority, that is, restore it to the boot order of storage device group, network card device group, optical drive device group and other device groups. At this time, you need to extract the default priority from NVROM, restore the default priority to the BIOS installation interface for booting, and determine whether the boot order between device groups has been restored to the default priority.
[0173] This example provides a method for determining whether each device group is successfully started according to the default priority.
[0174] Fig.17 Schematic diagram of the process of adjusting the startup priority between device groups provided in the embodiment of the present application Figure 10 Second, such as Fig.17 As shown, determine whether the current device group startup priority meets expectations, including:
[0175] S1701: Use the preset environment tool to read the current startup sequence between device groups.
[0176] Combined with the scene example, combined with Fig.14 , to determine whether the actual boot priorities corresponding to the device groups are consistent with the boot order of the storage device group, network card device group, optical drive device group and other device groups. You can enter the PXE operating system and use the preset SCE to read the actual boot item device group order of the current server.
[0177] S1702: Determine whether the current startup sequence between device groups corresponds to the default priority.
[0178] Combined with the scene example, combined with Fig.14, judging whether the actual startup item device group sequence of the current server read by the SCE is the startup sequence of the storage device group, the network card device group, the optical drive device group and the other device groups.
[0179] S1703: If the current startup sequence between the device groups corresponds to the default priority, it is determined that the current startup priority of the device group meets expectations; otherwise, it is determined that the current startup priority of the device group does not meet expectations.
[0180] Combined with the scene example, combined with Fig.14 If the actual startup item device group sequence of the current server meets the startup sequence of the storage device group, the network card device group, the optical drive device group and other device groups, then it is determined that the device group startup priority meets expectations; conversely, if the actual startup item device group sequence of the previous server does not meet the startup sequence of the storage device group, the network card device group, the optical drive device group and other device groups, then it is determined that the device group startup priority does not meet expectations.
[0181] This example provides a method for determining whether each device group is successfully started according to the default priority.
[0182] Fig.18 A swimlane for the method of adjusting the priority between device groups for the example Figure 1 ,like Fig.18 As shown, the server includes an operating system, a BMC controller, and a basic input and output system (BIOS). Fig.18 Detail the corresponding operation steps for the server and each system.
[0183] like Fig.18As shown, when the server is in shutdown state, a PXE boot can be set once through a remote IPMI command to generate a single boot command. Or when the server is powered on, a PXE can be set once through an IPMI command under the server's operating system to generate a single boot command. Or a single boot command can be generated through a single PXE function setting button on the remote BMC management control interface. Then the obtained single boot command is sent to the controller BMC, and the single boot command includes boot setting information. The controller BMC stores the corresponding boot setting information in the obtained single boot command into the local NVROM or EEPROM, and starts the timing function at the same time. After the timing exceeds three minutes, the BMC deletes the boot setting information stored in the NVROM or EEPROM. When the timing does not exceed three minutes, the BMC continues to store the boot setting information in the NVROM or EEPROM until three minutes are reached. After that, the server is powered on, and can be powered on through an IPMI command or powered on by the power button. After the server is turned on, IPOS installs the IPMI protocol in the DXE phase of startup and determines whether the IPMI protocol is successfully installed. If the IPMI protocol is not successfully installed, it is determined that the server has no way to adjust the startup priority between device groups. At this time, each device group is turned on according to the default priority. If the IPMI protocol is successfully installed, it checks whether the Redfish protocol supports operation in the DXE phase of startup. If the Redfish protocol supports operation, it determines whether there is information to modify the startup item settings of the Redfish protocol. If there is information to modify the startup item settings, the corresponding startup priority is determined based on the information to modify the startup item settings in the Redfish protocol, and each device group is turned on in turn according to the startup priority corresponding to the Redfish protocol. If the Redfish protocol does not support operation, or the Redfish protocol supports operation but there is no information to modify the startup item settings in the Redfish protocol, the response data from the BMC is obtained through the IPMI command. Fig.19 A swimlane for the method of adjusting the priority between device groups for the example Figure 2 ,like Fig.19, after obtaining the response data from the BMC through the IPMI command, IPOS determines whether the response data is 0, and determines whether Bit0 in the response data is 1. If IPOS determines that the response data is not 0 and Bit0 is not 1, it determines that the server cannot adjust the boot priority between device groups, and then starts each device group in sequence according to the default priority. If IPOS determines that the response data is 0, or Bit0 is 1, it obtains the boot device information through the IPMI command, and determines that the corresponding boot flag is valid. If the boot flag is invalid, it determines that the server cannot adjust the boot priority between device groups, and then starts each device group in sequence according to the default priority. If the boot flag is valid, it determines whether it is a single PXE boot. If it is not a single PXE boot, it determines that the server cannot adjust the boot priority between device groups, and then starts each device group in sequence according to the default priority. If it is a single PXE boot, each device group is started in sequence according to the default priority, and the default priority is stored in the NVROM. In the process of starting each device group in sequence according to the default priority, the hotkey function module is executed at the same time, and the input of the hotkey command is detected in real time. If there is a hotkey command input, the corresponding function is executed according to the hotkey command. For example, if the Delete hotkey command is input, the BIOS installation interface is entered, and PXE boot is selected in the BIOS installation interface; if the F11 hotkey command is input, the device group to be started is selected through the device item to start; if the F12 hotkey command is input, the PXE function is started. In addition, if there is no hotkey command input, each device group is started in sequence according to the default priority, that is, each device group is started in sequence according to the startup sequence of the network card device group, storage device group, optical drive device group and other device groups. After that, the startup sequence is verified to determine whether the startup priority between the device groups has been adjusted to a temporary startup priority. Specifically, the PXE operating system is entered through the operating system, and the SCE tool is used to read the startup item device group sequence of the current server. If it is a network card device group, a storage device group, an optical drive device group and other device groups, it is determined that the startup priority between the device groups has been adjusted to a temporary startup priority. After that, the boot order between device groups needs to be restored. Specifically, the server can be restarted or shut down and then turned on again. The BIOS obtains the default priority from the NVROM, and then starts after updating the default priority to the BIOS installation interface to restore the default priority. Then verify the boot order to determine whether the boot priority between device groups has been restored to the default boot priority. Specifically, enter the PXE operating system through the operating system, and use the SCE tool to read the boot item device group order of the current server. If it is a storage device group, a network card device group, an optical drive device group, or other device groups, it is determined that the boot priority between device groups has been restored to the default boot priority.
[0184] In this embodiment, when the server is started, there is no need to enter the BIOS installation interface each time to manually adjust the boot priority between device groups, and after starting according to the adjusted boot priority between device groups, there is no need to manually restore the boot priority between device groups. Instead, the boot priority between device groups can be automatically adjusted according to the boot setting information obtained from the control end, and the default priority can be stored in the preset storage area. When the server is started again, the default priority can be obtained from the preset storage area, and automatically restored according to the obtained default boot priority between backup groups. Therefore, the method provided in this embodiment can reduce the manpower cost of manually adjusting and restoring the boot priority between device groups by automatically adjusting and restoring the boot priority between device groups, solve the problem of time-consuming and labor-intensive manual adjustment, and ultimately improve the operating efficiency of the server.
[0185] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method.
[0186] Fig. 20 This is a schematic diagram of the structure of the device for adjusting the startup priority between device groups provided in the embodiment of the present application. Fig. 20 As shown, an embodiment of the present application further provides a device for adjusting the startup priority between device groups, including:
[0187] The response module 2001 is used to respond to the first start operation, obtain response data from the controller and determine whether the response data meets the preset conditions;
[0188] The acquisition module 2002 is used to acquire the startup setting information and determine whether the startup flag is valid according to the information when the preset conditions are met;
[0189] The processing module 2003 is used to adjust the startup priority of the device group according to the startup setting information and generate a temporary priority sequence when the startup flag is valid;
[0190] The judging module 2004 is used to judge whether the startup type is a single startup;
[0191] The processing module 2003 is further used to start each device group in sequence according to the temporary priority sequence under the single startup type;
[0192] The processing module 2003 is further used to store the default startup priority of the device group in a preset storage area;
[0193] The response module 2001 is further used to extract and restore the default priority from the storage area in response to the second startup operation, and then start each device group in sequence according to the default priority, wherein the second startup operation is located after the first startup operation.
[0194] Optionally, an acquisition module 2002 is specifically used to create a single start command;
[0195] The acquisition module 2002 is further specifically used to send the single start command to the controller, so that the controller stores the single start command locally for a limited time to generate response data;
[0196] The acquisition module 2002 is further specifically configured to extract response data from the controller.
[0197] Optionally, the server includes a shutdown state and a running state, and the server includes an operating system;
[0198] The acquisition module 2002 is further specifically used to respond to a remote interface operation in a shutdown state to set a single pre-start execution environment startup to create a single startup command;
[0199] The acquisition module 2002 is further specifically used to respond to the interface operation under the operating system in the running state to set a single pre-start execution environment startup to create a single startup command.
[0200] Optionally, the acquisition module 2002 is further configured to determine whether the response data is a first preset value, and determine whether the target position in the response data is a second preset value;
[0201] The acquisition module 2002 is further configured to determine that the response data does not meet the preset condition if the response data is not the first preset value and the value corresponding to the target position in the response data is not the second preset value;
[0202] The acquisition module 2002 is further specifically configured to determine that the response data meets a preset condition if the response data is a first preset value, or if the value corresponding to the target position in the response data is a second preset value.
[0203] Optionally, the server further includes a basic input / output system, and a processing module 2003 is specifically configured to update the temporary priority sequence to the installation interface of the basic input / output system, and start each device group in sequence according to the temporary priority sequence on the installation interface.
[0204] Optionally, the processing module 2003 is further configured to update the default priority to the installation interface of the basic input / output system to restore the default priority.
[0205] Optionally, the processing module 2003 is further configured to start each device group in sequence according to a default priority when the response data does not meet a preset condition;
[0206] The processing module 2003 is further used to start each device group in sequence according to the default priority when the start flag is invalid;
[0207] The processing module 2003 is further configured to start each device group in sequence according to a default priority when the startup type is multiple startups.
[0208] Optionally, the processing module 2003 is further used to determine whether the execution condition is met;
[0209] The processing module 2003 is further used to start each device group in sequence according to the default priority if the execution condition is not met;
[0210] The processing module 2003 is further configured to start each device group in sequence according to the temporary priority sequence if the execution condition is met.
[0211] Optionally, the processing module 2003 is further configured to install an interface command protocol in the driver execution environment;
[0212] The processing module 2003 is further used to determine whether the interface command protocol is successfully installed;
[0213] The processing module 2003 is further configured to determine that the first startup operation does not meet the execution condition if the interface command protocol is not successfully installed;
[0214] The processing module 2003 is further configured to check whether the hardware management protocol supports operation if the interface command protocol is successfully installed;
[0215] The processing module 2003 is further configured to determine that the first startup operation meets the execution condition if the hardware management protocol does not support the operation;
[0216] The processing module 2003 is further specifically used to determine whether there is information for modifying the startup item setting in the hardware management protocol if the hardware management protocol supports the operation;
[0217] The processing module 2003 is further configured to determine that the first startup operation does not meet the execution condition if the hardware management protocol contains information for modifying the startup item setting;
[0218] The processing module 2003 is further specifically configured to determine that the first startup operation meets the execution condition if the hardware management protocol does not contain information for modifying the startup item settings.
[0219] Optionally, the processing module 2003 is further configured to determine the startup priority between the device groups corresponding to the hardware management protocol if the hardware management protocol contains information for modifying the startup item settings;
[0220] The processing module 2003 is further used to start each device group in sequence according to the start priority between the device groups corresponding to the hardware management protocol.
[0221] Optionally, the processing module 2003 is further used to monitor in real time whether there is a hot key command input;
[0222] The processing module 2003 is further used to execute the function corresponding to the hot key instruction if there is a hot key instruction input;
[0223] The processing module 2003 is further configured to start each device group in sequence according to a temporary priority sequence if there is no hot key command input.
[0224] Optionally, the processing module 2003 is further configured to determine the hotkey instruction type;
[0225] The processing module 2003 is further configured to enter the installation interface of the basic input and output system and select the pre-start execution environment to start if the hotkey instruction type is the preset first hotkey instruction;
[0226] The processing module 2003 is further configured to select a device group to be started for startup if the hotkey instruction type is a preset second hotkey instruction;
[0227] The processing module 2003 is further specifically configured to start the pre-start execution environment function if the hotkey instruction type is a preset third hotkey instruction.
[0228] Optionally, the processing module 2003 is further used to determine whether the current device group startup priority meets expectations.
[0229] Optionally, the processing module 2003 is further configured to use a preset environment tool to read the startup sequence between the current device groups;
[0230] The processing module 2003 is further configured to determine whether the startup sequence between the current device groups corresponds to the temporary priority sequence;
[0231] The processing module 2003 is further specifically used to determine that the current device group startup priority meets expectations if the startup sequence between the current device groups corresponds to the temporary priority sequence, and vice versa, determine that the current device group startup priority does not meet expectations.
[0232] Optionally, the processing module 2003 is further used to determine whether the current device group startup priority meets expectations.
[0233] Optionally, the processing module 2003 is further configured to use a preset environment tool to read the startup sequence between the current device groups;
[0234] The processing module 2003 is further used to determine whether the startup sequence between the current device groups corresponds to the default priority;
[0235] The processing module 2003 is further specifically used to determine that the current device group startup priority meets expectations if the startup sequence between the current device groups corresponds to the default priority; otherwise, determine that the current device group startup priority does not meet expectations.
[0236] For the description of the features in the embodiment corresponding to the device for adjusting the startup priority between device groups, reference can be made to the relevant description of the embodiment corresponding to the method for adjusting the startup priority between device groups, which will not be repeated here.
[0237] Fig.21 This is a schematic diagram of the structure of the electronic device provided in this application. Fig.21 As shown, the electronic device 50 provided in this embodiment includes: at least one processor 501 and a memory 502. Optionally, the device 50 also includes a communication component 503. The processor 501, the memory 502 and the communication component 503 are connected via a bus.
[0238] In a specific implementation process, at least one processor 501 executes the computer-executable instructions stored in the memory 502, so that at least one processor 501 executes the above-mentioned embodiment of the method for adjusting the startup priority between device groups.
[0239] The specific implementation process of the processor 501 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0240] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0241] The memory may include a high-speed memory (Random Access Memory, referred to as RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.
[0242] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (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 this application is not limited to only one bus or one type of bus.
[0243] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned embodiments of the method for adjusting the startup priority between device groups when running.
[0244] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0245] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned embodiments of the method for adjusting the startup priority between device groups are implemented.
[0246] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, implementing the steps in any of the above-mentioned embodiments of the method for adjusting the startup priority between device groups.
[0247] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0248] The above is a detailed introduction to a method and device for adjusting the startup priority between device groups provided by the present application. This article uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A method for adjusting startup priorities between device groups, characterized in that: include: In response to the first start operation, obtaining response data from the controller and determining whether the response data meets a preset condition; When the preset conditions are met, the startup setting information is obtained and the startup flag is determined to be valid according to the information; When the startup flag is valid, the startup priority of the device group is adjusted according to the startup setting information to generate a temporary priority sequence; Determine whether the startup type is single startup; In the single start type, each device group is started in sequence according to the temporary priority sequence; Store the default startup priority of the device group in the preset storage area; After responding to the second startup operation, the default priority is extracted from the storage area and restored, and then each device group is started in sequence according to the default priority, wherein the second startup operation is located after the first startup operation.
2. The method according to claim 1, characterized in that The obtaining of response data includes: Create a single start command; Sending the single start command to a controller so that the controller stores the single start command locally for a limited time to generate response data; The response data is extracted from the controller.
3. The method according to claim 2, characterized in that The server includes a shutdown state and a running state, and the server includes an operating system; Accordingly, the creation of a single start command includes: In the shutdown state, responding to a remote interface operation to set a single pre-boot execution environment boot to create the single boot command; In the running state, responding to the interface operation under the operating system to set a single pre-boot execution environment boot to create the single boot command.
4. The method according to claim 1, characterized in that: The determining whether the response data meets a preset condition includes: Determining whether the response data is a first preset value, and determining whether the target position in the response data is a second preset value; If the response data is not the first preset value, and the value corresponding to the target position in the response data is not the second preset value, it is determined that the response data does not meet the preset condition; If the response data is the first preset value, or the value corresponding to the target position in the response data is the second preset value, it is determined that the response data meets the preset condition.
5. The method according to claim 1, characterized in that The server also includes a basic input and output system; Accordingly, starting each device group in sequence according to the temporary priority sequence includes: The temporary priority sequence is updated to the installation interface of the basic input and output system, and each device group is started in sequence according to the temporary priority sequence on the installation interface.
6. The method according to claim 5, characterized in that The extracting and restoring the default priority from the storage area includes: The default priority is updated to the installation interface of the basic input and output system to restore the default priority.
7. The method according to claim 1, characterized in that Also includes: When the response data does not meet the preset conditions, each device group is started in sequence according to the default priority; When the startup flag is invalid, each device group is started in sequence according to the default priority; When the startup type is multiple startup, each device group is started in sequence according to the default priority.
8. The method according to claim 1, characterized in that Also includes: Determine whether the execution conditions are met; If the execution condition is not met, each device group is started in sequence according to the default priority; If the execution condition is met, each device group is started in sequence according to the temporary priority sequence.
9. The method according to claim 8, characterized in that The determining whether the execution condition is met includes: Install the interface command protocol in the driver execution environment; Determining whether the interface command protocol is successfully installed; If the interface command protocol is not installed successfully, determining that the first startup operation does not meet the execution condition; If the interface command protocol is successfully installed, then check whether the hardware management protocol supports operation; If the hardware management protocol does not support operation, determining that the first startup operation meets the execution condition; If the hardware management protocol supports running, determining whether the hardware management protocol has information for modifying startup item settings; If the hardware management protocol contains information for modifying the startup item settings, determining that the first startup operation does not meet the execution condition; If the hardware management protocol does not contain information for modifying the startup item settings, it is determined that the first startup operation meets the execution condition.
10. The method according to claim 9, characterized in that Also includes: If the hardware management protocol contains information for modifying the startup item settings, determining the startup priority between the device groups corresponding to the hardware management protocol; Each device group is started in sequence according to the startup priority between the device groups corresponding to the hardware management protocol.
11. The method according to claim 1, characterized in that: Also includes: Real-time monitoring of whether there is hot key command input; If there is a hotkey command input, the function corresponding to the hotkey command is executed; If there is no hot key command input, each device group is started in sequence according to the temporary priority sequence.
12. The method according to claim 11, characterized in that If there is a hotkey command input, executing the function corresponding to the hotkey command includes: Determine the hotkey instruction type; If the hotkey command type is a preset first hotkey command, entering the basic input and output system installation interface and selecting the pre-boot execution environment to start; If the hotkey instruction type is the preset second hotkey instruction, then select the device group to be started to start; If the hotkey instruction type is the preset third hotkey instruction, the pre-start execution environment function is started.
13. The method according to claim 11, characterized in that After the step of starting each device group in sequence according to the temporary priority sequence if no hot key command input exists, the method further includes: Determine whether the current device group startup priority meets expectations.
14. The method according to claim 13, characterized in that The determining whether the current device group startup priority meets expectations includes: Use the preset environment tool to read the current startup order between device groups; Determining whether the current startup sequence between the device groups corresponds to the temporary priority sequence; If the current startup sequence between the device groups corresponds to the temporary priority sequence, it is determined that the current startup priority of the device group meets expectations; otherwise, it is determined that the current startup priority of the device group does not meet expectations.
15. The method according to claim 1, characterized in that After starting each device group in sequence according to the default priority, the method further includes: Determine whether the current device group startup priority meets expectations.
16. The method according to claim 15, characterized in that The determining whether the current device group startup priority meets expectations includes: Use the preset environment tool to read the current startup order between device groups; Determining whether the startup sequence between the current device groups corresponds to the default priority; If the current startup sequence between the device groups corresponds to the default priority, it is determined that the current startup priority of the device group meets expectations; otherwise, it is determined that the current startup priority of the device group does not meet expectations.
17. A device for adjusting startup priority between equipment groups, characterized in that: include: A response module, used for responding to the first start operation, obtaining response data from the controller and determining whether the response data meets a preset condition; An acquisition module is used to acquire startup setting information and determine whether the startup flag is valid according to the information when the preset conditions are met; A processing module, used for adjusting the startup priority of the device group according to the startup setting information and generating a temporary priority sequence when the startup flag is valid; A judgment module, used to judge whether the startup type is a single startup; The processing module is also used to start each device group in sequence according to the temporary priority sequence under the single start type; The processing module is further used to store the default startup priority of the device group in a preset storage area; The response module is further used to extract and restore the default priority from the storage area after responding to the second startup operation, and then start each device group in sequence according to the default priority, wherein the second startup operation is located after the first startup operation.
18. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the method for adjusting the startup priority between device groups as described in any one of claims 1 to 16 when executing the computer program.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method for adjusting the startup priority between device groups as described in any one of claims 1 to 16.
20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method for adjusting the startup priority between device groups as described in any one of claims 1 to 16 are implemented.
Citation Information
Patent Citations
Method and device for adjusting starting sequence of network card PXE
CN111124508A
Startup item configuration method and device, computer equipment and storage medium
CN116521261A
Hard disk priority setting method and device, computer equipment and storage medium
CN119003006A
Startup item sequence adjustment method, system and equipment and computer storage medium
CN119356743A
Server startup item adjusting method and apparatus, non-volatile readable storage medium, and electronic apparatus
WO2024169300A1
Cited By
Server starting method and device, electronic equipment and storage medium
CN120353506A
Server starting method and device, electronic equipment and storage medium
CN120407032A
Method and apparatus for adjusting boot priority among device groups
WO2026194063A1