WO2016095383A1 - Method for implementing application call and virtual machine - Google Patents

Method for implementing application call and virtual machine Download PDF

Info

Publication number
WO2016095383A1
WO2016095383A1 PCT/CN2015/076794 CN2015076794W WO2016095383A1 WO 2016095383 A1 WO2016095383 A1 WO 2016095383A1 CN 2015076794 W CN2015076794 W CN 2015076794W WO 2016095383 A1 WO2016095383 A1 WO 2016095383A1
Authority
WO
WIPO (PCT)
Prior art keywords
shortcut icon
desktop
terminal
application
virtual
Prior art date
Application number
PCT/CN2015/076794
Other languages
French (fr)
Chinese (zh)
Inventor
刘大宇
钟卫东
张华强
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016095383A1 publication Critical patent/WO2016095383A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Definitions

  • This paper deals with the technology of implementing application calls, especially a method and virtual machine for implementing application calls between a terminal desktop and a virtual desktop.
  • VDI Virtual Desktop Infrastructure
  • the essence of VDI is one. It is also understood that the server-based client/server computing mode separates the personal computer environment from the physical device and stores all the data in a centralized large-scale storage device in the data center. It is a technology that supports enterprise-level remote dynamic access to desktop systems and unified hosting of data centers.
  • the goal of VDI is to access any personal desktop system on the Internet from any location, at any time, through any terminal electronic device.
  • the typical architecture of a virtual desktop system is generally a large virtual machine cluster in the background remote end. Each user needs a virtual machine to serve it; all terminal devices are finally connected to a gateway relay device through the Internet. And then distribute the virtual machine to the user.
  • VDI brings two advantages: On the one hand, administrators can deploy, host, and manage all desktop virtual machines in the Internet data center to reduce operation and maintenance costs; on the other hand, terminals that use electronic devices. Users can access virtual desktops over the network, gaining a similar experience to a complete physical PC (PC) desktop, reducing the physical hardware cost of the client.
  • PC physical PC
  • VDI the key technology used by VDI is the Desktop Transfer Protocol (also known as Network Display Protocol) and its implementation.
  • Host Rendering that is, all graphic image processing work of the virtual machine desktop is completed on the remote server, and only pixel information is sent to the user terminal.
  • the user terminal does not need to perform a large number of operations, and eliminates the client design that requires high CPU and memory resources, and keeps the client structure simple.
  • this processing method requires a large amount of network bandwidth.
  • client rendering that is, the client has a certain computing power, and undertakes part of the desktop graphics image computing As a result, desktop data can be compressed and transmitted to save network bandwidth.
  • FIG 1 is a block diagram of the virtualization architecture and components of the related technology X86 architecture server host.
  • the hypervisor virtualization engine also known as the virtual machine monitor/manager (VMM, Virtual Machine Monitor)
  • VMM virtual Machine Monitor
  • Each virtual machine is similar to a physical PC, completely independent and isolated from each other.
  • GuestOS operating systems
  • Hypervisor virtualization engine is an intermediate software layer running between the underlying physical server and the operating system, allowing multiple operating systems and their The application shares the hardware.
  • Hypervisor is a "meta" operating system in a virtual computing environment that can access all physical device resources including CPU processor, memory, disk, and network card on the server host. Hypervisor not only can schedule and coordinate the access and allocation of these hardware resources, but also can isolate and protect each virtual machine at the same time. When the server starts and runs the hypervisor, each virtual machine can be allocated the right amount of CPU, memory, network and disk resources, and the virtual machine's GuestOS is loaded.
  • Hypervisor is the core of all virtualization technologies. It manages the life cycle of virtual machines through Hypervisor.
  • one of its basic capabilities is to support non-disruptive online migration of virtual machines, so that virtual machines can be migrated from one host to another.
  • the end user does not have any awareness during the process of using the virtual machine, and will not cause application or service interruption in the virtual machine.
  • X86 virtualization hypervisors on the market today include: virtual machines run directly on the system hardware, and hypervisors create instances of full hardware emulation, known as bare models. Or, the virtual machine runs on a traditional operating system, and the same hardware-simulated instance is created, which is called a hosted or hosted type. Alternatively, the virtual machine runs on a traditional operating system and creates a separate virtualized instance (container) that points to the underlying managed operating system and is referred to as "operating system virtualization.” The most common one is still the bare-machine hypervisor. The virtualization kernel is installed directly on the hardware computing resources. The virtual machine and its GuestOS are installed and run on top of the hypervisor.
  • the feature is that the hardware and software architecture and management are more efficient and flexible, and the performance of the hardware can be better utilized, thereby improving the utilization of computing resources, storage resources, and network resources on the physical server, and reducing operating costs.
  • Industry Major vendors and products include Red Hat RedHat's RHEV, Citrix's XenServer, VMware's vSphere, Microsoft's Hyper-V, IBM's PowerVM, open source Xen, KVM, VirtualBox and other cores. Server virtualization product.
  • the virtual desktop technology is the desktop of the virtual machine operating system created and managed by the hypervisor, and is extended to the user's terminal local system for display, and the audio and video of the virtual machine is also redirected to the terminal output, and the end user's mouse is used.
  • Human keyboard input operations such as keyboards, audio and video input operations such as recording and video recording, redirected to the virtual machine, and then presented and presented through the desktop of the virtual machine.
  • a virtual desktop client program installed on a user terminal can access the enterprise hypervisor virtual.
  • the Hypervisor server host creates and manages virtual machines for device emulation of virtual machines.
  • components such as virtual desktop agents, target stubs, and other drivers are deployed to enable message interaction and communication between the virtual desktop and the client program.
  • Virtual desktop technology provides end users with the means and methods to operate, use, and maintain virtual machine operating systems (OS), desktop systems, and installed applications on them, to achieve the same user experience and use as physical PC desktops. effect.
  • Major vendors on the market today including Open Source Virtual Network Computer (VNC) products, ZTE's VPlat products based on Remote Access Protocol (RAP); Red Hat RedHat's Simple Protocol based on Independent Computing Environment (SPICE) Technology RHEV products, Citrix's XenDesktop and XenApp products based on High Definition eXperience (HDX) and Independent Computing Architecture (ICA) technology, VMware's PCoIP-based View products, Microsoft's RDP-based and RemoteFX Technology virtual desktop products, etc.
  • VNC Open Source Virtual Network Computer
  • RAP Remote Access Protocol
  • SPICE Red Hat RedHat's Simple Protocol based on Independent Computing Environment
  • HDX High Definition eXperience
  • ICA Independent Computing Architecture
  • the guest OS in the virtual machine and the local terminal operating system of the user are independent, and various applications required by the user are deployed.
  • the guest OS of the virtual desktop and start running this is the usage scenario and mode of most users of the virtual desktop
  • it is deployed in the terminal local system and starts running.
  • An application originally installed in the terminal can not directly launch an application locally installed in the guest OS of the virtual desktop from the terminal.
  • the terminal operating system refers to an operating system installed and operated by the user on terminals of various electronic devices (such as smart phones, smart pads, thin clients, laptops, PCs, etc.), such as Android, iOS, Windows series, and Linux.
  • the calling method of such an application is to first install such an application locally on the user terminal, and when needed, it is necessary to repeatedly switch between the virtual desktop and the local desktop of the terminal to implement the call to the application. This greatly reduces the ease of use of the desktop and greatly reduces the user experience.
  • the present invention provides a method and a virtual machine for implementing an application call, which can quickly start an application installed locally on a terminal from a virtual desktop, and does not need to repeatedly switch between the virtual desktop and the local desktop of the terminal, thereby Greatly improve the ease of use of the desktop.
  • the embodiment of the invention further discloses a method for implementing an application call, which is used for a virtual desktop client, and includes:
  • the virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
  • the virtual desktop client program obtains the dragged shortcut according to the obtained file name
  • the attribute information of the icon wherein the attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon;
  • the virtual desktop client program sends a notification message to the virtual machine, where the attribute information is carried in the notification message.
  • the method further includes ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
  • the embodiment of the invention further discloses a method for implementing an application call, which is used on the virtual machine side, and includes:
  • the virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal;
  • the application corresponding to the shortcut icon installed on the terminal is run.
  • the method before the step of acquiring the attribute information of the specified shortcut icon by the virtual machine, the method further includes:
  • the step of the virtual machine acquiring the attribute information of the specified shortcut icon includes:
  • the virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
  • the virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
  • the virtual desktop client program sends a notification message to the inside of the virtual machine, and the attribute information is carried in the notification message.
  • the method further includes: if the virtual desktop client program determines that the mouse is not dragged Drag to the virtual desktop window area to end the process.
  • the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
  • the desktop agent deployed in the virtual machine After receiving the notification message from the virtual desktop client program, the desktop agent deployed in the virtual machine saves the attribute information carried in the notification message;
  • the desktop agent creates a shortcut icon on the virtual desktop of the virtual machine, and the name of the shortcut icon is the same as the name of the shortcut on the desktop of the terminal, and correspondingly saves and corresponds to the dragged shortcut icon.
  • the file name and actual path of the application stored locally in the terminal;
  • the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
  • the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
  • the step of running the application corresponding to the shortcut icon and installed on the terminal includes:
  • the target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent. ;
  • the desktop agent After receiving the startup notification message, the desktop agent sends a notification message carrying the file name and path to a desktop client program deployed on the user terminal through a transmission channel of the virtual desktop protocol;
  • the desktop client program of the terminal is based on the parameter information carried in the notification message. Specify the application file name and path to start the application running the terminal local.
  • the method further comprises: hiding, or minimizing, or embedding, or merging the desktop client program into its own virtual desktop window.
  • the embodiment of the invention further discloses a virtual machine, comprising the obtaining module, the creating module, and the calling module as described above; wherein
  • the obtaining module is configured to: obtain attribute information of the specified shortcut icon on the local desktop of the terminal;
  • the creating module is configured to: create, on the virtual desktop, a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
  • the calling module is configured to: when receiving an instruction to trigger a shortcut icon on the virtual desktop, run an application corresponding to the shortcut icon installed locally in the terminal.
  • the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon according to the following manner: after receiving the notification message from the virtual desktop client program, save the notification An attribute information carried in the message, where the attribute information includes a file name, a path, and icon information of the target application corresponding to the specified shortcut icon; and then, a shortcut icon is created on the virtual desktop, and the name of the shortcut icon And the name of the designated shortcut icon on the desktop of the terminal is the same, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon; the shortcut established on the virtual desktop
  • the mode icon is associated with the specified target stub.
  • the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon as follows:
  • the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
  • the calling module is configured to run an application corresponding to the shortcut icon installed on the terminal in the following manner: receiving an instruction to trigger a shortcut icon on the virtual desktop And running the target stub program associated with the shortcut icon; notifying the target stub program to first obtain the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and obtaining the file name and path
  • the parameter information is carried in the startup notification message; after receiving the file name of the terminal application and the startup notification message of the path corresponding to the shortcut icon sent by the target stub program, the information is transmitted to the user terminal through the transmission channel of the virtual desktop protocol.
  • the local desktop client sends a notification message carrying the file name and the path, so that the local desktop client program starts the application running the terminal locally according to the application file name and path specified in the parameter information carried in the notification message. program.
  • the embodiment of the invention further discloses a virtual desktop client, comprising the judging module and the processing module as described above;
  • the determining module is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module;
  • the processing module is configured to: receive a notification from the determining module, and obtain a file name corresponding to the dragged shortcut icon; and obtain attribute information of the dragged shortcut icon according to the obtained file name, where The attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon.
  • the notification message is sent to the virtual machine, and the attribute information of the obtained shortcut icon is carried in the notification message.
  • the embodiment of the invention further discloses a computer program, comprising program instructions, when the program instruction is executed by the virtual machine, the virtual machine can execute the method of implementing the application call on any of the virtual machine sides.
  • the embodiment of the invention also discloses a carrier carrying the computer program.
  • the embodiment of the invention further discloses a computer program, including program instructions, when the program instruction is executed by the virtual desktop client, the virtual desktop client can execute any method of implementing the application call on the virtual desktop client side. .
  • the embodiment of the invention also discloses a carrier carrying the computer program.
  • the technical solution of the present application includes the virtual machine acquiring the attribute information of the specified shortcut icon; the virtual machine creates a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop on the virtual desktop; when triggered When the shortcut icon on the virtual desktop is run, the shortcut icon is displayed corresponding to the application installed locally on the terminal.
  • the method of the invention solves the problems and disadvantages that the virtual desktop application and the terminal local application are completely isolated and cannot be conveniently and quickly launched in the related art, and provides a quick connection of the application shortcut soft link between the virtual desktop and the end user local.
  • the technical solution achieves the purpose of directly starting the terminal local application in the virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop, thereby greatly improving the ease of use and convenience of the desktop user, further Increased automation of virtual desktops in terms of operation and use.
  • FIG. 1 is a block diagram of a virtualization architecture and components of a related art X86 architecture server host;
  • FIG. 2 is a block diagram showing the architecture and components of a related art virtual desktop
  • FIG. 3 is a flowchart of a method for implementing an application call according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of processing a virtual desktop client program of a user terminal in an embodiment of a method for implementing an application according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a desktop agent processing process of a virtual machine in an embodiment of a method for implementing an application according to an embodiment of the present invention
  • FIG. 6 is a flowchart of starting a local application from a remote virtual desktop in an embodiment of a method for implementing an application according to an embodiment of the present invention
  • FIG. 7 is a schematic flowchart diagram of an embodiment of a method for implementing an application call according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of dragging a shortcut icon from a desktop of a local terminal to a virtual desktop according to an embodiment of the present invention
  • FIG. 9 is a schematic structural diagram of a device for implementing an application call according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a virtual desktop client according to an embodiment of the present invention.
  • the dragging refers to a method of dragging by a trigger mode such as a mouse or a touch screen, and moving between different windows of different programs, between different windows of the same program, and between different controls of the same program in the same window.
  • Techniques for copying and pasting operations The drag operation is done with the help of the operating system.
  • the object being dragged first registers the data format it uses with the operating system and provides the data in the specified data format.
  • the program window of the dragged object is received, the relevant data is extracted according to the specified data format, and the corresponding object is generated according to the extracted data.
  • the shortcut icon for dragging an application between the terminal desktop and the virtual desktop in the embodiment of the present invention is based on a mouse drag mechanism supported by the operating system.
  • the core idea of the embodiment of the present invention is to detect the user dragging and dropping on the desktop of the terminal system by using the mouse drag mechanism supported by the operating system and the desktop client deployed on the user terminal (the program component for accessing the desktop of the remote virtual machine).
  • the operation of the shortcut icon when the shortcut icon is dragged into the virtual desktop, the virtual desktop client program serves as a program window for receiving the dragged shortcut icon, through the virtual desktop protocol transmission channel, or socket (Socket)
  • the method further sends the related attribute information of the extracted shortcut icon to the desktop agent in the virtual machine, and the desktop agent also creates a shortcut icon of the application corresponding to the dragged shortcut icon in the virtual desktop, and establishes the shortcut.
  • the association between the mode icon and the target stub program enables a terminal-local application to be called from the remote virtual desktop (cloud desktop).
  • the technical solution provided by the embodiment of the present invention allows a user to directly drag a shortcut icon of an application on a desktop of a terminal, such as a mouse or a touch screen, onto a virtual desktop of the virtual machine to establish a shortcut on the virtual desktop.
  • the link relationship between the mode and the terminal application thus quickly launching the application running the terminal directly from the cloud desktop.
  • the technical solution provided by the embodiment of the present invention realizes the requirement that a certain terminal application can be quickly run from a virtual desktop (cloud desktop), and does not need to repeatedly switch between the virtual desktop and the local desktop of the terminal, thereby greatly Improved desktop usability.
  • FIG. 3 is a flowchart of a method for implementing an application call according to an embodiment of the present invention. As shown in FIG. 3, the method includes:
  • Step 300 The virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal.
  • FIG. 4 is a flowchart of processing a virtual desktop client program of the user terminal in the embodiment of the method for implementing an application according to an embodiment of the present invention. As shown in FIG. 4, the method includes steps 400-405:
  • Step 400 Initialize and map the mouse dragging message processing function of the Windows, and implement the conventional technical means that are known to those skilled in the art, and details are not described herein again.
  • Step 401 to step 402 the virtual desktop client program performs tracking and detection by using a mouse dragging message processing function of Windows, and determines whether the mouse drag operation is released in the client area of the virtual desktop window, and if yes, proceeds to step 403; otherwise, End.
  • Step 403 If the mouse is dragged into the virtual desktop window area, and the drag operation is ended to release the mouse button, it is determined that the user performs the operation of dragging the shortcut icon from the terminal desktop to the virtual desktop, and the virtual desktop client program obtains the dragged The file name corresponding to the shortcut icon,
  • Step 404 Call a component object model (COM) interface provided by the Windows system, and obtain attribute information of the shortcut icon according to the file name corresponding to the shortcut.
  • the attribute information includes at least information such as a file name, a path, and an icon of the target application corresponding to the shortcut icon.
  • Step 405 The virtual desktop client program sends a notification message to the inside of the virtual machine, and carries the attribute information of the obtained shortcut icon.
  • a shortcut icon can be created directly in the virtual machine, and then the corresponding relationship between the created shortcut icon and the terminal-designated shortcut icon can be manually created.
  • the mouse drag operation is not released in the window area of the virtual desktop, and the virtual desktop client program does not perform any processing, ending the tracking and detecting of the mouse drag event. .
  • the virtual desktop client program refers to a program component that is installed, deployed, and runs on the user electronic device terminal for accessing the remote virtual machine and the virtual desktop, and is generally presented as a window application.
  • Step 301 The virtual machine creates, on its virtual desktop, a shortcut icon of the virtual desktop corresponding to the specified shortcut icon.
  • FIG. 5 is a flowchart of a desktop agent processing process of a virtual machine in an embodiment of a method for implementing an application according to an embodiment of the present invention. As shown in FIG. 5, step 301 specifically includes the following steps 500-503:
  • Steps 500 to 501 The desktop agent deployed in the virtual machine runs in the background service mode, and after receiving the notification message from the virtual desktop client program, saves the attribute information carried in the virtual device, such as the shortcut name and the corresponding installation.
  • Step 502 The desktop agent calls the component object model provided by the Windows system. (COM) interface, creating a shortcut icon on the desktop of the virtual machine.
  • the name of the shortcut icon is the same as the name of the shortcut on the terminal desktop.
  • the shortcut icon can use the remote application icon provided by the Windows system, and correspondingly store the application stored in the terminal corresponding to the dragged shortcut icon.
  • Step 503 Associate the shortcut icon created on the virtual desktop to the specified target stub program.
  • target stub program and the desktop agent are pre-deployed inside the virtual machine and run as a Windows background service.
  • the shortcut icon can use the remote application icon provided by the Windows system.
  • the desktop agent can also create the virtual desktop by acquiring the icon file or icon data of the terminal application of the terminal desktop.
  • the shortcut uses a shortcut icon that is identical to the shortcut icon for the terminal application, further enhancing the user experience and ease of use.
  • a desktop agent is a background server that is installed, deployed, and run in a virtual machine for processes such as message interaction processing, object creation, and association.
  • the target stub program is similar to the desktop agent. It is also a background service program installed and running inside the virtual machine to complete the function of receiving, encapsulating and forwarding messages.
  • Step 302 When the virtual machine receives the shortcut icon command on the virtual desktop, the virtual machine corresponding to the shortcut icon is installed and installed in the terminal.
  • FIG. 6 is a flowchart of starting a local application from a remote virtual desktop in an embodiment of a method for implementing an application according to an embodiment of the present invention. As shown in FIG. 6, step 302 specifically includes the following steps 600-604:
  • Step 600 When the user double-clicks the shortcut icon corresponding to the application corresponding to the dragged shortcut icon from the virtual desktop, it indicates that the associated target stub program is triggered to run.
  • Step 601 The target stub program first obtains the file name and path of the corresponding terminal application saved in the shortcut icon, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent, and the terminal is desired to be started. application.
  • Step 602 After receiving the startup notification message, the desktop agent sends a notification message to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol, and carries the above message. Parameter information.
  • Step 603 The desktop client program of the terminal starts the application running the terminal locally through the Win32 API interface of the related technology according to the application file name and path specified in the parameter information carried in the notification message.
  • the method further includes a step 604: the desktop client program hides or minimizes the virtual desktop window of the terminal, so that the window or interface of the application local to the terminal can run on the virtual desktop window (or implement embedding of the parent and child windows). , fusion), to avoid being covered or occluded by the virtual desktop window, enhancing the ease of use.
  • the desktop client program hides or minimizes the virtual desktop window of the terminal, so that the window or interface of the application local to the terminal can run on the virtual desktop window (or implement embedding of the parent and child windows). , fusion), to avoid being covered or occluded by the virtual desktop window, enhancing the ease of use.
  • the method of the embodiment of the present invention solves the problems and disadvantages that the virtual desktop application and the terminal local application existing in the related art are completely isolated and cannot be conveniently and quickly started, and is provided between the virtual desktop and the end user local.
  • FIG. 7 is a schematic flowchart of an embodiment of a method for implementing an application call according to an embodiment of the present invention.
  • a hardware part is assumed to be composed of an X86 server host, a user terminal, such as a thin client, a PC, or a notebook computer.
  • a shortcut icon from the system desktop of the local terminal and places it in the virtual desktop (the desktop of the remote virtual machine), as shown in FIG. 7, it includes:
  • Step 700 Add a function of supporting mouse dragging on the virtual desktop client program provided by the related technology virtual desktop, such as VDClient.exe, including: calling the Win32 API function DragAcceptFiles when the virtual desktop client program window is created or initialized. Or, through the Accept Files property of the Windows Integrated Development Environment Settings window, the virtual desktop client program window allows the operation of dragging files. Maps the Windows message WM_DROPFILES to handle mouse drag events in the message handler OnDropFiles.
  • Step 701 Call the Win32 API function GetClientRect to obtain the coordinates of the virtual desktop window client area, and then call the ClientToScreen function to convert the coordinates of the obtained virtual desktop client area to The screen coordinate system; the Win32 API function DragQueryPoint is used to obtain the position coordinates of the pointer when the drag operation ends and the mouse is released, thereby determining whether the dragged shortcut icon falls within the rectangular area of the window of the virtual desktop client program.
  • Step 702 If it is detected that the drag and drop is completed, the mouse is released, and the dragged shortcut icon falls within the rectangular area of the desktop client window, in the OnDropFiles message processing function, the Win32 API function DragQueryFile is called to obtain the shortcut of being dragged and dropped.
  • the file name and path of the mode are saved; then, by referring to the IWshRuntimeLibrary function of the COM component, the WshShell and IWshShortcut objects are created, and various properties of the shortcut are obtained, including the installation path and file name of the target application corresponding to the shortcut in the terminal. .
  • the DragFinish function is directly called to release the memory allocated by the system and the end is can.
  • Step 703 Send the information corresponding to the dragged shortcut icon, the path of the terminal target application, and the file name to the desktop agent in the virtual machine through the transmission channel and the VDI interface of the virtual desktop protocol, and notify the desktop agent.
  • the program also creates a corresponding shortcut on the virtual machine desktop.
  • Step 705 On the basis of the desktop agent provided by the related technology virtual desktop, such as VDAgent.exe, adding a message processing function, creating a desktop shortcut and associating the target stub program: according to the VDI interface specification of the virtual desktop protocol transmission channel, receiving from The virtual desktop client program message is processed and saved, the name of the received shortcut icon, and the corresponding terminal object application path and file name and other message data are saved; by referring to the COM component IWshRuntimeLibrary, the operation object WshShell is declared, and the CreateShortcut method is called.
  • the desktop agent provided by the related technology virtual desktop, such as VDAgent.exe, adding a message processing function, creating a desktop shortcut and associating the target stub program: according to the VDI interface specification of the virtual desktop protocol transmission channel, receiving from The virtual desktop client program message is processed and saved, the name of the received shortcut icon, and the corresponding terminal object application path and file name and other message data are saved; by referring to the COM component IWs
  • Step 706 When the user double-clicks the dragged shortcut icon in the virtual desktop, the terminal corresponding application is started from the desktop of the remote virtual machine.
  • Step 707 The target stub program is deployed in the virtual machine, in the manner of a Windows background service. run.
  • the target stub program calls PostMessage to notify the desktop agent, and carries the path and file name information of the terminal local application corresponding to the shortcut icon to inform that the local application of the terminal needs to be started.
  • Step 708 to step 709 the desktop agent program: according to the VDI interface specification, carries the path and file name information of the terminal local application corresponding to the shortcut icon, and notifies the client program to start a local terminal. application.
  • Step 710 The desktop client window program uses a ShellExecute or CreateProcess method to finally start an application running on the local terminal according to the path and file name of the terminal local application corresponding to the shortcut icon.
  • Step 711 The desktop client window program, calling ShowWindow, hiding its own desktop window (SW_HIDE) or minimizing (SW_MINIMIZE), or implementing embedding and fusion of the parent and child windows, avoiding occlusion or overwriting to the terminal local application runtime popping up Window or interface.
  • SW_HIDE hiding its own desktop window
  • SW_MINIMIZE minimizing
  • FIG. 9 is a schematic structural diagram of a virtual machine according to the present invention. As shown in FIG. 9, the method includes: an obtaining module 901, a creating module 902, and a calling module 903;
  • the obtaining module 901 is configured to: obtain the specified attribute information of the shortcut icon that is dragged;
  • the creating module 902 is configured to: create, on the virtual desktop, a shortcut icon of the application in the virtual desktop corresponding to the specified shortcut icon;
  • the calling module 903 is configured to: when receiving the shortcut icon command on the trigger virtual desktop, run the application installed in the terminal corresponding to the shortcut icon.
  • the creating module 902 is specifically configured to: after receiving the notification message, the desktop agent saves the attribute information carried therein; the desktop agent creates a shortcut icon on the virtual desktop, the shortcut The name of the mode icon is the same as the name of the shortcut on the terminal desktop, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon; the shortcut icon created on the virtual desktop Link to the specified target stub program.
  • the calling module 903 is specifically configured to: when the user double-clicks the shortcut icon corresponding to the application corresponding to the specified shortcut icon, the target stub program acquires the corresponding terminal application saved in the shortcut icon.
  • the file name and path are carried as parameter information in the startup notification message and sent to the desktop agent; the desktop agent receives the startup notification message and deploys to the local desktop deployed on the user terminal through the transmission channel of the virtual desktop protocol.
  • the client program sends a notification message carrying the parameter information; the desktop client program of the terminal starts the application running the terminal through the Win32 API interface of the related technology according to the application file name and path specified in the parameter information carried in the notification message. program.
  • FIG. 10 is a schematic structural diagram of a virtual desktop client according to an embodiment of the present invention. As shown in FIG. 10, the method includes at least a determining module 1001 and a processing module 1002.
  • the determining module 1001 is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module 1002;
  • the processing module 1002 is configured to: receive a notification, obtain a file name corresponding to the dragged shortcut icon, and obtain attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes the The dragged shortcut icon corresponds to the file name, path, and icon information of the target application; sends a notification message to the virtual machine, and carries the attribute information of the obtained shortcut icon.
  • the embodiment of the invention further discloses a method for implementing an application call, which is used for a virtual desktop client, and includes:
  • the virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
  • the virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
  • the virtual desktop client program sends a notification message to the virtual machine, where the attribute information is carried in the notification message.
  • the method further includes ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
  • the embodiment of the invention further discloses a method for implementing an application call, which is used on the virtual machine side, and includes:
  • the virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal;
  • the application corresponding to the shortcut icon installed on the terminal is run.
  • the method before the step of acquiring the attribute information of the specified shortcut icon by the virtual machine, the method further includes:
  • the step of the virtual machine acquiring the attribute information of the specified shortcut icon includes:
  • the virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
  • the virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
  • the virtual desktop client program sends a notification message to the inside of the virtual machine, and the notification is cancelled.
  • the attribute information is carried in the interest.
  • the method further includes ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
  • the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
  • the desktop agent deployed in the virtual machine After receiving the notification message from the virtual desktop client program, the desktop agent deployed in the virtual machine saves the attribute information carried in the notification message;
  • the desktop agent creates a shortcut icon on the virtual desktop of the virtual machine, and the name of the shortcut icon is the same as the name of the shortcut on the desktop of the terminal, and correspondingly saves and corresponds to the dragged shortcut icon.
  • the file name and actual path of the application stored locally in the terminal;
  • the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
  • the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
  • the step of running the application corresponding to the shortcut icon and installed on the terminal includes:
  • the target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent. ;
  • the desktop agent After receiving the startup notification message, the desktop agent sends the file name and path to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol. Notification message of the trail;
  • the desktop client program of the terminal starts the application running locally on the terminal according to the application file name and path specified in the parameter information carried in the notification message.
  • the method further comprises: hiding, or minimizing, or embedding, or merging the desktop client program into its own virtual desktop window.
  • the embodiment of the invention further discloses a virtual machine, comprising the obtaining module, the creating module, and the calling module as described above; wherein
  • the obtaining module is configured to: obtain attribute information of the specified shortcut icon on the local desktop of the terminal;
  • the creating module is configured to: create, on the virtual desktop, a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
  • the calling module is configured to: when receiving an instruction to trigger a shortcut icon on the virtual desktop, run an application corresponding to the shortcut icon installed locally in the terminal.
  • the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon according to the following manner: after receiving the notification message from the virtual desktop client program, save the notification An attribute information carried in the message, where the attribute information includes a file name, a path, and icon information of the target application corresponding to the specified shortcut icon; and then, a shortcut icon is created on the virtual desktop, and the name of the shortcut icon And the name of the designated shortcut icon on the desktop of the terminal is the same, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon; the shortcut established on the virtual desktop
  • the mode icon is associated with the specified target stub.
  • the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon as follows:
  • the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
  • the calling module is configured to run an application corresponding to the shortcut icon installed in the terminal according to the following manner: when receiving an instruction to trigger a shortcut icon on the virtual desktop, running the icon with the shortcut icon
  • the associated target stub program is notified that the target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message.
  • the file name of the terminal application and the start notification message of the path corresponding to the shortcut icon sent by the target stub program are sent to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol.
  • the notification message of the file name and the path causes the desktop client program of the terminal to start the application running the terminal local according to the application file name and path specified in the parameter information carried in the notification message.
  • the embodiment of the invention further discloses a virtual desktop client, comprising the judging module and the processing module as described above;
  • the determining module is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module;
  • the processing module is configured to: receive a notification from the determining module, and obtain a file name corresponding to the dragged shortcut icon; and obtain attribute information of the dragged shortcut icon according to the obtained file name, where The attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon.
  • the notification message is sent to the virtual machine, and the attribute information of the obtained shortcut icon is carried in the notification message.
  • the embodiment of the invention further discloses a computer program, comprising program instructions, when the program instruction is executed by the virtual machine, the virtual machine can execute the method of implementing the application call on any of the virtual machine sides.
  • the embodiment of the invention also discloses a carrier carrying the computer program.
  • the embodiment of the invention further discloses a computer program, comprising program instructions, when the program instruction is executed by the virtual desktop client, enabling the virtual desktop client to execute any of the above virtual tables.
  • the embodiment of the invention also discloses a carrier carrying the computer program.
  • the technical solution of the present application includes the virtual machine acquiring the attribute information of the specified shortcut icon; the virtual machine creates a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop on the virtual desktop; when triggered When the shortcut icon on the virtual desktop is run, the shortcut icon is displayed corresponding to the application installed locally on the terminal.
  • the method of the invention solves the problems and disadvantages that the virtual desktop application and the terminal local application are completely isolated and cannot be conveniently and quickly launched in the related art, and provides a quick connection of the application shortcut soft link between the virtual desktop and the end user local.
  • the technical solution achieves the purpose of directly starting the terminal local application in the virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop, thereby greatly improving the ease of use and convenience of the desktop user, further Increased automation of virtual desktops in terms of operation and use. Therefore, the present invention has strong industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A method for implementing an application call and a virtual machine. The method comprises: a virtual machine acquiring information about attributes of a specified shortcut icon; the virtual machine creating a shortcut icon of an application corresponding to the specified shortcut icon on a virtual desktop; and when the virtual machine receives an instruction for triggering the shortcut icon on the virtual desktop, running a local application which corresponds to the shortcut icon and is installed on a terminal. The method of the technical solution of the present invention provides a technical solution for rapidly establishing an application program shortcut soft link between the virtual desktop and a local terminal user, so that the purpose of directly starting a local application program of the terminal in the virtual desktop is achieved, and repeated switching between the virtual desktop and a local desktop of the terminal is not needed, thereby greatly improving the usability and convenience of desktop users, and further improving the automation level of the virtual desktop in the aspects of operation and use.

