A method of providing a cloud desktop virtual machine service and a system thereof
By automating the processes of package server, virtual machine server, and network interface server, the problems of low efficiency and insufficient security in cloud desktop virtual machine creation are solved, enabling fast and secure virtual machine customization and configuration.
Patent Information
- Application Number
- CN202111016740.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-31
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2041-08-31
AI Technical Summary
In existing technologies, the installation, configuration, and vulnerability detection of cloud desktop virtual machines require manual operation, which cannot quickly meet the diverse needs of users and cannot guarantee image security.
By combining a software package server, a virtual machine server, and a network interface server, virtual machines are created, installed, and configured through an automated process. Combined with vulnerability detection services, this enables the creation of cloud desktop virtual machines without human intervention.
It enables rapid customization of virtual machine systems according to user needs, improving production efficiency and ensuring the security of the cloud desktop environment.
Smart Images

Figure CN114443208B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a technology for providing cloud desktop virtual machine services. Background Technology
[0002] Cloud desktops utilize virtualization technology to virtualize various physical devices, thereby effectively improving resource utilization, saving costs, and enhancing application quality. With the support of virtualization technology, the connection between network software and hardware devices becomes more flexible, and scalability is greatly improved. Therefore, cloud desktops have been widely used in various scenarios.
[0003] With the increasing demand for cloud desktops, virtual machine systems typically need to be configured based on system performance and specific applications to meet the diverse system requirements of different users. Currently, given the varying hardware and software needs across different fields, cloud desktop maintenance personnel must customize diverse images for users and install and configure the systems and software on the created virtual machines. Typically, after installation and configuration, vulnerability checks on the virtual machine system are also required. In existing technologies, the aforementioned installation, configuration, and testing processes all need to be completed manually.
[0004] Therefore, the original manual service can no longer meet the needs of quickly creating cloud desktop images according to user requirements and ensuring the security of the images. Summary of the Invention
[0005] To address the shortcomings of existing technologies in creating cloud desktop virtual machines due to low efficiency, this invention provides a method and system for providing cloud desktop virtual machine services. The purpose of this invention is to enable the rapid installation and configuration of virtual machine systems according to different user needs, while ensuring system security.
[0006] To achieve the above objectives, one technical solution adopted by the present invention is: a method for providing cloud desktop virtual machine services, the method being implemented based at least on a software package server, a virtual machine server, and a network interface server, wherein the software package server, the virtual machine server, and the network interface server can communicate with each other; the method includes: S0: the virtual machine server creates a virtual machine module;
[0007] S1: The virtual machine module sends a first request to the software package server. The first request includes at least operating system information and / or a software list, wherein the software list includes at least one or more software items that need to be installed in the operating system. S2: The software package server responds to the first request and returns first response data to the virtual machine module. The first response data includes at least a response result notification. S3: After receiving the first response data indicating a successful search, the virtual machine module sends a second request to the network interface server. S4: The network interface server creates and installs a virtual machine in the virtual machine module according to the second request. S5: After the virtual machine is installed, the virtual machine server uploads the virtual machine to the cloud server.
[0008] In a preferred embodiment, in step S2, the package server responding to the first request and returning first response data to the virtual machine module includes: S21: The package server searches for the operating system and / or one or more software source codes corresponding to the operating system information and / or software manifest according to the first request; S22: If the package server does not find all or part of the operating system and / or the one or more software source codes, the package server returns first response data indicating failure in finding the operating system and / or the one or more software source codes; if the package server finds all the operating system and / or the one or more software source codes, the package server returns first response data indicating successful search and returns second response data to the virtual machine module and / or the network interface server.
[0009] In a preferred embodiment, the first request further includes the configuration parameters of the operating system and / or the software; in step S22, if the software package server finds all the source code of the operating system and / or one or more software, then step S221 is executed: the software package server modifies the parameters of the operating system and / or the software source code according to the configuration parameters; if the modification is successful or no modification of the configuration parameters is required, then the first response data of successful search is returned, and step S222 is executed; if the modification fails, then the first response data of modification failure is returned; in step S22, returning the second response data to the virtual machine module and / or the network interface server includes step S222: the software package server compiles the operating system and / or one or more software source codes and generates a first image file; the software package server returns the second response data to the virtual machine module and / or the network interface server, wherein the second response data includes the first image file.
[0010] In a preferred embodiment, in step S4, the network interface server creating and installing a virtual machine in the virtual machine module according to the second request includes: S41: the virtual machine module downloads a startup file through the network interface server; S42: if the virtual machine module receives the second response data, it downloads the first image file according to the second response data; otherwise, the virtual machine module downloads the first image file through the network interface server; S43: the virtual machine module creates and installs a virtual machine according to the startup file and the first image file.
[0011] In a preferred embodiment, the network interface server includes at least a first network interface server and a second network interface server; in step S41, the virtual machine module downloading the startup file through the network interface server includes: S411: the virtual machine module sends a second request to the first network interface server, and the first network interface server returns IP configuration information to the virtual machine module according to the second request; S412: the virtual machine module establishes communication with the second network interface server according to the IP configuration information; S413: the virtual machine module sends a third request to the second network interface server, and the second network interface server returns the startup file according to the third request.
[0012] In a preferred embodiment, the network interface server includes a third network interface server; in step S42, the virtual machine module downloading the first image file through the network interface server includes: S421: the startup file controls the virtual machine module to send a fourth request to the third network interface server, the fourth request including at least information about the first image file; the third network interface server locates and returns the first image file according to the fourth request.
[0013] In a preferred embodiment, in step S5, after the virtual machine is installed, the virtual machine server uploads the virtual machine to the cloud server, including: S51: The virtual machine server calls a vulnerability detection program to automatically perform vulnerability detection on the virtual machine; S52: The virtual machine server compresses the virtual machine to form a second image file and uploads it to the cloud server.
[0014] In a preferred embodiment, the virtual machine server can create multiple virtual machine modules simultaneously, and the virtual machine server can communicate independently with each virtual machine module; wherein, the first request and the second request include an identifier uniquely corresponding to each virtual machine module, and the virtual machine server establishes communication between each virtual machine module and the software package server and the network interface server according to the identifier.
[0015] To achieve the above objectives, another technical solution adopted by the present invention is: a system for implementing any of the methods described above, the system comprising a software package server, a virtual machine server, and a network interface server; wherein, the software package server is used to modify the configuration parameters of the operating system and / or software, and provide the operating system and / or software to the virtual machine server; the network interface server is used to start and guide the virtual machine server to automatically create and install virtual machines; the virtual machine server is used to complete the installation of one or more virtual machines and upload the virtual machines to a cloud server.
[0016] In a preferred embodiment, the network interface server is a PXE server, and the virtual machine server includes one or more PXE clients for communicating with the PXE server.
[0017] Compared with the prior art, the advantages of the present invention are: (1) The technical solution of the present invention can realize the automated diskless installation of virtual machine operating system and software package, and upload it to the cloud desktop environment to create cloud desktop virtual machine application for the cloud desktop environment; (2) The entire installation and configuration of the virtual machine does not require manual intervention, and the virtual machine operating system can be customized according to user needs, which greatly improves the production efficiency; (3) At the same time, the technical solution of the present invention also combines vulnerability detection service, which can ensure the environmental security of the cloud desktop host system. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 A flowchart illustrating the provision of cloud desktop virtual machine services is provided as an embodiment of the present invention;
[0020] Figure 2 This is a flowchart illustrating the automatic batch installation of virtual machines via a network interface server, as provided in one embodiment of the present invention. Detailed Implementation
[0021] 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, and 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.
[0022] It should be noted that the terms "first" and "second" used in this invention are used to distinguish between two entities or parameters with the same name but different names. It is clear that "first" and "second" are only for the convenience of expression and should not be construed as limiting the invention. Subsequent embodiments will not elaborate on this point.
[0023] In a cloud environment, cloud servers provide virtual desktop services to thin clients through virtualization technology. To address the diverse virtual machine usage needs of different users, this invention provides a method and system for providing cloud desktop virtual machine services. This method and system enable unattended installation and configuration of virtual machine systems, thereby creating cloud desktop virtual machines for cloud desktop users.
[0024] The preferred embodiment of the present invention for implementing the above technical solution involves automatically invoking compilation platform technology, virtual machine management technology, and remote installation technology through script code to automate the creation and uploading of cloud desktop images, thereby creating cloud desktop virtual machines. In practical applications, adjustments can be made based on the actual technical path adopted to achieve the aforementioned technical solution more flexibly.
[0025] A preferred embodiment of the present invention is based on a software package server, a virtual machine server, and a network interface server. The software package server, virtual machine server, and network interface server can communicate with each other.
[0026] Example 1
[0027] like Figure 1 As shown, one embodiment of the present invention provides a method for providing cloud desktop virtual machine services, which specifically includes the following steps.
[0028] S1-0: The virtual machine server creates a virtual machine module.
[0029] Specifically, for each new virtual machine creation requirement, the virtual machine server needs to pre-allocate a virtual machine module. More specifically, each virtual machine module has a unique identifier, and the virtual machine server can communicate with the virtual machine module based on this unique identifier. That is, the virtual machine module can call the virtual machine server's communication interface to communicate with the package server or network interface server, including but not limited to forwarding messages received from the package server or network interface server to the virtual machine module, or forwarding the virtual machine module's requests to the package server or network interface server, etc.
[0030] In an optional embodiment, the virtual machine module may be an independent disk space allocated by the virtual machine server or an independent server, which is used to store all files and data related to the virtual machine and perform the operations required to create the virtual machine.
[0031] S1-1: The virtual machine module sends the first request to the package server.
[0032] Specifically, the purpose of the virtual machine module sending the first request to the package server is to obtain customized operating system and software. The first request includes at least operating system information and / or a software manifest, where the software manifest includes information on at least one or more software programs that need to be installed on the operating system. More specifically, the operating system and software information can help the package server quickly match uniquely corresponding files that meet the user's needs. For example, operating system information may include the operating system type and version, while software information may include the software name, version, and compatible operating system type.
[0033] In an optional embodiment, the software package server stores various types and versions of operating systems and software source code, and is maintained and managed by the software package server. The virtual machine module requests a specific operating system and / or software from the software package server through a first request based on the user's actual needs.
[0034] In an optional embodiment, the virtual machine module can also modify the parameters of the existing operating system and software in the package server through a first request. For example, as described in steps S1-2 below, the first request sent by the virtual machine module also includes the parameter configurations that need to be adjusted. After the package server finds the corresponding operating system and / or software source code, it modifies the parameters of the operating system and / or software according to the parameter configurations in the first request, and then compiles and integrates them.
[0035] In an optional embodiment, the compiled software can be optionally integrated into an ISO image file. To illustrate this more clearly, taking the Koji build server platform as an example, the Koji build server platform can provide automated compilation, maintenance, and management functions for software packages. Specifically, the Koji build server platform uses the Chroot environment generated by Mock to compile Source RPM packages (i.e., the software package source code described in this invention), achieving unified management and querying of different builds, different Arches, SRPMs, and Binary RPMs of the software package.
[0036] S1-2: The package server responds to the first request and returns the first response data to the virtual machine module.
[0037] Specifically, after receiving the first request, the software package server parses the first request to obtain the operating system information and / or software manifest contained in the first request. The software package server performs a query based on the system information and / or software manifest and returns first response data to the virtual machine module. The first response data includes at least a response result notification.
[0038] In an optional embodiment, the response result notification of the first response data can be set to different states according to actual needs. For example, if the package server successfully retrieves all files in the operating system information and / or software manifest, it returns first response data indicating a successful search. If the package server does not retrieve some or all of the software, the first response data is set to a state indicating no software was found, and optionally includes the name and / or version number of the software that was not found. In this case, after the virtual machine module receives the first response data, maintenance personnel can check whether the information regarding the name and / or version number of the software that was not found is correct, or supplement or update the missing software in the package server.
[0039] In an optional embodiment, the response result of the first response data may further include the operating system information and / or the image files of the operating system and software corresponding to the software manifest. Specifically, if the package server successfully retrieves all files in the operating system information and / or software manifest, the package server may choose to integrate these files and return them to the virtual machine module as the first response data. If the package server fails to retrieve a portion of the files in the operating system information and / or software manifest, the package server may choose to integrate the retrieved files and return them to the virtual machine module as the first response data; or, while integrating the retrieved files, add the names and / or version numbers of the unretrieved software to the first response data and return it to the virtual machine module; or wait for the virtual machine module to issue a first request again, and after successfully retrieving all files in the operating system information and / or software manifest, return it to the virtual machine module as the first response data. In an optional embodiment, the integrated file in the first response data may be an ISO image file.
[0040] S1-3: After receiving the first response data indicating a successful lookup, the virtual machine module sends a second request to the network interface server.
[0041] Specifically, after receiving the first response data indicating a successful search, the virtual machine module sends a second request to the network interface server to notify the network interface server to install the virtual machine and obtain the startup files. In an optional embodiment, the virtual machine module may broadcast the second request to the network interface server. In an optional embodiment, as described in steps S1-2, the virtual machine module may automatically download the integration files from the first response data and start the installation of the virtual machine; or the virtual machine module may also download the integration files through the network interface server.
[0042] S1-4: The network interface server creates and installs a virtual machine in the virtual machine module based on the second request.
[0043] Specifically, after receiving the second request from the virtual machine, the network interface server performs corresponding operations to create a virtual machine in the virtual machine module and install the operating system and / or software. This invention employs network installation methods such as NFS, HTTP, or FTP to automate the operating system installation process.
[0044] In an optional embodiment, the virtual machine module obtains the boot file through a network interface server and initiates the installation of the integrated files obtained from the first response data. Specifically, taking the virtual machine management tool invoked by the virt-install command as an example, this virtual machine management tool can automatically load the necessary boot files to start the installation process without requiring an additional boot tool. This supports both directly starting the installation process from an existing disk image and automatically installing remotely via diskless PXE (PrebooteXecution Environment).
[0045] In an optional embodiment, taking the automatic installation of an operating system using PXE as an example, PXE provides a mechanism for booting a computer using a network interface. This mechanism allows the computer to boot without relying on local data storage devices (such as hard drives) or a locally installed operating system.
[0046] S1-5: After the virtual machine is installed, the virtual machine server will upload the virtual machine to the cloud server.
[0047] Specifically, the virtual machine server calls a script to compress the created virtual machine and upload it to the cloud desktop environment. During the upload, the name, format, and other information can be specified.
[0048] In an optional embodiment, after the virtual machine upload is complete, the virtual machine server can optionally call the cloud desktop interface to automatically create a cloud desktop virtual machine for the cloud desktop user based on pre-set parameters. Simultaneously, the template, network, and security group of the cloud desktop virtual machine can be automatically specified. In another optional embodiment, the virtual machine server generates a QCOW2 format virtual machine file and calls the cloud desktop API to upload the generated virtual machine file to the cloud desktop environment, thus completing the creation and upload of the customized cloud desktop image. After the upload is complete, the cloud desktop API is called to automatically create the cloud desktop virtual machine.
[0049] Example 2
[0050] Another embodiment of the present invention provides a method for providing cloud desktop virtual machine services, which specifically includes the following steps.
[0051] S2-0: The virtual machine server creates a virtual machine module.
[0052] Specifically, for each new virtual machine creation requirement, the virtual machine server needs to pre-allocate a virtual machine module. More specifically, each virtual machine module has a unique identifier, and the virtual machine server can communicate with the virtual machine module based on this unique identifier. That is, the virtual machine module can call the virtual machine server's communication interface to communicate with the package server or network interface server, including but not limited to forwarding messages received from the package server or network interface server to the virtual machine module, or forwarding the virtual machine module's requests to the package server or network interface server, etc.
[0053] In an optional embodiment, the virtual machine module may be an independent disk space allocated by the virtual machine server or an independent server, which is used to store all files and data related to the virtual machine and perform the operations required to create the virtual machine.
[0054] S2-1: The virtual machine module sends the first request to the package server.
[0055] Specifically, the purpose of the virtual machine module sending the first request to the package server is to obtain a customized operating system and software packages. The first request includes at least operating system information and / or a software manifest, where the software manifest includes information on at least one or more software programs that need to be installed on the operating system. More specifically, the operating system and software information can help the package server quickly match a uniquely corresponding file that meets the user's needs. For example, operating system information may include the operating system type and version, while software information may include the software name, version, and compatible operating system type.
[0056] In an optional embodiment, the software package server stores various types and versions of operating systems and software source code, and is maintained and managed by the software package server. The virtual machine module requests a specific operating system and / or software from the software package server through a first request based on actual user needs.
[0057] In an optional embodiment, the virtual machine module can also modify the parameters of the existing operating system and software in the package server through a first request. For example, as described in steps S2-3 below, the first request sent by the virtual machine module also includes the parameter configurations that need to be adjusted. After the package server finds the corresponding operating system and / or software source code, it modifies the parameters of the operating system and / or software according to the parameter configurations in the first request, and then compiles and integrates them. In an optional embodiment, the compiled software can optionally be integrated into an ISO image file.
[0058] S2-2: The software package server searches for operating system information and / or the operating system and / or one or more software source codes corresponding to the software list based on the first request.
[0059] Specifically, after receiving the first request, the software package server parses the request to obtain the operating system information and / or software manifest contained in the request. The software package server then performs queries based on the system information and / or software manifest.
[0060] In an optional embodiment, taking the Koji build server platform as an example, the Koji build server platform can provide automated compilation, maintenance, and management functions for software packages. Specifically, the Koji build server platform uses the Chroot environment generated by Mock to compile Source RPM packages (i.e., the software package source code described in this invention), realizing unified management and querying of different builds, different Arches, SRPMs, and Binary RPMs of software packages.
[0061] S2-3: If the package server does not find all or part of the operating system and / or one or more software source codes, the package server returns first response data indicating failure in finding the operating system and / or one or more software source codes; if the package server finds all the operating system and / or one or more software source codes, the package server returns first response data indicating successful finding, and returns second response data to the virtual machine module and / or network interface server.
[0062] Specifically, the purpose of the software package server returning first response data indicating the failure to find the operating system and / or one or more software source codes to the virtual machine module is to notify the virtual machine module that the necessary files for creating the virtual machine have not yet been found. In an optional embodiment, the first response data may include the name and / or version number of the software that was not found. After receiving the first response data indicating the failure to find the operating system and / or one or more software source codes, the virtual machine module can check whether the information regarding the name and / or version number of the software that was not found is correct, or supplement or update the missing software in the software package server.
[0063] Furthermore, in this embodiment, the first request also includes operating system and / or software configuration parameters. If the package server finds all operating system and / or one or more software source codes, the package server returns a first response data indicating a successful search and returns a second response data to the virtual machine module and / or the network interface server. The purpose of the package server returning the first response data indicating a successful search is to notify the virtual machine module that it can begin the next virtual machine installation step.
[0064] More specifically, if the package server finds all operating systems and / or one or more software source codes, the package server modifies the parameters of the operating systems and / or software source codes according to the configuration parameters (step S221); if the modification is successful or no modification of the configuration parameters is required, the package server returns the first response data of successful search, and at the same time, the package server compiles the operating system and / or one or more software source codes and generates the first image file; the package server returns the second response data to the virtual machine module and / or network interface server, wherein the second response data includes the first image file (step S222); if the modification fails, the package server returns the first response data of modification failure.
[0065] To facilitate modification of configuration parameters, the software package server stores software source code files. After successful modification of the configuration parameters or confirmation that no modification is needed, the software package server compiles the found software source code to obtain an executable file. Subsequently, the software package server integrates the compiled executable file and the operating system to obtain a first image file. In an optional embodiment, the first image file is an ISO file. The virtual machine module can only create and install a virtual machine after obtaining this first image file.
[0066] In an optional embodiment, the configuration parameters in the first request should at least include operating system and / or software information, parameter names, and modified parameter values. Situations where modification is successful or no modification of configuration parameters is required include, but are not limited to: the software package server finding the operating system and / or software information and parameter names, and successfully modifying the parameter values; or the first request not containing configuration parameter information. Situations where modification fails include, but are not limited to: the software package server not finding the operating system and / or software information and / or parameter names; or the parameters of the operating system and / or software information not allowing modification; or the modification of the operating system and / or software information parameters in the first request exceeding the scope.
[0067] In an optional embodiment, the software package server may return second response data (i.e., the first image file) to the virtual machine module and / or the network interface server. If the software package server returns the first image file to the virtual machine module, it may optionally return the response result notification along with the first image file to the virtual machine module, meaning the second response data is equivalent to the first response data; alternatively, the software package server may optionally return the response result notification and the first image file separately to the virtual machine module, in which case the virtual machine module will receive the first response data and the second response data respectively. If the software package server returns the first image file to the network interface server, the virtual machine module can download the first image file according to steps 2-5.
[0068] S2-3: After receiving the first response data indicating a successful lookup, the virtual machine module sends a second request to the network interface server.
[0069] Specifically, after receiving the first response data indicating a successful search, the virtual machine module sends a second request to the network interface server to notify the network interface server to install the virtual machine and obtain the boot file and / or the first image file. In an optional embodiment, the virtual machine module may broadcast the second request to the network interface server.
[0070] S2-4: The virtual machine module downloads the startup file through the network interface server.
[0071] Specifically, the network interface server includes at least a first network interface server and a second network interface server. The virtual machine module sends a second request to the first network interface server, and the first network interface server returns IP configuration information to the virtual machine module according to the second request (step S411); the virtual machine module establishes communication with the second network interface server according to the IP configuration information (step S412); the virtual machine module sends a third request to the second network interface server, and the second network interface server returns a startup file according to the third request (step S413).
[0072] In an optional embodiment, taking the automatic installation of an operating system using PXE as an example, PXE provides a mechanism for booting a computer using a network interface. This mechanism allows the computer to boot without relying on local data storage devices (such as hard drives) or a locally installed operating system. Specifically, the first network interface server can be a DHCP server, used to assign IP addresses to virtual machines; the second network interface server can be a TFTP server, used to provide a service for downloading boot files for virtual machines. The virtual machine server includes a PXE client, which is the virtual machine module in this invention.
[0073] In an optional embodiment, the virtual machine module (i.e., the PXE client) broadcasts a second request, requesting the DHCP server to assign an IP address. Further, as... Figure 2 As shown, the specific steps for automatically batch installing virtual machine systems using PXE in this embodiment include:
[0074] (1) After receiving the second request from the PXE client, the DHCP server provides the PXE client with IP configuration information, which includes at least the address of the TFTP server. In an optional embodiment, the IP range assigned to the PXE client by the DHCP server is pre-configured to ensure communication with the TFTP server.
[0075] (2) After completing the IP configuration, the PXE client sends a third request to the TFTP server to download the boot file. The TFTP server's address is transmitted to the PXE client via the IP configuration information sent by the DHCP server. The TFTP server responds to the PXE client's request and transfers the boot file to the PXE client.
[0076] S2-5: If the virtual machine module receives the second response data, it downloads the first image file according to the second response data; otherwise, the virtual machine module downloads the first image file through the network interface server.
[0077] Specifically, as described in step 2-2, if the virtual machine module receives the second response data, it can directly download the first image file based on the second response data; if the first response data received by the virtual machine module includes the first image file, it can directly download the first image file based on the first response data. Otherwise, the software package server stores the first image file in the network interface server, and the virtual machine module will download the first image file through the network interface server.
[0078] More specifically, if the virtual machine module does not obtain the first image file, the network interface server also includes a third network interface server. The startup file controls the virtual machine module to send a fourth request to the third network interface server, the fourth request including at least the information of the first image file; the third network interface server locates and returns the first image file according to the fourth request (step S421).
[0079] In an optional embodiment, taking the automatic installation of the operating system using PXE as an example, the third network interface server can be an HTTP server, used to provide image file download services. More specifically, a local yum repository (software repository) is set up on the HTTP server, which can store various systems, including but not limited to CentOS 6, CentOS 7, Ubuntu, etc. Furthermore, in an optional embodiment, different versions of different operating systems can be stored in the yum repository (software repository). This invention has organized the directory structure for the aforementioned different versions of operating systems to facilitate the installation of corresponding operating system versions according to different user needs.
[0080] Furthermore, such as Figure 2 As shown, the steps for the virtual machine module to obtain the first image file through the network interface server include: the PXE client runs the startup file, which controls the PXE client to send a fourth request to the HTTP server, requesting the download of other required files (i.e., including the first image file). The HTTP server responds to the PXE client's fourth request and transmits the image file to the PXE client.
[0081] S2-6: The virtual machine module creates and installs the virtual machine based on the startup file and the first image file.
[0082] Specifically, the virtual machine server or virtual machine module executes the startup file, decompresses the first image file, and creates and installs the virtual machine within the virtual machine module. More specifically, the virtual machine server calls the virtual machine management tool and automatically completes the creation of the virtual machine according to preset parameters.
[0083] In an optional embodiment, taking the automatic installation of the operating system using PXE as an example, the PXE client runs the startup file, automatically installs the virtual machine, and configures the operating system.
[0084] In an alternative embodiment, the virtual machine server uses the virt-install command to invoke a virtual machine management tool and create a virtual machine, which supports at least KVM and Xen virtual machine technologies.
[0085] S2-7: The virtual machine server calls the vulnerability detection program to automatically perform vulnerability detection on the virtual machine.
[0086] Specifically, after the virtual machine server completes the installation of the virtual machine, it calls a vulnerability detection program to automatically perform vulnerability detection on the virtual machine.
[0087] In an optional embodiment, the virtual machine server may invoke the Nmap detection tool to detect the network environment, performing checks on various CVE vulnerabilities, HTTP denial-of-service attacks, anonymous MySQL access, brute-force attacks on common services, host certificate authentication checks, service startup status, information mining, service attacks, vulnerability intrusion detection, information gathering or attacks using third-party databases or resources, potential vulnerabilities, IDS / IPS logging or blocking, virus infection, and backdoor detection. Additionally, the virtual machine server may optionally invoke the Cvechecker detection tool to further perform vulnerability detection. In this embodiment, the aforementioned dual detection ensures the security of the PXE client host system environment.
[0088] S2-8: The virtual machine server compresses the virtual machine and forms a second image file, which is then uploaded to the cloud server.
[0089] Specifically, the virtual machine server calls a script to compress the created virtual machine and upload it to the cloud desktop environment. During the upload, the name, format, and other information can be specified.
[0090] In an optional embodiment, after the virtual machine upload is complete, the virtual machine server can optionally call the cloud desktop interface to automatically create a cloud desktop virtual machine for the cloud desktop user based on pre-set parameters. Simultaneously, the template, network, and security group of the cloud desktop virtual machine can be automatically specified. In another optional embodiment, the virtual machine server generates a QCOW2 format virtual machine file and calls the cloud desktop API to upload the generated virtual machine file to the cloud desktop environment, thus completing the creation and upload of the customized cloud desktop image. After the upload is complete, the cloud desktop API is called to automatically create the cloud desktop virtual machine.
[0091] Example 3
[0092] Another embodiment of the present invention provides a method for simultaneously creating and installing multiple virtual machines according to Embodiments 1 and 2 described above. The virtual machine server can create multiple virtual machine modules simultaneously, and the virtual machine server can communicate independently with each virtual machine module.
[0093] The first and second requests each include a unique identifier for each virtual machine module. The virtual machine server establishes communication between each virtual machine module and the software package server and network interface server based on the identifier. Furthermore, the response data returned by the software package server and network interface server may include the corresponding identifier, and the virtual machine server forwards the response data to the appropriate virtual machine module based on this identifier.
[0094] In an alternative embodiment, the virtual machine server can manage virtual machine containers using tools such as Libvirt and Hypervisor, i.e., manage multiple virtual machines.
[0095] Example 4
[0096] Another embodiment of the present invention provides a system for implementing the methods of embodiments one to three above, and any of the optional embodiments therein.
[0097] Specifically, the system includes at least a software package server, a virtual machine server, and a network interface server. The software package server is used to modify the configuration parameters of the operating system and / or software, and to provide the operating system and / or software to the virtual machine server. The network interface server is used to start and guide the virtual machine server to automatically create and install virtual machines. The virtual machine server is used to complete the installation of one or more virtual machines and upload them to the cloud server.
[0098] In an optional embodiment, the network interface server is a PXE server, and the virtual machine server includes one or more PXE clients for communicating with the PXE server.
[0099] The present invention has provided a detailed description of a method and system for providing cloud desktop virtual machine services. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The above description is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Modifications and improvements to the present invention are possible without exceeding the concept and scope defined by the appended claims. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method for providing cloud desktop virtual machine service, characterized in that, the method is implemented based on at least a software package server, a virtual machine server and a network interface server, the software package server, the virtual machine server and the network interface server can communicate with each other; the method comprises: S0: the virtual machine server creates a virtual machine module; wherein for each new virtual machine production requirement, the virtual machine server pre-allocates a virtual machine module, each virtual machine module has a unique identifier, and the virtual machine server communicates with the virtual machine module according to the unique identifier; S1: the virtual machine module sends a first request to the software package server, the first request at least includes operating system information and / or software list, the software list at least includes one or more software information needed to be installed in the operating system, and the first request also includes parameter configuration for modifying parameters of the operating system and / or the software; S2: the software package server responds to the first request and returns first response data to the virtual machine module, the first response data at least includes response result notification; S3: after receiving the first response data of successful search, the virtual machine module sends a second request to the network interface server; S4: the network interface server creates and installs a virtual machine in the virtual machine module according to the second request, and performs operating system and / or software installation in network installation mode; S5: after the virtual machine installation is completed, the virtual machine server uploads the virtual machine to a cloud server; the virtual machine server can create multiple virtual machine modules at the same time, and the virtual machine server can independently communicate with each virtual machine module; wherein the first request and the second request include an identifier corresponding to each virtual machine module uniquely, and the virtual machine server establishes the communication between each virtual machine module and the software package server and the network interface server according to the identifier.
2. The method according to claim 1, characterized in that, in the step S2, the software package server responding to the first request and returning first response data to the virtual machine module comprises: S21: the software package server searches for operating system and / or one or more software source codes corresponding to the operating system information and / or software list according to the first request; S22: if the software package server does not find all or part of the operating system and / or the one or more software source codes, the software package server returns first response data of failure to find the operating system and / or the one or more software source codes; if the software package server finds all the operating system and / or the one or more software source codes, the software package server returns the first response data of successful search and returns second response data to the virtual machine module and / or the network interface server.
3. The method according to claim 2, characterized in that, The first request further comprises configuration parameters of the operating system and / or the software; in the step S22, if the software package server finds all the operating system and / or the one or more software source codes, the step S221 is performed: the software package server modifies the parameters of the operating system and / or the software source codes according to the configuration parameters; if the modification is successful or the configuration parameters do not need to be modified, the first response data of the successful finding is returned, and the step S222 is performed; if the modification fails, the first response data of the modification failure is returned; In the step S22, the returning of the second response data to the virtual machine module and / or the network interface server by the software package server comprises the step S222: the software package server compiles the operating system and / or the one or more software source codes, and generates a first image file; The software package server returns second response data to the virtual machine module and / or the network interface server, wherein the second response data comprises the first image file.
4. The method of claim 3, wherein, In the step S4, the creating and installing of the virtual machine in the virtual machine module by the network interface server according to the second request comprises: S41: the virtual machine module downloads a start file through the network interface server; S42: if the virtual machine module receives the second response data, the virtual machine module downloads the first image file according to the second response data; otherwise, the virtual machine module downloads the first image file through the network interface server; S43: the virtual machine module creates and installs a virtual machine according to the start file and the first image file.
5. The method of claim 4, wherein, The network interface server comprises at least a first network interface server and a second network interface server; In the step S41, the downloading of the start file by the virtual machine module through the network interface server comprises: S411: the virtual machine module sends the second request to the first network interface server, and the first network interface server returns IP configuration information to the virtual machine module according to the second request; S412: the virtual machine module establishes communication with the second network interface server according to the IP configuration information; S413: the virtual machine module sends a third request to the second network interface server, and the second network interface server returns the start file according to the third request.
6. The method of claim 4, wherein, The network interface server comprises a third network interface server; In the step S42, the downloading of the first image file by the virtual machine module through the network interface server comprises: S421: the start file controls the virtual machine module to send a fourth request to the third network interface server, and the fourth request comprises at least information of the first image file; The third network interface server finds and returns the first image file according to the fourth request.
7. The method of claim 5 or 6, wherein, in the step S5, after the virtual machine is installed, the virtual machine server uploads the virtual machine to a cloud server, comprising: S51: the virtual machine server calls a vulnerability detection program to automatically detect vulnerabilities of the virtual machine; S52: the virtual machine server compresses the virtual machine and forms a second image file, and uploads the second image file to the cloud server.
8. A system for implementing the method of any one of claims 1-7, wherein, the system comprises a software package server, a virtual machine server and a network interface server; wherein the software package server is configured to modify configuration parameters of an operating system and / or software, and provide the operating system and / or software to the virtual machine server; the network interface server is configured to start and guide the virtual machine server to automatically create and install a virtual machine; and the virtual machine server is configured to complete installation of one or more virtual machines, and upload the virtual machines to a cloud server.
9. The system of claim 8, wherein, the network interface server is a PXE server, and the virtual machine server comprises one or more PXE clients configured to communicate with the PXE server.
Citation Information
Patent Citations
Method for deploying application in virtual platform and virtual platform manager
CN102110009A
Cloud desktop service method, client platform and system
CN109040150A
System and method for automatically modifying host based weak points in cloud computing environment
KR101353414B1