Method and device for adjusting startup priority among device groups

The automated adjustment and restoration of device group startup priorities in servers addresses the inefficiency of manual BIOS interventions, improving server performance by reducing manual labor and time consumption.

CN119847774BActive Publication Date: 2025-07-15INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510333039.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-20
Publication Date
2025-07-15
Estimated Expiration
2045-03-20

AI Technical Summary

Technical Problem

In the prior art, the adjustment of the priority of starting between server devices needs to be manually performed on the BIOS interface, which consumes time and effort, resulting in low operational efficiency.

Method used

By obtaining startup setting information from the control side, the startup priority between device groups is automatically adjusted, and the default priority is stored in the preset storage area, which automatically recovers when the server starts up again, reducing the cost of human adjustment and recovery.

Benefits of technology

It realizes the priority of starting between equipment without manual adjustment and recovery, improves server operation efficiency and reduces labor costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847774B_ABST
    Figure CN119847774B_ABST
Patent Text Reader

Abstract

The present application discloses a method and device for adjusting the startup priority between device groups, which relates to the field of computer technology. In response to a first startup operation, when the response data meets the preset conditions, startup setting information is obtained. When the startup flag bit is valid, the startup priority of the device groups is adjusted according to the startup setting information to generate a temporary priority sequence. In the case of a single startup type, each device group is started in turn according to the temporary priority sequence, and the default startup priority of the device groups is stored in a preset storage area. After responding to a second startup operation, the default priority is restored and each device group is started in turn according to the default priority. The method provided by the present application can reduce the labor cost of manually adjusting and manually restoring the startup priority between device groups by automatically adjusting and automatically restoring the startup priority between device groups, solve the problem of time-consuming and laborious manual adjustment, and ultimately improve the operation efficiency of the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technologies, and in particular, to a method and apparatus for adjusting the startup priority between device groups. Background Art

[0002] The peripheral devices configured on a server can be classified according to different definitions. For example, the peripheral devices can be divided into a network card device group, a storage device group, an optical drive device group, and other device groups. There is a startup priority between the device groups, and the startup priority is solidified when the server leaves the factory. However, in practical applications, it is inevitable to encounter the situation where it is necessary to temporarily adjust the startup priority between the device groups.

[0003] Currently, in the related technologies, usually during the startup process of the server, enter the installation interface of the Basic Input Output System (BIOS for short), and manually adjust the startup priority between the device groups. However, this adjustment solution is time-consuming and laborious, and ultimately results in low operating efficiency of the server. Summary of the Invention

[0004] This application provides a method and apparatus for adjusting the startup priority between device groups to improve the operating efficiency of the server.

[0005] This application provides a method for adjusting the startup priority between device groups, including:

[0006] Respond to a first startup operation, obtain response data from a controller, and determine whether the response data meets a preset condition;

[0007] When meeting the preset condition, obtain startup setting information and determine whether a startup flag bit is valid according to the information;

[0008] When the startup flag bit is valid, adjust the startup priority of the device groups according to the startup setting information to generate a temporary priority sequence;

[0009] Determine whether the startup type is a single startup;

[0010] In the case of a single startup type, start each device group in sequence according to the temporary priority sequence;

[0011] Store the default startup priority of the device groups in a preset storage area;

[0012] After responding to a 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, where the second startup operation is after the first startup operation.

[0013] This application also provides an apparatus for adjusting the startup priority between device groups, including:

[0014] A response module, configured to respond to a first startup operation, obtain response data from a controller, and determine whether the response data meets a preset condition;

[0015] An acquisition module, configured to, when the preset condition is met, obtain startup setting information and determine whether a startup flag bit is valid according to the information;

[0016] A processing module, configured to, when the startup flag bit is valid, adjust the startup priority of a device group according to the startup setting information to generate a temporary priority sequence;

[0017] A judgment module, configured to judge whether the startup type is a single startup;

[0018] The processing module is further configured to, in the case of a single startup type, start each device group in sequence according to the temporary priority sequence;

[0019] The processing module is further configured to store the default startup priority of the device group in a preset storage area;

[0020] The response module is further configured to, after responding to a second startup operation, extract and restore the default priority from the storage area, and then start each device group in sequence according to the default priority, where the second startup operation is after the first startup operation.

[0021] This application further provides an electronic device, including: a memory, configured to store a computer program; a processor, configured to implement the steps of any of the above methods for adjusting the startup priority between device groups when executing the computer program.

[0022] This application further provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the steps of any of the above methods for adjusting the startup priority between device groups are implemented.

[0023] This application further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of any of the above methods for adjusting the startup priority between device groups are implemented.

[0024] Through the method and device for adjusting the startup priority between device groups provided by this application, when the server starts up, there is no need to manually adjust the startup priority between device groups each time by entering the BIOS installation interface. Moreover, after starting up according to the adjusted startup priority between device groups, there is no need to manually restore the startup priority between device groups either. Instead, it is possible to automatically adjust the startup priority between device groups according to the startup setting information obtained from the control terminal, and store the default priority in a preset storage area. When the server starts up again, the default priority can be obtained from the preset storage area and automatically restored according to the default startup priority between the obtained device groups. Therefore, through the method of automatically adjusting and automatically restoring the startup priority between device groups, this application reduces the labor cost of manually adjusting and manually restoring the startup priority between device groups, solves the problem of time-consuming and laborious manual adjustment, and ultimately improves the operation efficiency of the server. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] To more clearly illustrate the embodiments of this application, the following will briefly introduce the drawings required for the embodiments. Obviously, the drawings in the following description are only some embodiments of this application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0026] Figure 1 Schematic diagram of a hardware architecture provided for an embodiment of this application;

[0027] Figure 2 Flow chart of the method for adjusting the startup priority between device groups provided for an embodiment of this application Figure 1 ;

[0028] Figure 3 Flow chart of the method for adjusting the startup priority between device groups provided for an embodiment of this application Figure 2 ;

[0029] Figure 4 Steps flow chart for adjusting the startup priority as an example Figure 1 ;

[0030] Figure 5 Flow chart of the method for adjusting the startup priority between device groups provided for an embodiment of this application Figure 3 ;

[0031] Figure 6 Flow chart of the method for adjusting the startup priority between device groups provided for an embodiment of this application Figure 4 ;

[0032] Figure 7 Flow chart of the method for adjusting the startup priority between device groups provided for an embodiment of this application Figure 5 ;

