CN111367610A - File dragging method and device between client system and cloud virtual machine - Google Patents

File dragging method and device between client system and cloud virtual machine Download PDF

Info

Publication number
CN111367610A
CN111367610A CN202010154782.XA CN202010154782A CN111367610A CN 111367610 A CN111367610 A CN 111367610A CN 202010154782 A CN202010154782 A CN 202010154782A CN 111367610 A CN111367610 A CN 111367610A
Authority
CN
China
Prior art keywords
file
computing environment
client
simple protocol
independent computing
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202010154782.XA
Other languages
Chinese (zh)
Other versions
CN111367610B (en
Inventor
苏冉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010154782.XA priority Critical patent/CN111367610B/en
Publication of CN111367610A publication Critical patent/CN111367610A/en
Application granted granted Critical
Publication of CN111367610B publication Critical patent/CN111367610B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/196Specific adaptations of the file system to access devices and non-file objects via standard file system access operations, e.g. pseudo file systems
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

The invention discloses a method and a device for dragging a file between a client system and a cloud virtual machine, wherein the method comprises the following steps: triggering a mouse trapping event when a first dragging event occurs through a special input channel; when the mouse moves to the edge between the client and the server of the simple protocol of the independent computing environment, the mouse is prohibited from moving by the SPICE-gtk characteristic according to the mouse trapping event; creating a temporary virtual machine window in a position corresponding to the mouse trapping event in the cloud virtual machine through the SPICE-gtk characteristic through the SPICE-vdagent characteristic, and allowing the mouse to move according to the mouse trapping event; and after the mouse trapping event is released, obtaining a first file path of a first dragging file related to the first dragging event through the temporary virtual machine window by using the SPICE-gtk characteristic, transmitting the first dragging file according to the first file path and closing the temporary virtual machine window. The method and the system can allow the client system and the desktop of the cloud virtual machine to execute file dragging, and improve the usability of the console of the cloud computing platform.

Description

File dragging method and device between client system and cloud virtual machine
Technical Field
The present invention relates to the field of virtual machines, and in particular, to a method and an apparatus for dragging a file between a client system and a cloud virtual machine.
Background
With the improvement of the requirements on the flexibility and the use efficiency of hardware resources, the virtualization technology becomes a core foundation for cloud computing and big data, and is widely popularized and applied. Virtualization is an indispensable key technology for building a cloud infrastructure. By using the virtual machine technology and the platform, physical resources are not required to be directly used, so that expensive and scarce physical resources can be more effectively and dynamically utilized, and in short, virtualization is a solution for simplifying management and optimizing resources.
Virtual desktop is an important application, technology is mature day by day, and a convenient, centralized and safe management mode is provided for enterprises or other scenes. Due to the characteristics of safety, convenience, high efficiency and safety of the virtual desktop, a great deal of technical personnel is attracted to research and improve the technology.
Since KVM-based virtualization is currently the most prevalent open source virtualization platform. The full virtualization platform solution is a SPICE protocol solution with a full open source for virtual desktop application, and SPICE mainly aims to provide high-quality remote desktop access for a QEMU virtual machine, aims to overcome some defects of the traditional virtual desktop, and emphasizes user experience. There are still many known drawbacks such as not supporting file drag movement between the host and client.
Aiming at the problem that desktop files cannot be dragged and moved in the prior art, no effective solution is available at present.
Disclosure of Invention
In view of this, an object of the embodiments of the present invention is to provide a method and an apparatus for file dragging between a client system and a cloud virtual machine, which can allow the client system and a desktop of the cloud virtual machine to perform file dragging, and improve usability of a console of a cloud computing platform.
In view of the above object, a first aspect of the embodiments of the present invention provides a file dragging method between a client system and a cloud virtual machine, including, in response to a first dragging event that occurs to drag a file from a virtual desktop to the client desktop, performing the following steps:
triggering a mouse trapping event when a first dragging event occurs through a special input channel between a client of the independent computing environment simple protocol and a server of the independent computing environment simple protocol;
when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event;
creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event;
and after the mouse trapping event is released, obtaining a first file path of a first dragging file related to the first dragging event through the temporary virtual machine window by using the SPICE-gtk characteristic, transmitting the first dragging file according to the first file path and closing the temporary virtual machine window.
In some embodiments, transmitting the first drag file according to the first file path comprises:
converting the first file path into socket information by a server of the independent computing environment simple protocol to be sent to the rapid simulation processor through a socket interface;
and reading the first file path from the socket information by the rapid simulation processor, reading the first dragging file according to the first file path, and sending the first dragging file to the client of the independent computing environment simple protocol through the server of the independent computing environment simple protocol.
In some embodiments, the method further comprises performing the following steps in response to the occurrence of a second drag event that drags a file from the client desktop to the virtual desktop:
responding to the second drag event by the server of the independent computing environment simple protocol by using the SPICE-gtk characteristic to acquire a second file path of a second drag file related to the second drag event;
converting, by the client of the independent computing environment simple protocol, the second file path into socket information to be sent to the fast simulation processor through the socket interface;
and reading the second file path from the socket information by the rapid simulation processor so as to read the second dragged file and send the second dragged file to the server of the independent computing environment simple protocol through the client of the independent computing environment simple protocol.
In some embodiments, the method further comprises performing the following steps prior to a drag event that drags the file from the virtual desktop to the client desktop and a drag event that drags the file from the client desktop to the virtual desktop:
respectively installing a system virtualization framework on a client and a cloud, and accessing the cloud through a virtualization platform based on the system virtualization framework on the client to create one or more cloud virtual machines;
installing a client of the independent computing environment simple protocol to the client, installing a server of the independent computing environment simple protocol to the cloud, and respectively installing agent ends of the independent computing environment simple protocol to one or more cloud virtual machines to construct an independent computing environment simple protocol network;
a console of one or more cloud virtual machines is accessed at a client over a standalone computing environment simple protocol network using an executable of a standalone computing environment simple protocol.
In some embodiments, the temporary virtual machine window is not visible to the user.
A second aspect of the embodiments of the present invention provides a file dragging device between a client system and a cloud virtual machine, including:
a processor; and
a memory storing program code executable by the processor, the program code when executed performing the following in response to occurrence of a first drag event that drags a file from a virtual desktop to a client desktop:
triggering a mouse trapping event when a first dragging event occurs through a special input channel between a client of the independent computing environment simple protocol and a server of the independent computing environment simple protocol;
when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event;
creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event;
obtaining a first file path of a first dragging file related to a first dragging event through a temporary virtual machine window by SPICE-gtk characteristics after the mouse is released into the event; the first drag file is transmitted according to the first file path and the temporary virtual machine window is closed.
In some embodiments, transmitting the first drag file according to the first file path comprises:
converting the first file path into socket information by a server of the independent computing environment simple protocol to be sent to the rapid simulation processor through a socket interface;
and reading the first file path from the socket information by the rapid simulation processor, reading the first dragging file according to the first file path, and sending the first dragging file to the client of the independent computing environment simple protocol through the server of the independent computing environment simple protocol.
In some embodiments, the program code, when executed, further performs the following in response to the occurrence of a second drag event that drags a file from the client desktop to the virtual desktop:
responding to the second drag event by the server of the independent computing environment simple protocol by using the SPICE-gtk characteristic to acquire a second file path of a second drag file related to the second drag event;
converting, by the client of the independent computing environment simple protocol, the second file path into socket information to be sent to the fast simulation processor through the socket interface;
and reading the second file path from the socket information by the rapid simulation processor so as to read the second dragged file and send the second dragged file to the server of the independent computing environment simple protocol through the client of the independent computing environment simple protocol.
In some embodiments, the program code, when executed, further performs the following steps prior to a drag event that drags a file from the virtual desktop to the client desktop and a drag event that drags a file from the client desktop to the virtual desktop occurring:
respectively installing a system virtualization framework on a client and a cloud, and accessing the cloud through a virtualization platform based on the system virtualization framework on the client to create one or more cloud virtual machines;
installing a client of the independent computing environment simple protocol to the client, installing a server of the independent computing environment simple protocol to the cloud, and respectively installing agent ends of the independent computing environment simple protocol to one or more cloud virtual machines to construct an independent computing environment simple protocol network;
a console of one or more cloud virtual machines is accessed at a client over a standalone computing environment simple protocol network using an executable of a standalone computing environment simple protocol.
In some embodiments, the temporary virtual machine window is not visible to the user.
The invention has the following beneficial technical effects: according to the file dragging method and device between the client system and the cloud virtual machine, a mouse trapping event is triggered when a first dragging event occurs through a special input channel between a client of an independent computing environment simple protocol and a server of the independent computing environment simple protocol; when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event; creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event; after the mouse is trapped in the event and released, a first file path of a first dragging file related to the first dragging event is obtained through a temporary virtual machine window by SPICE-gtk characteristics, the first dragging file is transmitted according to the first file path, and the temporary virtual machine window is closed.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a file dragging method between a client system and a cloud virtual machine according to the present invention;
fig. 2 is a first dragging schematic diagram of a file dragging method between a client system and a cloud virtual machine according to the present invention;
fig. 3 is a first dragging schematic diagram of a file dragging method between a client system and a cloud virtual machine according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention are described in further detail with reference to the accompanying drawings.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two entities with the same name but different names or different parameters, and it should be noted that "first" and "second" are merely for convenience of description and should not be construed as limitations of the embodiments of the present invention, and they are not described in any more detail in the following embodiments.
In view of the foregoing, a first aspect of the embodiments of the present invention provides an embodiment of a file dragging method capable of allowing a client system and a desktop of a cloud virtual machine to perform file dragging. Fig. 1 is a schematic flowchart illustrating a file dragging method between a client system and a cloud virtual machine according to the present invention.
The method for dragging the file between the client system and the cloud virtual machine, as shown in fig. 1, includes the following steps executed in response to a first dragging event that drags the file from the virtual desktop to the client desktop occurs:
step S101: triggering a mouse trapping event when a first dragging event occurs through a special input channel between a client of the independent computing environment simple protocol and a server of the independent computing environment simple protocol;
step S103: when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event;
step S105: creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event;
step S107: and after the mouse trapping event is released, obtaining a first file path of a first dragging file related to the first dragging event through the temporary virtual machine window by using the SPICE-gtk characteristic, transmitting the first dragging file according to the first file path and closing the temporary virtual machine window.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), a Random Access Memory (RAM), or the like. Embodiments of the computer program may achieve the same or similar effects as any of the preceding method embodiments to which it corresponds.
In some embodiments, transmitting the first drag file according to the first file path comprises:
converting the first file path into socket information by a server of the independent computing environment simple protocol to be sent to the rapid simulation processor through a socket interface;
and reading the first file path from the socket information by the rapid simulation processor, reading the first dragging file according to the first file path, and sending the first dragging file to the client of the independent computing environment simple protocol through the server of the independent computing environment simple protocol.
In some embodiments, the method further comprises performing the following steps in response to the occurrence of a second drag event that drags a file from the client desktop to the virtual desktop:
responding to the second drag event by the server of the independent computing environment simple protocol by using the SPICE-gtk characteristic to acquire a second file path of a second drag file related to the second drag event;
converting, by the client of the independent computing environment simple protocol, the second file path into socket information to be sent to the fast simulation processor through the socket interface;
and reading the second file path from the socket information by the rapid simulation processor so as to read the second dragged file and send the second dragged file to the server of the independent computing environment simple protocol through the client of the independent computing environment simple protocol.
In some embodiments, the method further comprises performing the following steps prior to a drag event that drags the file from the virtual desktop to the client desktop and a drag event that drags the file from the client desktop to the virtual desktop:
respectively installing a system virtualization framework on a client and a cloud, and accessing the cloud through a virtualization platform based on the system virtualization framework on the client to create one or more cloud virtual machines;
installing a client of the independent computing environment simple protocol to the client, installing a server of the independent computing environment simple protocol to the cloud, and respectively installing agent ends of the independent computing environment simple protocol to one or more cloud virtual machines to construct an independent computing environment simple protocol network;
a console of one or more cloud virtual machines is accessed at a client over a standalone computing environment simple protocol network using an executable of a standalone computing environment simple protocol.
In some embodiments, the temporary virtual machine window is not visible to the user.
The method disclosed according to an embodiment of the present invention may also be implemented as a computer program executed by a CPU (central processing unit), and the computer program may be stored in a computer-readable storage medium. The computer program, when executed by the CPU, performs the above-described functions defined in the method disclosed in the embodiments of the present invention. The above-described method steps and system elements may also be implemented using a controller and a computer-readable storage medium for storing a computer program for causing the controller to implement the functions of the above-described steps or elements.
The following further illustrates embodiments of the invention in terms of specific examples.
The SPICE protocol (independent computing environment simple protocol) is a remote transport protocol based entirely on KVM (virtualization framework) implementations, so there are natural compatibility advantages to KVM frameworks. There are also other commercial levels of remote desktop protocols: ORCAD, ICA, PCoIP, etc. In contrast, SPICE is an open source, is easy to expand and customize, and supports rich media formats: video, audio, images and the like in mainstream formats are fully compatible with the virtual machine, so that the platform of win, linux and macos is supported, and data can be transmitted by using OpenSSL encryption.
The SPICE architecture contains 3 components: SPICE Driver QXL device and Driver, components existing in each virtual desktop; SPICE Server, a component existing in the virtualized Hypervisor of the red hat enterprise, is a libspice. so, is loaded and initialized by QEMU, and interacts with the QEMU through SPICE protocol; SPICE Client the component on which the SPICE Client resides on the terminal device, which may be a thin Client or a dedicated PC, is used to access each virtual desktop. The above component systems operate cooperatively to determine the most efficient location of processing, thus reducing system load in the most efficient manner. The SPICE protocol adopts a multi-channel design, and different channels create respective independent threads to process different services, including a main channel, an input channel, a display channel and the like.
When the Client interacts with the virtual machine, the Spice Agent (the Agent end of the independent computing environment simple protocol) runs inside the virtual machine, and the Spice server (the server end of the independent computing environment simple protocol) and the Spice Client (the Client end of the independent computing environment simple protocol) can utilize the Agent to execute some tasks inside the virtual machine. Spice Agent needs to interact with VDIPort Device of QEMU (fast analog processor) on the host through VDIPort Driver. Through the protocol framework, interaction between the two can be conveniently realized, such as dragging a file from a client to the inside of a virtual machine.
Environment preparation at implementation time: the method comprises the steps that a virtualization platform host/Windows client/Windwos virtual machine is respectively provided with a Spice-server, a Spice-client and a Spice-Agent, and the virtual platform host/Windows client/Windwos virtual machine is directly installed in a mode of opensource community official installation link or yum and the like. And a command line is used for checking related installation packages, so that accurate installation is ensured. Accessing a virtualization platform based on a KVM framework at a Windows client, creating a plurality of Windows virtual machines, installing Spice-agents in the virtual machines and confirming that the installation is successful; and running an executable program (. exe file) of Spice on the Windows client, and accessing the Windows virtual machine console.
The manner in which the first drag is performed is detailed in fig. 2. As shown in fig. 2, through a dedicated input channel between the Client and the Server, a trapping event is triggered by clicking a mouse when a drag operation is performed inside the virtual machine: when the mouse moves to the edge, a signal for forbidding the movement is triggered, and the spice-gtk at the Server end gives out a corresponding spice-vdagent which is returned to the Client. Through spice-vdagent, at this time, the Widows virtual machine can create another virtual machine window and start waiting. And sending a release signal when the mouse is moved, and enabling the spice-gtk to obtain the signal and enter a path for obtaining the file. And the file movement can be completed by acquiring the file path, and at the moment, the file movement is completed after windows destruction is carried out.
The manner in which the first drag is performed is detailed in fig. 3. As shown in fig. 3, the SPICE-gtk characteristic in the spaceserver end can obtain a file path according to a mouse event, the spaceserver end sends the obtained file path to the QEMU through a Socket interface, and the QEMU returns a return to the client through the Server after performing relevant data processing, that is, file dragging is realized.
It can be seen from the foregoing embodiment that, in the file dragging method between the client system and the cloud virtual machine provided in the embodiment of the present invention, a mouse trapping event is triggered when a first dragging event occurs through a dedicated input channel between the client of the independent computing environment simple protocol and the server of the independent computing environment simple protocol; when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event; creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event; after the mouse is trapped in the event and released, a first file path of a first dragging file related to the first dragging event is obtained through a temporary virtual machine window by SPICE-gtk characteristics, the first dragging file is transmitted according to the first file path, and the temporary virtual machine window is closed.
It should be particularly noted that, the steps in the embodiments of the file dragging method between the client system and the cloud virtual machine may be intersected, replaced, added, and deleted, and therefore, these reasonable permutation and combination transformations should also belong to the scope of the present invention, and should not limit the scope of the present invention to the described embodiments.
In view of the foregoing, according to a second aspect of the embodiments of the present invention, an embodiment of a file dragging device capable of allowing a client system and a desktop of a cloud virtual machine to perform file dragging is provided. The file dragging device between the client system and the cloud virtual machine comprises:
a processor; and
a memory storing program code executable by the processor, the program code when executed performing the following in response to occurrence of a first drag event that drags a file from a virtual desktop to a client desktop:
triggering a mouse trapping event when a first dragging event occurs through a special input channel between a client of the independent computing environment simple protocol and a server of the independent computing environment simple protocol;
when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event;
creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event;
obtaining a first file path of a first dragging file related to a first dragging event through a temporary virtual machine window by SPICE-gtk characteristics after the mouse is released into the event; the first drag file is transmitted according to the first file path and the temporary virtual machine window is closed.
In some embodiments, transmitting the first drag file according to the first file path comprises:
converting the first file path into socket information by a server of the independent computing environment simple protocol to be sent to the rapid simulation processor through a socket interface;
and reading the first file path from the socket information by the rapid simulation processor, reading the first dragging file according to the first file path, and sending the first dragging file to the client of the independent computing environment simple protocol through the server of the independent computing environment simple protocol.
In some embodiments, the program code, when executed, further performs the following in response to the occurrence of a second drag event that drags a file from the client desktop to the virtual desktop:
responding to the second drag event by the server of the independent computing environment simple protocol by using the SPICE-gtk characteristic to acquire a second file path of a second drag file related to the second drag event;
converting, by the client of the independent computing environment simple protocol, the second file path into socket information to be sent to the fast simulation processor through the socket interface;
and reading the second file path from the socket information by the rapid simulation processor so as to read the second dragged file and send the second dragged file to the server of the independent computing environment simple protocol through the client of the independent computing environment simple protocol.
In some embodiments, the program code, when executed, further performs the following steps prior to a drag event that drags a file from the virtual desktop to the client desktop and a drag event that drags a file from the client desktop to the virtual desktop occurring:
respectively installing a system virtualization framework on a client and a cloud, and accessing the cloud through a virtualization platform based on the system virtualization framework on the client to create one or more cloud virtual machines;
installing a client of the independent computing environment simple protocol to the client, installing a server of the independent computing environment simple protocol to the cloud, and respectively installing agent ends of the independent computing environment simple protocol to one or more cloud virtual machines to construct an independent computing environment simple protocol network;
a console of one or more cloud virtual machines is accessed at a client over a standalone computing environment simple protocol network using an executable of a standalone computing environment simple protocol.
In some embodiments, the temporary virtual machine window is not visible to the user.
It can be seen from the foregoing embodiment that, in the file dragging device between the client system and the cloud virtual machine provided in the embodiment of the present invention, a mouse trapping event is triggered when a first dragging event occurs through a dedicated input channel between the client of the independent computing environment simple protocol and the server of the independent computing environment simple protocol; when the mouse moves to the edge between the client side of the independent computing environment simple protocol and the server side of the independent computing environment simple protocol, the mouse is prohibited from moving by the SPICE-gtk characteristic of the server side of the independent computing environment simple protocol according to the mouse trapping event; creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to a mouse trapping event through the SPICE-vdagent characteristic of a client side of an independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event; after the mouse is trapped in the event and released, a first file path of a first dragging file related to the first dragging event is obtained through a temporary virtual machine window by SPICE-gtk characteristics, the first dragging file is transmitted according to the first file path, and the temporary virtual machine window is closed.
It should be particularly noted that, the above embodiment of the file dragging device between the client system and the cloud virtual machine adopts an embodiment of the file dragging method between the client system and the cloud virtual machine to specifically describe the working processes of the modules, and those skilled in the art can easily think that the modules are applied to other embodiments of the file dragging method between the client system and the cloud virtual machine. Of course, since each step in the file dragging method embodiment between the client system and the cloud virtual machine may be intersected, replaced, added, and deleted, the file dragging device between the client system and the cloud virtual machine, which is transformed by these reasonable permutations and combinations, should also belong to the protection scope of the present invention, and the protection scope of the present invention should not be limited to the above embodiment.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the present disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the disclosed embodiments of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items. The numbers of the embodiments disclosed in the embodiments of the present invention are merely for description, and do not represent the merits of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of an embodiment of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.