Description

一种实现应用调用的方法及虚拟机Method and virtual machine for implementing application call 技术领域Technical field
本文涉及实现应用调用的技术,尤指一种在终端桌面与虚拟桌面间,实现应用调用的方法及虚拟机。This paper deals with the technology of implementing application calls, especially a method and virtual machine for implementing application calls between a terminal desktop and a virtual desktop.
背景技术Background technique
随着互联网、云计算和虚拟化技术的发展,在虚拟桌面技术领域也取得了长足的进步,产生了桌面虚拟化即虚拟桌面基础架构(VDI,Virtual Desktop Infrastructure)的概念,VDI的实质是一种将个人计算机环境从物理设施上分离出来、基于服务器的客户端/服务端(Client/Server)计算模式,将所有的数据都存放在数据中心内的集中式大型存储设备中,也可以理解为是一种支持企业级实现桌面系统远程动态访问与数据中心统一托管的技术。VDI的目标是实现:通过任何终端电子设备,在任何地点、任何时间,访问互联网上属于用户个人的桌面系统。而虚拟桌面系统的典型构架,在后台远端一般是一个庞大的虚拟机集群,每个用户都需要一个虚拟机为其服务;所有的终端设备通过互联网最终都连接到一个网关的中继设备上,然后对用户进行虚拟机的分发工作。With the development of the Internet, cloud computing and virtualization technologies, great progress has been made in the field of virtual desktop technology, resulting in the concept of desktop virtualization, namely Virtual Desktop Infrastructure (VDI). The essence of VDI is one. It is also understood that the server-based client/server computing mode separates the personal computer environment from the physical device and stores all the data in a centralized large-scale storage device in the data center. It is a technology that supports enterprise-level remote dynamic access to desktop systems and unified hosting of data centers. The goal of VDI is to access any personal desktop system on the Internet from any location, at any time, through any terminal electronic device. The typical architecture of a virtual desktop system is generally a large virtual machine cluster in the background remote end. Each user needs a virtual machine to serve it; all terminal devices are finally connected to a gateway relay device through the Internet. And then distribute the virtual machine to the user.
VDI带来了两方面的优点:一方面,管理员可以将所有的桌面虚拟机在互联网数据中心进行部署、托管,并进行统一的管理,降低运维成本;另一方面,使用电子设备的终端用户能够通过网络访问虚拟桌面,获得与完整的物理个人电脑(PC)桌面相似的使用体验,降低用户端的物理硬件成本。VDI brings two advantages: On the one hand, administrators can deploy, host, and manage all desktop virtual machines in the Internet data center to reduce operation and maintenance costs; on the other hand, terminals that use electronic devices. Users can access virtual desktops over the network, gaining a similar experience to a complete physical PC (PC) desktop, reducing the physical hardware cost of the client.
目前,VDI所使用的关键技术是桌面传输协议(也称为网络显示协议)及其实现。一般来说,基于两种处理方式:一种是,服务器渲染(Host Rendering),即虚拟机桌面的所有图形图像处理工作,都在远端服务器上完成,向用户终端发送的仅是像素信息,用户终端无需进行大量的运算,剔除了对CPU和内存资源要求较高的客户端设计,保持了客户端结构简洁,但是,这种处理方式对网络带宽要求较大。另一种是,客户端渲染(Client Rendering),即客户端具备一定的运算能力,承担部分桌面图形图像计算工 作,桌面的数据可以压缩传输,以节省网络带宽。Currently, the key technology used by VDI is the Desktop Transfer Protocol (also known as Network Display Protocol) and its implementation. Generally speaking, based on two processing methods: one is that Host Rendering, that is, all graphic image processing work of the virtual machine desktop is completed on the remote server, and only pixel information is sent to the user terminal. The user terminal does not need to perform a large number of operations, and eliminates the client design that requires high CPU and memory resources, and keeps the client structure simple. However, this processing method requires a large amount of network bandwidth. The other is client rendering (Client Rendering), that is, the client has a certain computing power, and undertakes part of the desktop graphics image computing As a result, desktop data can be compressed and transmitted to save network bandwidth.
图1为相关技术X86架构服务器主机的虚拟化架构和组件框图,如图1所示,在X86架构服务器主机上,基于Hypervisor虚拟化引擎,也称为虚拟机监视器/管理器(VMM,Virtual Machine Monitor),可以创建并运行多台虚拟机(如图1中的虚拟机1、虚拟机2…虚拟机N),每台虚拟机都类似于一台物理PC机,完全独立运行并相互隔离,可以安装用户所需的各种不同的操作系统即客户操作系统(GuestOS),比如Windows 8、Windows 7、基于Linux内核的各种发布版或商业版操作系统等。Figure 1 is a block diagram of the virtualization architecture and components of the related technology X86 architecture server host. As shown in Figure 1, on the X86 architecture server host, based on the hypervisor virtualization engine, also known as the virtual machine monitor/manager (VMM, Virtual Machine Monitor), you can create and run multiple virtual machines (such as virtual machine 1, virtual machine 2... virtual machine N in Figure 1). Each virtual machine is similar to a physical PC, completely independent and isolated from each other. You can install various operating systems (GuestOS) required by users, such as Windows 8, Windows 7, various distributions based on the Linux kernel or commercial operating systems.
如图1所示,在X86架构物理服务器硬件的计算环境中,Hypervisor虚拟化引擎,是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统及其上的应用程序共享硬件。Hypervisor是一种在虚拟计算环境中的“元”操作系统,可以访问服务器主机上包括CPU处理器、内存、磁盘、网卡在内的所有物理设备资源。Hypervisor不但能调度、协调这些硬件资源的访问和分配,也可以同时在各个虚拟机之间施加隔离和防护。当服务器启动并运行Hypervisor时,可以给每一台虚拟机分配适量的CPU、内存,网络和磁盘资源,同时加载虚拟机的GuestOS。Hypervisor是所有虚拟化技术的核心,通过Hypervisor实现对虚拟机的生命周期进行管理,比如其基本能力之一就是支持非中断的在线迁移虚拟机,使虚拟机在运行状态下从一个主机迁移到另一个主机上,而终端用户在使用虚拟机的过程中不会有任何感知,不会造成虚拟机中的应用程序或业务中断。As shown in Figure 1, in the computing environment of the X86 architecture physical server hardware, the Hypervisor virtualization engine is an intermediate software layer running between the underlying physical server and the operating system, allowing multiple operating systems and their The application shares the hardware. Hypervisor is a "meta" operating system in a virtual computing environment that can access all physical device resources including CPU processor, memory, disk, and network card on the server host. Hypervisor not only can schedule and coordinate the access and allocation of these hardware resources, but also can isolate and protect each virtual machine at the same time. When the server starts and runs the hypervisor, each virtual machine can be allocated the right amount of CPU, memory, network and disk resources, and the virtual machine's GuestOS is loaded. Hypervisor is the core of all virtualization technologies. It manages the life cycle of virtual machines through Hypervisor. For example, one of its basic capabilities is to support non-disruptive online migration of virtual machines, so that virtual machines can be migrated from one host to another. On a host, the end user does not have any awareness during the process of using the virtual machine, and will not cause application or service interruption in the virtual machine.
目前市场上主要的X86虚拟化Hypervisor的架构类型包括:虚拟机直接运行在系统硬件上,Hypervisor创建出硬件全仿真的实例,被称为裸机型。或者,虚拟机运行在传统操作系统上,同样创建的是硬件全仿真实例,被称为托管型或宿主型。或者,虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例(容器),指向底层托管操作系统,被称为“操作系统虚拟化”。其中最常见的仍然是裸机型的Hypervisor,虚拟化内核直接安装在硬件计算资源上,虚拟机及其GuestOS安装并运行在Hypervisor之上。其特点是软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来,从而提高物理服务器上计算资源、存储资源和网络资源的利用率,降低运营成本。业界 主要的厂商及产品,有红帽RedHat公司的RHEV、思杰Citrix公司的XenServer、VMware公司的vSphere、微软公司的Hyper-V、IBM公司的PowerVM、基于开源项目的Xen、KVM、VirtualBox等内核的服务器虚拟化产品。The main types of X86 virtualization hypervisors on the market today include: virtual machines run directly on the system hardware, and hypervisors create instances of full hardware emulation, known as bare models. Or, the virtual machine runs on a traditional operating system, and the same hardware-simulated instance is created, which is called a hosted or hosted type. Alternatively, the virtual machine runs on a traditional operating system and creates a separate virtualized instance (container) that points to the underlying managed operating system and is referred to as "operating system virtualization." The most common one is still the bare-machine hypervisor. The virtualization kernel is installed directly on the hardware computing resources. The virtual machine and its GuestOS are installed and run on top of the hypervisor. The feature is that the hardware and software architecture and management are more efficient and flexible, and the performance of the hardware can be better utilized, thereby improving the utilization of computing resources, storage resources, and network resources on the physical server, and reducing operating costs. Industry Major vendors and products include Red Hat RedHat's RHEV, Citrix's XenServer, VMware's vSphere, Microsoft's Hyper-V, IBM's PowerVM, open source Xen, KVM, VirtualBox and other cores. Server virtualization product.
虚拟桌面技术,是将Hypervisor创建和管理的虚拟机操作系统的桌面,拉远到用户的终端本地系统上进行显示,同时将虚拟机的音视频也重定向到终端输出,而将终端用户的鼠标、键盘等人体学输入操作或录音、摄像等音视频输入操作,重定向到虚拟机中去,再通过虚拟机的桌面反馈并呈现出来。一般采用VDI虚拟桌面传输协议或称为网络显示协议,来实现桌面拉远和外设重定向。图2为相关技术虚拟桌面的架构和组件框图,如图2所示,通过安装在用户终端(如瘦终端、PC机或笔记本电脑等)上的虚拟桌面客户端程序,可以访问企业的Hypervisor虚拟化服务器主机及其上的虚拟机。Hypervisor服务器主机创建并管理虚拟机,实现虚拟机的设备仿真。在虚拟机中,部署有虚拟桌面代理程序、目标存根程序和其他驱动等组件,从而实现虚拟桌面与客户端程序的消息交互和通信。The virtual desktop technology is the desktop of the virtual machine operating system created and managed by the hypervisor, and is extended to the user's terminal local system for display, and the audio and video of the virtual machine is also redirected to the terminal output, and the end user's mouse is used. Human keyboard input operations such as keyboards, audio and video input operations such as recording and video recording, redirected to the virtual machine, and then presented and presented through the desktop of the virtual machine. The VDI virtual desktop transfer protocol or network display protocol is generally used to implement desktop remote and peripheral redirection. 2 is a block diagram showing the architecture and components of a related art virtual desktop. As shown in FIG. 2, a virtual desktop client program installed on a user terminal (such as a thin terminal, a PC, or a laptop) can access the enterprise hypervisor virtual. The server host and the virtual machines on it. The Hypervisor server host creates and manages virtual machines for device emulation of virtual machines. In the virtual machine, components such as virtual desktop agents, target stubs, and other drivers are deployed to enable message interaction and communication between the virtual desktop and the client program.
通过虚拟桌面技术,可以为终端用户提供操作、使用和维护虚拟机操作系统(OS)、桌面系统及其上已安装应用程序的途径和方法,达到与物理PC机桌面完全相同的用户体验和使用效果。目前市场上主要的厂商,包括开源虚拟网络计算机(VNC,Virtual Network Computer)产品、中兴通讯基于远程访问协议(RAP,Remote Access Protocol)的VPlat产品;红帽RedHat公司基于独立计算环境简单协议(SPICE)技术的RHEV产品、思杰Citrix公司基于高清体验(HDX,High Definition eXperience)和独立计算架构(ICA)技术的XenDesktop和XenApp产品、VMware公司基于PCoIP协议的View产品、微软公司基于RDP协议和RemoteFX技术的虚拟桌面产品等。Virtual desktop technology provides end users with the means and methods to operate, use, and maintain virtual machine operating systems (OS), desktop systems, and installed applications on them, to achieve the same user experience and use as physical PC desktops. effect. Major vendors on the market today, including Open Source Virtual Network Computer (VNC) products, ZTE's VPlat products based on Remote Access Protocol (RAP); Red Hat RedHat's Simple Protocol based on Independent Computing Environment (SPICE) Technology RHEV products, Citrix's XenDesktop and XenApp products based on High Definition eXperience (HDX) and Independent Computing Architecture (ICA) technology, VMware's PCoIP-based View products, Microsoft's RDP-based and RemoteFX Technology virtual desktop products, etc.
相关技术的以上不管哪一种虚拟化引擎或虚拟桌面协议,都存在一个问题,即虚拟机中的GuestOS和用户本地的终端操作系统是各自独立的,用户所需的各种应用程序,要么部署在虚拟桌面的GuestOS中并启动运行(这是虚拟桌面大多数用户的使用场景和方式),要么部署在终端本地系统中并启动运行。也就是说,目前的各种方案和产品,都不能从虚拟桌面中直接启动 一个原本安装在终端本地的应用,也不能的从终端本地直接启动一个原本安装在虚拟桌面的GuestOS中的应用。其中,终端操作系统指用户在各种电子设备(如智能手机、智能Pad、瘦客户端、笔记本电脑、PC机等)终端上安装和运行的操作系统,一般如Android、iOS、Windows系列、Linux系列发布版或商业版操作系统等。这样,在某些有特定需求的应用场景下,就会给虚拟桌面的使用带来不便,从而限制了虚拟桌面的应用场景。比如,计划安装到虚拟机中的某些应用程序,运行时对资源的消耗和实时性要求较高,可能会显著增加网络压力。在虚拟机配置较差或网络带宽不足的情况下,一旦虚拟桌面的延时超过50ms,就会产生卡顿感,直接影响虚拟机的性能表现以及应用程序的使用体验,导致虚拟桌面用户的体验变差。此时,将这类应用部署安装在虚拟机中并不合适,而安装在用户终端本地系统中,更能满足性能要求。对于这种情况,对这类应用的调用方式是,先将这类应用安装在用户终端本地,需要使用时,需要在虚拟桌面和终端本地桌面之间反复切换,以实现对该应用的调用,这样极大地降低了桌面易用性,用户体验也大打折扣。Regardless of the virtualization engine or virtual desktop protocol of the related art, there is a problem that the guest OS in the virtual machine and the local terminal operating system of the user are independent, and various applications required by the user are deployed. In the guest OS of the virtual desktop and start running (this is the usage scenario and mode of most users of the virtual desktop), it is deployed in the terminal local system and starts running. In other words, the current various programs and products cannot be directly launched from the virtual desktop. An application originally installed in the terminal can not directly launch an application locally installed in the guest OS of the virtual desktop from the terminal. The terminal operating system refers to an operating system installed and operated by the user on terminals of various electronic devices (such as smart phones, smart pads, thin clients, laptops, PCs, etc.), such as Android, iOS, Windows series, and Linux. Series release or commercial version of the operating system. In this way, in some application scenarios with specific needs, the use of the virtual desktop is inconvenient, thereby limiting the application scenario of the virtual desktop. For example, some applications that are scheduled to be installed into a virtual machine require high resource consumption and real-time performance at runtime, which can significantly increase network stress. In the case of poor virtual machine configuration or insufficient network bandwidth, once the latency of the virtual desktop exceeds 50ms, a sensation will occur, which directly affects the performance of the virtual machine and the application experience, resulting in the experience of the virtual desktop user. Getting worse. At this point, it is not appropriate to install such an application deployment in a virtual machine, and it is installed in the local system of the user terminal to better meet the performance requirements. In this case, the calling method of such an application is to first install such an application locally on the user terminal, and when needed, it is necessary to repeatedly switch between the virtual desktop and the local desktop of the terminal to implement the call to the application. This greatly reduces the ease of use of the desktop and greatly reduces the user experience.
发明内容Summary of the invention
为了解决上述技术问题,本发明提供一种实现应用调用的方法及虚拟机,能够从虚拟桌面中直接快速启动安装在终端本地的应用,不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升桌面易用性。In order to solve the above technical problem, the present invention provides a method and a virtual machine for implementing an application call, which can quickly start an application installed locally on a terminal from a virtual desktop, and does not need to repeatedly switch between the virtual desktop and the local desktop of the terminal, thereby Greatly improve the ease of use of the desktop.
为了达到本发明目的,采用如下技术方案:In order to achieve the object of the present invention, the following technical solutions are adopted:
本发明实施例还公开了一种实现应用调用的方法,用于虚拟桌面客户端,包括:The embodiment of the invention further discloses a method for implementing an application call, which is used for a virtual desktop client, and includes:
在终端本地的系统桌面上,拖曳应用程序在终端本地桌面上对应的所述指定的快捷方式图标;On the system desktop local to the terminal, drag the corresponding shortcut icon corresponding to the application on the local desktop of the terminal;
虚拟桌面客户端程序判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,所述虚拟桌面客户端程序将所述被拖曳的快捷方式图标作为所述指定的快捷方式图标,并获取所述被拖曳的快捷方式图标对应的文件名;The virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
所述虚拟桌面客户端程序根据获得的文件名,获取所述被拖曳的快捷方 式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client program obtains the dragged shortcut according to the obtained file name The attribute information of the icon, wherein the attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon;
所述虚拟桌面客户端程序向虚拟机发送通知消息,在该通知消息中携带该属性信息。The virtual desktop client program sends a notification message to the virtual machine, where the attribute information is carried in the notification message.
可选地,该方法还包括,如果所述虚拟桌面客户端程序判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。Optionally, the method further includes ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
本发明实施例还公开了一种实现应用调用的方法,用于虚拟机侧,包括:The embodiment of the invention further discloses a method for implementing an application call, which is used on the virtual machine side, and includes:
虚拟机获取终端本地桌面上的,指定的快捷方式图标的属性信息;The virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal;
所述虚拟机在其虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标;Creating, by the virtual machine, a shortcut icon on the virtual desktop corresponding to the specified shortcut icon on the virtual desktop;
当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行安装在终端本地的,该快捷方式图标对应的应用。When the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, the application corresponding to the shortcut icon installed on the terminal is run.
可选地,所述虚拟机获取指定的快捷方式图标的属性信息的步骤之前,该方法还包括:Optionally, before the step of acquiring the attribute information of the specified shortcut icon by the virtual machine, the method further includes:
在终端本地的系统桌面上,拖曳应用程序在终端本地桌面上对应的所述指定的快捷方式图标。On the system desktop local to the terminal, drag the corresponding shortcut icon corresponding to the application on the local desktop of the terminal.
可选地,所述虚拟机获取指定的快捷方式图标的属性信息的步骤包括:Optionally, the step of the virtual machine acquiring the attribute information of the specified shortcut icon includes:
虚拟桌面客户端程序判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,所述虚拟桌面客户端程序将所述被拖曳的快捷方式图标作为所述指定的快捷方式图标,并获取所述被拖曳的快捷方式图标对应的文件名;The virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
所述虚拟桌面客户端程序根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
所述虚拟桌面客户端程序向所述虚拟机内部发送通知消息,在该通知消息中携带该属性信息。The virtual desktop client program sends a notification message to the inside of the virtual machine, and the attribute information is carried in the notification message.
可选地,该方法还包括,如果所述虚拟桌面客户端程序判断出鼠标未拖 曳到虚拟桌面窗口区域内,结束本流程。Optionally, the method further includes: if the virtual desktop client program determines that the mouse is not dragged Drag to the virtual desktop window area to end the process.
可选地,所述创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标的步骤包括:Optionally, the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
部署在所述虚拟机内部的桌面代理程序接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息;After receiving the notification message from the virtual desktop client program, the desktop agent deployed in the virtual machine saves the attribute information carried in the notification message;
所述桌面代理程序在所述虚拟机的虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与被拖曳的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;The desktop agent creates a shortcut icon on the virtual desktop of the virtual machine, and the name of the shortcut icon is the same as the name of the shortcut on the desktop of the terminal, and correspondingly saves and corresponds to the dragged shortcut icon. The file name and actual path of the application stored locally in the terminal;
将虚拟桌面上建立的快捷方式图标关联到所述虚拟机中指定的目标存根程序上。Associate a shortcut icon created on the virtual desktop to the target stub program specified in the virtual machine.
可选地,所述创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标的步骤包括:Optionally, the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。By acquiring an icon file or icon data of the terminal application of the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
可选地,所述当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行该快捷方式图标对应的,安装在终端本地的应用的步骤包括:Optionally, when the virtual machine receives the instruction that triggers the shortcut icon on the virtual desktop, the step of running the application corresponding to the shortcut icon and installed on the terminal includes:
当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行与该快捷方式图标所关联的目标存根程序;When the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, running a target stub program associated with the shortcut icon;
所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式图标对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给所述桌面代理程序;The target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent. ;
所述桌面代理程序收到所述启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息;After receiving the startup notification message, the desktop agent sends a notification message carrying the file name and path to a desktop client program deployed on the user terminal through a transmission channel of the virtual desktop protocol;
所述终端本地的桌面客户端程序,根据该通知消息中携带的参数信息中 指定的应用程序文件名和路径,启动运行终端本地的应用程序。The desktop client program of the terminal is based on the parameter information carried in the notification message. Specify the application file name and path to start the application running the terminal local.
可选地,该方法还包括:将所述桌面客户端程序隐藏、或最小化、或嵌入、或融合自身的虚拟桌面窗口。Optionally, the method further comprises: hiding, or minimizing, or embedding, or merging the desktop client program into its own virtual desktop window.
本发明实施例还公开了一种虚拟机,包括如上所述的获取模块、创建模块,以及调用模块;其中,The embodiment of the invention further discloses a virtual machine, comprising the obtaining module, the creating module, and the calling module as described above; wherein
所述获取模块设置成:获取终端本地桌面上的,指定的快捷方式图标的属性信息;The obtaining module is configured to: obtain attribute information of the specified shortcut icon on the local desktop of the terminal;
所述创建模块设置成:在虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标;The creating module is configured to: create, on the virtual desktop, a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
所述调用模块设置成:在接收到触发虚拟桌面上的快捷方式图标的指令时,运行安装在终端本地的,该快捷方式图标对应的应用。The calling module is configured to: when receiving an instruction to trigger a shortcut icon on the virtual desktop, run an application corresponding to the shortcut icon installed locally in the terminal.
可选地,所述创建模块设置成按照如下方式创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标:接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息,该属性信息包括所述指定的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;之后,在虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的,指定的快捷方式图标的名称相同,并对应保存与所述指定的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。Optionally, the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon according to the following manner: after receiving the notification message from the virtual desktop client program, save the notification An attribute information carried in the message, where the attribute information includes a file name, a path, and icon information of the target application corresponding to the specified shortcut icon; and then, a shortcut icon is created on the virtual desktop, and the name of the shortcut icon And the name of the designated shortcut icon on the desktop of the terminal is the same, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon; the shortcut established on the virtual desktop The mode icon is associated with the specified target stub.
可选地,所述创建模块设置成按照如下方式创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标:Optionally, the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon as follows:
使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。By acquiring an icon file or icon data of the terminal application of the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
可选地,所述调用模块设置成按照如下方式运行安装在终端本地的,该快捷方式图标对应的应用:在接收到触发虚拟桌面上的快捷方式图标的指令 时,运行与该快捷方式图标所关联的目标存根程序;通知所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式图标对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发出;收到目标存根程序发送的携带快捷方式图标对应的终端应用程序的文件名和路径的启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息,使得终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,启动运行终端本地的应用程序。Optionally, the calling module is configured to run an application corresponding to the shortcut icon installed on the terminal in the following manner: receiving an instruction to trigger a shortcut icon on the virtual desktop And running the target stub program associated with the shortcut icon; notifying the target stub program to first obtain the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and obtaining the file name and path The parameter information is carried in the startup notification message; after receiving the file name of the terminal application and the startup notification message of the path corresponding to the shortcut icon sent by the target stub program, the information is transmitted to the user terminal through the transmission channel of the virtual desktop protocol. The local desktop client sends a notification message carrying the file name and the path, so that the local desktop client program starts the application running the terminal locally according to the application file name and path specified in the parameter information carried in the notification message. program.
本发明实施例还公开了一种虚拟桌面客户端,包括如上所述的判断模块和处理模块;其中,The embodiment of the invention further discloses a virtual desktop client, comprising the judging module and the processing module as described above;
所述判断模块设置成:判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,通知所述处理模块;The determining module is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module;
所述处理模块设置成:接收到来自所述判断模块的通知,获取被拖曳的快捷方式图标对应的文件名;根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;向虚拟机发送通知消息,在该通知消息中携带获得的快捷方式图标的属性信息。The processing module is configured to: receive a notification from the determining module, and obtain a file name corresponding to the dragged shortcut icon; and obtain attribute information of the dragged shortcut icon according to the obtained file name, where The attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon. The notification message is sent to the virtual machine, and the attribute information of the obtained shortcut icon is carried in the notification message.
本发明实施例还公开了一种计算机程序,包括程序指令,当该程序指令被虚拟机执行时,使得该虚拟机可执行上述任意的虚拟机侧的实现应用调用的方法。The embodiment of the invention further discloses a computer program, comprising program instructions, when the program instruction is executed by the virtual machine, the virtual machine can execute the method of implementing the application call on any of the virtual machine sides.
本发明实施例还公开了一种载有所述的计算机程序的载体。The embodiment of the invention also discloses a carrier carrying the computer program.
本发明实施例还公开了一种计算机程序,包括程序指令,当该程序指令被虚拟桌面客户端执行时,使得该虚拟桌面客户端可执行上述任意的虚拟桌面客户端侧的实现应用调用的方法。The embodiment of the invention further discloses a computer program, including program instructions, when the program instruction is executed by the virtual desktop client, the virtual desktop client can execute any method of implementing the application call on the virtual desktop client side. .
本发明实施例还公开了一种载有所述的计算机程序的载体。 The embodiment of the invention also discloses a carrier carrying the computer program.
与相关技术相比,本申请技术方案包括虚拟机获取指定的快捷方式图标的属性信息;虚拟机在其虚拟桌面上创建与指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标;当触发虚拟桌面上的快捷方式图标时,运行该快捷方式图标对应的安装在终端本地的应用。本发明方法解决了相关技术中存在的虚拟桌面应用和终端本地应用完全隔离、不能方便的快捷启动的问题和缺点,提供了在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面用户的易用性和便捷度,进一步提高了虚拟桌面在操作和使用方面的自动化水平。Compared with the related art, the technical solution of the present application includes the virtual machine acquiring the attribute information of the specified shortcut icon; the virtual machine creates a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop on the virtual desktop; when triggered When the shortcut icon on the virtual desktop is run, the shortcut icon is displayed corresponding to the application installed locally on the terminal. The method of the invention solves the problems and disadvantages that the virtual desktop application and the terminal local application are completely isolated and cannot be conveniently and quickly launched in the related art, and provides a quick connection of the application shortcut soft link between the virtual desktop and the end user local. The technical solution achieves the purpose of directly starting the terminal local application in the virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop, thereby greatly improving the ease of use and convenience of the desktop user, further Increased automation of virtual desktops in terms of operation and use.
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。Other features and advantages of the invention will be set forth in the description which follows, The objectives and other advantages of the invention may be realized and obtained by means of the structure particularly pointed in the appended claims.
附图概述BRIEF abstract
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the invention, and are intended to be a part of the invention. In the drawing:
图1为相关技术X86架构服务器主机的虚拟化架构和组件框图;1 is a block diagram of a virtualization architecture and components of a related art X86 architecture server host;
图2为相关技术虚拟桌面的架构和组件框图;2 is a block diagram showing the architecture and components of a related art virtual desktop;
图3为本发明实施例实现应用调用的方法的流程图;3 is a flowchart of a method for implementing an application call according to an embodiment of the present invention;
图4为本发明实施例实现应用调用的方法实施例中的用户终端的虚拟桌面客户端程序处理流程图;4 is a flowchart of processing a virtual desktop client program of a user terminal in an embodiment of a method for implementing an application according to an embodiment of the present invention;
图5为本发明实施例实现应用调用的方法实施例中的虚拟机的桌面代理程序处理流程图;FIG. 5 is a flowchart of a desktop agent processing process of a virtual machine in an embodiment of a method for implementing an application according to an embodiment of the present invention;
图6为本发明实施例实现应用调用的方法实施例中的从远端虚拟桌面启动一个本地应用的流程图; FIG. 6 is a flowchart of starting a local application from a remote virtual desktop in an embodiment of a method for implementing an application according to an embodiment of the present invention;
图7为本发明实施例实现应用调用的方法的实施例的流程示意图;FIG. 7 is a schematic flowchart diagram of an embodiment of a method for implementing an application call according to an embodiment of the present invention;
图8为本发明实施例从本地终端的系统桌面上拖曳一个快捷方式图标放置到虚拟桌面的示意图;8 is a schematic diagram of dragging a shortcut icon from a desktop of a local terminal to a virtual desktop according to an embodiment of the present invention;
图9为本发明实施例实现应用调用的装置的组成结构示意图;FIG. 9 is a schematic structural diagram of a device for implementing an application call according to an embodiment of the present invention;
图10为本发明实施例虚拟桌面客户端的组成结构示意图。FIG. 10 is a schematic structural diagram of a virtual desktop client according to an embodiment of the present invention.
本发明的较佳实施方式Preferred embodiment of the invention
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, in the case of no conflict, the features in the embodiments and the embodiments in the present application may be arbitrarily combined with each other.
本发明实施例中,拖曳是指用鼠标或触摸屏等触发方式拖动的方法,在不同程序的窗口之间、同一程序的不同窗口之间、同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖曳操作是在操作系统的帮助下完成的。被拖曳的对象首先会向操作系统注册它使用的数据格式,并按指定的数据格式提供数据。拖曳操作结束时,接收被拖曳的对象的程序窗口,按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。本发明实施例在终端桌面和虚拟桌面之间拖曳应用程序的快捷方式图标是基于操作系统支持的鼠标拖曳机制的。In the embodiment of the present invention, the dragging refers to a method of dragging by a trigger mode such as a mouse or a touch screen, and moving between different windows of different programs, between different windows of the same program, and between different controls of the same program in the same window. Techniques for copying and pasting operations. The drag operation is done with the help of the operating system. The object being dragged first registers the data format it uses with the operating system and provides the data in the specified data format. At the end of the drag operation, the program window of the dragged object is received, the relevant data is extracted according to the specified data format, and the corresponding object is generated according to the extracted data. The shortcut icon for dragging an application between the terminal desktop and the virtual desktop in the embodiment of the present invention is based on a mouse drag mechanism supported by the operating system.
本发明实施例实现的核心思想是:利用操作系统支持的鼠标拖曳机制和部署在用户终端的桌面客户端(用于访问远端虚拟机桌面的程序组件),检测用户在终端系统桌面上拖拽快捷方式图标的操作,当快捷方式图标被拖拽到虚拟桌面内时,虚拟桌面客户端程序作为接收被拖曳的快捷方式图标的程序窗口,通过虚拟桌面协议的传输通道、或套接字(Socket)等方式,将提取的快捷方式图标的相关属性信息发送给虚拟机中的桌面代理,桌面代理在虚拟桌面内也建立一个被拖曳的快捷方式图标对应的应用的快捷方式图标,并建立该快捷方式图标和目标存根程序的关联关系,从而实现了从远端的虚拟桌面(云桌面)调用一个终端本地的应用程序。The core idea of the embodiment of the present invention is to detect the user dragging and dropping on the desktop of the terminal system by using the mouse drag mechanism supported by the operating system and the desktop client deployed on the user terminal (the program component for accessing the desktop of the remote virtual machine). The operation of the shortcut icon, when the shortcut icon is dragged into the virtual desktop, the virtual desktop client program serves as a program window for receiving the dragged shortcut icon, through the virtual desktop protocol transmission channel, or socket (Socket) The method further sends the related attribute information of the extracted shortcut icon to the desktop agent in the virtual machine, and the desktop agent also creates a shortcut icon of the application corresponding to the dragged shortcut icon in the virtual desktop, and establishes the shortcut. The association between the mode icon and the target stub program enables a terminal-local application to be called from the remote virtual desktop (cloud desktop).
需要说明的是,除了拖曳的方式,还可以通过直接在虚拟机创建快捷方式图标,然后再通过手动建立创建的快捷方式图标与终端本地指定快捷方式 图标的对应关系,具体实现对于本领域技术人员来说是容易实现的,这里不再赘述。It should be noted that, in addition to the dragging method, you can also create a shortcut icon directly in the virtual machine, and then manually create the created shortcut icon and the terminal to specify the shortcut locally. The specific relationship of the icons is easy to implement for those skilled in the art, and details are not described herein again.
对于不合适安装在虚拟机中的应用程序,可以将其安装在终端本地运行,一方面,减轻了虚拟桌面的负荷,充分利用了终端本地的软硬件资源;另一方面,增加了工程部署的灵活性,满足了某些特定软件在终端本地运行的实时性和性能要求。本发明实施例提供的技术方案允许用户将终端桌面上的某个应用程序的快捷方式图标,通过触发如鼠标或触摸屏操作,直接拖入到虚拟机的虚拟桌面上,建立起虚拟桌面上的快捷方式和终端应用程序之间的链接关系,从而快速实现了直接从云桌面中启动运行终端本地的应用。通过本发明实施例提供的技术方案,实现了从虚拟桌面(云桌面)中发现某个终端应用并能快速运行的需求,而且不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面易用性。For applications that are not suitable for installation in a virtual machine, they can be installed locally on the terminal. On the one hand, the load on the virtual desktop is reduced, and the hardware and software resources of the terminal are fully utilized. On the other hand, the engineering deployment is increased. Flexibility to meet the real-time and performance requirements of certain software running locally on the terminal. The technical solution provided by the embodiment of the present invention allows a user to directly drag a shortcut icon of an application on a desktop of a terminal, such as a mouse or a touch screen, onto a virtual desktop of the virtual machine to establish a shortcut on the virtual desktop. The link relationship between the mode and the terminal application, thus quickly launching the application running the terminal directly from the cloud desktop. The technical solution provided by the embodiment of the present invention realizes the requirement that a certain terminal application can be quickly run from a virtual desktop (cloud desktop), and does not need to repeatedly switch between the virtual desktop and the local desktop of the terminal, thereby greatly Improved desktop usability.
图3为本发明实施例实现应用调用的方法的流程图,如图3所示,包括:FIG. 3 is a flowchart of a method for implementing an application call according to an embodiment of the present invention. As shown in FIG. 3, the method includes:
步骤300:虚拟机获取终端本地桌面上的,指定的快捷方式图标的属性信息。Step 300: The virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal.
本步骤具体包括:在用户终端本地的系统桌面上,当用户拖曳应用程序在终端本地桌面上对应的快捷方式图标,如*.lnk文件时,安装并运行在用户终端的虚拟桌面客户端程序将进行相应处理,图4为本发明实施例实现应用调用的方法实施例中的用户终端的虚拟桌面客户端程序处理流程图,如图4所示,包括步骤400-405:The step specifically includes: when the user drags the corresponding shortcut icon on the local desktop of the terminal, such as a *.lnk file, on the system desktop local to the user terminal, the virtual desktop client program installed and running on the user terminal will be The corresponding processing is performed. FIG. 4 is a flowchart of processing a virtual desktop client program of the user terminal in the embodiment of the method for implementing an application according to an embodiment of the present invention. As shown in FIG. 4, the method includes steps 400-405:
步骤400:初始化并映射Windows的鼠标拖曳消息处理函数,具体实现属于本领域技术人员的惯用技术手段,这里不再赘述。Step 400: Initialize and map the mouse dragging message processing function of the Windows, and implement the conventional technical means that are known to those skilled in the art, and details are not described herein again.
步骤401~步骤402:虚拟桌面客户端程序通过Windows的鼠标拖曳消息处理函数进行跟踪和检测,并判断鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,如果是,进入步骤403;否则,结束。Step 401 to step 402: the virtual desktop client program performs tracking and detection by using a mouse dragging message processing function of Windows, and determines whether the mouse drag operation is released in the client area of the virtual desktop window, and if yes, proceeds to step 403; otherwise, End.
其中,如何判断鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放的实现,属于根据微软Windows系统提供的Win32应用编程接口(即API)可实现的一种软件编程技术,具体方法可参考图7中的步骤701。这里不再 赘述。Among them, how to determine whether the mouse drag operation is in the client area of the virtual desktop window and release is a software programming technology that can be implemented according to the Win32 application programming interface (ie, API) provided by Microsoft Windows system, and the specific method can refer to the figure. Step 701 in 7. No longer here Narration.
步骤403:如果鼠标拖曳到虚拟桌面窗口区域内,并且结束拖曳操作释放鼠标按键,则确定用户执行的是从终端桌面向虚拟桌面内拖曳快捷方式图标的操作,虚拟桌面客户端程序获取被拖曳的快捷方式图标对应的文件名,Step 403: If the mouse is dragged into the virtual desktop window area, and the drag operation is ended to release the mouse button, it is determined that the user performs the operation of dragging the shortcut icon from the terminal desktop to the virtual desktop, and the virtual desktop client program obtains the dragged The file name corresponding to the shortcut icon,
步骤404:调用Windows系统提供的组件对象模型(COM)接口,根据快捷方式对应的文件名获取快捷方式图标的属性信息。其中,属性信息至少包括快捷方式图标对应的目标应用程序的文件名、路径、图标等信息。Step 404: Call a component object model (COM) interface provided by the Windows system, and obtain attribute information of the shortcut icon according to the file name corresponding to the shortcut. The attribute information includes at least information such as a file name, a path, and an icon of the target application corresponding to the shortcut icon.
步骤405:虚拟桌面客户端程序向虚拟机内部发送通知消息,并携带获得的快捷方式图标的属性信息。Step 405: The virtual desktop client program sends a notification message to the inside of the virtual machine, and carries the attribute information of the obtained shortcut icon.
除了上述拖曳的方式,还可以通过直接在虚拟机创建快捷方式图标,然后再通过手动建立创建的快捷方式图标与终端本地指定快捷方式图标的对应关系,具体实现这里不再赘述。In addition to the above-mentioned method of dragging, a shortcut icon can be created directly in the virtual machine, and then the corresponding relationship between the created shortcut icon and the terminal-designated shortcut icon can be manually created.
可选地,如果鼠标未拖曳到虚拟桌面窗口区域内,说明未在虚拟桌面的窗口区域内释放鼠标拖曳操作,虚拟桌面客户端程序不做任何处理,结束本次对鼠标拖曳事件的跟踪和检测。Optionally, if the mouse is not dragged into the virtual desktop window area, the mouse drag operation is not released in the window area of the virtual desktop, and the virtual desktop client program does not perform any processing, ending the tracking and detecting of the mouse drag event. .
其中,虚拟桌面客户端程序是指安装、部署并运行在用户电子设备终端上,用于访问远端的虚拟机及虚拟桌面的程序组件,一般呈现为一个窗口应用程序。The virtual desktop client program refers to a program component that is installed, deployed, and runs on the user electronic device terminal for accessing the remote virtual machine and the virtual desktop, and is generally presented as a window application.
步骤301:虚拟机在其虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标。Step 301: The virtual machine creates, on its virtual desktop, a shortcut icon of the virtual desktop corresponding to the specified shortcut icon.
图5为本发明实施例实现应用调用的方法实施例中的虚拟机的桌面代理程序处理流程图,如图5所示,步骤301具体包括如下步骤500-503:FIG. 5 is a flowchart of a desktop agent processing process of a virtual machine in an embodiment of a method for implementing an application according to an embodiment of the present invention. As shown in FIG. 5, step 301 specifically includes the following steps 500-503:
步骤500~步骤501:部署在虚拟机内部的桌面代理程序以后台服务方式运行,接收到来自虚拟桌面客户端程序的通知消息后,保存其中携带的属性信息,如快捷方式名称、对应的安装在终端本地的目标应用程序的路径、文件名等。这样桌面代理程序就知道此时终端用户进行了一次拖曳操作,而且希望将终端本地桌面上的快捷方式拖曳到远端虚拟机的虚拟桌面上; Steps 500 to 501: The desktop agent deployed in the virtual machine runs in the background service mode, and after receiving the notification message from the virtual desktop client program, saves the attribute information carried in the virtual device, such as the shortcut name and the corresponding installation. The path, file name, etc. of the target application local to the terminal. In this way, the desktop agent knows that the end user has performed a drag operation at this time, and wants to drag the shortcut on the local desktop of the terminal to the virtual desktop of the remote virtual machine;
步骤502:桌面代理程序通过调用Windows系统提供的组件对象模型 (COM)接口,在虚拟机的桌面上创建一个快捷方式图标。该快捷方式图标的名称和终端桌面上的快捷方式的名称相同,该快捷方式图标可以使用Windows系统提供的远端应用图标,并对应保存与被拖曳的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;Step 502: The desktop agent calls the component object model provided by the Windows system. (COM) interface, creating a shortcut icon on the desktop of the virtual machine. The name of the shortcut icon is the same as the name of the shortcut on the terminal desktop. The shortcut icon can use the remote application icon provided by the Windows system, and correspondingly store the application stored in the terminal corresponding to the dragged shortcut icon. The file name and actual path of the program;
步骤503:将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。Step 503: Associate the shortcut icon created on the virtual desktop to the specified target stub program.
本领域技术人员知道,目标存根程序和桌面代理程序,均预先部署到虚拟机内部,以Windows后台服务的方式运行。Those skilled in the art know that the target stub program and the desktop agent are pre-deployed inside the virtual machine and run as a Windows background service.
需要说明的是,本步骤中,快捷方式图标可以使用Windows系统提供的远端应用图标,当然,桌面代理程序也可以通过获取终端桌面的终端应用程序的图标文件或图标数据,使得虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标,从而进一步增强了用户体验和易用性。It should be noted that, in this step, the shortcut icon can use the remote application icon provided by the Windows system. Of course, the desktop agent can also create the virtual desktop by acquiring the icon file or icon data of the terminal application of the terminal desktop. The shortcut uses a shortcut icon that is identical to the shortcut icon for the terminal application, further enhancing the user experience and ease of use.
其中,桌面代理程序是指安装、部署并运行在虚拟机中的一个后台服务程序,用于消息交互处理、对象创建和关联等流程。目标存根程序则类似桌面代理程序,也是安装、运行在虚拟机内部的一个后台服务程序,完成消息接收、封装和转发的功能。A desktop agent is a background server that is installed, deployed, and run in a virtual machine for processes such as message interaction processing, object creation, and association. The target stub program is similar to the desktop agent. It is also a background service program installed and running inside the virtual machine to complete the function of receiving, encapsulating and forwarding messages.
步骤302:当虚拟机接收到触发虚拟桌面上的快捷方式图标指令时,运行该快捷方式图标对应的,安装在终端本地的应用。Step 302: When the virtual machine receives the shortcut icon command on the virtual desktop, the virtual machine corresponding to the shortcut icon is installed and installed in the terminal.
图6为本发明实施例实现应用调用的方法实施例中的从远端虚拟桌面启动一个本地应用的流程图,如图6所示,步骤302具体包括如下步骤600-604:FIG. 6 is a flowchart of starting a local application from a remote virtual desktop in an embodiment of a method for implementing an application according to an embodiment of the present invention. As shown in FIG. 6, step 302 specifically includes the following steps 600-604:
步骤600:当用户从虚拟桌面上双击创建好的与被拖曳的快捷方式图标对应的应用对应的快捷方式图标时,表明触发已关联的目标存根程序运行。Step 600: When the user double-clicks the shortcut icon corresponding to the application corresponding to the dragged shortcut icon from the virtual desktop, it indicates that the associated target stub program is triggered to run.
步骤601:目标存根程序先获取该快捷方式图标中保存的对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给桌面代理程序,希望启动该终端应用。Step 601: The target stub program first obtains the file name and path of the corresponding terminal application saved in the shortcut icon, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent, and the terminal is desired to be started. application.
步骤602:桌面代理程序收到启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送通知消息,携带上述 参数信息。Step 602: After receiving the startup notification message, the desktop agent sends a notification message to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol, and carries the above message. Parameter information.
步骤603:终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,通过相关技术的Win32API接口启动运行终端本地的应用程序。Step 603: The desktop client program of the terminal starts the application running the terminal locally through the Win32 API interface of the related technology according to the application file name and path specified in the parameter information carried in the notification message.
可选地,还包括步骤604:桌面客户端程序使自身的虚拟桌面窗口隐藏或最小化,以便使终端本地的应用程序的窗口或界面能在虚拟桌面窗口之上运行(或实现父子窗口的嵌入、融合),避免了被虚拟桌面的窗口覆盖或遮挡,增强了易用效果。其中,如何实现窗口的隐藏、最小化、嵌入或融合等属于本领域技术人员的公知常识,具体实现并不用于限定本发明的保护范围,这里不再赘述。Optionally, the method further includes a step 604: the desktop client program hides or minimizes the virtual desktop window of the terminal, so that the window or interface of the application local to the terminal can run on the virtual desktop window (or implement embedding of the parent and child windows). , fusion), to avoid being covered or occluded by the virtual desktop window, enhancing the ease of use. The disclosure of the present invention is not limited to the scope of protection of the present invention, and the details are not described herein.
本发明实施例方法与相关技术相比,解决了相关技术中存在的虚拟桌面应用和终端本地应用完全隔离、不能方便的快捷启动的问题和缺点,提供了在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面用户的易用性和便捷度,进一步提高了虚拟桌面在操作和使用方面的自动化水平。Compared with the related technologies, the method of the embodiment of the present invention solves the problems and disadvantages that the virtual desktop application and the terminal local application existing in the related art are completely isolated and cannot be conveniently and quickly started, and is provided between the virtual desktop and the end user local. Quickly establish a technical solution for the application shortcut soft link, and achieve the purpose of directly launching the terminal local application in the virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop, thereby greatly improving the desktop user's Ease of use and convenience further enhance the automation of virtual desktops in terms of operation and use.
图7为本发明实施例实现应用调用的方法的实施例的流程示意图,本实施例中,假设硬件部分由X86服务器主机、用户终端如瘦客户端、PC机或笔记本电脑等组成。结合图8中的虚线箭头所示,当用户从本地终端的系统桌面上,拖曳一个快捷方式图标,放置到虚拟桌面(远端虚拟机的桌面)内时,如图7所示,包括:FIG. 7 is a schematic flowchart of an embodiment of a method for implementing an application call according to an embodiment of the present invention. In this embodiment, a hardware part is assumed to be composed of an X86 server host, a user terminal, such as a thin client, a PC, or a notebook computer. As shown by the dotted arrow in FIG. 8, when the user drags a shortcut icon from the system desktop of the local terminal and places it in the virtual desktop (the desktop of the remote virtual machine), as shown in FIG. 7, it includes:
步骤700:在相关技术虚拟桌面提供的虚拟桌面客户端程序,如VDClient.exe基础上,增加支持鼠标拖曳的功能,包括:在虚拟桌面客户端程序窗口创建或初始化时,调用Win32 API函数DragAcceptFiles,或通过Windows集成开发环境设置窗口的Accept Files属性,使虚拟桌面客户端程序窗口允许接收拖曳文件的操作。映射Windows消息WM_DROPFILES,在消息处理函数OnDropFiles中处理鼠标拖曳事件。Step 700: Add a function of supporting mouse dragging on the virtual desktop client program provided by the related technology virtual desktop, such as VDClient.exe, including: calling the Win32 API function DragAcceptFiles when the virtual desktop client program window is created or initialized. Or, through the Accept Files property of the Windows Integrated Development Environment Settings window, the virtual desktop client program window allows the operation of dragging files. Maps the Windows message WM_DROPFILES to handle mouse drag events in the message handler OnDropFiles.
步骤701:调用Win32 API函数GetClientRect获取虚拟桌面窗口客户区的坐标,再调用ClientToScreen函数,将获得的虚拟桌面客户区的坐标转换到 屏幕坐标系;调用Win32 API函数DragQueryPoint获取当拖曳操作结束、鼠标松开时的指针位置坐标,从而判断被拖曳的快捷方式图标是否落在虚拟桌面客户端程序的窗口矩形区域内。Step 701: Call the Win32 API function GetClientRect to obtain the coordinates of the virtual desktop window client area, and then call the ClientToScreen function to convert the coordinates of the obtained virtual desktop client area to The screen coordinate system; the Win32 API function DragQueryPoint is used to obtain the position coordinates of the pointer when the drag operation ends and the mouse is released, thereby determining whether the dragged shortcut icon falls within the rectangular area of the window of the virtual desktop client program.
步骤702:如果检测到拖放完成、松开鼠标,且被拖曳的快捷方式图标落在桌面客户端窗口矩形区域内时,在OnDropFiles消息处理函数中,调用Win32 API函数DragQueryFile获取被拖放的快捷方式的文件名和路径并保存;然后,通过引用COM组件的IWshRuntimeLibrary函数,创建WshShell和IWshShortcut对象,获取该快捷方式的各种属性,包括该快捷方式在终端对应的目标应用程序的安装路径和文件名。Step 702: If it is detected that the drag and drop is completed, the mouse is released, and the dragged shortcut icon falls within the rectangular area of the desktop client window, in the OnDropFiles message processing function, the Win32 API function DragQueryFile is called to obtain the shortcut of being dragged and dropped. The file name and path of the mode are saved; then, by referring to the IWshRuntimeLibrary function of the COM component, the WshShell and IWshShortcut objects are created, and various properties of the shortcut are obtained, including the installation path and file name of the target application corresponding to the shortcut in the terminal. .
可选地,如果拖放完成、松开鼠标时,被拖曳的快捷方式图标没有落在桌面客户端窗口矩形区域内,在OnDropFiles消息处理函数中,直接调用DragFinish函数释放系统分配的内存并结束即可。Optionally, if the dragged-out shortcut icon does not fall within the rectangular area of the desktop client window when the drag-and-drop is completed and the mouse is released, in the OnDropFiles message processing function, the DragFinish function is directly called to release the memory allocated by the system and the end is can.
步骤703:通过虚拟桌面协议的传输通道和VDI接口,将被拖曳的快捷方式图标对应的名称、终端目标应用程序的路径和文件名等信息,发送给虚拟机中的桌面代理程序,告知桌面代理程序在虚拟机桌面上也创建一个相对应的快捷方式。Step 703: Send the information corresponding to the dragged shortcut icon, the path of the terminal target application, and the file name to the desktop agent in the virtual machine through the transmission channel and the VDI interface of the virtual desktop protocol, and notify the desktop agent. The program also creates a corresponding shortcut on the virtual machine desktop.
步骤705:在相关技术虚拟桌面提供的桌面代理程序,如VDAgent.exe的基础上,增加消息处理功能,创建桌面快捷方式并关联目标存根程序:按照虚拟桌面协议传输通道的VDI接口规范,接收来自虚拟桌面客户端程序消息并处理,保存收到的快捷方式图标的名称,及其对应的终端目标应用程序的路径和文件名等消息数据;通过引用COM组件IWshRuntimeLibrary,声明操作对象WshShell,调用CreateShortcut方法创建Windows桌面快捷方式的IWshShortcut对象;指定该快捷方式图标关联的目标存根程序路径(TargetPath)、文本参数(Arguments)、浮动描述(Description)、全局热键(Hotkey)、图标位置(IconLocation)等属性,调用已有的Save方法,保存并完成快捷方式图标在虚拟桌面的创建。Step 705: On the basis of the desktop agent provided by the related technology virtual desktop, such as VDAgent.exe, adding a message processing function, creating a desktop shortcut and associating the target stub program: according to the VDI interface specification of the virtual desktop protocol transmission channel, receiving from The virtual desktop client program message is processed and saved, the name of the received shortcut icon, and the corresponding terminal object application path and file name and other message data are saved; by referring to the COM component IWshRuntimeLibrary, the operation object WshShell is declared, and the CreateShortcut method is called. Create an IWshShortcut object for the Windows desktop shortcut; specify the target stub path (TargetPath), text parameters (Arguments), floating description (Description), global hotkey (Hotkey), icon location (IconLocation), etc. associated with the shortcut icon , call the existing Save method, save and complete the creation of the shortcut icon in the virtual desktop.
步骤706:当用户在虚拟桌面内双击被拖曳的快捷方式图标,会从远端虚拟机的桌面上启动终端本地对应的应用程序时。Step 706: When the user double-clicks the dragged shortcut icon in the virtual desktop, the terminal corresponding application is started from the desktop of the remote virtual machine.
步骤707:目标存根程序部署在虚拟机内,以Windows后台服务的方式 运行。目标存根程序调用PostMessage通知桌面代理程序,携带与快捷方式图标对应的终端本地应用程序的路径和文件名信息,告知需要启动该终端本地应用。Step 707: The target stub program is deployed in the virtual machine, in the manner of a Windows background service. run. The target stub program calls PostMessage to notify the desktop agent, and carries the path and file name information of the terminal local application corresponding to the shortcut icon to inform that the local application of the terminal needs to be started.
步骤708~步骤709:桌面代理程序:通过虚拟桌面协议的传输通道,按照VDI接口规范,携带与快捷方式图标对应的终端本地应用程序的路径和文件名信息,通知客户端程序启动一个该终端本地应用。Step 708 to step 709: the desktop agent program: according to the VDI interface specification, carries the path and file name information of the terminal local application corresponding to the shortcut icon, and notifies the client program to start a local terminal. application.
步骤710:桌面客户端窗口程序,使用ShellExecute或CreateProcess的方法,根据收到的与快捷方式图标对应的终端本地应用程序的路径和文件名,最终启动运行终端本地的一个应用程序。Step 710: The desktop client window program uses a ShellExecute or CreateProcess method to finally start an application running on the local terminal according to the path and file name of the terminal local application corresponding to the shortcut icon.
步骤711:桌面客户端窗口程序,调用ShowWindow,将自身的桌面窗口隐藏(SW_HIDE)或最小化(SW_MINIMIZE),或实现父子窗口的嵌入、融合,避免了遮挡或覆盖到终端本地应用程序运行时弹出的窗口或界面。Step 711: The desktop client window program, calling ShowWindow, hiding its own desktop window (SW_HIDE) or minimizing (SW_MINIMIZE), or implementing embedding and fusion of the parent and child windows, avoiding occlusion or overwriting to the terminal local application runtime popping up Window or interface.
需要说明的是,图7所示实施例中所采用的函数可以沿用相关技术中的函数,或重新定义,具体实现属于本领技术人员的惯用技术手段,这里强调的是,在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换。It should be noted that the functions used in the embodiment shown in FIG. 7 may be used in the related art, or may be redefined, and the specific technical means belonging to those skilled in the art are specifically implemented. Here, the emphasis is on the virtual desktop and the terminal. A technical solution for quickly establishing an application shortcut soft link between users locally achieves the purpose of directly starting a terminal local application in a virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop.
图9为本发明虚拟机的组成结构示意图,如图9所示,包括获取模块901、创建模块902,以及调用模块903;其中,FIG. 9 is a schematic structural diagram of a virtual machine according to the present invention. As shown in FIG. 9, the method includes: an obtaining module 901, a creating module 902, and a calling module 903;
获取模块901,设置成:获取指定的如被拖曳的快捷方式图标的属性信息;The obtaining module 901 is configured to: obtain the specified attribute information of the shortcut icon that is dragged;
创建模块902,设置成:在虚拟桌面上创建与指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标;The creating module 902 is configured to: create, on the virtual desktop, a shortcut icon of the application in the virtual desktop corresponding to the specified shortcut icon;
调用模块903,设置成:在接收到触发虚拟桌面上的快捷方式图标指令时,运行该快捷方式图标对应的安装在终端本地的应用。The calling module 903 is configured to: when receiving the shortcut icon command on the trigger virtual desktop, run the application installed in the terminal corresponding to the shortcut icon.
其中,among them,
创建模块902具体设置成:桌面代理程序接收到通知消息后,保存其中携带的属性信息;桌面代理程序在虚拟桌面上创建一个快捷方式图标,该快捷 方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与指定的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。The creating module 902 is specifically configured to: after receiving the notification message, the desktop agent saves the attribute information carried therein; the desktop agent creates a shortcut icon on the virtual desktop, the shortcut The name of the mode icon is the same as the name of the shortcut on the terminal desktop, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon; the shortcut icon created on the virtual desktop Link to the specified target stub program.
调用模块903具体设置成:当用户从虚拟桌面上双击创建好的与指定的快捷方式图标对应的应用对应的快捷方式图标时,目标存根程序获取该快捷方式图标中保存的对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给桌面代理程序;桌面代理程序收到启动通知消息,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送通知消息,携带上述参数信息;终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,通过相关技术的Win32 API接口启动运行终端本地的应用程序。The calling module 903 is specifically configured to: when the user double-clicks the shortcut icon corresponding to the application corresponding to the specified shortcut icon, the target stub program acquires the corresponding terminal application saved in the shortcut icon. The file name and path are carried as parameter information in the startup notification message and sent to the desktop agent; the desktop agent receives the startup notification message and deploys to the local desktop deployed on the user terminal through the transmission channel of the virtual desktop protocol. The client program sends a notification message carrying the parameter information; the desktop client program of the terminal starts the application running the terminal through the Win32 API interface of the related technology according to the application file name and path specified in the parameter information carried in the notification message. program.
图10为本发明实施例虚拟桌面客户端的组成结构示意图,如图10所示,至少包括判断模块1001和处理模块1002;其中,10 is a schematic structural diagram of a virtual desktop client according to an embodiment of the present invention. As shown in FIG. 10, the method includes at least a determining module 1001 and a processing module 1002.
判断模块1001,设置成:判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,通知处理模块1002;The determining module 1001 is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module 1002;
处理模块1002,设置成:接收到通知,获取被拖曳的快捷方式图标对应的文件名;根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;向虚拟机发送通知消息,并携带获得的快捷方式图标的属性信息。The processing module 1002 is configured to: receive a notification, obtain a file name corresponding to the dragged shortcut icon, and obtain attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes the The dragged shortcut icon corresponds to the file name, path, and icon information of the target application; sends a notification message to the virtual machine, and carries the attribute information of the obtained shortcut icon.
本发明实施例还公开了一种实现应用调用的方法,用于虚拟桌面客户端,包括:The embodiment of the invention further discloses a method for implementing an application call, which is used for a virtual desktop client, and includes:
在终端本地的系统桌面上,拖曳应用程序在终端本地桌面上对应的所述指定的快捷方式图标;On the system desktop local to the terminal, drag the corresponding shortcut icon corresponding to the application on the local desktop of the terminal;
虚拟桌面客户端程序判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,所述虚拟桌面客户端程序将所述被拖曳的快捷方式图标作为所述指定的快捷方式图标,并获取所述被拖曳的快捷方式图标对应的文件名; The virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
所述虚拟桌面客户端程序根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
所述虚拟桌面客户端程序向虚拟机发送通知消息,在该通知消息中携带该属性信息。The virtual desktop client program sends a notification message to the virtual machine, where the attribute information is carried in the notification message.
可选地,该方法还包括,如果所述虚拟桌面客户端程序判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。Optionally, the method further includes ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
本发明实施例还公开了一种实现应用调用的方法,用于虚拟机侧,包括:The embodiment of the invention further discloses a method for implementing an application call, which is used on the virtual machine side, and includes:
虚拟机获取终端本地桌面上的,指定的快捷方式图标的属性信息;The virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal;
所述虚拟机在其虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标;Creating, by the virtual machine, a shortcut icon on the virtual desktop corresponding to the specified shortcut icon on the virtual desktop;
当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行安装在终端本地的,该快捷方式图标对应的应用。When the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, the application corresponding to the shortcut icon installed on the terminal is run.
可选地,所述虚拟机获取指定的快捷方式图标的属性信息的步骤之前,该方法还包括:Optionally, before the step of acquiring the attribute information of the specified shortcut icon by the virtual machine, the method further includes:
在终端本地的系统桌面上,拖曳应用程序在终端本地桌面上对应的所述指定的快捷方式图标。On the system desktop local to the terminal, drag the corresponding shortcut icon corresponding to the application on the local desktop of the terminal.
可选地,所述虚拟机获取指定的快捷方式图标的属性信息的步骤包括:Optionally, the step of the virtual machine acquiring the attribute information of the specified shortcut icon includes:
虚拟桌面客户端程序判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,所述虚拟桌面客户端程序将所述被拖曳的快捷方式图标作为所述指定的快捷方式图标,并获取所述被拖曳的快捷方式图标对应的文件名;The virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
所述虚拟桌面客户端程序根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
所述虚拟桌面客户端程序向所述虚拟机内部发送通知消息,在该通知消 息中携带该属性信息。The virtual desktop client program sends a notification message to the inside of the virtual machine, and the notification is cancelled. The attribute information is carried in the interest.
可选地,该方法还包括,如果所述虚拟桌面客户端程序判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。Optionally, the method further includes ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
可选地,所述创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标的步骤包括:Optionally, the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
部署在所述虚拟机内部的桌面代理程序接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息;After receiving the notification message from the virtual desktop client program, the desktop agent deployed in the virtual machine saves the attribute information carried in the notification message;
所述桌面代理程序在所述虚拟机的虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与被拖曳的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;The desktop agent creates a shortcut icon on the virtual desktop of the virtual machine, and the name of the shortcut icon is the same as the name of the shortcut on the desktop of the terminal, and correspondingly saves and corresponds to the dragged shortcut icon. The file name and actual path of the application stored locally in the terminal;
将虚拟桌面上建立的快捷方式图标关联到所述虚拟机中指定的目标存根程序上。Associate a shortcut icon created on the virtual desktop to the target stub program specified in the virtual machine.
可选地,所述创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标的步骤包括:Optionally, the step of creating a shortcut icon that is applied to the virtual desktop corresponding to the specified shortcut icon includes:
使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。By acquiring an icon file or icon data of the terminal application of the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
可选地,所述当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行该快捷方式图标对应的,安装在终端本地的应用的步骤包括:Optionally, when the virtual machine receives the instruction that triggers the shortcut icon on the virtual desktop, the step of running the application corresponding to the shortcut icon and installed on the terminal includes:
当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行与该快捷方式图标所关联的目标存根程序;When the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, running a target stub program associated with the shortcut icon;
所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式图标对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给所述桌面代理程序;The target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent. ;
所述桌面代理程序收到所述启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送携带有所述文件名和路 径的通知消息;After receiving the startup notification message, the desktop agent sends the file name and path to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol. Notification message of the trail;
所述终端本地的桌面客户端程序,根据该通知消息中携带的参数信息中指定的应用程序文件名和路径,启动运行终端本地的应用程序。The desktop client program of the terminal starts the application running locally on the terminal according to the application file name and path specified in the parameter information carried in the notification message.
可选地,该方法还包括:将所述桌面客户端程序隐藏、或最小化、或嵌入、或融合自身的虚拟桌面窗口。Optionally, the method further comprises: hiding, or minimizing, or embedding, or merging the desktop client program into its own virtual desktop window.
本发明实施例还公开了一种虚拟机,包括如上所述的获取模块、创建模块,以及调用模块;其中,The embodiment of the invention further discloses a virtual machine, comprising the obtaining module, the creating module, and the calling module as described above; wherein
所述获取模块设置成:获取终端本地桌面上的,指定的快捷方式图标的属性信息;The obtaining module is configured to: obtain attribute information of the specified shortcut icon on the local desktop of the terminal;
所述创建模块设置成:在虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标;The creating module is configured to: create, on the virtual desktop, a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
所述调用模块设置成:在接收到触发虚拟桌面上的快捷方式图标的指令时,运行安装在终端本地的,该快捷方式图标对应的应用。The calling module is configured to: when receiving an instruction to trigger a shortcut icon on the virtual desktop, run an application corresponding to the shortcut icon installed locally in the terminal.
可选地,所述创建模块设置成按照如下方式创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标:接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息,该属性信息包括所述指定的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;之后,在虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的,指定的快捷方式图标的名称相同,并对应保存与所述指定的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。Optionally, the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon according to the following manner: after receiving the notification message from the virtual desktop client program, save the notification An attribute information carried in the message, where the attribute information includes a file name, a path, and icon information of the target application corresponding to the specified shortcut icon; and then, a shortcut icon is created on the virtual desktop, and the name of the shortcut icon And the name of the designated shortcut icon on the desktop of the terminal is the same, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon; the shortcut established on the virtual desktop The mode icon is associated with the specified target stub.
可选地,所述创建模块设置成按照如下方式创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标:Optionally, the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon as follows:
使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。 By acquiring an icon file or icon data of the terminal application of the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
可选地,所述调用模块设置成按照如下方式运行安装在终端本地的,该快捷方式图标对应的应用:在接收到触发虚拟桌面上的快捷方式图标的指令时,运行与该快捷方式图标所关联的目标存根程序;通知所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式图标对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发出;收到目标存根程序发送的携带快捷方式图标对应的终端应用程序的文件名和路径的启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息,使得终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,启动运行终端本地的应用程序。Optionally, the calling module is configured to run an application corresponding to the shortcut icon installed in the terminal according to the following manner: when receiving an instruction to trigger a shortcut icon on the virtual desktop, running the icon with the shortcut icon The associated target stub program is notified that the target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message. After being sent, the file name of the terminal application and the start notification message of the path corresponding to the shortcut icon sent by the target stub program are sent to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol. The notification message of the file name and the path causes the desktop client program of the terminal to start the application running the terminal local according to the application file name and path specified in the parameter information carried in the notification message.
本发明实施例还公开了一种虚拟桌面客户端,包括如上所述的判断模块和处理模块;其中,The embodiment of the invention further discloses a virtual desktop client, comprising the judging module and the processing module as described above;
所述判断模块设置成:判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,通知所述处理模块;The determining module is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module;
所述处理模块设置成:接收到来自所述判断模块的通知,获取被拖曳的快捷方式图标对应的文件名;根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;向虚拟机发送通知消息,在该通知消息中携带获得的快捷方式图标的属性信息。The processing module is configured to: receive a notification from the determining module, and obtain a file name corresponding to the dragged shortcut icon; and obtain attribute information of the dragged shortcut icon according to the obtained file name, where The attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon. The notification message is sent to the virtual machine, and the attribute information of the obtained shortcut icon is carried in the notification message.
本发明实施例还公开了一种计算机程序,包括程序指令,当该程序指令被虚拟机执行时,使得该虚拟机可执行上述任意的虚拟机侧的实现应用调用的方法。The embodiment of the invention further discloses a computer program, comprising program instructions, when the program instruction is executed by the virtual machine, the virtual machine can execute the method of implementing the application call on any of the virtual machine sides.
本发明实施例还公开了一种载有所述的计算机程序的载体。The embodiment of the invention also discloses a carrier carrying the computer program.
本发明实施例还公开了一种计算机程序,包括程序指令,当该程序指令被虚拟桌面客户端执行时,使得该虚拟桌面客户端可执行上述任意的虚拟桌 面客户端侧的实现应用调用的方法。The embodiment of the invention further discloses a computer program, comprising program instructions, when the program instruction is executed by the virtual desktop client, enabling the virtual desktop client to execute any of the above virtual tables. The method on the client side that implements the application call.
本发明实施例还公开了一种载有所述的计算机程序的载体。The embodiment of the invention also discloses a carrier carrying the computer program.
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above is only a preferred embodiment of the present invention and is not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.
工业实用性Industrial applicability
与相关技术相比,本申请技术方案包括虚拟机获取指定的快捷方式图标的属性信息;虚拟机在其虚拟桌面上创建与指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标;当触发虚拟桌面上的快捷方式图标时,运行该快捷方式图标对应的安装在终端本地的应用。本发明方法解决了相关技术中存在的虚拟桌面应用和终端本地应用完全隔离、不能方便的快捷启动的问题和缺点,提供了在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面用户的易用性和便捷度,进一步提高了虚拟桌面在操作和使用方面的自动化水平。因此本发明具有很强的工业实用性。 Compared with the related art, the technical solution of the present application includes the virtual machine acquiring the attribute information of the specified shortcut icon; the virtual machine creates a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop on the virtual desktop; when triggered When the shortcut icon on the virtual desktop is run, the shortcut icon is displayed corresponding to the application installed locally on the terminal. The method of the invention solves the problems and disadvantages that the virtual desktop application and the terminal local application are completely isolated and cannot be conveniently and quickly launched in the related art, and provides a quick connection of the application shortcut soft link between the virtual desktop and the end user local. The technical solution achieves the purpose of directly starting the terminal local application in the virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop, thereby greatly improving the ease of use and convenience of the desktop user, further Increased automation of virtual desktops in terms of operation and use. Therefore, the present invention has strong industrial applicability.