[0033] Figure 8 Steps process for adjusting startup priority as an example Figure 2 ;

[0034] Figure 9 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 6 ;

[0035] Figure 10 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 7 ;

[0036] Figure 11 Steps process for adjusting startup priority as an example Figure 3 ;

[0037] Figure 12 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 8 ;

[0038] Figure 13 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 9 ;

[0039] Figure 14 Steps process for adjusting startup priority as an example Figure 4 ;

[0040] Figure 15 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 10 ;

[0041] Figure 16 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 10 One;

[0042] Figure 17 Flow schematic of the method for adjusting startup priority between device groups provided by the embodiments of the present application Figure 10 Two;

[0043] Figure 18 Lane of the method for adjusting startup priority between device groups as an example Figure 1 ;

[0044] Figure 19 Lane of the method for adjusting startup priority between device groups as an example Figure 2 ;

[0045] Figure 20 Structural schematic diagram of the device for adjusting startup priority between device groups provided by the embodiments of the present application;

[0046] Figure 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] To enable those skilled in the art of the present technology to better understand the solution of this application, the following further detailed description of this application will be provided in conjunction with the accompanying drawings and specific embodiments.

[0052] In combination 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 will be described herein. Refer to Figure 1 , Figure 1 FIG. is a schematic diagram of a hardware architecture provided by an embodiment of this application. As Figure 1 shown, it includes a central processing unit (Central Processing Unit, abbreviated as CPU) and a server. The server includes a baseboard management controller (Baseboard Management Controller, abbreviated as BMC). The server also includes a BIOS and peripheral devices connected to the server. Among them, the BMC and the BIOS can interact through the Intelligent Platform Management Interface (abbreviated as IPMI) protocol. The BIOS and the CPU can be connected and interact through the Peripheral Component Interconnect (abbreviated as PCI), or the Serial Peripheral Interface (abbreviated as SPI) or the Quad Serial Peripheral Interface (abbreviated as QSPI). The BMC and the CPU can interact through the Redfish protocol. The CPU and the storage device group, the network card device group, and the optical drive device group can be connected and interact through PCI. The CPU and other device groups can be connected and interact through the Universal Serial Bus (abbreviated as USB). The BMC and the network card device group can interact through the LPC or PCI interface. 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 (abbreviated as CD-ROM) drive or a Digital Video Disc-Read Only Memory (abbreviated as DVD-ROM). Other device groups can be devices such as a USB flash drive and a USB keyboard hotkey.

[0053] Figure 2 The flowchart of the method for adjusting the startup priority between device groups provided by an embodiment of this application Figure 1 , as Figure 2 shown, an embodiment of this application provides a method for adjusting the startup priority between device groups. The method will be described in detail as follows:

[0054] S201: In response to the first startup operation, obtain response data from the controller and determine whether the response data meets a preset condition.

[0055] Combined with a 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 commands, or the server can be started by turning on the physical power button of the server. The controller can be selected as the BMC, which is a dedicated controller for monitoring and managing the server and is an independent system under the host server system. After the server starts, the response data of the BMC side regarding the IPMI startup item settings can be read through the IPMI protocol. The preset condition can be determined according to the actual situation. After obtaining the response data, it can be judged whether the response data meets the preset condition.

[0056] S202: When the preset condition is met, obtain startup setting information and determine whether the startup flag bit is valid according to this information.

[0057] Combined with a scenario example, the startup setting information can be obtained from the BMC side based on the BIOS through the IPMI protocol. The startup setting information includes parameters of the startup type and startup method. Among them, the startup type indicates single startup or multiple startups, and the parameters of the startup method indicate the startup 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 startup order of the network card device group to the first startup order, the parameters of the startup method can indicate that the startup order of the network card device group is adjusted to the first startup order. The startup flag bit can indicate whether the startup priority between device groups can be adjusted. Only when the startup flag bit is valid can the startup priority between device groups be adjusted. When the startup flag bit is invalid, that is, the startup setting information is not set or the waiting time expires, the startup priority between device groups cannot be adjusted.

[0058] S203: When the startup flag bit is valid, adjust the startup priority of the device group according to the startup setting information to generate a temporary priority sequence.

[0059] Combined with a scenario example, when the startup flag bit is valid, adjust the startup priority of the device group according to the obtained startup setting information above. For example, if the parameters of the startup method in the startup setting information indicate that the startup order of the network card device group is adjusted to the first startup, the network card device group can be adjusted to the first startup order. Therefore, the obtained temporary priority sequence 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 single startup.

[0061] Combined 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, so as to determine whether it is a single startup or a multiple startup.

[0062] S205: In the single startup type, start each device group in sequence according to the temporary priority sequence.

[0063] Combined with the scenario example, if it is a single startup, then start each device group in sequence according to the determined temporary priority sequence, that is, start in sequence according to the startup order of the network card device group, storage device group, optical drive device group, and other device groups.

[0064] S206: Store 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 single during this startup, the default startup priority between devices needs to be restored again in the next startup. Therefore, it is necessary to temporarily store the default priority in a preset target area, such as storing it in a Non-Volatile Random Access Memory (NVROM for short).

[0066] S207: After responding to the second startup operation, extract and restore the default priority from the storage area, and then start each device group in sequence according to the default priority, where the second startup operation is after the first startup operation.

[0067] Combined with the scenario example, after starting in the startup 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 starting again. The second startup operation can be implemented by a restart command or an operation of shutting down and then powering on. After the server restarts or shuts down and then powers on, the default priority can be obtained from the NVROM and the default priority can be restored, so that this startup starts each device group according to the default priority, that is, starts in sequence according to the startup 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 automatically restoring the startup priority between device groups, solve the problem of time-consuming and laborious manual adjustment, and ultimately improve the operating efficiency of the server.

[0069] Optionally, Figure 3 is a flowchart of the method for adjusting the startup priority between device groups provided in the embodiments of the present application Figure 2 as Figure 3As shown, in S201, response data is obtained, including:

[0070] S301: Create a single-start command.

[0071] Combined with the scenario example, the single-start command refers to a single-start command for the Preboot Execution Environment (PXE), including the corresponding startup setting information.

[0072] S302: Send the single-start command to the controller so that the controller stores the single-start command locally within a limited time to generate response data.

