CN104679494B - Method and device for realizing remote virtual desktop and application program - Google Patents

Method and device for realizing remote virtual desktop and application program Download PDF

Info

Publication number
CN104679494B
CN104679494B CN201310631760.8A CN201310631760A CN104679494B CN 104679494 B CN104679494 B CN 104679494B CN 201310631760 A CN201310631760 A CN 201310631760A CN 104679494 B CN104679494 B CN 104679494B
Authority
CN
China
Prior art keywords
model tree
component model
component
components
party
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.)
Active
Application number
CN201310631760.8A
Other languages
Chinese (zh)
Other versions
CN104679494A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310631760.8A priority Critical patent/CN104679494B/en
Priority to PCT/CN2014/085922 priority patent/WO2015078214A1/en
Publication of CN104679494A publication Critical patent/CN104679494A/en
Application granted granted Critical
Publication of CN104679494B publication Critical patent/CN104679494B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Abstract

The application discloses a method and equipment for realizing a remote virtual desktop and an application program. The method comprises the steps that a first component model tree sent by a hosting party is received by a hosting party, wherein the first component model tree is generated by extracting components of a desktop of the hosting party and/or components of running applications; converting the first component model tree into a second component model tree according to the component mapping table, wherein all the second component model tree are localized components; and receiving the local operation, and calling the component corresponding to the local operation in the second component model tree to respond to the operation.

Description