Claims (15)

  1. 一种实现应用调用的方法,包括:A method of implementing an application call, including:
    虚拟机获取终端本地桌面上的,指定的快捷方式图标的属性信息;The virtual machine obtains the attribute information of the specified shortcut icon on the local desktop of the terminal;
    所述虚拟机在其虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标;Creating, by the virtual machine, a shortcut icon on the virtual desktop corresponding to the specified shortcut icon on the virtual desktop;
    当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行安装在终端本地的,该快捷方式图标对应的应用。When the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, the application corresponding to the shortcut icon installed on the terminal is run.
  2. 根据权利要求1所述的实现应用调用的方法,其中,所述虚拟机获取指定的快捷方式图标的属性信息的步骤之前,该方法还包括:The method for implementing an application call according to claim 1, wherein before the step of acquiring the attribute information of the specified shortcut icon by the virtual machine, the method further includes:
    在终端本地的系统桌面上,拖曳应用程序在终端本地桌面上对应的所述指定的快捷方式图标。On the system desktop local to the terminal, drag the corresponding shortcut icon corresponding to the application on the local desktop of the terminal.
  3. 根据权利要求2所述的实现应用调用的方法,其中,所述虚拟机获取指定的快捷方式图标的属性信息的步骤包括:The method for implementing an application call according to claim 2, wherein the step of the virtual machine acquiring the attribute information of the specified shortcut icon comprises:
    虚拟桌面客户端程序判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,所述虚拟桌面客户端程序将所述被拖曳的快捷方式图标作为所述指定的快捷方式图标,并获取所述被拖曳的快捷方式图标对应的文件名;The virtual desktop client program determines whether the mouse drag operation is released in the client area of the virtual desktop window, and the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and acquires The file name corresponding to the dragged shortcut icon;
    所述虚拟桌面客户端程序根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client program acquires attribute information of the dragged shortcut icon according to the obtained file name, where the attribute information includes a file name and a path of the target application corresponding to the dragged shortcut icon. And icon information;
    所述虚拟桌面客户端程序向所述虚拟机内部发送通知消息,在该通知消息中携带该属性信息。The virtual desktop client program sends a notification message to the inside of the virtual machine, and the attribute information is carried in the notification message.
  4. 根据权利要求3所述的实现应用调用的方法,该方法还包括,如果所述虚拟桌面客户端程序判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。The method for implementing an application call according to claim 3, further comprising ending the process if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area.
  5. 根据权利要求3所述的实现应用调用的方法,其中,所述创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标的步骤包括: The method for implementing an application call according to claim 3, wherein the step of creating a shortcut icon on the virtual desktop corresponding to the specified shortcut icon comprises:
    部署在所述虚拟机内部的桌面代理程序接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息;After receiving the notification message from the virtual desktop client program, the desktop agent deployed in the virtual machine saves the attribute information carried in the notification message;
    所述桌面代理程序在所述虚拟机的虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与被拖曳的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;The desktop agent creates a shortcut icon on the virtual desktop of the virtual machine, and the name of the shortcut icon is the same as the name of the shortcut on the desktop of the terminal, and correspondingly saves and corresponds to the dragged shortcut icon. The file name and actual path of the application stored locally in the terminal;
    将虚拟桌面上建立的快捷方式图标关联到所述虚拟机中指定的目标存根程序上。Associate a shortcut icon created on the virtual desktop to the target stub program specified in the virtual machine.
  6. 根据权利要求5所述的实现应用调用的方法,其中,所述创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标的步骤包括:The method for implementing an application call according to claim 5, wherein the step of creating a shortcut icon on the virtual desktop corresponding to the specified shortcut icon comprises:
    使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
    通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。By acquiring an icon file or icon data of the terminal application of the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
  7. 根据权利要求5所述的实现应用调用的方法,其中,所述当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行该快捷方式图标对应的,安装在终端本地的应用的步骤包括:The method for implementing an application call according to claim 5, wherein when the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, the application corresponding to the shortcut icon and installed in the terminal is executed. The steps include:
    当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的指令时,运行与该快捷方式图标所关联的目标存根程序;When the virtual machine receives an instruction to trigger a shortcut icon on the virtual desktop, running a target stub program associated with the shortcut icon;
    所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式图标对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给所述桌面代理程序;The target stub program first obtains the file name and path of the terminal application corresponding to the shortcut icon created on the virtual desktop, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent. ;
    所述桌面代理程序收到所述启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息;After receiving the startup notification message, the desktop agent sends a notification message carrying the file name and path to a desktop client program deployed on the user terminal through a transmission channel of the virtual desktop protocol;
    所述终端本地的桌面客户端程序,根据该通知消息中携带的参数信息中指定的应用程序文件名和路径,启动运行终端本地的应用程序。The desktop client program of the terminal starts the application running locally on the terminal according to the application file name and path specified in the parameter information carried in the notification message.
  8. 根据权利要求7所述的实现应用调用的方法,该方法还包括:将所述 桌面客户端程序隐藏、或最小化、或嵌入、或融合自身的虚拟桌面窗口。The method of implementing an application call according to claim 7, further comprising: said The desktop client program hides, or minimizes, or embeds, or fuses its own virtual desktop window.
  9. 一种虚拟机,包括获取模块、创建模块,以及调用模块;其中,A virtual machine includes an acquisition module, a creation module, and a calling module; wherein
    所述获取模块设置成:获取终端本地桌面上的,指定的快捷方式图标的属性信息;The obtaining module is configured to: obtain attribute information of the specified shortcut icon on the local desktop of the terminal;
    所述创建模块设置成:在虚拟桌面上创建与所述指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标;The creating module is configured to: create, on the virtual desktop, a shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
    所述调用模块设置成:在接收到触发虚拟桌面上的快捷方式图标的指令时,运行安装在终端本地的,该快捷方式图标对应的应用。The calling module is configured to: when receiving an instruction to trigger a shortcut icon on the virtual desktop, run an application corresponding to the shortcut icon installed locally in the terminal.
  10. 根据权利要求9所述的虚拟机,其中,所述创建模块设置成按照如下方式创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标:接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息,该属性信息包括所述指定的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;之后,在虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的,指定的快捷方式图标的名称相同,并对应保存与所述指定的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。The virtual machine according to claim 9, wherein the creating module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon as follows: receiving the client program from the virtual desktop After the notification message, the attribute information carried in the notification message is saved, and the attribute information includes a file name, a path, and icon information of the target application corresponding to the specified shortcut icon; and then, a shortcut is created on the virtual desktop. An icon, the name of the shortcut icon is the same as the name of the specified shortcut icon on the terminal desktop, and correspondingly saves the file name and the actual path of the application stored in the terminal corresponding to the specified shortcut icon. ; Associate the shortcut icon created on the virtual desktop to the specified target stub.
  11. 根据权利要求9或10所述的虚拟机,其中,所述创建模块设置成按照如下方式创建与指定的快捷方式图标对应的应用在虚拟桌面上的快捷方式图标:The virtual machine according to claim 9 or 10, wherein the creation module is configured to create a shortcut icon of the application on the virtual desktop corresponding to the specified shortcut icon as follows:
    使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
    通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。By acquiring an icon file or icon data of the terminal application of the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
  12. 根据权利要求10所述的虚拟机,其中,所述调用模块设置成按照如下方式运行安装在终端本地的,该快捷方式图标对应的应用:在接收到触发虚拟桌面上的快捷方式图标的指令时,运行与该快捷方式图标所关联的目标存根程序;通知所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式 图标对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发出;收到目标存根程序发送的携带快捷方式图标对应的终端应用程序的文件名和路径的启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息,使得终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,启动运行终端本地的应用程序。The virtual machine according to claim 10, wherein the calling module is configured to run an application corresponding to the shortcut icon installed on the terminal in the following manner: when receiving an instruction to trigger a shortcut icon on the virtual desktop Running the target stub program associated with the shortcut icon; notifying the target stub program to first obtain the shortcut created on the virtual desktop The file name and path of the terminal application corresponding to the icon, and the obtained file name and path are carried as parameter information in the startup notification message; the file name and path of the terminal application corresponding to the carrying shortcut icon sent by the target stub program are received. After the notification message is sent, the notification message carrying the file name and the path is sent to the desktop client program deployed on the user terminal through the transmission channel of the virtual desktop protocol, so that the local desktop client program is carried according to the notification message. The application file name and path specified in the parameter information, start the application running the terminal local.
  13. 一种虚拟桌面客户端,包括判断模块和处理模块;其中,A virtual desktop client, comprising a judging module and a processing module; wherein
    所述判断模块设置成:判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,通知所述处理模块;The determining module is configured to: determine whether the mouse drag operation is released in the client area of the virtual desktop window, and notify the processing module;
    所述处理模块设置成:接收到来自所述判断模块的通知,获取被拖曳的快捷方式图标对应的文件名;根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,该属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;向虚拟机发送通知消息,在该通知消息中携带获得的快捷方式图标的属性信息。The processing module is configured to: receive a notification from the determining module, and obtain a file name corresponding to the dragged shortcut icon; and obtain attribute information of the dragged shortcut icon according to the obtained file name, where The attribute information includes a file name, a path, and icon information of the target application corresponding to the dragged shortcut icon. The notification message is sent to the virtual machine, and the attribute information of the obtained shortcut icon is carried in the notification message.
  14. 一种计算机程序,包括程序指令,当该程序指令被虚拟机执行时,使得该虚拟机可执行如权利要求1-8中任一项所述的实现应用调用的方法。A computer program comprising program instructions that, when executed by a virtual machine, cause the virtual machine to perform the method of implementing an application call as claimed in any one of claims 1-8.
  15. 一种载有如权利要求14所述的计算机程序的载体。 A carrier carrying the computer program of claim 14.