[0073] Combined with the scenario example, the controller can be the above-mentioned BMC. Therefore, after sending the created single-start command to the BMC, the BMC can store the obtained single-start command locally, that is, store the startup setting information locally, such as storing it in the NVROM or Electrically Erasable Programmable Read Only Memory (EEPROM) to record the startup setting information. After receiving the single-start command, the BMC can generate corresponding response data.

[0074] S303: Extract response data from the controller.

[0075] Combined with the scenario example, the server can extract the corresponding response data from the controller BMC. Figure 4 Steps for adjusting the startup priority as an example Figure 1 , such as Figure 4 As shown, it is worth mentioning that after the BMC stores the single-start command in the NVROM or EEPROM, it starts automatic timing simultaneously. The timing time can be preset, for example, the timing time is set to three minutes. When the timing time reaches three minutes, whether the server has started to obtain the startup setting information or not, the startup setting information corresponding to the single-start command will be deleted from the NVROM or EEPROM. When the timing time has not reached three minutes, the NVROM or EEPROM can maintain the storage of the startup setting information. After the server obtains the startup setting information, regardless of whether the timing time has reached three minutes, the startup setting information corresponding to the single-start 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-start command to ensure the security of the startup setting information corresponding to the single-start command.

[0077] Optionally, Figure 5Flow schematic of the method for adjusting the startup priority between device groups provided by the embodiments of the present application Figure 3 , such as Figure 5 shown, correspondingly, S301 includes:

[0078] S501: In the shutdown state, respond to a remote interface operation to set the single pre-boot execution environment to start and create a single startup command.

[0079] Combined with a scenario example, combined with Figure 4 , the single startup command can be implemented in three ways. In the first way, in the shutdown state of the server, it can be created by responding to a remote interface operation. Specifically, the remote interface can be an IPMI interface, that is, set a PXE startup once through the remote IPNI interface command to create a single startup command.

[0080] S502: In the running state, respond to an interface operation under the operating system to set the single pre-boot execution environment to start and create a single startup command.

[0081] Combined with a scenario example, combined with Figure 4 , in the second way, in the running state of the server, set a PXE startup once through the in-band IPMI interface command in the system to create a single startup command. In the third way, set a PXE startup once through the single PXE function setting button on the management control interface with BMC authority to create a single startup command.

[0082] The method provided in this example can achieve the purpose of generating a single startup command.

[0083] Optionally, Figure 6 Flow schematic of the method for adjusting the startup priority between device groups provided by the embodiments of the present application Figure 4 , such as Figure 6 shown, S202 includes:

[0084] S601: Judge whether the response data is the first preset value, and judge whether the target position in the response data is the second preset value.

[0085] Combined with a scenario example, the first preset value can be selected as "0", the target position can be selected as bit0, and the second preset value can 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 conditions.