Method and device for realizing remote virtual desktop and application program
Technical Field
The present application relates to the field of communications, and more particularly, to a method and apparatus for implementing remote virtual desktops and applications.
Background
The traditional remote virtual desktop and application refers to delivering desktop and application interfaces belonging to an individual and integrated on a server side to various terminals through a remote desktop protocol, for example: tablet computers, smart phones, and the like, while connecting various input and output devices of the terminal, such as: the keyboard, the mouse, the universal serial bus peripheral equipment, the serial-parallel port peripheral equipment, the earphone, the microphone and the like are mapped to the server side, so that a user can access a desktop system belonging to an individual on the server through any equipment, any place and any time through a network, and the flexibility of using the desktop and the application program is improved.
In this way, the remote virtual desktop and the application program are relatively simple to implement, and the desktop and the application program on the server are subjected to screenshot to obtain a picture, and the picture is mapped to the terminal for display. And at the terminal, only the operation of the mouse or the operation of the keyboard by the user needs to be obtained, then the mouse operation or the keyboard operation is sent to the server, the server simulates the operation of the mouse or the operation of the keyboard by software to control the desktop and the application program, and then the control result is subjected to screenshot to obtain a picture and is mapped to the terminal, so that the same effect as that of controlling the desktop and the application program by operating the mouse and the keyboard at the server end is achieved.
However, in this manner, each user operation must be transmitted through the network twice, the terminal feeds back the user operation to the server, the server responds according to the user operation, and the server returns the response result to the terminal for display. However, the current network transmission speed, especially the mobile network transmission speed, is limited, and two network transmissions will result in a very long time delay, for example, a time from inputting a character to displaying a summary is about 1 second, which is unacceptable for users.
Disclosure of Invention
The application provides a method and equipment for realizing a remote virtual desktop and an application program, which can improve the response speed.
A first aspect of the present application provides a method for implementing a remote virtual desktop and an application, comprising the steps of: a first component model tree sent by a hosting party is received by a hosting party, wherein the first component model tree is generated by extracting components of a desktop of the hosting party and/or components of running applications; converting the first component model tree into a second component model tree according to a component mapping table, wherein all the second component model tree are localized components; and receiving a local operation, and calling a component corresponding to the local operation in the second component model tree to respond to the local operation.
With reference to the first aspect, in a first possible implementation manner of the first aspect of the present application, the step of receiving a local operation and invoking a component corresponding to the local operation in the second component model tree to respond to the local operation includes: and if the local operation is a display operation, only calling the component corresponding to the local operation in the second component model tree to respond to the local operation.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect of the present application, the step of receiving a local operation and invoking a component in the second component model tree corresponding to the local operation to respond to the local operation includes: and if the local operation is an input operation, calling a component corresponding to the local operation in the second component model tree to respond to the local operation, and sending a first redirection message to the host after a first time period, wherein the first redirection message comprises the input data and the serial number of the component in the second component model tree for inputting the data.
With reference to the first aspect, in a third possible implementation manner of the first aspect of the present application, after the receiving the local operation step, the method includes: and judging whether the local operation is the operation on the component in the second component model tree, and if not, sending a second redirection message to the hosting party, wherein the second redirection message comprises the event and the coordinate of a mouse when the local operation is performed and/or the character input by a keyboard.
The second aspect of the present application further provides a method for implementing a remote virtual desktop and an application, wherein a hosting party extracts components of its desktop and/or components of the application to generate a first component model tree according to the components; and sending the first component model tree to a managed party.
With reference to the second aspect, in a first possible implementation manner of the second aspect of the present application, the method further includes: receiving a first redirection message returned by the trusted party, and refreshing a first component model tree according to the first redirection message to redirect the operation of the trusted party to the trusted party, wherein the first redirection message comprises data input by the trusted party and the serial number of a component in a second component model tree for inputting the data, and all components of the second component model tree are localized components obtained by mapping the components of the first component model tree according to a component mapping table by the trusted party; and searching the corresponding component in the first component model tree according to the serial number of the component in the second component model tree, and calling the corresponding component in the first component model tree to respond to the input data.
With reference to the second aspect, in a second possible implementation manner of the second aspect of the present application, the method further includes: receiving a second redirection message sent by the trusted party, wherein the second redirection message comprises an event and coordinates of a mouse when the trusted party operates and/or characters input by a keyboard; the component that invokes the keyboard and mouse application responds to events and coordinates of the mouse and/or characters entered by the keyboard.
A third aspect of the present application provides a terminal, including: the device comprises a receiving module, a mapping module and a response module, wherein the receiving module is used for receiving a first component model tree sent by a hosting party, the first component model tree is generated by extracting components of a desktop of the hosting party and/or components of running applications, and the receiving module sends the first component model tree to the mapping module; the mapping module is used for receiving the first component model tree, converting the first component model tree into a second component model tree according to a component mapping table, wherein all the second component model tree are localized components, and sending the second component model tree to the response module; the response module is used for receiving the second component model tree, receiving a local operation and calling a component corresponding to the local operation in the second component model tree to respond to the local operation.
With reference to the third aspect, in a first possible implementation manner of the third aspect of the present application, the response module is further configured to, when the local operation is a display-type operation, only invoke a component corresponding to the local operation in the second component model tree to respond to the local operation.
With reference to the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect of the present application, the response module is further configured to, when the local operation is an input-class operation, invoke a component in the second component model tree corresponding to the local operation to respond to the local operation, and send a first redirection message to the hosting party after a first time period, where the first redirection message includes the input data and a number of a component in the second component model tree in which the input data is performed.
With reference to the third aspect, in a third possible implementation manner of the third aspect of the present application, the terminal further includes a determining module and a sending module, where the determining module is configured to determine whether the local operation is an operation performed on a component in the second component model tree, and the determining module sends the determination result to the sending module; the sending module is configured to receive the determination result, and send a second redirection message to the hosting party when the determination result is that the local operation is not an operation performed on a component in the second component model tree, where the second redirection message includes an event and a coordinate of a mouse when the local operation is performed, and/or a character input by a keyboard.
A fourth aspect of the present application provides a server, including a generating module and a sending module, where the generating module is configured to extract a component of a desktop of the server and/or a component of an application program of the server to generate a first component model tree according to the component, and the generating module sends the first component model tree to the sending module; the sending module is used for receiving the first component model tree and sending the first component model tree to a managed party.
With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect of the present application, the server further includes a receiving module and a response module, where the receiving module is configured to receive a first redirection message returned by the trusted party, and refreshing a first component model tree according to the first redirection message to redirect the operation of the managed party to the hosting party, wherein the first redirection message includes data entered at the trusted party and a number of a component in a second component model tree where the data is entered, all components of the second component model tree are localized components obtained by the trusted party mapping the components of the first component model tree according to a component mapping table, the receiving module sends the input data and the serial numbers of the components in the second component model tree for inputting the data to the responding module; the response module is used for receiving the input data and the serial numbers of the components in the second component model tree for inputting the data, finding the corresponding components in the first component model tree according to the serial numbers of the components in the second component model tree, and calling the corresponding components in the first component model tree to respond to the input data.
With reference to the fourth aspect, in a second possible implementation manner of the fourth aspect of the present application, the server further includes a receiving module and a response module, where the receiving module is configured to receive a second redirection message sent by the trusted party, where the second redirection message includes an event and a coordinate of a mouse when the trusted party operates, and/or a character input by a keyboard, and the receiving module sends the event and the coordinate of the mouse, and/or the character input by the keyboard to the response module; the response module is used for receiving the events and the coordinates of the mouse and/or the characters input by the keyboard, and calling the components of the keyboard and mouse application program to respond to the events and the coordinates of the mouse and/or the characters input by the keyboard.
A fifth aspect of the present application provides a terminal, including: the device comprises a receiver and a processor, wherein the receiver is used for receiving a first component model tree sent by a hosting party, wherein the first component model tree is generated by extracting components of a desktop of the hosting party and/or components of running applications; the processor is configured to receive the first component model tree, convert the first component model tree into a second component model tree according to a component mapping table, receive a local operation, and invoke a component in the second component model tree corresponding to the local operation to respond to the local operation, where all the components in the second component model tree are localized components.
With reference to the fifth aspect, in a first possible implementation manner of the fifth aspect of the present application, the processor is further configured to, when the local operation is a display-class operation, only invoke a component in the second component model tree corresponding to the local operation to respond to the local operation.
With reference to the fifth aspect or the first possible implementation manner of the fifth aspect, in a second possible implementation manner of the fifth aspect of the present application, the terminal further includes a transmitter, and the processor is further configured to, when the local operation is an input-class operation, invoke a component in the second component model tree corresponding to the local operation to respond to the local operation, and invoke the transmitter to transmit a first redirection message to the hosting party after a first time period, where the first redirection message includes the input data and a number of a component in the second component model tree where the input data is performed.
With reference to the fifth aspect, in a third possible implementation manner of the fifth aspect of the present application, the terminal further includes a transmitter, and the processor is further configured to determine whether the local operation is an operation performed on a component in the second component model tree; the transmitter is used for transmitting a second redirection message to the hosting party, wherein the second redirection message comprises an event and a coordinate of a mouse when the local operation is carried out and/or a character input by a keyboard.
A sixth aspect of the present application provides a server, comprising a processor and a transmitter, wherein the processor is configured to extract components of a desktop and/or components of an application of the server to generate a first component model tree according to the components; the transmitter is used for receiving the first component model tree and transmitting the first component model tree to a managed party.
With reference to the sixth aspect, in a first possible implementation manner of the sixth aspect of the present application, the server further includes a receiver, where the receiver is configured to receive a first redirection message returned by the trusted party, and refreshing a first component model tree according to the first redirection message to redirect the operation of the managed party to the hosting party, wherein the first redirection message includes data entered at the trusted party and a number of a component in a second component model tree where the data is entered, all components of the second component model tree are localized components obtained by the trusted party mapping the components of the first component model tree according to a component mapping table, the processor is used for finding the corresponding component in the first component model tree according to the serial number of the component in the second component model tree, and calling the corresponding component in the first component model tree to respond to the input data.
With reference to the sixth aspect, in a second possible implementation manner of the sixth aspect of the present application, the server further includes a receiver, where the receiver is configured to receive a second redirection message sent by the trusted party, where the second redirection message includes an event and coordinates of a mouse when the trusted party operates, and/or characters input by a keyboard; the processor is used for calling the components of the keyboard and mouse application program to respond to the events and coordinates of the mouse and/or the characters input by the keyboard.
A seventh aspect of the present application provides a system for implementing a remote virtual desktop and an application, including a terminal and a server, where the terminal and the server can communicate with each other through a network, and the terminal is a terminal according to any one of the above descriptions.
With reference to the seventh aspect, in a first possible implementation manner of the seventh aspect of the present application, the server is a server as in any one of the above.
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the component corresponding to the local operation in the second component model tree is called to respond to the local operation. Since the components in the second component model tree are located at the trusted party, when the user operates the trusted party, the response speed of responding to the operation by using the components in the second component model tree locally is much faster than the response speed of responding through network transmission. In addition, the second component model tree and the first component model tree are in one-to-one correspondence, so that the change of the second component model tree can be easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party can be easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
Drawings
FIG. 1 is a block diagram of one embodiment of a system for implementing remote virtual desktops and applications according to the present invention;
FIG. 2 is a flow diagram of one embodiment of a method for implementing remote virtual desktops and applications in accordance with the present invention;
FIG. 3 is a flow diagram of another embodiment of a method for implementing remote virtual desktops and applications in accordance with the present invention;
FIG. 4 is a schematic diagram of a terminal according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a server according to an embodiment of the present invention;
FIG. 6 is a block diagram of another embodiment of a terminal of the present invention;
fig. 7 is a schematic structural diagram of another embodiment of a server according to the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular system structures, interfaces, techniques, etc. in order to provide a thorough understanding of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
Referring to fig. 1, fig. 1 is a schematic structural diagram of an embodiment of a system for implementing a remote virtual desktop and an application program according to the present invention. The system for realizing the remote virtual desktop and the application program of the embodiment comprises the following steps: server 110, network 120, and terminal 130. The server 110 establishes a connection with the terminal 130 through the network 120.
The server 110 may be a data center with a large amount of computing and storage resources, wherein the data center virtualizes virtual computers through virtualization technology or directly uses a physical machine composition to flexibly schedule a computer resource pool for computing. The server 110 may also be a general personal computer, tablet computer, or the like. Server 110 may choose to install one or more operating systems based on the owned computing and storage resources and install applications as needed.
The network 120 may be a wired network or a wireless network.
The terminal 130 may be a personal computer, or a portable computing device, or the like. The portable computing devices include tablet computers, smart phones, and the like.
When it is desired to deliver a desktop and/or application interface integrated in server 110 to terminal 130, server 110 acts as the hosting party and terminal 130 acts as the managed party.
When the server 110 runs an operating system, the system will run a desktop, and extract components of the desktop to generate a first component model tree; moreover, each time an application is run, the system will extract the components of the application and generate a first component model tree. The user operates the desktop or application of the server 110, and the server 110 may directly call the corresponding first component model tree to respond. Wherein the components in the first component model tree are components that are adapted to the operating environment of the server 110. For example, assuming that the server 110 is a computer with a mouse and a keyboard and a large screen, and the running operating system is a windows system, the components in the first component model tree generated according to the browser include menus, buttons, sliders, and the like. These components are very suitable for working in the above working environment, for example, when the browsing progress needs to be adjusted, only a mouse is used for dragging a slider to scroll a page.
The server 110 performs "screenshot" on its desktop and application to obtain a picture and transmits the picture to the terminal 130, and transmits a first component model tree generated according to components of the desktop and/or components of the application in the server 110 to the terminal 130 through a remote desktop protocol. Since the operating system of the server 110 and the operating system of the terminal 130 are different, and the "same kind" components in the two systems are different, for example, in the system adopted by the server 110, the check box is a check box, and in the system adopted by the terminal 130, the check box is a switch, and each system can only run the components provided by itself, so that the component mapping table can be created according to the system adopted by the server 110 and the system adopted by the terminal 130. For example, the programmer collects the components of each system in advance, establishes a component mapping table between each two systems, and solidifies the mapping table in the program. Then, it is determined which component mapping table to use according to the system employed by the server 110 and the system employed by the terminal 130.
In addition, the screen sizes of the server 110 and the terminal 130 may not be the same. For example, the server 110 is a computer with a mouse and a keyboard having a large screen, and the terminal 130 is a smart phone. The mapping relationship of the components may be determined in consideration of convenience of use by a user, so that the components that the system of the terminal 130 has and that are convenient to use are selected. For example, the scroll bar selection in the first component model tree is mapped to a page up and down button suitable for finger operation, and so on.
The terminal 130 converts the first component model tree into the second component model tree according to the component mapping table. Wherein all of the second component model tree are localized components. The localized components are overlaid on the position of the corresponding component of the first component model tree in the picture.
When the user performs the local operation at the terminal 130, the terminal 130 receives the local operation and calls the component corresponding to the local operation in the second component model tree to respond to the operation. Since the components in the second component model tree are all local, the response can be immediately performed after receiving the local operation, and the response speed is greatly improved compared with the prior art that the response can be performed only by sending the keyboard and/or mouse operation to the server 110.
If the local operation is a display-like operation, such as zooming in and zooming out, etc., the operations will not generate data interaction, so only the component corresponding to the local operation in the second component model tree is called to respond to the local operation without sending a message to the server 110. This can further reduce the number of data transmissions.
If the local operation is an input-class operation, these input data must be sent to the server 110, so in addition to invoking the component in the second component model tree corresponding to the local operation to respond to the local operation, a first redirect message is sent to the server 110 after a first time period. Wherein the first redirection message includes the entered data and the number of the component in the second component model tree where the data was entered. Since the components of the first component model tree and the components of the second component model tree are in a one-to-one correspondence relationship, only the serial number of the component in the second component model tree for inputting data and the input data need to be sent to the server 110, and the system of the server 110 can call the corresponding component in the first component model tree according to the serial number to input data, so as to realize synchronization between the server 110 and the terminal 130, thereby realizing a remote virtual desktop and an application program.
In the above embodiment, all components of the first component model tree can be mapped according to the component mapping table to obtain localized components, in another embodiment, a part of components of the first component model tree can be mapped according to the component mapping table to obtain localized components, and another part of components of the first component model tree cannot be mapped or need not be mapped to localized components, and for components without localization, the components are displayed in the terminal 130 only in the form of pictures, so that a second redirection message is further sent to the hosting party, wherein the second redirection message includes events and coordinates of the mouse when the local operation is performed, and/or characters input by the keyboard, so that the hosting party calls components of the keyboard and mouse application according to the events and coordinates of the mouse, and/or characters input by the keyboard (the components of the keyboard and mouse application are independent, not belonging to the first component model tree) and is compatible with conventional methods of implementing remote virtual desktops and/or applications as described in the background section. Wherein, the character can be a single character or a combination of a plurality of characters. For example: a single character may be "C" and a combination of multiple characters may be "Ctrl + C".
The above scheme receives the first component model tree sent by the server 110, converts the first component model tree into the second component model tree through the component mapping table, and invokes a component corresponding to a local operation in the second component model tree to respond to the local operation. Since the components in the second component model tree are provided at the terminal 130, when the user operates the terminal 130, the response speed of the trusted party responding to the operation using the components in the second component model tree in the local is much faster than the response speed of responding by transmitting through the network. In addition, since the components of the second component model tree correspond to the components of the first component model tree one to one, the changes of the second component model tree are easily copied to the first component model tree, and thus the synchronization between the terminal 130 and the server 110 is easily achieved.
In addition, when the difference between the applicable components of the terminal 130 and the server 110 is large, the first component model tree is mapped to the localized second component model tree, which can improve the convenience of operation.
Referring to fig. 2, fig. 2 is a flowchart of an embodiment of a method for implementing a remote virtual desktop and an application program according to the present invention. The present embodiment is described from the perspective of a trusted party, and the method for implementing a remote virtual desktop and an application program of the present embodiment includes:
s201: and the managed party receives the first component model tree sent by the managed party. Wherein the first component model tree is generated by extracting components of the hosted party's desktop and/or components of the running application.
After a hosting party starts the system, the system runs a desktop, and extracts components of the desktop to generate a first component model tree; moreover, each time an application is run, the system will extract the components of the application and generate a first component model tree. The hosting party performs screenshot on the desktop and the application program on the hosting party to obtain a picture, and sends the picture to the hosted hosting party, and the hosting party sends the first component model tree to the hosted hosting party. And the managed party correspondingly receives the picture and the first component model tree sent by the managed party.
S202: the trustee converts the first component model tree into a second component model tree according to the component mapping table. Wherein all of the second component model tree are localized components.
Since the work system of the hosting party and the work system of the managed party are different, and the "same kind" components in the two systems are also different, for example, in the system adopted by the hosting party, the check box is a check box, while in the system adopted by the managed party, the check box is a switch, and each system can only run the components provided by itself, so that a component mapping table can be created according to the system adopted by the hosting party and the system adopted by the managed party. For example, the programmer collects the components of each system in advance, establishes a component mapping table between each two systems, and solidifies the mapping table in the program. Then, it is determined which component mapping table to use according to the system adopted by the hosting party and the system adopted by the managed party.
In addition, the screen sizes of the hosted and managed parties may not be the same. For example, the hosting party is a computer with a mouse and keyboard with a large screen, and the hosted party is a smartphone. The convenience of the user in use can be taken into account when determining the mapping relationship of the components, so that the components which the system of the trusted party has and which are convenient to use are selected. For example, the scroll bar selection in the first component model tree is mapped to a page up and down button suitable for finger operation, and so on. The trusted party converts the first component model tree into a localized second component model tree according to the component mapping table. The localized components are overlaid on the position of the corresponding component of the first component model tree in the picture.
S203: and the trustee receives the local operation and calls the component corresponding to the local operation in the second component model tree to respond to the operation.
When the user operates at the entrusted management party, the entrusted management party receives the local operation and calls the components corresponding to the local operation in the second component model tree to respond to the local operation. Because the components in the second component model tree are all local, the response can be immediately carried out after the local operation is received, and compared with the prior art that the operation of a keyboard and/or a mouse is required to be sent to a host side for response, the response speed is greatly improved.
If the local operation is a display type operation, such as zooming in and zooming out, and the like, the operations do not generate data interaction, so that only the component corresponding to the local operation in the second component model tree is called to respond to the local operation without sending a message to the hosting party. This can further reduce the number of data transmissions.
If the local operation is an input-class operation, the input data must be sent to the hosting party, so that the first redirection message is sent to the hosting party after the first time period in addition to calling the component corresponding to the local operation in the second component model tree to respond to the local operation. Wherein the first redirection message includes the entered data and the number of the component in the second component model tree where the data was entered. Because the components of the first component model tree and the components of the second component model tree are in one-to-one correspondence, the system of the hosting party can call the corresponding components in the first component model tree to input data according to the serial numbers only by sending the serial numbers of the components in the second component model tree for inputting data and the input data to the hosting party, so as to realize the synchronization between the hosting party and the hosted party, and further realize the remote virtual desktop and/or the application program.
In the above embodiment, all components of the first component model tree can be mapped according to the component mapping table to obtain localized components, in another embodiment, a part of components of the first component model tree can be mapped according to the component mapping table to obtain localized components, and another part of components of the first component model tree cannot be or need not be mapped to localized components, and for components without localization, the trusted party displays the components in the form of pictures, so that the trusted party is required to send a second redirection message to the trusted party, wherein the second redirection message comprises events and coordinates of the mouse when the local operation is performed, and/or characters input by the keyboard, so that the trusted party invokes components of the mouse application program to respond according to the events and coordinates of the mouse, and/or the characters input by the keyboard, thereby being compatible with conventional methods of implementing remote virtual desktops and/or applications as described in the background. Wherein, the character can be a single character or a combination of a plurality of characters. For example: a single character may be "C" and a combination of multiple characters may be "Ctrl + C".
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the component corresponding to the local operation in the second component model tree is called to respond to the local operation. Since the components in the second component model tree are arranged at the entrusted side, when the user operates the entrusted side, the response speed of the entrusted side responding to the local operation by using the components corresponding to the local operation in the local second component model tree is far faster than the response speed of responding through network transmission. Moreover, the components of the second component model tree and the components of the first component model tree are in one-to-one correspondence, so that the change of the second component model tree is easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party is easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
Referring to fig. 3, fig. 3 is a flow chart of another embodiment of a method for implementing a remote virtual desktop and an application program according to the present invention. The present embodiment is described from the viewpoint of the hosting party, and the method for implementing a remote virtual desktop and an application program of the present embodiment includes:
s301: the hosting party extracts components of its desktop and/or components of the application to generate a first component model tree from the components.
After a hosting party starts the system, the system runs a desktop, and extracts components of the desktop to generate a first component model tree; moreover, each time an application is run, the system will extract the components of the application and generate a first component model tree.
S302: the hosting party sends the first component model tree to the hosted hosting party.
The hosting party carries out screenshot on the desktop and the application program of the hosting party to obtain pictures, sends the pictures to the hosted managing party and sends the first component model tree to the hosted managing party through a remote desktop protocol.
Since the work system of the hosting party and the work system of the managed party are different, and the "same kind" components in the two systems are also different, for example, in the system adopted by the hosting party, the check box is a check box, while in the system adopted by the managed party, the check box is a switch, and each system can only run the components provided by itself, so that a component mapping table can be created according to the system adopted by the hosting party and the system adopted by the managed party. For example, the programmer collects the components of each system in advance, establishes a component mapping table between each two systems, and solidifies the mapping table in the program. Then, it is determined which component mapping table to use according to the system adopted by the hosting party and the system adopted by the managed party.
In addition, the screen sizes of the hosted and managed parties may not be the same. For example, the hosting party is a computer with a mouse and keyboard with a large screen, and the hosted party is a smartphone. The convenience of the user in use can be taken into account when determining the mapping relationship of the components, so that the components which the system of the trusted party has and which are convenient to use are selected. For example, the scroll bar selection in the first component model tree is mapped to a page up and down button suitable for finger operation, and so on. The trusted party converts the first component model tree into a localized second component model tree according to the component mapping table. The localized components are overlaid on the position of the corresponding component of the first component model tree in the picture.
When the user operates at the entrusted management party, the entrusted management party receives the operation and calls the components corresponding to the operation in the second component model tree to respond to the operation. Because the components in the second component model tree are all on the managed side, the response can be immediately carried out after receiving the operation, and compared with the prior art that the operation is only sent to the managed side to respond, the response speed is greatly improved.
If the operation is a display-type operation, such as zooming in and zooming out, and the like, the operations do not generate data interaction, so that only the component of the corresponding operation in the second component model tree is called to respond to the operation without sending a message to the hosting party. This can further reduce the number of data transmissions.
S303: and the trustee receives a first redirection message returned by the trustee and refreshes the first component model tree according to the first redirection message so as to redirect the operation of the trustee to the trustee. The first redirection message comprises data input by the trusted party and the serial numbers of the components in the second component model tree for inputting the data, and all the components of the second component model tree are localized components obtained by the trusted party mapping the components of the first component model tree according to the component mapping table.
If the local operation is an input class operation, the input data must be sent to the hosting party, so that the first redirection message is sent to the hosting party after the first time period in addition to calling the component of the corresponding operation in the second component model tree to respond to the operation. Since the components of the first component model tree and the components of the second component model tree are in a one-to-one correspondence relationship, the serial number of the component in the second component model tree for inputting data and the input data are packaged in the first redirection message and sent to the hosting party.
S304: and the hosting party searches the corresponding component in the first component model tree according to the serial number of the component in the second component model tree and calls the corresponding component in the first component model tree to respond to the input data.
And after the trustee receives the first redirection message returned by the trustee, the system of the trustee calls the corresponding component in the first component model tree to input data according to the serial number so as to realize the synchronization between the trustee and further realize the remote virtual desktop and the application program.
In the above embodiment, all components of the first component model tree can be mapped according to the component mapping table to obtain localized components, in another embodiment, a part of components of the first component model tree can be mapped according to the component mapping table to obtain localized components, and another part of components of the first component model tree cannot be mapped or need not be mapped as localized components, and for components without localization, the trusted party displays the components in the form of pictures, so the trusted party needs to send a second redirection message to the trusted party, wherein the second redirection message includes events and coordinates of a mouse when the trusted party operates, and/or characters input by a keyboard. The hosting party receives the second redirect message sent by the hosting party, and invokes a component of a keyboard and mouse application program to respond according to the event and coordinates of the mouse and/or the characters input by the keyboard, so that the traditional method for realizing the remote virtual desktop and/or the application program is compatible with the background technology. Wherein, the character can be a single character or a combination of a plurality of characters. For example: a single character may be "C" and a combination of multiple characters may be "Ctrl + C".
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the components corresponding to local operation in the second component model tree are called to respond to the local operation. Since the components in the second component model tree are located at the trusted party, when the user operates the trusted party, the response speed of the trusted party to the operation by using the components in the second component model tree at the local place is far faster than the response speed of the response by the network transmission. Moreover, the components of the second component model tree and the components of the first component model tree are in one-to-one correspondence, so that the change of the second component model tree is easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party is easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
Referring to fig. 4, fig. 4 is a schematic structural diagram of an embodiment of a terminal according to the present invention. The terminal of the present embodiment, as a trusted party, includes: a receiving module 410, a mapping module 420, and a response module 430.
The receiving module 410 is configured to receive a first component model tree sent by a hosting party, wherein the first component model tree is generated by extracting a component of a desktop of the hosting party and/or a component of a running application. For example, after the hosting party starts the system, the system runs the desktop, and extracts the components of the desktop to generate a first component model tree; moreover, each time an application is run, the system will extract the components of the application and generate a first component model tree. The hosting party performs screenshot on the desktop and the application program on the hosting party to obtain a picture, and sends the picture to the hosted hosting party, and the hosting party sends the first component model tree to the hosted hosting party. The receiving module 410 receives the picture and the first component model tree transmitted by the hosting party, respectively. The receiving module 410 transmits the first component model tree to the mapping module 420.
The mapping module 420 is configured to receive the first component model tree, and convert the first component model tree into a second component model tree according to the component mapping table. Wherein all of the second component model tree are localized components. For example, since the work system of the hosting party and the work system of the managed party are different, and the "same kind" components in the two systems are also different, for example, in the system adopted by the hosting party, the check box is a check box, and in the system adopted by the managed party, the check box is a switch, and each system can only run the components provided by itself, so that the component mapping table can be created according to the system adopted by the hosting party and the system adopted by the managed party. For example, the programmer collects the components of each system in advance, establishes a component mapping table between each two systems, and solidifies the mapping table in the program. Then, it is determined which component mapping table to use according to the system adopted by the hosting party and the system adopted by the managed party. In addition, the screen sizes of the hosted and managed parties may not be the same. For example, the hosting party is a computer with a mouse and keyboard with a large screen, and the hosted party is a smartphone. The convenience of the user in use can be taken into account when determining the mapping relationship of the components, so that the components which the system of the trusted party has and which are convenient to use are selected. For example, the scroll bar selection in the first component model tree is mapped to a page up and down button suitable for finger operation, and so on. The mapping module 420 converts the first component model tree into a localized second component model tree according to the component mapping table. The localized components are overlaid on the position of the corresponding component of the first component model tree in the picture. The mapping module 420 sends the second component model tree to the response module 430.
The response module 430 is configured to receive the second component model tree, receive the local operation, and invoke a component of the second component model tree corresponding to the local operation to respond to the operation. For example, when the user operates at the trusted party, the response module 430 receives the local operation and invokes the component corresponding to the local operation in the second component model tree to respond to the local operation. Because the components in the second component model tree are all local, the response can be immediately carried out after the local operation is received, and compared with the prior art that the operation of a keyboard and/or a mouse is required to be sent to a host side for response, the response speed is greatly improved. If the local operation is a display-like operation, such as zooming in and zooming out, and the like, the operations do not generate data interaction, so the response module 430 only calls the component of the second component model tree corresponding to the local operation to respond to the local operation without sending a message to the hosting party. This can further reduce the number of data transmissions. If the local operation is an input-class operation, these input data must be sent to the hosting party, so the response module 430 sends a first redirection message to the hosting party after a first time period, in addition to invoking a component in the second component model tree corresponding to the local operation to respond to the local operation. Wherein the first redirection message includes the entered data and the number of the component in the second component model tree where the data was entered. Because the components of the first component model tree and the components of the second component model tree are in one-to-one correspondence, the system of the hosting party can call the corresponding components in the first component model tree to input data according to the serial numbers only by sending the serial numbers of the components in the second component model tree for inputting data and the input data to the hosting party, so as to realize the synchronization between the hosting party and the hosted party, and further realize the remote virtual desktop and/or the application program.
In the above embodiment, all components of the first component model tree can be mapped according to the component mapping table to obtain localized components, in another embodiment, a part of components of the first component model tree can be mapped according to the component mapping table to obtain localized components, and another part of components of the first component model tree cannot be mapped or does not need to be mapped as localized components, and for components without localization, the components are displayed only in the form of pictures on the hosting party, so that the determining module is further required to determine whether the local operation is an operation performed on a component in the second component model tree, and then send the determination result to the sending module, the sending module receives the determination result, and sends a second redirection message to the hosting party when the determination result is that the local operation is not an operation performed on a component in the second component model tree, and the second redirection message comprises the event and the coordinate of the mouse when the local operation is carried out and/or the character input by the keyboard. The hosting party receives the second redirect message sent by the hosted party and invokes a component of a keyed mouse application to respond according to the mouse events and coordinates, and/or the characters and character combinations entered by the keyboard, thereby being compatible with the traditional methods of implementing remote virtual desktops and/or applications as described in the background of the invention. Wherein, the character can be a single character or a combination of a plurality of characters. For example: a single character may be "C" and a combination of multiple characters may be "Ctrl + C".
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the component corresponding to the local operation in the second component model tree is called to respond to the local operation. Since the components in the second component model tree are arranged at the entrusted side, when the user operates the entrusted side, the response speed of the entrusted side responding to the local operation by using the components corresponding to the local operation in the local second component model tree is far faster than the response speed of responding through network transmission. Moreover, the components of the second component model tree and the components of the first component model tree are in one-to-one correspondence, so that the change of the second component model tree is easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party is easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an embodiment of a server according to the present invention. The server of the present embodiment, as a hosting party, includes: a generating module 510, a transmitting module 520, a receiving module 530, and a responding module 540.
The generating module 510 is used for extracting components of the desktop and/or components of the application program of the self to generate a first component model tree according to the components. For example, after the hosting party starts the system, the system runs the desktop, and the generating module 510 extracts components of the desktop to generate a first component model tree; furthermore, each time an application is run, the generating module 510 extracts the components of the application and generates a first component model tree. The hosting party carries out screenshot on the desktop and the application program of the hosting party to obtain pictures, and the pictures are sent to the hosted party. The generating module 510 sends the first component model tree to the sending module 520.
The sending module 520 is configured to send the first component model tree to the managed party. For example, the sending module 520 sends the first component model tree to the managed party. And the managed party correspondingly receives the first component model tree sent by the managed party.
Since the work system of the hosting party and the work system of the managed party are different, and the "same kind" components in the two systems are also different, for example, in the system adopted by the hosting party, the check box is a check box, while in the system adopted by the managed party, the check box is a switch, and each system can only run the components provided by itself, so that a component mapping table can be created according to the system adopted by the hosting party and the system adopted by the managed party. For example, the programmer collects the components of each system in advance, establishes a component mapping table between each two systems, and solidifies the mapping table in the program. Then, it is determined which component mapping table to use according to the system adopted by the hosting party and the system adopted by the managed party.
In addition, the screen sizes of the hosted and managed parties may not be the same. For example, the hosting party is a computer with a mouse and keyboard with a large screen, and the hosted party is a smartphone. The convenience of the user in use can be taken into account when determining the mapping relationship of the components, so that the components which the system of the trusted party has and which are convenient to use are selected. For example, the scroll bar selection in the first component model tree is mapped to a page up and down button suitable for finger operation, and so on. The trusted party converts the first component model tree into a localized second component model tree according to the component mapping table. The localized components are overlaid on the position of the corresponding component of the first component model tree in the picture. When the user operates at the entrusted management party, the entrusted management party receives the local operation and calls the components corresponding to the local operation in the second component model tree to respond to the local operation. Because the components in the second component model tree are all local, the response can be immediately carried out after the local operation is received, and compared with the prior art that the operation of a keyboard and/or a mouse is required to be sent to a host side for response, the response speed is greatly improved. If the local operation is a display type operation, such as zooming in and zooming out, and the like, the operations do not generate data interaction, so that only the component corresponding to the local operation in the second component model tree is called to respond to the local operation without sending a message to the hosting party. This can further reduce the number of data transmissions.
The receiving module 530 is configured to receive a first redirection message returned by the trusted party, and refresh the first component model tree according to the first redirection message, so as to redirect the operation of the trusted party to the trusted party, where the first redirection message includes data input by the trusted party and a number of a component in a second component model tree in which the data is input, and all components of the second component model tree are localized components obtained by the trusted party mapping the components of the first component model tree according to a component mapping table. For example, if the local operation is an input class operation, the input data must be sent to the hosted party, so in addition to invoking components in the second component model tree to respond to the operation, a first redirect message is sent to the hosted party after a first time period. Wherein the first redirection message includes the entered data and the number of the component in the second component model tree where the data was entered. Since the components of the first component model tree and the components of the second component model tree are in a one-to-one correspondence relationship, the serial number of the component in the second component model tree for inputting data and the input data are packaged in the first redirection message and sent to the hosting party. The receiving module 530 sends the input data and the numbers of the components in the second component model tree where the input data is made to the responding module 540.
The response module 540 is configured to receive the input data and the serial numbers of the components in the second component model tree of the input data, find the corresponding components in the first component model tree according to the serial numbers of the components in the second component model tree, and call the corresponding components in the first component model tree to respond to the input data, so as to implement synchronization between the hosting party and the managed party, thereby implementing a remote virtual desktop and an application program.
In the above embodiment, all components of the first component model tree can be mapped according to the component mapping table to obtain localized components, in another embodiment, a part of components of the first component model tree can be mapped according to the component mapping table to obtain localized components, and another part of components of the first component model tree cannot be mapped or need not be mapped as localized components, and for components without localization, the trusted party displays the components in the form of pictures, so the trusted party needs to send a second redirection message to the trusted party, wherein the second redirection message includes events and coordinates of a mouse when the trusted party operates, and/or characters input by a keyboard. The receiving module 530 receives the second redirect message sent by the trusted party. Wherein, the character can be a single character or a combination of a plurality of characters. For example: a single character may be "C" and a combination of multiple characters may be "Ctrl + C".
The response module 540 is also used to invoke the components of the keyboard and mouse application to respond to mouse events and coordinates, and/or characters entered by the keyboard, thereby being compatible with conventional methods of implementing remote virtual desktops and/or applications as described in the background.
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the component corresponding to the local operation in the second component model tree is called to respond to the local operation. Since the components in the second component model tree are located at the trusted party, when the user operates the trusted party, the response speed of the trusted party to the operation by using the components in the second component model tree at the local place is far faster than the response speed of the response by the network transmission. Moreover, the components of the second component model tree and the components of the first component model tree are in one-to-one correspondence, so that the change of the second component model tree is easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party is easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
Referring to fig. 6, fig. 6 is a schematic structural diagram of another embodiment of a terminal according to the present application. The terminal of the present embodiment includes: receiver 610, processor 620, transmitter 630, random access memory 640, read only memory 650, and bus 660.
The receiver 610 may be any receiver employing a wireless network module and a wired network interface.
The processor 620 controls the operation of the terminal, and the processor 620 may also be referred to as a Central Processing Unit (CPU). Processor 620 may be an integrated circuit chip having signal processing capabilities. The processor 620 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The transmitter 630 may be a transmitter using a wireless network module and a wired network interface, etc.
The memories may include a read-only memory 640 and a random access memory 650 and provide instructions and data to the processor 620. The portion of memory may also include non-volatile random access memory (NVRAM).
The various components of the terminal are coupled together by a bus 660, where bus 660 may include a power bus, a control bus, and a status signal bus, among others, in addition to a data bus. But for clarity of illustration the various busses are labeled in the drawings as busses 660.
The memory stores the following elements, executable modules or data structures, or a subset thereof, or an expanded set thereof:
and (3) operating instructions: including various operational instructions for performing various operations.
Operating the system: including various system programs for implementing various basic services and for handling hardware-based tasks.
In this embodiment of the present invention, the processor 620 performs the following operations by calling an operation instruction stored in the memory (the operation instruction may be stored in the operating system):
the processor 620 calls the receiver 610 to receive a first component model tree transmitted by the hosting party, wherein the first component model tree is generated by extracting components of the hosting party's desktop and/or components of the running application.
The processor 620 converts the first component model tree into a second component model tree according to the component mapping table, wherein all of the second component model tree are localized components.
The processor 620 receives the local operation and invokes a component of the second component model tree corresponding to the local operation to respond to the local operation.
Alternatively, if the local operation is a display-class operation, the processor 620 only calls the component of the second component model tree corresponding to the local operation to respond to the local operation.
Optionally, if the local operation is an input-class operation, the processor 620 calls a component in the second component model tree corresponding to the local operation to respond to the local operation, and sends a first redirection message to the hosting party after a first time period, where the first redirection message includes the input data and the number of the component in the second component model tree where the input data is performed.
Optionally, the processor 620 determines whether the local operation is an operation on a component in the second component model tree; when the local operation is not an operation performed on a component in the second component model tree as a result of the determination, the processor 620 invokes the transmitter 630 to transmit a second redirection message to the hosting party, where the second redirection message includes an event and coordinates of a mouse when the local operation is performed, and/or characters input by a keyboard, so that the conventional method for implementing a remote virtual desktop and/or an application program is compatible as described in the background art. The input character may be a single character or a combination of multiple characters.
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the component corresponding to the local operation in the second component model tree is called to respond to the local operation. Since the components in the second component model tree are located at the trusted party, when the user operates the trusted party, the response speed of responding to the operation by using the components in the second component model tree locally is much faster than the response speed of responding through network transmission. Moreover, the components of the second component model tree and the components of the first component model tree are in one-to-one correspondence, so that the change of the second component model tree is easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party is easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
Referring to fig. 7, fig. 7 is a schematic structural diagram of another embodiment of a server according to the present application. The server of the present embodiment includes: receiver 710, processor 720, transmitter 730, random access memory 740, read only memory 750, and bus 760.
The receiver 710 may be any receiver that employs a wireless network module and a wired network interface.
Processor 720 controls the operation of the server, and processor 720 may also be referred to as a Central Processing Unit (CPU). Processor 720 may be an integrated circuit chip having signal processing capabilities. Processor 720 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The transmitter 730 may be a transmitter using a wireless network module and a wired network interface, etc.
The memories may include a read-only memory 740 and a random access memory 750, and provide instructions and data to the processor 720. The portion of memory may also include non-volatile random access memory (NVRAM).
The various components of the terminal are coupled together by a bus 760, where the bus 760 may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. But for clarity of illustration the various busses are labeled in the figures as bus 760.
The memory stores the following elements, executable modules or data structures, or a subset thereof, or an expanded set thereof:
and (3) operating instructions: including various operational instructions for performing various operations.
Operating the system: including various system programs for implementing various basic services and for handling hardware-based tasks.
In an embodiment of the present invention, processor 720, by calling a memory-stored operation instruction (which may be stored in an operating system), performs the following operations:
processor 720 extracts components of its desktop and/or components of the application to generate a first component model tree from the components.
Processor 720 invokes transmitter 730 to transmit the first component model tree to the managed party.
Optionally, the processor 720 invokes the receiver 710 to receive a first redirection message returned by the trusted party, and refreshes a first component model tree according to the first redirection message to redirect the operation of the trusted party to the trusted party, wherein the first redirection message includes data input by the trusted party and the number of a component in a second component model tree for inputting the data, and all components of the second component model tree are localized components obtained by the trusted party mapping the components of the first component model tree according to a component mapping table. Processor 720 finds the corresponding component in the first component model tree according to the serial number of the component in the second component model tree, and calls the corresponding component in the first component model tree to respond to the input data.
Optionally, the processor 720 invokes the receiver 710 to receive a second redirection message sent by the trusted party, wherein the second redirection message comprises an event and coordinates of a mouse when the trusted party operates, and/or characters input by a keyboard. The processor 720 invokes components of the keyboard and mouse application to respond to mouse events and coordinates, and/or characters entered by the keyboard, in a manner compatible with conventional methods of implementing remote virtual desktops and/or applications as described in the background. The input character may be a single character or a combination of multiple characters.
According to the scheme, the first component model tree sent by the hosting party is received, the first component model tree is converted into the second component model tree through the component mapping table, and then the component corresponding to the local operation in the second component model tree is called to respond to the local operation. Since the components in the second component model tree are located at the trusted party, when the user operates the trusted party, the response speed of responding to the operation by using the components in the second component model tree locally is much faster than the response speed of responding through network transmission. In addition, the second component model tree and the first component model tree are in one-to-one correspondence, so that the change of the second component model tree can be easily copied to the first component model tree, and the synchronization between the hosting party and the receiving party can be easily realized.
In addition, when the difference between the applicable components of the hosting party and the hosting party is large, the first component model tree is mapped to the localized second component model tree, and the convenience of operation can be improved.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.