PCT/CN2015/076794 2014-12-19 2015-04-16 Method for implementing application call and virtual machine WO2016095383A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410802798.1 2014-12-19
CN201410802798.1A CN104536802B (en) 2014-12-19 2014-12-19 Method for realizing application calling and virtual machine

Publications (1)

Publication Number Publication Date
WO2016095383A1 true WO2016095383A1 (en) 2016-06-23

Family

ID=52852334

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/076794 WO2016095383A1 (en) 2014-12-19 2015-04-16 Method for implementing application call and virtual machine

Country Status (2)

Country Link
CN (1) CN104536802B (en)
WO (1) WO2016095383A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099655A (en) * 2020-10-28 2020-12-18 深圳市启望科文技术有限公司 Method and device for realizing mobile office through voice mouse, computer equipment and storage medium
CN112783596A (en) * 2021-02-03 2021-05-11 广东中兴新支点技术有限公司 Operating system, method and medium for realizing multitask view response of virtual desktop
CN113238691A (en) * 2021-05-27 2021-08-10 维沃移动通信(杭州)有限公司 Application icon management method and device and electronic equipment
CN113656196A (en) * 2021-08-16 2021-11-16 深圳技德智能科技研究院有限公司 Linux-compatible Android application file transfer method and device
CN113885756A (en) * 2021-10-21 2022-01-04 深圳市快易典教育科技有限公司 Desktop icon adjusting method, system, device and storage medium
CN114077367A (en) * 2021-11-29 2022-02-22 北京鲸鲮信息系统技术有限公司 Method and device for realizing shortcut of android application in Linux system
CN114416239A (en) * 2021-12-30 2022-04-29 麒麟软件有限公司 Method for rapidly displaying Android application message notification on Linux system
CN114840351A (en) * 2022-03-18 2022-08-02 阿里巴巴(中国)有限公司 Key event processing method and device, control equipment and readable storage medium
CN116016480A (en) * 2022-12-05 2023-04-25 杭州未斯科技有限公司 Flow automatic control method and system based on virtual desktop

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141608B (en) * 2015-08-25 2018-09-11 浪潮(北京)电子信息产业有限公司 The safety i.e. system and method for service are provided in a kind of cloud operating system
CN107391161B (en) * 2016-05-17 2020-07-07 阿里巴巴集团控股有限公司 JavaScript module installation method and device
CN106886447A (en) * 2017-01-16 2017-06-23 武汉噢易云计算股份有限公司 The system and method for 3-D graphic software performance is lifted based on cloud computing
CN107256162B (en) * 2017-06-13 2020-12-08 时瑞科技(深圳)有限公司 Desktop management method based on Windows visual characteristics and personalization
CN108255547B (en) * 2017-09-28 2021-05-28 新华三云计算技术有限公司 Application program control method and device
CN109656646B (en) * 2017-10-11 2022-05-24 阿里巴巴集团控股有限公司 Remote desktop control method, device, equipment and virtualization chip
CN107783811A (en) * 2017-11-15 2018-03-09 北京易讯通信息技术股份有限公司 A kind of controllable document transmission method in virtual desktop environment
CN109960551B (en) * 2017-12-26 2023-03-28 中国电信股份有限公司 Cloud desktop service method, platform and computer readable storage medium
WO2019127476A1 (en) * 2017-12-29 2019-07-04 深圳前海达闼云端智能科技有限公司 Virtual system bluetooth communication method and device, virtual system, storage medium, and electronic apparatus
CN108519900B (en) * 2018-03-28 2021-03-09 新华三云计算技术有限公司 Display window control method and device and server
CN108769135B (en) * 2018-05-07 2021-01-12 广州杰赛科技股份有限公司 Cloud desktop connection method, device, equipment and system
CN110413365B (en) * 2019-07-29 2022-11-11 锐捷网络股份有限公司 Fusion scheduling method and device
CN110457132B (en) * 2019-08-01 2022-08-05 武汉斗鱼鱼乐网络科技有限公司 Method and device for creating functional object and terminal equipment
CN110442389B (en) * 2019-08-07 2024-01-09 北京技德系统技术有限公司 Method for sharing GPU (graphics processing Unit) in multi-desktop environment
CN110837405B (en) * 2019-11-04 2024-05-24 西安雷风电子科技有限公司 Multi-instance graphic desktop operation and switching method based on container technology
CN115623115B (en) * 2020-03-31 2024-06-18 华为技术有限公司 Method, device, system and storage medium for creating application shortcut across devices
CN111782318A (en) * 2020-06-16 2020-10-16 贵州省广播电视信息网络股份有限公司 Sharing access system and method for remotely mounting local disk to cloud desktop virtual machine
CN114519034A (en) * 2020-11-20 2022-05-20 华为技术有限公司 File operation method and related equipment
CN112748831A (en) * 2020-12-23 2021-05-04 湖南麒麟信安科技股份有限公司 Method, device and medium for opening virtual application through desktop shortcut
CN115617223A (en) * 2021-07-12 2023-01-17 广州视源电子科技股份有限公司 Switching control method and device, interactive intelligent panel and storage medium
WO2023056620A1 (en) * 2021-10-09 2023-04-13 广州视源电子科技股份有限公司 Desktop application control method and apparatus, electronic device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283269A1 (en) * 2010-02-24 2013-10-24 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
CN103677970A (en) * 2012-09-24 2014-03-26 北京云端时代科技有限公司 System and method for achieving combination display of terminal local desktop and far-end virtual desktop
CN104216607A (en) * 2013-09-05 2014-12-17 侯金涛 Icon dragging method and system based on HTML5 virtual operation system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192129B (en) * 2006-11-30 2012-05-30 重庆优腾信息技术有限公司 Table top background control method and device
TW201229902A (en) * 2011-01-12 2012-07-16 Hon Hai Prec Ind Co Ltd Method of launching application in VM
CN102591671A (en) * 2011-01-14 2012-07-18 鸿富锦精密工业(深圳)有限公司 Method for starting application program in virtual environment
CN103442007A (en) * 2013-08-29 2013-12-11 成都卫士通信息安全技术有限公司 Far-end application service accessing method based on virtual desktop control mode
CN105335176B (en) * 2014-07-22 2019-10-25 南京中兴软件有限责任公司 A kind of method and device for calling the application being installed on electronic equipment
CN104202357A (en) * 2014-08-08 2014-12-10 深信服网络科技(深圳)有限公司 Content sharing method and content sharing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283269A1 (en) * 2010-02-24 2013-10-24 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
CN103677970A (en) * 2012-09-24 2014-03-26 北京云端时代科技有限公司 System and method for achieving combination display of terminal local desktop and far-end virtual desktop
CN104216607A (en) * 2013-09-05 2014-12-17 侯金涛 Icon dragging method and system based on HTML5 virtual operation system

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099655A (en) * 2020-10-28 2020-12-18 深圳市启望科文技术有限公司 Method and device for realizing mobile office through voice mouse, computer equipment and storage medium
CN112783596A (en) * 2021-02-03 2021-05-11 广东中兴新支点技术有限公司 Operating system, method and medium for realizing multitask view response of virtual desktop
CN112783596B (en) * 2021-02-03 2024-04-05 广东中兴新支点技术有限公司 Operating system, method and medium for realizing virtual desktop multitasking view response
CN113238691A (en) * 2021-05-27 2021-08-10 维沃移动通信(杭州)有限公司 Application icon management method and device and electronic equipment
CN113238691B (en) * 2021-05-27 2024-03-01 维沃移动通信(杭州)有限公司 Application icon management method and device and electronic equipment
CN113656196B (en) * 2021-08-16 2024-02-27 深圳技德应用技术有限公司 Method and device for transferring files between applications of Linux compatible with Android
CN113656196A (en) * 2021-08-16 2021-11-16 深圳技德智能科技研究院有限公司 Linux-compatible Android application file transfer method and device
CN113885756A (en) * 2021-10-21 2022-01-04 深圳市快易典教育科技有限公司 Desktop icon adjusting method, system, device and storage medium
CN114077367A (en) * 2021-11-29 2022-02-22 北京鲸鲮信息系统技术有限公司 Method and device for realizing shortcut of android application in Linux system
CN114416239A (en) * 2021-12-30 2022-04-29 麒麟软件有限公司 Method for rapidly displaying Android application message notification on Linux system
CN114416239B (en) * 2021-12-30 2023-08-22 麒麟软件有限公司 Method for rapidly displaying Android application message notification on Linux system
CN114840351A (en) * 2022-03-18 2022-08-02 阿里巴巴(中国)有限公司 Key event processing method and device, control equipment and readable storage medium
CN116016480B (en) * 2022-12-05 2023-09-29 杭州未斯科技有限公司 Flow automatic control method and system based on virtual desktop
CN116016480A (en) * 2022-12-05 2023-04-25 杭州未斯科技有限公司 Flow automatic control method and system based on virtual desktop