[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 at this time that the response data does not meet the preset conditions, and at this time, each device group is started in turn according to the default priority.

[0088] S603: 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 conditions.

[0089] Combined with the scenario example, when the corresponding data is 0, or when the data corresponding to bit0 in the response data is 1, it can be determined at this time that the response data does not meet the preset conditions, and at this time, the above S203 and subsequent solutions can be continued to be executed.

[0090] The method provided in this example can achieve the purpose of determining the status of the response data.

[0091] Optionally, the server further includes a basic input / output system;

[0092] Correspondingly, in S207, each device group is started in turn according to the temporary priority sequence, including:

[0093] Then update the temporary priority sequence to the installation interface of the basic input / output system, and start each device group in turn 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 priorities 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, and the server can start each device group in turn according to the updated startup priorities between the device groups on the BIOS installation interface.

[0095] The method provided in this example can achieve the temporary adjustment of the startup priorities 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 installation interface of the basic input / output system to restore the default priority.

[0098] Combined with the scenario example, the default priorities are as follows: storage device group, network card device group, optical drive device group, and other device groups. After starting each device group in sequence according to the temporary priority sequence, when powering on again, it is necessary to start each device group in sequence according to the default startup priority. Therefore, the default startup priority between device groups can be updated to the BIOS installation interface, and the server can start each device group in sequence according to the updated startup priority between device groups on the BIOS installation interface.

[0099] The method provided in this example can restore the default priority to achieve the purpose of starting each device group according to the default startup priority.

[0100] Optionally, Figure 7 is a schematic flow of the method for adjusting the startup priority between device groups provided in the embodiment of the present application Figure 5 , as Figure 7 shown, further includes:

[0101] S701: When the response data does not meet the preset conditions, start each device group in sequence according to the default priority.

[0102] Combined with the scenario example, Figure 8 is the step flow of adjusting the startup priority for the example Figure 2 , as Figure 8 shown, following the above steps, after the server obtains the response data, it 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 side by the BIOS through the IPMI protocol. If the response data is not 0 and bit0 is not 1, that is, when bit0 is 0, start each device group in sequence according to the default priority.

[0103] S702: When the startup flag bit is invalid, start each device group in sequence according to the default priority.

[0104] Combined with the scenario example, combined with Figure 8 , after the BIOS obtains the startup setting information from the BMC side through the IPMI protocol, it determines whether the startup flag bit is valid. If the startup flag bit is invalid, start each device group in sequence according to the default priority. If the startup flag bit is valid, according to the startup type in the startup setting information, determine the number of times of setting the startup item, so as to determine whether it is a single startup or a multiple startup. If it is a single startup, start each device group in sequence according to the determined temporary priority sequence, that is, start in sequence according to the startup order of the network card device group, storage device group, optical drive device group, and other device groups, and at the same time store the default priority in the NVROM.

[0105] S703: When the start type is multiple starts, start each device group in sequence according to the default priority.

[0106] Combined with the scenario example, combined with Figure 8 , if it is not a single start, start each device group in sequence according to the default priority.

[0107] The method provided in this example can limit the start priority between device groups to determine the situation where each device group needs to be started with the default start priority, avoiding running errors.

[0108] Figure 9 It is a flow schematic of the method for adjusting the start priority between device groups provided by the embodiment of the present application Figure 6 , such as Figure 9 shown, further including:

[0109] S901: Determine whether the execution condition is satisfied.

[0110] Combined with the scenario example, the execution condition indicates whether there is an execution environment for performing a single PXE start inside the server.

[0111] S902: If the execution condition is not satisfied, start each device group in sequence according to the default priority.

[0112] Combined with the scenario example, if there is no execution environment for performing a single PXE start inside the server, it indicates that the server cannot adjust the start priority between device groups, and each device group can be started according to the default start priority, that is, start in sequence according to the storage device group, network card device group, optical drive device group, and other device groups.

[0113] S903: If the execution condition is satisfied, start each device group 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 start inside the server, it indicates that the server can adjust the start priority between device groups, and then start each device group according to the temporary start priority, that is, start in sequence according to the network card device group, storage device group, optical drive device group, and other device groups.

[0115] The method provided in this example can determine whether the start priority between device groups can be adjusted inside the server.

[0116] Figure 10 It is a flow schematic of the method for adjusting the start priority between device groups provided by the embodiment of the present application Figure 7 , such as Figure 10 shown, S901 includes:

[0117] S1001: Install the interface command protocol in the driver execution environment.

[0118] Combined with the scenario example, Figure 11 The step process of adjusting the startup priority for the example Figure 3 , such as Figure 11 As shown, after the server boots up, install the IPMI command protocol in the driver execution environment (abbreviated as DXE) stage of the server.

[0119] S1002: Determine whether the interface command protocol is installed successfully.

[0120] Combined with the scenario example, combined with Figure 11 As shown, after the operation of installing IPMI in the DXE stage of the server, determine 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 conditions.

[0122] Combined with the scenario example, combined with Figure 11 As shown, if IPMI is not successfully installed, it is determined that the above 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, when IPMI is not successfully installed, the device groups are started in sequence according to the default priority.

[0123] S1004: If the interface command protocol is installed successfully, check whether the hardware management protocol supports running.

[0124] Combined with the scenario example, combined with Figure 11 As shown, if IPMI is successfully installed, check whether the hardware management protocol supports running in the DXE stage of the server. The hardware management protocol can be the Redfish protocol.

[0125] S1005: If the hardware management protocol does not support running, it is determined that the first startup operation meets the execution conditions.

[0126] Combined with the scenario example, combined with Figure 11 As shown, if the Redfish protocol does not support running, the server can execute the first startup operation and continue to execute the steps of obtaining the IPMI startup setting response data at the BMC end through the IPMI command and subsequent steps.

[0127] S1006: If the hardware management protocol supports the running of the first startup operation, check whether there is information to modify the startup item settings in the hardware management protocol.

[0128] Combined with the scenario example, combined withFigure 11 As shown, if the Redfish protocol supports running, determine whether there is information in the Redfish protocol to modify the boot item settings.

[0129] S1007: If there is information in the hardware management protocol to modify the boot item settings, determine that the first boot operation does not meet the execution conditions.

[0130] Combined with the scenario example, combined with Figure 11 As shown, if there is information in the Redfish protocol to modify the boot item settings, then at this time, the boot priorities between device groups should be set according to the information in the Redfish protocol to modify the boot item settings, and the device groups should be started in sequence according to the set boot priorities between device groups.

[0131] S1008: If there is no information in the hardware management protocol to modify the boot item settings, determine that the first boot operation meets the execution conditions.

[0132] Combined with the scenario example, combined with Figure 11 As shown, if there is no information in the Redfish protocol to modify the boot item settings, the server can perform the first boot operation and continue to execute the steps of obtaining the IPMI boot setting response data at the BMC end through the IPMI command and subsequent steps.

[0133] The method provided in this example can sequentially judge the IPMI protocol and the Redfish protocol to ensure the execution conditions of the first boot operation.

[0134] Figure 12 It is a flowchart of the method for adjusting the boot priority between device groups provided in the embodiment of the present application Figure 8 , such as Figure 12 shown, further includes:

[0135] S1201: If there is information in the hardware management protocol to modify the boot item settings, determine the boot priority between device groups corresponding to the hardware management protocol.

[0136] Combined with the scenario example, combined with Figure 11 As shown, when there is information in the Redfish protocol to modify the boot item settings, adjust the boot priority between device groups according to the information in the Redfish protocol to modify the boot item settings.

[0137] S1202: Start each device group in sequence according to the boot priority between device groups corresponding to the hardware management protocol.

[0138] Combined with the scenario example, combined with Figure 11As shown, the device groups are started in sequence according to the startup priority among the device groups corresponding to the Redfish protocol. The startup priority among 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 the other device group. In this case, the device groups are started in sequence according to the startup order of the storage device group, the network card device group, the optical drive device group, and the other device group. The startup priority among 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 the other device group. In this case, the device groups are started in sequence according to the startup order of the network card device group, the storage device group, the optical drive device group, and the other device group. The startup priority among the device groups corresponding to the Redfish protocol can also be other startup priorities. For example, if the startup priority among the device groups corresponding to the Redfish protocol is the network card device group, the optical drive device group, the storage device group, and the other device group, then the device groups are started in sequence according to the startup order of the network card device group, the optical drive device group, the storage device group, and the other device group.

[0139] The method provided in this example starts according to the startup priority corresponding to the Redfish protocol, which can ensure the normal operation of the server.

[0140] Figure 13 It is a flowchart showing the method for adjusting the startup priority among device groups provided in an embodiment of the present application Figure 9 as Figure 13 shown, and further includes:

[0141] S1301: Real-time monitor whether there is a hotkey instruction input.

[0142] Combined with the scenario example, Figure 14 It is the step flowchart for adjusting the startup priority in the example Figure 4 as Figure 14 shown, when the server starts according to the temporary priority sequence updated on the BIOS installation interface, the hotkey function module is executed to real-time monitor whether there is a hotkey instruction input.

[0143] S1302: If there is a hotkey instruction input, execute the function corresponding to the hotkey instruction.

[0144] Combined with the scenario example, combined with Figure 14 if it is monitored that there is a hotkey instruction input, execute the function corresponding to the hotkey instruction to interrupt the process of starting the device groups in sequence according to the temporary priority sequence.

[0145] S1303: If there is no hotkey instruction input, start the device groups in sequence according to the temporary priority sequence.

[0146] Combined with the scenario example, combine Figure 14 , if no hot key instruction input is detected, continue to start each device group in turn according to the temporary priority sequence, that is, start each device group in turn 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 turn according to the temporary priority sequence through a hot key instruction to improve the flexibility of server startup.

[0148] Figure 15 It is a flowchart of the method for adjusting the startup priority between device groups provided by an embodiment of this application Figure 10 , such as Figure 15 shown, S1302 includes:

[0149] S1501: Determine the type of hot key instruction.

[0150] Combined with the scenario example, the types of hot key instructions mainly include the following: Delete hot key instruction, F11 hot key instruction and F12 hot key instruction.

[0151] S1502: If the type of hot key instruction is the preset first hot key instruction, enter the installation interface of the basic input / output system to select the pre-boot execution environment to start.

[0152] Combined with the scenario example, the preset first hot key instruction can be the Delete hot key instruction. When the received hot key instruction is the Delete hot key instruction, the installation interface of the BIOS can be entered, and PXE startup can be selected in the installation interface of the BIOS.

[0153] S1503: If the type of hot key instruction is the preset second hot key instruction, select the device group to be started for startup.

[0154] Combined with the scenario example, the preset second hot key instruction can be the F11 hot key instruction. When the received hot key instruction is the F11 hot key instruction, the device group to be started can be selected through the device item for startup. For example, if the network card device group is selected, the network card device group can be started; if the storage device group is selected, the storage device group can be started.

[0155] S1504: If the type of hot key instruction is the preset third hot key instruction, perform the pre-boot execution environment function startup.

[0156] Combined with the scenario example, the preset second hot key instruction can be the F12 hot key instruction. When the received hot key instruction is the F12 hot key instruction, PXE function startup is performed. At this time, the adjusted startup item device grouping order will not be modified in the hot key function part, that is, startup is performed according to the default priority.

[0157] The method provided in this example can implement different functions through different hotkey instructions, which can improve the flexibility of server startup.

[0158] Optionally, after S1303, it further includes:

[0159] Determine whether the current startup priority of the device group meets the expectation.

[0160] Combined with the scenario example, in the case of no input of hotkey instructions, after starting each device group in the startup order 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 meets the startup order of the network card device group, storage device group, optical drive device group, and other device groups.

[0161] The method provided in this example can determine whether each device group has successfully started according to the temporary priority sequence.

[0162] Figure 16 It is a flowchart showing the method for adjusting the startup priority between device groups provided in the embodiments of the present application Figure 10 First, as Figure 16 shown, determining whether the current startup priority of the device group meets the expectation includes:

[0163] S1601: Use a preset environment tool to read the current startup order between device groups.

[0164] Combined with the scenario example, combined with Figure 14 , to determine whether the actual startup priority corresponding to the device groups meets the startup order of the network card device group, storage device group, optical drive device group, and other device groups, it can enter the PXE operating system and use a preset environment tool to read the actual startup item device group order of the current server for the Setup Control Environment (SCE).

[0165] S1602: Determine whether the current startup order between device groups corresponds to the temporary priority sequence.

[0166] Combined with the scenario example, combined with Figure 14 , determine whether the actual startup item device group order of the current server read by the SCE is the startup order of the network card device group, storage device group, optical drive device group, and other device groups.

[0167] S1603: If the current startup order between device groups corresponds to the temporary priority sequence, it is determined that the current startup priority of the device group meets the expectation; otherwise, it is determined that the current startup priority of the device group does not meet the expectation.

[0168] Combined with the scenario example, combined with Figure 14 , if the actual startup item device group order of the current server conforms to the startup order of the network card device group, storage device group, optical drive device group, and other device groups, it is determined that the device group startup priority meets the expectation. Conversely, if the actual startup item device group order of the previous server does not conform to the startup order of the network card device group, storage device group, optical drive device group, and other device groups, it is determined that the device group startup priority does not meet the expectation.

[0169] The method provided in this example can determine whether each device group has successfully started according to the temporary priority sequence.

[0170] Optionally, after S2011, it further includes:

[0171] Determine whether the current device group startup priority meets the expectation.

[0172] Combined with the scenario example, combined with Figure 14 , after verifying the startup order between the current device groups using the preset environment tool, it is necessary to restore the startup order between the device groups to the default startup priority, that is, restore it to the startup order of the storage device group, network card device group, optical drive device group, and other device groups. At this time, it is necessary to extract the default priority from the NVROM, restore the default priority to the BIOS installation interface for startup, and determine whether the startup order between the device groups has been restored to the default priority.

[0173] The method provided in this example can determine whether each device group has successfully started according to the default priority.

[0174] Figure 17 It is a flowchart illustration of the method for adjusting the startup priority between device groups provided in the embodiments of the present application Figure 10 Second, as Figure 17 shown, determining whether the current device group startup priority meets the expectation includes:

[0175] S1701: Use the preset environment tool to read the current startup order between device groups.

[0176] Combined with the scenario example, combined with Figure 14 , to determine whether the actual startup priority corresponding to the device groups conforms to the startup order of the storage device group, network card device group, optical drive device group, and other device groups, it can be achieved by entering the PXE operating system and using the preset SCE to read the actual startup item device group order of the current server.

[0177] S1702: Determine whether the current startup order between device groups corresponds to the default priority.

[0178] Combined with the scenario example, combined with Figure 14, determine whether the actual boot item device group order read by the SCE for the current server is the boot order of the storage device group, network card device group, optical drive device group, and other device groups.

[0179] S1703: If the boot order between the current device groups corresponds to the default priority, it is determined that the current device group boot priority meets the expectation; otherwise, it is determined that the current device group boot priority does not meet the expectation.

[0180] Combined with the scenario example, combined with Figure 14 , if the actual boot item device group order of the current server conforms to the boot order of the storage device group, network card device group, optical drive device group, and other device groups, it is determined that the device group boot priority meets the expectation; otherwise, if the actual boot item device group order of the previous server does not conform to the boot order of the storage device group, network card device group, optical drive device group, and other device groups, it is determined that the device group boot priority does not meet the expectation.

[0181] The method provided in this example can determine whether each device group successfully boots according to the default priority.

[0182] Figure 18 For the swimlane of the method for adjusting the boot priority between device groups in the example Figure 1 , such as Figure 18 shown, the server includes an operating system, a BMC controller, and a basic input / output system (BIOS), combined with Figure 18 refine the server and the corresponding operation steps for each system.

[0183] Such as Figure 18As shown, when the server is in the shutdown state, the PXE boot can be set once through the remote IPMI command to generate a single-boot command. Or when the server is in the powered-on state, the PXE can be set once through the IPMI command under the server's operating system to generate a single-boot command. Or a single-boot command can be generated through the single-PXE function setting button on the remote BMC management control interface. Then, the obtained single-boot command is sent to the controller BMC. The single-boot command includes boot setting information. The controller BMC stores the corresponding boot setting information in the obtained single-boot command in the local NVROM or EEPROM, and at the same time starts the timing function. 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 continuously stores the boot setting information in the NVROM or EEPROM until three minutes are reached. After that, the server is powered on, and it can be powered on through the IPMI command or by pressing the power button. After the server is started, IPOS installs the IPMI protocol during the DXE stage of startup and determines whether the IPMI protocol is installed successfully. If the IPMI protocol is not installed successfully, it is determined that the server cannot adjust the startup priority between device groups, and at this time, each device group is started in the default priority order. If the IPMI protocol is installed successfully, it checks whether the Redfish protocol supports running during the DXE stage of startup. If the Redfish protocol supports running, it determines whether there is information for modifying the startup item settings in the Redfish protocol. If there is information for modifying the startup item settings, the corresponding startup priority is determined based on the information for modifying the startup item settings in the Redfish protocol, and each device group is started in sequence according to the startup priority corresponding to the Redfish protocol. If the Redfish protocol does not support running, or the Redfish protocol supports running but there is no information for modifying the startup item settings in the Redfish protocol, the response data at the BMC end is obtained through the IPMI command. Figure 19 Swimlane for the method of adjusting the startup priority between device groups as an example Figure 2 , such as Figure 19, after obtaining the response data at the BMC end through IPMI commands, 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 is determined that the server cannot adjust the boot priority between device groups, and then each device group is started in the default priority order. If IPOS determines that the response data is 0 or Bit0 is 1, it obtains the boot device information through IPMI commands and determines whether the corresponding boot flag bit is valid. If the boot flag bit is invalid, it is determined that the server cannot adjust the boot priority between device groups, and then each device group is started in the default priority order. If the boot flag bit is valid, it determines whether it is a single PXE boot. If it is not a single PXE boot, it is determined that the server cannot adjust the boot priority between device groups, and then each device group is started in the default priority order. If it is a single PXE boot, each device group is started in the default priority order, and the default priority is stored in NVROM. During the process of starting each device group in the default priority order, the hotkey function module is executed simultaneously, and it is continuously detected whether there is an input of a hotkey instruction. If there is an input of a hotkey instruction, the corresponding function is executed according to the hotkey instruction. For example, if the input is the Delete hotkey instruction, it enters the BIOS installation interface and selects PXE boot in the BIOS installation interface; if the input is the F11 hotkey instruction, it selects the device group to be started through the device item for startup; if the input is the F12 hotkey instruction, it performs PXE function startup. In addition, if there is no input of a hotkey instruction, each device group is started in the default priority order, that is, each device group is started in turn according to the startup order of the network card device group, storage device group, optical drive device group, and other device groups. After that, the startup order is verified to determine whether the boot priority between device groups has been adjusted to the temporary boot priority. Specifically, enter the PXE operating system through the operating system, and use the SCE tool to read the device group order of the current server's startup items. If it is the network card device group, storage device group, optical drive device group, and other device groups, it is determined that the boot priority between device groups has been adjusted to the temporary boot priority. After that, it is necessary to restore the startup order between device groups. Specifically, the server can be restarted or shut down and then powered on again. The BIOS obtains the default priority from NVROM and updates the default priority to the BIOS installation interface for startup to restore the default priority. Then the startup order is verified again 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 device group order of the current server's startup items. If it is the storage device group, network card device group, optical drive device group, and other device groups, it is determined that the boot priority between device groups has been restored to the default boot priority.

[0184] When the server is started in this embodiment, there is no need to manually adjust the boot priority between device groups each time entering the BIOS installation interface. After starting according to the adjusted boot priority between device groups, there is also 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 is stored in a 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 default boot priority between the obtained device groups. Therefore, the method provided in this embodiment can reduce the labor cost of manually adjusting and restoring the boot priority between device groups by automatically adjusting and automatically restoring the boot priority between device groups, solve the problem that manual adjustment is time-consuming and laborious, and finally improve the operation efficiency of the server.

[0185] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0186] Figure 20 It is a schematic structural diagram of an adjustment device for the boot priority between device groups provided by an embodiment of the present application. As Figure 20 shown, an embodiment of the present application also provides an adjustment device for the boot priority between device groups, including:

[0187] A response module 2001, configured to respond to a first boot operation, obtain response data from a controller, and determine whether the response data meets a preset condition;

[0188] An acquisition module 2002, configured to obtain boot setting information and determine whether a boot flag bit is valid according to the information when the preset condition is met;

[0189] A processing module 2003, configured to adjust the boot priority of a device group according to the boot setting information and generate a temporary priority sequence when the boot flag bit is valid;

[0190] A judgment module 2004, configured to judge whether the boot type is a single boot;

[0191] The processing module 2003 is further configured to sequentially start each device group according to the temporary priority sequence in the case of a single boot type;

[0192] The processing module 2003 is further configured to store the default boot priority of the device group in a preset storage area;

[0193] The response module 2001 is further configured to, after responding to the second startup operation, extract and restore the default priority from the storage area, and then start each device group in sequence according to the default priority, where the second startup operation is after the first startup operation.

[0194] Optionally, the acquisition module 2002 is specifically configured to create a single startup command;

[0195] The acquisition module 2002 is further specifically configured to send the single startup command to the controller, so that the controller stores the single startup command locally within 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 configured to, in the shutdown state, respond to a remote interface operation to set the single pre-start execution environment to start, so as to create a single startup command;

[0199] The acquisition module 2002 is further specifically configured to, in the running state, respond to an interface operation under the operating system to set the single pre-start execution environment to start, so as to create a single startup command.

