Software loading method, cloud management platform and cluster

By including core components and multiple peripheral components, the corresponding peripheral components are loaded from the same image file according to the type of the computing instance, solving the problem of high maintenance costs for multiple types of computing instances, achieving the effect of reducing maintenance costs and simplifying deployment.

CN119938159APending Publication Date: 2025-05-06HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410088956.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-03
Filing Date
2024-01-22
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

In various types of computing instances, maintaining multiple image files leads to high maintenance costs and frequent software version replacements, it is a lot of work to maintain image files for multiple computing instances.

Method used

Through a mirror file, a mirror file contains core components and multiple peripheral components, the corresponding peripheral components are loaded from the same image file according to the type of the computing instance, and the software loading requirements for different types of computing instances are realized.

Benefits of technology

Reduces image file maintenance costs for multiple types of compute instances, reduces the workload of maintaining software for multiple compute instances, and simplifies deployment of virtual machine or container instances.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938159A_ABST
    Figure CN119938159A_ABST
Patent Text Reader

Abstract

The invention provides a software loading method, a cloud management platform and a cluster. The method comprises the following steps: acquiring release information of a mirror image file of software, wherein the mirror image file comprises a core component and a plurality of peripheral components; wherein the core component comprises software; the peripheral components are in one-to-one correspondence with the types, and the peripheral components are used for the computing instance operation software of the types corresponding to the peripheral components; deploying a first computing instance in the data center, wherein the first computing instance belongs to a first type in multiple types; based on the release information of the mirror image file, indicating the first calculation instance to load software and a peripheral component corresponding to the first type from the mirror image file; wherein the peripheral component corresponding to the first type is used for the first computing instance to run software. The method can reduce the maintenance cost of the mirror image file.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on November 3, 2023, with application number 202311460137.0 and application name “A mirror publishing system and method”, the entire contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of cloud technology, and in particular to a software loading method, a cloud management platform and a cluster. Background Art

[0003] Cloud computing technology provides a variety of computer types, such as physical machines, virtual machines (VMs), containers, etc. Different computer types provide different underlying hardware for software, so the software requires different peripheral components when running on computers of different computer types.

[0004] In the related art, different image files are prepared for different computer types. The image files include peripheral components required by the corresponding computer type. When it is necessary to run software on a computer of a certain type, the software and corresponding peripheral components are loaded on the computer through the image file corresponding to the form, so that the computing instance can run the software.

[0005] Currently, multiple types of computing instances are often deployed in the same cloud environment, and multiple image files need to be maintained for the same cloud environment, resulting in high maintenance costs. Summary of the invention

[0006] The present application provides a software loading method, a cloud management platform and a cluster, which can reduce the maintenance cost of image files.

[0007] In a first aspect, a software loading method is provided, which is applied to a cloud management platform, the cloud management platform is used to manage cloud infrastructure, the cloud infrastructure includes at least one data center, the data center is used to deploy multiple types of computing instances, wherein different types of computing instances require different peripheral components to run software; the method includes: obtaining the release information of an image file of the software, the image file includes a core component and multiple peripheral components; wherein the core component includes software; multiple peripheral components correspond to multiple types one by one, and the peripheral components are used for computing instances of the type corresponding to the peripheral components to run the software; deploying a first computing instance in the data center, the first computing instance belonging to a first type among multiple types; based on the release information of the image file, instructing the first computing instance to load the software and the peripheral components corresponding to the first type from the image file; wherein the peripheral components corresponding to the first type are used for the first computing instance to run the software.

[0008] The method can instruct different types of computing instances to load software and different peripheral components from the same image file, so that different types of computing instances can run the software. That is, the software loading requirements of multiple types of computing instances can be met through one image file. In this way, for multiple types of computing instances, only one image file needs to be maintained, which reduces the maintenance cost of image files for multiple types of computing instances. In particular, when the software version changes or problems occur, only the same image file needs to be maintained, which greatly reduces the workload of maintaining software for multiple types of computing instances.

[0009] In a possible implementation, the peripheral component corresponding to the first type includes an identifier of the first type, and the first computing instance is used to identify and load the peripheral component corresponding to the first type from the image file based on the identifier of the first type.

[0010] In this implementation, the peripheral component includes an identifier of the type corresponding to the peripheral component. When a computing instance of a certain type loads a peripheral component from an image file, it can load the peripheral component including the identifier of the type, thereby realizing the identification and loading of different types of peripheral components.

[0011] In one possible implementation, the software is an operating system, the first type is a virtual machine or a container, and the data center includes a physical machine instance; deploying the first computing instance in the data center includes: deploying the first computing instance in the physical machine instance; instructing the first computing instance to load the software and the corresponding first type of peripheral components from the image file, including: instructing the physical machine instance to start the first computing instance based on the software and the corresponding first type of peripheral components obtained from the image file, so as to load the software and the corresponding first type of peripheral components into the first computing instance.

[0012] The physical machine instance, as the host of the first computing instance, can start the first computing instance by using the software and corresponding peripheral components obtained from the image file, for example, by adding the software and corresponding peripheral components to the startup items of the first computing instance. In this way, by starting the first computing instance, the first computing instance completes loading the software and corresponding peripheral components.

