A method, system and electronic device for activating built-in application software on cloud desktop

By activating the application software and binding the signature code on the virtual machine side of the cloud desktop template, and then virtualizing the machine signature code of the physical terminal into the virtual machine signature code through virtualization technology, the problem of failure of the activation code of the built-in software of the cloud desktop template is solved, and the seamless activation and use of multiple terminals is achieved, improving the configuration efficiency of the cloud desktop template.

CN118862022BActive Publication Date: 2025-03-07TIANJIN ZHUOLANG KUNLUN CLOUD SOFTWARE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411345652.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-26
Publication Date
2025-03-07
Estimated Expiration
2044-09-26

AI Technical Summary

Technical Problem

After the teaching software built-in in the cloud desktop template is distributed to multiple terminals, the activation code is invalid due to changes in the machine's feature code, which affects teaching use.

Method used

Activate the application software built-in cloud desktop template on the virtual machine side of the server, and bind the activation code to the virtual machine's signature code. Through virtualization technology, the machine signature code of multiple physical terminals is virtualized into the signature code of the virtual machine, and the activation state is maintained.

Benefits of technology

It realizes seamless activation and use of built-in cloud desktop application software between multiple physical terminals, improves the configuration efficiency of cloud desktop templates, avoids the disadvantages of network activation, and ensures the normal progress of teaching activities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118862022B_ABST
    Figure CN118862022B_ABST
Patent Text Reader

Abstract

The present application provides a method, system and electronic device for activating built-in application software of a cloud desktop. The method includes binding and activating the activation code of the built-in application software in the cloud desktop template with the feature code of the virtual machine where the cloud desktop template is located; before the cloud desktop template is sent to multiple physical terminals, the machine feature codes of multiple physical terminals are virtualized into the feature code of the virtual machine; after the virtualization is completed, the cloud desktop template is sent to multiple physical terminals; and the activation code of the built-in application software of the cloud desktop template and the virtualized machine feature code of each physical terminal are checked to see whether the binding relationship is satisfied; if the binding relationship is satisfied, the activation state is maintained. The present application can realize the activation of the built-in application software of the cloud desktop without relying on the network, and improves the configuration efficiency of the cloud desktop template.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of cloud desktops, and in particular to a method and system for activating built-in application software of a cloud desktop and an electronic device. Background Art

[0002] Cloud desktop, also known as desktop virtualization or cloud computer, is a new model to replace traditional computers. After adopting cloud desktop, users no longer need to purchase computer hosts, which saves costs and is more convenient. It is often used in campus education cloud platforms or work application platforms. Among them, taking the education cloud desktop as an example, the installation of the cloud desktop is generally to send the same cloud desktop template to all terminals in the classroom. Among them, some of the teaching software built into the cloud desktop template needs to be activated for use. The hardware activation method is generally used. It is usually activated in the cloud desktop template and then sent to each terminal, but the activation code is usually bound to the machine feature code. When it is activated in the cloud desktop template and then sent to multiple terminals, the machine code is different due to the change of the terminal, so the activation fails, and the teaching software cannot be used normally, affecting teaching.

[0003] To solve this problem, the commonly used method is to use network activation, which is to activate the service through network connection when the cloud desktop is started. However, network activation requires the server to be online in real time and keep the network unobstructed. When the server fails or the network is congested, activation cannot be performed, affecting normal teaching. Summary of the invention

[0004] In view of this, the purpose of the present invention is to provide a method, system and electronic device for activating built-in application software of a cloud desktop, so as to avoid the disadvantages brought by network activation through hardware activation.

[0005] In a first aspect, the present invention provides a method for activating built-in software of a cloud desktop, comprising:

[0006] On the virtual machine side of the server, the application software built into the cloud desktop template is activated, and the activation code of the application software is bound to the feature code of the virtual machine side;

[0007] Sending the cloud desktop template to multiple physical terminals;

[0008] Based on the virtualization software pre-installed in the cloud desktop template, virtualizing the machine feature codes of the multiple physical terminals into feature codes of the virtual machine end;

[0009] Check whether the activation code of the application software built into the cloud desktop template and the machine feature code of each physical terminal after virtualization meet the binding relationship;

