Remote control method and system
By establishing a remote control link in the cloud virtualization system, the main control terminal can control the controlled terminal, solving the problem of remote control in the GPU POOL system, and achieving efficient image rendering and operation synchronization.
Patent Information
- Application Number
- CN202010226673.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-27
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2040-03-27
AI Technical Summary
In a cloud virtualization system based on GPU POOL, the implementation of remote control between two R-ends has not yet been resolved.
By establishing a remote control link between the first server and the second server, the main control terminal acquires the screen storage location of the controlled terminal and generates rendering instructions through operation messages to realize remote control of the controlled terminal.
Remote control between two terminals is realized, which meets the high demand for images by users and improves the operating efficiency and user experience of the system.
Smart Images

Figure CN111414237B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of remote control, and in particular to a remote control method and system. Background Art
[0002] Cloud virtualization technology is currently developing very rapidly. With the further development of public cloud platforms and private cloud platforms, further segmentation requirements have been proposed for virtual desktop cloud platforms. Currently, in the direction of virtual cloud desktops, cloud desktop office users, 2D / 3D design and development users, and 3D game entertainment users are gradually refined according to user usage behavior. In order to meet users' high demand for images, GPU POOL is proposed. GPU POOL can render rendering instructions from the virtual machine and send the rendered images to the R end. The R end can be hard R or soft R. Soft R runs on the terminal device. Hard R is an independent device. R only has decoding and display functions. All user operations on the system are completed by VM. The terminal device can only include a GPU, a simple CPU, and a display screen.
[0003] It can be seen that how to realize remote control between two R terminals in a cloud virtualization system based on GPU POOL is a problem that needs to be solved. Summary of the invention
[0004] The embodiment of the present disclosure provides a remote control method and system, which can realize the control of the controlled terminal by the master terminal. The technical solution is as follows:
[0005] According to a first aspect of an embodiment of the present disclosure, a remote control method is provided, which is applied to a remote control system, the system comprising a first server, a master control terminal and a controlled terminal, wherein the first server comprises a controlled virtual machine VM2, and VM2 corresponds to the controlled terminal; the method comprises:
[0006] The first server establishes a remote control link between the master terminal and VM2;
[0007] The master terminal controls the controlled terminal through a remote control link.
[0008] In one embodiment, the system further includes a second server, and the control of the controlled terminal by the master terminal through the remote control link includes:
[0009] The first server obtains a second storage location storing the controlled terminal screen in the second server, and sends the location to the main control terminal via a remote control link;
[0010] The main control terminal obtains the coded data of the controlled terminal according to the second storage location, and displays the corresponding operation screen after decoding;
[0011] The main control terminal sends an operation message based on the operation screen to VM2 of the first server through the remote control link;
[0012] VM2 generates a rendering instruction according to the operation message, and sends the rendering instruction to the second server;
[0013] The second server generates a rendering picture according to the rendering instruction, and saves the rendering picture to a second saving location;
[0014] The controlled terminal obtains the second saved location, and displays the rendered picture according to the second saved location.
[0015] In one embodiment, before the first server establishes the remote control link between the master terminal and VM2, the method further includes: determining that a condition for establishing remote control is met;
[0016] Correspondingly, if the conditions for establishing remote control are met, a remote control link is established between the master control terminal and VM2.
[0017] In one embodiment, determining that the conditions for establishing remote control are met includes:
[0018] The controlled terminal sends a first control request to the first server;
[0019] The first server sends the first control request to the bound master control terminal according to the pre-stored binding relationship;
[0020] After receiving the first control request, the main control terminal obtains the first user input message, and when the first user input message indicates that the control is agreed, sends a first notification message to the first server;
[0021] The first server receives the first notification message and determines that the condition for establishing remote control is met.
[0022] In one embodiment, determining that the conditions for establishing remote control are met includes:
[0023] The main control terminal sends a second control request to the first server;
[0024] The first server sends the second control request to the bound controlled terminal according to the pre-stored binding relationship;
[0025] After receiving the second control request, the terminal obtains a second user input message, and when the second user input message indicates consent to be controlled, sends a second notification message to the first server;
[0026] The first server receives the second notification message and determines that the condition for establishing remote control is met.
[0027] In one embodiment, the first server further includes a master virtual machine VM1, VM1 corresponds to the master terminal, and before the first server establishes a remote control link between the master terminal and VM2, the method further includes: the first server pre-stores a binding relationship.
[0028] In one embodiment, the first server pre-storing the binding relationship includes:
[0029] The controlled terminal sends a first binding request to VM2 of the first server, where the first binding request includes a first device identifier of the control terminal and a second device identifier of the controlled terminal;
[0030] VM1 of the first server sends a first binding request to the main control terminal;
[0031] After receiving the first binding request, the main control terminal obtains a third user input message, and when the third user input message indicates consent to the binding, sends a third notification message to the first server;
[0032] The first server receives the third notification message, and generates a binding relationship according to the first device identifier and the second device identifier.
[0033] In one embodiment, the first server pre-storing the binding relationship includes:
[0034] The master control terminal sends a second binding request to VM1 of the first server, where the second binding request includes the first device identifier of the master control terminal and the second device identifier of the controlled terminal;
[0035] VM2 of the first server sends a second binding request to the controlled terminal;
[0036] After receiving the second binding request, the controlled terminal obtains a fourth user input message, and when the fourth user input message indicates consent to the binding, sends a fourth notification message to the first server;
[0037] The first server receives the fourth notification message, and generates a binding relationship according to the first device identifier and the second device identifier.
[0038] In one embodiment, the method further comprises:
[0039] After receiving the control interruption instruction from the master terminal or the controlled terminal, the first server removes the remote control link and sends the first storage location storing the master terminal screen in the second server to the master terminal through VM1.
[0040] According to a second aspect of an embodiment of the present disclosure, a remote control system is provided, the system comprising a first server, a second server, a master control terminal and a controlled terminal, wherein the first server comprises a master control virtual machine VM1 and a controlled virtual machine VM2, VM1 corresponds to the master control terminal, and VM2 corresponds to the controlled terminal;
[0041] The first server establishes a remote control link between the master terminal and VM2;
[0042] The first server obtains a second storage location storing the controlled terminal screen in the second server, and sends the location to the main control terminal via a remote control link;
[0043] The main control terminal obtains the coded data of the controlled terminal according to the second storage location, and displays the corresponding operation screen after decoding;
[0044] The main control terminal sends an operation message based on the operation screen to VM2 of the first server through the remote control link;
[0045] VM2 generates a rendering instruction according to the operation message, and sends the rendering instruction to the second server;
[0046] The second server generates a rendering picture according to the rendering instruction, and saves the rendering picture to a second saving location;
[0047] The controlled terminal obtains the second saved location, and displays the rendered picture according to the second saved location.
[0048] In one embodiment, the system further includes a second server, and the control of the controlled terminal by the master terminal through the remote control link includes:
[0049] The first server obtains a second storage location storing the controlled terminal screen in the second server, and sends the location to the main control terminal via a remote control link;
[0050] The main control terminal obtains the coded data of the controlled terminal according to the second storage location, and displays the corresponding operation screen after decoding;
[0051] The main control terminal sends an operation message based on the operation screen to VM2 of the first server through the remote control link;
[0052] VM2 generates a rendering instruction according to the operation message, and sends the rendering instruction to the second server;
[0053] The second server generates a rendering picture according to the rendering instruction, and saves the rendering picture to a second saving location;
[0054] The controlled terminal obtains the second saved location, and displays the rendered picture according to the second saved location.
[0055] In one embodiment, before the first server establishes the remote control link between the master terminal and VM2, it determines that the conditions for establishing remote control are met;
[0056] Correspondingly, if the conditions for establishing remote control are met, a remote control link is established between the master control terminal and VM2.
[0057] In one embodiment, determining that the conditions for establishing remote control are met includes:
[0058] The controlled terminal sends a first control request to the first server;
[0059] The first server sends the first control request to the bound master control terminal according to the pre-stored binding relationship;
[0060] After receiving the first control request, the main control terminal obtains the first user input message, and when the first user input message indicates that the control is agreed, sends a first notification message to the first server;
[0061] The first server receives the first notification message and determines that the condition for establishing remote control is met.
[0062] In one embodiment, determining that the conditions for establishing remote control are met includes:
[0063] The main control terminal sends a second control request to the first server;
[0064] The first server sends the second control request to the bound controlled terminal according to the pre-stored binding relationship;
[0065] After receiving the second control request, the terminal obtains a second user input message, and when the second user input message indicates consent to be controlled, sends a second notification message to the first server;
[0066] The first server receives the second notification message and determines that the condition for establishing remote control is met.
[0067] In one embodiment, the first server further includes a master control virtual machine VM1, VM1 corresponds to the master control terminal, and before the first server establishes a remote control link between the master control terminal and VM2, the first server pre-stores a binding relationship.
[0068] In one embodiment, the first server pre-storing the binding relationship includes:
[0069] The controlled terminal sends a first binding request to VM2 of the first server, where the first binding request includes a first device identifier of the control terminal and a second device identifier of the controlled terminal;
[0070] VM1 of the first server sends a first binding request to the main control terminal;
[0071] After receiving the first binding request, the main control terminal obtains a third user input message, and when the third user input message indicates consent to the binding, sends a third notification message to the first server;
[0072] The first server receives the third notification message, and generates a binding relationship according to the first device identifier and the second device identifier.
[0073] In one embodiment, the first server pre-storing the binding relationship includes:
[0074] The master control terminal sends a second binding request to VM1 of the first server, where the second binding request includes the first device identifier of the master control terminal and the second device identifier of the controlled terminal;
[0075] VM2 of the first server sends a second binding request to the controlled terminal;
[0076] After receiving the second binding request, the controlled terminal obtains a fourth user input message, and when the fourth user input message indicates consent to the binding, sends a fourth notification message to the first server;
[0077] The first server receives the fourth notification message, and generates a binding relationship according to the first device identifier and the second device identifier.
[0078] In one embodiment, after receiving the control interruption instruction from the master terminal or the controlled terminal, the first server removes the remote control link and sends the first storage location storing the master terminal screen in the second server to the master terminal through VM1.
[0079] The present disclosure can realize remote control between two terminals in a remote control system.
[0080] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0081] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0082] Figure 1 is a structural diagram of a remote control system provided by an embodiment of the present disclosure;
[0083] Figure 2 is a flow chart of a remote control method provided by an embodiment of the present disclosure;
[0084] Figure 3 is a flow chart of establishing a binding relationship provided by an embodiment of the present disclosure;
[0085] Figure 4 is a flow chart of establishing a binding relationship provided by an embodiment of the present disclosure;
[0086] Figure 5 is a flow chart of determining whether a condition for establishing remote control is met, provided by an embodiment of the present disclosure;
[0087] Figure 6 is a flow chart of determining whether a condition for establishing remote control is met, provided by an embodiment of the present disclosure;
[0088] Figure 7 is a structural diagram of a remote control system provided by an embodiment of the present disclosure;
[0089] Figure 8 It is a flow chart of a remote control method provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0090] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0091] Part of the following description explicitly or implicitly involves algorithms and functional or symbolic representations of operations on data in computer memory. These algorithmic descriptions and functional or symbolic representations are methods used by those skilled in the art of data processing to more effectively express the essence of their work to other technicians in the field. Algorithms are generally conceived here as a series of methodical steps that generate a desired result. These steps are steps that require physical manipulation of physical quantities such as electrical, magnetic or optical signals that can be stored, transmitted, combined, compared and manipulated by other means.
[0092] Unless otherwise specified, as will be apparent below, it should be understood that discussions of terms such as "receiving", "establishing", "rendering", "sending", "obtaining", "generating", etc. used throughout this specification refer to the actions and processing of computer systems or similar electronic devices, which manipulate and convert data represented as physical quantities within the computer system into other data also represented as physical quantities within the computer system or other information storage, transmission or display devices.
[0093] The specification also discloses a device for performing the method operation. Such a device is specially constructed for the desired purpose, or may include a general-purpose computer or other computer program stored in the computer selectively activated or reconfigured other device. The algorithms and displays introduced herein are not inherently related to any specific computer or other device. Various general-purpose machines can be used together according to the programs taught herein. Alternatively, a more specific device configuration for performing the required method steps is applicable. The structure of a conventional general-purpose computer will be introduced in the following description.
[0094] In addition, since it is obvious to those skilled in the art that each step of the method described herein can be implemented by computer code, this specification also implicitly discloses a computer program. This computer program is not intended to be limited to any specific programming language and its execution. It should be understood that a variety of programming languages and their codes can be used to perform the disclosed teachings contained in this article. In addition, this computer program is not intended to be limited to any specific control flow. Without departing from the spirit or scope of the disclosed embodiments, there are many other types of computer programs that can use different control flows.
[0095] Moreover, one or more steps of the computer program can be performed in parallel rather than sequentially. Such a computer program can be stored on any computer readable medium. The storage device that the computer readable medium can include is such as a disk or optical disk, a memory chip or other storage devices suitable for interfacing with a general-purpose computer. The computer readable medium can also include hard-wired media such as in an Internet system, or wireless media. When the computer program is loaded and executed on such a general-purpose computer, the computer program effectively generates a device for implementing the steps of the preferred method.
[0096] The disclosed embodiments may also be implemented as hardware modules. More specifically, in the hardware sense, a module is a functional hardware unit designed to be used with other components or modules. For example, a module may be implemented using discrete electronic components, or it may form part of an entire electronic circuit such as an application-specific integrated circuit (ASIC). There are many other possibilities. It will be appreciated by those skilled in the art that the system may also be implemented as a combination of hardware and software modules.
[0097] Figure 1 is a structural diagram of a remote control system provided by an embodiment of the present disclosure, such as Figure 1 The remote control system shown includes a cloud virtualization system (first server), a GPU POOL system (second server), a first terminal Ra and a second terminal Rb. The cloud virtualization system includes virtual machines VM1 and VM2, and an S1 module, and the GPU POOL system includes a GPUPOOL module and an S2 module. Figure 1In a system, one usage scenario is: user A uses Ra terminal, Ra terminal corresponds to VM1, user B uses Rb terminal, RB terminal corresponds to VM2. User A remotely controls Rb terminal through Ra terminal. In this embodiment, the first terminal Ra is used as the master terminal, and the second terminal Rb is used as the controlled terminal for specific description.
[0098] It should be noted that the remote control APP needs to be installed on the Ra and Rb ends in advance.
[0099] Figure 2 is a flow chart of a remote control method provided by an embodiment of the present disclosure, such as Figure 2 The remote control method shown is used to Figure 1 The system specifically performs the following steps:
[0100] Step 201: The master terminal and the controlled terminal establish a binding relationship;
[0101] Specifically, this step includes at least two solutions.
[0102] Option 1:
[0103] In one embodiment, if Figure 3 As shown, establishing a binding relationship between the master terminal and the controlled terminal includes the following steps:
[0104] Step 2011: User B initiates a binding request with Ra to VM2 in the remote control APP on Rb.
[0105] The binding request carries the identifier of the Rb end and the identifier of the Ra end.
[0106] In this step, user B applies for a binding request with the Ra end used by user A through the Rb end.
[0107] In a specific implementation, user B can open the binding page in the remote control APP on the Rb side, enter the identifier of the Ra side to be bound, and click the request binding button, so that the Rb side can issue a binding request to the Ra side device.
[0108] Step 2012: VM2 forwards the binding request to the S1 module, and the S1 module sends the binding request to the Ra end.
[0109] In this step, the S1 module is used to manage each VM. The S1 module receives a binding request from VM2, determines VM2 corresponding to the Ra end to be bound according to the identifier of the Ra end carried in the binding request, and then forwards the binding request to VM1.
[0110] Step 2013, VM1 receives the binding request and displays it to the user through the Ra end; user A accepts the binding request in the remote control APP on the Ra end, and sends a confirmation message of accepting the binding request to S1 through VM1.
[0111] In this step, after receiving the binding request from Rb, the Ra end displays a confirmation button to accept the binding request and a rejection button to reject the binding request to user A; if user A clicks the confirmation button, the Ra end sends a confirmation message to accept the binding request and forwards it to the S1 module via VM1.
[0112] Solution 2
[0113] In this solution, user A initiates a binding request at the Ra end, and steps 2011 to 2013 can be replaced by the following steps 2011' to 2013'. Figure 4 As shown, establishing a binding relationship between the master terminal and the controlled terminal includes the following steps:
[0114] Step 2011': User A initiates a binding request with Rb to VM1 through the remote control APP on Ra.
[0115] Step 2012', VM1 forwards the binding request to the S1 module, and the S1 module sends the binding request to the Rb end.
[0116] Step 2013': User B accepts the binding request in the remote control APP on the Rb side, and sends a confirmation message of accepting the binding request to S1 via VM2.
[0117] It can be understood that S1 stores the binding relationship between the Ra-end device and the Rb-end device.
[0118] Specifically, the binding relationship between the identifier of the Ra end and the identifier of the Rb end can be saved.
[0119] At this point, the binding relationship between the Ra-end device and the Rb-end device is established.
[0120] Step 202: determine whether the conditions for establishing remote control are met;
[0121] If not, the process ends; if satisfied, execute step 203.
[0122] In an optional embodiment, determining that the condition for establishing remote control is satisfied includes: both the controlling terminal and the controlled terminal agree to establish remote control.
[0123] Specifically, this step includes at least two solutions.
[0124] Option 1:
[0125] In one embodiment, if Figure 5 As shown, determining whether the conditions for establishing remote control are met includes the following steps:
[0126] Step 2021: User B initiates a control request for Ra to VM2 in the remote control APP on the Rb side.
[0127] In this step, user B can open the control request page in the remote control APP on the Rb end. The control request page may include two input options. One input option is used to input the identifier of the controlled R end, that is, the Rb end requires other R end devices to control itself, and the other input option is used to input the identifier of the controlling R end, that is, the Rb end requires control of other R end devices.
[0128] For example, user B inputs the identifier of the controlled R end, and clicks the request binding button after input, so that the Rb end sends a control request to VM2 for the Ra end.
[0129] Step 2022: VM2 sends a control request to S1, and S1 forwards the control request to VM1 corresponding to the Ra end according to the binding relationship saved in advance.
[0130] Step 2023, VM1 displays the business interface of the received control request to user A through the remote control APP on the Ra terminal; user A accepts the binding request in the business interface of the control request, and sends a confirmation message of accepting the binding request to S1 via VM1.
[0131] In this step, after receiving the control request from Rb, the Ra end displays a confirmation button for accepting the control request and a rejection button for rejecting the control request to user A; if user A clicks the confirmation button, the Ra end sends a confirmation message for accepting the control request and forwards it to the S1 module via VM1.
[0132] Solution 2
[0133] Steps 2021 to 2023 may also be initiated by user A, as shown in the following example: Figure 6 As shown, determining whether the conditions for establishing remote control are met includes the following steps:
[0134] Step 2021': User A initiates a control request for user account B in the remote control APP on the Ra side.
[0135] Step 2022', VM1 sends the control request to S1, and S1 forwards the control request to Rb according to the binding relationship saved in advance.
[0136] Step 2023': User B accepts the request to be controlled in the remote control APP on the Rb side, and sends a confirmation message of accepting the request to be controlled to S1 via VM1.
[0137] Step 203 , S1 establishes a dedicated link between the Ra end and VM2 , and sends the storage location of the coded data cb of Rb in the GPU POOL to the Ra end.
[0138] In this step, the Ra end is temporarily connected to VM2, that is, the user can control VM2 through the Ra end, and the screen displayed on the Ra end is also the screen generated after VM2 executes the user operation, that is, the screen displayed on the Ra end is the screen displayed on the Rb end.
[0139] At this time, VM1 is still running normally, but user A is temporarily unable to control VM1 through the Ra terminal.
[0140] Step 2204: After receiving the storage location of the coded data cb, the Ra end starts to obtain the coded data cb.
[0141] In this way, both Ra and Rb terminals display the operation screen of VM2.
[0142] Step 205: User A performs an operation on the Ra end, and the operation information of user A is sent from the Ra end to VM2 via a dedicated link to realize remote control of Rb.
[0143] In this step, user A can perform various operations on the operating system, application software, etc. on VM2 at the Ra end.
[0144] It should be noted that the remote management authority can be controlled through the remote management APP, that is, the operation authority of user A on VM2 can be managed by setting the authority of the remote management APP.
[0145] Step 206, VM2 sends the rendering instruction generated by the user operation of user A to GPU POOL for rendering to generate a rendering picture;
[0146] Then, the rendered image is sent to the S2 module for encoding and saved as encoded data cb. The saved location of the encoded data cb in the GPUPOOL system is the IP address + port.
[0147] Since S1 has sent the storage location in GPU POOL for storing the encoded data cb to the Ra end, the rendering image generated by the operation information of user A can be seen by user A on the Ra end and by user B on the Rb end. That is, user B can see the image changed due to the operation of user A on Rb.
[0148] Step 207: User A or user B initiates an interrupt control request at the Ra end or the Rb end, which is forwarded to S1 by VM1 or VM2.
[0149] Step 208 , after receiving the request for interrupt control, S1 removes the dedicated link between the Ra end and VM2 , and sends the storage location in GPUPOOL for storing the coded data Ca of the Ra end to the Ra end.
[0150] In step 207 and step 208, both user A and user B can interrupt the control action at any time. After interrupting the control action, user B can immediately restore the control authority over VM2. After user A interrupts the operation action, since S1 sends the storage location of the encoded data Ca back to the Ra end, the screen displayed on the Ra end changes back to the screen of VM1.
[0151] It should be noted that the binding relationship between the Ra end and the Rb end does not need to be deleted and can always remain valid. After confirming the binding relationship, the next request and requested control can initiate the establishment of a direct dedicated link. The dedicated link can be established when requested and deleted after interruption, but the binding relationship can be saved all the time. Specifically, the binding relationship can be saved in the form of a table.
[0152] Figure 7 A remote control system provided by an embodiment of the present disclosure is Figure 7 The remote control system 70 shown includes a first server 701, a master terminal 702 and a controlled terminal 703; the first server 701 includes a controlled virtual machine VM2, VM2 corresponds to the controlled terminal, and the first server establishes a remote control link between the master terminal and VM2; the master terminal controls the controlled terminal through the remote control link. Specifically, VM2 and the controlled terminal can transmit signals.
[0153] Optional, such as Figure 7 The remote control system 70 shown also includes a second server 704 .
[0154] Figure 8 A remote control method provided by the embodiment of the present disclosure is applied to Figure 7 The remote control system shown in the figure comprises the following steps:
[0155] Step 802: The first server establishes a remote control link between the master terminal and VM2;
[0156] Step 804: The master terminal controls the controlled terminal through the remote control link.
[0157] Optionally, the system further includes a second server, and step 804 specifically includes the following steps:
[0158] Step 8041: The first server obtains a second storage location storing the screen of the controlled terminal in the second server, and sends the location to the main control terminal through the remote control link;
[0159] Step 8042: the main control terminal obtains the coded data of the controlled terminal according to the second storage location, and displays the corresponding operation screen after decoding;
[0160] Step 8043: The main control terminal sends an operation message based on the operation screen to VM2 of the first server through the remote control link;
[0161] Step 8044: VM2 generates a rendering instruction according to the operation message, and sends the rendering instruction to the second server;
[0162] Step 8045: The second server generates a rendering picture according to the rendering instruction, and saves the rendering picture to a second saving location;
[0163] Step 8046: The controlled terminal obtains the second saved location and displays the rendering image according to the second saved location.
[0164] In one embodiment, before step 802, the method further includes:
[0165] Step 801: Determine whether the conditions for establishing remote control are met;
[0166] Correspondingly, if the conditions for establishing remote control are met, a remote control link is established between the master control terminal and VM2.
[0167] In one embodiment, step 801 includes the following steps:
[0168] Step 8011: The controlled terminal sends a first control request to the first server;
[0169] Step 8012: The first server sends the first control request to the bound master control terminal according to the pre-stored binding relationship;
[0170] Step 8013: After receiving the first control request, the main control terminal obtains a first user input message, and when the first user input message indicates that the control is agreed, sends a first notification message to the first server;
[0171] Step 8014: The first server receives the first notification message and determines that the conditions for establishing remote control are met.
[0172] In one embodiment, step 801 specifically includes the following steps:
[0173] Step 801a: the main control terminal sends a second control request to the first server;
[0174] Step 801b: The first server sends the second control request to the bound controlled terminal according to the pre-stored binding relationship;
[0175] Step 801c: After receiving the second control request, the terminal obtains a second user input message, and when the second user input message indicates consent to be controlled, sends a second notification message to the first server;
[0176] Step 801d: The first server receives the second notification message and determines that the conditions for establishing remote control are met.
[0177] In one embodiment, the first server further includes a master virtual machine VM1, and VM1 corresponds to the master terminal. Before step 801, the method further includes:
[0178] Step 800: The first server pre-stores the binding relationship.
[0179] In one embodiment, step 800 specifically includes the following steps:
[0180] Step 8001: The controlled terminal sends a first binding request to VM2 of the first server, where the first binding request includes a first device identifier of the control terminal and a second device identifier of the controlled terminal;
[0181] Step 8002: VM1 of the first server sends a first binding request to the main control terminal;
[0182] Step 8003: After receiving the first binding request, the main control terminal obtains a third user input message, and when the third user input message indicates consent to the binding, sends a third notification message to the first server;
[0183] Step 8004: The first server receives the third notification message and generates a binding relationship according to the first device identifier and the second device identifier.
[0184] In one embodiment, step 800 includes the following steps:
[0185] Step 800a: The master control terminal sends a second binding request to VM1 of the first server, where the second binding request includes a first device identifier of the master control terminal and a second device identifier of the controlled terminal;
[0186] Step 800b: VM2 of the first server sends a second binding request to the controlled terminal;
[0187] Step 800c: After receiving the second binding request, the controlled terminal obtains a fourth user input message, and when the fourth user input message indicates consent to the binding, sends a fourth notification message to the first server;
[0188] Step 800d: The first server receives the fourth notification message and generates a binding relationship according to the first device identifier and the second device identifier.
[0189] In one embodiment, the method further comprises:
[0190] Step 806: After receiving the control interruption instruction from the master terminal or the controlled terminal, the first server removes the remote control link and sends the first storage location of the master terminal screen stored in the second server to the master terminal through VM1.
[0191] In some scenarios, user A uses the Ra end to remotely control the Rb end used by user B. For example, user B is an elderly person and user A is a child who does not live together. User A can perform software installation and other operations on the Rb end used by the elderly person by remotely controlling the Rb end. For another example, user A uses the Ra end to remotely operate the Rb end and remotely control the electronic device connected to the Rb end. The electronic device may be a drone, smart appliance, etc.
[0192] In the embodiment of the present disclosure, when user A needs to remotely control the Rb end through the Ra end, a dedicated link between the Ra end and VM2 corresponding to the Rb end can be established through the S1 module in the cloud virtualization system, and the storage location for storing the Rb encoded data cb in the GPU POOL can be sent to the Ra end, so that the Ra end can obtain the Rb encoded data cb.
[0193] It can be seen that the operation information of user A on the Ra side can be sent to VM2 to remotely control VM2, and the Ra side can obtain the encoded data cb of Rb, that is, the display screen of the Ra side is the same as the display screen of the Rb side. In this way, remote control between the two R sides can be realized in the cloud virtualization system based on GPU POOL.
[0194] Based on the above Figure 8 Corresponding to the remote control method described in the embodiment, the embodiment of the present disclosure also provides a computer-readable storage medium, for example, a non-temporary computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. The storage medium stores computer instructions for executing the above Figure 2 and Figure 4 The remote control method described in the corresponding embodiment will not be described in detail here.
[0195] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
Claims
1. A remote control method, applied to a remote control system, characterized in that: The system includes a first server, a second server, a master control terminal and a controlled terminal, wherein the first server includes a controlled virtual machine VM1 and a virtual machine VM2, and an S1 module, VM1 corresponds to the master control terminal, and VM2 corresponds to the controlled terminal; the second server includes a GPU POOL system, and the GPU POOL system includes a GPU POOL module and an S2 module for data encoding; The method comprises: The first server establishes a remote control link between the master control terminal and the VM2; The master control terminal controls the controlled terminal through the remote control link; The main control terminal controls the controlled terminal through the remote control link, including: The first server obtains a second storage location storing the controlled terminal screen in the second server, and sends the location to the main control terminal via the remote control link; The main control terminal obtains the coded data of the controlled terminal according to the second storage location, and displays the corresponding operation screen after decoding; The main control terminal sends an operation message based on the operation screen to VM2 of the first server through the remote control link; VM2 generates a rendering instruction according to the operation message, and sends the rendering instruction to the second server; The second server generates a rendering picture according to the rendering instruction, and saves the rendering picture to the second saving location; The controlled terminal obtains the second saved location, and displays the rendering picture according to the second saved location.
2. The method according to claim 1, characterized in that Before the first server establishes a remote control link between the master terminal and the VM2, the method further includes: determining that a condition for establishing remote control is met; Correspondingly, if the conditions for establishing remote control are met, a remote control link is established between the master control terminal and the VM2.
3. The method according to claim 2, characterized in that The determining that the conditions for establishing remote control are met includes: The controlled terminal sends a first control request to the first server; The first server sends the first control request to the bound master control terminal according to the pre-stored binding relationship; After receiving the first control request, the main control terminal obtains the first user input message, and when the first user input message indicates that the control is agreed, sends a first notification message to the first server; The first server receives the first notification message and determines that the condition for establishing remote control is met.
4. The method according to claim 2, characterized in that: The determining that the conditions for establishing remote control are met includes: The main control terminal sends a second control request to the first server; The first server sends the second control request to the bound controlled terminal according to the pre-stored binding relationship; After receiving the second control request, the terminal obtains a second user input message, and when the second user input message indicates consent to be controlled, sends a second notification message to the first server; The first server receives the second notification message and determines that the condition for establishing remote control is met.
5. The method according to claim 3 or 4, characterized in that: Before the first server establishes the remote control link between the master terminal and the VM2, the method further includes: the first server pre-storing the binding relationship.
6. The method according to claim 3, characterized in that The first server also includes a master virtual machine VM1, VM1 corresponds to the master terminal, and the first server pre-stores the binding relationship including: The controlled terminal sends a first binding request to VM2 of the first server, where the first binding request includes a first device identifier of the master terminal and a second device identifier of the controlled terminal; VM1 of the first server sends the first binding request to the main control terminal; After receiving the first binding request, the main control terminal obtains a third user input message, and when the third user input message indicates consent to the binding, sends a third notification message to the first server; The first server receives the third notification message, and generates the binding relationship according to the first device identifier and the second device identifier.
7. The method according to claim 5, characterized in that The first server pre-storing the binding relationship includes: The master control terminal sends a second binding request to VM1 of the first server, where the second binding request includes a first device identifier of the master control terminal and a second device identifier of the controlled terminal; VM2 of the first server sends the second binding request to the controlled terminal; After receiving the second binding request, the controlled terminal obtains a fourth user input message, and when the fourth user input message indicates consent to the binding, sends a fourth notification message to the first server; The first server receives the fourth notification message, and generates the binding relationship according to the first device identifier and the second device identifier.
8. The method according to claim 6 or 7, characterized in that: The method further comprises: After receiving the control interruption instruction from the master terminal or the controlled terminal, the first server removes the remote control link and sends the first storage location storing the master terminal screen in the second server to the master terminal through VM1.
9. A remote control system, characterized in that: The system includes a first server, a second server, a master control terminal and a controlled terminal, wherein the first server includes a controlled virtual machine VM1 and a virtual machine VM2, and an S1 module, VM1 corresponds to the master control terminal, and VM2 corresponds to the controlled terminal; the second server includes a GPU POOL system, the GPU POOL system includes a GPU POOL module and an S2 module for data encoding, wherein, The first server includes a controlled virtual machine VM2, and VM2 corresponds to a controlled terminal; The first server establishes a remote control link between the master control terminal and the VM2; The master control terminal controls the controlled terminal through the remote control link; The main control terminal controls the controlled terminal through the remote control link, including: The first server obtains a second storage location storing the controlled terminal screen in the second server, and sends the location to the main control terminal via the remote control link; The main control terminal obtains the coded data of the controlled terminal according to the second storage location, and displays the corresponding operation screen after decoding; The main control terminal sends an operation message based on the operation screen to VM2 of the first server through the remote control link; VM2 generates a rendering instruction according to the operation message, and sends the rendering instruction to the second server; The second server generates a rendering picture according to the rendering instruction, and saves the rendering picture to the second saving location; The controlled terminal obtains the second saved location, and displays the rendering picture according to the second saved location.
