Starting information determination method, starting method, computer equipment and storage medium
By receiving and verifying the startup information sent by the client and determining it as the target startup information, the problem of poor applicability of startup information determination in the prior art is solved, and a more flexible and efficient startup operation is achieved.
Patent Information
- Application Number
- CN202311708397.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-13
- Publication Date
- 2025-06-13
AI Technical Summary
In the prior art, the method for determining startup information is poor in applicability and it is difficult to flexibly adjust and verify the startup sequence of the server.
By receiving the startup information sent by the client, it is verified. If the verification is passed, it is determined to be the target startup information. During the verification process, verification is carried out based on the number and attribute information of the startup class or startup item to ensure the accuracy and consistency of the startup information.
Improve the applicability and accuracy of determining startup information, making startup operations more flexible and efficient, and suitable for use by non-professional operators.
Smart Images

Figure CN120144187A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer application technologies, and in particular, to a method for determining startup information, a startup method, a computer device, and a storage medium. Background Art
[0002] A server includes multiple bootable devices, each bootable device being a boot class, and each boot class including one or more boot items. After the server is started, the Basic Input Output System (BIOS) will sequentially start each boot class and boot item according to a pre-set order. In actual use, the boot order of the bootable devices can be adjusted to optimize the server startup efficiency.
[0003] In related technologies, an operator can adjust the boot order of the bootable devices through commands of the Intelligent Platform Management Interface (IPMI) on the interface of the Baseboard Management Controller (BMC) to re-determine the startup information of the bootable devices.
[0004] However, the above method for determining startup information has a problem of poor applicability. Summary of the Invention
[0005] Based on this, in view of the above technical problems, it is necessary to provide a method for determining startup information, a startup method, a computer device, and a storage medium that can improve the applicability of the method for determining startup information.
[0006] In a first aspect, this application provides a method for determining startup information, including:
[0007] Receiving startup information sent by a client;
[0008] Verifying the startup information to obtain a verification result;
[0009] When the verification result indicates that the verification is passed, determining the startup information as target startup information.
[0010] In one embodiment, the verifying the startup information to obtain a verification result includes:
[0011] Determining a modification type of the startup information;
[0012] Verifying the startup information according to the modification type of the startup information to obtain a verification result.
[0013] In one embodiment, the startup information includes multiple startup classes or multiple startup items. Verifying the startup information according to the modification type of the startup information to obtain a verification result includes:
[0014] If the modification type is the type of startup class, verify the startup information according to the number of the multiple startup classes and the attribute information of each startup class to obtain the verification result;
[0015] If the modification type is the type of startup item, verify the startup information according to the number of the multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain the verification result.
[0016] In one embodiment, verifying the startup information according to the number of the multiple startup classes and the attribute information of each startup class to obtain the verification result includes:
[0017] Verify the startup information according to the number of the multiple startup classes to obtain a first verification result;
[0018] If the first verification result indicates that the verification is passed, verify the startup information according to the attribute information of each startup class to obtain the verification result;
[0019] If the first verification result indicates that the verification fails, determine that the verification result indicates failure.
[0020] In one embodiment, verifying the startup information according to the number of the multiple startup classes to obtain a first verification result includes:
[0021] Determine whether the number of the multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system;
[0022] If they are consistent, the first verification result indicates that the verification is passed;
[0023] If they are inconsistent, the first verification result indicates that the verification fails.
[0024] In one embodiment, determine whether the attribute information of each startup class is consistent with the attribute information of local startup classes;
[0025] If they are consistent, the verification result indicates that the verification is passed;
[0026] If they are inconsistent, the verification result indicates that the verification fails.
[0027] In one embodiment, verifying the startup information according to the number of the plurality of startup items, the type of each startup item, and the attribute information of each startup item to obtain the verification result includes:
[0028] Verifying the startup information according to the number of the plurality of startup items to obtain a second verification result;
[0029] If the second verification result indicates that the verification is passed, then verifying the startup information according to the type of each startup item and the attribute information of each startup item to obtain the verification result;
[0030] If the second verification result indicates that the verification fails, then determining that the verification result indicates failure.
[0031] In one embodiment, verifying the startup information according to the number of the plurality of startup items to obtain a second verification result includes:
[0032] Determining whether the number of the plurality of startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system;
[0033] If they are consistent, then the second verification result indicates that the verification is passed;
[0034] If they are inconsistent, then the second verification result indicates that the verification fails.
[0035] In one embodiment, verifying the startup information according to the type of each startup item and the attribute information of each startup item to obtain the verification result includes:
[0036] Verifying the startup information according to the type of each startup item to obtain a third verification result;
[0037] If the third verification result indicates that the verification is passed, then verifying the startup information according to the attribute information of each startup item to obtain the verification result.
[0038] In one embodiment, verifying the startup information according to the type of each startup item to obtain a third verification result includes:
[0039] Determining whether the type of each startup item is consistent with the type of local startup items;
[0040] If they are consistent, then the third verification result indicates that the verification is passed;
[0041] If they are inconsistent, then the third verification result indicates that the verification fails.
[0042] In one embodiment, verifying the startup information according to the attribute information of each startup item to obtain the verification result includes:
[0043] Determining whether the attribute information of each startup item is consistent with the attribute information of each local startup item;
[0044] If they are consistent, the verification result indicates that the verification is passed;
[0045] If they are inconsistent, the verification result indicates that the verification fails.
[0046] In one embodiment, the method further includes:
[0047] Converting the target startup information into a preset format and storing the converted target startup information in a preset storage medium.
[0048] In one embodiment, the method further includes:
[0049] Sending the verification result to the client.
[0050] In one embodiment, the method further includes:
[0051] When receiving a restart instruction sent by the client, restarting the server.
[0052] In one embodiment, the method further includes:
[0053] When receiving a query request sent by the basic input / output system, determining whether the target startup information is consistent with the local startup information. If they are inconsistent, sending the target startup information to the basic input / output system to instruct the basic input / output system to start each startup class and / or startup item according to the target startup information.
[0054] In a second aspect, the present application provides a startup method, and the method includes:
[0055] Sending a query request to the baseboard management controller;
[0056] Receiving the target startup information returned by the baseboard management controller; the target startup information is the startup information after the client modifies the local startup information and the baseboard management controller verifies the modified local startup information;
[0057] Starting each startup class and / or startup item according to the target startup information.
[0058] In a third aspect, the present application further provides a determining device for startup information, including:
[0059] A first receiving module, configured to receive startup information sent by a client;
[0060] A verification module, configured to verify the startup information to obtain a verification result;
[0061] A determination module, configured to, when the verification result indicates that the verification is passed, determine the startup information as target startup information.
[0062] Fourthly, the present application further provides a startup device, including:
[0063] A sending module, configured to send a query request to a baseboard management controller;
[0064] A second receiving module, configured to receive the target startup information returned by the baseboard management controller; the target startup information is startup information obtained by the client modifying local startup information and verified by the baseboard management controller for the modified local startup information;
[0065] A startup module, configured to start each startup class and / or startup item according to the target startup information.
[0066] Fifthly, the present application further provides a computer device, including a memory and a processor, where the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0067] Receive startup information sent by a client;
[0068] Verify the startup information to obtain a verification result;
[0069] When the verification result indicates that the verification is passed, determine the startup information as target startup information.
[0070] Sixthly, the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0071] Receive startup information sent by a client;
[0072] Verify the startup information to obtain a verification result;
[0073] When the verification result indicates that the verification is passed, determine the startup information as target startup information.
[0074] Seventhly, the present application further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0075] Receive startup information sent by a client;
[0076] Verify the startup information to obtain a verification result;
[0077] When the verification result indicates that the verification is passed, determine the startup information as the target startup information.
[0078] The above method for determining startup information, startup method, computer device, and storage medium receive the startup information sent by the client, verify the startup information to obtain a verification result, and when the verification result indicates that the verification is passed, determine the startup information as the target startup information. By interacting between the client and the BMC, the above method realizes the determination of the startup information of the server. Compared with the existing method of determining startup information through proprietary tool commands, the above method is more flexible and is not limited to use by professional operators, so it has better adaptability. Moreover, during the process of determining the startup information, the above method also verifies the startup information sent by the client and performs the startup operation according to the startup information sent by the client only when the verification is passed, improving the accuracy of the startup operation. Description of the Drawings
[0079] To more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for use in the description of the embodiments or related technologies. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0080] Figure 1 It is an application environment diagram of the method for determining startup information in an embodiment;
[0081] Figure 2 It is a schematic flowchart of the method for determining startup information in an embodiment;
[0082] Figure 3 It is a schematic flowchart of the method for determining startup information in another embodiment;
[0083] Figure 4 It is a schematic flowchart of the method for determining startup information in another embodiment;
[0084] Figure 5 It is a schematic flowchart of the method for determining startup information in another embodiment;
[0085] Figure 6 It is a schematic flowchart of the method for determining startup information in another embodiment;
[0086] Figure 7 It is a schematic flowchart of the method for determining startup information in another embodiment;
[0087] Figure 8 Schematic flowchart of the method for determining startup information in another embodiment;
[0088] Figure 9 Schematic flowchart of the method for determining startup information in another embodiment;
[0089] Figure 10 Schematic flowchart of the method for determining startup information in another embodiment;
[0090] Figure 11 Schematic flowchart of the method for determining startup information in another embodiment;
[0091] Figure 12 Schematic flowchart of the method for determining startup information in another embodiment;
[0092] Figure 13 Schematic diagram of the stored content of a non - volatile storage medium in one embodiment;
[0093] Figure 14 Schematic flowchart of the method for determining startup information in another embodiment;
[0094] Figure 15 Schematic flowchart of the startup method in one embodiment;
[0095] Figure 16 Schematic flowchart of the method for determining startup information in another embodiment;
[0096] Figure 17 Structural block diagram of the device for determining startup information in one embodiment;
[0097] Figure 18 Structural block diagram of the device for determining startup information in another embodiment;
[0098] Figure 19 Structural block diagram of the device for determining startup information in another embodiment;
[0099] Figure 20 Structural block diagram of the device for determining startup information in another embodiment;
[0100] Figure 21 Structural block diagram of the device for determining startup information in another embodiment;
[0101] Figure 22 Structural block diagram of the device for determining startup information in another embodiment;
[0102] Figure 23 Structural block diagram of the startup device in one embodiment;
[0103] Figure 24 The internal structure diagram of a computer device in an embodiment. Detailed implementation manners
[0104] In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0105] A server includes various bootable devices, such as a CD / DVD optical drive, a floppy drive, a hard disk, a bootable USB device, etc. The bootable devices can form boot classes, and each boot class can include multiple boot items of the boot class. For example, for the boot class hard disk Hdd, a server can have multiple hard disks, and each hard disk can be used as a boot item. The bootable devices have a default boot order in the BIOS. For example: the first boot class is the CD / DVD optical drive, the second boot class is the floppy drive, and the third boot class is the hard disk. The BIOS will boot the bootable devices one by one according to the default boot order. If the first boot item fails to boot, it will automatically continue to boot the next one until all the bootable devices have been tried to boot. According to different requirements for the server, it is necessary to adjust the boot order of the boot classes and / or the boot items. The BIOS setup interface is used to set the boot class order and the boot option order of the BIOS, which is cumbersome to operate and not conducive to batch operation. In the prior art, the boot class options of the BIOS can also be set through the BMC, usually through the commands of the Intelligent Platform Management Interface (IPMI) to adjust the boot order of the bootable devices. However, the IPMI commands do not have a solution for setting the specific boot options in all boot classes and are not conducive to expanding the boot types.
[0106] The method for determining boot information provided by the embodiments of the present application can be applied to, for example Figure 1In the application environment shown. Among them, the baseboard management controller (BMC) 102 in the server communicates with the client 104 through the network, and the BMC 102 in the server communicates with the Basic Input Output System (BIOS) 103 in the server. The data storage system can store the data that needs to be processed by the BMC 102 and the BIOS 103 in the server. The data storage system can be integrated on the server, or placed in the cloud or other network servers. The BMC 102 receives the startup information sent by the client 104, the BMC 102 receives the query request sent by the BIOS 103, and sends the target startup information to the BIOS 103. Among them, the client 104 can be but is not limited to various personal computers, laptop computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. The portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc.
[0107] In one embodiment, as Figure 2 shown, a method for determining startup information is provided. Taking the BMC in the server in Figure 1 as an example, the method includes the following steps:
[0108] S201, receive the startup information sent by the client.
[0109] Among them, the startup information includes the startup order, startup path, and related information of all bootable devices in the server. For example, the startup information includes the startup order of the startup class, and / or the startup order of all startup items under each startup class, the path of the startup class, the path of the startup item, the related information of the startup class, and the related information of the startup item.
[0110] In the embodiments of the present application, the client can send an information query request to the baseboard management controller (BMC). The BMC responds to the information query request sent by the client and sends the current startup information of the server to the client. Further, the client can display the current startup information of the server to the user through the user interface. The client generates startup information according to the instructions input by the user and sends the startup information to the BMC. Optionally, the user can also modify the initial startup information on the client and send the modified startup information to the BMC through an instruction.
[0111] Optionally, the client is connected to the BMC through an Ethernet network interface and communicates through the Redfish protocol, that is, the client sends startup information to the BMC through the Redfish protocol.
[0112] S202. Verify the startup information to obtain a verification result.
[0113] The verification result is used to indicate whether the verification is passed or not. Passing the verification means that the startup information returned by the client is adapted to the server, and the server can perform corresponding startup operations according to the startup information. Failing the verification means that the startup information returned by the client is not adapted to the server, and the server cannot perform corresponding startup operations according to the startup information.
[0114] In the embodiment of the present application, the BMC can verify the startup information sent by the client according to the existing initial startup information of the server. Optionally, the BMC can also calculate the similarity between the initial startup information and the startup information, and can determine the verification result through the similarity and a preset similarity threshold. For example, when the similarity is lower than the preset similarity threshold, the verification result is not passed; when the similarity is greater than or equal to the preset similarity threshold, the verification result is passed.
[0115] S203. When the verification result indicates that the verification is passed, determine the startup information as the target startup information.
[0116] In the embodiment of the present application, when the verification result indicates that the verification is passed, that is, the startup information is adapted to the server. Based on this, the BMC can directly determine the startup information as the target startup information, and the BMC can send the target startup information to other hardware modules of the server. For example, when the startup information includes the startup order of bootable devices, the BMC can send the target startup information to the Basic Input Output System (BIOS). Further, the BIOS can start each bootable device according to the target startup information.
[0117] The method for determining the startup information described in the embodiment of the present application includes receiving the startup information sent by the client, verifying the startup information to obtain a verification result, and when the verification result indicates that the verification is passed, determining the startup information as the target startup information. By interacting between the client and the BMC, the above method realizes the determination of the startup information of the server. Compared with the existing method of determining the startup information through proprietary tool commands, the above method is more flexible and is not limited to professional operators, so it has better adaptability. Moreover, during the process of determining the startup information, the above method also verifies the startup information sent by the client, and only performs startup operations according to the startup information sent by the client when the verification is passed, improving the accuracy of the startup operation.
[0118] In one embodiment, an implementation manner of the above S202 is provided. As Figure 3 shown, the above "verifying the startup information to obtain a verification result" includes:
[0119] S301, determining the modification type of the startup information.
[0120] Among them, the modification type of the startup information includes the type of startup class or the type of startup item.
[0121] In the embodiment of the present application, the modification type of the startup information can be determined by parsing the startup information; alternatively, the client can send the modification type of the startup information and the startup information to the BMC at the same time.
[0122] S302, verifying the startup information according to the modification type of the startup information to obtain a verification result.
[0123] In the embodiment of the present application, the method for verifying the startup information may include a verification method corresponding to the startup class and a verification method corresponding to the startup item. When the modification type of the startup information is the type of startup class, the startup information is verified according to the verification method corresponding to the startup class to obtain a verification result; when the modification type of the startup information is the type of startup item, the startup information is verified according to the verification method corresponding to the startup item to obtain a verification result.
[0124] Optionally, when the modification type is the type of startup class and startup item, the startup information can be verified according to the verification method corresponding to the startup item to obtain a verification result; or, the startup information can be verified according to the verification method corresponding to the startup class first to obtain an initial verification result, and when the initial verification result is verified to pass, the startup information is verified according to the verification method corresponding to the startup item to obtain a verification result.
[0125] In the method described in the embodiment of the present application, verifying the startup information according to the modification type can determine a verification method that better matches the startup information, thereby improving the accuracy of the verification result of verifying the startup information.
[0126] In one embodiment, an implementation manner of the above S302 is provided. The startup information includes multiple startup classes or multiple startup items. As Figure 4 shown, the above "verifying the startup information according to the modification type of the startup information to obtain a verification result" includes:
[0127] S401, if the modification type is the type of startup class, then verify the startup information according to the number of multiple startup classes and the attribute information of each startup class to obtain a verification result.
[0128] Among them, the boot classes are various bootable devices in the server, such as hard disks, optical drives, floppy drives, etc. The boot items are multiple bootable devices of the same type included in each boot class. For example, in the boot class corresponding to the hard disk, the boot items can be Hard Disk 1, Hard Disk 2, and Hard Disk 3.
[0129] In the embodiment of the present application, when the modification type is the type of the boot class, the boot information can be parsed to determine the number of multiple boot classes in the boot information and the attribute information of each boot class, so as to verify the boot information through the number of multiple boot classes in the boot information and the attribute information of each boot class.
[0130] Optionally, the number of multiple boot classes in the boot information can be determined by counting; the attribute information of each boot class can be carried in the boot information, such as the name and identification information of each boot class.
[0131] S402, if the modification type is the type of the boot item, then verify the boot information according to the number of multiple boot items, the type of each boot item, and the attribute information of each boot item, and obtain a verification result.
[0132] In the embodiment of the present application, when the modification type is the type of the boot item, the boot information can be parsed to determine the number of boot items, the type of each boot item, and the attribute information of each boot item, so as to verify the boot information through the number of boot items, the type of each boot item, and the attribute information of each boot item.
[0133] Optionally, the number of multiple boot classes in the boot information can be determined by counting; the boot information can include multiple arrays, one array corresponding to one boot class, and the type of each boot item is determined by the boot items in each array; the attribute information of each boot item can be carried in the boot information, such as the name and identification information of each boot item.
[0134] As another optional implementation method, when the modification type is the type of the boot class, the boot information can include an array, and each element in the array corresponds to one boot class; when the modification type is the type of the boot item, the boot information can include an array, and each element in the array corresponds to one boot item.
[0135] The method described in the embodiment of the present application verifies the boot information differently according to different modification types to obtain a verification result of the boot information, which can improve the accuracy of the verification result, thereby improving the accuracy of the target boot information.
[0136] In one embodiment, an implementation manner of the above S402 is provided, as Figure 5As shown above, "validating the startup information according to the number of multiple startup classes and the attribute information of each startup class to obtain a validation result" includes:
[0137] S501. Validate the startup information according to the number of multiple startup classes to obtain a first validation result.
[0138] In the embodiment of the present application, the first validation result includes passing the validation and failing the validation. The startup information can be further validated according to the first validation result.
[0139] Optionally, the startup information can be validated according to the number of multiple startup classes and the preset number of startup classes. When the difference between the number of multiple startup classes and the preset number of startup classes is less than the preset first threshold, the first validation result is passed; when the difference between the number of multiple startup classes and the preset number of startup classes is greater than or equal to the second threshold, the second validation result is failed.
[0140] Optionally, as Figure 6 shown above, the above step S501 "validating the startup information according to the number of multiple startup classes to obtain a first validation result" includes:
[0141] S5011. Determine whether the number of multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system.
[0142] S5012. If they are consistent, the first validation result indicates that the validation is passed.
[0143] S5013. If they are inconsistent, the first validation result indicates that the validation fails.
[0144] Among them, the local startup classes are the startup classes currently supported by the server recorded in the BIOS.
[0145] In the embodiment of the present application, the number of local startup classes is determined according to the current startup information of the server, and the number of multiple startup classes is compared with the number of local startup classes for consistency. If the consistency comparison passes, the first validation passes, and the startup information can be further validated. If the consistency comparison fails, it means that the startup information is not compatible with the server, and the startup information cannot be determined as the target startup information. Using the quantity relationship of the startup classes to validate the startup information, if the validation fails, there is no need to continue the validation, which can save the computing resources of the BMC.
[0146] Exemplarily, if the local startup classes include startup class 1 and startup class 2, and the multiple startup classes include startup class 1, startup class 2, and startup class 3, then the number of multiple startup classes is inconsistent with the number of local startup classes, and the first validation result indicates that the validation fails.
[0147] S502. If the first verification result indicates that the verification is passed, verify the startup information according to the attribute information of each startup class to obtain a verification result.
[0148] Optionally, it is possible to determine the verification result of the startup information by determining whether the attribute information of each startup class is in the preset first attribute information library. Specifically, if the preset first attribute information library includes the attribute information of each startup class, the verification is passed. If there is attribute information among the attribute information of multiple startup classes that is not in the preset first attribute information library, the verification fails.
[0149] Optionally, as Figure 7 shown, the above step S502, "Verify the startup information according to the attribute information of each startup class to obtain a verification result", includes:
[0150] S5021. Determine whether the attribute information of each startup class is consistent with the attribute information of the local startup class.
[0151] S5022. If they are consistent, the verification result indicates that the verification is passed.
[0152] S5023. If they are not consistent, the verification result indicates that the verification fails.
[0153] In the embodiment of the present application, the existing startup information of the server is parsed to obtain the attribute information of the local startup class. The attribute information of the startup class can be the name or identification information of the startup class, etc. Compare the attribute information of each startup class with the attribute information of the local startup class for consistency. If the attribute information of each startup class has corresponding attribute information of the local startup class, the verification result indicates that the verification is passed; if there is attribute information among the attribute information of multiple startup classes that is not in the attribute information of the local startup class, the verification result indicates that the verification fails.
[0154] Exemplarily, taking the attribute information of the startup class as the name of the startup class as an example. If the attribute information of each startup class includes an optical drive, a hard drive, and a floppy drive, and the attribute information of the local startup class includes a hard drive, an optical drive, and a bootable USB device, then both the attribute information of each startup class and the attribute information of the local startup class include a hard drive and an optical drive, but the attribute information of each startup class and the attribute information of the local startup class are not completely consistent, so the verification result indicates that the verification fails.
[0155] S503. If the first verification result indicates that the verification fails, determine that the verification result indicates failure.
[0156] In the embodiment of the present application, if the first verification result indicates that the verification fails, it means that the startup information does not match the server, and there is no need to continue verifying the startup information. The verification result is determined to be failure.
[0157] The method described in the embodiments of the present application verifies the startup information based on the number of multiple startup classes to obtain a first verification result. In the case where the first verification result passes, the startup information is further verified using the attribute information of each startup class to obtain a verification result. In the case where the first verification result fails, there is no need to continue the verification, and the verification result is determined to fail, effectively saving the computing resources of the BMC and improving the accuracy of the verification result by using two verifications.
[0158] In one embodiment, an implementation manner of S403 is provided, as Figure 8 shown, the above "verifying the startup information according to the number of multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain a verification result" includes:
[0159] S601, verifying the startup information according to the number of multiple startup items to obtain a second verification result.
[0160] In the embodiments of the present application, the second verification result includes verification passed and verification failed, and the startup information can be further verified according to the second verification result.
[0161] Optionally, the startup information can be verified according to the total number of startup items included in multiple startup classes to obtain a second verification result; or, the startup information can be verified according to the number of startup items included in each startup class.
[0162] Optionally, as Figure 9 shown, the above step S601 "verifying the startup information according to the number of multiple startup items to obtain a second verification result" includes:
[0163] S6011, determining whether the number of multiple startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system.
[0164] S6012, if they are consistent, the second verification result indicates verification passed.
[0165] S6013, if they are inconsistent, the second verification result indicates verification failed.
[0166] Among them, the local startup items are the startup items currently supported by the server recorded in the BIOS.
[0167] As an optional implementation method, when the modification type is the type of startup item, the startup information can include an array, and each element in the array corresponds to a startup item. The number of startup items in the startup information can be determined by counting, so as to determine whether the verification passes according to whether the number of startup items is consistent with the number of local startup items.
[0168] S602. If the second verification result indicates that the verification is passed, then verify the startup information according to the types of each startup item and the attribute information of each startup item to obtain a verification result.
[0169] As an alternative implementation, the startup information can be verified according to the types of each startup item, the attribute information of each startup item, and a preset database. If both the types of each startup item and the attribute information of each startup item are in the preset database, the verification result is that the verification is passed. If any one of the type of the startup item and the attribute information of each startup item is not in the preset database, the verification result is that the verification fails.
[0170] Optionally, as Figure 10 shown, the above step S602 "Verify the startup information according to the types of each startup item and the attribute information of each startup item to obtain a verification result" includes:
[0171] S6021. Verify the startup information according to the types of each startup item to obtain a third verification result.
[0172] As an alternative implementation, if the types of the startup items are the same, the third verification result is that the verification is passed. If the types of the startup items are different, the third verification result is that the verification fails.
[0173] Furthermore, as Figure 11 shown, the above step S6021 "Verify the startup information according to the types of each startup item to obtain a third verification result" includes:
[0174] S60211. Determine whether the types of each startup item are the same as the types of the local startup items.
[0175] S60212. If they are the same, the third verification result indicates that the verification is passed.
[0176] S60213. If they are different, the third verification result indicates that the verification fails.
[0177] In the embodiments of the present application, determine the corresponding local startup classes for each startup class. Further, if the types of each startup item are the same as the types of the corresponding local startup items, it indicates that the verification of the startup information according to the types of each startup item is passed. If the types of each startup item are different from the types of the corresponding local startup items, the startup information does not match the server, and the third verification result is that it fails, that is, the verification result also fails.
[0178] S6022. If the third verification result indicates that the verification is passed, then verify the startup information according to the attribute information of each startup item to obtain a verification result.
[0179] Optionally, the verification result of the startup information can be determined by checking whether the attribute information of each startup item is in a preset second attribute information library. Specifically, if the preset second attribute information library contains the attribute information of each startup item, the verification passes; if there is attribute information among the attribute information of multiple startup items that is not in the preset second attribute information library, the verification fails.
[0180] Further, as Figure 12 shown, step S6022 "Verify the startup information based on the attribute information of each startup item to obtain a verification result" includes:
[0181] S60221, Determine whether the attribute information of each startup item is consistent with the attribute information of each local startup item.
[0182] S60222, If they are consistent, the verification result indicates that the verification passes.
[0183] S60223, If they are inconsistent, the verification result indicates that the verification fails.
[0184] In the embodiment of the present application, the existing startup information of the server is parsed to obtain the attribute information of the local startup items. The attribute information of the startup items can be the name or identification information of the startup items, etc. Compare the attribute information of each startup item with the attribute information of the local startup items for consistency. If the attribute information of each startup item has corresponding attribute information of the local startup items, the verification result indicates that the verification passes; if there is attribute information among the attribute information of multiple startup items that is not in the attribute information of the local startup items, the verification result indicates that the verification fails.
[0185] S603, If the second verification result indicates that the verification fails, determine that the verification result indicates failure.
[0186] In the embodiment of the present application, if the second verification result fails, the startup information does not match the server, and there is no need to continue verifying the startup information. Determine the verification result as failed.
[0187] In the method described in the embodiment of the present application, when the second verification result is passed, the startup information is subjected to a third verification. When the third verification result is passed, the startup information is further verified using the attribute information of the startup item to obtain a verification result. Verifying the startup information three times improves the accuracy of the verification result. When the second verification result or the third verification result is failed, the verification result is determined as failed, saving the computing resources of the BMC.
[0188] In one embodiment, as Figure 13 shown, the above method for determining startup information further includes:
[0189] S204: Convert the target startup information into a preset format, and store the converted target startup information into a preset storage medium.
[0190] The preset storage medium may be a non-volatile storage medium.
[0191] Optionally, in the embodiment of the present application, the target startup information may be a set of arrays, such as [A1, A2, A3][C1, C2][B1, B2], wherein the first array may correspond to startup class 1, the second array may correspond to startup class 3, and the third array may correspond to startup class 2. The elements in each array are startup items in each startup class, and each startup item may carry path information, category information, etc. of each startup item. Further, as Figure 13 As shown, the target startup information can be parsed and split, and the target startup information can be converted into target startup information in a preset format. Exemplarily, the converted target startup information can include startup class sequence information, specific information of startup items and startup item sequence information, wherein the startup class sequence information can be [Hdd, Floppy, Cd, Usb], Hdd is a hard disk, Floppy is a floppy drive, Cd is an optical drive, and Usb is a bootable USB device, the specific information of the startup item can be multiple arrays, and the format of each array can be [unique identifier, category, device path, description information, display name], and the startup item sequence information can also be multiple arrays, and the format of each array can be {startup class information, [same type startup item 1, same type startup item 2, same type startup item 3, ...]}.
[0192] Optionally, both the target startup information and the converted target startup information may be in a JS key-value pair data (JavaScript Object Notation, JSON) data format.
[0193] Furthermore, the method for determining the startup information further includes:
[0194] S205, upon receiving the query request sent by the basic input and output system, determining whether the target startup information is consistent with the local startup information, if not, sending the target startup information to the basic input and output system to instruct the basic input and output system to start each startup class and / or startup item according to the target startup information.
[0195] Among them, the Basic Input Output System (BIOS) is a set of programs solidified on a ROM chip on the motherboard of the computer, which stores the most important basic input and output programs of the computer, self-test programs after power-on, and system self-starting programs.
[0196] Optionally, in the embodiments of the present application, if the BMC determines the startup information sent by the client as the target startup information, it may store an update identifier in a preset storage medium. When the BMC receives a query request sent by the BIOS, if there is no update identifier in the preset storage medium, the target startup information is the same as the local startup information, and there is no need to replace the startup information of the server; if there is an update identifier stored in the preset storage medium, the target startup information is different from the local startup information, and the BMC target startup information is sent to the BIOS. It should be noted that the BMC sends the target startup information to the BIOS after receiving the query request sent by the BIOS.
[0197] Further, the update identifier may specifically indicate that the target startup information is to update the startup class order or the startup item order. After receiving the target startup information, the BIOS starts each startup class and / or startup item according to the target startup information and in combination with the update identifier.
[0198] The method described in the embodiments of the present application converts the target startup information into a data format recognizable by the BIOS, stores the converted target startup information in a preset storage medium, and in response to a query request sent by the BIOS, pushes the target startup information to the BIOS so that the BIOS can complete the startup of the bootable device.
[0199] In one embodiment, as Figure 14 shown, the above method for determining startup information further includes:
[0200] S206, sending a verification result to the client.
[0201] In the embodiments of the present application, after verifying the startup information to obtain a verification result, the verification result is sent to the client so that the client can send an instruction to the BMC based on the verification result. Optionally, the BMC may send the verification result to the client through the redfish interface.
[0202] S207, when receiving a restart instruction sent by the client, restart the server.
[0203] In the embodiments of the present application, if the verification result is verification passed, the startup information is determined as the target startup information. If it is necessary to start the bootable device of the server according to the target startup information, the server needs to be restarted. The user can send a restart instruction to the BMC according to the current performance requirements. After receiving the restart instruction, the BMC sends a restart instruction to each component of the server to restart the server.
[0204] The method described in the embodiments of the present application sends the verification result to the client and restarts the server according to the instruction sent by the client, so that the server can start each bootable device according to the target boot information and enable the user to understand the process of determining the boot information.
[0205] In one embodiment, as Figure 15 shown, a boot method is provided. Taking the BIOS in the server in Figure 1 as an example, the method includes the following steps:
[0206] S701, send a query request to the baseboard management controller.
[0207] In the embodiments of the present application, after the server starts, the BIOS sends a query request to the BMC to determine whether the boot information stored in the preset storage medium of the BMC is the target boot information or the current boot information. If it is the target boot information, the BMC sends the target boot information to the BIOS. If it is the current boot information, the BIOS starts each boot class and / or boot item according to the current boot information.
[0208] S702, receive the target boot information returned by the baseboard management controller; the target boot information is the boot information after the client modifies the local boot information and the baseboard management controller verifies the modified local boot information.
[0209] In the embodiments of the present application, the client forms boot information according to the information input by the user and sends the boot information to the BMC. The BMC can verify the boot information sent by the client according to the local boot information of the server. If the verification passes, the BMC determines the boot information sent by the client as the target boot information and, in response to the query request sent by the BIOS, sends the target boot information to the BIOS.
[0210] S703, start each boot class and / or boot item according to the target boot information.
[0211] In the embodiments of the present application, the BIOS replaces the local boot information with the target boot information and starts each boot class in the server and each boot item included in each boot class according to the target boot information.
[0212] Optionally, the user can modify the target boot information through the BIOS interface to obtain the modified target boot information and send the modified target boot information to the BMC. The BMC stores the modified target boot information in the preset storage medium. It should be noted that the boot class and / or boot item in the target boot information cannot be modified in batches through the BIOS interface.
[0213] In the method described in the embodiments of the present application, the BIOS sends a query request to the BMC and starts each startup class and / or startup item according to the target startup information returned by the BMC, so that the BIOS can obtain the modified startup information in a timely manner, and each boot device can start according to the target startup information.
[0214] Combining all the above embodiments, a method for determining startup information is further provided, as Figure 16 shown, the method includes:
[0215] S801, the BMC receives the startup information sent by the client; the startup information includes multiple startup classes or multiple startup items.
[0216] S802, the BMC determines the modification type of the startup information.
[0217] S803, if the modification type is the type of startup class, the BMC executes S804 - S805; if the modification type is the type of startup item, the BMC executes S806 - S808.
[0218] S804, the BMC determines whether the number of multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system; if they are consistent, the first verification result indicates that the verification passes; if they are inconsistent, the first verification result indicates that the verification fails.
[0219] S805, if the first verification result indicates that the verification passes, the BMC determines whether the attribute information of each startup class is consistent with the attribute information of the local startup class; if they are consistent, the verification result indicates that the verification passes; if they are inconsistent, the verification result indicates that the verification fails. If the first verification result indicates that the verification fails, the BMC determines that the verification result indicates failure.
[0220] S806, the BMC determines whether the number of multiple startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system; if they are consistent, the second verification result indicates that the verification passes; if they are inconsistent, the second verification result indicates that the verification fails.
[0221] S807, if the second verification result indicates that the verification passes, the BMC determines whether the type of each startup item is consistent with the type of each local startup item; if they are consistent, the third verification result indicates that the verification passes; if they are inconsistent, the third verification result indicates that the verification fails; if the second verification result indicates that the verification fails, the BMC determines that the verification result indicates failure.
[0222] S808, if the third verification result indicates that the verification passes, the BMC determines whether the attribute information of each startup item is consistent with the attribute information of each local startup item; if they are consistent, the verification result indicates that the verification passes; if they are inconsistent, the verification result indicates that the verification fails.
[0223] S809, when the verification result indicates that the verification is passed, the BMC determines the startup information as the target startup information.
[0224] S810, the BMC performs a preset format conversion on the target startup information and stores the converted target startup information in a preset storage medium.
[0225] S811, the BMC sends the verification result to the client.
[0226] S812, when the BMC receives a restart instruction sent by the client, it restarts the server.
[0227] S813, the BIOS sends a query request to the BMC.
[0228] S814, the BMC determines whether the target startup information is consistent with the local startup information. If not, it sends the target startup information to the BIOS.
[0229] S815, the BIOS starts each startup class and / or startup item according to the target startup information.
[0230] The method described in the embodiments of the present application receives the startup information sent by the client, verifies the startup information to obtain a verification result, and determines the startup information as the target startup information when the verification result indicates that the verification is passed. The above method realizes the determination of the startup information of the server through the interaction between the client and the BMC. Compared with the existing method of determining the startup information through proprietary tool commands, the above method is more flexible, not limited to professional operators, so it has better adaptability. Moreover, the above method also verifies the startup information sent by the client during the process of determining the startup information, and only performs the startup operation according to the startup information sent by the client when the verification is passed, improving the accuracy of the startup operation.
[0231] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are displayed in sequence according to the arrows, these steps do not necessarily need to be executed in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages do not necessarily need to be executed at the same time, but can be executed at different times. The execution order of these steps or stages does not necessarily need to be sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0232] Based on the same inventive concept, an embodiment of the present application further provides a determination device for the startup information for implementing the determination method of the startup information involved above. The implementation solutions for solving problems provided by this device are similar to those recorded in the above method. Therefore, the specific limitations in one or more embodiments of the determination device for startup information provided below can refer to the limitations on the determination method of startup information in the above text, and will not be elaborated here.
[0233] In one embodiment, as Figure 17 shown, a determination device for startup information is provided, including: a first receiving module 10, a verification module 11, and a determination module 12, where:
[0234] The first receiving module 10 is configured to receive the startup information sent by the client.
[0235] The verification module 11 is configured to verify the startup information to obtain a verification result.
[0236] The first determination module 12 is configured to determine the startup information as the target startup information when the verification result indicates that the verification is passed.
[0237] In one embodiment, as Figure 18 shown, the above verification module 11 includes: a determination unit 111 and a verification unit 112, where:
[0238] The determination unit 111 is configured to determine the modification type of the startup information.
[0239] The verification unit 112 is configured to verify the startup information according to the modification type of the startup information to obtain a verification result.
[0240] In one embodiment, the above verification unit 112 is configured to verify the startup information according to the number of multiple startup classes and the attribute information of each startup class to obtain a verification result when the modification type is the type of startup class; and verify the startup information according to the number of multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain a verification result when the modification type is the type of startup item.
[0241] In one embodiment, the above verification unit 112 is specifically configured to verify the startup information according to the number of multiple startup classes to obtain a first verification result; if the first verification result indicates that the verification is passed, then verify the startup information according to the attribute information of each startup class to obtain a verification result; if the first verification result indicates that the verification is not passed, then determine that the verification result indicates not passed.
[0242] In one embodiment, the above verification unit 112 is specifically configured to determine whether the number of multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system; if they are consistent, the first verification result indicates that the verification is passed; if they are inconsistent, the first verification result indicates that the verification fails.
[0243] In one embodiment, the above verification unit 112 is specifically configured to determine whether the attribute information of each startup class is consistent with the attribute information of the local startup class; if they are consistent, the verification result indicates that the verification is passed; if they are inconsistent, the verification result indicates that the verification fails.
[0244] In one embodiment, the above verification unit 112 is specifically configured to verify the startup information according to the number of multiple startup items to obtain a second verification result; if the second verification result indicates that the verification is passed, then verify the startup information according to the type of each startup item and the attribute information of each startup item to obtain the verification result; if the second verification result indicates that the verification fails, then determine that the verification result indicates failure.
[0245] In one embodiment, the above verification unit 112 is specifically configured to determine whether the number of each startup item is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system; if they are consistent, the second verification result indicates that the verification is passed; if they are inconsistent, the second verification result indicates that the verification fails.
[0246] In one embodiment, the above verification unit 112 is specifically configured to verify the startup information according to the type of each startup item to obtain a third verification result; if the third verification result indicates that the verification is passed, then verify the startup information according to the attribute information of each startup item to obtain the verification result.
[0247] In one embodiment, the above verification unit 112 is specifically configured to determine whether the type of each startup item is consistent with the type of each local startup item; if they are consistent, the third verification result indicates that the verification is passed; if they are inconsistent, the third verification result indicates that the verification fails.
[0248] In one embodiment, the above verification unit 112 is specifically configured to determine whether the attribute information of each startup item is consistent with the attribute information of each local startup item; if they are consistent, the verification result indicates that the verification is passed; if they are inconsistent, the verification result indicates that the verification fails.
[0249] In one embodiment, as Figure 19 shown, the above startup information determination device further includes:
[0250] A conversion module 13, configured to perform a preset format conversion on the target startup information and store the converted target startup information in a preset storage medium.
[0251] In one embodiment, as Figure 20 shown, the determining device for the above-mentioned startup information further includes:
[0252] A first sending module 14, configured to send a verification result to a client.
[0253] In one embodiment, as Figure 21 shown, the determining device for the above-mentioned startup information further includes:
[0254] A restart module 15, configured to restart the server when receiving a restart instruction sent by the client.
[0255] In one embodiment, as Figure 22 shown, the determining device for the above-mentioned startup information further includes:
[0256] A second determining module 16, configured to determine whether the target startup information is consistent with the local startup information when receiving a query request sent by the basic input / output system. If not, the target startup information is sent to the basic input / output system to instruct the basic input / output system to start each startup class and / or startup item according to the target startup information.
[0257] Each module in the determining device for the above-mentioned startup information can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in or independent of a processor in a computer device in the form of hardware, or stored in a memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0258] Based on the same inventive concept, an embodiment of the present application further provides a startup device for implementing the above-mentioned startup method. The implementation solution provided by this device to solve the problem is similar to the implementation solution described in the above method. Therefore, the specific limitations in one or more embodiments of the startup device provided below can refer to the limitations on the startup method in the above text, and will not be repeated here.
[0259] In one embodiment, as Figure 23 shown, a startup device is provided, including: a second sending module 17, a second receiving module 18, and a startup module 19, where:
[0260] The second sending module 17 is configured to send a query request to a baseboard management controller.
[0261] The second receiving module 18 is configured to receive target startup information returned by the baseboard management controller; the target startup information is startup information after the client modifies the local startup information and the baseboard management controller verifies the modified local startup information.
[0262] A startup module 19 is used to start each startup class and / or startup item according to the target startup information.
[0263] Each module in the above startup device can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in the processor of the computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each of the above modules.
[0264] In one embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 24 shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store the determination data of the startup information. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements a method for determining startup information.
[0265] Those skilled in the art can understand that Figure 24 the structure shown in
[0266] is only a block diagram of some structures related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0267] Receive the startup information sent by the client;
[0268] Verify the startup information to obtain a verification result;
[0269] In the case where the verification result indicates that the verification is passed, determine the startup information as the target startup information.
[0270] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0271] Determine the modification type of the startup information;
[0272] Verify the startup information according to the modification type of the startup information to obtain a verification result.
[0273] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0274] If the modification type is the type of startup class, verify the startup information according to the number of multiple startup classes and the attribute information of each startup class to obtain a verification result;
[0275] If the modification type is the type of startup item, verify the startup information according to the number of multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain a verification result.
[0276] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0277] Verify the startup information according to the number of multiple startup classes to obtain a first verification result;
[0278] If the first verification result indicates that the verification is passed, verify the startup information according to the attribute information of each startup class to obtain a verification result;
[0279] If the first verification result indicates that the verification fails, determine that the verification result indicates failure.
[0280] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0281] Determine whether the number of multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system;
[0282] If they are consistent, the first verification result indicates that the verification is passed;
[0283] If they are inconsistent, the first verification result indicates that the verification fails.
[0284] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0285] Determine whether the attribute information of each startup class is consistent with the attribute information of the local startup class;
[0286] If they are consistent, the verification result indicates that the verification is passed;
[0287] If they are inconsistent, the verification result indicates that the verification fails.
[0288] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0289] Verify the startup information based on the number of multiple startup items to obtain a second verification result;
[0290] If the second verification result indicates that the verification is passed, verify the startup information according to the types of each startup item and the attribute information of each startup item to obtain a verification result;
[0291] If the second verification result indicates that the verification fails, determine that the verification result indicates failure.
[0292] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0293] Determine whether the number of multiple startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system;
[0294] If they are consistent, the second verification result indicates that the verification is passed;
[0295] If they are inconsistent, the second verification result indicates that the verification fails.
[0296] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0297] Verify the startup information according to the types of each startup item to obtain a third verification result;
[0298] If the third verification result indicates that the verification is passed, verify the startup information according to the attribute information of each startup item to obtain a verification result.
[0299] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0300] Determine whether the types of each startup item are consistent with the types of each local startup item;
[0301] If they are consistent, the third verification result indicates that the verification is passed;
[0302] If they are inconsistent, the third verification result indicates that the verification fails.
[0303] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0304] Determine whether the attribute information of each startup item is consistent with the attribute information of each local startup item;
[0305] If they are consistent, the verification result indicates that the verification is passed;
[0306] If they are inconsistent, the verification result indicates that the verification fails.
[0307] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0308] Convert the target startup information into a preset format and store the converted target startup information in a preset storage medium.
[0309] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0310] Send the verification result to the client.
[0311] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0312] When receiving a restart instruction sent by the client, restart the server.
[0313] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0314] When receiving a query request sent by the basic input / output system, determine whether the target startup information is consistent with the local startup information. If not, send the target startup information to the basic input / output system to instruct the basic input / output system to start each startup class and / or startup item according to the target startup information.
[0315] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0316] Send a query request to the baseboard management controller;
[0317] Receive the target startup information returned by the baseboard management controller; the target startup information is the startup information after the client modifies the local startup information and the baseboard management controller verifies the modified local startup information;
[0318] Start each startup class and / or startup item according to the target startup information.
[0319] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0320] Receive the startup information sent by the client;
[0321] Verify the startup information to obtain a verification result;
[0322] When the verification result indicates that the verification is passed, determine the startup information as the target startup information.
[0323] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:
[0324] Determine the modification type of the startup information;
[0325] Verify the startup information according to the modification type of the startup information to obtain a verification result.
[0326] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0327] If the modification type is the type of startup class, verify the startup information according to the number of multiple startup classes and the attribute information of each startup class to obtain a verification result;
[0328] If the modification type is the type of startup item, verify the startup information according to the number of multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain a verification result.
[0329] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0330] Verify the startup information according to the number of multiple startup classes to obtain a first verification result;
[0331] If the first verification result indicates that the verification is passed, verify the startup information according to the attribute information of each startup class to obtain a verification result;
[0332] If the first verification result indicates that the verification fails, determine that the verification result indicates failure.
[0333] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0334] Determine whether the number of multiple startup classes is consistent with the number of local startup classes; the local startup class is the startup class recorded in the input / output system;
[0335] If they are consistent, the first verification result indicates that the verification is passed;
[0336] If they are inconsistent, the first verification result indicates that the verification fails.
[0337] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0338] Determine whether the attribute information of each startup class is consistent with the attribute information of the local startup class;
[0339] If they are consistent, the verification result indicates that the verification is passed;
[0340] If they are inconsistent, the verification result indicates that the verification fails.
[0341] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0342] Verify the startup information based on the number of multiple startup items to obtain a second verification result;
[0343] If the second verification result indicates that the verification is passed, then verify the startup information according to the type of each startup item and the attribute information of each startup item to obtain a verification result;
[0344] If the second verification result indicates that the verification fails, then determine that the verification result indicates failure.
[0345] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0346] Determine whether the number of multiple startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system;
[0347] If they are consistent, the second verification result indicates that the verification is passed;
[0348] If they are inconsistent, the second verification result indicates that the verification fails.
[0349] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0350] Verify the startup information according to the type of each startup item to obtain a third verification result;
[0351] If the third verification result indicates that the verification is passed, then verify the startup information according to the attribute information of each startup item to obtain a verification result.
[0352] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0353] Determine whether the type of each startup item is consistent with the type of each local startup item;
[0354] If they are consistent, the third verification result indicates that the verification is passed;
[0355] If they are inconsistent, the third verification result indicates that the verification fails.
[0356] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0357] Determine whether the attribute information of each startup item is consistent with the attribute information of each local startup item;
[0358] If they are consistent, the verification result indicates that the verification is passed;
[0359] If they are inconsistent, the verification result indicates that the verification fails.
[0360] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0361] Convert the target startup information into a preset format, and store the converted target startup information in a preset storage medium.
[0362] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0363] Send the verification result to the client.
[0364] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0365] When receiving a restart instruction sent by the client, restart the server.
[0366] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0367] When receiving a query request sent by the basic input / output system, determine whether the target startup information is consistent with the local startup information. If not, send the target startup information to the basic input / output system to instruct the basic input / output system to start each startup class and / or startup item according to the target startup information.
[0368] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0369] Send a query request to the baseboard management controller;
[0370] Receive the target startup information returned by the baseboard management controller; the target startup information is the startup information after the client modifies the local startup information and the baseboard management controller verifies the modified local startup information;
[0371] Start each startup class and / or startup item according to the target startup information.
[0372] In one embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0373] Receive the startup information sent by the client;
[0374] Verify the startup information to obtain a verification result;
[0375] When the verification result indicates that the verification is passed, determine the startup information as the target startup information.
[0376] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0377] Determine the modification type of the startup information;
[0378] Verify the startup information according to the modification type of the startup information to obtain a verification result.
[0379] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0380] If the modification type is the type of startup class, verify the startup information according to the number of multiple startup classes and the attribute information of each startup class to obtain a verification result;
[0381] If the modification type is the type of startup item, verify the startup information according to the number of multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain a verification result.
[0382] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0383] Verify the startup information according to the number of multiple startup classes to obtain a first verification result;
[0384] If the first verification result indicates that the verification is passed, verify the startup information according to the attribute information of each startup class to obtain a verification result;
[0385] If the first verification result indicates that the verification fails, determine that the verification result indicates failure.
[0386] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0387] Determine whether the number of multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system;
[0388] If they are consistent, the first verification result indicates that the verification is passed;
[0389] If they are inconsistent, the first verification result indicates that the verification fails.
[0390] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0391] Determine whether the attribute information of each startup class is consistent with the attribute information of the local startup class;
[0392] If they are consistent, the verification result indicates that the verification is passed;
[0393] If they are inconsistent, the verification result indicates that the verification fails.
[0394] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0395] Verify the startup information based on the number of multiple startup items to obtain a second verification result;
[0396] If the second verification result indicates that the verification is passed, then verify the startup information according to the types of each startup item and the attribute information of each startup item to obtain a verification result;
[0397] If the second verification result indicates that the verification fails, then determine that the verification result indicates failure.
[0398] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0399] Determine whether the number of multiple startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system;
[0400] If they are consistent, the second verification result indicates that the verification is passed;
[0401] If they are inconsistent, the second verification result indicates that the verification fails.
[0402] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0403] Verify the startup information according to the types of each startup item to obtain a third verification result;
[0404] If the third verification result indicates that the verification is passed, then verify the startup information according to the attribute information of each startup item to obtain a verification result.
[0405] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0406] Determine whether the types of each startup item are consistent with the types of each local startup item;
[0407] If they are consistent, the third verification result indicates that the verification is passed;
[0408] If they are inconsistent, the third verification result indicates that the verification fails.
[0409] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0410] Determine whether the attribute information of each startup item is consistent with the attribute information of each local startup item;
[0411] If they are consistent, the verification result indicates that the verification is passed;
[0412] If they are inconsistent, the verification result indicates that the verification fails.
[0413] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0414] Convert the target startup information into a preset format, and store the converted target startup information in a preset storage medium.
[0415] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0416] Send the verification result to the client.
[0417] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0418] When receiving a restart instruction sent by the client, restart the server.
[0419] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0420] When receiving a query request sent by the basic input / output system, determine whether the target startup information is consistent with the local startup information. If not, send the target startup information to the basic input / output system to instruct the basic input / output system to start each startup class and / or startup item according to the target startup information.
[0421] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0422] Send a query request to the baseboard management controller;
[0423] Receive the target startup information returned by the baseboard management controller; the target startup information is the startup information after the client modifies the local startup information and the baseboard management controller verifies the modified local startup information;
[0424] Start each startup class and / or startup item according to the target startup information.
[0425] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memories can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memories can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in the present application can be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., without limitation.
[0426] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.
[0427] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A method for determining startup information, characterized in that, the method includes: receiving the startup information sent by the client; verifying the startup information to obtain a verification result; when the verification result indicates that the verification is passed, determining the startup information as the target startup information.
2. The method according to claim 1, characterized in that, the step of verifying the startup information to obtain a verification result includes: determining the modification type of the startup information; verifying the startup information according to the modification type of the startup information to obtain a verification result.
3. The method according to claim 2, characterized in that, the startup information includes multiple startup classes or multiple startup items, and the step of verifying the startup information according to the modification type of the startup information to obtain a verification result includes: if the modification type is the type of startup class, verifying the startup information according to the number of the multiple startup classes and the attribute information of each startup class to obtain the verification result; if the modification type is the type of startup item, verifying the startup information according to the number of the multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain the verification result.
4. The method according to claim 3, characterized in that, the step of verifying the startup information according to the number of the multiple startup classes and the attribute information of each startup class to obtain the verification result includes: verifying the startup information according to the number of the multiple startup classes to obtain a first verification result; if the first verification result indicates that the verification is passed, verifying the startup information according to the attribute information of each startup class to obtain the verification result; if the first verification result indicates that the verification fails, determining that the verification result indicates failure.
5. The method according to claim 4, characterized in that, the step of verifying the startup information according to the number of the multiple startup classes to obtain a first verification result includes: determining whether the number of the multiple startup classes is consistent with the number of local startup classes; the local startup classes are the startup classes recorded in the input / output system; if they are consistent, the first verification result indicates that the verification is passed; if they are inconsistent, the first verification result indicates that the verification fails.
6. The method according to claim 4, characterized in that, the step of verifying the startup information according to the attribute information of each startup class to obtain the verification result includes: determining whether the attribute information of each startup class is consistent with the attribute information of local startup classes; if they are consistent, the verification result indicates that the verification is passed; if they are inconsistent, the verification result indicates that the verification fails.
7. The method according to claim 3, characterized in that, the step of verifying the startup information according to the number of the multiple startup items, the type of each startup item, and the attribute information of each startup item to obtain the verification result includes: verifying the startup information according to the number of the multiple startup items to obtain a second verification result; If the second verification result indicates that the verification is passed, then verify the startup information according to the types of the startup items and the attribute information of the startup items to obtain the verification result; If the second verification result indicates that the verification fails, then determine that the verification result indicates failure.
8. The method according to claim 7, wherein, the verifying the startup information according to the number of the multiple startup items to obtain a second verification result includes: determining whether the number of the multiple startup items is consistent with the number of local startup items; the local startup items are the startup items recorded in the input / output system; if they are consistent, then the second verification result indicates that the verification is passed; if they are inconsistent, then the second verification result indicates that the verification fails.
9. The method according to claim 7, wherein, the verifying the startup information according to the types of the startup items and the attribute information of the startup items to obtain the verification result includes: verifying the startup information according to the types of the startup items to obtain a third verification result; if the third verification result indicates that the verification is passed, then verify the startup information according to the attribute information of the startup items to obtain the verification result.
10. The method according to claim 9, wherein, the verifying the startup information according to the types of the startup items to obtain a third verification result includes: determining whether the types of the startup items are consistent with the types of the local startup items; if they are consistent, then the third verification result indicates that the verification is passed; if they are inconsistent, then the third verification result indicates that the verification fails.
11. The method according to claim 9, wherein, the verifying the startup information according to the attribute information of the startup items to obtain the verification result includes: determining whether the attribute information of the startup items is consistent with the attribute information of the local startup items; if they are consistent, then the verification result indicates that the verification is passed; if they are inconsistent, then the verification result indicates that the verification fails.
12. The method according to any one of claims 1-11, wherein, the method further includes: performing a preset format conversion on the target startup information and storing the converted target startup information in a preset storage medium.
13. The method according to any one of claims 1-11, wherein, the method further includes: sending the verification result to the client.
14. The method according to any one of claims 1-11, wherein, the method further includes: restarting the server when a restart instruction sent by the client is received.
15. The method according to claim 12, wherein, the method further includes: when a query request sent by the basic input / output system is received, determining whether the target startup information is consistent with the local startup information, and if they are inconsistent, sending the target startup information to the basic input / output system to instruct the basic input / output system to start each startup class and / or startup item according to the target startup information.
16. A startup method Characterized in that, The method includes: Sending a query request to the baseboard management controller; Receiving the target startup information returned by the baseboard management controller; the target startup information is the startup information after the client modifies the local startup information and the baseboard management controller verifies the modified local startup information; Starting each startup class and / or startup item according to the target startup information.
17. A computer device, comprising a memory and a processor, the memory storing a computer program, Characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 16 are implemented.
18. A computer-readable storage medium, having a computer program stored thereon, Characterized in that, When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 16 are implemented.
19. 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 according to any one of claims 1 to 16 are implemented.