Claims (10)

1. A method of file dragging between a client system and a cloud virtual machine, comprising performing the following steps in response to a first drag event occurring that drags a file from a virtual desktop to a client desktop:
triggering a mouse trapping event when the first dragging event occurs through a special input channel between a client of an independent computing environment simple protocol and a server of the independent computing environment simple protocol;
prohibiting mouse movement by SPICE-gtk characteristics of a server of the independent computing environment simple protocol according to the mouse trapping event when a mouse moves to an edge between the client of the independent computing environment simple protocol and the server of the independent computing environment simple protocol;
creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to the mouse trapping event through the SPICE-vdagent characteristic of the client side of the independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event;
and after the mouse trapping event is released, obtaining a first file path of a first dragging file related to the first dragging event through the temporary virtual machine window by the SPICE-gtk characteristic, transmitting the first dragging file according to the first file path, and closing the temporary virtual machine window.
2. The method of claim 1, wherein transmitting the first drag file according to the first file path comprises:
converting, by the server of the independent computing environment simple protocol, the first file path into socket information to be sent to a fast analog processor through a socket interface;
and reading the first file path from the socket information by the rapid simulation processor, reading the first dragging file according to the first file path, and sending the first dragging file to the client of the independent computing environment simple protocol through the server of the independent computing environment simple protocol.
3. The method of claim 1, further comprising performing the following steps in response to a second drag event occurring that drags a file from a client desktop to a virtual desktop:
responding, by the server of the independent computing environment simple protocol, to the second drag event using the SPICE-gtk characteristic to obtain a second file path of a second drag file involved in the second drag event;
converting, by the client of the independent computing environment simple protocol, the second file path into socket information to be sent to a fast simulation processor through a socket interface;
reading, by the fast simulation processor, the second file path from the socket information to read the second dragged file and send the second dragged file to the server of the standalone computing environment simple protocol through the client of the standalone computing environment simple protocol.
4. The method of claim 2 or 3, further comprising performing the following steps prior to a drag event that drags the file from the virtual desktop to the client desktop and a drag event that drags the file from the client desktop to the virtual desktop occurring:
respectively installing a system virtualization framework on a client and a cloud, and accessing the cloud through a virtualization platform based on the system virtualization framework on the client to create one or more cloud virtual machines;
installing the client of the independent computing environment simple protocol to a client, installing the server of the independent computing environment simple protocol to a cloud end, and respectively installing the agent ends of the independent computing environment simple protocol to the one or more cloud virtual machines to construct an independent computing environment simple protocol network;
accessing, at a client, a console of the one or more cloud virtual machines over the standalone computing environment simple protocol network using an executable of a standalone computing environment simple protocol.
5. The method of claim 1, wherein the temporary virtual machine window is not visible to a user.
6. A file dragging device between a client system and a cloud virtual machine is characterized by comprising:
a processor; and
a memory storing program code executable by the processor, the program code when executed performing the following in response to occurrence of a first drag event that drags a file from a virtual desktop to a client desktop:
triggering a mouse trapping event when the first dragging event occurs through a special input channel between a client of an independent computing environment simple protocol and a server of the independent computing environment simple protocol;
prohibiting mouse movement by SPICE-gtk characteristics of a server of the independent computing environment simple protocol according to the mouse trapping event when a mouse moves to an edge between the client of the independent computing environment simple protocol and the server of the independent computing environment simple protocol;
creating a temporary virtual machine window in a cloud virtual machine at a position corresponding to the mouse trapping event through the SPICE-vdagent characteristic of the client side of the independent computing environment simple protocol by the SPICE-gtk characteristic, and allowing the mouse to move according to the mouse trapping event;
obtaining a first file path of a first dragging file related to the first dragging event through the temporary virtual machine window by the SPICE-gtk characteristic after the mouse trapping event is released; and transmitting the first dragging file according to the first file path and closing the temporary virtual machine window.
7. The apparatus of claim 6, wherein transmitting the first drag file according to the first file path comprises:
converting, by the server of the independent computing environment simple protocol, the first file path into socket information to be sent to a fast analog processor through a socket interface;
and reading the first file path from the socket information by the rapid simulation processor, reading the first dragging file according to the first file path, and sending the first dragging file to the client of the independent computing environment simple protocol through the server of the independent computing environment simple protocol.
8. The apparatus of claim 6, wherein the program code when executed further performs the following in response to occurrence of a second drag event that drags a file from a client desktop to a virtual desktop:
responding, by the server of the independent computing environment simple protocol, to the second drag event using the SPICE-gtk characteristic to obtain a second file path of a second drag file involved in the second drag event;
converting, by the client of the independent computing environment simple protocol, the second file path into socket information to be sent to a fast simulation processor through a socket interface;
reading, by the fast simulation processor, the second file path from the socket information to read the second dragged file and send the second dragged file to the server of the standalone computing environment simple protocol through the client of the standalone computing environment simple protocol.
9. The apparatus of claim 7 or 8, wherein the program code, when executed, further performs the following steps prior to a drag event that drags a file from the virtual desktop to the client desktop and a drag event that drags a file from the client desktop to the virtual desktop occurring:
respectively installing a system virtualization framework on a client and a cloud, and accessing the cloud through a virtualization platform based on the system virtualization framework on the client to create one or more cloud virtual machines;
installing the client of the independent computing environment simple protocol to a client, installing the server of the independent computing environment simple protocol to a cloud end, and respectively installing the agent ends of the independent computing environment simple protocol to the one or more cloud virtual machines to construct an independent computing environment simple protocol network;
accessing, at a client, a console of the one or more cloud virtual machines over the standalone computing environment simple protocol network using an executable of a standalone computing environment simple protocol.
10. The apparatus of claim 6, wherein the temporary virtual machine window is not visible to a user.
CN202010154782.XA 2020-03-08 2020-03-08 File dragging method and device between client system and cloud virtual machine Active CN111367610B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010154782.XA CN111367610B (en) 2020-03-08 2020-03-08 File dragging method and device between client system and cloud virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010154782.XA CN111367610B (en) 2020-03-08 2020-03-08 File dragging method and device between client system and cloud virtual machine