[0200] Optionally, the acquisition module 2002 is further specifically 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 specifically configured to, 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, determine that the response data does not meet the preset conditions;

[0202] The acquisition module 2002 is further specifically configured to, 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, determine that the response data meets the preset conditions.

[0203] Optionally, the server further includes a basic input / output system. The 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 specifically 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 the default priority when the response data does not meet the preset conditions;

[0206] The processing module 2003 is further configured to start each device group in sequence according to the default priority when the start flag bit is invalid;

[0207] The processing module 2003 is further configured to start each device group in sequence according to the default priority when the start type is multiple starts.

[0208] Optionally, the processing module 2003 is further configured to determine whether the execution condition is met;

[0209] The processing module 2003 is further configured 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 specifically configured to install the interface command protocol in the drive execution environment;

[0212] The processing module 2003 is specifically configured to determine whether the interface command protocol is successfully installed;

[0213] The processing module 2003 is specifically configured to determine that the first start operation does not meet the execution condition if the interface command protocol is not successfully installed;

[0214] The processing module 2003 is specifically configured to check whether the hardware management protocol supports running if the interface command protocol is successfully installed;

[0215] The processing module 2003 is specifically configured to determine that the first start operation meets the execution condition if the hardware management protocol does not support running;

[0216] The processing module 2003 is specifically configured to check whether the hardware management protocol has information for modifying the startup item settings if the hardware management protocol supports running;