[0013] In one possible implementation, the software is an operating system, the first type is a physical machine, and the multiple types also include a second type, which is a virtual machine or a container; the method also includes: deploying a second computing instance in the first computing instance, the second computing instance belonging to the second type; based on the release information of the image file, instructing the second computing instance to load the software and the peripheral components corresponding to the second type from the image file; wherein the peripheral components corresponding to the second type are used for the second computing instance to run the software.

[0014] The physical machine instance can load and run the operating system through the image file. The physical machine instance running the operating system can be used as a host machine to deploy virtual machine instances or container instances, and the deployed virtual machine instances or container instances also load and run the operating system through the image file. In this way, the operating system loading of the host machine of the virtual machine instance or container instance and the loading of the operating system of the virtual machine instance or container instance can be completed through one image file, which simplifies the deployment operation of the virtual machine instance or container instance.

[0015] In a possible implementation, the software is an operating system, and the core component further includes a program dependency package and / or a service dependency package; the method further includes: based on the release information of the image file, instructing the first computing instance to load the program dependency package and / or the service dependency package from the image file. The program dependency package and / or the service dependency package are shared by different types.

[0016] In this implementation, different types of shared program dependency packages and / or service dependency packages are included in the image file, so that different types of computing instances can download program dependency packages and / or service dependency packages from the same image file. There is no need to separately maintain program dependency packages and / or service dependency packages for different types of computing instances, thereby reducing maintenance costs.

[0017] In a possible implementation, the multiple types include at least two of a physical machine, a virtual machine, and a container.

[0018] In a second aspect, a cloud management platform is provided, which is used to manage cloud infrastructure. The cloud infrastructure includes at least one data center, and the data center is used to deploy multiple types of computing instances, wherein different types of computing instances require different peripheral components to run software; the cloud management platform includes: an acquisition module, used to obtain the release information of the software's image file, the image file includes a core component and multiple peripheral components; wherein the core component includes software; multiple peripheral components correspond to multiple types one by one, and the peripheral components are used for computing instances of the type corresponding to the peripheral components to run the software; a deployment module, used to deploy a first computing instance in the data center, the first computing instance belongs to a first type among multiple types; an indication module, used to indicate the first computing instance to load the software and the peripheral components corresponding to the first type from the image file based on the release information of the image file; wherein the peripheral components corresponding to the first type are used for the first computing instance to run the software.

[0019] In a possible implementation, the peripheral component corresponding to the first type includes an identifier of the first type, and the first computing instance is used to identify and load the peripheral component corresponding to the first type from the image file based on the identifier of the first type.

[0020] In one possible implementation, the software is an operating system, the first type is a virtual machine or a container, and the data center includes a physical machine instance; the deployment module is used to: deploy a first computing instance in the physical machine instance; the instruction module is used to: instruct the physical machine instance to start the first computing instance based on the software obtained from the image file and the corresponding first type of peripheral components, so as to load the software and the corresponding first type of peripheral components into the first computing instance.

[0021] In one possible implementation, the software is an operating system, the first type is a physical machine, and the multiple types also include a second type, which is a virtual machine or a container; the deployment module is also used to: deploy a second computing instance in the first computing instance, and the second computing instance belongs to the second type; the indication module is also used to: based on the release information of the image file, indicate the second computing instance to load the software and the peripheral components corresponding to the second type from the image file; wherein the peripheral components corresponding to the second type are used for the second computing instance to run the software.

[0022] In one possible implementation, the software is an operating system, and the core components also include program dependency packages and / or service dependency packages; the indication module is also used to: based on the release information of the image file, instruct the first computing instance to load the program dependency package and / or service dependency package from the image file.

[0023] In a possible implementation, the multiple types include at least two of a physical machine, a virtual machine, and a container.

[0024] In a third aspect, a computing device cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method provided in the first aspect.

[0025] In a fourth aspect, a computer-readable storage medium is provided, comprising computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method provided in the first aspect.

[0026] In a fifth aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computer device cluster, the computer device cluster executes the method provided in the first aspect.

[0027] The beneficial effects of the second to fifth aspects can be referred to the above introduction to the beneficial effects of the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 A schematic diagram of a system architecture provided in an embodiment of the present application;

[0029] Figure 2A schematic diagram of the structure of an image file management platform provided in an embodiment of the present application;

[0030] Figure 3 A schematic diagram of an image file provided in an embodiment of the present application;

[0031] Figure 4 A flowchart of a software loading method provided in an embodiment of the present application;

[0032] Figure 5 A schematic diagram of a software loading method provided in an embodiment of the present application;

[0033] Figure 6 A schematic diagram of the structure of a cloud management platform provided in an embodiment of the present application;

[0034] Figure 7 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0035] Figure 8 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0036] Fig. 9 A schematic diagram of a structure of a computing device cluster connected via a network provided in an embodiment of the present application. DETAILED DESCRIPTION

[0037] The scheme provided by the embodiment of the present application will be described below in conjunction with the accompanying drawings. In the embodiment of the present application, "plurality" refers to two or more than two. "First", "second", etc. are only used to distinguish similar objects and are not necessarily used to describe a specific order or number of objects.

[0038] The embodiments of the present application may involve the following technical terms.

[0039] Cloud technology refers to a hosting service that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.