[0010] If the binding relationship is satisfied, the activation state remains.

[0011] Optionally, the machine feature code includes motherboard feature information, network card feature information, hard disk feature information, and computer name information. Virtualizing the machine feature codes of multiple physical terminals into feature codes of a virtual machine terminal includes:

[0012] Obtaining a machine feature code acquisition program through a preset black and white list; the machine feature code acquisition program includes a motherboard feature information acquisition program, a network card feature information acquisition program, a hard disk feature information acquisition program, and a computer name information acquisition program;

[0013] The motherboard characteristic information acquisition program obtains the motherboard characteristic information of the plurality of physical terminals based on the obtained motherboard characteristic information, and virtualizes the motherboard characteristic information of the plurality of physical terminals into the motherboard characteristic information of the virtual machine;

[0014] The network card characteristic information acquisition program obtains the network card characteristic information of multiple physical terminals based on the acquired network card characteristic information, and virtualizes the network card characteristic information of the multiple physical terminals into the network card characteristic information of the virtual machine;

[0015] The hard disk feature information acquisition program obtains hard disk feature information of multiple physical terminals based on the acquired hard disk feature information, and virtualizes the hard disk feature information of the multiple physical terminals into hard disk feature information of the virtual machine;

[0016] The program obtains computer names of multiple physical terminals based on the obtained computer name information, and virtualizes the computer names of the multiple physical terminals into names of virtual machines.

[0017] Optionally, the procedure for obtaining the machine feature code through a preset black and white list includes:

[0018] Get the current process ID of each physical terminal;

[0019] Get the current process name according to the current process ID;

[0020] Determine whether the current process name is in the preset black and white list;

[0021] If it is located, obtain the machine signature acquisition program.

[0022] Optionally, virtualizing the motherboard feature information of multiple physical terminals into the motherboard feature information of a virtual machine includes:

[0023] Before cloud desktop templates of multiple physical terminals are started, motherboard feature information of the multiple physical terminals is virtualized based on a preset UEFI program.

[0024] Optionally, virtualizing the mainboard feature information of multiple physical terminals based on a preset UEFI program includes:

[0025] Find the physical address of the physical terminal through the BIOS table wizard in the UEFI environment;

[0026] Find the memory address of system header information, mainboard header information and system accessory information based on the physical address of the physical terminal;

[0027] Find the motherboard manufacturer, motherboard model and motherboard serial number in the table structure corresponding to the memory address;

[0028] Rewrite the manufacturer, motherboard model, and motherboard serial number into the corresponding information of the virtual machine.

[0029] Optionally, virtualizing network card feature information, hard disk feature information, and computer names of multiple physical terminals into corresponding information of a virtual machine includes:

[0030] After the cloud desktop templates of the multiple physical terminals are started, the network card feature information, hard disk feature information and computer names of the multiple physical terminals are virtualized respectively based on the preset virtual program.

[0031] Optionally, checking whether the activation code of the application software built into the cloud desktop template and the machine feature code of each virtualized physical terminal satisfy a binding relationship includes:

[0032] The running program list of the cloud desktop template sent to the physical terminal provides the machine feature code of the virtualized physical terminal;

[0033] Bind the machine feature code of the virtualized physical terminal to the activation code of the built-in application software of the cloud desktop template;

[0034] Determine whether the bound data is the same as the original bound data; the original bound data is the binding relationship when the application software is activated in the virtual machine;

[0035] If they are the same, the binding relationship is satisfied.

[0036] In a second aspect, a cloud desktop built-in application software activation system is provided, comprising:

[0037] An activation unit, used to activate the application software built into the cloud desktop template on the virtual machine side of the server, and bind the activation code of the application software with the feature code of the virtual machine side;

[0038] A sending unit, used for sending the cloud desktop template to multiple physical terminals;

[0039] A virtualization unit, configured to virtualize the machine feature codes of the plurality of physical terminals into feature codes of the virtual machine end based on the virtualization software pre-installed in the cloud desktop template;

[0040] The inspection unit is used to inspect whether the activation code of the application software built into the cloud desktop template satisfies the binding relationship with the virtualized machine code of each physical terminal. If the binding relationship is satisfied, the activation state is maintained.