Also Published As

Publication number Publication date
CN104536802B (en) 2021-05-04
CN104536802A (en) 2015-04-22

Similar Documents

Publication Publication Date Title
WO2016095383A1 (en) Method for implementing application call and virtual machine
CN108021425B (en) Virtual desktop system integrating multiple application graphic windows and operation method
WO2015117539A1 (en) Method and apparatus for invoking application installed on electronic device
EP3183649B1 (en) Application publishing using memory state sharing
US9406099B2 (en) Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware
CN105765534B (en) Virtual computing system and method
US8484653B2 (en) Mechanism for delayed hardware upgrades in virtualization systems
US20210224100A1 (en) Virtual machine migration using multiple, synchronized streams of state data
CN110032413B (en) Desktop virtualization method, related equipment and computer storage medium
US9880868B2 (en) Modifying an OS installer to allow for hypervisor-specific adjustment of an OS
US8671404B2 (en) Distributing and managing virtual machines
US9286094B2 (en) Human interface device virtualization using paravirtual USB system
CN104598294B (en) Efficient and safe virtualization method for mobile equipment and equipment thereof
US20140115606A1 (en) Multi-platform mobile and other computing devices and methods
US20150193285A1 (en) Hosted app integration services in multi-operating system mobile and other computing devices
WO2023202179A1 (en) Container hot migration method and container hot migration apparatus
EP3701373B1 (en) Virtualization operations for directly assigned devices
US11875145B2 (en) Virtual machine update while keeping devices attached to the virtual machine
CN108255547B (en) Application program control method and device
CN115943365A (en) Method and system for instantiating and transparently migrating a containerized process in execution
CN106233226B (en) In-process trap for service replacement within hosted applications executing on mobile devices
US20150193284A1 (en) Host/hosted hybrid apps in multi-operating system mobile and other computing devices
US11487559B2 (en) Dynamically switching between pointer modes
US20230026015A1 (en) Migration of virtual computing storage resources using smart network interface controller acceleration
Finamore et al. Vector permutation encoding for the uniform sources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15868899

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15868899

Country of ref document: EP

Kind code of ref document: A1