[0040] Cloud infrastructure: facilities that support cloud computing services, including at least one data center, each of which includes multiple servers. The servers can be used to deploy services and provide cloud computing services. Specifically, virtual computing instances such as virtual machines or containers run on the servers to deploy services and provide cloud computing services. For example, in the case where the cloud infrastructure includes multiple data centers, the multiple data centers can be distributed in different geographical areas, and the data centers can be remotely connected through a backbone network.

[0041] Cloud management platform: a platform provided by cloud service providers for interacting with users. Users can register accounts on the cloud management platform and rent cloud services with their accounts, thereby becoming tenants of cloud services. The cloud management platform is also used to manage cloud infrastructure and to isolate computing, network, and / or storage resources rented by different tenants based on their accounts.

[0042] Compute instance: Also known as a computer instance, it is a specific computer that can perform data processing. There are many types of compute instances, such as physical machines, virtual machines, and containers. Among them, a specific physical machine can be called a physical machine instance. A specific virtual machine can be called a virtual machine instance. A specific container can be called a container instance.

[0043] Image file: A file format that can combine many files into one image file. Common image file formats include ISO, BIN, IMG, etc. Image files can be understood as "extracts" from a CD. A software image file is an image file that includes software programs and peripheral components. When a computer needs to run software, it loads the software program and peripheral components from the image file into the computer memory.

[0044] Image file release information: refers to the relevant information of the image file released by the image file management platform. In some embodiments, the image file release information includes the storage address and version of the image file, and the release information can be used by the cloud management platform and the like to identify and select the image file in the image file management platform. In some embodiments, the image file release information can also include the image file itself.

[0045] Software: Also known as software program, it is a series of computer data and instructions organized in a specific order. Software is used by computers to implement certain functions. For example, operating system software is used by computers to implement process management, hardware management, file permission management and other functions. Another example is rendering software, which is used by computers to implement functions such as rendering three-dimensional objects or scenes.

[0046] Peripheral components: refers to the components required for a computer to run software. Peripheral components can be used to adapt software programs to the underlying hardware of the computer so that the software programs can run in the operating environment provided by the computer. Common peripheral components include hardware adaptation packages, compilation tools, etc. Among them, the hardware adaptation package is also called the hardware driver package, which includes a variety of hardware drivers, etc., which are used for the software to call the computer's hardware when it is running. Coding tools are used to compile the source code or bytecode of the software program into an executable file, that is, a binary file, of the computer. When the software is an operating system (OS), the peripheral components can also include third-party library service packages required for the operation of the application. Different types of computing instances correspond to different third-party library service packages. The operating system on the computing instance supports the operation of the application that requires the corresponding third-party library service of the computing instance.

[0047] Program dependency package: also known as the basic platform component dependency package, refers to the running tools required for the application to run on the operating system, such as the Java language software development kit (Java development kit, JDK), Java runtime environment (Java runtime environment, JRE), etc.

[0048] Service dependency package: also known as service operation dependency package, refers to the information that the operating system depends on to implement a certain function, such as the communication protocol package that the communication service depends on, the log service package that the log service depends on, etc.

[0049] An embodiment of the present application provides a software loading method. The method can package software and multiple peripheral components into an image file. Multiple peripheral components correspond one-to-one to multiple computer types, and the peripheral components are used to run the software on a computing instance of the computer type corresponding to the peripheral components. When a computing instance is required to run the software, the computing instance can be instructed to load the software and the peripheral components corresponding to the computer type described in the computing instance from the image file, and the loaded peripheral components are used to run the software on the computing instance, thereby realizing the operation of the software on the computing instance. The method can enable multiple computer types to share one image file, so that for multiple computer types, only one image file needs to be maintained, which reduces the maintenance cost of image files for multiple computer types.

[0050] Next, the software loading method provided in the embodiment of the present application is introduced.

[0051] Figure 1 The system architecture 100 in which the software loading method can be implemented is shown. The system architecture 100 includes an image file management platform 110, a cloud management platform 120 and a cloud infrastructure 130.

[0052] The user can manage the image file on the image file management platform 110 through the image file management operation. The management of the image file includes preparing, maintaining and storing the image file. The image file management platform 110 can be any device, equipment or cluster with data processing and communication functions. In some embodiments, the image file management platform 110 can be integrated into the cloud management platform 120.

[0053] In some embodiments, Figure 2 As shown, the image file management platform 110 includes a core component preparation module 111, a peripheral component preparation module 112, and a packaging module 113. Through these modules, image files that can be used to run software on various computer types can be obtained. Next, taking the preparation of the image file of software A as an example, the functions of each module are introduced respectively.

[0054] The core component preparation module 111 can be used to prepare software A1. In one example, a user can develop software A1 in the core component preparation module 111, that is, write code for constituting software A1 in the core component preparation module 111. In one example, a user can run a software program developed by a third party in the core component preparation module 111, and copy the data in the system disk running the software program, and the copy result is used as software A1. In one example, software A1 is specifically an operating system, and a user can run the operating system in the core component preparation module 111, copy the data in the system disk of the core component preparation module 111, and copy the result as software A1. In addition, the core component preparation module 111 running the operating system can be used as an image file compilation platform for preparing compilation tools for different computer types. Among them, the core component preparation module 111 may include compilation configuration information, multiple cross-compilation parameters, etc. The compilation configuration information is used to indicate the compilation tools that need to be prepared, that is, for which computer types the compilation tools need to be prepared. Multiple cross-compilation parameters correspond to multiple computer types one by one, and the cross-compilation parameters are used to prepare compilation tools for the computer types corresponding to the cross-compilation parameters.

[0055] In some embodiments, software A1 is an operating system, and the user can develop a program dependency package in the core component preparation module 111 .

[0056] In some embodiments, the software A1 is an operating system, and the user can develop a service dependency package in the operating system in the core component preparation module 111. The prepared software A1, program dependency package, and service dependency package are shared by different computer types and can be called core components or shared components.

[0057] The peripheral component preparation module 112 is used to prepare the peripheral components required for each computer type in a plurality of computer types to run the software. Among them, the peripheral components include hardware adaptation packages. For each computing type in a plurality of computer types, the user can develop hardware drivers such as the processor, memory, network card, disk, etc. for the computer type in the peripheral component preparation module 112, and package the drivers of these hardware into a hardware adaptation package for the computer type. The peripheral components also include compilation tools. For each computer type in a plurality of computer types, the user can develop a compilation tool for the computer type in the peripheral component preparation module 112. In some embodiments, when the software A1 is an operating system, the peripheral component preparation module 112 can be an application running in the operating system of the core component preparation module 111. As described above, the core component preparation module 111 can include compilation configuration information, a plurality of cross-compilation parameters, etc., and the user can use the compilation configuration information, cross-compilation parameters, etc. to develop a compilation tool.

[0058] Among them, the identifier of the computer type is added to the peripheral component, so that when the computing instance needs to load the peripheral component, it can identify the computer type corresponding to the peripheral component based on the identifier of the computer type in the peripheral component. In some embodiments, the identifier of the computer type of the physical machine is a manufacturer identifier. The identifier of the computer type of the virtual machine is the family form. When the family form of the computing instance is a virtual machine, the computer type of the computing instance is a virtual machine. The identifier of the computer type of the container is a container group keyword (for example, docker or kubepods).

[0059] In some embodiments, for each of the multiple computer types, the user can develop a peripheral three-party library package for the computing type in the peripheral component preparation module 112. Among them, the peripheral three-party library package is composed of components used to implement specific functions for computing instances. For example, virtualization components and other components are used to deploy virtual machines or containers on physical machines. Another example is a Java virtual machine (Java virtual machine, JVM) for running Java programs in a container. Among them, the identifier of the computer type is added to the peripheral three-party library package, so that when the computing instance needs to load the peripheral three-party library package, it can identify the computer type corresponding to the peripheral three-party library package based on the identifier of the computer type in the peripheral three-party library package.

[0060] In some embodiments, the software A1 is an operating system, and the booting methods of computing instances of different computer types to load the operating system from the image file may be different. Boot packages can be developed for different computing types. The boot package can be a boot script, and the boot script of the computing type is used for the booting method of the computing type to guide the computing instance to load the operating system from the image file.

[0061] In some embodiments, the multiple computer types are specifically physical machines, virtual machines, and containers. The peripheral component preparation module 112 can develop peripheral components, peripheral third-party library packages, etc. for physical machines, develop peripheral components, peripheral third-party libraries, etc. for virtual machines, and develop peripheral components, peripheral third-party libraries, etc. for containers.

[0062] Among them, the peripheral components, peripheral third-party libraries, boot packages, etc. developed for a certain type of computer are called differentiated components of the computer type.

[0063] The packaging module 113 can package the prepared software A1, peripheral components, peripheral third-party libraries, and boot packages into the image file of software A1. In some embodiments, when software A1 is an operating system, the packaging module 113 also packages the program dependency packages and service dependency packages developed above into the image file of software A1.

[0064] In some embodiments, the packaging module 113 can store the core components shared by different computer types, such as software A1, program dependency packages, and service dependency packages, in the same directory, and store the differentiated components of different computer types, such as peripheral components, peripheral third-party libraries, and boot packages, in different directories. In one example, multiple computer types can be set to be physical machines, virtual machines, and containers. Figure 3 As shown, the core components shared by different computer types, such as software A1, program dependency packages, and service dependency packages, are stored in directory 310, the peripheral components and peripheral third-party libraries corresponding to the physical machine are stored in subdirectory 321 of directory 320, the peripheral components and peripheral third-party libraries corresponding to the virtual machine are stored in subdirectory 322 of directory 320, and the peripheral components and peripheral third-party libraries corresponding to the container are stored in subdirectory 323 of directory 320. The boot package corresponding to the physical machine is stored in subdirectory 331 of directory 330, the boot package corresponding to the virtual machine is stored in subdirectory 332 of directory 330, and the boot package corresponding to the container is stored in subdirectory 333 of directory 330.

[0065] The image file of software A1 can be obtained through the above, and the image file can be used for computing instances of different computer types to load relevant components of the software, so that the computing instance can run software A1 and realize the functions of software A1.

[0066] After obtaining the image file of software A1, the image file management platform 110 can publish the relevant information of the image file of software A1, that is, analyze or publish the release information of the image file of software A1. The released relevant information of the image file can be called the release information of the image file.

[0067] The cloud management platform 120 is used to manage the cloud infrastructure 130, for example, to create a computing instance in the cloud infrastructure 130 and instruct the computing instance to run the software A1. The cloud management platform 120 can obtain the release information of the image file of the software, and based on the release information, instruct the computing instance to load the relevant components from the image file of the software, so that the computing instance loads and runs the software.

[0068] The cloud infrastructure 130 includes at least one data center, and the data center can deploy computing instances of different computer types. For example, the data center includes one or more computer rooms, and computing instances of the computer type of physical machines, i.e., physical machine instances, can be deployed in the computer rooms. For another example, the data center includes one or more physical machine instances, and virtual computing instances can be deployed on the physical computing instances. The virtual computing instances can be virtual machine instances or container instances.

[0069] The above describes the system architecture 100. Next, in conjunction with the system architecture 100, the execution process of the software loading method provided in the embodiment of the present application is described.

[0070] The method is performed by the cloud management platform 120. Figure 4 As shown, the method includes the following steps.

[0071] Step 401, obtaining the release information of the image file of software A1, wherein the image file includes a core component and multiple peripheral components; wherein the core component includes software A1; the multiple peripheral components correspond to the multiple types one by one, and the peripheral components are used for computing instances of the types corresponding to the peripheral components to run the software.

[0072] Type is the abbreviation of computer type, and the multiple types may include at least two types of physical machines, virtual machines, and containers.

[0073] In some embodiments, the software A1 may be an operating system. In some embodiments, the software A1 may be an application program, that is, the software A1 is a software program running on an operating system.

[0074] In some embodiments, the release information of the image file of software A1 may include the storage address of the image file of software A1. The storage address of the image file of software A1 may be used to obtain the image file of software A1.

[0075] In some embodiments, the release information of the image file of software A1 may include the image file of software A1.

[0076] Step 402 : deploy a first computing instance in a data center, where the first computing instance belongs to a first type among the multiple types. The data center is a data center in the cloud infrastructure 130 .

[0077] In some embodiments, the first type is a physical machine, that is, the first computing instance is a physical machine instance. Deploying a physical machine instance in a data center may refer to docking the cloud management platform 120 with the physical machine instance in the data center so that the cloud management platform 120 can manage the physical machine instance. Specifically, a user may install a physical machine instance in a data center and instruct the cloud management platform 120 to dock with the physical machine instance to manage the physical machine instance.

[0078] In some embodiments, the first type is a virtual machine or a container, that is, the first computing instance is a virtual machine instance or a container instance. In step 402, the cloud management platform 120 can deploy a virtual machine instance or a container instance in a physical machine instance in a data center. For example, the cloud management platform 120 can instruct the virtual machine manager (virtual machine monitor (VMM)) in the physical machine instance to create a virtual machine using the hardware resources provided by the physical machine instance to obtain a first computing instance. For another example, the cloud management platform 120 can instruct a container management server (e.g., a kubernetes application programming interface server (API server)) to inject a container into a container group in a physical machine instance.

[0079] Step 403: Based on the release information of the image file, instruct the first computing instance to load software A1 and peripheral components corresponding to the first type from the image file; wherein the peripheral components corresponding to the first type are used for the first computing instance to run software A1.

[0080] Under the instruction of the cloud management platform 120, the first computing instance can obtain the image file of software A1, and load software A1 and peripheral components corresponding to the type of the first computing instance from the image file. In some embodiments, the first computing instance is a physical machine instance, and the first computing instance loads software A1 and peripheral components corresponding to the physical machine from the image file. In some embodiments, the first computing instance is a virtual machine instance, and the first computing instance loads software A1 and peripheral components corresponding to the virtual machine from the image file. In some embodiments, the first computing instance is a container instance, and the first computing instance loads software A1 and peripheral components corresponding to the container from the image file. Exemplary, Figure 5 As shown, the first computing instance can specifically load core components and corresponding differentiated components from the image file, wherein the core components include software A1, and the differentiated components include peripheral components.

[0081] In some embodiments, the peripheral component corresponding to the first type includes an identifier of the first type, and the first computing instance is used to identify and load the peripheral component corresponding to the first type from the image file based on the identifier of the first type. In one example, if the first computing instance is a physical machine instance, the first computing instance can execute the dmidecode command to query the image file for peripheral components including a manufacturer identifier (i.e., peripheral components of a physical machine), and load the queried peripheral components. If the first computing instance is a virtual machine instance, the first computing instance can execute the dmidecode command to query the image file for peripheral components whose family form is a virtual machine (i.e., peripheral components of a physical machine), and load the queried peripheral components. If the first computing instance is a container instance, the first computing instance can execute the cat / proc / 1 / cgroup command to query the process file for peripheral components including a container group keyword (i.e., peripheral components of a container), and load the queried peripheral components.

[0082] Among them, according to similar operations of querying peripheral components, the first computing instance can also query and load other differentiated components corresponding to the first type from the image file, such as peripheral third-party libraries, boot packages, etc.

[0083] In some embodiments, software A1 is an operating system, and the first computing instance is a physical machine instance. Based on the release information, the cloud management platform 120 instructs the basic input output system (BlOS) of the physical machine instance to load core components and peripheral components corresponding to the physical machine from the image file, so that software A1 can be run after the physical machine instance is started.

[0084] In one example of this embodiment, the release information may be a storage address of the image file, and the cloud management platform 120 may preset the storage address into the BlOS of the physical machine instance. When the physical computing instance is started, the BIOS may obtain the image file based on the storage address. In another example of this embodiment, the release information may be an image file. When the physical computing instance is started, the cloud management platform 120 may send the image file to the physical machine instance, and the BIOS of the physical machine instance may receive the image file sent by the cloud management platform 120.

[0085] In some embodiments, software A1 is a virtual machine or container of the first type, and the data center includes a physical machine instance; deploying the first computing instance in the data center includes: deploying the first computing instance in the physical machine instance; instructing the first computing instance to load software A1 and peripheral components corresponding to the first type from the image file includes: instructing the physical machine instance to start the first computing instance based on the software A1 and peripheral components corresponding to the first type obtained from the image file, so as to load software A1 and peripheral components corresponding to the first type into the first computing instance.

[0086] In an example of this embodiment, the operating system of the physical machine instance can obtain the software A1 and the corresponding first type of peripheral components from the image file, and add the software A1 and the corresponding first type of peripheral components to the startup items of the first computing instance. In this way, when the first computing instance is started, the software A1 and the corresponding first type of peripheral components can be loaded.

[0087] In one example of this example, the release information may be the storage address of the image file, and the cloud management platform 120 may preset the storage address into the physical machine instance operating system. When the physical computing instance needs to start a virtual machine instance or a container instance, the physical computing instance may obtain the image file based on the storage address. In another example of this example, the release information may be an image file. The cloud management platform 120 may send the image file to the physical machine instance, and the operating system of the physical machine instance may receive the image file sent by the cloud management platform 120.

[0088] In some embodiments, software A1 is an operating system, the first type is a physical machine, and the multiple types also include a second type, which is a virtual machine or a container; the method also includes: deploying a second computing instance in the first computing instance, and the second computing instance belongs to the second type; based on the release information of the image file, instructing the second computing instance to load software A1 and peripheral components corresponding to the second type from the image file; wherein the peripheral components corresponding to the second type are used for the second computing instance to run software A1.

[0089] That is to say, the physical machine instance can load and run the operating system through the image file. The physical machine instance running the operating system can be used as a host machine to deploy virtual machine instances or container instances, and the deployed virtual machine instances or container instances also load and run the operating system through the image file. In this way, the operating system loading of the host machine of the virtual machine instance or container instance can be completed through an image file, and the loading of the operating system of the virtual machine instance or container instance can also be completed, which simplifies the deployment operation of the virtual machine instance or container instance.

[0090] In some embodiments, software A1 is an operating system, and the core components in the image file also include program dependency packages. While instructing the first computing instance to load software A1 and corresponding peripheral components from the image file, the first computing instance is also instructed to load the program dependency package from the image file based on the release information of the image file. For example, Figure 5 As shown, the first computing instance can be instructed to load a core component from an image file, wherein the core component includes a program dependency package, so that the loading of the program dependency package is completed by loading the core component.

[0091] In some embodiments, software A1 is an operating system, and the core components in the image file also include service dependency packages. While instructing the first computing instance to load software A1 and corresponding peripheral components from the image file, the first computing instance is also instructed to load the service dependency package from the image file based on the release information of the image file. For example, Figure 5 As shown, the first computing instance can be instructed to load a core component from an image file, wherein the core component includes a service dependency package, so that the loading of the service dependency package is completed by loading the core component.

[0092] In summary, the software loading method provided in the embodiment of the present application can meet the software loading requirements of various computer types through one image file. Therefore, for various computer types, only one image file needs to be maintained, which reduces the maintenance cost of image files for various computer types.

[0093] In particular, software versions are frequently replaced and prone to problems, and the maintenance task of the software in the image file is heavy. Maintaining one image file for multiple computer types, multiple computer types share software, and only need to maintain the software for one image file, which greatly reduces the workload of maintaining image files for multiple computer types.

[0094] Furthermore, for various computer types, only one image file needs to be packaged and stored, which reduces the image file packaging workload and the storage space required for the image file.

[0095] Furthermore, when running software on computing instances of different computer types, there is no need to select different image files for different computing instances, thus avoiding errors in image file selection.

[0096] See also Figure 6 The embodiment of the present application further provides a cloud management platform 600. The cloud management platform 600 is used to manage a cloud infrastructure, wherein the cloud infrastructure includes at least one data center, and the data center is used to deploy multiple types of computing instances, wherein different types of computing instances require different peripheral components to run software. Figure 6As shown, the cloud management platform 600 includes:

[0097] The acquisition module 610 is used to acquire the release information of the image file of the software, wherein the image file includes a core component and multiple peripheral components; wherein the core component includes the software; the multiple peripheral components correspond to the multiple types one by one, and the peripheral components are used for computing instances of the types corresponding to the peripheral components to run the software;

[0098] A deployment module 620, configured to deploy a first computing instance in the data center, wherein the first computing instance belongs to a first type among the multiple types;

[0099] The indication module 630 is used to instruct the first computing instance to load the software and the peripheral components corresponding to the first type from the image file based on the release information of the image file; wherein the peripheral components corresponding to the first type are used for the first computing instance to run the software.

[0100] In some embodiments, the peripheral component corresponding to the first type includes an identifier of the first type, and the first computing instance is used to identify and load the peripheral component corresponding to the first type from the image file based on the identifier of the first type.

[0101] In some embodiments, the software is an operating system, the first type is a virtual machine or a container, and the data center includes a physical machine instance; the deployment module 620 is used to: deploy the first computing instance in the physical machine instance; the indication module 630 is used to: instruct the physical machine instance to start the first computing instance based on the software obtained from the image file and the peripheral components corresponding to the first type, so as to load the software and the peripheral components corresponding to the first type into the first computing instance.

[0102] In some embodiments, the software is an operating system, the first type is a physical machine, and the multiple types also include a second type, which is a virtual machine or a container; the deployment module 620 is also used to: deploy a second computing instance in the first computing instance, and the second computing instance belongs to the second type; the indication module 630 is also used to: based on the release information of the image file, instruct the second computing instance to load the software and the peripheral components corresponding to the second type from the image file; wherein the peripheral components corresponding to the second type are used for the second computing instance to run the software.

[0103] In some embodiments, the software is an operating system, and the core component also includes a program dependency package and / or a service dependency package; the indication module 630 is also used to: based on the release information of the image file, instruct the first computing instance to load the program dependency package and / or the service dependency package from the image file.

[0104] In some embodiments, the multiple types include at least two of physical machines, virtual machines, and containers.

[0105] Among them, the acquisition module 610, the deployment module 620 and the indication module 630 can all be implemented by software, or can be implemented by hardware. Exemplarily, the following takes the acquisition module 610 as an example to introduce the implementation of the acquisition module 610. Similarly, the implementation of the deployment module 620 and the indication module 630 can refer to the implementation of the acquisition module 610.

[0106] As an example of a software functional unit, the acquisition module 610 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the acquisition module 610 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same availability zone AZ or in different AZs, and each AZ includes a data center or multiple data centers with close geographical locations. Among them, usually a region can include multiple AZs.

[0107] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same VPC or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0108] As an example of a hardware functional unit, the acquisition module 610 may include at least one computing device, such as a server, etc. Alternatively, the acquisition module 610 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0109] The multiple computing devices included in the acquisition module 610 can be distributed in the same region or in different regions. The multiple computing devices included in the acquisition module 610 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the acquisition module 610 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0110] It should be noted that, in other embodiments, the acquisition module 610 may be used to execute Figure 4 In any step of the method shown, the deployment module 620 can be used to perform Figure 4 In any step of the method shown, the instruction module 630 can be used to perform Figure 4 The steps implemented by the acquisition module 610, the deployment module 620 and the indication module 630 can be specified as needed, and the acquisition module 610, the deployment module 620 and the indication module 630 can be respectively implemented Figure 4 The different steps in the method shown implement the full functionality of the cloud management platform 600 .

[0111] The present application also provides a computing device 700. Figure 7 As shown, computing device 700 includes: bus 702, processor 704, memory 706 and communication interface 708. Processor 704, memory 706 and communication interface 708 communicate through bus 702. Computing device 700 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in computing device 700.

[0112] The bus 702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 The bus 702 may include a path for transmitting information between various components of the computing device 700 (eg, the memory 706, the processor 704, and the communication interface 708).

[0113] The processor 704 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0114] The memory 706 may include a volatile memory, such as a random access memory (RAM). The memory 706 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0115] The memory 706 stores executable program codes, and the processor 704 executes the executable program codes to respectively implement the functions of the acquisition module 610, the deployment module 620, and the indication module 630, thereby implementing Figure 4 That is, the memory 706 stores the method for executing Figure 4 Instructions for the method shown.

[0116] The communication interface 708 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or communication networks.

[0117] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0118] like Figure 8 As shown, the computing device cluster includes at least one computing device 700. The memory 706 in one or more computing devices 700 in the computing device cluster may store the same Figure 4 Instructions for the method shown.

[0119] In some possible implementations, the memory 706 of one or more computing devices 700 in the computing device cluster may also store a memory for executing Figure 4 In other words, the combination of one or more computing devices 700 can jointly execute instructions for executing Figure 4 Instructions for the method shown.

[0120] It should be noted that the memory 706 in different computing devices 700 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the cloud management platform 600. That is, the instructions stored in the memory 706 in different computing devices 700 may implement the functions of one or more modules among the acquisition module 610, the deployment module 620 and the indication module 630.

[0121] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig. 9 A possible implementation is shown. Fig. 9 As shown, two computing devices 700A and 700B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 706 in the computing device 700A stores instructions for executing the functions of the acquisition module 610. At the same time, the memory 706 in the computing device 700B stores instructions for executing the functions of the deployment module 620 and the indication module 630.

[0122] It should be understood that Fig. 9 The functions of the computing device 700A shown in FIG. 7 may also be completed by multiple computing devices 700. Similarly, the functions of the computing device 700B may also be completed by multiple computing devices 700.

[0123] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Figure 8 and Fig. 9 The difference is that the memory 706 in one or more computing devices 700 in the computing device cluster may store the same memory for executing Figure 4 Instructions for the method shown.

[0124] In some possible implementations, the memory 706 of one or more computing devices 700 in the computing device cluster may also store a memory for executing Figure 4 In other words, the combination of one or more computing devices 700 can jointly execute instructions for executing Figure 4 Instructions for the method shown.

[0125] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes Figure 4 The method shown.

[0126] The present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that can be stored by a computing device or a host migration device such as a data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute Figure 4 The method shown.

[0127] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.

Claims

1. A software loading method, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage cloud infrastructure, the cloud infrastructure includes at least one data center, the data center is used to deploy multiple types of computing instances, wherein different types of computing instances require different peripheral components to run software; the method includes: Obtaining release information of an image file of the software, wherein the image file includes a core component and multiple peripheral components; wherein the core component includes the software; the multiple peripheral components correspond to the multiple types one by one, and the peripheral components are used for computing instances of the types corresponding to the peripheral components to run the software; Deploy a first computing instance in the data center, the first computing instance being of a first type among the multiple types; Based on the release information of the image file, the first computing instance is instructed to load the software and the peripheral components corresponding to the first type from the image file; wherein the peripheral components corresponding to the first type are used for the first computing instance to run the software.

2. The method according to claim 1, characterized in that The peripheral component corresponding to the first type includes an identifier of the first type, and the first computing instance is used to identify and load the peripheral component corresponding to the first type from the image file based on the identifier of the first type.

3. The method according to claim 1 or 2, characterized in that: The software is an operating system, the first type is a virtual machine or a container, and the data center includes a physical machine instance; Deploying a first computing instance in the data center includes: deploying the first computing instance in the physical machine instance; The instructing the first computing instance to load the software and the peripheral components corresponding to the first type from the image file includes: instructing the physical machine instance to start the first computing instance based on the software and the peripheral components corresponding to the first type obtained from the image file, so as to load the software and the peripheral components corresponding to the first type into the first computing instance.

4. The method according to claim 1 or 2, characterized in that: The software is an operating system, the first type is a physical machine, the multiple types further include a second type, and the second type is a virtual machine or a container; the method further includes: Deploy a second computing instance in the first computing instance, where the second computing instance belongs to the second type; Based on the release information of the image file, instruct the second computing instance to load the software and the peripheral components corresponding to the second type from the image file; wherein the peripheral components corresponding to the second type are used by the second computing instance to run the software.

5. The method according to any one of claims 1 to 4, characterized in that The software is an operating system, and the core component also includes a program dependency package and / or a service dependency package; the method also includes: based on the release information of the image file, instructing the first computing instance to load the program dependency package and / or the service dependency package from the image file.

6. The method according to any one of claims 1 to 5, characterized in that The multiple types include at least two of physical machines, virtual machines, and containers.

7. A cloud management platform, characterized in that: The cloud management platform is used to manage cloud infrastructure, the cloud infrastructure includes at least one data center, the data center is used to deploy multiple types of computing instances, wherein different types of computing instances require different peripheral components to run software; the cloud management platform includes: an acquisition module, used to acquire release information of an image file of the software, wherein the image file includes a core component and multiple peripheral components; wherein the core component includes the software; the multiple peripheral components correspond to the multiple types one by one, and the peripheral components are used for computing instances of the types corresponding to the peripheral components to run the software; A deployment module, configured to deploy a first computing instance in the data center, wherein the first computing instance belongs to a first type among the multiple types; An indication module is used to instruct the first computing instance to load the software and the peripheral components corresponding to the first type from the image file based on the release information of the image file; wherein the peripheral components corresponding to the first type are used for the first computing instance to run the software.

8. The cloud management platform according to claim 7, characterized in that: The peripheral component corresponding to the first type includes an identifier of the first type, and the first computing instance is used to identify and load the peripheral component corresponding to the first type from the image file based on the identifier of the first type.

9. The cloud management platform according to claim 7 or 8, characterized in that: The software is an operating system, the first type is a virtual machine or a container, and the data center includes a physical machine instance; The deployment module is used to: deploy the first computing instance in the physical machine instance; The instruction module is used to instruct the physical machine instance to start the first computing instance based on the software and the peripheral components corresponding to the first type obtained from the image file, so as to load the software and the peripheral components corresponding to the first type into the first computing instance.

10. The cloud management platform according to claim 7 or 8, characterized in that: The software is an operating system, the first type is a physical machine, the multiple types further include a second type, and the second type is a virtual machine or a container; The deployment module is further used to: deploy a second computing instance in the first computing instance, where the second computing instance belongs to the second type; The indication module is also used to: based on the release information of the image file, instruct the second computing instance to load the software and the peripheral components corresponding to the second type from the image file; wherein the peripheral components corresponding to the second type are used by the second computing instance to run the software.

11. The cloud management platform according to any one of claims 7 to 10, characterized in that: The software is an operating system, and the core component also includes a program dependency package and / or a service dependency package; the indication module is also used to: based on the release information of the image file, instruct the first computing instance to load the program dependency package and / or the service dependency package from the image file.

12. The cloud management platform according to any one of claims 7 to 11, characterized in that: The multiple types include at least two of physical machines, virtual machines, and containers.

13. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 6.

14. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 6.

15. A computer program product comprising instructions, characterized in that When the instructions are executed by a computer device cluster, the computer device cluster executes the method according to any one of claims 1 to 6.