[0041] In a third aspect, an electronic device is provided, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;

[0042] Memory, used to store computer programs;

[0043] The processor is used to implement any method step of the first aspect when executing the program stored in the memory.

[0044] According to a fourth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any method step of the first aspect is implemented.

[0045] The embodiment of the present invention provides a method, system and electronic device for activating built-in application software of a cloud desktop. The activation code of the built-in application software is bound and activated with the feature code of the virtual machine where the cloud desktop template is located in the cloud desktop template. The activation times are reduced. Before the cloud desktop template is sent to multiple physical terminals, the machine feature codes of multiple physical terminals are virtualized into the feature codes of the virtual machine. Thus, the built-in application software of the cloud desktop still thinks that it is in the virtual machine when it is sent to the physical terminal, so that the activation is not lost and it can be used directly, thereby improving the configuration efficiency of the cloud desktop template. After the virtualization is completed, the cloud desktop template is sent to multiple physical terminals. And further, by checking whether the activation code of the built-in application software of the cloud desktop template and the virtualized machine feature code of each physical terminal meet the binding relationship, it is verified whether the machine feature code of the physical terminal is successfully virtualized. If the binding relationship is met, it means that the virtualization is successful, and the application software can remain activated. In addition, each physical terminal is virtualized separately, and when an accident occurs in a physical terminal or program, it will not affect other physical terminals, which can avoid large-scale failures and ensure the normal operation of activities based on the cloud desktop.

[0046] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.

[0048] Figure 1 A flow chart showing a method for activating built-in application software on a cloud desktop provided by an embodiment of the present invention is shown;

[0049] Figure 2 A schematic diagram of the structure of a cloud desktop built-in application software activation system provided by an embodiment of the present invention is shown;

[0050] Figure 3 A schematic structural diagram of an electronic device provided by an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0051] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The components of the embodiments of the present invention generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the drawings is not intended to limit the scope of the claimed invention, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present invention.

[0052] The present invention provides a method for activating built-in software of a cloud desktop, which is applied to a cloud desktop template installation system. The system consists of a virtual machine and several physical machines. A cloud desktop template is created in the virtual machine, and application software built into the cloud desktop, such as teaching software, is activated. After activation, the cloud desktop template is sent to each physical machine. Through the built-in software activation method of the cloud desktop of the present application, the application software remains activated in the physical machine, thereby ensuring that each physical machine uses the same cloud desktop template to perform related activities.

[0053] The following is a detailed description of a method for activating built-in software on a cloud desktop provided by the present invention in conjunction with a specific embodiment. Figure 1 As shown, the following steps are included:

[0054] Step S101: On the virtual machine side of the server, the application software built into the cloud desktop template is activated, and the activation code of the application software is bound to the feature code of the virtual machine side.

[0055] In the embodiment of the present application, the cloud desktop template can be an education cloud desktop template or a work cloud desktop template. In one example, the application software built into the cloud desktop can be education-related software or other work-related software. First, a cloud desktop template is created in a virtual machine (also called a template machine) on the server side, and the activation code of the corresponding application software is used to activate it in the virtual machine, and the activation code is bound to the feature code of the virtual machine to form a binding relationship.

[0056] By activating the application software in the virtual machine in advance, it only needs to be activated once to enable each physical terminal to use it directly, reducing the number of activations and improving the efficiency of using cloud desktop templates.

[0057] Step S102: Send the cloud desktop template to multiple physical terminals.

[0058] In an embodiment of the present application, the cloud desktop template is a Windows system installed on a virtual machine on the cloud desktop server side. Before sending it to each physical terminal, it is first necessary to install a cloud desktop driver system in each physical terminal, and then install the cloud desktop template. After the cloud desktop template is sent to the physical terminal, the cloud desktop driver system is responsible for guiding the cloud desktop template to start, and the cloud desktop system will automatically exit after startup.

[0059] In the embodiment of the present application, the physical terminal refers to the physical machine on which the cloud desktop template is to be installed. For example, when the cloud desktop template is an education cloud desktop template, each physical terminal is a student terminal in the classroom, and the education cloud desktop template can be created in the teacher's computer, and the teacher's computer sends the education cloud desktop template to the student terminal.

[0060] Step S103: based on the virtualization software pre-installed in the cloud desktop template, virtualize the machine feature codes of the multiple physical terminals into feature codes of the virtual machine end.

[0061] In the embodiment of the present application, the machine feature code includes motherboard feature information, network card feature information, hard disk feature information and computer name information.

[0062] Virtualizing the machine signatures of multiple physical terminals into signatures of virtual machines includes the following steps:

[0063] Step S1031: obtaining a machine feature code acquisition program through a preset black and white list; the machine feature code acquisition program includes a motherboard feature information acquisition program, a network card feature information acquisition program, a hard disk feature information acquisition program and a computer name information acquisition program.

[0064] In this step, the process name of the main machine feature code is set in the preset black and white list, and the preset black and white list is used to obtain the corresponding program in all processes of the physical terminal. Only the corresponding program is modified, so as not to affect other processes of the physical terminal, thereby ensuring the stability of the physical terminal system.

[0065] In a specific embodiment, the procedure for obtaining a machine feature code through a preset blacklist and whitelist includes:

[0066] Get the current process ID of each physical terminal;

[0067] Get the current process name according to the current process ID;

[0068] Determine whether the current process name is in the preset black and white list;

[0069] If it is located, obtain the machine signature acquisition program.

[0070] Step S1032: obtaining the motherboard characteristic information of multiple physical terminals based on the obtained motherboard characteristic information acquisition program, and virtualizing the motherboard characteristic information of the multiple physical terminals into the motherboard characteristic information of the virtual machine.

[0071] In this step, the motherboard characteristic information at least includes characteristic information such as motherboard manufacturer, motherboard model and motherboard serial number.

[0072] Since a blue screen may occur easily if the motherboard information is virtualized in the operating system of the physical terminal, before the cloud desktop templates of the multiple physical terminals are started, the motherboard feature information of the multiple physical terminals is virtualized based on a preset UEFI program.

[0073] In an embodiment of the present application, virtualizing motherboard feature information of multiple physical terminals based on a preset UEFI program includes:

[0074] Find the physical address of the physical terminal through the BIOS table wizard in the UEFI environment;

[0075] Find the memory address of system header information, mainboard header information and system accessory information based on the physical address of the physical terminal;

[0076] Find the motherboard manufacturer, motherboard model and motherboard serial number in the table structure corresponding to the memory address;

[0077] Rewrite the manufacturer, motherboard model and motherboard serial number to the motherboard manufacturer, motherboard model and motherboard program of the virtual machine.

[0078] In a specific example, in the UEFI environment, EFI_PHYSICAL_ADDRESS (device physical address) is found through SmbiosTableGuid, and then the memory addresses of table structures such as SMBIOS_TYPE_BIOS_INFORMATION (BIOS header information), SMBIOS_TYPE_SYSTEM_INFORMATION (system header information), SMBIOS_TYPE_BASEBOARD_INFORMATION (motherboard header information), and SMBIOS_TYPE_SYSTEM_ENCLOSURE (system enclosure information) are found through EFI_PHYSICAL_ADDRESS, and the Manufacturer (manufacturer), Version (model), SerialNumber (serial number), and AssetTag (asset tag) in the structure are modified to the corresponding values ​​of the virtual machine. In an example, the motherboard serial number of the physical terminal is a1123, and the motherboard model is optiplex7060. After virtualization, the motherboard serial number is Qemu1111, and the motherboard model is Qemu7060.

[0079] Step S1033: obtaining the network card feature information of multiple physical terminals based on the acquired network card feature information acquisition program, and virtualizing the network card feature information of the multiple physical terminals into the network card feature information of the virtual machine.

[0080] In this step, the network card characteristic information includes the network card address, which is virtualized in the system by means of a filter driver.

[0081] In a specific example, the method for obtaining and virtualizing the network card feature information is as follows: first, open the \\Driver\\nsiproxy device in the physical terminal operating system, hook the IRP_MJ_DEVICE_CONTROL processing function through the irp hook technology, and modify the data returned by the IOCTL_NSI_GETALLPARAM (network card parameters) command inside the IRP_MJ_DEVICE_CONTROL processing function, and change the network card address data therein to the network card address of the virtual machine. In an example, the network card address of the physical terminal is 90E2FCB3650, which is 111111111111 after virtualization.

[0082] Step S1034: Based on the acquired hard disk feature information, the program obtains hard disk feature information of multiple physical terminals, and virtualizes the hard disk feature information of the multiple physical terminals into hard disk feature information of the virtual machine.

[0083] In this step, the hard disk feature information at least includes the hard disk serial number. Virtualization is performed in the system by means of filter driver.

[0084] In a specific example, the \\Driver\\disk device in the system is opened, and the IRP_MJ_DEVICE_CONTROL processing function is hooked through the irp hook technology. In the IRP_MJ_DEVICE_CONTROL processing function, the data returned by commands such as IOCTL_ATA_PASS_THROUGH (ATA hard disk serial number), SMART_GET_VERSION (hard disk size), IOCTL_DISK_GET_DRIVE_GEOMETRY (hard disk partition), and SMART_RCV_DRIVE_DATA (RCV hard disk serial number) are modified, and the serial number and other data are modified to the corresponding values ​​of the virtual machine. In an example, the physical terminal hard disk serial number is AH8086, and it is 88888 after virtualization.

[0085] Step S1035: Based on the acquired computer name information, the program obtains computer names of multiple physical terminals, and virtualizes the computer names of the multiple physical terminals into names of virtual machines.

[0086] In this step, the computer name is also virtualized by using a filter driver. In a specific example, the registry filter callback is registered through the CmRegisterCallback function. In the callback, the data returned by the RegNtPostQueryValueKey command is modified to change the computer name data to the virtual machine name. In one example, the computer name of the physical terminal is kylinPc, and after virtualization, the name is QemuPc.

[0087] Based on the above embodiment, the network card feature information, hard disk feature information and computer names of multiple physical terminals are virtualized into corresponding information of virtual machines, including:

[0088] After the cloud desktop templates of the multiple physical terminals are started, the network card feature information, hard disk feature information and computer names of the multiple physical terminals are virtualized respectively based on the preset virtual program.

[0089] The embodiment of the present application performs the virtualization of the network card, hard disk and computer name after the cloud desktop template of the physical terminal is started, rather than before it is started, so that the operating system can be entered as soon as possible. This not only speeds up the boot time, but also the operating system environment has a faster processing speed than the UEFI environment, thereby speeding up the virtualization process.

[0090] Step S104: Check whether the activation code of the application software built into the cloud desktop template and the machine feature code of each physical terminal after virtualization satisfy the binding relationship; if the binding relationship is satisfied, keep the activation state.

[0091] In the embodiment of the present application, although the machine feature codes of the physical terminals are all virtualized into the same virtual machine code, it is not certain whether the virtualization is successful. Therefore, after receiving the cloud desktop template, the physical terminal further verifies whether the activation code of the physical terminal and the application software in the cloud desktop satisfy the binding relationship to determine whether the virtualization is successful. If the binding relationship is satisfied, the virtualization is successful, and the machine feature code of the physical terminal after virtualization is the same as the feature code of the virtual machine. In this way, the application software will recognize that it is still in the virtual machine cloud desktop, thereby ensuring that the activation is not lost.

[0092] Based on the above embodiment, checking whether the activation code of the application software built into the cloud desktop template and the machine feature code of each physical terminal virtualized satisfies the binding relationship includes:

[0093] The running program list of the cloud desktop template sent down to the physical terminal provides the machine feature code of the virtualized physical terminal.

[0094] In the embodiment of the present application, the running program list is the program form based on which the cloud desktop template is run.

[0095] Bind the machine feature code of the virtualized physical terminal to the activation code of the built-in application software of the cloud desktop template.

[0096] It is determined whether the bound data is the same as the original bound data; the original bound data is the binding relationship when the application software is activated in the virtual machine.

[0097] When activating in a virtual machine, the activation code is bound to the machine code of the virtual machine. It still needs to be bound to the machine code in the physical terminal, and the binding relationship must be the same as the original binding relationship to ensure that the application software is not deactivated.

[0098] If they are the same, the binding relationship is satisfied.

[0099] The embodiment of the present application is activated by hardware activation, which is equivalent to activating once in the cloud desktop template of the virtual machine. When each physical terminal receives the cloud desktop template, it can be used directly without reactivation, and the number of physical terminals is not limited. Even if the number of physical terminals is large, batch activation can be performed, thereby avoiding the disadvantages brought about by network activation, such as virus attacks during activation, slow server response leading to activation failure or long activation time during large-scale activation, and inability to activate when the network is disconnected.

[0100] Based on the same inventive concept, a cloud desktop built-in application software activation system is provided, such as Figure 2 As shown, including:

[0101] The activation unit 201 is used to activate the application software built into the cloud desktop template on the virtual machine side of the server, and bind the activation code of the application software with the feature code of the virtual machine side.

[0102] The sending unit 202 is used to send the cloud desktop template to multiple physical terminals.

[0103] The virtualization unit 203 is used to virtualize the machine feature codes of the multiple physical terminals into feature codes of the virtual machine end based on the virtualization software pre-installed in the cloud desktop template.

[0104] In the embodiment of the present application, the machine feature code includes motherboard feature information, network card feature information, hard disk feature information and computer name information.

[0105] The virtual unit 203 is specifically used to obtain a machine feature code acquisition program through a preset black and white list; the machine feature code acquisition program includes a motherboard feature information acquisition program, a network card feature information acquisition program, a hard disk feature information acquisition program and a computer name information acquisition program.

[0106] In one embodiment, obtaining a machine feature code acquisition program through a preset black and white list includes: obtaining the current process ID of each physical terminal; obtaining the current process name according to the current process ID; determining whether the current process name is in the preset black and white list; if so, obtaining the machine feature code acquisition program.

[0107] The mainboard characteristic information acquisition program obtains mainboard characteristic information of multiple physical terminals based on the acquired mainboard characteristic information, and virtualizes the mainboard characteristic information of the multiple physical terminals into mainboard characteristic information of the virtual machine.

[0108] Among them, the motherboard characteristic information virtualization is to virtualize the motherboard characteristic information of multiple physical terminals based on a preset UEFI program before the cloud desktop templates of multiple physical terminals are started.

[0109] The virtualization steps specifically include finding the physical address of the physical terminal through the BIOS table wizard in the UEFI environment; finding the memory address of the system header information, motherboard header information and system accessory information based on the physical address of the physical terminal; finding the motherboard manufacturer, motherboard model and motherboard serial number in the table structure corresponding to the memory address; and rewriting the manufacturer, motherboard model and motherboard serial number into the corresponding information of the virtual machine.

[0110] The network card characteristic information acquisition program obtains the network card characteristic information of multiple physical terminals based on the acquired network card characteristic information, and virtualizes the network card characteristic information of the multiple physical terminals into the network card characteristic information of the virtual machine;

[0111] The hard disk feature information acquisition program obtains hard disk feature information of multiple physical terminals based on the acquired hard disk feature information, and virtualizes the hard disk feature information of the multiple physical terminals into hard disk feature information of the virtual machine;

[0112] The program obtains computer names of multiple physical terminals based on the obtained computer name information, and virtualizes the computer names of the multiple physical terminals into names of virtual machines.

[0113] In an embodiment of the present application, the virtualization of network card feature information, hard disk feature information and computer names is performed after the cloud desktop templates of multiple physical terminals are started, and the network card feature information, hard disk feature information and computer names of multiple physical terminals are virtualized separately based on a preset virtual program.

[0114] The verification unit 204 is used to verify whether the activation code of the application software built into the cloud desktop template and the virtualized machine code of each physical terminal satisfy a binding relationship. If the binding relationship is satisfied, the activation state is maintained.

[0115] Optionally, the verification unit 204 is specifically configured to provide a machine feature code of the virtualized physical terminal in a running program list of the cloud desktop template sent downward to the physical terminal;

[0116] Bind the machine feature code of the virtualized physical terminal to the activation code of the built-in application software of the cloud desktop template;

[0117] Determine whether the bound data is the same as the original bound data; the original bound data is the binding relationship when the application software is activated in the virtual machine;

[0118] If they are the same, the binding relationship is satisfied.

[0119] Based on the same technical concept, an embodiment of the present invention further provides an electronic device, such as Figure 3 As shown, it includes a processor 301 , a communication interface 302 , a memory 303 and a communication bus 304 , wherein the processor 301 , the communication interface 302 , and the memory 303 communicate with each other via the communication bus 304 .

[0120] Memory 303, used for storing computer programs;

[0121] The processor 301 is used to implement the steps of the method for activating the built-in application software of the cloud desktop when executing the program stored in the memory 303.

[0122] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0123] The communication interface is used for communication between the above electronic device and other devices.

[0124] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0125] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0126] The computer program product for the method of activating built-in application software of a cloud desktop provided in an embodiment of the present invention includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the method described in the previous method embodiment. The specific implementation can be found in the method embodiment, which will not be repeated here.

[0127] The activation system for the built-in application software of the cloud desktop provided in the embodiment of the present invention can be specific hardware on the device or software or firmware installed on the device. The system provided in the embodiment of the present invention has the same implementation principle and technical effects as the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the system embodiment, reference can be made to the corresponding contents in the aforementioned method embodiment. Technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can all refer to the corresponding processes in the aforementioned method embodiment, and will not be repeated here.

[0128] In the embodiments provided by the present invention, it should be understood that the disclosed systems and methods can be implemented in other ways. The system embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some communication interface, device or unit, which can be electrical, mechanical or other forms.

[0129] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0130] In addition, each functional unit in the embodiment provided by the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0131] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc., which can store program codes.

[0132] It should be noted that similar numbers and letters represent similar items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are only used to distinguish the description and are not to be understood as indicating or implying relative importance.

[0133] Finally, it should be noted that the above-described embodiments are only specific implementations of the present invention, which are used to illustrate the technical solutions of the present invention, rather than to limit them. The protection scope of the present invention is not limited thereto. Although the present invention is described in detail with reference to the above-mentioned embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-mentioned embodiments within the technical scope disclosed by the present invention, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention. They should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. A method for activating built-in application software of a cloud desktop, characterized in that: include: On the virtual machine side of the server, the application software built into the cloud desktop template is activated, and the activation code of the application software is bound to the feature code of the virtual machine side; Sending the cloud desktop template to multiple physical terminals; Based on the virtualization software pre-installed in the cloud desktop template, the machine feature codes of the multiple physical terminals are virtualized into feature codes of the virtual machine end; the machine feature codes include motherboard feature information and network card feature information; Machine signature virtualization includes: Obtain a machine feature code acquisition program through a preset black and white list; the machine feature code acquisition program includes a motherboard feature information acquisition program and a network card feature information acquisition program; the process name of the main machine feature code is set in the preset black and white list; The motherboard characteristic information acquisition program obtains the motherboard characteristic information of multiple physical terminals based on the obtained motherboard characteristic information, and virtualizes the motherboard characteristic information of the multiple physical terminals into the motherboard characteristic information of the virtual machine; before the cloud desktop templates of the multiple physical terminals are started, the motherboard characteristic information of the multiple physical terminals is virtualized based on a preset UEFI program; Based on the obtained network card feature information acquisition program, the network card feature information of the multiple physical terminals is obtained, and the network card feature information of the multiple physical terminals is virtualized into the network card feature information of the virtual machine; firstly, the \\Driver\\nsiproxy device in the physical terminal operating system is opened, and the IRP_MJ_DEVICE_CONTROL processing function is hooked by the irp hook technology, and the data returned by the IOCTL_NSI_GETALLPARAM command is modified inside the IRP_MJ_DEVICE_CONTROL processing function, and the network card address data therein is changed into the network card address of the virtual machine; Check whether the activation code of the application software built into the cloud desktop template and the machine feature code of each physical terminal after virtualization satisfy the binding relationship; If the binding relationship is satisfied, the activation state is maintained.

2. The method according to claim 1, characterized in that The machine feature code also includes hard disk feature information and computer name information, and virtualizing the machine feature codes of the multiple physical terminals into the feature codes of the virtual machine terminal also includes: Obtain hard disk feature information acquisition program and computer name information acquisition program through preset black and white lists; The hard disk feature information acquisition program obtains the hard disk feature information of the multiple physical terminals based on the acquired hard disk feature information, and virtualizes the hard disk feature information of the multiple physical terminals into the hard disk feature information of the virtual machine; The program obtains the computer names of the multiple physical terminals based on the obtained computer name information, and virtualizes the computer names of the multiple physical terminals into names of virtual machines.