[0217] The processing module 2003 is specifically configured to determine that the first start operation does not meet the execution condition if the hardware management protocol has information for modifying the startup item settings;

[0218] The processing module 2003 is specifically configured to determine that the first start operation meets the execution condition if the hardware management protocol does not have information for modifying the startup item settings.

[0219] Optionally, the processing module 2003 is further configured to determine the startup priority among the device groups corresponding to the hardware management protocol if there is information in the hardware management protocol for modifying the startup item settings;

[0220] The processing module 2003 is further configured to start each device group in sequence according to the startup priority among the device groups corresponding to the hardware management protocol.

[0221] Optionally, the processing module 2003 is further configured to monitor in real time whether there is a hotkey instruction input;

[0222] The processing module 2003 is further configured to execute the function corresponding to the hotkey instruction if there is a hotkey instruction input;

[0223] The processing module 2003 is further configured to start each device group in sequence according to the temporary priority sequence if there is no hotkey instruction input.

[0224] Optionally, the processing module 2003 is specifically further configured to determine the hotkey instruction type;

[0225] The processing module 2003 is specifically further configured to enter the installation interface of the basic input / output system to select the pre-boot execution environment to start if the hotkey instruction type is a preset first hotkey instruction;

[0226] The processing module 2003 is specifically further configured to select the device group to be started for startup if the hotkey instruction type is a preset second hotkey instruction;

[0227] The processing module 2003 is specifically further configured to start the pre-boot execution environment function if the hotkey instruction type is a preset third hotkey instruction.

[0228] Optionally, the processing module 2003 is further configured to determine whether the current startup priority of the device group meets the expectation.

[0229] Optionally, the processing module 2003 is specifically further configured to read the current startup order among the device groups using a preset environment tool;

[0230] The processing module 2003 is specifically further configured to determine whether the current startup order among the device groups corresponds to the temporary priority sequence;

[0231] The processing module 2003 is specifically further configured to determine that the current startup priority of the device group meets the expectation if the current startup order among the device groups corresponds to the temporary priority sequence, and vice versa, it is determined that the current startup priority of the device group does not meet the expectation.

[0232] Optionally, the processing module 2003 is further configured to determine whether the current startup priority of the device group meets the expectation.

[0233] Optionally, the processing module 2003 is further specifically configured to read the startup sequence between the current device groups by using a preset environment tool;

[0234] The processing module 2003 is further specifically configured to determine whether the startup sequence between the current device groups corresponds to the default priority;

[0235] The processing module 2003 is further specifically configured to determine that the startup priority of the current device group meets the expectation if the startup sequence between the current device groups corresponds to the default priority, and vice versa, it is determined that the startup priority of the current device group does not meet the expectation.

[0236] For the description of the features in the corresponding embodiments of the device for adjusting the startup priority between device groups, reference can be made to the relevant description in the corresponding embodiments of the method for adjusting the startup priority between device groups, which will not be elaborated here one by one.

[0237] Figure 21 This is a schematic structural diagram of the electronic device provided by the present application. As Figure 21 shown, the electronic device 50 provided in this embodiment includes at least one processor 501 and a memory 502. Optionally, the device 50 further includes a communication component 503. Among them, the processor 501, the memory 502, and the communication component 503 are connected through a bus.

[0238] In the specific implementation process, at least one processor 501 executes the computer execution 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] For the specific implementation process of the processor 501, reference can be made to the above method embodiment, and its implementation principle and technical effect are similar, which will not be elaborated here in this embodiment.

[0240] In the above embodiments, it should be understood that the processor may be a central processing unit (Central Processing Unit, abbreviated as CPU), or may also be other general-purpose processors, digital signal processors (Digital Signal Processor, abbreviated as DSP), application specific integrated circuits (Application Specific Integrated Circuit, abbreviated as ASIC), etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the application can be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.

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

[0242] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, 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 buses in the drawings of this application are not limited to only one bus or one type of bus.

[0243] Embodiments of the present application also provide a computer-readable storage medium storing a computer program, where the computer program is configured to execute the steps in the embodiments of the method for adjusting the startup priority between any of the above device groups when running.

[0244] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: USB flash drives, read-only memories (ROMs), random access memories (RAMs), mobile hard disks, magnetic disks, or optical discs, and other media that can store computer programs.

[0245] Embodiments of the present application also provide a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in the embodiments of the method for adjusting the startup priority between any of the above device groups.

[0246] Embodiments of the present application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, it implements the steps in the embodiments of the method for adjusting the startup priority between any of the above device groups.

[0247] Those skilled in the art may further realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered as exceeding the scope of this application.

[0248] The above has introduced in detail a method and device for adjusting the startup priority between device groups provided by this application. Specific examples have been used herein to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art of this technology, without departing from the principle of this application, several improvements and modifications can still be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for adjusting the startup priority between device groups, characterized in that Including: Responding to a first startup operation, obtaining response data from a controller and determining whether the response data meets a preset condition; When meeting the preset condition, obtaining startup setting information and determining whether a startup flag bit is valid according to this information; wherein, the startup setting information includes: parameters of a startup type and a startup method, the startup type is used to represent single startup or multiple startups, and the parameters of the startup method are used to represent the startup sequence corresponding to the device group that needs to be adjusted; the startup flag bit is used to represent whether the startup priority between device groups can be adjusted; When the startup flag bit is valid, adjusting the startup priority of the device group according to the startup setting information to generate a temporary priority sequence; Determining whether the startup type is single startup; In the case of single startup type, starting each device group in turn according to the temporary priority sequence; Storing the default startup priority of the device group in a preset storage area; After responding to a second startup operation, extracting and restoring the default priority from the storage area, and then starting each device group in turn according to the default priority, wherein the second startup operation is after the first startup operation.