Claims (9)

1. A method for implementing a remote virtual desktop and application, comprising the steps of:
a first component model tree sent by a hosting party is received by a hosting party, wherein the first component model tree is generated by extracting components of a desktop of the hosting party and/or components of running applications;
converting the first component model tree into a localized second component model tree according to a component mapping table, wherein all the second component model tree are localized components;
receiving a local operation, and judging whether the local operation is an operation performed on a component in the second component model tree; if so, calling a component corresponding to the local operation in the second component model tree to respond to the local operation; if not, the operation on the component in the second component model tree sends a second redirection message to the hosting party, wherein the second redirection message comprises the event and the coordinate of the mouse when the local operation is performed, and/or the character input by the keyboard.
2. A method for implementing a remote virtual desktop and an application as recited in claim 1, wherein the step of receiving a local operation and invoking a component of the second component model tree corresponding to the local operation in response to the local operation comprises:
and if the local operation is a display operation, only calling the component corresponding to the local operation in the second component model tree to respond to the local operation.
3. A method for implementing a remote virtual desktop and application program according to claim 1 or 2, wherein the step of receiving a local operation and invoking a component of the second component model tree corresponding to the local operation in response to the local operation comprises:
and if the local operation is an input operation, calling a component corresponding to the local operation in the second component model tree to respond to the local operation, and sending a first redirection message to the host after a first time period, wherein the first redirection message comprises the input data and the serial number of the component in the second component model tree for inputting the data.
4. A terminal, characterized in that the terminal comprises: a receiving module, a mapping module, a response module, a judging module and a sending module, wherein,
the receiving module is used for receiving a first component model tree sent by a hosting party, wherein the first component model tree is generated by extracting a component of a desktop of the hosting party and/or a component of a running application program, and the receiving module sends the first component model tree to the mapping module;
the mapping module is used for receiving the first component model tree, converting the first component model tree into a localized second component model tree according to a component mapping table, wherein all the second component model tree are localized components, and sending the second component model tree to the response module;
the response module is used for receiving the second component model tree, receiving local operation and calling a component corresponding to the local operation in the second component model tree to respond to the local operation;
the judging module is used for judging whether the local operation is the operation on the components in the second component model tree or not, and the judging module sends the judging result to the sending module;
the sending module is configured to receive the determination result, and send a second redirection message to the hosting party when the determination result is that the local operation is not an operation performed on a component in the second component model tree, where the second redirection message includes an event and a coordinate of a mouse when the local operation is performed, and/or a character input by a keyboard.
5. The terminal of claim 4, wherein the response module is further configured to, when the local operation is a display-type operation, only invoke a component of the second component model tree corresponding to the local operation to respond to the local operation.
6. The terminal according to claim 4 or 5, wherein the response module is further configured to, when the local operation is an input-class operation, invoke a component in the second component model tree corresponding to the local operation to respond to the local operation, and send a first redirection message to the hosting party after a first time period, wherein the first redirection message includes the input data and a number of the component in the second component model tree where the input data is performed.
7. A system for implementing remote virtual desktops and applications, comprising a terminal and a server between which communication can be made via a network, wherein the terminal is according to any one of claims 4 to 6.
8. The system for implementing remote virtual desktops and applications according to claim 7, wherein the server comprises a generation module, a transmission module, a reception module, and a response module,
the generating module is used for extracting components of a desktop and/or components of an application program of the generating module to generate a first component model tree according to the components, and the generating module sends the first component model tree to the sending module;
the sending module is used for receiving the first component model tree and sending the first component model tree to a managed party so that the managed party converts the first component model tree into a localized second component model tree of the managed party;
the receiving module is used for receiving a second redirection message sent by the trusted party, wherein the second redirection message comprises an event and a coordinate of a mouse when the trusted party operates and/or a character input by a keyboard, and the receiving module sends the event and the coordinate of the mouse and/or the character input by the keyboard to the response module;
the response module is used for receiving the events and the coordinates of the mouse and/or the characters input by the keyboard, and calling the components of the keyboard and mouse application program to respond to the events and the coordinates of the mouse and/or the characters input by the keyboard.
9. The system for implementing remote virtual desktops and applications according to claim 8, wherein the server further comprises a receiving module and a responding module,
the receiving module is configured to receive a first redirection message returned by the trusted party, and refresh a first component model tree according to the first redirection message to redirect the operation of the trusted party to the trusted party, where the first redirection message includes data input by the trusted party and the serial numbers of components in a second component model tree in which data is input, all components of the second component model tree are localized components obtained by the trusted party by mapping the components of the first component model tree according to a component mapping table, and the receiving module sends the input data and the serial numbers of the components in the second component model tree in which data is input to the responding module;
the response module is used for receiving the input data and the serial numbers of the components in the second component model tree for inputting the data, finding the corresponding components in the first component model tree according to the serial numbers of the components in the second component model tree, and calling the corresponding components in the first component model tree to respond to the input data.
CN201310631760.8A 2013-11-29 2013-11-29 Method and device for realizing remote virtual desktop and application program Active CN104679494B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310631760.8A CN104679494B (en) 2013-11-29 2013-11-29 Method and device for realizing remote virtual desktop and application program
PCT/CN2014/085922 WO2015078214A1 (en) 2013-11-29 2014-09-04 Method and device for realizing remote virtual desktop and application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310631760.8A CN104679494B (en) 2013-11-29 2013-11-29 Method and device for realizing remote virtual desktop and application program

Publications (2)

Publication Number Publication Date
CN104679494A CN104679494A (en) 2015-06-03
CN104679494B true CN104679494B (en) 2020-03-31

Family

ID=53198314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310631760.8A Active CN104679494B (en) 2013-11-29 2013-11-29 Method and device for realizing remote virtual desktop and application program

Country Status (2)

Country Link
CN (1) CN104679494B (en)
WO (1) WO2015078214A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447645B (en) * 2015-11-30 2020-02-07 南京南瑞继保电气有限公司 Universal loading method for power dispatching heterogeneous service system model based on meta-model tree
EP3570164B1 (en) * 2018-05-14 2023-04-26 Schneider Electric Industries SAS Method and system for generating a mobile application from a desktop application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064713A (en) * 2006-04-26 2007-10-31 深圳Tcl新技术有限公司 Control method for realizing remote tabletop using television set platform
CN101499010A (en) * 2008-01-30 2009-08-05 运软网络科技(上海)有限公司 Method for using desktop application programs on mobile phone
CN102387118A (en) * 2010-08-30 2012-03-21 联想(北京)有限公司 Data output method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028579A1 (en) * 2001-08-06 2003-02-06 Kulkarni Vinay Vasant Process for component-based application development
CN101447998B (en) * 2008-12-25 2012-07-11 广东威创视讯科技股份有限公司 Desktop sharing method and system
CN102033726A (en) * 2009-09-30 2011-04-27 联想(北京)有限公司 Display method and server
CN101674110A (en) * 2009-10-21 2010-03-17 中兴通讯股份有限公司 Method for implementing desktop sharing and control of mobile terminals and mobile terminal
CN102487380B (en) * 2010-12-01 2016-09-07 中兴通讯股份有限公司 Desktop virtual terminal entrusting method and system
CN103139294B (en) * 2013-01-30 2015-12-09 深圳市深信服电子科技有限公司 Based on local resource mapping method and the system of applying virtual

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064713A (en) * 2006-04-26 2007-10-31 深圳Tcl新技术有限公司 Control method for realizing remote tabletop using television set platform
CN101499010A (en) * 2008-01-30 2009-08-05 运软网络科技(上海)有限公司 Method for using desktop application programs on mobile phone
CN102387118A (en) * 2010-08-30 2012-03-21 联想(北京)有限公司 Data output method and device

Also Published As

Publication number Publication date
WO2015078214A1 (en) 2015-06-04
CN104679494A (en) 2015-06-03

Similar Documents

Publication Publication Date Title
CN110515576B (en) Display control method and device
US11395110B2 (en) Messaging system interacting with dynamic extension app
EP3531290A1 (en) Data backup method, apparatus, electronic device, storage medium, and system
CN108471376B (en) Data processing method, device and system
EP3190763B1 (en) Screen sharing method and sharing device
US11451619B2 (en) App remote control method and related devices
CN109889348B (en) Image sharing method and device
US20110066971A1 (en) Method and apparatus for providing application interface portions on peripheral computing devices
WO2018133685A1 (en) Interface display method, device and terminal, and storage medium
EP3142304B1 (en) Synchronization method for notification message of electronic device, server and electronic device
US9124551B2 (en) Multi-touch multi-user interactive control system using mobile devices
KR20160013054A (en) Method and apparatus for displaying application interface, and electronic device
KR102249197B1 (en) User terminal apparatus, communication system and control method thereof
US10863312B2 (en) Moving track sharing method and apparatus, and storage medium
US20210216263A1 (en) Data processing method and electronic terminal
JP2012079084A (en) Remote desktop system and operation application migration system
CN103677970A (en) System and method for achieving combination display of terminal local desktop and far-end virtual desktop
CN107070785A (en) A kind of realize reads the method shared and its device
CN103634419A (en) Remote control method of terminal and terminal
CN114281288A (en) Screen projection processing method and device and electronic equipment
CN104679494B (en) Method and device for realizing remote virtual desktop and application program
CN108255547B (en) Application program control method and device
TW201624252A (en) Information integrating system and method
CN115421841A (en) Notification processing method, terminal device, server and computer storage medium
CN115617166A (en) Interaction control method and device and electronic equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220316

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.