Basic Input / Output System Power-On Methods, Apparatus, Equipment and Storage Media
Patent Information
- Application Number
- CN202311210986.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-19
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2043-09-19
AI Technical Summary
[0003]有鉴于此,本发明提供了一种基本输入输出系统开机方法、装置、设备和存储介质,以解决现有基本输入输出系统在初始化阶段启动时较长,进而增加了用户开机时间,降低了基本输入输出系统工作效率的问题
Smart Images

Figure CN117270976B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and more specifically to a method, apparatus, device, and storage medium for powering on a basic input / output system. Background Technology
[0002] In the development of artificial intelligence servers, multiple smart network interface cards (NICs) are typically connected to the adapter board. However, the connection of multiple smart NICs causes the basic input / output system (BIOS) of the artificial intelligence server to search for each smart NIC on the peripheral component fast interconnect bus during the initialization phase, initialize the existing smart NICs, read the NIC information of each smart NIC, and perform pre-boot execution environment configuration for that smart NIC. This significantly increases the time required for the BIOS initialization phase, thereby increasing the user's boot time. Summary of the Invention
[0003] In view of this, the present invention provides a method, apparatus, device and storage medium for powering on a basic input / output system, in order to solve the problem that the startup time of existing basic input / output systems is long during the initialization phase, which increases the user's power-on time and reduces the working efficiency of the basic input / output system.
[0004] In a first aspect, the present invention provides a method for powering on a Basic Input / Output System (BIOS). The method includes: acquiring configuration information for each network interface card (NIC) corresponding to the BIOS, obtaining a configuration database, wherein the configuration information includes target NIC information and corresponding program startup identifiers, and a target script program is stored within the BIOS; loading the target script program during the BIOS power-on process to acquire NIC information for each in-situ NIC, wherein the in-situ NIC is a NIC that is effectively connected to the BIOS; for any in-situ NIC, querying configuration information existing in the configuration database that configures the in-situ NIC based on the NIC information; and loading a startup program that starts the in-situ NIC, or preventing the loading of a startup program that starts the in-situ NIC, based on the program startup identifier in the configuration information. Through the above process, the power-on time during the BIOS initialization phase can be accelerated, the working efficiency of the BIOS can be improved, and the user experience can be optimized to meet customer needs.
[0005] In some optional implementations, before obtaining the configuration information of each network interface card (NIC) corresponding to the basic input / output system, the method further includes:
[0006] Obtain network card information and corresponding startup priorities for each network card in the basic input / output system;
[0007] Based on the network card information and the corresponding startup priority, a network card startup strategy is generated, which includes the shortest time and the best performance.
[0008] The corresponding network card boot scheme is generated based on the network card boot policy, and the program boot identifier of each network card is determined based on the network card boot scheme.
[0009] In some optional implementations, network interface card (NIC) information for each in-situ NIC is obtained through a target script program, including:
[0010] The target script program obtains the network card status of each network card connected to the basic input / output system;
[0011] When the network card status indicates that the network card is online, the network card is determined to be in place, and the network card information of the in place network card is obtained through the target script program.
[0012] In some optional implementations, querying network interface card (NIC) information based on the in-situ NIC to obtain configuration information that exists in the configuration database and is used to configure the in-situ NIC includes:
[0013] Obtain network card information for the in-situ network card;
[0014] The network card information of the network card in place is compared with the target network card information in the configuration database to obtain the first comparison result. The target network card information includes the network card model, physical address and network card identification number.
[0015] When the first comparison result indicates that the network card information of the in-situ network card is the same as the network card information of any target network card in the configuration database, it is confirmed that the network card information of the in-situ network card exists in the configuration database.
[0016] Based on the target network card information that is identical to the network card information of the in-situ network card in the configuration database, determine the program startup identifier for starting the in-situ network card;
[0017] The program startup identifier is concatenated with the network card information of the in-situ network card to obtain the configuration information for configuring the in-situ network card.
[0018] In some optional implementations, based on the program startup identifier in the configuration information, loading a startup program that boots the in-situ network interface card (NIC), or disabling the loading of a startup program that boots the in-situ NIC, includes:
[0019] Retrieve the program startup identifier from the configuration information;
[0020] When the program startup flag indicates that the in-situ network card is being started, the startup program for starting the in-situ network card is loaded.
[0021] When the program startup flag indicates that startup of the in-situ network interface card (NIC) is prohibited, the loading of the startup program for startup of the in-situ NIC is prohibited.
[0022] In some optional implementations, querying network interface card (NIC) information based on the in-situ NIC, which exists in the configuration database and is used to configure the in-situ NIC, also includes:
[0023] If the configuration information for the in-situ network interface card (NIC) does not exist in the configuration database, retrieve the NIC information of the remaining in-situ NICs of the same priority.
[0024] The network card information of the remaining in-system network cards is compared with the target network card information in the configuration database to obtain the second comparison result.
[0025] When the second comparison result indicates that the network card information of the in-situ network card is the same as the network card information of any target network card in the configuration database, it is confirmed that the network card information of the remaining in-situ network cards exists in the configuration database.
[0026] Based on the target network card information that is identical to the network card information of the remaining in-situ network cards in the configuration database, determine the program startup identifier for starting the remaining in-situ network cards;
[0027] The program startup identifier is concatenated with the network card information of the remaining in-system network cards to obtain the configuration information for configuring the remaining in-system network cards.
[0028] When the second comparison result indicates that the network card information of the remaining in-situ network card is different from the network card information of any target network card in the configuration database, the network card information of the in-situ network card in the second priority is obtained.
[0029] The network card information of the in-place network card in the secondary priority is compared with the target network card information in the configuration database.
[0030] In some optional implementations, when the configuration database does not contain configuration information for the in-situ network interface card, the method further includes:
[0031] After the basic input / output system boots up, a configuration prompt dialog box is generated to remind the user to configure the program startup flag of the in-situ network card;
[0032] The configuration database is updated based on the program startup identifier configured by the user for the in-situ network card.
[0033] Secondly, this invention provides a basic input / output system (PIS) boot device, which mainly includes: an information acquisition module, a program loading module, an information query module, and a startup control module. The information acquisition module acquires configuration information for each network interface card (NIC) corresponding to the PIS, obtaining a configuration database. The configuration information includes target NIC information and corresponding program startup identifiers. The PIS stores a target script program. The program loading module loads the target script program during the PIS boot process to acquire NIC information for each in-situ NIC, where the in-situ NIC is the NIC that is effectively connected to the PIS. The information query module queries the configuration database for any in-situ NIC, based on its NIC information, for configuration information that is configured for that in-situ NIC. The startup control module loads a startup program for the in-situ NIC based on the program startup identifier in the configuration information, or prevents the loading of a startup program for the in-situ NIC. Through this process, the boot time during the PIS initialization phase can be accelerated, the efficiency of the PIS can be improved, and the user experience can be optimized to meet customer needs.
[0034] Thirdly, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the basic input / output system power-on method described in the first aspect or any corresponding embodiment thereof.
[0035] Fourthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to execute the basic input / output system power-on method described in the first aspect or any corresponding embodiment thereof. Attached Figure Description
[0036] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0037] Figure 1 This is a schematic diagram of an application environment according to an embodiment of the present invention;
[0038] Figure 2 This is a flowchart illustrating the power-on method of a basic input / output system according to an embodiment of the present invention;
[0039] Figure 3This is a flowchart illustrating another basic input / output system power-on method according to an embodiment of the present invention;
[0040] Figure 4 This is a flowchart illustrating another basic input / output system power-on method according to an embodiment of the present invention;
[0041] Figure 5 This is a flowchart illustrating another basic input / output system power-on method according to an embodiment of the present invention;
[0042] Figure 6 This is a structural block diagram of the basic input / output system power-on device according to an embodiment of the present invention;
[0043] Figure 7 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation
[0044] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0045] The terms "first" and "second" in the specification, claims, and accompanying drawings of this invention are used to distinguish different objects, not to describe a specific order. Furthermore, the term "comprising" and any variations thereof are intended to cover non-exclusive protection. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses. The term "multiple" in this invention can mean at least two, for example, two, three, or more, and the embodiments of this invention are not limited thereto.
[0046] Please see Figure 1 , Figure 1This is a schematic diagram of an application environment provided by an embodiment of the present invention. The schematic diagram includes a terminal device 100, which may include a display 101, a processor 102, and a memory 103. The terminal device 100 can communicate with a server 200 via a network 300. The server 200 can be used to provide services (such as application services) to the server or clients installed on the server. A database 201 can be set up on or independently of the server 200 to provide data storage services to the server 200. In addition, a processing engine 202 may run in the server 200, which can be used to execute the steps performed by the server 200.
[0047] Optionally, the terminal device 100 may be, but is not limited to, a terminal capable of computing data, such as a mobile terminal (e.g., a mobile phone, tablet computer), a laptop computer, a PC (Personal Computer), etc. The aforementioned network may include, but is not limited to, a wireless network or a wired network. The wireless network includes Bluetooth, Wi-Fi (Wireless Fidelity), and other networks that enable wireless communication. The aforementioned wired network may include, but is not limited to, a wide area network (WAN), a metropolitan area network (MAN), and a local area network (LAN). The aforementioned server 200 may include, but is not limited to, any hardware device capable of computing.
[0048] Furthermore, in this embodiment, the aforementioned basic input / output system power-on method can also be applied to, but is not limited to, a powerful independent processing device without requiring data interaction. For example, the processing device can be, but is not limited to, a powerful terminal device; that is, the various operations in the aforementioned basic input / output system power-on method can be integrated into a single independent processing device. The above is merely an example, and no limitation is made in this embodiment.
[0049] Optionally, in this embodiment, the basic input / output system boot method described above can be executed by server 200, by terminal device 100, or jointly by server 200 and terminal device 100. Alternatively, the terminal device 100 can execute the basic input / output system boot method of this embodiment by a client installed on it.
[0050] According to an embodiment of the present invention, a method for powering on a basic input / output system is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0051] This embodiment provides a basic input / output system power-on method, which can be used in the aforementioned terminal device. The terminal device communicates with the server via a network. Figure 2 This is a flowchart of a basic input / output system power-on method according to an embodiment of the present invention, such as... Figure 2 As shown, the process includes the following steps:
[0052] Step S201: Obtain the configuration information of each network card corresponding to the basic input / output system to obtain the configuration database. The configuration information includes target network card information and corresponding program startup identifier. The input / output system stores the target script program.
[0053] As mentioned above, by obtaining the configuration information of each network card corresponding to the basic input / output system, a configuration database can be obtained based on the configuration information of each network card. This provides the necessary conditions for enabling the required network cards and disabling the unnecessary network cards during the boot process of the basic input / output system. By storing the target script program in the input / output system, the network card information of each in-situ network card can be obtained through the target script program.
[0054] In some optional implementations, the network card information and corresponding startup priority of each network card corresponding to the basic input / output system can be obtained first; based on the network card information and corresponding startup priority, a network card startup policy can be generated, which includes the shortest time and the best performance; based on the network card startup policy, a corresponding network card startup scheme can be generated, and based on the network card startup scheme, the program startup identifier of each network card can be determined; then, based on the network card information and corresponding program startup identifier of each network card corresponding to the basic input / output system, a configuration database can be obtained.
[0055] Specifically, the network information for each network interface card (NIC) can include the NIC model, physical address, and NIC identifier. The startup priority of each NIC can be specified by the customer, determined based on the current operating environment of the Basic Input / Output System (BIOS), or determined by a combination of user-specified priorities and the BIOS's current operating environment. For example, consider eight NICs: NIC 1, NIC 2, NIC 3, NIC 4, NIC 5, NIC 6, NIC 7, and NIC 8. The user specifies NIC 1 and NIC 2 as the first priority. Based on the BIOS's current operating environment, NICs 3, 4, and 5 are designated as the second priority, and NICs 6, 7, and 8 as the third priority. In this case, the NIC startup strategy generated based on the NIC information and corresponding startup priorities is the most performance-optimized. Therefore, the NIC startup scheme for each NIC is determined based on the performance of each priority NIC and the BIOS's current operating environment, such as whether each NIC is started and its startup order. Based on whether each NIC is started and its startup order, the program startup identifier for each NIC is determined. Finally, based on the network card information of each network card corresponding to the basic input / output system and the corresponding program startup identifier, the configuration database is obtained.
[0056] Step S202: During the power-on process of the basic input / output system, a target script program is loaded to obtain network card information of each in-situ network card through the target script program. The in-situ network card is the network card that is effectively connected to the basic input / output system.
[0057] As described above, by loading the target script program during the boot process of the basic input / output system, the target script program obtains the network card information of each in-situ network card that is effectively connected to the basic input / output system, thereby providing the necessary conditions for determining the configuration information for configuring each in-situ network card.
[0058] In some alternative implementations, the network card status of each network card connected to the basic input / output system can be obtained based on the target script program; when the network card status indicates that the network card is online, the network card is determined to be an in-situ network card, and the network card information of the in-situ network card is obtained through the target script program.
[0059] Specifically, the target script program can obtain the enable information of each network card connected to the basic input / output system, determine the online status of each network card based on the enable information of each network card, and determine the network card as an in-situ network card when the network card status indicates that the network card is in an online state. The target script program can then obtain the network card information of the in-situ network card, such as the network card model, physical address, and network card identification number.
[0060] Step S203: For any in-situ network interface card (NIC), query the configuration information that exists in the configuration database and is configured for the in-situ NIC based on the NIC information of the in-situ NIC.
[0061] As described above, for any in-situ network, the configuration information existing in the configuration database and configured for the in-situ network card is queried based on the network card information of the in-situ network card, thereby determining whether the in-situ network card needs to be started during the basic input / output system boot process based on the configuration information.
[0062] In some optional implementations, the network interface card (NIC) information of the in-situ NIC can be obtained first; the NIC information of the in-situ NIC can be compared with the target NIC information in the configuration database to obtain a first comparison result, where the target NIC information includes the NIC model, physical address, and NIC identifier; when the first comparison result indicates that the NIC information of the in-situ NIC is the same as any target NIC information in the configuration database, it is confirmed that the NIC information of the in-situ NIC exists in the configuration database; based on the target NIC information in the configuration database that is the same as the NIC information of the in-situ NIC, a program startup identifier for starting the in-situ NIC is determined; the program startup identifier is concatenated with the NIC information of the in-situ NIC to obtain the configuration information for configuring the in-situ NIC.
[0063] Specifically, the network card model, physical address, and network card identifier of the in-situ network card are compared with those in the configuration database to obtain a first comparison result. When the first comparison result indicates that the network card information of the in-situ network card is the same as any target network card information in the configuration database, it is confirmed that the network card information of the in-situ network card exists in the configuration database. At this time, based on the target network card information in the configuration database that is the same as the network card information of the in-situ network card, the program startup identifier for starting the in-situ network card is determined. The program startup identifier is concatenated with the network card information of the in-situ network card to obtain the configuration information for configuring the in-situ network card.
[0064] Specifically, when comparing the network card model, physical address, and network card identifier of the in-situ network card with those in the configuration database, a hash operation can be performed on the in-situ network card's model, physical address, and network card identifier to obtain a first hash value. Then, a hash operation can be performed on the network card model, physical address, and network card identifier in the configuration database to obtain a second hash value. The first hash value and the second hash value are compared. If the first hash value and the second hash value are the same, it is confirmed that the network card information of the in-situ network card exists in the configuration database.
[0065] Step S204: Based on the program startup identifier in the configuration information, load the startup program that starts the in-situ network card, or prevent the loading of the startup program that starts the in-situ network card.
[0066] As described above, by loading the startup program that starts the in-situ network card based on the program startup identifier in the configuration information, or by disabling the loading of the startup program that starts the in-situ network card, the in-situ network cards that need to be started during the BIOS boot process are started, and the in-situ network cards that need to be shut down during the BIOS boot process are shut down, thereby accelerating the BIOS boot process, shortening the boot time, and improving the BIOS execution efficiency.
[0067] In some optional implementations, the program startup identifier in the configuration information can be obtained first; when the program startup identifier indicates that the in-situ network card is to be started, the startup program for starting the in-situ network card is loaded; when the program startup identifier indicates that the in-situ network card is to be stopped, the loading of the startup program for starting the in-situ network card is stopped. Optionally, the above configuration information can also exist in the form of a configuration file.
[0068] The basic input / output system (BIS) boot method provided in this embodiment first obtains the configuration information of each network interface card (NIC) corresponding to the BIS, so as to obtain a configuration database based on the configuration information of each NIC. This provides the necessary conditions for enabling the required NICs and disabling the unnecessary NICs during the BIS boot process. A target script program is stored within the BIS to obtain the NIC information of each in-situ NIC. The target script program is then loaded during the BIS boot process to obtain the NIC information of each in-situ NIC that effectively connects to the BIS, thus providing the necessary configuration information for configuring each in-situ NIC. The invention involves querying the configuration database for any in-situ network interface card (NIC) based on its information. This query retrieves configuration information specific to the in-situ NIC and determines whether it needs to be started during the Basic Input / Output System (BIOS) boot process. By using a program startup identifier in the configuration information, the invention loads the startup program for the in-situ NIC or disables the loading of startup programs for it. This allows for the startup of in-situ NICs that need to be started during the BIOS boot process and the shutdown of in-situ NICs that need to be shut down during the BIOS boot process. This accelerates the BIOS boot process, shortens boot time, and improves BIOS execution efficiency. Therefore, this invention can accelerate the boot time during the BIOS initialization phase, improve the BIOS efficiency, optimize the user experience, and meet customer needs.
[0069] This embodiment provides a basic input / output system power-on method, which can be used in the aforementioned terminal device. The terminal device communicates with the server via a network. Figure 3 This is a flowchart of a basic input / output system power-on method according to an embodiment of the present invention, such as... Figure 3 As shown, the process includes the following steps:
[0070] Step S301: Obtain the configuration information of each network card corresponding to the basic input / output system to obtain the configuration database. The configuration information includes target network card information and corresponding program startup identifier. The input / output system stores the target script program.
[0071] As mentioned above, by obtaining the configuration information of each network card corresponding to the basic input / output system, a configuration database can be obtained based on the configuration information of each network card. This provides the necessary conditions for enabling the required network cards and disabling the unnecessary network cards during the boot process of the basic input / output system. By storing the target script program in the input / output system, the network card information of each in-situ network card can be obtained through the target script program.
[0072] Please see details Figure 2 Step S201 of the illustrated embodiment will not be described again here.
[0073] Step S302: During the power-on process of the basic input / output system, a target script program is loaded to obtain network card information of each in-situ network card through the target script program. The in-situ network card is the network card that is effectively connected to the basic input / output system.
[0074] As described above, by loading the target script program during the boot process of the basic input / output system, the target script program obtains the network card information of each in-situ network card that is effectively connected to the basic input / output system, thereby providing the necessary conditions for determining the configuration information for configuring each in-situ network card.
[0075] Specifically, step S302 includes:
[0076] Step S3021: Obtain the network card status of each network card connected to the basic input / output system based on the target script program.
[0077] As shown above, the target script program obtains the network card status of each network card connected to the basic input / output system, so as to determine the configuration information of the network card based on the current network card status.
[0078] Step S3022: When the network card status indicates that the network card is online, determine that the network card is in place and obtain the network card information of the in place network card through the target script program.
[0079] As shown above, when the network card status indicates that the network card is online, it is determined that the network card is in place. The network card information of the in-place network card is obtained through the target script program, providing the necessary conditions for the boot configuration of the in-place network card.
[0080] Step S303: For any in-situ network interface card (NIC), query the configuration information that exists in the configuration database and is configured for the in-situ NIC based on the NIC information of the in-situ NIC.
[0081] As described above, for any in-situ network card, the system queries the configuration information that exists in the configuration database and is configured for the in-situ network card based on the network card information of the in-situ network card, and then determines whether the in-situ network card needs to be started during the basic input / output system boot process based on the configuration information.
[0082] Please see details Figure 2 Step S203 of the illustrated embodiment will not be described again here.
[0083] Step S304: Based on the program startup identifier in the configuration information, load the startup program that starts the in-situ network card, or prevent the loading of the startup program that starts the in-situ network card.
[0084] As described above, by loading the startup program that starts the in-situ network card based on the program startup identifier in the configuration information, or by disabling the loading of the startup program that starts the in-situ network card, the in-situ network cards that need to be started during the BIOS boot process are started, and the in-situ network cards that need to be shut down during the BIOS boot process are shut down, thereby accelerating the BIOS boot process, shortening the boot time, and improving the BIOS execution efficiency.
[0085] Please see details Figure 2 Step S204 of the illustrated embodiment will not be described again here.
[0086] The basic input / output system (BIS) boot method provided in this embodiment first obtains the configuration information of each network interface card (NIC) corresponding to the BIS, so as to obtain a configuration database based on the configuration information of each NIC. This provides the necessary conditions for enabling the required NICs and disabling the unnecessary NICs during the BIS boot process. A target script program is stored within the BIS to obtain the NIC information of each in-situ NIC. The target script program is then loaded during the BIS boot process to obtain the NIC information of each in-situ NIC that effectively connects to the BIS, thus providing the necessary configuration information for configuring each in-situ NIC. The invention involves querying the configuration database for any in-situ network interface card (NIC) based on its information. This query retrieves configuration information specific to the in-situ NIC and determines whether it needs to be started during the Basic Input / Output System (BIOS) boot process. By using a program startup identifier in the configuration information, the invention loads the startup program for the in-situ NIC or disables the loading of startup programs for it. This allows for the startup of in-situ NICs that need to be started during the BIOS boot process and the shutdown of in-situ NICs that need to be shut down during the BIOS boot process. This accelerates the BIOS boot process, shortens boot time, and improves BIOS execution efficiency. Therefore, this invention can accelerate the boot time during the BIOS initialization phase, improve the BIOS efficiency, optimize the user experience, and meet customer needs.
[0087] This embodiment provides a basic input / output system power-on method, which can be used in the aforementioned terminal device. The terminal device communicates with the server via a network. Figure 4 This is a flowchart of a basic input / output system power-on method according to an embodiment of the present invention, such as... Figure 4 As shown, the process includes the following steps:
[0088] Step S401: Obtain the configuration information of each network card corresponding to the basic input / output system to obtain the configuration database. The configuration information includes target network card information and corresponding program startup identifier. The input / output system stores the target script program.
[0089] As mentioned above, by obtaining the configuration information of each network card corresponding to the basic input / output system, a configuration database can be obtained based on the configuration information of each network card. This provides the necessary conditions for enabling the required network cards and disabling the unnecessary network cards during the boot process of the basic input / output system. By storing the target script program in the input / output system, the network card information of each in-situ network card can be obtained through the target script program.
[0090] Please see details Figure 2Step S201 of the illustrated embodiment will not be described again here.
[0091] Step S402: During the power-on process of the basic input / output system, a target script program is loaded to obtain network card information of each in-situ network card through the target script program. The in-situ network card is the network card that is effectively connected to the basic input / output system.
[0092] As described above, by loading the target script program during the boot process of the basic input / output system, the target script program obtains the network card information of each in-situ network card that is effectively connected to the basic input / output system, thereby providing the necessary conditions for determining the configuration information for configuring each in-situ network card.
[0093] Please see details Figure 3 Step S302 of the illustrated embodiment will not be described again here.
[0094] Step S403: For any in-situ network interface card (NIC), query the configuration information that exists in the configuration database and is configured for the in-situ NIC based on the NIC information of the in-situ NIC.
[0095] As described above, for any in-situ network card, the system queries the configuration information that exists in the configuration database and is configured for the in-situ network card based on the network card information of the in-situ network card, and then determines whether the in-situ network card needs to be started during the basic input / output system boot process based on the configuration information.
[0096] Specifically, step S403 includes:
[0097] Step S4031: Obtain the network card information of the in-situ network card.
[0098] As mentioned above, by obtaining the network card information of the aforementioned in-situ network card, the in-situ network card can be powered on or powered off in a timely manner based on the network card information, thereby improving the power-on efficiency of the basic input / output system.
[0099] Step S4032: The network card information of the network card in place is compared with the target network card information in the configuration database to obtain the first comparison result. The target network card information includes the network card model, physical address and network card identifier.
[0100] As shown above, by comparing the network card information of the in-situ network card with the target network card information in the configuration database, a first comparison result is obtained, so as to determine whether the configuration database contains configuration information for configuring the in-situ network card based on the first comparison result.
[0101] Step S4033: When the first comparison result indicates that the network card information of the in-situ network card is the same as the network card information of any target network card in the configuration database, it is confirmed that the network card information of the in-situ network card exists in the configuration database.
[0102] As shown above, when the network card information of the in-situ network card is the same as any target network card information in the configuration database, it is confirmed that the network card information of the in-situ network card exists in the configuration database, and then the boot scheme for the in-situ network card is determined.
[0103] Step S4034: Based on the target network card information in the configuration database that is the same as the network card information of the in-situ network card, determine the program startup identifier for starting the in-situ network card.
[0104] As shown above, by using the target network card information that is the same as the network card information of the in-situ network card in the configuration database, the program startup identifier for starting the in-situ network card is determined, providing the necessary conditions for the generation of configuration information.
[0105] Step S4035: Concatenate the program startup identifier with the network card information of the in-situ network card to obtain configuration information for configuring the in-situ network card.
[0106] As shown above, by concatenating the program startup identifier with the network card information of the in-situ network card, configuration information for configuring the in-situ network card is obtained. This allows the script program to determine whether the in-situ network card needs to be started during the basic input / output system boot process based on the configuration information.
[0107] In some optional implementations, when querying configuration information for an in-situ network interface card (NIC) that exists in the configuration database and is configured for the in-situ NIC, if no configuration information for the in-situ NIC exists in the configuration database, then the NIC information of the remaining in-situ NICs of the same priority is obtained; the NIC information of the remaining in-situ NICs is compared with the target NIC information in the configuration database to obtain a second comparison result; when the second comparison result indicates that the NIC information of the in-situ NIC is the same as any target NIC information in the configuration database, it is confirmed that the NIC information of the remaining in-situ NIC exists in the configuration database. The system configures the database; based on the target network interface card (NIC) information in the configuration database that is identical to the NIC information of the remaining in-situ NICs, it determines the program startup identifier for starting the remaining in-situ NICs; it concatenates the program startup identifier with the NIC information of the remaining in-situ NICs to obtain the configuration information for configuring the remaining in-situ NICs; when the second comparison result indicates that the NIC information of the remaining in-situ NICs is not identical to any target NIC information in the configuration database, it obtains the NIC information of the in-situ NICs in the next lower priority; and it compares the NIC information of the in-situ NICs in the next lower priority with the target NIC information in the configuration database.
[0108] Step S404: Based on the program startup identifier in the configuration information, load the startup program that starts the in-situ network card, or prevent the loading of the startup program that starts the in-situ network card.
[0109] As described above, by loading the startup program that starts the in-situ network card based on the program startup identifier in the configuration information, or by disabling the loading of the startup program that starts the in-situ network card, the in-situ network cards that need to be started during the BIOS boot process are started, and the in-situ network cards that need to be shut down during the BIOS boot process are shut down, thereby accelerating the BIOS boot process, shortening the boot time, and improving the BIOS execution efficiency.
[0110] Please see details Figure 2 Step S204 of the illustrated embodiment will not be described again here.
[0111] The basic input / output system (BIS) boot method provided in this embodiment first obtains the configuration information of each network interface card (NIC) corresponding to the BIS, so as to obtain a configuration database based on the configuration information of each NIC. This provides the necessary conditions for enabling the required NICs and disabling the unnecessary NICs during the BIS boot process. A target script program is stored within the BIS to obtain the NIC information of each in-situ NIC. The target script program is then loaded during the BIS boot process to obtain the NIC information of each in-situ NIC that effectively connects to the BIS, thus providing the necessary configuration information for configuring each in-situ NIC. The invention involves querying the configuration database for any in-situ network interface card (NIC) based on its information. This query retrieves configuration information specific to the in-situ NIC and determines whether it needs to be started during the Basic Input / Output System (BIOS) boot process. By using a program startup identifier in the configuration information, the invention loads the startup program for the in-situ NIC or disables the loading of startup programs for it. This allows for the startup of in-situ NICs that need to be started during the BIOS boot process and the shutdown of in-situ NICs that need to be shut down during the BIOS boot process. This accelerates the BIOS boot process, shortens boot time, and improves BIOS execution efficiency. Therefore, this invention can accelerate the boot time during the BIOS initialization phase, improve the BIOS efficiency, optimize the user experience, and meet customer needs.
[0112] This embodiment provides a basic input / output system power-on method, which can be used in the aforementioned terminal device. The terminal device communicates with the server via a network. Figure 5 This is a flowchart of a basic input / output system power-on method according to an embodiment of the present invention, such as... Figure 5 As shown, the process includes the following steps:
[0113] Step S501: Obtain the configuration information of each network card corresponding to the basic input / output system to obtain the configuration database. The configuration information includes target network card information and corresponding program startup identifier. The input / output system stores the target script program.
[0114] As mentioned above, by obtaining the configuration information of each network card corresponding to the basic input / output system, a configuration database can be obtained based on the configuration information of each network card. This provides the necessary conditions for enabling the required network cards and disabling the unnecessary network cards during the boot process of the basic input / output system. By storing the target script program in the input / output system, the network card information of each in-situ network card can be obtained through the target script program.
[0115] Please see details Figure 2 Step S201 of the illustrated embodiment will not be described again here.
[0116] Step S502: During the power-on process of the basic input / output system, a target script program is loaded to obtain network card information of each in-situ network card through the target script program. The in-situ network card is the network card that is effectively connected to the basic input / output system.
[0117] As described above, by loading the target script program during the boot process of the basic input / output system, the target script program obtains the network card information of each in-situ network card that is effectively connected to the basic input / output system, thereby providing the necessary conditions for determining the configuration information for configuring each in-situ network card.
[0118] Please see details Figure 3 Step S302 of the illustrated embodiment will not be described again here.
[0119] Step S503: For any in-situ network interface card (NIC), query the configuration information that exists in the configuration database and is configured for the in-situ NIC based on the NIC information of the in-situ NIC.
[0120] As described above, for any in-situ network card, the system queries the configuration information that exists in the configuration database and is configured for the in-situ network card based on the network card information of the in-situ network card, and then determines whether the in-situ network card needs to be started during the basic input / output system boot process based on the configuration information.
[0121] Please see details Figure 4 Step S403 of the illustrated embodiment will not be described again here.
[0122] Step S504: When there is no configuration information for configuring the in-situ network card in the configuration database, a configuration prompt dialog box is generated after the basic input / output system is powered on to remind the user to configure the program startup identifier of the in-situ network card.
[0123] As shown above, when there is no configuration information for configuring the in-situ network card in the configuration database, a configuration prompt dialog box is generated after the basic input / output system is powered on to remind the user to configure the program startup identifier of the in-situ network card, thereby realizing the boot-up configuration of the newly added in-situ network card.
[0124] Step S505: Update the configuration database based on the program startup identifier configured by the user for the in-situ network card.
[0125] As described above, the configuration database is updated based on the program startup identifier configured by the user for the in-situ network card, so as to provide a basis for determining whether the newly added in-situ network card starts during the power-on and restart process of the basic input / output system.
[0126] Understandably, the target script program automatically configures the pre-boot execution environment of the network card based on the pre-configured settings and provides an interactive interface for users to actively configure. It selectively enables or disables the network card boot program according to the network card model, physical address, and network card identifier, thereby optimizing the boot program of unused in-situ network cards during the basic input / output system boot phase and accelerating the boot time of the basic input / output system.
[0127] The basic input / output system (BIS) boot method provided in this embodiment first obtains the configuration information of each network interface card (NIC) corresponding to the BIS, so as to obtain a configuration database based on the configuration information of each NIC. This provides the necessary conditions for enabling the required NICs and disabling the unnecessary NICs during the BIS boot process. A target script program is stored within the BIS to obtain the NIC information of each in-situ NIC. The target script program is loaded during the BIS boot process to obtain the NIC information of each in-situ NIC that effectively connects to the BIS, thus providing the necessary conditions for determining the configuration information for configuring each in-situ NIC. Then, for any... In the in-situ network, the system queries the configuration database for existing configuration information of the in-situ network interface card (NIC) to determine whether the NIC needs to be started during the Elementary Input / Output (Elementary I / O) system boot process. If no configuration information for the in-situ NIC exists in the database, a configuration prompt dialog box is generated after the Elementary I / O system boots up to remind the user to configure the program startup flag of the in-situ NIC, thus enabling boot-up configuration for newly added in-situ NICs. The configuration database is updated based on the user-configured program startup flag of the in-situ NIC, providing a basis for determining whether the newly added in-situ NIC should be started during the Elementary I / O system boot-up and restart process. Therefore, this invention can accelerate the boot time during the Elementary I / O system initialization phase, improve the efficiency of the Elementary I / O system, optimize the user experience, and meet customer needs.
[0128] This embodiment also provides a basic input / output system power-on device, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0129] This embodiment provides a basic input / output system power-on device, such as... Figure 6 As shown, it includes:
[0130] The information acquisition module 601 is used to acquire the configuration information of each network card corresponding to the basic input / output system, and obtain the configuration database. The configuration information includes the target network card information and the corresponding program startup identifier. The input / output system stores the target script program.
[0131] The program loading module 602 is used to load a target script program during the power-on process of the basic input / output system, so as to obtain the network card information of each in-situ network card through the target script program. The in-situ network card is the network card that is effectively connected to the basic input / output system.
[0132] The information query module 603 is used to query the configuration information that exists in the configuration database and is configured for any in-situ network card based on the network card information of the in-situ network card.
[0133] The startup control module 604 is used to load a startup program that starts the in-situ network card, or to prevent the loading of a startup program that starts the in-situ network card, based on the program startup identifier in the configuration information.
[0134] In some optional implementations, the information acquisition module 601 includes:
[0135] The priority acquisition unit is used to acquire network card information and corresponding startup priorities of each network card corresponding to the basic input / output system.
[0136] The startup policy generation unit is used to generate network card startup policies based on network card information and corresponding startup priorities. The network card startup policies include the shortest time and the best performance.
[0137] The startup scheme generation unit is used to generate corresponding network card startup schemes based on the network card startup policy, and to determine the program startup identifier of each network card based on the network card startup scheme.
[0138] In some alternative implementations, the program loading module 602 includes:
[0139] The network interface card (NIC) status acquisition unit is used to acquire the NIC status of each NIC connected to the basic input / output system based on the target script program.
[0140] The in-situ network card determination unit is used to determine that the network card is in-situ when the network card status characterization indicates that the network card is in an online state, and to obtain the network card information of the in-situ network card through the target script program.
[0141] In some optional implementations, the information query module 603 includes:
[0142] The first information acquisition unit is used to acquire the network card information of the in-situ network card; compare the network card information of the in-situ network card with the target network card information in the configuration database to obtain a first comparison result, wherein the target network card information includes the network card model, physical address and network card identification number; when the first comparison result indicates that the network card information of the in-situ network card is the same as any target network card information in the configuration database, it is confirmed that the network card information of the in-situ network card exists in the configuration database; based on the target network card information in the configuration database that is the same as the network card information of the in-situ network card, a program startup identifier for starting the in-situ network card is determined; the program startup identifier is concatenated with the network card information of the in-situ network card to obtain configuration information for configuring the in-situ network card.
[0143] The second information acquisition unit is used to: acquire the network card information of the remaining in-situ network cards of the same priority when the configuration information for configuring the in-situ network cards does not exist in the configuration database; compare the network card information of the remaining in-situ network cards with the target network card information in the configuration database to obtain a second comparison result; when the second comparison result indicates that the network card information of the in-situ network cards is the same as any target network card information in the configuration database, confirm that the network card information of the remaining in-situ network cards exists in the configuration database; determine the program startup identifier for starting the remaining in-situ network cards based on the target network card information in the configuration database that is the same as the network card information of the remaining in-situ network cards; concatenate the program startup identifier with the network card information of the remaining in-situ network cards to obtain the configuration information for configuring the remaining in-situ network cards; when the second comparison result indicates that the network card information of the remaining in-situ network cards is not the same as any target network card information in the configuration database, acquire the network card information of the in-situ network cards of the next lower priority; and compare the network card information of the in-situ network cards of the next lower priority with the target network card information in the configuration database.
[0144] The configuration information update unit is used to generate a configuration prompt dialog box after the basic input / output system is powered on, to remind the user to configure the program startup identifier of the in-situ network card; and to update the configuration database based on the program startup identifier configured by the user for the in-situ network card.
[0145] In some alternative implementations, the start control module 604 includes:
[0146] The identifier acquisition unit is used to acquire the program startup identifier from the configuration information.
[0147] The program loading unit is used to load the startup program for the in-situ network card when the program startup flag indicates that the in-situ network card is to be started.
[0148] The program cancellation unit is used to prevent the loading of the startup program for the in-situ network card when the program startup flag indicates that startup of the in-situ network card is prohibited.
[0149] In this embodiment, the basic input / output system power-on device is presented in the form of a functional unit. Here, a unit refers to an ASIC circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0150] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0151] This invention also provides a computer device having the above-described features. Figure 6 The basic input / output system power-on device shown is shown.
[0152] Please see Figure 7 , Figure 7 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 7 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 7 Take a processor 10 as an example.
[0153] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0154] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.
[0155] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device as shown by a landing page for an app. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0156] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0157] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.
[0158] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0159] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. A power-on method for a basic input / output system, characterized in that, The method includes: The configuration information of each network card corresponding to the basic input / output system is obtained to obtain a configuration database. The configuration information includes target network card information and corresponding program startup identifier. The input / output system stores the target script program. During the power-on process of the basic input / output system, the target script program is loaded to obtain the network card information of each in-situ network card through the target script program. The in-situ network card is the network card that is effectively connected to the basic input / output system. For any of the aforementioned in-situ network interface cards (NICs), querying the NIC information of the in-situ NIC based on the NIC information of the in-situ NIC to obtain configuration information existing in the configuration database that is configured for the in-situ NIC includes: when there is no configuration information for configuring the in-situ NIC in the configuration database, obtaining the NIC information of the remaining in-situ NICs of the same priority; comparing the NIC information of the remaining in-situ NICs with the target NIC information in the configuration database to obtain a second comparison result; when the second comparison result indicates that the NIC information of the in-situ NIC is the same as any target NIC information in the configuration database, confirming that the NIC information of the remaining in-situ NIC exists in the configuration database; determining the program startup identifier for starting the remaining in-situ NIC based on the target NIC information in the configuration database that is the same as the NIC information of the remaining in-situ NIC; concatenating the program startup identifier with the NIC information of the remaining in-situ NIC to obtain the configuration information for configuring the remaining in-situ NIC; Based on the program startup identifier in the configuration information, load the startup program to start the in-situ network card, or prevent the loading of the startup program to start the in-situ network card.
2. The method according to claim 1, characterized in that, Before obtaining the configuration information of each network interface card (NIC) corresponding to the basic input / output system, the method further includes: Obtain the network card information and corresponding startup priority of each network card corresponding to the basic input / output system; Based on the network card information and the corresponding startup priority, a network card startup strategy is generated, which includes the shortest time consumption and the best performance. Based on the network card startup strategy, a corresponding network card startup scheme is generated, and based on the network card startup scheme, the program startup identifier of each network card is determined.
3. The method according to claim 2, characterized in that, The step of obtaining network card information for each in-situ network card through the target script program includes: The target script program obtains the network card status of each network card connected to the basic input / output system; When the network card status indicates that the network card is online, the network card is determined to be an in-situ network card, and the network card information of the in-situ network card is obtained through the target script program.
4. The method according to claim 3, characterized in that, The query for network interface card (NIC) information based on the in-situ NIC, which exists in the configuration database and is used to configure the in-situ NIC, includes: Obtain the network card information of the in-situ network card; The network card information of the in-situ network card is compared with the target network card information in the configuration database to obtain a first comparison result. The target network card information includes the network card model, physical address and network card identifier. When the first comparison result indicates that the network card information of the in-situ network card is the same as the network card information of any target network card in the configuration database, it is confirmed that the network card information of the in-situ network card exists in the configuration database. Based on the target network card information in the configuration database that is the same as the network card information of the in-situ network card, determine the program startup identifier for starting the in-situ network card; The program startup identifier is concatenated with the network card information of the in-situ network card to obtain configuration information for configuring the in-situ network card.
5. The method according to claim 3, characterized in that, The step of loading a startup program to start the in-situ network interface card (NIC) or preventing the loading of a startup program to start the in-situ NIC based on the program startup identifier in the configuration information includes: Obtain the program startup identifier from the configuration information; When the program startup identifier indicates that the in-situ network card is being started, the startup program for starting the in-situ network card is loaded; When the program startup flag indicates that startup of the in-situ network card is prohibited, the loading of the startup program for startup of the in-situ network card is prohibited.
6. The method according to claim 4 or 5, characterized in that, The query for network interface card (NIC) information based on the in-situ NIC, which exists in the configuration database and is configured for the in-situ NIC, also includes: When the second comparison result indicates that the network card information of the remaining in-situ network card is different from the network card information of any target network card in the configuration database, the network card information of the in-situ network card in the second priority is obtained. The network card information of the in-place network cards in the secondary priority is compared with the target network card information in the configuration database.
7. The method according to claim 1, characterized in that, When the configuration database does not contain configuration information for the in-situ network interface card, the method further includes: After the basic input / output system is powered on, a configuration prompt dialog box is generated to remind the user to configure the program startup identifier of the in-situ network card; The configuration database is updated based on the program startup identifier configured by the user for the in-situ network card.
8. A power-on device for a basic input / output system, characterized in that, The device includes: The information acquisition module is used to acquire the configuration information of each network card corresponding to the basic input / output system to obtain a configuration database. The configuration information includes target network card information and corresponding program startup identifier. The input / output system stores the target script program. The program loading module is used to load the target script program during the power-on process of the basic input / output system, so as to obtain the network card information of each in-situ network card through the target script program, wherein the in-situ network card is a network card that is effectively connected to the basic input / output system; The information query module is used to query, for any of the in-situ network interface cards (NICs), configuration information existing in the configuration database that is configured for the in-situ NIC, based on the NIC information of the in-situ NIC. This includes: when no configuration information for the in-situ NIC exists in the configuration database, obtaining the NIC information of the remaining in-situ NICs of the same priority; comparing the NIC information of the remaining in-situ NICs with the target NIC information in the configuration database to obtain a second comparison result; when the second comparison result indicates that the NIC information of the in-situ NIC is the same as any target NIC information in the configuration database, confirming that the NIC information of the remaining in-situ NIC exists in the configuration database; determining a program startup identifier for starting the remaining in-situ NIC based on the target NIC information in the configuration database that is the same as the NIC information of the remaining in-situ NIC; and concatenating the program startup identifier with the NIC information of the remaining in-situ NIC to obtain the configuration information for configuring the remaining in-situ NIC. The startup control module is used to load a startup program for starting the in-situ network card based on the program startup identifier in the configuration information, or to prevent the loading of a startup program for starting the in-situ network card.
9. A computer device, characterized in that, include: A memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, the processor executing the computer instructions to perform the method of any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Method and device for loading external WLAN card drive
CN106445516A
Self-adaptive support method and device for pre-starting function of server
CN116700809A