Publications (2)

Publication Number Publication Date
CN111367610A true CN111367610A (en) 2020-07-03
CN111367610B CN111367610B (en) 2022-07-19

Family

ID=71211180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010154782.XA Active CN111367610B (en) 2020-03-08 2020-03-08 File dragging method and device between client system and cloud virtual machine

Country Status (1)

Country Link
CN (1) CN111367610B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114911402A (en) * 2022-04-29 2022-08-16 深圳仁云互联网有限公司 Dragging interaction method and system between remote application and local system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105281921A (en) * 2014-06-10 2016-01-27 中兴通讯股份有限公司 Method and device enabling virtual desktop to realize multicast
CN107783811A (en) * 2017-11-15 2018-03-09 北京易讯通信息技术股份有限公司 A kind of controllable document transmission method in virtual desktop environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105281921A (en) * 2014-06-10 2016-01-27 中兴通讯股份有限公司 Method and device enabling virtual desktop to realize multicast
CN107783811A (en) * 2017-11-15 2018-03-09 北京易讯通信息技术股份有限公司 A kind of controllable document transmission method in virtual desktop environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114911402A (en) * 2022-04-29 2022-08-16 深圳仁云互联网有限公司 Dragging interaction method and system between remote application and local system
CN114911402B (en) * 2022-04-29 2024-04-02 深圳仁云互联网有限公司 Dragging interaction method and system between remote application and local system