3. The method according to claim 2, characterized in that The procedure for obtaining the machine feature code through the preset black and white lists includes: Get the current process ID of each physical terminal; Get the current process name according to the current process ID; Determine whether the current process name is in a preset blacklist or whitelist; If so, obtain the machine feature code acquisition program.

4. The method according to claim 1, characterized in that: The virtualizing the motherboard feature information of the plurality of physical terminals based on the preset UEFI program includes: Find the physical address of the physical terminal through the BIOS table wizard in the UEFI environment; Searching for memory addresses of system header information, mainboard header information, and system accessory information based on the physical address of the physical terminal; Searching for the motherboard manufacturer, motherboard model and motherboard serial number in the table structure corresponding to the memory address; The manufacturer, motherboard model and motherboard serial number are rewritten into corresponding information of the virtual machine.

5. The method according to claim 2, characterized in that: Virtualizing the network card feature information, hard disk feature information, and computer names of the multiple physical terminals into corresponding information of the virtual machines includes: After the cloud desktop templates of the multiple physical terminals are started, the network card feature information, hard disk feature information and computer names of the multiple physical terminals are virtualized respectively based on a preset virtual program.

6. The method according to claim 1, characterized in that The checking whether the activation code of the application software built into the cloud desktop template satisfies the binding relationship with the machine feature code after virtualization of each physical terminal includes: The list of running programs in the cloud desktop template sent to the physical terminal provides the machine feature code of the virtualized physical terminal; Binding the virtualized machine feature code of the physical terminal to the activation code of the built-in application software of the cloud desktop template; Determine whether the bound data is the same as the original bound data; the original bound data is the binding relationship when the application software is activated in the virtual machine; If they are the same, the binding relationship is satisfied.

7. A cloud desktop built-in application software activation system, characterized in that: include: An activation unit, used to activate the application software built into the cloud desktop template on the virtual machine side of the server, and bind the activation code of the application software with the feature code of the virtual machine side; A sending unit, used for sending the cloud desktop template to multiple physical terminals; A virtualization unit is used to virtualize the machine feature codes of the multiple physical terminals into feature codes of the virtual machine end based on the virtualization software pre-installed in the cloud desktop template; the machine feature code includes motherboard feature information and network card feature information; the virtualization unit is specifically used to: Obtain a machine feature code acquisition program through a preset black and white list; the machine feature code acquisition program includes a motherboard feature information acquisition program and a network card feature information acquisition program; the process name of the main machine feature code is set in the preset black and white list; Obtaining motherboard feature information of multiple physical terminals based on the motherboard feature information acquisition program, and virtualizing the motherboard feature information of the multiple physical terminals into motherboard feature information of a virtual machine; Before the cloud desktop templates of the multiple physical terminals are started, virtualizing the motherboard feature information of the multiple physical terminals based on a preset UEFI program; Based on the obtained network card feature information acquisition program, the network card feature information of the multiple physical terminals is obtained, and the network card feature information of the multiple physical terminals is virtualized into the network card feature information of the virtual machine; firstly, the \\Driver\\nsiproxy device in the physical terminal operating system is opened, and the IRP_MJ_DEVICE_CONTROL processing function is hooked by the irp hook technology, and the data returned by the IOCTL_NSI_GETALLPARAM command is modified inside the IRP_MJ_DEVICE_CONTROL processing function, and the network card address data therein is changed into the network card address of the virtual machine; The checking unit is used to check whether the activation code of the application software built into the cloud desktop template satisfies the binding relationship with the virtualized machine code of each physical terminal. If the binding relationship is satisfied, the activation state is maintained.

8. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, for implementing the method steps described in any one of claims 1 to 7 when executing a program stored in a memory.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps described in any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Online authorization authentication method and device for virtual machine operating system and storage medium

    CN112751832A

  • Method and System for Fast Provisioning of Virtual Desktop

    US20150058837A1