2. The method according to claim 1, wherein The obtaining of the response data includes: Creating a single startup command; Sending the single startup command to the controller so that the controller stores the single startup command locally within a limited time to generate response data; Extracting the response data from the controller.

3. The method according to claim 2, wherein The server includes a shutdown state and a running state, and the server includes an operating system; Correspondingly, the creating of the single startup command includes: In the shutdown state, responding to a remote interface operation to set the single pre-start execution environment to start to create the single startup command; In the running state, responding to the interface operation under the operating system to set the single pre-start execution environment to start to create the single startup command.

4. The method according to claim 1, wherein The determining whether the response data meets the 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, wherein The server further includes a basic input / output system; Correspondingly, the starting of each device group in turn according to the temporary priority sequence includes: Updating the temporary priority sequence to the installation interface of the basic input / output system, and starting each device group in turn according to the temporary priority sequence on the installation interface.

6. The method according to claim 5, wherein The extracting and restoring of the default priority from the storage area includes: Updating the default priority to the installation interface of the basic input / output system to restore the default priority.

7. The method according to claim 1, characterized in that Also including: In the case where the response data does not meet the preset condition, starting each device group in turn according to the default priority; In the case where the startup flag bit is invalid, starting each device group in turn according to the default priority; When the startup type is multiple startups, start each device group in sequence according to the default priority.

8. The method according to claim 1, wherein It further includes: Judge whether the execution condition is satisfied; If the execution condition is not satisfied, start each device group in sequence according to the default priority; If the execution condition is satisfied, start each device group in sequence according to the temporary priority sequence.

9. The method according to claim 8, characterized in that, The judgment of whether the execution condition is satisfied includes: Install the interface command protocol in the drive execution environment; Judge whether the interface command protocol is installed successfully; If the interface command protocol is not installed successfully, it is determined that the first startup operation does not meet the execution condition; If the interface command protocol is installed successfully, check whether the hardware management protocol supports running; If the hardware management protocol does not support running, it is determined that the first startup operation meets the execution condition; If the hardware management protocol supports running, judge whether there is information to modify the startup item settings in the hardware management protocol; If there is information to modify the startup item settings in the hardware management protocol, it is determined that the first startup operation does not meet the execution condition; If there is no information to modify the startup item settings in the hardware management protocol, it is determined that the first startup operation meets the execution condition.

10. The method according to claim 9, characterized in that It further includes: If there is information to modify the startup item settings in the hardware management protocol, determine the startup priority between the device groups corresponding to the hardware management protocol; Start each device group in sequence according to the startup priority between the device groups corresponding to the hardware management protocol.

11. The method according to claim 1, wherein It further includes: Monitor in real time whether there is a hotkey instruction input; If there is a hotkey instruction input, execute the function corresponding to the hotkey instruction; If there is no hotkey instruction input, start each device group in sequence according to the temporary priority sequence.

12. The method according to claim 11, wherein The step of if there is a hotkey instruction input, then execute the function corresponding to the hotkey instruction includes: Determine the type of the hotkey instruction; If the type of the hotkey instruction is the preset first hotkey instruction, enter the installation interface of the basic input / output system to select the pre-start execution environment to start; If the type of the hotkey instruction is the preset second hotkey instruction, select the device group to be started to start; If the type of the hotkey instruction is the preset third hotkey instruction, perform the pre-start execution environment function startup.

13. The method according to claim 11, wherein After the step of if there is no hotkey instruction input, then start each device group in sequence according to the temporary priority sequence, it further includes: Judge whether the current startup priority of the device group meets the expectation.

14. The method according to claim 13, wherein The judgment of whether the current startup priority of the device group meets the expectation includes: Use the preset environment tool to read the startup order between the current device groups; Judge whether the current startup order between the device groups corresponds to the temporary priority sequence; If the current startup order between the device groups corresponds to the temporary priority sequence, it is determined that the current startup priority of the device group meets the expectation, otherwise, it is determined that the current startup priority of the device group does not meet the expectation.

15. The method according to claim 1, wherein After starting each device group in sequence according to the default priority again, it further includes: Judge whether the current startup priority of the device group meets the expectation.

16. The method according to claim 15, wherein The judgment of whether the current startup priority of the device group meets the expectation includes: Read the startup sequence among the current device groups using a preset environment tool; Determine whether the startup sequence among the current device groups corresponds to the default priority; If the startup sequence among the current device groups corresponds to the default priority, it is determined that the startup priority of the current device group meets the expectation; otherwise, it is determined that the startup priority of the current device group does not meet the expectation.

17. An adjustment device for the start priority between device groups, characterized in that, It includes: A response module, configured to respond to a first startup operation, obtain response data from a controller, and determine whether the response data meets preset conditions; An acquisition module, configured to, when the preset conditions are met, obtain startup setting information and determine whether a startup flag bit is valid according to this information; wherein, the startup setting information includes: parameters of a startup type and a startup method, the startup type is used to represent single startup or multiple startups, and the parameters of the startup method are used to represent the corresponding startup sequence of the device group that needs to be adjusted; the startup flag bit is used to represent whether the startup priority among device groups can be adjusted; A processing module, configured to, when the startup flag bit is valid, adjust the startup priority of the device group according to the startup setting information to generate a temporary priority sequence; A judgment module, configured to judge whether the startup type is single startup; The processing module is further configured to, in the case of a single startup type, start each device group in sequence according to the temporary priority sequence; The processing module is further configured to store the default startup priority of the device group in a preset storage area; The response module is further configured to, after responding to a second startup operation, extract and restore the default priority from the storage area, and then start each device group in sequence according to the default priority, where the second startup operation is after the first startup operation.

18. An electronic device, characterized in that, It includes: A memory, configured to store a computer program; A processor, configured to implement the steps of the method for adjusting the startup priority among device groups according to any one of claims 1 to 16 when executing the computer program.

19. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, wherein the computer program, when executed by a processor, implements the steps of the method for adjusting the startup priority among device groups according to any one of claims 1 to 16.

20. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the steps of the method for adjusting the startup priority among device groups according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Startup item configuration method and device, computer equipment and storage medium

    CN116521261A

  • Startup item sequence adjustment method, system and equipment and computer storage medium

    CN119356743A