Also Published As

Publication number Publication date
CN111367610B (en) 2022-07-19

Similar Documents

Publication Publication Date Title
US11237812B2 (en) Deploying an application in a cloud computing environment
US9882834B2 (en) Capturing data parameters in templates in a networked computing environment
US9253114B2 (en) Pre-provisioning virtual machines in a networked computing environment
US9582319B2 (en) Migrating virtual machines across network separated data centers
US11099865B2 (en) Auditing clipboard operations in virtual desktop environments
US20160092119A1 (en) Data migration between different types of storage systems
CN103092777A (en) Storing and resuming application runtime state
US9710292B2 (en) Allowing management of a virtual machine by multiple cloud providers
TW201439917A (en) Expansion of services for a virtual data center guest
US10394588B2 (en) Self-terminating or self-shelving virtual machines and workloads
US9652263B2 (en) Migrating servers into a secured environment
US9280321B2 (en) Distributing UI control events from a single event producer across multiple systems event consumers
US20170322793A1 (en) Upgrade of an operating system of a virtual machine
KR20130140508A (en) Apparatus for collecting log information
CN111367610B (en) File dragging method and device between client system and cloud virtual machine
US10917478B2 (en) Cloud enabling resources as a service
US20160092206A1 (en) Managing executable files
CN109634625A (en) A kind of OpenStack dispositions method and system based on Clonezilla
CN103870748B (en) The security processing and device of virtual machine
US9996373B1 (en) Avoiding overloading of network adapters in virtual environments
CN105550567A (en) USB device read-write authority management and control method of Windows virtual machine
US20210281629A1 (en) Processing of web-based applications
US20160050300A1 (en) Zero-Copy Multiplexing Using Copy-On-Write
CN117971777A (en) File system service distribution method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant