WO2023179154A1 - Method, apparatus and system for updating cursor - Google Patents

Method, apparatus and system for updating cursor Download PDF

Info

Publication number
WO2023179154A1
WO2023179154A1 PCT/CN2022/143275 CN2022143275W WO2023179154A1 WO 2023179154 A1 WO2023179154 A1 WO 2023179154A1 CN 2022143275 W CN2022143275 W CN 2022143275W WO 2023179154 A1 WO2023179154 A1 WO 2023179154A1
Authority
WO
WIPO (PCT)
Prior art keywords
cursor
cloud desktop
appearance
interface
target application
Prior art date
Application number
PCT/CN2022/143275
Other languages
French (fr)
Chinese (zh)
Inventor
赵哲
南俊杰
曾恂
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202210731891.2A external-priority patent/CN116841425A/en
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2023179154A1 publication Critical patent/WO2023179154A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Definitions

  • the present application relates to the field of Internet technology, and in particular to a method, device and system for updating a cursor.
  • Cloud desktop also known as desktop virtualization, cloud computer, etc.
  • the cloud desktop server can provide the cloud desktop client (terminal) with processors, graphics cards, hard disks and other hardware through virtual machines.
  • the cloud desktop client can run a cloud desktop application, and the desktop image received by the cloud desktop client can be displayed in real time in the interface of the cloud desktop application.
  • the user can operate the input components (such as mouse and keyboard) of the cloud desktop client based on the displayed desktop image, and the cloud desktop client sends the operation instructions of the input components to the virtual machine in the cloud desktop server, so that the virtual machine can The machine performs corresponding operations, such as making the virtual machine perform mouse circle selection, keyboard typing, etc. according to the operating instructions of the input component.
  • the input components such as mouse and keyboard
  • the cloud desktop client sends the operation instructions of the input components to the virtual machine in the cloud desktop server, so that the virtual machine can The machine performs corresponding operations, such as making the virtual machine perform mouse circle selection, keyboard typing, etc. according to the operating instructions of the input component.
  • the cloud desktop client can store the cursor appearance of the virtual machine's operating system application, and display the cursor appearance based on the locally detected cursor position, and the virtual machine is sending data to the cloud desktop client.
  • the cursor appearance is not included in the desktop image sent in real time. That is, the cloud desktop client locally handles the display of the cursor in the desktop image.
  • the application will update the cursor appearance.
  • the drawing software will change the cursor appearance from an arrow to a brush.
  • these applications run on the operating system of the virtual machine, they will also update the cursor appearance in the operating system.
  • the cloud desktop client can only display the locally stored cursor appearance, and cannot synchronize the application's updates to the cursor appearance, thus reducing the cost of the cursor appearance. Improve the user experience of using cloud desktop.
  • the embodiments of this application provide a method, device and system for updating the cursor by sending a message, which can enable the cloud desktop client to synchronize the application in the cloud desktop server to update the cursor appearance.
  • the corresponding technical solution is as follows:
  • the first aspect provides a method for updating the cursor.
  • the method is applied to the cloud desktop client in the cloud desktop system.
  • the cloud desktop system also includes a cloud desktop server.
  • the method includes: obtaining by the cloud desktop client.
  • the first operation of the user, the first operation includes moving the cursor to the interface of the target application; according to the first operation, sending the first cursor movement instruction to the cloud desktop server; receiving the first cursor appearance update sent by the cloud desktop server request, the first cursor appearance update request includes the first cursor appearance; update the cursor in the destination application according to the first operation and the first cursor appearance.
  • the target application is an application running in the cloud desktop client for realizing the cloud desktop.
  • the cloud desktop client can communicate with the cloud desktop server through the target application, for example, sending the user's information in the cloud desktop client to the cloud desktop server.
  • the purpose application can be a cloud desktop application.
  • the image displayed on the interface of the target application is the desktop image corresponding to the operating system of the virtual machine in the cloud desktop server.
  • the first operation includes moving the cursor to the interface of the target application, and may also include moving the cursor in the interface of the target application.
  • the cloud desktop client can send the first cursor movement instruction triggered by the first operation to the cloud desktop server.
  • the virtual machine in the cloud desktop server determines that the cursor appearance has been updated during the execution of the first cursor movement instruction, it may send a first cursor appearance update request including the first cursor appearance to the cloud desktop client.
  • a cursor appearance is the updated cursor appearance.
  • the cloud desktop client can update the cursor in the interface of the destination application based on the first operation and the first cursor appearance, that is, update the appearance of the cursor in the interface of the destination application to the first cursor appearance, and update it according to the first operation.
  • the display position of the cursor corresponding to the interface of the target application. In this way, the cloud desktop client can synchronize the update of the cursor appearance by the application in the cloud desktop server according to the first cursor appearance update request sent by the cloud desktop server.
  • the method further includes: the cloud desktop client obtains a second operation of the user, the second operation includes moving the cursor in the interface of the target application; and sending a second cursor movement instruction according to the second operation.
  • the cloud desktop server receives the second cursor appearance update request sent by the cloud desktop server, the second cursor appearance update request indicates the use of the first cursor appearance; update the cursor in the destination application according to the second operation and the first cursor appearance.
  • the cloud desktop client can send the second cursor movement instruction triggered by the second operation to the cloud desktop server. If the virtual machine in the cloud desktop server determines that the cursor appearance has not been updated during the execution of the second cursor movement instruction, it sends a second cursor appearance update request including the first cursor appearance to the cloud desktop client. Since the target application has updated the cursor appearance to the first cursor appearance, the cloud desktop client updates the cursor in the interface of the target application based on the second operation and the first cursor appearance. It only updates the cursor appearance in the target application. Show location. In this way, the cloud desktop client can synchronize the cursor appearance applied in the cloud desktop server in real time according to the second cursor appearance update request, which can improve the user's experience of using the cloud desktop.
  • the method further includes: the cloud desktop client obtains a third operation of the user, the third operation includes moving the cursor in the interface of the target application; and according to the third operation, sending a second cursor movement instruction to The cloud desktop server: when the third cursor appearance update request sent by the cloud desktop server is not received within the specified time, updates the cursor in the target application according to the third operation and the first cursor appearance.
  • the cloud desktop client can send the second cursor movement instruction triggered by the third operation to the cloud desktop server. If the virtual machine in the cloud desktop server determines that the cursor appearance has not been updated during the execution of the second cursor movement instruction, it does not need to send a cursor appearance update request to the cloud desktop client (i.e., a third cursor appearance update request). , so that the cloud desktop client continues to use the first cursor appearance. Therefore, if the cloud desktop client does not receive a cursor appearance update request within a specified period of time after sending the second cursor movement instruction to the cloud desktop server, it can update the cursor appearance in the destination application based on the third operation and the first cursor appearance.
  • a cursor appearance update request i.e., a third cursor appearance update request
  • the cloud desktop client Since the cursor appearance currently displayed in the target application is the first cursor appearance, the cloud desktop client updates the cursor in the target application based on the third operation and the first cursor appearance, which only updates the display of the cursor in the target application. Location. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request. When the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance.
  • the cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
  • the cloud desktop client after the cloud desktop client obtains the user's first operation, second operation or third operation, it can display the interface according to the first operation, second operation or third operation and the current target application.
  • the cursor appearance updates the cursor in the destination application.
  • the cloud desktop client After receiving the cursor appearance update request, the cloud desktop client can update the cursor appearance displayed on the interface of the target application. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request.
  • the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance.
  • the cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
  • the purpose application is a cloud desktop application.
  • a method for updating the cursor is provided.
  • the method is applied to the cloud desktop server in the cloud desktop system.
  • the cloud desktop system also includes a cloud desktop client.
  • the method includes: receiving the third message sent by the cloud desktop client.
  • a cursor movement instruction, the first cursor movement instruction instructs to move the cursor to the interface of the target application; sends the first cursor movement instruction to the target application; obtains the updated first interface of the target application; if the first interface in the first interface If the cursor appearance changes, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  • the target application is an application running in the operating system of the virtual machine, and the interface corresponding to the target application can be displayed in the desktop image of the operating system.
  • the first cursor movement instruction is triggered by the first operation of the user moving the cursor on the cloud desktop client to the interface of the target application.
  • the cloud desktop server after the cloud desktop server receives the first cursor movement instruction sent by the cloud desktop client, if the first cursor movement instruction causes the interface of the target application to change, it can obtain the updated information of the target application.
  • the first interface if it is determined that the first interface includes a cursor appearance, and the cursor appearance has changed from the previously applied cursor appearance, the first cursor appearance may be sent to the cloud desktop through a first cursor appearance update request including the first cursor appearance. client.
  • the cloud desktop client can obtain the updated first cursor appearance and display the cursor according to the first cursor appearance. In this way, the cursor appearance in the cloud desktop client and the cloud desktop server can be updated synchronously, which can improve the user experience of using the cloud desktop system.
  • the changed first cursor appearance is sent to the cloud desktop client, including: comparing the cursor appearance with the specified cursor appearance, and determining the cursor appearance in the first interface. There is a change in appearance.
  • the specified cursor appearance may be the recorded cursor appearance being used by the operating system of the cloud desktop server.
  • the cursor appearance can be compared with the specified cursor appearance. If the comparison results are inconsistent, it can be determined that the cursor appearance in the first interface has changed, and then the cursor appearance can be compared. The changed first cursor appearance is sent to the cloud desktop client, thereby causing the cloud desktop client to synchronously update the cursor appearance.
  • the method further includes: receiving a second cursor movement instruction sent by the cloud desktop client, the second cursor movement instruction indicating moving the cursor in the interface of the target application; sending the second cursor movement instruction to the target application; obtain the updated second interface of the target application; if the second interface includes the first cursor appearance, send a cursor appearance update request to the cloud desktop client, and the cursor appearance update request indicates to use the first cursor appearance.
  • the first cursor appearance may be the cursor appearance currently being applied by the cloud desktop server, for example, it may be the cursor appearance applied after receiving the first cursor movement instruction.
  • the cloud desktop server after the cloud desktop server receives the second cursor movement instruction sent by the cloud desktop client, if the second cursor movement instruction instructs the cursor to be moved to the interface of the target application, it can obtain the target application update.
  • the second interface if it is determined that the second interface includes the cursor appearance, and the cursor appearance is the first cursor appearance, indicating that the cloud desktop server has not updated the cursor appearance, it can send a message including the first cursor appearance to the cloud desktop client.
  • a second cursor appearance update request is made, so that the cloud desktop client updates the cursor in the interface of the target application according to the second operation and the first cursor appearance.
  • the cloud desktop client Since the cursor appearance previously applied by the cloud desktop client is the first cursor appearance, the cloud desktop client only updates the display position of the cursor in the target application according to the second cursor appearance update request, but does not update the cursor appearance. In this way, the cloud desktop client can synchronize the cursor appearance applied in the cloud desktop server in real time according to the second cursor appearance update request, which can improve the user's experience of using the cloud desktop.
  • the method further includes: receiving a second cursor movement instruction sent by the cloud desktop client, the second cursor movement instruction instructing to move the cursor in the interface of the target application; sending the second cursor movement instruction to Target application; obtain the updated second interface of the target application; if the second interface includes the first cursor appearance, do not send a cursor appearance update request to the cloud desktop client.
  • the cloud desktop server receives the second cursor movement instruction corresponding to the third operation sent by the cloud desktop client, if the second cursor movement instruction instructs the cursor to be moved to the interface of the target application, then The second interface updated by the target application can be obtained. If it is determined that the second interface includes the cursor appearance, and the cursor appearance is the first cursor appearance, it means that the cloud desktop server has not updated the cursor appearance, and it does not need to be updated to the cloud desktop client. Send a cursor appearance update request so that the cloud desktop client continues to use the first cursor appearance to display the cursor in the target application. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request.
  • the cloud desktop client can always use the unupdated cursor appearance.
  • the cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
  • the purpose application is a cloud desktop application.
  • a device for updating a cursor which device includes:
  • An acquisition unit configured to acquire the user's first operation, where the first operation includes moving the cursor to the interface of the target application;
  • a sending unit configured to send the first cursor movement instruction to the cloud desktop server according to the first operation
  • a receiving unit configured to receive a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance
  • An update unit configured to update the cursor in the destination application according to the first operation and the first cursor appearance.
  • the acquisition unit is also used to acquire the user's second operation, where the second operation includes moving the cursor in the interface of the target application;
  • the sending unit is also used to send the second cursor movement instruction to the cloud desktop server according to the second operation;
  • the receiving unit is also configured to receive a second cursor appearance update request sent by the cloud desktop server, where the second cursor appearance update request indicates the use of the first cursor appearance;
  • the update unit is also configured to update the cursor in the destination application based on the second operation and the first cursor appearance.
  • the acquisition unit is also used to acquire the user's third operation, where the third operation includes the cursor moving in the interface of the target application;
  • the sending unit is also used to send the second cursor movement instruction to the cloud desktop server according to the third operation;
  • the update unit is also configured to update the cursor in the target application based on the third operation and the first cursor appearance when the third cursor appearance update request sent by the cloud desktop server is not received within a specified time.
  • the purpose application is a cloud desktop application.
  • a fourth aspect provides a device for updating a cursor, which device includes:
  • a receiving unit configured to receive a first cursor movement instruction sent by the cloud desktop client, where the first cursor movement instruction instructs the cursor to be moved to the interface of the target application;
  • a sending unit used to send the first cursor movement instruction to the target application
  • the acquisition unit is used to obtain the updated first interface of the target application
  • the judging unit is configured to send the changed first cursor appearance to the cloud desktop client if the cursor appearance in the first interface changes, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  • the judgment unit is used for:
  • the receiving unit is also configured to receive a second cursor movement instruction sent by the cloud desktop client, where the second cursor movement instruction instructs to move the cursor in the interface of the target application;
  • the sending unit is also used to send the second cursor movement instruction to the target application
  • the acquisition unit is also used to obtain the updated second interface of the target application
  • the judgment unit is also configured to send a cursor appearance update request to the cloud desktop client if the second interface includes the first cursor appearance, and the cursor appearance update request indicates to use the first cursor appearance.
  • the purpose application is a cloud desktop application.
  • a cloud desktop system includes a cloud desktop client and a cloud desktop server, wherein:
  • the cloud desktop server is used to obtain the user's first operation.
  • the first operation includes moving the cursor to the interface of the target application; according to the first operation, send the first cursor movement instruction to the cloud desktop server; receive the cloud desktop service
  • the cloud desktop client is used to receive the first cursor movement instruction sent by the cloud desktop client, and the first cursor movement instruction instructs the cursor to be moved to the interface of the target application; send the first cursor movement instruction to the target application; and obtain updates. the first interface of the target application; if the cursor appearance in the first interface changes, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  • a cloud desktop client in a sixth aspect, includes a memory and a processor.
  • the memory is used to store computer instructions; the processor is used to execute the computer instructions stored in the memory, so that the cloud desktop client executes the above first aspect. Or the method for updating the cursor provided by any of the optional methods in the first aspect.
  • a cloud desktop server includes a memory and a processor.
  • the memory is used to store computer instructions; the processor is used to execute the computer instructions stored in the memory, so that the cloud desktop server executes The method for updating the cursor provided by the above second aspect or any of the optional methods of the second aspect.
  • a readable storage medium stores program code.
  • the processor executes any one of the first aspect, the second aspect, and the first aspect.
  • a method for updating the cursor provided by any of the optional methods in the second aspect.
  • a computer program product includes at least one computer instruction.
  • the computer program product When the computer program product is run on a processor, the computer program product enables the processor to implement the first aspect, the second aspect, and the first aspect.
  • a method for updating the cursor provided by any of the optional methods or any of the optional methods of the second aspect.
  • Figure 1 is a schematic diagram of a cloud desktop system provided by an embodiment of the present application.
  • Figure 2 is a schematic interface diagram of a cloud desktop application provided by an embodiment of the present application.
  • Figure 3 is a flow chart of a method for displaying desktop images on a cloud desktop client provided by an embodiment of the present application
  • Figure 4 is a flow chart of a method for displaying desktop images on a cloud desktop client provided by an embodiment of the present application
  • Figure 5 is a flow chart of a method for updating a cursor provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of cursor movement provided by an embodiment of the present application.
  • Figure 7 is a schematic diagram of cursor movement provided by an embodiment of the present application.
  • Figure 8 is a flow chart of a method for updating a cursor provided by an embodiment of the present application.
  • Figure 9 is a flow chart of a method for updating a cursor provided by an embodiment of the present application.
  • Figure 10 is a flow chart of a method for updating a cursor provided by an embodiment of the present application.
  • Figure 11 is a schematic diagram of a designated position in a target image provided by an embodiment of the present application.
  • Figure 12 is a schematic structural diagram of a device for updating a cursor provided by an embodiment of the present application.
  • Figure 13 is a schematic structural diagram of a device for updating a cursor provided by an embodiment of the present application.
  • FIG. 1 is a schematic diagram of a cloud desktop system provided by this application.
  • the cloud desktop system includes a cloud desktop server 100 and a cloud desktop client 200, where:
  • the cloud desktop server 100 includes hardware such as a processor 101, a memory 102, and a communication component 103.
  • a cloud desktop server 100 can virtualize multiple virtual machines 104 through virtualization technology, and each virtual machine 104 can be equipped with an independent processor 1041, memory 1042, communication component 1043, etc., and each virtual machine 104 can be independently Run operating systems, such as Windows systems, Android systems, Linux systems, etc.
  • the cloud desktop server 100 can provide each virtual machine 104 to the corresponding cloud desktop client 200, so that the cloud desktop client 200 can implement functions such as data processing and storage through the virtual machine 104.
  • the processor 1041, memory 1042, communication component 1043 and other hardware of the virtual machine 104 are based on the cloud desktop server 100 including the processor 101, memory 102, communication component 103 and other hardware through virtualization technology.
  • the virtual hardware has the same functions as the actual physical hardware.
  • the processor 1041 can be a central processing unit (CPU), the memory 1042 can be a solid state disk (Solid State Disk, SSD), and the processor 1041 can be used to receive the first cursor movement instruction sent by the cloud desktop client.
  • the first cursor movement instruction instructs the cursor to be moved to the interface of the target application; sends the first cursor movement instruction to the target application; obtains the updated first interface of the target application; if the appearance of the cursor in the first interface changes, The changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  • the virtual machine 104 can obtain the desktop image that should be displayed in the operating system (including the interface of the application program run by the operating system), and use the obtained desktop image to Sent to the Zhongyun desktop client 200 through the communication component 1043.
  • the cloud desktop client 200 may be equipped with hardware such as a processor 201, a memory 202, an input component 203, a communication component 204, and the like.
  • the processor 201 can be a CPU
  • the memory 202 can be an SSD
  • the input component 203 can be a mouse, keyboard, microphone, etc.
  • the cloud desktop client 200 can run a cloud desktop application. After receiving the desktop image sent by the virtual machine 104, the cloud desktop client 200 can display it in a display window corresponding to the cloud desktop application.
  • the processor 201 corresponding to the cloud desktop client 200 is also used to obtain the user's first operation.
  • the first operation includes moving the cursor to the interface of the target application; according to the first operation, send a first cursor movement instruction to the cloud desktop server. ; Receive the first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes the first cursor appearance; update the cursor in the target application according to the first operation and the first cursor appearance.
  • FIG. 2 is a schematic interface diagram of a cloud desktop application provided by an embodiment of the present application.
  • a cloud desktop application is an application running in a cloud desktop client.
  • the desktop image corresponding to the operating system in the virtual machine sent by the cloud desktop server can be displayed in the interface of the cloud desktop application.
  • the interface of the cloud desktop application is equivalent to the external display device of the virtual machine in the cloud desktop server, which can display the desktop image of the operating system in the virtual machine.
  • Users can operate the desktop image displayed in the interface of the cloud desktop application through the keyboard or mouse connected to the cloud desktop client, and trigger corresponding operation instructions. For example, the user clicks the application icon in the desktop image through the mouse.
  • the cloud desktop client can send the operation instruction to the cloud desktop server, and the virtual machine in the cloud desktop server executes the corresponding operation instruction, thereby enabling the user to operate the virtual machine.
  • Figures 3 and 4 are respectively flow charts of methods for displaying desktop images on a cloud desktop client provided by embodiments of the present application.
  • the cloud desktop server at least includes a cloud desktop service, an operating system, and a desktop application.
  • the cloud desktop There is a cloud desktop application running on the client. in:
  • Cloud desktop service is a program that runs in a virtual machine to implement cloud desktop. It can be used to receive operation instructions sent by the cloud desktop client and send corresponding operation instructions to the operating system in the virtual machine of the cloud desktop server.
  • the cloud desktop service is also used to obtain the desktop image of the operating system and send the desktop image of the operating system to the cloud desktop client.
  • the cloud desktop service at least includes: keyboard and mouse module, display module, network communication module, display driver module and keyboard and mouse driver module.
  • the operating system of the virtual machine at least includes a rendering engine module and an event distribution module. There are desktop applications running in the operating system, and each desktop application at least includes an event processing module and an image update module.
  • the cloud desktop application running on the cloud desktop client can be used to receive the desktop image sent by the cloud desktop server and display the received desktop image.
  • the cloud desktop application can also be used to obtain the operation instructions triggered by the user in the cloud desktop and send the corresponding operation instructions to the cloud desktop client.
  • the cloud desktop application at least includes a keyboard and mouse module, a display module, a desktop image module, a cursor image module and a network communication module.
  • the cloud desktop service sends the cursor appearance to the cloud desktop application.
  • the cursor appearance of the default application in the operating system can be sent to the cloud desktop application through the network communication module, so that the cursor image module in the cloud desktop application determines whether the cursor in the cloud desktop client moves to the cloud desktop.
  • the interface cloud desktop application interface
  • the cloud desktop application sends the cursor position to the cloud desktop service.
  • the keyboard and mouse module in the cloud desktop application when detecting that the cursor of the cloud desktop client reaches the cloud desktop application interface, the keyboard and mouse module will determine the relative position of the cursor in the cloud desktop application interface, and according to a fixed reporting cycle, set the cursor in the cloud desktop application interface.
  • the relative position in the cloud desktop application interface is sent to the network communication module of the cloud desktop service through the network communication module.
  • the cloud desktop service sends the cursor position to the operating system.
  • the network communication module of the cloud desktop service can send the relative position to the keyboard and mouse module in the cloud desktop service.
  • the keyboard and mouse module calculates the relative position of the cursor in the desktop image of the operating system based on the relative position, and sends the calculated absolute position to the keyboard and mouse driver module.
  • the keyboard and mouse driver module can send the absolute position to the event distribution module in the operating system.
  • the operating system sends mouse events to the target application.
  • the event distribution module in the operating system can determine the target application corresponding to the absolute position of the cursor based on the absolute position of the cursor in the operating system, and send corresponding mouse events to the event processing module of the target application.
  • the target application responds to mouse events.
  • the target application updates the interface.
  • the target application can send an image update request to the rendering engine module of the operating system through the image update module, where the image update request can include the updated image and the location of the updated image in the desktop image. Location.
  • the rendering engine module of the operating system can send the image update request to the display driver module of the cloud desktop service.
  • the display driver of the cloud desktop service renders graphics based on image update requests.
  • the cloud desktop service sends the updated image to the cloud desktop application.
  • the display module in the cloud desktop service can obtain the updated image rendered by the display driver module and send the updated image to the network communication module, which sends the image to the cloud desktop application.
  • Cloud desktop application updates the desktop image.
  • the network communication module of the cloud desktop application can send the updated image to the display module, and the desktop image display module included in the display module displays the updated image.
  • the image sent by the cloud desktop service to the cloud desktop application does not include the cursor image. Because in step S1, the cloud desktop client displays the cursor corresponding to the cloud desktop server in the desktop application interface. The cursor image included in the desktop image that users see in the cloud desktop application interface.
  • the operating system processes each image update notification sent by the application, and the cloud desktop service sends the corresponding updated image to the cloud desktop application, it will cause the cursor to be displayed repeatedly in the cloud desktop application, one for the cloud desktop
  • the cursor image sent by the service is the cursor image displayed by the cloud desktop client, and the two cursor images are inconsistent, and the cursor image sent by the cloud desktop service may not match the cursor image.
  • Figure 5 is a flow chart of a method for updating a cursor provided by an embodiment of the present application. This method is applied in a cloud desktop system and can synchronize the cursor appearance (cursor image) displayed on the cloud desktop client and the cloud desktop server in the cloud desktop system. ), and can avoid the problem of the cursor not following the hand.
  • the method includes:
  • Step 501 The cloud desktop client obtains the user's first operation.
  • the target application is an application running in the cloud desktop client for implementing the cloud desktop solution.
  • the cloud desktop client can realize communication with the cloud desktop server by running the purpose application, for example, sending the user's cloud desktop information to the cloud desktop server. Operation instructions triggered by the client, receiving desktop images sent by the cloud desktop server, etc.
  • the purpose application can be a cloud desktop application.
  • the first operation may be triggered by the user moving the mouse of the cloud desktop client.
  • the first operation includes moving the cursor displayed on the cloud desktop client from outside the cloud desktop application interface (the interface of the cloud desktop application) to the cloud desktop application interface, such as As shown in Figure 6, the user moves the cursor displayed on the cloud desktop client from point A outside the cloud desktop application interface to point B within the cloud desktop application interface by moving the mouse.
  • the first operation includes moving the cursor displayed on the cloud desktop client within the cloud desktop application interface.
  • the user moves the mouse to move the cursor displayed on the cloud desktop client from C in the cloud desktop application interface. Move the point to point D in the cloud desktop application interface.
  • Step 502 The cloud desktop client sends a first cursor movement instruction to the cloud desktop server according to the first operation.
  • the user may trigger a cursor movement instruction in the cloud desktop application, where the cursor movement instruction triggered for the first operation may be called a first cursor movement instruction.
  • the first cursor movement instruction may include the relative position of the cursor in the cloud desktop application interface.
  • the cloud desktop application may trigger the first cursor movement instruction after the cursor moves to the cloud desktop application interface.
  • the cloud desktop client can display the cursor according to the cursor appearance of the cloud desktop client application.
  • the cloud desktop application can send a first cursor movement instruction to the cloud desktop server according to a set cycle, and each first cursor movement instruction includes the current location of the cursor in the cloud desktop. Relative position in the desktop application interface.
  • the cloud desktop client can pre-store the default cursor appearance of the operating system running on the virtual machine of the cloud desktop server.
  • the cloud desktop application can send a cursor update command to the cloud desktop client to update the cursor appearance displayed on the cloud desktop client to the default cursor appearance corresponding to the cloud desktop server.
  • Step 503 The cloud desktop server receives the first cursor movement instruction sent by the cloud desktop client.
  • Step 504 The cloud desktop server sends the first cursor movement instruction to the target application.
  • the target application may be a third-party application running on the operating system in the virtual machine of the cloud desktop server, such as a drawing application, a video playback application, etc.
  • the first cursor movement instruction includes the relative position of the cursor in the cloud desktop application interface.
  • Step 505 The cloud desktop server obtains the updated first interface of the target application.
  • the target application can send an image update request to the rendering engine module of the operating system through the image update module.
  • the rendering engine module of the operating system can send the image update request to the display driver module of the cloud desktop service.
  • the display driver of the cloud desktop service renders the graphics according to the image update request.
  • the target application can send different image update requests to the operating system, and each image request includes the updated image and its position in the corresponding layer. Since the cursor image corresponds to a separate layer, when the target application needs to update the cursor image, it needs to send an image update request to the operating system separately.
  • the display module included in the cloud desktop service can obtain the updated image of the target application, that is, the first interface of the target application.
  • the first interface may be a complete desktop image, or only include an image updated by the target application.
  • Step 506 If the cloud desktop server determines that the cursor appearance in the first interface has changed, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  • the display module in the cloud desktop service can also determine whether the first interface includes the cursor appearance, and the cursor appearance relative to the cursor appearance applied in the current operating system. Are there changes. Among them, the process of determining whether the cursor appearance changes will not be introduced in detail here.
  • a first cursor appearance update request carrying the first cursor appearance may be sent to the cloud desktop application, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  • Step 507 The cloud desktop client receives the first cursor appearance update request sent by the cloud desktop server.
  • Step 508 The cloud desktop client updates the cursor in the target application according to the first operation and the first cursor appearance.
  • the cloud desktop application After receiving the first cursor appearance request, the cloud desktop application can update the cursor appearance corresponding to the cursor displayed by the cloud desktop client in the destination application interface to the first cursor appearance through the cursor display module, and can update the cursor appearance according to the first operation.
  • the location of the cloud desktop application interface is not limited to the cloud desktop application interface.
  • the cloud desktop server determines that the first interface does not include the cursor appearance, or the cursor appearance has not changed. Then the cloud desktop server may not send a cursor appearance update request to the cloud desktop client. For the cloud desktop client, if the cursor appearance update request is not received, the cloud desktop client can always apply the cursor appearance currently being used in the cloud desktop application. After receiving the first cursor appearance request, the cloud desktop client can use the first cursor appearance as the cursor appearance displayed in the cloud desktop application. If the cloud desktop client does not receive other cursor appearance requests again, the cloud desktop client will The client may always use the first cursor appearance as the cursor appearance displayed in the cloud desktop application.
  • step 506 and subsequent processing can be performed when the cloud desktop server receives the cursor hiding request sent by the target application.
  • the target application Before updating the cursor appearance, the target application needs to send a cursor hiding request to the operating system to cancel the cursor display processing by the operating system. Therefore, it is possible to change the cursor appearance of the operating system only after the operating system in the virtual machine receives the cursor hiding request sent by the target application. Therefore, after receiving the cursor hiding request of the target application, the execution of step 506 and subsequent processes is started.
  • a third cursor appearance update request is sent to the cloud desktop client.
  • the third cursor appearance update request may carry a third cursor appearance, and the third cursor appearance may be The cursor appearance of the system application, such as the default cursor appearance, before the target application updates the first cursor appearance.
  • the target application cancels the change to the cursor appearance, it needs to be able to send a cursor unhide request to the operating system so that the operating system resumes display processing of the cursor. Therefore, after the operating system receives the cursor unhide request, it can be determined that the target application has canceled the change to the cursor appearance. Therefore, the cloud desktop service can send a third cursor appearance update to the cloud desktop application after the operating system receives the cursor unhide request. Request to have the Cloud Desktop app change the cursor's cursor appearance back to the previously used cursor appearance. It can be seen that in the embodiment provided by this application, the cloud desktop application can synchronously update the cursor appearance displayed on the cloud desktop server, and can avoid the problem of the cursor not following the hand, which can improve the user's experience of using the cloud desktop application.
  • Figure 8 is a method for updating the cursor provided by an embodiment of the present application. This method is applied in a cloud desktop system and can synchronize the cursor appearance (cursor image) displayed on the cloud desktop client and the cloud desktop server in the cloud desktop system, and This can avoid the problem of the cursor not following your hand.
  • the method includes:
  • Step 801 The cloud desktop client obtains the user's second operation.
  • the second operation may be triggered by the user moving the mouse of the cloud desktop client.
  • the second operation includes moving the cursor displayed by the cloud desktop client within the cloud desktop application interface. As shown in Figure 7, the user moves the mouse to move the cloud desktop to the cloud desktop application interface. The cursor displayed on the desktop client moves from point C in the cloud desktop application interface to point D in the cloud desktop application interface.
  • Step 802 The cloud desktop client sends a second cursor movement instruction to the cloud desktop server according to the second operation.
  • Step 803 The cloud desktop server receives the second cursor movement instruction sent by the cloud desktop client.
  • Step 804 The cloud desktop server sends the second cursor movement instruction to the target application.
  • Step 805 The cloud desktop server obtains the updated second interface of the target application.
  • steps 802-805 is similar to the processing of steps 502-505, and will not be described again here.
  • Step 806 If the cloud desktop server determines that the second interface includes the first cursor appearance, it sends a second cursor appearance update request to the cloud desktop client.
  • the second cursor appearance update request instructs the cloud desktop client to use the first cursor appearance.
  • the first cursor appearance is the cursor appearance displayed by the cloud desktop client in the interface of the target application.
  • the cloud desktop client has already executed the above step 508 and has updated the cursor appearance of the target application to First cursor appearance.
  • the cloud desktop service can send a second cursor appearance update request carrying the first cursor appearance to the cloud desktop application.
  • Step 807 The cloud desktop client receives the second cursor appearance update request sent by the cloud desktop server.
  • Step 808 The cloud desktop client updates the cursor in the target application according to the second operation and the first cursor appearance.
  • the first cursor appearance included in the second cursor appearance update request is the cursor appearance currently used by the cloud desktop application
  • the first cursor appearance can continue to be used in the cloud desktop application and the cursor can be updated according to the second operation. That is, according to the second operation, the position of the cursor in the cloud desktop application interface of the first cursor appearance is updated.
  • the cloud desktop client can be notified through the cursor appearance update request.
  • the cloud desktop server does not update the cursor appearance
  • the cloud desktop client can always use the unupdated cursor appearance.
  • the cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using cloud desktop applications.
  • Figure 9 is a method for updating the cursor provided by an embodiment of the present application. This method is applied in a cloud desktop system and can synchronize the cursor appearance (cursor image) displayed on the cloud desktop client and the cloud desktop server in the cloud desktop system, and This can avoid the problem of the cursor not following your hand.
  • the method includes:
  • Step 901 The cloud desktop client obtains the user's third operation.
  • the third operation includes moving the cursor in the interface of the target application.
  • the second operation may be triggered by the user moving the mouse of the cloud desktop client.
  • the second operation includes moving the cursor displayed by the cloud desktop client within the cloud desktop application interface. As shown in Figure 7, the user moves the mouse to move the cloud desktop to the cloud desktop application interface. The cursor displayed on the desktop client moves from point C in the cloud desktop application interface to point D in the cloud desktop application interface.
  • Step 902 The cloud desktop client sends a second cursor movement instruction to the cloud desktop server according to the third operation.
  • the cursor movement instruction triggered by the third operation can also be the second cursor movement instruction.
  • Step 903 The cloud desktop server receives the second cursor movement instruction sent by the cloud desktop client.
  • the second cursor movement instruction instructs the cursor to be moved in the interface of the target application.
  • Step 904 The cloud desktop server sends the second cursor movement instruction to the target application.
  • Step 905 The cloud desktop server obtains the updated second interface of the target application.
  • steps 902-905 is similar to the processing of steps 502-505, and will not be described again here.
  • Step 906 If the cloud desktop server determines that the second interface includes the first cursor appearance, it does not send a cursor appearance update request to the cloud desktop client.
  • the first cursor appearance is the cursor appearance displayed by the cloud desktop client in the interface of the target application.
  • the cloud desktop client has already executed the above step 508 and has updated the cursor appearance of the target application to First cursor appearance.
  • the display module in the cloud desktop service determines that the second interface includes the cursor appearance after obtaining the second interface, and the cursor appearance is the first cursor appearance, it means that the target application has not changed the cursor appearance.
  • the cloud desktop service may not send a cursor appearance update request to the cloud desktop application, so that the cloud desktop client continues to use the first cursor appearance.
  • Step 907 When the cloud desktop client does not receive the third cursor appearance update request sent by the cloud desktop server within the specified time, it updates the cursor in the target application according to the third operation and the first cursor appearance.
  • the designated time may be a period of time after the cloud desktop client sends the second cursor movement instruction to the cloud desktop server, and the specific duration of the designated time may be preset by a technician.
  • the specified time can be set shorter, for example, it can be shorter than the delay time of data transmission between the cloud desktop client and the cloud desktop service segment. In this way, after the cloud desktop client sends the cursor movement instruction to the cloud desktop server, if it does not receive a cursor appearance update request, it can continue to use the current cursor appearance to display the cursor in the cloud desktop application. If it receives Cursor appearance update request, the current cursor appearance can be updated according to the cursor appearance update request.
  • the cloud desktop client can be notified through the cursor appearance update request.
  • the cloud desktop server does not update the cursor appearance
  • the cloud desktop client can always use the unupdated cursor appearance.
  • the cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
  • the method for determining whether the cursor appearance changes is introduced below. See Figure 10.
  • the method includes:
  • Step 1001 Obtain the first image feature of the target image.
  • the target image is the updated image carried in the image update request sent by the operating system to the cloud desktop service.
  • the first image feature of the target image includes at least the image size and the pixel value at the specified position.
  • the image size can be the length and width of the target image, and the specified position can be any position in the image, it can be one position or multiple positions, for example, it can be the center point of the image.
  • the designated position may include the center point position of the target image, the center point position shifted upward by a first offset along the Y-axis direction, and the center point position is shifted downward by a second offset along the Y-axis direction.
  • the position of the shift amount, the center point position is shifted to the left by the third offset amount along the X-axis direction, and the center point position is shifted to the right by the fourth offset amount along the X-axis direction.
  • the first offset amount and the second offset amount may be called longitudinal offset amounts
  • the third offset amount and the fourth offset amount may be called lateral offset amounts.
  • the values of the longitudinal offset and the lateral offset can be preset by technicians and are not limited here.
  • Step 1002 Determine whether the target image is a cursor image based on the first image feature and the second image feature specifying the appearance of the cursor.
  • the specified cursor appearance may be a variety of different cursor appearances that may be applied in third-party applications.
  • comparison can be made based on the pre-stored second image features corresponding to a plurality of different cursor appearances to determine whether the target image is a cursor image.
  • the virtual machine can load a matching configuration file.
  • the matching configuration file includes a variety of second image features of different cursor appearances, including image sizes and designated positions corresponding to different cursor appearances. pixel value, etc.
  • the first image feature is compared with each second image feature included in the matching configuration file, and then it is determined whether the target image has a cursor appearance.
  • Step 1003 If it is determined that the target image is a cursor image, determine whether the target image is the currently used cursor image.
  • the target image after determining that the target image corresponding to the first image feature is the cursor appearance, the target image can be compared again with the image feature corresponding to the cursor appearance currently used by the operating system to determine whether the target image is the cursor appearance.
  • the cursor appearance currently used by the system is the cursor appearance currently used by the system.
  • a cursor identifier corresponding to the cursor appearance that is the same as the first image feature corresponding to the target image is obtained.
  • the obtained cursor identifier can be obtained by determining Whether the cursor identification is consistent with the cursor identification corresponding to the cursor appearance currently used by the operating system determines whether the target image is the cursor appearance currently used by the operating system.
  • Step 1004 If it is determined that the target image is not the currently used cursor image, determine that the target image is an updated cursor image.
  • the embodiment of the present application provides a method for determining whether the cursor appearance changes, which can identify whether the image in the image update request is a cursor image when the operating system cannot distinguish whether the image update request sent by the target application corresponds to the cursor image, and can Determines whether the cursor image in the image update request is the changed cursor appearance. Then, after it is determined that the cursor appearance is updated, the updated cursor appearance can be sent to the cloud desktop application, thereby achieving synchronized updates between the cloud desktop client and the cloud desktop server, which can provide users with an experience of using the cloud desktop application.
  • the above matching configuration file may also include an offset tolerance threshold, which refers to the maximum distance difference between the position of the target image and the position of the mouse.
  • the corresponding method of determining whether the cursor appearance changes may also include: obtaining the first position of the cursor in the desktop image sent by the current cloud desktop application; obtaining the second position of the target image carried in the image update request in the desktop image; determining the second position of the cursor in the desktop image. The distance between the first position and the second position does not exceed the offset tolerance threshold.
  • the second position of the target image displayed in the desktop image corresponding to the image update request should be the same as the first position of the cursor in the desktop image sent by the current cloud desktop application.
  • the cloud desktop service takes a certain amount of time to process the image update request
  • the second position in the image update request is the same as the first position of the cursor in the desktop image sent by the current cloud desktop application.
  • this distance is generally relatively small.
  • the technician can set the offset tolerance threshold and determine the distance between the second position in the image update request and the first position of the cursor in the desktop image sent by the current cloud desktop application and the offset tolerance threshold to determine the distance between the second position in the image update request and the first position of the cursor in the desktop image sent by the current cloud desktop application.
  • the target image is the cursor appearance. If the distance is less than or equal to the offset tolerance threshold, it means that the target image in the image update request may have a cursor appearance. If the distance is greater than the offset tolerance threshold, it means that the target image in the image update request does not have a cursor appearance.
  • the relationship between the distance between the second position in the image update request and the first position of the cursor in the desktop image sent by the current cloud desktop application and the offset tolerance threshold may be determined first. If it is determined that the target image may have a cursor appearance, it may be determined whether the target image is a cursor image based on the first image feature and the second image feature specifying the cursor appearance. If it is determined that the target image does not have a cursor appearance, it can be directly determined whether the target image is a cursor image. This can improve the efficiency of determining whether the target image is an updated cursor appearance, thereby improving the efficiency of synchronizing the updated cursor appearance between the cloud desktop server and the cloud desktop client, and further improving the user experience of using cloud conferencing applications.
  • the interface display range of the target application corresponding to the image update request can also be obtained, and the interface display range is sent to the cloud desktop application so that the cloud desktop
  • the app uses the updated cursor appearance only within the display range of this interface.
  • the cloud desktop application determines that the cursor has moved outside the interface display range, it can display the cursor using the cursor appearance before the update.
  • the virtual machine's operating system will update back to the cursor appearance of the previous application. In this way, in the cloud desktop application, it can be judged in advance whether the cloud desktop application has updated the cursor appearance, which can improve the cloud desktop service.
  • the efficiency of cursor appearance synchronization updates between the client and the cloud desktop client can further improve the user experience of using cloud conferencing applications.
  • Figure 12 is a device for updating the cursor provided by an embodiment of the present application.
  • the device can be the cloud desktop client in the above embodiment. See Figure 12.
  • the device includes:
  • the acquisition unit 1210 is configured to acquire the user's first operation, where the first operation includes moving the cursor to the interface of the target application. Specifically, the acquisition function in the above step 501 and other implicit steps can be implemented.
  • the sending unit 1220 is configured to send a first cursor movement instruction to the cloud desktop server according to the first operation. Specifically, the sending function in the above step 502 and other implicit steps can be implemented.
  • the receiving unit 1230 is configured to receive a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance.
  • the receiving function in the above step 507 can be implemented, as well as other implicit steps.
  • the update unit 1240 is configured to update the cursor in the target application according to the first operation and the first cursor appearance. Specifically, the update function in the above step 508 and other implicit steps can be implemented.
  • the obtaining unit 1210 is also configured to obtain the user's second operation, where the second operation includes moving the cursor in the interface of the target application;
  • the sending unit 1220 is also configured to send a second cursor movement instruction to the cloud desktop server according to the second operation;
  • the receiving unit 1230 is also configured to receive a second cursor appearance update request sent by the cloud desktop server, where the second cursor appearance update request indicates using the first cursor appearance;
  • the update unit 1240 is also configured to update the cursor in the target application according to the second operation and the first cursor appearance.
  • the obtaining unit 1210 is also used to obtain the user's third operation, where the third operation includes the cursor moving in the interface of the target application;
  • the sending unit 1220 is also configured to send a second cursor movement instruction to the cloud desktop server according to the third operation;
  • the update unit 1240 is also configured to update the destination according to the third operation and the first cursor appearance when the third cursor appearance update request sent by the cloud desktop server is not received within a specified time.
  • the cursor in the application is also configured to update the destination according to the third operation and the first cursor appearance when the third cursor appearance update request sent by the cloud desktop server is not received within a specified time. The cursor in the application.
  • the target application is a cloud desktop application.
  • Figure 13 is a device for updating the cursor provided by an embodiment of the present application.
  • the device can be the cloud desktop server in the above embodiment. See Figure 13.
  • the device includes:
  • the receiving unit 1310 is configured to receive a first cursor movement instruction sent by the cloud desktop client, where the first cursor movement instruction instructs the cursor to be moved to the interface of the target application;
  • Sending unit 1320 configured to send the first cursor movement instruction to the target application
  • the obtaining unit 1330 is configured to obtain the updated first interface of the target application
  • the judgment unit 1340 is configured to send the changed first cursor appearance to the cloud desktop client if the cursor appearance in the first interface changes, so that the cloud desktop client can adjust the appearance of the cursor according to the first cursor appearance. Appearance updates the cursor.
  • the judgment unit 1340 is used to:
  • the receiving unit 1310 is also configured to receive a second cursor movement instruction sent by the cloud desktop client, where the second cursor movement instruction instructs to move the cursor to the destination application. move within the interface;
  • the sending unit 1320 is also configured to send the second cursor movement instruction to the target application
  • the obtaining unit 1330 is also configured to obtain the updated second interface of the target application
  • the judgment unit 1340 is further configured to send a cursor appearance update request to the cloud desktop client if the second interface includes the first cursor appearance, and the cursor appearance update request indicates using the first cursor. Exterior.
  • the target application is a cloud desktop application.
  • module division methods in Figures 12 and 13 are exemplary division methods, and are not limited by the embodiments of this application.
  • Embodiments of the present application provide a computer program product.
  • the computer program product includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, thereby implementing the method of updating the cursor in the above embodiment.
  • the above embodiments they may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented using software, they may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the device, the processes or functions described in the embodiments of the present application are generated in whole or in part.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center through wired (such as coaxial optical cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that the device can access, or a data storage device such as a server or data center integrated with one or more available media.
  • the available media may be magnetic media (such as floppy disks, hard disks, magnetic tapes, etc.), optical media (such as digital video disks (DVD), etc.), or semiconductor media (such as solid-state hard disks, etc.).
  • first and second are used to distinguish the same or similar items with basically the same functions and functions. It should be understood that there is no logic or timing between “first” and “second” There are no restrictions on the number and execution order of the dependencies. It should also be understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first operation may be referred to as a second operation, and similarly, a second operation may be referred to as a first operation, without departing from the scope of various examples. Both the first operation and the second operation may be operations triggered by the user on the cloud desktop client, and in some cases, may be separate and different operations.
  • the term “at least one” in this application means one or more, and the term “plurality” in this application means two or more.

Landscapes

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

Abstract

The embodiments of the present application belong to the technical field of cloud computing. Disclosed are a method, apparatus and system for updating a cursor. The method comprises: acquiring a first operation of a user, wherein the first operation comprises moving a cursor into an interface of a target application; according to the first operation, sending a first cursor moving instruction to a cloud desktop server; receiving a first cursor appearance update request which is sent by the cloud desktop server, wherein the first cursor appearance update request comprises a first cursor appearance; and according to the first operation and the first cursor appearance, updating the cursor in the target application. By means of the present application, a cloud desktop client can be synchronized with the updating of the appearance of a cursor in an application in a cloud desktop server, such that the experience of a user using a cloud desktop can be improved.

Description

更新光标的方法、装置和系统Method, device and system for updating cursor
本申请要求于2022年03月24日提交的申请号为202210303656.5、发明名称为“一种光标绘制方法、系统及设备”的中国专利申请的优先权,以及于2022年06月25日提交的申请号为202210731891.2、发明名称为“更新光标的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application with application number 202210303656.5 and the invention title "A Cursor Drawing Method, System and Equipment" submitted on March 24, 2022, as well as the application submitted on June 25, 2022 The priority of the Chinese patent application No. 202210731891.2 and the invention title is "Method, device and system for updating cursor", the entire content of which is incorporated into this application by reference.
技术领域Technical field
本申请涉及互联网技术领域,特别涉及一种更新光标的方法、装置和系统。The present application relates to the field of Internet technology, and in particular to a method, device and system for updating a cursor.
背景技术Background technique
云桌面又可称为桌面虚拟化、云电脑等,是指通过虚拟化、互联网等技术,将终端的计算、存储能力转移到服务器的方案。在云桌面中,云桌面服务端(服务器)可以通过虚拟机为云桌面客户端(终端)提供处理器、显卡、硬盘等硬件。在虚拟机中运行有操作系统(如Windows系统),虚拟机可以实时将操作系统中显示的桌面图像发送至云桌面客户端。云桌面客户端可以运行有云桌面应用,云桌面应用的界面中可以实时显示云桌面客户端接收到的桌面图像。用户可以根据显示的桌面图像,对云桌面客户端的输入部件(如鼠标、键盘)进行操作,并由云桌面客户端将输入部件的操作指令发送至云桌面服务端中的虚拟机,以使虚拟机执行相应的操作,如使虚拟机根据输入部件的操作指令,进行鼠标圈选、键盘打字等。Cloud desktop, also known as desktop virtualization, cloud computer, etc., refers to a solution that transfers the computing and storage capabilities of the terminal to the server through virtualization, Internet and other technologies. In the cloud desktop, the cloud desktop server (server) can provide the cloud desktop client (terminal) with processors, graphics cards, hard disks and other hardware through virtual machines. There is an operating system (such as Windows system) running in the virtual machine, and the virtual machine can send the desktop image displayed in the operating system to the cloud desktop client in real time. The cloud desktop client can run a cloud desktop application, and the desktop image received by the cloud desktop client can be displayed in real time in the interface of the cloud desktop application. The user can operate the input components (such as mouse and keyboard) of the cloud desktop client based on the displayed desktop image, and the cloud desktop client sends the operation instructions of the input components to the virtual machine in the cloud desktop server, so that the virtual machine can The machine performs corresponding operations, such as making the virtual machine perform mouse circle selection, keyboard typing, etc. according to the operating instructions of the input component.
由于虚拟机向云桌面客户端发送桌面图像时,存在一定的网络延迟,因此用户在操作云桌面客户端的鼠标时,鼠标的移动与云桌面应用显示的桌面图像中光标的移动存在一定的延迟,进而造成了光标不跟手的问题。为了避免光标不跟手的问题,云桌面客户端可以存储虚拟机的操作系统应用的光标外观,并根据本地检测到的光标位置,对该光标外观进行显示,并且虚拟机在向云桌面客户端实时发送的桌面图像中不包括光标外观。也就是由云桌面客户端本地来处理光标在桌面图像中的显示。Since there is a certain network delay when the virtual machine sends the desktop image to the cloud desktop client, when the user operates the mouse of the cloud desktop client, there is a certain delay between the movement of the mouse and the movement of the cursor in the desktop image displayed by the cloud desktop application. This caused the problem of the cursor not following the hand. In order to avoid the problem of the cursor not following the hand, the cloud desktop client can store the cursor appearance of the virtual machine's operating system application, and display the cursor appearance based on the locally detected cursor position, and the virtual machine is sending data to the cloud desktop client. The cursor appearance is not included in the desktop image sent in real time. That is, the cloud desktop client locally handles the display of the cursor in the desktop image.
但是在一些应用对应的界面中,应用会对光标外观进行更新,如光标移动到画图软件对应画图界面时,画图软件会将光标外观从箭头更改为画笔。这些应用在虚拟机的操作系统上运行时,同样会在操作系统中更新光标外观,但是目前在云桌面客户端只能显示本地存储的光标外观,无法同步应用对光标外观进行的更新,进而降低了用户使用云桌面的体验。However, in the interface corresponding to some applications, the application will update the cursor appearance. For example, when the cursor moves to the drawing interface corresponding to the drawing software, the drawing software will change the cursor appearance from an arrow to a brush. When these applications run on the operating system of the virtual machine, they will also update the cursor appearance in the operating system. However, currently, the cloud desktop client can only display the locally stored cursor appearance, and cannot synchronize the application's updates to the cursor appearance, thus reducing the cost of the cursor appearance. Improve the user experience of using cloud desktop.
发明内容Contents of the invention
本申请实施例提供了一种报文发送的更新光标的方法、装置和系统,可以使云桌面客户端同步云桌面服务端中应用对光标外观进行更新,相应的技术方案如下:The embodiments of this application provide a method, device and system for updating the cursor by sending a message, which can enable the cloud desktop client to synchronize the application in the cloud desktop server to update the cursor appearance. The corresponding technical solution is as follows:
第一方面,提供了一种更新光标的方法,该方法应用于云桌面系统中的云桌面客户端,在云桌面系统中还包括云桌面服务端,其中,该方法包括:云桌面客户端获取用户的第一操作,该第一操作包括将光标移动至目的应用的界面中;根据第一操作,发送第一光标移动指 令至云桌面服务端;接收云桌面服务端发送的第一光标外观更新请求,该第一光标外观更新请求包括第一光标外观;根据第一操作和第一光标外观,更新目的应用中的光标。The first aspect provides a method for updating the cursor. The method is applied to the cloud desktop client in the cloud desktop system. The cloud desktop system also includes a cloud desktop server. The method includes: obtaining by the cloud desktop client. The first operation of the user, the first operation includes moving the cursor to the interface of the target application; according to the first operation, sending the first cursor movement instruction to the cloud desktop server; receiving the first cursor appearance update sent by the cloud desktop server request, the first cursor appearance update request includes the first cursor appearance; update the cursor in the destination application according to the first operation and the first cursor appearance.
其中,目的应用是云桌面客户端中运行的用于实现云桌面的应用,云桌面客户端通过目的应用可以与云桌面服务端进行通信,例如向云桌面服务端发送用户在云桌面客户端中触发的操作指令,接收云桌面服务端发送的桌面图像等。该目的应用可以为云桌面应用。在目的应用的界面显示的图像为云桌面服务端中虚拟机的操作系统对应桌面图像。第一操作包括将光标移动至目的应用的界面,还可以包括将光标在目的应用的界面中移动。Among them, the target application is an application running in the cloud desktop client for realizing the cloud desktop. The cloud desktop client can communicate with the cloud desktop server through the target application, for example, sending the user's information in the cloud desktop client to the cloud desktop server. Triggered operation instructions, receiving desktop images sent by the cloud desktop server, etc. The purpose application can be a cloud desktop application. The image displayed on the interface of the target application is the desktop image corresponding to the operating system of the virtual machine in the cloud desktop server. The first operation includes moving the cursor to the interface of the target application, and may also include moving the cursor in the interface of the target application.
本申请所示的方案中,用户在云桌面客户端执行第一操作后,云桌面客户端可以将第一操作触发的第一光标移动指令发送至云桌面服务端。如果云桌面服务端中的虚拟机在执行第一光标移动指令的过程中,确定光标外观进行了更新,则可以向云桌面客户端发送包括第一光标外观的第一光标外观更新请求,该第一光标外观为更新后的光标外观。云桌面客户端可以根据第一操作和第一光标外观,在目的应用的界面中对光标进行更新,即在目的应用的界面中将光标的外观更新为第一光标外观,并根据第一操作更新光标在目的应用的界面对应的显示位置。这样,云桌面客户端可以根据云桌面服务端发送的第一光标外观更新请求,同步云桌面服务端中应用对光标外观进行的更新。In the solution shown in this application, after the user performs the first operation on the cloud desktop client, the cloud desktop client can send the first cursor movement instruction triggered by the first operation to the cloud desktop server. If the virtual machine in the cloud desktop server determines that the cursor appearance has been updated during the execution of the first cursor movement instruction, it may send a first cursor appearance update request including the first cursor appearance to the cloud desktop client. A cursor appearance is the updated cursor appearance. The cloud desktop client can update the cursor in the interface of the destination application based on the first operation and the first cursor appearance, that is, update the appearance of the cursor in the interface of the destination application to the first cursor appearance, and update it according to the first operation. The display position of the cursor corresponding to the interface of the target application. In this way, the cloud desktop client can synchronize the update of the cursor appearance by the application in the cloud desktop server according to the first cursor appearance update request sent by the cloud desktop server.
在一种可能的实现方式中,该方法还包括:云桌面客户端获取用户的第二操作,该第二操作包括将光标在目的应用的界面中移动;根据第二操作,发送第二光标移动指令至云桌面服务端;接收云桌面服务端发送的第二光标外观更新请求,该第二光标外观更新请求指示使用第一光标外观;根据第二操作和第一光标外观,更新目的应用中的光标。In a possible implementation, the method further includes: the cloud desktop client obtains a second operation of the user, the second operation includes moving the cursor in the interface of the target application; and sending a second cursor movement instruction according to the second operation. To the cloud desktop server; receive the second cursor appearance update request sent by the cloud desktop server, the second cursor appearance update request indicates the use of the first cursor appearance; update the cursor in the destination application according to the second operation and the first cursor appearance. .
本申请所示的方案中,在用户在云桌面客户端执行第二操作后,云桌面客户端可以将第二操作触发的第二光标移动指令发送至云桌面服务端。如果云桌面服务端中的虚拟机在执行第二光标移动指令的过程中,确定光标外观未进行过更新,则向云桌面客户端发送包括第一光标外观的第二光标外观更新请求。由于目的应用已经将光标外观更新为第一光标外观,因此云桌面客户端根据第二操作和第一光标外观,在目的应用的界面中对光标进行更新,仅是更新了光标在目标应用中的显示位置。这样,在云桌面客户端可以根据第二光标外观更新请求,实时同步云桌面服务端中应用的光标外观,能够提高用户使用云桌面的体验。In the solution shown in this application, after the user performs the second operation on the cloud desktop client, the cloud desktop client can send the second cursor movement instruction triggered by the second operation to the cloud desktop server. If the virtual machine in the cloud desktop server determines that the cursor appearance has not been updated during the execution of the second cursor movement instruction, it sends a second cursor appearance update request including the first cursor appearance to the cloud desktop client. Since the target application has updated the cursor appearance to the first cursor appearance, the cloud desktop client updates the cursor in the interface of the target application based on the second operation and the first cursor appearance. It only updates the cursor appearance in the target application. Show location. In this way, the cloud desktop client can synchronize the cursor appearance applied in the cloud desktop server in real time according to the second cursor appearance update request, which can improve the user's experience of using the cloud desktop.
在一种可能的实现方式中,该方法还包括:云桌面客户端获取用户的第三操作,该第三操作包括光标在目的应用的界面中移动;根据第三操作,发送第二光标移动指令至云桌面服务端;在指定时间内未接收到云桌面服务端发送的第三光标外观更新请求时,根据第三操作和第一光标外观,更新目的应用中的光标。In a possible implementation, the method further includes: the cloud desktop client obtains a third operation of the user, the third operation includes moving the cursor in the interface of the target application; and according to the third operation, sending a second cursor movement instruction to The cloud desktop server: when the third cursor appearance update request sent by the cloud desktop server is not received within the specified time, updates the cursor in the target application according to the third operation and the first cursor appearance.
本申请所示的方案中,用户在云桌面客户端执行第三操作后,云桌面客户端可以将第三操作触发的第二光标移动指令发送至云桌面服务端。如果云桌面服务端中的虚拟机在执行第二光标移动指令的过程中,确定光标外观未进行过更新,则可以不向云桌面客户端发送光标外观更新请求(即第三光标外观更新请求),以使云桌面客户端继续使用第一光标外观。因此,云桌面客户端在向云桌面服务端发送第二光标移动指令后的指定时长内,如果未收到光标外观更新请求,则可以根据第三操作和第一光标外观,更新目的应用中的光标。由于当前在目的应用中显示的光标外观即为第一光标外观,因此云桌面客户端根据第三操作和第一光标外观,更新目的应用中的光标,仅是更新了光标在目标应用中的显示位置。这样,在云桌面服务端对光标外观进行更新时,可以通过光标外观更新请求通知云桌面客户端,在云桌面服务 端未对光标外观进行更新时,云桌面客户端可一直使用未更新过的光标外观,能够实现云桌面服务端与云桌面客户端同步更新光标外观,可以提高用户使用云桌面的体验。In the solution shown in this application, after the user performs the third operation on the cloud desktop client, the cloud desktop client can send the second cursor movement instruction triggered by the third operation to the cloud desktop server. If the virtual machine in the cloud desktop server determines that the cursor appearance has not been updated during the execution of the second cursor movement instruction, it does not need to send a cursor appearance update request to the cloud desktop client (i.e., a third cursor appearance update request). , so that the cloud desktop client continues to use the first cursor appearance. Therefore, if the cloud desktop client does not receive a cursor appearance update request within a specified period of time after sending the second cursor movement instruction to the cloud desktop server, it can update the cursor appearance in the destination application based on the third operation and the first cursor appearance. cursor. Since the cursor appearance currently displayed in the target application is the first cursor appearance, the cloud desktop client updates the cursor in the target application based on the third operation and the first cursor appearance, which only updates the display of the cursor in the target application. Location. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request. When the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance. The cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
在一种可能的实现方式中,云桌面客户端获取用户的第一操作、第二操作或第三操作后,可以根据第一操作、第二操作或第三操作,以及当前目的应用的界面显示的光标外观,更新目的应用中的光标。云桌面客户端在接收到光标外观更新请求后,可以再对目的应用的界面显示的光标外观进行更新。这样,在云桌面服务端对光标外观进行更新时,可以通过光标外观更新请求通知云桌面客户端,在云桌面服务端未对光标外观进行更新时,云桌面客户端可一直使用未更新过的光标外观,能够实现云桌面服务端与云桌面客户端同步更新光标外观,可以提高用户使用云桌面的体验。In a possible implementation, after the cloud desktop client obtains the user's first operation, second operation or third operation, it can display the interface according to the first operation, second operation or third operation and the current target application. The cursor appearance updates the cursor in the destination application. After receiving the cursor appearance update request, the cloud desktop client can update the cursor appearance displayed on the interface of the target application. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request. When the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance. The cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
在一种可能的实现方式中,该目的应用为云桌面应用。In a possible implementation manner, the purpose application is a cloud desktop application.
第二方面,提供了一种更新光标的方法,该方法应用于云桌面系统中的云桌面服务端,该云桌面系统还包括云桌面客户端,该方法包括:接收云桌面客户端发送的第一光标移动指令,该第一光标移动指令指示将光标移动至目的应用的界面中;将第一光标移动指令发送至目标应用;获取更新后的目标应用的第一界面;若第一界面中的光标外观有变化,将变化后的第一光标外观发送至云桌面客户端,以使得云桌面客户端根据第一光标外观更新光标。In the second aspect, a method for updating the cursor is provided. The method is applied to the cloud desktop server in the cloud desktop system. The cloud desktop system also includes a cloud desktop client. The method includes: receiving the third message sent by the cloud desktop client. A cursor movement instruction, the first cursor movement instruction instructs to move the cursor to the interface of the target application; sends the first cursor movement instruction to the target application; obtains the updated first interface of the target application; if the first interface in the first interface If the cursor appearance changes, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
其中,目标应用是在虚拟机的操作系统中运行的应用,该目标应用对应的界面可以显示在操作系统的桌面图像中。第一光标移动指令是用户在云桌面客户端光标移动至目的应用的界面的第一操作触发的。The target application is an application running in the operating system of the virtual machine, and the interface corresponding to the target application can be displayed in the desktop image of the operating system. The first cursor movement instruction is triggered by the first operation of the user moving the cursor on the cloud desktop client to the interface of the target application.
本申请所示的方案中,云桌面服务端在接收到云桌面客户端发送的第一光标移动指令后,如果第一光标移动指令使目标应用的界面发生了变化,则可以获取目标应用更新的第一界面,如果确定第一界面包括光标外观,且光标外观与之前应用的光标外观存在变化,则可以通过包括第一光标外观的第一光标外观更新请求,将第一光标外观发送至云桌面客户端。这样,只要云桌面服务端中的光标外观进行更新后,云桌面客户端便可以获取到更新后的第一光标外观,并根据第一光标外观对光标进行显示。如此能够实现云桌面客户端与云桌面服务端中的光标外观进行同步更新,能够提高用户使用云桌面系统的体验。In the solution shown in this application, after the cloud desktop server receives the first cursor movement instruction sent by the cloud desktop client, if the first cursor movement instruction causes the interface of the target application to change, it can obtain the updated information of the target application. The first interface, if it is determined that the first interface includes a cursor appearance, and the cursor appearance has changed from the previously applied cursor appearance, the first cursor appearance may be sent to the cloud desktop through a first cursor appearance update request including the first cursor appearance. client. In this way, as long as the cursor appearance in the cloud desktop server is updated, the cloud desktop client can obtain the updated first cursor appearance and display the cursor according to the first cursor appearance. In this way, the cursor appearance in the cloud desktop client and the cloud desktop server can be updated synchronously, which can improve the user experience of using the cloud desktop system.
在一种可能的实现方式中,若第一界面中光标外观有变化,将变化后的第一光标外观发送至云桌面客户端,包括:比较光标外观和指定光标外观,确定第一界面中光标外观有变化。In one possible implementation, if the cursor appearance changes in the first interface, the changed first cursor appearance is sent to the cloud desktop client, including: comparing the cursor appearance with the specified cursor appearance, and determining the cursor appearance in the first interface. There is a change in appearance.
其中,指定光标外观可以是记录的云桌面服务端的操作系统正在使用的光标外观。The specified cursor appearance may be the recorded cursor appearance being used by the operating system of the cloud desktop server.
本申请所示的方案中,如果确定第一界面中包括光标外观,则可以将光标外观和指定光标外观进行对比,如果对比结果不一致,则可以确定第一界面中光标外观有变化,然后可以将变化后的第一光标外观发送至云桌面客户端,进而使云桌面客户端同步更新光标外观。In the solution shown in this application, if it is determined that the cursor appearance is included in the first interface, the cursor appearance can be compared with the specified cursor appearance. If the comparison results are inconsistent, it can be determined that the cursor appearance in the first interface has changed, and then the cursor appearance can be compared. The changed first cursor appearance is sent to the cloud desktop client, thereby causing the cloud desktop client to synchronously update the cursor appearance.
在一种可能的实现方式中,该方法还包括:接收云桌面客户端发送的第二光标移动指令,该第二光标移动指令指示将光标在目的应用的界面中移动;将第二光标移动指令发送至目标应用;获取更新后的目标应用的第二界面;若第二界面中包括第一光标外观,发送光标外观更新请求至云桌面客户端,光标外观更新请求指示使用第一光标外观。In a possible implementation, the method further includes: receiving a second cursor movement instruction sent by the cloud desktop client, the second cursor movement instruction indicating moving the cursor in the interface of the target application; sending the second cursor movement instruction to the target application; obtain the updated second interface of the target application; if the second interface includes the first cursor appearance, send a cursor appearance update request to the cloud desktop client, and the cursor appearance update request indicates to use the first cursor appearance.
其中,第一光标外观可以是云桌面服务端为当前正在应用的光标外观,例如可以是接收到第一光标移动指令后应用的光标外观。The first cursor appearance may be the cursor appearance currently being applied by the cloud desktop server, for example, it may be the cursor appearance applied after receiving the first cursor movement instruction.
本申请所示的方案中,云桌面服务端在接收到云桌面客户端发送的第二光标移动指令后, 如果第二光标移动指令指示将光标移动至目标应用的界面,则可以获取目标应用更新的第二界面,如果确定第二界面中包括光标外观,且该光标外观为第一光标外观,说明云桌面服务端未对光标外观进行更新,则可以向云桌面客户端发送包括第一光标外观的第二光标外观更新请求,以使云桌面客户端根据第二操作和第一光标外观,在目的应用的界面中对光标进行更新。由于云桌面客户端之前应用的光标外观为第一光标外观,因此云桌面客户端根据第二光标外观更新请求,仅是更新了光标在目标应用中的显示位置,未对光标外观进行更新。这样,在云桌面客户端可以根据第二光标外观更新请求,实时同步云桌面服务端中应用的光标外观,能够提高用户使用云桌面的体验。In the solution shown in this application, after the cloud desktop server receives the second cursor movement instruction sent by the cloud desktop client, if the second cursor movement instruction instructs the cursor to be moved to the interface of the target application, it can obtain the target application update. The second interface, if it is determined that the second interface includes the cursor appearance, and the cursor appearance is the first cursor appearance, indicating that the cloud desktop server has not updated the cursor appearance, it can send a message including the first cursor appearance to the cloud desktop client. A second cursor appearance update request is made, so that the cloud desktop client updates the cursor in the interface of the target application according to the second operation and the first cursor appearance. Since the cursor appearance previously applied by the cloud desktop client is the first cursor appearance, the cloud desktop client only updates the display position of the cursor in the target application according to the second cursor appearance update request, but does not update the cursor appearance. In this way, the cloud desktop client can synchronize the cursor appearance applied in the cloud desktop server in real time according to the second cursor appearance update request, which can improve the user's experience of using the cloud desktop.
在一种可能的实现方式中,方法还包括:接收云桌面客户端发送的第二光标移动指令,该第二光标移动指令指示将光标在目的应用的界面中移动;将第二光标移动指令发送至目标应用;获取更新后的目标应用的第二界面;若第二界面中包括第一光标外观,则不向云桌面客户端发送光标外观更新请求。In a possible implementation, the method further includes: receiving a second cursor movement instruction sent by the cloud desktop client, the second cursor movement instruction instructing to move the cursor in the interface of the target application; sending the second cursor movement instruction to Target application; obtain the updated second interface of the target application; if the second interface includes the first cursor appearance, do not send a cursor appearance update request to the cloud desktop client.
本申请所示的方案中,云桌面服务端在接收到云桌面客户端发送的第三操作对应的第二光标移动指令后,如果第二光标移动指令指示将光标移动至目标应用的界面,则可以获取目标应用更新的第二界面,如果确定第二界面中包括光标外观,且该光标外观为第一光标外观,说明云桌面服务端未对光标外观进行更新,则可以不向云桌面客户端发送光标外观更新请求,以使云桌面客户端继续使用第一光标外观对目标应用中光标进行显示。这样,在云桌面服务端对光标外观进行更新时,可以通过光标外观更新请求通知云桌面客户端,在云桌面服务端未对光标外观进行更新时,云桌面客户端可一直使用未更新过的光标外观,能够实现云桌面服务端与云桌面客户端同步更新光标外观,可以提高用户使用云桌面的体验。In the solution shown in this application, after the cloud desktop server receives the second cursor movement instruction corresponding to the third operation sent by the cloud desktop client, if the second cursor movement instruction instructs the cursor to be moved to the interface of the target application, then The second interface updated by the target application can be obtained. If it is determined that the second interface includes the cursor appearance, and the cursor appearance is the first cursor appearance, it means that the cloud desktop server has not updated the cursor appearance, and it does not need to be updated to the cloud desktop client. Send a cursor appearance update request so that the cloud desktop client continues to use the first cursor appearance to display the cursor in the target application. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request. When the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance. The cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
在一种可能的实现方式中,该目的应用为云桌面应用。In a possible implementation manner, the purpose application is a cloud desktop application.
第三方面,提供了一种更新光标的装置,该装置包括:In a third aspect, a device for updating a cursor is provided, which device includes:
获取单元,用于获取用户的第一操作,该第一操作包括将光标移动至目的应用的界面中;An acquisition unit, configured to acquire the user's first operation, where the first operation includes moving the cursor to the interface of the target application;
发送单元,用于根据第一操作,发送第一光标移动指令至云桌面服务端;A sending unit, configured to send the first cursor movement instruction to the cloud desktop server according to the first operation;
接收单元,用于接收云桌面服务端发送的第一光标外观更新请求,该第一光标外观更新请求包括第一光标外观;A receiving unit configured to receive a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance;
更新单元,用于根据第一操作和第一光标外观,更新目的应用中的光标。An update unit, configured to update the cursor in the destination application according to the first operation and the first cursor appearance.
在一种可能的实现方式中,获取单元,还用于获取用户的第二操作,该第二操作包括将光标在目的应用的界面中移动;In a possible implementation, the acquisition unit is also used to acquire the user's second operation, where the second operation includes moving the cursor in the interface of the target application;
发送单元,还用于根据第二操作,发送第二光标移动指令至云桌面服务端;The sending unit is also used to send the second cursor movement instruction to the cloud desktop server according to the second operation;
接收单元,还用于接收云桌面服务端发送的第二光标外观更新请求,该第二光标外观更新请求指示使用第一光标外观;The receiving unit is also configured to receive a second cursor appearance update request sent by the cloud desktop server, where the second cursor appearance update request indicates the use of the first cursor appearance;
更新单元,还用于根据第二操作和第一光标外观,更新目的应用中的光标。The update unit is also configured to update the cursor in the destination application based on the second operation and the first cursor appearance.
在一种可能的实现方式中,获取单元,还用于获取用户的第三操作,该第三操作包括光标在目的应用的界面中移动;In a possible implementation, the acquisition unit is also used to acquire the user's third operation, where the third operation includes the cursor moving in the interface of the target application;
发送单元,还用于根据第三操作,发送第二光标移动指令至云桌面服务端;The sending unit is also used to send the second cursor movement instruction to the cloud desktop server according to the third operation;
更新单元,还用于在指定时间内未接收到云桌面服务端发送的第三光标外观更新请求时,根据第三操作和第一光标外观,更新目的应用中的光标。The update unit is also configured to update the cursor in the target application based on the third operation and the first cursor appearance when the third cursor appearance update request sent by the cloud desktop server is not received within a specified time.
在一种可能的实现方式中,该目的应用为云桌面应用。In a possible implementation manner, the purpose application is a cloud desktop application.
第四方面,提供了一种更新光标的装置,该装置包括:A fourth aspect provides a device for updating a cursor, which device includes:
接收单元,用于接收云桌面客户端发送的第一光标移动指令,该第一光标移动指令指示将光标移动至目的应用的界面中;A receiving unit configured to receive a first cursor movement instruction sent by the cloud desktop client, where the first cursor movement instruction instructs the cursor to be moved to the interface of the target application;
发送单元,用于将第一光标移动指令发送至目标应用;A sending unit, used to send the first cursor movement instruction to the target application;
获取单元,用于获取更新后的目标应用的第一界面;The acquisition unit is used to obtain the updated first interface of the target application;
判断单元,用于若第一界面中的光标外观有变化,将变化后的第一光标外观发送至云桌面客户端,以使得云桌面客户端根据第一光标外观更新光标。The judging unit is configured to send the changed first cursor appearance to the cloud desktop client if the cursor appearance in the first interface changes, so that the cloud desktop client updates the cursor according to the first cursor appearance.
在一种可能的实现方式中,判断单元,用于:In a possible implementation, the judgment unit is used for:
比较光标外观和指定光标图像,确定第一界面中光标外观有变化。Compare the cursor appearance with the specified cursor image to determine whether there is a change in the cursor appearance in the first interface.
在一种可能的实现方式中,接收单元,还用于接收云桌面客户端发送的第二光标移动指令,该第二光标移动指令指示将光标在目的应用的界面中移动;In a possible implementation, the receiving unit is also configured to receive a second cursor movement instruction sent by the cloud desktop client, where the second cursor movement instruction instructs to move the cursor in the interface of the target application;
发送单元,还用于将第二光标移动指令发送至目标应用;The sending unit is also used to send the second cursor movement instruction to the target application;
获取单元,还用于获取更新后的目标应用的第二界面;The acquisition unit is also used to obtain the updated second interface of the target application;
判断单元,还用于若第二界面中包括第一光标外观,发送光标外观更新请求至云桌面客户端,光标外观更新请求指示使用第一光标外观。The judgment unit is also configured to send a cursor appearance update request to the cloud desktop client if the second interface includes the first cursor appearance, and the cursor appearance update request indicates to use the first cursor appearance.
在一种可能的实现方式中,该目的应用为云桌面应用。In a possible implementation manner, the purpose application is a cloud desktop application.
第五方面,提供了一种云桌面系统,该云桌面系统包括云桌面客户端和云桌面服务端,其中:In the fifth aspect, a cloud desktop system is provided. The cloud desktop system includes a cloud desktop client and a cloud desktop server, wherein:
该云桌面服务端,用于获取用户的第一操作,第一操作包括将光标移动至目的应用的界面中;根据第一操作,发送第一光标移动指令至云桌面服务端;接收云桌面服务端发送的第一光标外观更新请求,第一光标外观更新请求包括第一光标外观;根据第一操作和第一光标外观,更新目的应用中的光标;The cloud desktop server is used to obtain the user's first operation. The first operation includes moving the cursor to the interface of the target application; according to the first operation, send the first cursor movement instruction to the cloud desktop server; receive the cloud desktop service The first cursor appearance update request sent by the terminal, the first cursor appearance update request including the first cursor appearance; updating the cursor in the destination application according to the first operation and the first cursor appearance;
该云桌面客户端,用于接收云桌面客户端发送的第一光标移动指令,第一光标移动指令指示将光标移动至目的应用的界面中;将第一光标移动指令发送至目标应用;获取更新后的目标应用的第一界面;若第一界面中的光标外观有变化,将变化后的第一光标外观发送至云桌面客户端,以使得云桌面客户端根据第一光标外观更新光标。The cloud desktop client is used to receive the first cursor movement instruction sent by the cloud desktop client, and the first cursor movement instruction instructs the cursor to be moved to the interface of the target application; send the first cursor movement instruction to the target application; and obtain updates. the first interface of the target application; if the cursor appearance in the first interface changes, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
第六方面,提供了一种云桌面客户端,该终端包括存储器和处理器,存储器用于存储计算机指令;该处理器用于执行存储器存储的计算机指令,以使云桌面客户端执行上述第一方面或第一方面中任一种可选方式所提供的更新光标的方法。In a sixth aspect, a cloud desktop client is provided. The terminal includes a memory and a processor. The memory is used to store computer instructions; the processor is used to execute the computer instructions stored in the memory, so that the cloud desktop client executes the above first aspect. Or the method for updating the cursor provided by any of the optional methods in the first aspect.
第七方面,提供了一种云桌面服务端,该云桌面服务端包括存储器和处理器,该存储器用于存储计算机指令;该处理器用于执行存储器存储的计算机指令,以使云桌面服务端执行上述第二方面或第二方面中任一种可选方式所提供的更新光标的方法。In the seventh aspect, a cloud desktop server is provided. The cloud desktop server includes a memory and a processor. The memory is used to store computer instructions; the processor is used to execute the computer instructions stored in the memory, so that the cloud desktop server executes The method for updating the cursor provided by the above second aspect or any of the optional methods of the second aspect.
第八方面,提供了一种可读存储介质,该可读存储介质存储有程序代码,当程序代码被处理器执行时,处理器执行上述第一方面、第二方面、第一方面中任一种可选方式或第二方面中任一种可选方式所提供的更新光标的方法。In an eighth aspect, a readable storage medium is provided. The readable storage medium stores program code. When the program code is executed by a processor, the processor executes any one of the first aspect, the second aspect, and the first aspect. A method for updating the cursor provided by any of the optional methods in the second aspect.
第九方面,提供了一种计算机程序产品,该计算机程序产品包括至少一条计算机指令, 该计算机程序产品在处理器上运行时,使得该处理器实现上述第一方面、第二方面、第一方面任一种可选方式或第二方面任一种可选方式所提供的更新光标的方法。In a ninth aspect, a computer program product is provided. The computer program product includes at least one computer instruction. When the computer program product is run on a processor, the computer program product enables the processor to implement the first aspect, the second aspect, and the first aspect. A method for updating the cursor provided by any of the optional methods or any of the optional methods of the second aspect.
附图说明Description of the drawings
图1是本申请实施例提供的一种云桌面系统示意图;Figure 1 is a schematic diagram of a cloud desktop system provided by an embodiment of the present application;
图2是本申请实施例提供的一种的云桌面应用的界面示意图;Figure 2 is a schematic interface diagram of a cloud desktop application provided by an embodiment of the present application;
图3是本申请实施例提供的一种云桌面客户端显示桌面图像的方法流程图;Figure 3 is a flow chart of a method for displaying desktop images on a cloud desktop client provided by an embodiment of the present application;
图4是本申请实施例提供的一种云桌面客户端显示桌面图像的方法流程图;Figure 4 is a flow chart of a method for displaying desktop images on a cloud desktop client provided by an embodiment of the present application;
图5是本申请实施例提供的一种更新光标的方法的流程图;Figure 5 is a flow chart of a method for updating a cursor provided by an embodiment of the present application;
图6是本申请实施例提供的一种光标移动的示意图;Figure 6 is a schematic diagram of cursor movement provided by an embodiment of the present application;
图7是本申请实施例提供的一种光标移动的示意图;Figure 7 is a schematic diagram of cursor movement provided by an embodiment of the present application;
图8是本申请实施例提供的一种更新光标的方法的流程图;Figure 8 is a flow chart of a method for updating a cursor provided by an embodiment of the present application;
图9是本申请实施例提供的一种更新光标的方法的流程图;Figure 9 is a flow chart of a method for updating a cursor provided by an embodiment of the present application;
图10是本申请实施例提供的一种更新光标的方法的流程图;Figure 10 is a flow chart of a method for updating a cursor provided by an embodiment of the present application;
图11是本申请实施例提供的一种目标图像中指定位置的示意图;Figure 11 is a schematic diagram of a designated position in a target image provided by an embodiment of the present application;
图12是本申请实施例提供的一种更新光标的装置结构示意图;Figure 12 is a schematic structural diagram of a device for updating a cursor provided by an embodiment of the present application;
图13是本申请实施例提供的一种更新光标的装置结构示意图。Figure 13 is a schematic structural diagram of a device for updating a cursor provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
图1是本申请提供的一种云桌面系统示意图,参见图1,在云桌面系统中包括云桌面服务端100和云桌面客户端200,其中:Figure 1 is a schematic diagram of a cloud desktop system provided by this application. Referring to Figure 1, the cloud desktop system includes a cloud desktop server 100 and a cloud desktop client 200, where:
云桌面服务端100中包括处理器101、存储器102、通信部件103等硬件。一台云桌面服务端100可以通过虚拟化技术,虚拟出多个虚拟机104,且每个虚拟机104可具备独立的处理器1041、存储器1042、通信部件1043等,每个虚拟机104可独立运行操作系统,如Windows系统、Android系统、Linux系统等。云桌面服务端100可以将每个虚拟机104提供给对应的云桌面客户端200,以使云桌面客户端200通过虚拟机104实现数据的处理、存储等功能。The cloud desktop server 100 includes hardware such as a processor 101, a memory 102, and a communication component 103. A cloud desktop server 100 can virtualize multiple virtual machines 104 through virtualization technology, and each virtual machine 104 can be equipped with an independent processor 1041, memory 1042, communication component 1043, etc., and each virtual machine 104 can be independently Run operating systems, such as Windows systems, Android systems, Linux systems, etc. The cloud desktop server 100 can provide each virtual machine 104 to the corresponding cloud desktop client 200, so that the cloud desktop client 200 can implement functions such as data processing and storage through the virtual machine 104.
需要说明的是,虚拟机104的处理器1041、存储器1042、通信部件1043等硬件,是通过虚拟化技术在云桌面服务端100中包括处理器101、存储器102、通信部件103等硬件的基础上虚拟出来的虚拟硬件,与实际的物理硬件具有相同的功能。该处理器1041可以是中央处理器(central processing unit,CPU),该存储器1042可以是固态硬盘(Solid State Disk,SSD),该处理器1041可用于接收云桌面客户端发送的第一光标移动指令,第一光标移动指令指示将光标移动至目的应用的界面中;将第一光标移动指令发送至目标应用;获取更新后的目标应用的第一界面;若第一界面中的光标外观有变化,将变化后的第一光标外观发送至云桌面客户端,以使得云桌面客户端根据第一光标外观更新光标。It should be noted that the processor 1041, memory 1042, communication component 1043 and other hardware of the virtual machine 104 are based on the cloud desktop server 100 including the processor 101, memory 102, communication component 103 and other hardware through virtualization technology. The virtual hardware has the same functions as the actual physical hardware. The processor 1041 can be a central processing unit (CPU), the memory 1042 can be a solid state disk (Solid State Disk, SSD), and the processor 1041 can be used to receive the first cursor movement instruction sent by the cloud desktop client. , the first cursor movement instruction instructs the cursor to be moved to the interface of the target application; sends the first cursor movement instruction to the target application; obtains the updated first interface of the target application; if the appearance of the cursor in the first interface changes, The changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
其中,云桌面服务端100将虚拟机104提供云桌面客户端200后,虚拟机104可以获取应在操作系统显示的桌面图像(包括操作系统运行的应用程序的界面),并将获取的桌面图像通过通信部件1043发送至中云桌面客户端200。Among them, after the cloud desktop server 100 provides the virtual machine 104 to the cloud desktop client 200, the virtual machine 104 can obtain the desktop image that should be displayed in the operating system (including the interface of the application program run by the operating system), and use the obtained desktop image to Sent to the Zhongyun desktop client 200 through the communication component 1043.
云桌面客户端200可以具备处理器201、存储器202、输入部件203以及通信部件204等硬件。其中,该处理器201可以是CPU,存储器202可以是SSD,输入部件203可以是鼠标、键盘、麦克风等。The cloud desktop client 200 may be equipped with hardware such as a processor 201, a memory 202, an input component 203, a communication component 204, and the like. The processor 201 can be a CPU, the memory 202 can be an SSD, and the input component 203 can be a mouse, keyboard, microphone, etc.
其中,云桌面客户端200中可运行由云桌面应用,云桌面客户端200在接收到虚拟机104发送的桌面图像后,可以在云桌面应用对应的显示窗口中进行显示。云桌面客户端200对应的处理器201还用于获取用户的第一操作,第一操作包括将光标移动至目的应用的界面中;根据第一操作,发送第一光标移动指令至云桌面服务端;接收云桌面服务端发送的第一光标外观更新请求,第一光标外观更新请求包括第一光标外观;根据第一操作和第一光标外观,更新目的应用中的光标。The cloud desktop client 200 can run a cloud desktop application. After receiving the desktop image sent by the virtual machine 104, the cloud desktop client 200 can display it in a display window corresponding to the cloud desktop application. The processor 201 corresponding to the cloud desktop client 200 is also used to obtain the user's first operation. The first operation includes moving the cursor to the interface of the target application; according to the first operation, send a first cursor movement instruction to the cloud desktop server. ; Receive the first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes the first cursor appearance; update the cursor in the target application according to the first operation and the first cursor appearance.
图2是本申请实施例提供的一种的云桌面应用的界面示意图。参见图2,云桌面应用是在云桌面客户端中运行的应用程序。在云桌面应用的界面中可以显示云桌面服务端发送的虚拟机中操作系统对应的桌面图像。一定程度上云桌面应用的界面在相当于云桌面服务端中虚拟机的外接显示设备,可以对虚拟机中操作系统的桌面图像进行显示。用户可以通过云桌面客户端连接的键盘或鼠标等,对云桌面应用的界面中显示的桌面图像进行操作,触发相应的操作指令,如用户通过鼠标点击桌面图像中的应用图标。用户在触发操作指令后,云桌面客户端可以将操作指令发送至云桌面服务端,由云桌面服务端中的虚拟机执行相应的操作指令,进而实现用户对虚拟机的操作。Figure 2 is a schematic interface diagram of a cloud desktop application provided by an embodiment of the present application. Referring to Figure 2, a cloud desktop application is an application running in a cloud desktop client. The desktop image corresponding to the operating system in the virtual machine sent by the cloud desktop server can be displayed in the interface of the cloud desktop application. To a certain extent, the interface of the cloud desktop application is equivalent to the external display device of the virtual machine in the cloud desktop server, which can display the desktop image of the operating system in the virtual machine. Users can operate the desktop image displayed in the interface of the cloud desktop application through the keyboard or mouse connected to the cloud desktop client, and trigger corresponding operation instructions. For example, the user clicks the application icon in the desktop image through the mouse. After the user triggers the operation instruction, the cloud desktop client can send the operation instruction to the cloud desktop server, and the virtual machine in the cloud desktop server executes the corresponding operation instruction, thereby enabling the user to operate the virtual machine.
图3和图4是分别是本申请实施例提供的云桌面客户端显示桌面图像的方法流程图,参见图4,在云桌面服务端中至少包括云桌面服务、操作系统、桌面应用,云桌面客户端中运行有云桌面应用。其中:Figures 3 and 4 are respectively flow charts of methods for displaying desktop images on a cloud desktop client provided by embodiments of the present application. Referring to Figure 4, the cloud desktop server at least includes a cloud desktop service, an operating system, and a desktop application. The cloud desktop There is a cloud desktop application running on the client. in:
云桌面服务是在虚拟机中运行的用于实现云桌面的程序,可用于接收云桌面客户端发送的操作指令,并将相应的操作指令发送至云桌面服务端的虚拟机中的操作系统。云桌面服务还用于获取该操作系统的桌面图像,并将操作系统的桌面图像发送至云桌面客户端。在云桌面服务中至少包括:键鼠模块、显示模块、网络通信模块、显示驱动模块以及键鼠驱动模块。在虚拟机的操作系统中至少包括渲染引擎模块和事件分发模块。操作系统中运行有桌面应用,每个桌面应用中至少包括事件处理模块和图像更新模块。Cloud desktop service is a program that runs in a virtual machine to implement cloud desktop. It can be used to receive operation instructions sent by the cloud desktop client and send corresponding operation instructions to the operating system in the virtual machine of the cloud desktop server. The cloud desktop service is also used to obtain the desktop image of the operating system and send the desktop image of the operating system to the cloud desktop client. The cloud desktop service at least includes: keyboard and mouse module, display module, network communication module, display driver module and keyboard and mouse driver module. The operating system of the virtual machine at least includes a rendering engine module and an event distribution module. There are desktop applications running in the operating system, and each desktop application at least includes an event processing module and an image update module.
云桌面客户端运行的云桌面应用可用于接收云桌面服务端发送的桌面图像,并对接收到的桌面图像进行显示。云桌面应用还可用于获取用户在云桌面中触发的操作指令,将相应的操作指令发送至云桌面客户端。在云桌面应用中至少包括键鼠模块、显示模块、桌面图像模块、光标图像模块以及网络通信模块。The cloud desktop application running on the cloud desktop client can be used to receive the desktop image sent by the cloud desktop server and display the received desktop image. The cloud desktop application can also be used to obtain the operation instructions triggered by the user in the cloud desktop and send the corresponding operation instructions to the cloud desktop client. The cloud desktop application at least includes a keyboard and mouse module, a display module, a desktop image module, a cursor image module and a network communication module.
下面结合图3和图4,对云桌面客户端显示桌面图像的方法、以及云桌面客户端和云桌面客户端中包括的各功能模块进行介绍:The following is an introduction to the method for the cloud desktop client to display desktop images, as well as the cloud desktop client and each functional module included in the cloud desktop client, in conjunction with Figures 3 and 4:
S1、云桌面服务向云桌面应用发送光标外观。S1. The cloud desktop service sends the cursor appearance to the cloud desktop application.
云桌面服务在初始化阶段,可以通过网络通信模块将操作系统中默认应用的光标外观发送至云桌面应用,以使云桌面应用中的光标图像模块在确定云桌面客户端中的光标移动至云桌面应用的界面(云桌面应用界面)时,将云桌面客户端的光标外观设置外为云桌面服务发送的光标外观,即操作系统中默认应用的光标外观。During the initialization phase of the cloud desktop service, the cursor appearance of the default application in the operating system can be sent to the cloud desktop application through the network communication module, so that the cursor image module in the cloud desktop application determines whether the cursor in the cloud desktop client moves to the cloud desktop. When applying the interface (cloud desktop application interface), set the cursor appearance of the cloud desktop client to the cursor appearance sent by the cloud desktop service, that is, the cursor appearance applied by default in the operating system.
S2、云桌面应用向云桌面服务发送光标位置。S2. The cloud desktop application sends the cursor position to the cloud desktop service.
云桌面应用中的键鼠模块,在检测到云桌面客户端的光标至云桌面应用界面时,该键鼠模块将光标在云桌面应用界面中的相对位置,并按照固定的上报周期,将光标在云桌面应用界面中的相对位置通过网络通信模块,发送至云桌面服务的网络通信模块。The keyboard and mouse module in the cloud desktop application, when detecting that the cursor of the cloud desktop client reaches the cloud desktop application interface, the keyboard and mouse module will determine the relative position of the cursor in the cloud desktop application interface, and according to a fixed reporting cycle, set the cursor in the cloud desktop application interface. The relative position in the cloud desktop application interface is sent to the network communication module of the cloud desktop service through the network communication module.
S3、云桌面服务将光标位置发送至操作系统。S3, the cloud desktop service sends the cursor position to the operating system.
云桌面服务的网络通信模块在接收到云桌面应用发送的光标在云桌面应用界面中的相对位置后,可以将该相对位置发送至云桌面服务中的键鼠模块。该键鼠模块根据该相对位置计算为光标在操作系统的桌面图像中的相对位置,并将计算的绝对位置发送至键鼠驱动模块。键鼠驱动模块可以将该绝对位置发送至操作系统中的事件分发模块。After receiving the relative position of the cursor in the cloud desktop application interface sent by the cloud desktop application, the network communication module of the cloud desktop service can send the relative position to the keyboard and mouse module in the cloud desktop service. The keyboard and mouse module calculates the relative position of the cursor in the desktop image of the operating system based on the relative position, and sends the calculated absolute position to the keyboard and mouse driver module. The keyboard and mouse driver module can send the absolute position to the event distribution module in the operating system.
S4、操作系统向目标应用发送鼠标事件。S4. The operating system sends mouse events to the target application.
操作系统中事件分发模块可以根据光标在操作系统中的绝对位置,确定在光标在该绝对位置对应的目标应用,并向目标应用的事件处理模块发送相应鼠标事件。The event distribution module in the operating system can determine the target application corresponding to the absolute position of the cursor based on the absolute position of the cursor in the operating system, and send corresponding mouse events to the event processing module of the target application.
S5、目标应用响应鼠标事件。S5. The target application responds to mouse events.
通过事件处理模块对鼠标事件进行响应。Respond to mouse events through the event processing module.
S6、目标应用进行界面更新。S6. The target application updates the interface.
如果鼠标事件触发目标应用更新图像,则目标应用可以通过图像更新模块,向操作系统的渲染引擎模块发送图像更新请求,其中该图像更新请求中可以包括更新的图像以及更新的图像在桌面图像中的位置。操作系统的渲染引擎模块在接收到图像更新请求可以将图像更新请求发送至云桌面服务的显示驱动模块。云桌面服务的显示驱动根据图像更新请求对图形进行渲染。If the mouse event triggers the target application to update the image, the target application can send an image update request to the rendering engine module of the operating system through the image update module, where the image update request can include the updated image and the location of the updated image in the desktop image. Location. After receiving the image update request, the rendering engine module of the operating system can send the image update request to the display driver module of the cloud desktop service. The display driver of the cloud desktop service renders graphics based on image update requests.
S7、云桌面服务将更新的图像发送至云桌面应用。S7, the cloud desktop service sends the updated image to the cloud desktop application.
云桌面服务中的显示模块可以获取显示驱动模块渲染后的更新的图像,并将更新的图像发送至网络通信模块,由网络通信模块将图像发送至云桌面应用。The display module in the cloud desktop service can obtain the updated image rendered by the display driver module and send the updated image to the network communication module, which sends the image to the cloud desktop application.
S8、云桌面应用更新桌面图像。S8. Cloud desktop application updates the desktop image.
云桌面应用的网络通信模块在接收到的更新的图像后,可以将更新的图像发送至显示模块,由显示模块包括的桌面图像显示模块对更新的图像进行显示。After receiving the updated image, the network communication module of the cloud desktop application can send the updated image to the display module, and the desktop image display module included in the display module displays the updated image.
需要说明的是,云桌面服务向云桌面应用发送的图像中不包括光标图像。由于在步骤S1中云桌面客户端在桌面应用界面中显示云桌面服务端对应的光标。用户在云桌面应用界面中看到的桌面图像中包括的光标图像。It should be noted that the image sent by the cloud desktop service to the cloud desktop application does not include the cursor image. Because in step S1, the cloud desktop client displays the cursor corresponding to the cloud desktop server in the desktop application interface. The cursor image included in the desktop image that users see in the cloud desktop application interface.
在虚拟机的操作系统运行的一些应用中,对光标外观进行更改。如光标移动到画图软件对应绘画界面时,画图软件会将光标的外观从箭头更改为画笔。在应用更改光标外观之前,可以向操作系统发送光标隐藏请求,以使操作系统不对光标进行显示。然后应用可以通过图像更新模块向操作系统发送携带有光标图像的图像更新通知,这样可以由应用处理光标在应用中的显示。但是,操作系统无法区分图像更新通知是否为光标图像对应的图像更新通知。因此,如果操作系统对应用发送的每个图像更新通知都进行处理,并由云桌面服务将对应的更新的图像发送至云桌面应用,则会导致云桌面应用中重复显示光标,一个为云桌面服务发送的光标图像,一个为云桌面客户端显示的光标图像,且该两个光标图像不一致,并且云桌面服务发送的光标图像还会存在不跟手的问题。Change the appearance of the cursor in some applications running on the virtual machine's operating system. If the cursor moves to the corresponding drawing interface of the drawing software, the drawing software will change the appearance of the cursor from an arrow to a brush. Before your application changes the cursor appearance, you can send a cursor hide request to the operating system so that the operating system does not display the cursor. The application can then send an image update notification carrying the cursor image to the operating system through the image update module, so that the application can handle the display of the cursor in the application. However, the operating system cannot distinguish whether the image update notification is the image update notification corresponding to the cursor image. Therefore, if the operating system processes each image update notification sent by the application, and the cloud desktop service sends the corresponding updated image to the cloud desktop application, it will cause the cursor to be displayed repeatedly in the cloud desktop application, one for the cloud desktop The cursor image sent by the service is the cursor image displayed by the cloud desktop client, and the two cursor images are inconsistent, and the cursor image sent by the cloud desktop service may not match the cursor image.
图5是本申请实施例提供的一种更新光标的方法的流程图,该方法应用于云桌面系统中, 能够同步云桌面系统中云桌面客户端和云桌面服务端显示的光标外观(光标图像),并且可以避免光标不跟手的问题。参见图5,该方法包括:Figure 5 is a flow chart of a method for updating a cursor provided by an embodiment of the present application. This method is applied in a cloud desktop system and can synchronize the cursor appearance (cursor image) displayed on the cloud desktop client and the cloud desktop server in the cloud desktop system. ), and can avoid the problem of the cursor not following the hand. Referring to Figure 5, the method includes:
步骤501、云桌面客户端获取用户的第一操作。Step 501: The cloud desktop client obtains the user's first operation.
其中,目的应用是云桌面客户端中运行的用于实现云桌面方案的应用,云桌面客户端通过运行该目的应用可以实现与云桌面服务端的通信,例如向云桌面服务端发送用户在云桌面客户端触发的操作指令,接收云桌面服务端发送的桌面图像等。该目的应用可以为云桌面应用。Among them, the target application is an application running in the cloud desktop client for implementing the cloud desktop solution. The cloud desktop client can realize communication with the cloud desktop server by running the purpose application, for example, sending the user's cloud desktop information to the cloud desktop server. Operation instructions triggered by the client, receiving desktop images sent by the cloud desktop server, etc. The purpose application can be a cloud desktop application.
第一操作可以是用户通过移动云桌面客户端的鼠标触发,该第一操作包括将云桌面客户端显示的光标从云桌面应用界面(云桌面应用的界面)外移动至云桌面应用界面内,如图6所示,用户通过移动鼠标,将云桌面客户端显示的光标从云桌面应用界面外的A点移动至云桌面应用界面内的B点。或者该第一操作包括将云桌面客户端显示的光标在云桌面应用界面内进行移动,如图7所示,用户通过移动鼠标,将云桌面客户端显示的光标从云桌面应用界面内的C点移动至云桌面应用界面内的D点。The first operation may be triggered by the user moving the mouse of the cloud desktop client. The first operation includes moving the cursor displayed on the cloud desktop client from outside the cloud desktop application interface (the interface of the cloud desktop application) to the cloud desktop application interface, such as As shown in Figure 6, the user moves the cursor displayed on the cloud desktop client from point A outside the cloud desktop application interface to point B within the cloud desktop application interface by moving the mouse. Or the first operation includes moving the cursor displayed on the cloud desktop client within the cloud desktop application interface. As shown in Figure 7, the user moves the mouse to move the cursor displayed on the cloud desktop client from C in the cloud desktop application interface. Move the point to point D in the cloud desktop application interface.
步骤502、云桌面客户端根据第一操作,发送第一光标移动指令至云桌面服务端。Step 502: The cloud desktop client sends a first cursor movement instruction to the cloud desktop server according to the first operation.
用户在执行第一操作之后,可以在云桌面应用中触发光标移动指令,其中,对于第一操作触发的触发光标移动指令可称为第一光标移动指令。在该第一光标移动指令中可以包括光标在云桌面应用界面中的相对位置。After performing the first operation, the user may trigger a cursor movement instruction in the cloud desktop application, where the cursor movement instruction triggered for the first operation may be called a first cursor movement instruction. The first cursor movement instruction may include the relative position of the cursor in the cloud desktop application interface.
需要说明的是,在用户执行第一操作的过程中,云桌面应用可以是在光标移动至云桌面应用界面后,触发第一光标移动指令。光标在云桌面应用界面外移动的过程中,云桌面客户端可按照云桌面客户端应用的光标外观对光标进行显示。在用户控制光标在云桌面应用界面移动的过程中,云桌面应用可以按照设定的周期,向云桌面服务端发送第一光标移动指令,在每个第一光标移动指令中包括光标当前在云桌面应用界面中的相对位置。It should be noted that when the user performs the first operation, the cloud desktop application may trigger the first cursor movement instruction after the cursor moves to the cloud desktop application interface. When the cursor moves outside the cloud desktop application interface, the cloud desktop client can display the cursor according to the cursor appearance of the cloud desktop client application. When the user controls the movement of the cursor on the cloud desktop application interface, the cloud desktop application can send a first cursor movement instruction to the cloud desktop server according to a set cycle, and each first cursor movement instruction includes the current location of the cursor in the cloud desktop. Relative position in the desktop application interface.
另外,云桌面客户端可以预先存储有云桌面服务端的虚拟机所运行的操作系统使用默认光标外观。当云桌面客户端将光标移动至云桌面应用界面内,云桌面应用可以向云桌面客户端发送光标更新指令,将云桌面客户端显示的光标外观更新为云桌面服务端对应的默认光标外观。In addition, the cloud desktop client can pre-store the default cursor appearance of the operating system running on the virtual machine of the cloud desktop server. When the cloud desktop client moves the cursor into the cloud desktop application interface, the cloud desktop application can send a cursor update command to the cloud desktop client to update the cursor appearance displayed on the cloud desktop client to the default cursor appearance corresponding to the cloud desktop server.
步骤503、云桌面服务端接收云桌面客户端发送的第一光标移动指令。Step 503: The cloud desktop server receives the first cursor movement instruction sent by the cloud desktop client.
步骤504、云桌面服务端将第一光标移动指令发送至目标应用。Step 504: The cloud desktop server sends the first cursor movement instruction to the target application.
其中,其中目标应用可以是云桌面服务端的虚拟机中操作系统运行的第三方应用,如绘图应用、视频播放应用等。第一光标移动指令包括光标在云桌面应用界面中的相对位置。关于步骤503、504的处理与上述步骤S3-S5的处理类似,此处不再进行赘述。Among them, the target application may be a third-party application running on the operating system in the virtual machine of the cloud desktop server, such as a drawing application, a video playback application, etc. The first cursor movement instruction includes the relative position of the cursor in the cloud desktop application interface. The processing of steps 503 and 504 is similar to the processing of steps S3-S5 described above, and will not be described again here.
步骤505、云桌面服务端获取更新后的目标应用的第一界面。Step 505: The cloud desktop server obtains the updated first interface of the target application.
目标应用响应第一光标移动指令对应的鼠标事件后,如果需要对目标应用的界面进行更新,则目标应用可以通过图像更新模块向操作系统的渲染引擎模块发送图像更新请求。操作系统的渲染引擎模块在接收到图像更新请求后,可以将图像更新请求发送至云桌面服务的显示驱动模块,云桌面服务的显示驱动根据图像更新请求对图形进行渲染。After the target application responds to the mouse event corresponding to the first cursor movement instruction, if the interface of the target application needs to be updated, the target application can send an image update request to the rendering engine module of the operating system through the image update module. After receiving the image update request, the rendering engine module of the operating system can send the image update request to the display driver module of the cloud desktop service. The display driver of the cloud desktop service renders the graphics according to the image update request.
需要说明的是,根据目标应用中各图像所显示的图层不同,目标应用可以向操作系统发送不同的图像更新请求,每个图像请求中包括更新图像以及在对应图层中的位置。由于光标图像单独对应一个图层,所以当目标应用需要对光标图像进行更新时,需要单独向操作系统 发送图像更新请求。云桌面服务中包括的显示模块可以获取到目标应用更新后的图像,即目标应用的第一界面。其中,该第一界面可以是完整的桌面图像,或者仅包括目标应用更新的图像。It should be noted that, depending on the layers displayed by each image in the target application, the target application can send different image update requests to the operating system, and each image request includes the updated image and its position in the corresponding layer. Since the cursor image corresponds to a separate layer, when the target application needs to update the cursor image, it needs to send an image update request to the operating system separately. The display module included in the cloud desktop service can obtain the updated image of the target application, that is, the first interface of the target application. The first interface may be a complete desktop image, or only include an image updated by the target application.
步骤506、若云桌面服务端确定第一界面中的光标外观有变化,将变化后的第一光标外观发送至云桌面客户端,以使得云桌面客户端根据第一光标外观更新光标。Step 506: If the cloud desktop server determines that the cursor appearance in the first interface has changed, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
在本申请提供的更新光标的方法中,云桌面服务中的显示模块在获取第一界面后,还可以确定第一界面中是否包括光标外观,以及光标外观相对于当前操作系统中应用的光标外观是否存在变化。其中,对于确定光标外观是否变化的处理,此处先不进行详细介绍。In the method for updating the cursor provided by this application, after obtaining the first interface, the display module in the cloud desktop service can also determine whether the first interface includes the cursor appearance, and the cursor appearance relative to the cursor appearance applied in the current operating system. Are there changes. Among them, the process of determining whether the cursor appearance changes will not be introduced in detail here.
如果确定光标外观存在变化,则可以向云桌面应用发送携带有第一光标外观的第一光标外观更新请求,以使得云桌面客户端根据第一光标外观更新光标。If it is determined that the cursor appearance has changed, a first cursor appearance update request carrying the first cursor appearance may be sent to the cloud desktop application, so that the cloud desktop client updates the cursor according to the first cursor appearance.
步骤507、云桌面客户端接收云桌面服务端发送的第一光标外观更新请求。Step 507: The cloud desktop client receives the first cursor appearance update request sent by the cloud desktop server.
步骤508、云桌面客户端根据第一操作和第一光标外观,更新目的应用中的光标。Step 508: The cloud desktop client updates the cursor in the target application according to the first operation and the first cursor appearance.
云桌面应用在接收到第一光标外观请求后,可以通过光标显示模块将云桌面客户端在目的应用界面中显示光标对应的光标外观更新为第一光标外观,并且可以根据第一操作更新光标在云桌面应用界面的位置。After receiving the first cursor appearance request, the cloud desktop application can update the cursor appearance corresponding to the cursor displayed by the cloud desktop client in the destination application interface to the first cursor appearance through the cursor display module, and can update the cursor appearance according to the first operation. The location of the cloud desktop application interface.
需要说明的是,如果步骤506中,若云桌面服务端确定第一界面中不包括光标外观,或者光标外观并没有变化。则云桌面服务端可以不向云桌面客户端发送光标外观更新请求。对于云桌面客户端,在未接收到光标外观更新请求的情况下,云桌面客户端可以一直在云桌面应用中应用当前正在使用的光标外观。云桌面客户端在接收到第一光标外观请求后,可以将第一光标外观作为在云桌面应用中显示的光标外观,之后如果云桌面客户端未再次接收到其他光标外观请求时,云桌面客户端可一直将第一光标外观作为在云桌面应用中显示的光标外观。It should be noted that if in step 506, the cloud desktop server determines that the first interface does not include the cursor appearance, or the cursor appearance has not changed. Then the cloud desktop server may not send a cursor appearance update request to the cloud desktop client. For the cloud desktop client, if the cursor appearance update request is not received, the cloud desktop client can always apply the cursor appearance currently being used in the cloud desktop application. After receiving the first cursor appearance request, the cloud desktop client can use the first cursor appearance as the cursor appearance displayed in the cloud desktop application. If the cloud desktop client does not receive other cursor appearance requests again, the cloud desktop client will The client may always use the first cursor appearance as the cursor appearance displayed in the cloud desktop application.
在一种可能的情况中,可以在云桌面服务端接收到目标应用发送的光标隐藏请求时,再执行上述步骤506及之后的处理。In one possible situation, the above-mentioned step 506 and subsequent processing can be performed when the cloud desktop server receives the cursor hiding request sent by the target application.
由于目标应用在更新光标外观之前,需要向操作系统发送光标隐藏请求,以取消操作系统对光标的显示处理。因此只有在虚拟机中的操作系统接收到目标应用发送的光标隐藏请求后,才可能对操作系统的光标外观进行更改。因此在接收到目标应用的光标隐藏请求后,再启动执行步骤506及之后的处理。Before updating the cursor appearance, the target application needs to send a cursor hiding request to the operating system to cancel the cursor display processing by the operating system. Therefore, it is possible to change the cursor appearance of the operating system only after the operating system in the virtual machine receives the cursor hiding request sent by the target application. Therefore, after receiving the cursor hiding request of the target application, the execution of step 506 and subsequent processes is started.
另外,当接收到目标应用发送的光标取消隐藏请求时,向云桌面客户端发送第三光标外观更新请求,第三光标外观更新请求中可以携带有第三光标外观,该第三光标外观可以是目标应用更新第一光标外观之前,系统应用的光标外观,如默认光标外观。In addition, when receiving the cursor unhide request sent by the target application, a third cursor appearance update request is sent to the cloud desktop client. The third cursor appearance update request may carry a third cursor appearance, and the third cursor appearance may be The cursor appearance of the system application, such as the default cursor appearance, before the target application updates the first cursor appearance.
如果目标应用取消对光标外观的更改,则需要可以向操作系统发送光标取消隐藏请求,以使操作系统恢复对光标的显示处理。因此在操作系统接收到光标取消隐藏请求后,可以确定目标应用取消了对光标外观的更改,所以云桌面服务可以在操作系统接收到光标取消隐藏请求后,向云桌面应用发送第三光标外观更新请求,以使云桌面应用将光标的光标外观更改回之前使用的光标外观。可见,在本申请提供的实施例中,云桌面应用能够同步更新云桌面服务端显示的光标外观,并且可以避免光标不跟手的问题,可以提高用户使用云桌面应用的体验。If the target application cancels the change to the cursor appearance, it needs to be able to send a cursor unhide request to the operating system so that the operating system resumes display processing of the cursor. Therefore, after the operating system receives the cursor unhide request, it can be determined that the target application has canceled the change to the cursor appearance. Therefore, the cloud desktop service can send a third cursor appearance update to the cloud desktop application after the operating system receives the cursor unhide request. Request to have the Cloud Desktop app change the cursor's cursor appearance back to the previously used cursor appearance. It can be seen that in the embodiment provided by this application, the cloud desktop application can synchronously update the cursor appearance displayed on the cloud desktop server, and can avoid the problem of the cursor not following the hand, which can improve the user's experience of using the cloud desktop application.
图8是本申请实施例提供的一种更新光标的方法,该方法应用于云桌面系统中,能够同步云桌面系统中云桌面客户端和云桌面服务端显示的光标外观(光标图像),并且可以避免光标不跟手的问题。参见图8,该方法包括:Figure 8 is a method for updating the cursor provided by an embodiment of the present application. This method is applied in a cloud desktop system and can synchronize the cursor appearance (cursor image) displayed on the cloud desktop client and the cloud desktop server in the cloud desktop system, and This can avoid the problem of the cursor not following your hand. Referring to Figure 8, the method includes:
步骤801、云桌面客户端获取用户的第二操作。Step 801: The cloud desktop client obtains the user's second operation.
第二操作可以是用户通过移动云桌面客户端的鼠标触发,该第二操作包括将云桌面客户端显示的光标在云桌面应用界面内进行移动,如图7所示,用户通过移动鼠标,将云桌面客户端显示的光标从云桌面应用界面内的C点移动至云桌面应用界面内的D点。The second operation may be triggered by the user moving the mouse of the cloud desktop client. The second operation includes moving the cursor displayed by the cloud desktop client within the cloud desktop application interface. As shown in Figure 7, the user moves the mouse to move the cloud desktop to the cloud desktop application interface. The cursor displayed on the desktop client moves from point C in the cloud desktop application interface to point D in the cloud desktop application interface.
步骤802、云桌面客户端根据第二操作,发送第二光标移动指令至云桌面服务端。Step 802: The cloud desktop client sends a second cursor movement instruction to the cloud desktop server according to the second operation.
步骤803、云桌面服务端接收云桌面客户端发送的第二光标移动指令。Step 803: The cloud desktop server receives the second cursor movement instruction sent by the cloud desktop client.
步骤804、云桌面服务端将第二光标移动指令发送至目标应用。Step 804: The cloud desktop server sends the second cursor movement instruction to the target application.
步骤805、云桌面服务端获取更新后的目标应用的第二界面。Step 805: The cloud desktop server obtains the updated second interface of the target application.
其中,步骤802-805的处理与上述步骤502-505的处理类似,此处不再进行赘述。The processing of steps 802-805 is similar to the processing of steps 502-505, and will not be described again here.
步骤806、云桌面服务端若确定第二界面中包括第一光标外观,发送第二光标外观更新请求至云桌面客户端,第二光标外观更新请求指示云桌面客户端使用第一光标外观。Step 806: If the cloud desktop server determines that the second interface includes the first cursor appearance, it sends a second cursor appearance update request to the cloud desktop client. The second cursor appearance update request instructs the cloud desktop client to use the first cursor appearance.
其中,第一光标外观为云桌面客户端在目的应用的界面中显示的光标外观,例如在执行该步骤806之前,云桌面客户端已经执行了上述步骤508,已经将目的应用的光标外观更新为了第一光标外观。The first cursor appearance is the cursor appearance displayed by the cloud desktop client in the interface of the target application. For example, before executing step 806, the cloud desktop client has already executed the above step 508 and has updated the cursor appearance of the target application to First cursor appearance.
如果云桌面服务中的显示模块在获取第二界面后,确定第二界面中包括光标外观,且光标外观即为第一光标外观,则说明目标应用并没有更改光标外观。因此云桌面服务可以向云桌面应用发送携带第一光标外观的第二光标外观更新请求。If the display module in the cloud desktop service determines that the second interface includes the cursor appearance after obtaining the second interface, and the cursor appearance is the first cursor appearance, it means that the target application has not changed the cursor appearance. Therefore, the cloud desktop service can send a second cursor appearance update request carrying the first cursor appearance to the cloud desktop application.
步骤807、云桌面客户端接收云桌面服务端发送的第二光标外观更新请求。Step 807: The cloud desktop client receives the second cursor appearance update request sent by the cloud desktop server.
步骤808、云桌面客户端根据第二操作和第一光标外观,更新目的应用中的光标。Step 808: The cloud desktop client updates the cursor in the target application according to the second operation and the first cursor appearance.
由于第二光标外观更新请求包括的第一光标外观即为云桌面应用当前使用的光标外观,因此,在云桌面应用中可以继续使用第一光标外观,并根据第二操作对光标进行更新。也就是根据第二操作,更新第一光标外观的光标在云桌面应用界面中位置。这样,在云桌面服务端对光标外观进行更新时,可以通过光标外观更新请求通知云桌面客户端,在云桌面服务端未对光标外观进行更新时,云桌面客户端可一直使用未更新过的光标外观,能够实现云桌面服务端与云桌面客户端同步更新光标外观,可以提高用户使用云桌面应用的体验。Since the first cursor appearance included in the second cursor appearance update request is the cursor appearance currently used by the cloud desktop application, the first cursor appearance can continue to be used in the cloud desktop application and the cursor can be updated according to the second operation. That is, according to the second operation, the position of the cursor in the cloud desktop application interface of the first cursor appearance is updated. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request. When the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance. The cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using cloud desktop applications.
图9是本申请实施例提供的一种更新光标的方法,该方法应用于云桌面系统中,能够同步云桌面系统中云桌面客户端和云桌面服务端显示的光标外观(光标图像),并且可以避免光标不跟手的问题。参见图9,该方法包括:Figure 9 is a method for updating the cursor provided by an embodiment of the present application. This method is applied in a cloud desktop system and can synchronize the cursor appearance (cursor image) displayed on the cloud desktop client and the cloud desktop server in the cloud desktop system, and This can avoid the problem of the cursor not following your hand. Referring to Figure 9, the method includes:
步骤901、云桌面客户端获取用户的第三操作,第三操作包括光标在目的应用的界面中移动。Step 901: The cloud desktop client obtains the user's third operation. The third operation includes moving the cursor in the interface of the target application.
第二操作可以是用户通过移动云桌面客户端的鼠标触发,该第二操作包括将云桌面客户端显示的光标在云桌面应用界面内进行移动,如图7所示,用户通过移动鼠标,将云桌面客户端显示的光标从云桌面应用界面内的C点移动至云桌面应用界面内的D点。The second operation may be triggered by the user moving the mouse of the cloud desktop client. The second operation includes moving the cursor displayed by the cloud desktop client within the cloud desktop application interface. As shown in Figure 7, the user moves the mouse to move the cloud desktop to the cloud desktop application interface. The cursor displayed on the desktop client moves from point C in the cloud desktop application interface to point D in the cloud desktop application interface.
步骤902、云桌面客户端根据第三操作,发送第二光标移动指令至云桌面服务端。Step 902: The cloud desktop client sends a second cursor movement instruction to the cloud desktop server according to the third operation.
由于第三操作与上述步骤801中的第二操作相同,因此第三操作触发的光标移动指令同 样可以为第二光标移动指令。Since the third operation is the same as the second operation in step 801, the cursor movement instruction triggered by the third operation can also be the second cursor movement instruction.
步骤903、云桌面服务端接收云桌面客户端发送的第二光标移动指令,第二光标移动指令指示将光标在目的应用的界面中移动。Step 903: The cloud desktop server receives the second cursor movement instruction sent by the cloud desktop client. The second cursor movement instruction instructs the cursor to be moved in the interface of the target application.
步骤904、云桌面服务端将第二光标移动指令发送至目标应用。Step 904: The cloud desktop server sends the second cursor movement instruction to the target application.
步骤905、云桌面服务端获取更新后的目标应用的第二界面。Step 905: The cloud desktop server obtains the updated second interface of the target application.
其中,步骤902-905的处理与上述步骤502-505的处理类似,此处不再进行赘述。The processing of steps 902-905 is similar to the processing of steps 502-505, and will not be described again here.
步骤906、若云桌面服务端确定第二界面中包括第一光标外观,则不向云桌面客户端发送光标外观更新请求至云桌面客户端。Step 906: If the cloud desktop server determines that the second interface includes the first cursor appearance, it does not send a cursor appearance update request to the cloud desktop client.
其中,第一光标外观为云桌面客户端在目的应用的界面中显示的光标外观,例如在执行该步骤906之前,云桌面客户端已经执行了上述步骤508,已经将目的应用的光标外观更新为了第一光标外观。The first cursor appearance is the cursor appearance displayed by the cloud desktop client in the interface of the target application. For example, before executing step 906, the cloud desktop client has already executed the above step 508 and has updated the cursor appearance of the target application to First cursor appearance.
如果云桌面服务中的显示模块在获取第二界面后,确定第二界面中包括光标外观,且光标外观即为第一光标外观,则说明目标应用并没有更改光标外观。在这种情况下,云桌面服务可以不向云桌面应用发送光标外观更新请求,以使云桌面客户端继续使用第一光标外观。If the display module in the cloud desktop service determines that the second interface includes the cursor appearance after obtaining the second interface, and the cursor appearance is the first cursor appearance, it means that the target application has not changed the cursor appearance. In this case, the cloud desktop service may not send a cursor appearance update request to the cloud desktop application, so that the cloud desktop client continues to use the first cursor appearance.
步骤907、云桌面客户端在指定时间内未接收到云桌面服务端发送的第三光标外观更新请求时,根据第三操作和第一光标外观,更新目的应用中的光标。Step 907: When the cloud desktop client does not receive the third cursor appearance update request sent by the cloud desktop server within the specified time, it updates the cursor in the target application according to the third operation and the first cursor appearance.
其中,该指定时间可以是云桌面客户端向云桌面服务端发送第二光标移动指令后的一段时间,该指定时间的具体时长可以由技术人员预先设置。一般为了避免图像在云桌面应用界面中不跟手的问题,该指定时间的时长可以设置的较短,如可以小于云桌面客户端与云桌面服务段传输数据的延迟时长。这样,在云桌面客户端在向云桌面服务端发送光标移动指令后,如果未接收到光标外观更新请求,则可以继续使用当前的光标外观对云桌面应用的中的光标进行显示,如果接收到光标外观更新请求,则可以根据光标外观更新请求,对当前的光标外观进行更新。这样,在云桌面服务端对光标外观进行更新时,可以通过光标外观更新请求通知云桌面客户端,在云桌面服务端未对光标外观进行更新时,云桌面客户端可一直使用未更新过的光标外观,能够实现云桌面服务端与云桌面客户端同步更新光标外观,可以提高用户使用云桌面的体验。Wherein, the designated time may be a period of time after the cloud desktop client sends the second cursor movement instruction to the cloud desktop server, and the specific duration of the designated time may be preset by a technician. Generally, in order to avoid the problem of images not following the cloud desktop application interface, the specified time can be set shorter, for example, it can be shorter than the delay time of data transmission between the cloud desktop client and the cloud desktop service segment. In this way, after the cloud desktop client sends the cursor movement instruction to the cloud desktop server, if it does not receive a cursor appearance update request, it can continue to use the current cursor appearance to display the cursor in the cloud desktop application. If it receives Cursor appearance update request, the current cursor appearance can be updated according to the cursor appearance update request. In this way, when the cloud desktop server updates the cursor appearance, the cloud desktop client can be notified through the cursor appearance update request. When the cloud desktop server does not update the cursor appearance, the cloud desktop client can always use the unupdated cursor appearance. The cursor appearance can realize the synchronization of the cursor appearance between the cloud desktop server and the cloud desktop client, which can improve the user experience of using the cloud desktop.
下面对确定光标外观是否变化的方法进行介绍,参见图10,该方法包括:The method for determining whether the cursor appearance changes is introduced below. See Figure 10. The method includes:
步骤1001、获取目标图像的第一图像特征。Step 1001: Obtain the first image feature of the target image.
其中,目标图像为操作系统向云桌面服务发送的图像更新请求中携带的更新后的图像。目标图像的第一图像特征至少包括图像尺寸、指定位置的像素值。图像尺寸可以是目标图像的长和宽,指定位置可以是图像中的任意位置,可以是一个位置也可以是多个位置,如可以是图像的中心点位置。The target image is the updated image carried in the image update request sent by the operating system to the cloud desktop service. The first image feature of the target image includes at least the image size and the pixel value at the specified position. The image size can be the length and width of the target image, and the specified position can be any position in the image, it can be one position or multiple positions, for example, it can be the center point of the image.
如图11所示,该指定位置可以包括目标图像的中心点位置、中心点位置沿Y轴方向向上偏移第一偏移量的位置,中心点位置沿Y轴方向向下偏移第二偏移量的位置,中心点位置沿X轴方向向左偏移第三偏移量的位置,中心点位置沿X轴方向向右偏移第四偏移量的位置。其中,第一偏移量和第二偏移量可称为纵向偏移量,第三偏移量和第四偏移量可称为横向偏移量。纵向偏移量和横向偏移量的值可以由技术人员预先设定,此处不行限定。As shown in Figure 11, the designated position may include the center point position of the target image, the center point position shifted upward by a first offset along the Y-axis direction, and the center point position is shifted downward by a second offset along the Y-axis direction. The position of the shift amount, the center point position is shifted to the left by the third offset amount along the X-axis direction, and the center point position is shifted to the right by the fourth offset amount along the X-axis direction. The first offset amount and the second offset amount may be called longitudinal offset amounts, and the third offset amount and the fourth offset amount may be called lateral offset amounts. The values of the longitudinal offset and the lateral offset can be preset by technicians and are not limited here.
步骤1002、根据第一图像特征以及指定光标外观的第二图像特征,确定目标图像是否为 光标图像。Step 1002: Determine whether the target image is a cursor image based on the first image feature and the second image feature specifying the appearance of the cursor.
其中,指定光标外观可以是第三方应用中可能应用的多种不同的光标外观。The specified cursor appearance may be a variety of different cursor appearances that may be applied in third-party applications.
在获取到目标图像的第一图像特征后,可根据预先存储的多种不同的光标外观对应的第二图像特征进行对比,进而确定目标图像是否为光标图像。After obtaining the first image feature of the target image, comparison can be made based on the pre-stored second image features corresponding to a plurality of different cursor appearances to determine whether the target image is a cursor image.
如在云桌面服务端的虚拟机运行之后,虚拟机可以加载匹配配置文件,在匹配配置文件中,包括多种不同的光标外观的第二图像特征,包括不同的光标外观对应的图像尺寸、指定位置的像素值等。在获取到目标图像的第一图像特征后,将第一图像特征分别与匹配配置文件中包括的各第二图像特征进行对比,进而确定目标图像是否为光标外观。For example, after the virtual machine on the cloud desktop server is running, the virtual machine can load a matching configuration file. The matching configuration file includes a variety of second image features of different cursor appearances, including image sizes and designated positions corresponding to different cursor appearances. pixel value, etc. After obtaining the first image feature of the target image, the first image feature is compared with each second image feature included in the matching configuration file, and then it is determined whether the target image has a cursor appearance.
步骤1003、如果确定目标图像为光标图像,则确定目标图像是否为当前使用的光标图像。Step 1003: If it is determined that the target image is a cursor image, determine whether the target image is the currently used cursor image.
在一种可实现的方式中,在确定第一图像特征对应的目标图像为光标外观后,可以将目标图像与操作系统当前使用的光标外观对应的图像特征再次进行对比,确定目标图像是否为操作系统当前使用的光标外观。In an implementable manner, after determining that the target image corresponding to the first image feature is the cursor appearance, the target image can be compared again with the image feature corresponding to the cursor appearance currently used by the operating system to determine whether the target image is the cursor appearance. The cursor appearance currently used by the system.
在另一种可实现的方式中,在确定第一图像特征对应的目标图像为光标外观后,则获取与目标图像对应的第一图像特征相同的光标外观对应的光标标识,可以通过确定获取的该光标标识与操作系统当前使用的光标外观对应的光标标识是否一致,确定目标图像是否为操作系统当前使用的光标外观。In another implementable manner, after determining that the target image corresponding to the first image feature is the cursor appearance, a cursor identifier corresponding to the cursor appearance that is the same as the first image feature corresponding to the target image is obtained. The obtained cursor identifier can be obtained by determining Whether the cursor identification is consistent with the cursor identification corresponding to the cursor appearance currently used by the operating system determines whether the target image is the cursor appearance currently used by the operating system.
步骤1004、如果确定目标图像不为当前使用的光标图像,则确定目标图像为更新的光标图像。Step 1004: If it is determined that the target image is not the currently used cursor image, determine that the target image is an updated cursor image.
本申请实施例提供了一种光标外观是否变化的方法,能够在操作系统无法区分目标应用发送的图像更新请求是否对应光标图像情况下,识别出图像更新请求中的图像是否为光标图像,并可以确定图像更新请求中的光标图像是否为更改后的光标外观。进而可以在确定光标外观更新后,将更新的光标外观发送至云桌面应用,进而实现云桌面客户端与云桌面服务端同步的更新,能够提供用户使用云桌面应用的体验。The embodiment of the present application provides a method for determining whether the cursor appearance changes, which can identify whether the image in the image update request is a cursor image when the operating system cannot distinguish whether the image update request sent by the target application corresponds to the cursor image, and can Determines whether the cursor image in the image update request is the changed cursor appearance. Then, after it is determined that the cursor appearance is updated, the updated cursor appearance can be sent to the cloud desktop application, thereby achieving synchronized updates between the cloud desktop client and the cloud desktop server, which can provide users with an experience of using the cloud desktop application.
在一种可能的情况中,上述匹配配置文件中,还可以包括偏移容忍阈值,该偏移容忍阈值是指目标图像的位置与鼠标位置的最大距离差值。相应的确定光标外观是否变化的方法还可以包括:获取当前云桌面应用发送的光标在桌面图像中的第一位置;获取图像更新请求中携带的目标图像在桌面图像中的第二位置;确定第一位置和第二位置的距离不超过偏移容忍阈值。In a possible case, the above matching configuration file may also include an offset tolerance threshold, which refers to the maximum distance difference between the position of the target image and the position of the mouse. The corresponding method of determining whether the cursor appearance changes may also include: obtaining the first position of the cursor in the desktop image sent by the current cloud desktop application; obtaining the second position of the target image carried in the image update request in the desktop image; determining the second position of the cursor in the desktop image. The distance between the first position and the second position does not exceed the offset tolerance threshold.
如果图像更新请求中包括的目标图像为光标外观时,则图像更新请求对应的目标图像在桌面图像进行显示的第二位置,应该与当前云桌面应用发送的光标在桌面图像中的第一位置相同。但由于云桌面服务处理图像更新请求需要一定的时间,在图像更新请求对应为光标外观的情况下,图像更新请求中的第二位置与当前云桌面应用发送的光标在桌面图像中的第一位置可能会存在一定的距离。但由于光标在云桌面应用是连续移动的,且云桌面服务处理图像更新请求时间较短,因此该距离一般比较小。If the target image included in the image update request has a cursor appearance, the second position of the target image displayed in the desktop image corresponding to the image update request should be the same as the first position of the cursor in the desktop image sent by the current cloud desktop application. . However, since the cloud desktop service takes a certain amount of time to process the image update request, when the image update request corresponds to the cursor appearance, the second position in the image update request is the same as the first position of the cursor in the desktop image sent by the current cloud desktop application. There may be some distance. However, since the cursor moves continuously in the cloud desktop application and the cloud desktop service takes a short time to process image update requests, this distance is generally relatively small.
因此,技术人员可以设置偏移容忍阈值,通过确定图像更新请求中的第二位置与当前云桌面应用发送的光标在桌面图像中的第一位置的距离与偏移容忍阈值,确定图像更新请求中的目标图像是否为光标外观。如果该距离小于或等于偏移容忍阈值则说明图像更新请求中的目标图像可能为光标外观,如果该距离大于偏移容忍阈值则说明图像更新请求中的目标图像不是光标外观。Therefore, the technician can set the offset tolerance threshold and determine the distance between the second position in the image update request and the first position of the cursor in the desktop image sent by the current cloud desktop application and the offset tolerance threshold to determine the distance between the second position in the image update request and the first position of the cursor in the desktop image sent by the current cloud desktop application. Whether the target image is the cursor appearance. If the distance is less than or equal to the offset tolerance threshold, it means that the target image in the image update request may have a cursor appearance. If the distance is greater than the offset tolerance threshold, it means that the target image in the image update request does not have a cursor appearance.
在步骤1002中,可以先确定图像更新请求中的第二位置与当前云桌面应用发送的光标在桌面图像中的第一位置的距离与偏移容忍阈值的关系。如果确定目标图像可能为光标外观时,可以再根据第一图像特征以及指定光标外观的第二图像特征,确定目标图像是否为光标图像。如果确定目标图像不为光标外观时,则可以直接确定目标图像是否为光标图像。如此可以提高确定目标图像是否为更新的光标外观的效率,进而可以提高云桌面服务端和云桌面客户端同步更新的光标外观的效率,可进一步提高用户使用云会议应用的体验。In step 1002, the relationship between the distance between the second position in the image update request and the first position of the cursor in the desktop image sent by the current cloud desktop application and the offset tolerance threshold may be determined first. If it is determined that the target image may have a cursor appearance, it may be determined whether the target image is a cursor image based on the first image feature and the second image feature specifying the cursor appearance. If it is determined that the target image does not have a cursor appearance, it can be directly determined whether the target image is a cursor image. This can improve the efficiency of determining whether the target image is an updated cursor appearance, thereby improving the efficiency of synchronizing the updated cursor appearance between the cloud desktop server and the cloud desktop client, and further improving the user experience of using cloud conferencing applications.
在一种可能的情况中,在确定目标图像为更新的光标外观后,还可以获取图像更新请求对应的目标应用的界面显示范围,并将该界面显示范围发送至云桌面应用,以使云桌面应用只在该界面显示范围内,使用更新的光标外观。云桌面应用确定光标移动至界面显示范围外时,可以再使用更新之前的光标外观对光标进行显示。而光标移动至界面显示范围外时,虚拟机的操作系统会再次更新回之前应用的光标外观,这样在云桌面应用中,可以预先判断云桌面应用是否对光标外观进行更新,能够提高云桌面服务端和云桌面客户端同步更新的光标外观的效率,可进一步提高用户使用云会议应用的体验。In one possible case, after determining that the target image is the updated cursor appearance, the interface display range of the target application corresponding to the image update request can also be obtained, and the interface display range is sent to the cloud desktop application so that the cloud desktop The app uses the updated cursor appearance only within the display range of this interface. When the cloud desktop application determines that the cursor has moved outside the interface display range, it can display the cursor using the cursor appearance before the update. When the cursor moves outside the interface display range, the virtual machine's operating system will update back to the cursor appearance of the previous application. In this way, in the cloud desktop application, it can be judged in advance whether the cloud desktop application has updated the cursor appearance, which can improve the cloud desktop service. The efficiency of cursor appearance synchronization updates between the client and the cloud desktop client can further improve the user experience of using cloud conferencing applications.
图12是本申请实施例提供的一种更新光标的装置,该装置可以上述实施例中的云桌面客户端,参见图12,该装置包括:Figure 12 is a device for updating the cursor provided by an embodiment of the present application. The device can be the cloud desktop client in the above embodiment. See Figure 12. The device includes:
获取单元1210,用于获取用户的第一操作,所述第一操作包括将光标移动至目的应用的界面中。具体可以实现上述步骤501中的获取功能,以及其他隐含步骤。The acquisition unit 1210 is configured to acquire the user's first operation, where the first operation includes moving the cursor to the interface of the target application. Specifically, the acquisition function in the above step 501 and other implicit steps can be implemented.
发送单元1220,用于根据所述第一操作,发送第一光标移动指令至所述云桌面服务端。具体可以实现上述步骤502中的发送功能,以及其他隐含步骤。The sending unit 1220 is configured to send a first cursor movement instruction to the cloud desktop server according to the first operation. Specifically, the sending function in the above step 502 and other implicit steps can be implemented.
接收单元1230,用于接收所述云桌面服务端发送的第一光标外观更新请求,所述第一光标外观更新请求包括第一光标外观。具体可以实现上述步骤507中的接收功能,以及其他隐含步骤。The receiving unit 1230 is configured to receive a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance. Specifically, the receiving function in the above step 507 can be implemented, as well as other implicit steps.
更新单元1240,用于根据所述第一操作和所述第一光标外观,更新所述目的应用中的所述光标。具体可以实现上述步骤508中的更新功能,以及其他隐含步骤。The update unit 1240 is configured to update the cursor in the target application according to the first operation and the first cursor appearance. Specifically, the update function in the above step 508 and other implicit steps can be implemented.
在一种可能的实现方式中,所述获取单元1210,还用于获取用户的第二操作,所述第二操作包括将所述光标在所述目的应用的界面中移动;In a possible implementation, the obtaining unit 1210 is also configured to obtain the user's second operation, where the second operation includes moving the cursor in the interface of the target application;
所述发送单元1220,还用于根据所述第二操作,发送第二光标移动指令至所述云桌面服务端;The sending unit 1220 is also configured to send a second cursor movement instruction to the cloud desktop server according to the second operation;
所述接收单元1230,还用于接收所述云桌面服务端发送的第二光标外观更新请求,所述第二光标外观更新请求指示使用所述第一光标外观;The receiving unit 1230 is also configured to receive a second cursor appearance update request sent by the cloud desktop server, where the second cursor appearance update request indicates using the first cursor appearance;
所述更新单元1240,还用于根据所述第二操作和所述第一光标外观,更新所述目的应用中的所述光标。The update unit 1240 is also configured to update the cursor in the target application according to the second operation and the first cursor appearance.
在一种可能的实现方式中,所述获取单元1210,还用于获取用户的第三操作,所述第三操作包括所述光标在所述目的应用的界面中移动;In a possible implementation, the obtaining unit 1210 is also used to obtain the user's third operation, where the third operation includes the cursor moving in the interface of the target application;
所述发送单元1220,还用于根据所述第三操作,发送第二光标移动指令至所述云桌面服务端;The sending unit 1220 is also configured to send a second cursor movement instruction to the cloud desktop server according to the third operation;
所述更新单元1240,还用于在指定时间内未接收到所述云桌面服务端发送的第三光标外观更新请求时,根据所述第三操作和所述第一光标外观,更新所述目的应用中的所述光标。The update unit 1240 is also configured to update the destination according to the third operation and the first cursor appearance when the third cursor appearance update request sent by the cloud desktop server is not received within a specified time. The cursor in the application.
在一种可能的实现方式中,所述目的应用为云桌面应用。In a possible implementation manner, the target application is a cloud desktop application.
图12所示的更新光标的装置执行更新光标的详细过程请参照前面实施例内容的描述,在这里不进行重复说明。For the detailed process of updating the cursor performed by the device for updating the cursor shown in Figure 12, please refer to the description of the previous embodiment, and the description will not be repeated here.
图13是本申请实施例提供的一种更新光标的装置,该装置可以上述实施例中的云桌面服务端,参见图13,该装置包括:Figure 13 is a device for updating the cursor provided by an embodiment of the present application. The device can be the cloud desktop server in the above embodiment. See Figure 13. The device includes:
接收单元1310,用于接收所述云桌面客户端发送的第一光标移动指令,所述第一光标移动指令指示将光标移动至目的应用的界面中;The receiving unit 1310 is configured to receive a first cursor movement instruction sent by the cloud desktop client, where the first cursor movement instruction instructs the cursor to be moved to the interface of the target application;
发送单元1320,用于将所述第一光标移动指令发送至目标应用;Sending unit 1320, configured to send the first cursor movement instruction to the target application;
获取单元1330,用于获取更新后的所述目标应用的第一界面;The obtaining unit 1330 is configured to obtain the updated first interface of the target application;
判断单元1340,用于若所述第一界面中的光标外观有变化,将变化后的第一光标外观发送至所述云桌面客户端,以使得所述云桌面客户端根据所述第一光标外观更新所述光标。The judgment unit 1340 is configured to send the changed first cursor appearance to the cloud desktop client if the cursor appearance in the first interface changes, so that the cloud desktop client can adjust the appearance of the cursor according to the first cursor appearance. Appearance updates the cursor.
在一种可能的实现方式中,所述判断单元1340,用于:In a possible implementation, the judgment unit 1340 is used to:
比较所述光标外观和指定光标图像,确定所述第一界面中光标外观有变化。Compare the cursor appearance with the specified cursor image to determine whether there is a change in the cursor appearance in the first interface.
在一种可能的实现方式中,所述接收单元1310,还用于接收所述云桌面客户端发送的第二光标移动指令,所述第二光标移动指令指示将所述光标在所述目的应用的界面中移动;In a possible implementation, the receiving unit 1310 is also configured to receive a second cursor movement instruction sent by the cloud desktop client, where the second cursor movement instruction instructs to move the cursor to the destination application. move within the interface;
所述发送单元1320,还用于将所述第二光标移动指令发送至所述目标应用;The sending unit 1320 is also configured to send the second cursor movement instruction to the target application;
所述获取单元1330,还用于获取更新后的所述目标应用的第二界面;The obtaining unit 1330 is also configured to obtain the updated second interface of the target application;
所述判断单元1340,还用于若所述第二界面中包括所述第一光标外观,发送光标外观更新请求至所述云桌面客户端,所述光标外观更新请求指示使用所述第一光标外观。The judgment unit 1340 is further configured to send a cursor appearance update request to the cloud desktop client if the second interface includes the first cursor appearance, and the cursor appearance update request indicates using the first cursor. Exterior.
在一种可能的实现方式中,所述目的应用为云桌面应用。In a possible implementation manner, the target application is a cloud desktop application.
图13所示的更新光标的装置执行更新光标的详细过程请参照前面实施例内容的描述,在这里不进行重复说明。另外,图12和图13中的模块划分方式是示例性的划分方式,本申请实施例不做限定。For the detailed process of updating the cursor performed by the device for updating the cursor shown in Figure 13, please refer to the description of the previous embodiment, and the description will not be repeated here. In addition, the module division methods in Figures 12 and 13 are exemplary division methods, and are not limited by the embodiments of this application.
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,可以实现上述实施例中更新光标的方法。Embodiments of the present application provide a computer program product. The computer program product includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, thereby implementing the method of updating the cursor in the above embodiment.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在设备上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是设备能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(digital video disk,DVD)等),或者半导体介质(如固态硬盘等)。In the above embodiments, they may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, they may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the device, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center through wired (such as coaxial optical cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that the device can access, or a data storage device such as a server or data center integrated with one or more available media. The available media may be magnetic media (such as floppy disks, hard disks, magnetic tapes, etc.), optical media (such as digital video disks (DVD), etc.), or semiconductor media (such as solid-state hard disks, etc.).
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned The storage media mentioned can be read-only memory, magnetic disks or optical disks, etc.
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一操作可以被称为第二操作,并且类似地,第二操作可以被称为第一操作。第一操作和第二操作都可以是用户在云桌面客户端触发的操作,并且在某些情况下,可以是单独且不同的操作。本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上。In this application, the terms "first" and "second" are used to distinguish the same or similar items with basically the same functions and functions. It should be understood that there is no logic or timing between "first" and "second" There are no restrictions on the number and execution order of the dependencies. It should also be understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first operation may be referred to as a second operation, and similarly, a second operation may be referred to as a first operation, without departing from the scope of various examples. Both the first operation and the second operation may be operations triggered by the user on the cloud desktop client, and in some cases, may be separate and different operations. The term "at least one" in this application means one or more, and the term "plurality" in this application means two or more.
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above description is only a specific implementation mode of the present application, but the protection scope of the present application is not limited thereto. Any person familiar with the technical field can easily think of various equivalent modifications within the technical scope disclosed in the present application. Or replacement, these modifications or replacements should be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.

Claims (20)

  1. 一种更新光标的方法,其特征在于,所述方法应用于云桌面客户端,所述云桌面客户端所在的云桌面系统还包括云桌面服务端,所述方法包括:A method for updating a cursor, characterized in that the method is applied to a cloud desktop client, and the cloud desktop system where the cloud desktop client is located also includes a cloud desktop server. The method includes:
    获取用户的第一操作,所述第一操作包括将光标移动至目的应用的界面中;Obtain the user's first operation, where the first operation includes moving the cursor to the interface of the target application;
    根据所述第一操作,发送第一光标移动指令至所述云桌面服务端;According to the first operation, send a first cursor movement instruction to the cloud desktop server;
    接收所述云桌面服务端发送的第一光标外观更新请求,所述第一光标外观更新请求包括第一光标外观;Receive a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance;
    根据所述第一操作和所述第一光标外观,更新所述目的应用中的所述光标。Update the cursor in the destination application according to the first operation and the first cursor appearance.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, further comprising:
    获取用户的第二操作,所述第二操作包括将所述光标在所述目的应用的界面中移动;Obtain the user's second operation, where the second operation includes moving the cursor in the interface of the target application;
    根据所述第二操作,发送第二光标移动指令至所述云桌面服务端;According to the second operation, send a second cursor movement instruction to the cloud desktop server;
    接收所述云桌面服务端发送的第二光标外观更新请求,所述第二光标外观更新请求指示使用所述第一光标外观;Receive a second cursor appearance update request sent by the cloud desktop server, where the second cursor appearance update request indicates using the first cursor appearance;
    根据所述第二操作和所述第一光标外观,更新所述目的应用中的所述光标。The cursor in the destination application is updated according to the second operation and the first cursor appearance.
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, further comprising:
    获取用户的第三操作,所述第三操作包括所述光标在所述目的应用的界面中移动;Obtain the user's third operation, where the third operation includes the cursor moving in the interface of the target application;
    根据所述第三操作,发送第二光标移动指令至所述云桌面服务端;According to the third operation, send a second cursor movement instruction to the cloud desktop server;
    在指定时间内未接收到所述云桌面服务端发送的第三光标外观更新请求时,根据所述第三操作和所述第一光标外观,更新所述目的应用中的所述光标。When the third cursor appearance update request sent by the cloud desktop server is not received within a specified time, the cursor in the target application is updated according to the third operation and the first cursor appearance.
  4. 根据权利要求1至3中任一所述的方法,其特征在于,所述目的应用为云桌面应用。The method according to any one of claims 1 to 3, characterized in that the target application is a cloud desktop application.
  5. 一种更新光标的方法,其特征在于,所述方法应用于云桌面服务端,所述云桌面服务端所在的云桌面系统还包括云桌面客户端,所述方法包括:A method for updating the cursor, characterized in that the method is applied to a cloud desktop server, and the cloud desktop system where the cloud desktop server is located also includes a cloud desktop client. The method includes:
    接收所述云桌面客户端发送的第一光标移动指令,所述第一光标移动指令指示将光标移动至目的应用的界面中;Receive a first cursor movement instruction sent by the cloud desktop client, where the first cursor movement instruction instructs the cursor to be moved to the interface of the target application;
    将所述第一光标移动指令发送至目标应用;Send the first cursor movement instruction to the target application;
    获取更新后的所述目标应用的第一界面;Obtain the updated first interface of the target application;
    若所述第一界面中的光标外观有变化,将变化后的第一光标外观发送至所述云桌面客户端,以使得所述云桌面客户端根据所述第一光标外观更新所述光标。If the cursor appearance in the first interface changes, the changed first cursor appearance is sent to the cloud desktop client, so that the cloud desktop client updates the cursor according to the first cursor appearance.
  6. 根据权利要求5所述的方法,其特征在于,所述若所述第一界面中光标外观有变化,将变化后的第一光标外观发送至所述云桌面客户端,包括:The method according to claim 5, characterized in that if the cursor appearance in the first interface changes, sending the changed first cursor appearance to the cloud desktop client includes:
    比较所述光标外观和指定光标外观,确定所述第一界面中光标外观有变化。Compare the cursor appearance and the specified cursor appearance to determine that there is a change in the cursor appearance in the first interface.
  7. 根据权利要求5或6所述的方法,其特征在于,所述方法还包括:The method according to claim 5 or 6, characterized in that, the method further includes:
    接收所述云桌面客户端发送的第二光标移动指令,所述第二光标移动指令指示将所述光标在所述目的应用的界面中移动;Receive a second cursor movement instruction sent by the cloud desktop client, the second cursor movement instruction instructs to move the cursor in the interface of the target application;
    将所述第二光标移动指令发送至所述目标应用;Send the second cursor movement instruction to the target application;
    获取更新后的所述目标应用的第二界面;Obtain the updated second interface of the target application;
    若所述第二界面中包括所述第一光标外观,则发送光标外观更新请求至所述云桌面客户端,所述光标外观更新请求指示使用所述第一光标外观。If the second interface includes the first cursor appearance, a cursor appearance update request is sent to the cloud desktop client, and the cursor appearance update request indicates using the first cursor appearance.
  8. 根据权利要求4至7中任一所述的方法,其特征在于,所述目的应用为云桌面应用。The method according to any one of claims 4 to 7, characterized in that the target application is a cloud desktop application.
  9. 一种更新光标的装置,其特征在于,所述装置包括:A device for updating a cursor, characterized in that the device includes:
    获取单元,用于获取用户的第一操作,所述第一操作包括将光标移动至目的应用的界面中;An acquisition unit, configured to acquire the user's first operation, where the first operation includes moving the cursor to the interface of the target application;
    发送单元,用于根据所述第一操作,发送第一光标移动指令至所述云桌面服务端;A sending unit configured to send a first cursor movement instruction to the cloud desktop server according to the first operation;
    接收单元,用于接收所述云桌面服务端发送的第一光标外观更新请求,所述第一光标外观更新请求包括第一光标外观;A receiving unit configured to receive a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance;
    更新单元,用于根据所述第一操作和所述第一光标外观,更新所述目的应用中的所述光标。An update unit, configured to update the cursor in the target application according to the first operation and the first cursor appearance.
  10. 根据权利要求9所述的装置,其特征在于,The device according to claim 9, characterized in that:
    所述获取单元,还用于获取用户的第二操作,所述第二操作包括将所述光标在所述目的应用的界面中移动;The acquisition unit is also configured to acquire the user's second operation, where the second operation includes moving the cursor in the interface of the target application;
    所述发送单元,还用于根据所述第二操作,发送第二光标移动指令至所述云桌面服务端;The sending unit is further configured to send a second cursor movement instruction to the cloud desktop server according to the second operation;
    所述接收单元,还用于接收所述云桌面服务端发送的第二光标外观更新请求,所述第二光标外观更新请求指示使用所述第一光标外观;The receiving unit is further configured to receive a second cursor appearance update request sent by the cloud desktop server, where the second cursor appearance update request indicates using the first cursor appearance;
    所述更新单元,还用于根据所述第二操作和所述第一光标外观,更新所述目的应用中的所述光标。The update unit is also configured to update the cursor in the target application according to the second operation and the first cursor appearance.
  11. 根据权利要求9所述的装置,其特征在于,The device according to claim 9, characterized in that:
    所述获取单元,还用于获取用户的第三操作,所述第三操作包括所述光标在所述目的应用的界面中移动;The acquisition unit is also configured to acquire the user's third operation, where the third operation includes the cursor moving in the interface of the target application;
    所述发送单元,还用于根据所述第三操作,发送第二光标移动指令至所述云桌面服务端;The sending unit is further configured to send a second cursor movement instruction to the cloud desktop server according to the third operation;
    所述更新单元,还用于在指定时间内未接收到所述云桌面服务端发送的第三光标外观更新请求时,根据所述第三操作和所述第一光标外观,更新所述目的应用中的所述光标。The update unit is also configured to update the target application according to the third operation and the first cursor appearance when the third cursor appearance update request sent by the cloud desktop server is not received within a specified time. the cursor in .
  12. 根据权利要求9至11中任一所述的装置,其特征在于,所述目的应用为云桌面应用。The device according to any one of claims 9 to 11, characterized in that the target application is a cloud desktop application.
  13. 一种更新光标的装置,其特征在于,所述装置包括:A device for updating a cursor, characterized in that the device includes:
    接收单元,用于接收所述云桌面客户端发送的第一光标移动指令,所述第一光标移动指 令指示将光标移动至目的应用的界面中;A receiving unit configured to receive a first cursor movement instruction sent by the cloud desktop client, where the first cursor movement instruction instructs the cursor to be moved to the interface of the target application;
    发送单元,用于将所述第一光标移动指令发送至目标应用;A sending unit, configured to send the first cursor movement instruction to the target application;
    获取单元,用于获取更新后的所述目标应用的第一界面;An acquisition unit, configured to acquire the updated first interface of the target application;
    判断单元,用于若所述第一界面中的光标外观有变化,将变化后的第一光标外观发送至所述云桌面客户端,以使得所述云桌面客户端根据所述第一光标外观更新所述光标。A judgment unit configured to, if the cursor appearance in the first interface changes, send the changed first cursor appearance to the cloud desktop client, so that the cloud desktop client determines the cursor appearance according to the first cursor appearance. Update the cursor.
  14. 根据权利要求13所述的装置,其特征在于,所述判断单元,用于:The device according to claim 13, characterized in that the judgment unit is used to:
    比较所述光标外观和指定光标外观,确定所述第一界面中光标外观有变化。Compare the cursor appearance and the specified cursor appearance to determine that there is a change in the cursor appearance in the first interface.
  15. 根据权利要求13或14所述的装置,其特征在于,The device according to claim 13 or 14, characterized in that,
    所述接收单元,还用于接收所述云桌面客户端发送的第二光标移动指令,所述第二光标移动指令指示将所述光标在所述目的应用的界面中移动;The receiving unit is further configured to receive a second cursor movement instruction sent by the cloud desktop client, where the second cursor movement instruction instructs the cursor to be moved in the interface of the target application;
    所述发送单元,还用于将所述第二光标移动指令发送至所述目标应用;The sending unit is also configured to send the second cursor movement instruction to the target application;
    所述获取单元,还用于获取更新后的所述目标应用的第二界面;The obtaining unit is also used to obtain the updated second interface of the target application;
    所述判断单元,还用于若所述第二界面中包括所述第一光标外观,则发送光标外观更新请求至所述云桌面客户端,所述光标外观更新请求指示使用所述第一光标外观。The judgment unit is further configured to send a cursor appearance update request to the cloud desktop client if the second interface includes the first cursor appearance, and the cursor appearance update request indicates using the first cursor. Exterior.
  16. 根据权利要求13至15中任一所述的装置,其特征在于,所述目的应用为云桌面应用。The device according to any one of claims 13 to 15, characterized in that the target application is a cloud desktop application.
  17. 一种云桌面系统,其特征在于,所述云桌面系统包括云桌面客户端和云桌面服务端,其中:A cloud desktop system, characterized in that the cloud desktop system includes a cloud desktop client and a cloud desktop server, wherein:
    所述云桌面服务端,用于获取用户的第一操作,所述第一操作包括将光标移动至目的应用的界面中;根据所述第一操作,发送第一光标移动指令至所述云桌面服务端;接收所述云桌面服务端发送的第一光标外观更新请求,所述第一光标外观更新请求包括第一光标外观;根据所述第一操作和所述第一光标外观,更新所述目的应用中的所述光标;The cloud desktop server is used to obtain the user's first operation, the first operation includes moving the cursor to the interface of the target application; according to the first operation, send a first cursor movement instruction to the cloud desktop The server; receives a first cursor appearance update request sent by the cloud desktop server, where the first cursor appearance update request includes a first cursor appearance; and updates the first cursor appearance according to the first operation and the first cursor appearance. The cursor in the destination application;
    所述云桌面客户端,用于接收所述云桌面客户端发送的第一光标移动指令,所述第一光标移动指令指示将光标移动至目的应用的界面中;将所述第一光标移动指令发送至目标应用;获取更新后的所述目标应用的第一界面;若所述第一界面中的光标外观有变化,将变化后的第一光标外观发送至所述云桌面客户端,以使得所述云桌面客户端根据所述第一光标外观更新所述光标。The cloud desktop client is configured to receive a first cursor movement instruction sent by the cloud desktop client. The first cursor movement instruction instructs the cursor to be moved to the interface of the target application; and the first cursor movement instruction is Send to the target application; obtain the updated first interface of the target application; if the cursor appearance in the first interface changes, send the changed first cursor appearance to the cloud desktop client, so that The cloud desktop client updates the cursor according to the first cursor appearance.
  18. 一种云桌面客户端,其特征在于,所述云桌面客户端包括存储器和处理器,所述存储器用于存储计算机指令;所述处理器用于执行所述存储器存储的计算机指令,以使所述云桌面客户端执行上述权利要求1至4中任一项所述的方法。A cloud desktop client, characterized in that the cloud desktop client includes a memory and a processor, the memory is used to store computer instructions; the processor is used to execute the computer instructions stored in the memory, so that the The cloud desktop client executes the method described in any one of claims 1 to 4 above.
  19. 一种云桌面服务端,其特征在于,所述云桌面服务端包括存储器和处理器,所述存储器用于存储计算机指令;所述处理器用于执行所述存储器存储的计算机指令,以使所述云桌面服务端执行上述权利要求5至8中任一项所述的方法。A cloud desktop server, characterized in that the cloud desktop server includes a memory and a processor, the memory is used to store computer instructions; the processor is used to execute the computer instructions stored in the memory, so that the The cloud desktop server executes the method described in any one of the above claims 5 to 8.
  20. 一种可读存储介质,其特征在于,所述可读存储介质存储有程序代码,当所述程序代码被处理器执行时,所述处理器执行上述权利要求1至8中任一项所述的方法。A readable storage medium, characterized in that the readable storage medium stores program code. When the program code is executed by a processor, the processor executes any one of the above claims 1 to 8. Methods.
PCT/CN2022/143275 2022-03-24 2022-12-29 Method, apparatus and system for updating cursor WO2023179154A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210303656.5 2022-03-24
CN202210303656 2022-03-24
CN202210731891.2 2022-06-25
CN202210731891.2A CN116841425A (en) 2022-03-24 2022-06-25 Method, device and system for updating cursor

Publications (1)

Publication Number Publication Date
WO2023179154A1 true WO2023179154A1 (en) 2023-09-28

Family

ID=88099789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/143275 WO2023179154A1 (en) 2022-03-24 2022-12-29 Method, apparatus and system for updating cursor

Country Status (1)

Country Link
WO (1) WO2023179154A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1538524A2 (en) * 2003-12-04 2005-06-08 Microsoft Corporation Scalable display
US20120011445A1 (en) * 2010-07-08 2012-01-12 Arnon Gilboa Remote Computing With A Low Latency Mouse Mode
US20120011193A1 (en) * 2010-07-08 2012-01-12 Arnon Gilboa System And Method For Dynamically Switching Between Mouse Modes
US20120011280A1 (en) * 2010-07-08 2012-01-12 Arnon Gilboa Method And System For Transforming Cursor Graphics Information
CN107580068A (en) * 2017-09-21 2018-01-12 深信服科技股份有限公司 A kind of method of cursor synchronization, relevant device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1538524A2 (en) * 2003-12-04 2005-06-08 Microsoft Corporation Scalable display
US20120011445A1 (en) * 2010-07-08 2012-01-12 Arnon Gilboa Remote Computing With A Low Latency Mouse Mode
US20120011193A1 (en) * 2010-07-08 2012-01-12 Arnon Gilboa System And Method For Dynamically Switching Between Mouse Modes
US20120011280A1 (en) * 2010-07-08 2012-01-12 Arnon Gilboa Method And System For Transforming Cursor Graphics Information
CN107580068A (en) * 2017-09-21 2018-01-12 深信服科技股份有限公司 A kind of method of cursor synchronization, relevant device and system

Similar Documents

Publication Publication Date Title
US10990259B2 (en) Optimizing window move actions for remoted applications
CN109240677B (en) Layer processing method and device
US8676926B2 (en) System and method for handling remote drawing commands
EP2875425B1 (en) Providing access to a remote application via a web client
US9912724B2 (en) Moving objects of a remote desktop in unstable network environments
JP2018537783A (en) Run the application using pre-generated components
US20100306771A1 (en) Method and apparatus for display device configuration in a virtual machine environment
WO2014206094A1 (en) Image updating method, system and apparatus
US11659042B1 (en) System and method for controlling remote sessions executing on other devices
US11750749B1 (en) Method to use native scanning properties dialog to scan in scanner redirection
KR20140027741A (en) Application service providing system and method, server apparatus and client apparatus for application service
CN112843680A (en) Picture display method and device, terminal equipment and storage medium
WO2016008256A1 (en) Method for terminal to update operating system, terminal and system
WO2023179154A1 (en) Method, apparatus and system for updating cursor
WO2020000263A1 (en) Method and device for calling input method, and server and terminal
US10956034B2 (en) Automatic virtual input device
EP4203487A1 (en) Method and apparatus for processing multimedia resource
CN114416270B (en) Page display method, device, equipment and medium
CN114040381B (en) Encryption method, decryption device and electronic equipment
CN114510308B (en) Method, device, equipment and medium for storing application page by mobile terminal
US11281890B2 (en) Method, system, and computer-readable media for image correction via facial ratio
CN111324244B (en) Method and device for switching picture display types
CN116841425A (en) Method, device and system for updating cursor
WO2018041193A1 (en) Method, device, and computer storage medium for usb device redirection
US20140317538A1 (en) User interface response to an asynchronous manipulation

Legal Events

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

Ref document number: 22933201

Country of ref document: EP

Kind code of ref document: A1