Handwriting data acquisition method and virtual desktop server

By generating simulated data packets through a virtual desktop server, the problem of transmission latency between handwriting devices and remote computing devices was solved, the data transmission frequency was optimized, the writing fluency and speed were improved, and the user experience was enhanced.

WO2026137830A1PCT designated stage Publication Date: 2026-07-02HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-07-28
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

In existing technologies, when handwriting devices are used in conjunction with remote computing devices, the transmission of handwritten data via USB and TCP/IP protocols results in slow data transmission, trajectory delays, and coordinate inconsistencies, affecting the fluency and speed of writing.

Method used

The virtual desktop server generates simulated data packets and returns them as response information to the application, reducing reliance on handwriting devices, improving the speed and accuracy of data packet acquisition, and optimizing data transmission frequency by setting a target simulation rate.

Benefits of technology

It improves the smoothness and speed of writing when using handwriting devices in conjunction with virtual desktops, reduces reliance on network channels, avoids network congestion, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025110866_02072026_PF_FP_ABST
    Figure CN2025110866_02072026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a handwriting data acquisition method and a virtual desktop server, relating to the technical field of virtual desktops. In the method, during a process in which an application program of a handwriting device acquires handwriting data, a virtual desktop server provides simulation data packets for the application program, so that the quantity of data packets acquired by the application program can be increased, and target simulation data packets do not need to be acquired from a handwriting device side, so that the speed at which the application program acquires the data packets can be increased. In this way, the smoothness and speed of the application program determining content to be displayed can be increased, thereby helping increase the smoothness and speed of presenting said content to a user. Therefore, the solution helps increase the speed at which the application program on a computing device acquires the data packets when the handwriting device is redirected to the computing device, thereby helping increase the smoothness and speed of the user writing on the handwriting device, and further helping improve experience when the user uses the handwriting function of the handwriting device in combination with a virtual desktop.
Need to check novelty before this filing date? Find Prior Art

Description

Handwritten data acquisition method and virtual desktop server

[0001] This application claims priority to Chinese patent application filed on December 27, 2024, with application number 202411986512.X and title "Method for Acquiring Handwritten Data and Virtual Desktop Server", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of virtual desktop technology, and in particular to a method for acquiring handwritten data and a virtual desktop server. Background Technology

[0003] Currently, handwriting devices can be redirected to remote computing devices for use in conjunction with them. When a handwriting device is used in conjunction with a remote computing device, the handwritten data generated by the handwriting device needs to be transmitted to the remote computing device via USB and TCP / IP protocols for its use.

[0004] However, data transmission is very slow when using two-layer protocols. This causes problems such as trajectory delay and coordinate misalignment when users perform handwriting operations on handwriting devices, which seriously affects the fluency and speed of writing. Summary of the Invention

[0005] This application provides a method for acquiring handwritten data and a virtual desktop server, which helps to improve writing fluency and writing speed.

[0006] Firstly, a method for acquiring handwritten data is provided, applied to a virtual desktop server running on a computing device. The computing device also has an application for a handwriting device deployed on it. The computing device stores a target simulation rate, which indicates the frequency at which simulated data packets are generated for acquisition requests. The method includes: the virtual desktop server acquiring a target acquisition request sent by the application, the target acquisition request requesting the acquisition of handwritten data; the handwritten data including data collected by the handwriting device when the user performs a handwriting operation; if the virtual desktop server determines, based on the target simulation rate, to generate a target simulated data packet for the target acquisition request, the target simulated data packet being generated based on the user's corresponding historical response data packets; and the virtual desktop server returning the target simulated data packet as response information to the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target simulated data packet.

[0007] In the above solution, during the process of the handwriting device's application acquiring handwriting data, the virtual desktop server provides the application with target simulated data packets. This increases the number of data packets acquired by the application, and since the target simulated data packets do not need to be obtained from the handwriting device, it improves the speed at which the application acquires data packets. This helps improve the smoothness and speed of the application in determining the content to be displayed, and consequently, the smoothness and speed of presenting the content to the user. Therefore, this solution helps improve the speed at which the computing device acquires data packets when the handwriting device is redirected to the computing device, thereby improving the smoothness and speed of the user's writing on the handwriting device, and ultimately improving the user experience when combining the handwriting function of the handwriting device with the virtual desktop. Furthermore, generating target simulated data packets based on the user's corresponding historical response data packets helps improve the accuracy of the simulated data packets in simulating the data packets corresponding to the user's next handwriting operation, thus improving the accuracy of the handwritten content provided to the user, and further enhancing the user experience.

[0008] Furthermore, by determining the frequency of providing target simulation data packets to the application based on the target simulation rate, setting an appropriate target simulation rate helps improve writing fluency and speed while ensuring the accuracy of the handwritten content determined by the application. Moreover, since the virtual desktop server provides response information (i.e., target simulation data packets) for target acquisition requests, the handwriting device no longer needs to provide its own response information. This reduces the number of data packets transmitted over the network channel, thus reducing reliance on the network channel during handwriting data acquisition. This not only improves the fluency and speed of the application in determining handwritten content, thereby enhancing the user's writing experience, but also helps avoid network congestion, improving the transmission speed of responses to other acquisition requests and ultimately accelerating the application's retrieval of those responses.

[0009] In one possible implementation, the method further includes: the virtual desktop server forwarding a target acquisition request to the virtual desktop client based on the target emulation rate; and, upon receiving a response data packet from the handwriting device, the virtual desktop server returning a response data packet to the application so that the application can determine the content to be displayed corresponding to the handwriting operation based on the response data packet, wherein the response data packet is generated by the handwriting device in response to the target acquisition request.

[0010] In this implementation, the target acquisition request is forwarded to the virtual desktop client, so that the virtual desktop client can forward the target acquisition request to the firmware program on the handwriting device. This enables the acquisition of the response information (i.e., response data packet) of the target acquisition request provided by the handwriting device, thereby allowing the application of the handwriting device to determine the handwritten content based on the actual handwriting data. This helps to improve the accuracy of the content to be displayed determined by the application of the handwriting device.

[0011] In another possible implementation, after the virtual desktop server forwards the target acquisition request to the virtual desktop client based on the target emulation rate, the method further includes: the virtual desktop server sending a collection request to the virtual desktop client, the collection request being used to request the collection of a target data packet, the target data packet being the data packet collected by the handwriting device when the user stops performing handwriting operations on the handwriting device; the target data packet being obtained by the virtual desktop client from the handwriting device in response to the collection request; the virtual desktop server receiving the target data packet and returning the target data packet as response information to the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target data packet.

[0012] In this implementation, a collection request is sent to the virtual desktop client to instruct the virtual desktop client to actively collect target data packets, thereby obtaining the data packets collected by the handwriting device when the user's handwriting operation ends. This allows the handwriting device's application to determine the end position and pressure sensitivity based on the handwriting data at the end of the handwriting operation, which helps improve the accuracy of the content to be displayed determined by the handwriting application, and thus helps improve the accuracy of the handwriting content presented to the user.

[0013] In another possible implementation, the virtual desktop server returns the target simulated data packet as a response to the target acquisition request to the application, including: the virtual desktop server returns the target simulated data packet as a response to the target acquisition request to the application after the target duration.

[0014] In this implementation, by setting the virtual desktop server to return the target simulated data packet of the target acquisition request to the handwriting device application only after the target duration, the time for the handwriting device application to send the next acquisition request can be delayed. This delays the time for the handwriting device firmware to receive the next acquisition request, thereby reducing the number of response data packets provided by the handwriting device. This reduces the number of response data packets transmitted on the network channel between the terminal device and the computing device, thus not only reducing the dependence on the network channel during the acquisition of handwriting data, but also avoiding data congestion on the network channel, increasing the data packet transmission rate of the network channel, and shortening the latency for the handwriting device application to acquire response data packets. Ultimately, this improves the fluency and speed of the handwriting content acquired by the handwriting device application.

[0015] In another possible implementation, before the virtual desktop server receives the target acquisition request sent by the application, the method further includes: the virtual desktop server receiving a setting request, the setting request being used to request the setting of the simulation frequency, the setting request being used to indicate the target identifier and the target simulation rate corresponding to the target identifier; the virtual desktop server responding to the setting request storing the target identifier and the target simulation rate corresponding to the target identifier.

[0016] In this implementation, the virtual desktop server can receive setting requests and set the simulation frequency for users with target identifiers. In this way, different users can set different simulation frequencies according to their own needs, which helps to improve the user experience.

[0017] Secondly, a virtual desktop server is provided. This device includes functional units for executing any of the methods provided in the first aspect, wherein the actions performed by each functional unit are implemented by hardware or by hardware executing corresponding software. For example, the virtual desktop server includes an acquisition module, a generation module, and a sending module. The acquisition module is used to acquire a target acquisition request sent by an application, the target acquisition request requesting the acquisition of handwritten data; the handwritten data includes data collected by the handwriting device when the user performs a handwriting operation; the generation module is used to generate a target simulated data packet for the target acquisition request, based on a target analog rate, whereby the target simulated data packet is generated according to the user's corresponding historical response data packet; the sending module is used to return the target simulated data packet as response information to the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target simulated data packet.

[0018] Thirdly, a virtual desktop system is provided, which includes a virtual desktop client and a virtual desktop server, wherein the virtual desktop server can be used to execute any of the methods provided in the first aspect above.

[0019] Fourthly, a processor is provided that can be used to execute any of the methods provided in the first aspect above.

[0020] Fifthly, a chip is provided, comprising: a processor and a power supply circuit; the power supply circuit can be used to supply power to the chip; the processor can be used to execute any of the methods provided in the first aspect above.

[0021] In a sixth aspect, a computing device is provided, comprising: a processor, a memory, and a computer program / instructions stored in the memory; the processor executes the computer program / instructions to cause the computing device to perform any of the methods provided in the first aspect above.

[0022] In a seventh aspect, a computing device cluster is provided, comprising: at least one computing device, each computing device including a processor, a memory, and computer programs / instructions stored in the memory; the processor of each computing device executes the computer programs / instructions to enable the computing device cluster to implement any of the methods provided in the first aspect above.

[0023] Eighthly, a computer program product is provided, comprising a computer program / instructions that, when executed by a computing device, implement any of the methods provided in the first aspect above.

[0024] In a ninth aspect, a computer-readable storage medium is provided, on which a computer program / instructions are stored, which, when executed by a computing device, implement any of the methods provided in the first aspect above.

[0025] The technical effects of any of the implementation methods in aspects two through nine can be seen in the technical effects of different implementation methods in aspect one above, and will not be repeated here. Attached Figure Description

[0026] Figure 1 is a hardware system architecture diagram provided in an embodiment of this application;

[0027] Figure 2 is a software system architecture diagram provided in an embodiment of this application;

[0028] Figure 3 is a flowchart of a handwritten data acquisition method provided in an embodiment of this application;

[0029] Figure 4 is a schematic diagram of displaying handwritten data according to an embodiment of this application;

[0030] Figure 5 is a schematic diagram of a virtual desktop server provided in an embodiment of this application;

[0031] Figure 6 is a schematic diagram of a computing device provided in an embodiment of this application;

[0032] Figure 7 is a schematic diagram of a computing device cluster provided in an embodiment of this application;

[0033] Figure 8 is a schematic diagram of the connection of a computing device cluster provided in an embodiment of this application. Detailed Implementation

[0034] To facilitate understanding, a brief introduction to the relevant terms used in this application will be provided first.

[0035] Universal Serial Bus (USB) protocol: is an external bus standard used to regulate communication between computing devices and external devices.

[0036] It should be noted that, in the embodiments of this application, an electronic device that communicates with a computing device via the USB protocol can be referred to as a USB device. For example, the electronic device can be a handwriting device.

[0037] Transmission Control Protocol / Internet Protocol (TCP / IP): This is the most basic communication protocol used on the Internet.

[0038] Redirection: In a virtual desktop environment, this refers to the technique of connecting electronic devices on a local terminal device to a remote computing device without unplugging and plugging the electronic devices from the local terminal device into the remote computing device. Redirection allows users to use electronic devices from their local terminal device within a virtual desktop environment.

[0039] For example, an electronic device can be a USB device. Redirecting a USB device to a remote computing device can be called USB redirection. For example, an electronic device can be a handwriting device.

[0040] Track delay: refers to the time delay between the movement of the stylus tip and the track displayed on the screen when writing or drawing on the screen of a handwriting device, resulting in the stylus tip's movement and the display being out of sync.

[0041] Coordinate not following the hand: This refers to the situation where, when writing or drawing on the display screen of a handwriting device, the position of the stylus in contact with the display screen is not synchronized with the position displayed on the screen. In other words, when the stylus tip moves on the display screen, the cursor does not move accordingly, or the movement trajectory is inaccurate.

[0042] The technical solutions provided in the embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0043] Currently, handwriting devices can be redirected to remote computing devices for use in conjunction with them. When a handwriting device is used in conjunction with a remote computing device, the handwritten data generated by the handwriting device needs to be transmitted to the remote computing device via USB and TCP / IP protocols for its use.

[0044] For example, the handwriting device generates USB data corresponding to the handwritten data according to the USB protocol, and transmits the USB data to the user's terminal device through the USB protocol. After receiving the USB data, the terminal device generates TCP / IP network data through the TCP / IP protocol, and redirects the TCP / IP network data to the remote computing device through the TCP / IP protocol.

[0045] However, when data is transmitted through two layers of protocols, the amount of data in each data packet on the network link is large, resulting in a very slow transmission speed for each data packet. This leads to a very slow transmission speed of the handwritten data generated by the handwriting device to the remote computing device. Consequently, the latency of each data exchange between the handwriting device and the remote device is particularly long, which in turn causes problems such as trajectory delay and coordinate non-coordinate when the user performs handwriting operations on the handwriting device, seriously affecting the writing speed and fluency.

[0046] In view of this, the present application provides a handwriting data acquisition method, which is applied to a virtual desktop server. When the application of the handwriting device sends a request to the user to acquire handwriting data, the virtual desktop server determines that a data packet needs to be generated for the acquisition request. In this case, the virtual desktop server generates a simulated data packet for the acquisition request and returns the simulated data packet as the response information of the acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the simulated data packet.

[0047] In this solution, during the process of the application acquiring handwriting data, the virtual desktop server provides the application with simulated data packets. This increases the number of data packets acquired by the application. Since the simulated data packets do not need to be acquired from the handwriting device, the application can acquire data packets at a faster speed. This helps improve the smoothness and speed of the application in determining the content to be displayed, and in turn, improves the smoothness and speed of presenting the content to the user. Therefore, this solution helps improve the speed at which the computing device acquires data packets when the handwriting device is redirected to the computing device, thereby improving the smoothness and speed of the user's writing on the handwriting device. This, in turn, helps improve the user experience when combining the handwriting function of the handwriting device with the virtual desktop.

[0048] It should be noted that the various implementation methods of the above-mentioned handwritten data acquisition method will be introduced in the embodiment shown in Figure 3, and will not be described in detail here.

[0049] Next, the system architecture involved in the technical solution provided by the embodiments of this application will be further described in conjunction with the accompanying drawings.

[0050] Figure 1 is a hardware system architecture diagram provided in an embodiment of this application.

[0051] As shown in Figure 1, the system in which the handwriting data acquisition method provided in this embodiment of the application is applied includes a terminal device, a computing device, and a handwriting device. The handwriting device and the terminal device can communicate with each other, and the terminal device and the remote computing device can communicate with each other.

[0052] For example, the terminal device and the handwriting device are the user's local devices, and the computing device is a remote device.

[0053] In this embodiment of the application, the terminal device is a device with a screen, which can be used to display a virtual desktop.

[0054] For example, the terminal device can be a tablet computer, handheld computer, personal computer (PC), personal digital assistant (PDA), ultra-mobile personal computer (UMPC), laptop computer, netbook, desktop computer, or all-in-one computer, etc.

[0055] It should be noted that the embodiments of this application do not limit the type of terminal device; the above is merely an illustrative example.

[0056] In this embodiment of the application, the handwriting device has a display screen, and the display screen of the handwriting device supports handwriting input.

[0057] For example, a handwriting device can be a handwriting tablet, a mobile phone, a tablet computer, etc.

[0058] It should be noted that the embodiments of this application do not limit the type of handwriting device; the following is merely an illustrative example.

[0059] In this application embodiment, the computing device can be a remote computing device, a cloud computing device, etc. Where the computing device is a remote computing device, the handwriting data acquisition method provided in this application embodiment is applied to a remote desktop scenario. Where the computing device is a cloud computing device, the handwriting data acquisition method provided in this application embodiment is applied to a cloud desktop scenario.

[0060] The following is an example of a cloud computing device.

[0061] For example, cloud computing devices can be physical machines, virtual machines, etc.

[0062] It should be noted that the embodiments in this application do not limit the type of cloud computing device; the above is merely an illustrative example. Furthermore, when the cloud computing device is a physical machine, it can also be referred to as a cloud computer.

[0063] For example, cloud computing devices can be provided through infrastructure. This infrastructure can be located in a data center in any region. The infrastructure can provide physical machines as cloud computing devices, or it can provide virtual machines running on physical machines as cloud computing devices. For example, the infrastructure may include at least one physical disk. This at least one physical disk can be used to store data such as the target analog rate, historical response data packets of handwriting operations, and the user's historical handwriting data.

[0064] It should be noted that for relevant information about remote computing devices, please refer to the descriptions of cloud computing devices mentioned above; they will not be repeated here.

[0065] Figure 2 is a software system architecture diagram provided in an embodiment of this application.

[0066] As exemplified in Figure 2, a virtual desktop client is installed on the user's terminal device, and a virtual desktop server is installed on the remote computing device. The virtual desktop client and the virtual desktop server can communicate through a network channel. Each virtual desktop client on the terminal device corresponds one-to-one with the virtual desktop server on the computing device. Users can use the virtual desktop client and virtual desktop server on their local terminal device.

[0067] In one example, the computing device is a cloud computing device, the virtual desktop can be a cloud desktop, the virtual desktop client can be a cloud desktop client, and the virtual desktop server can be a cloud desktop server.

[0068] In another example, the computing device is a remote computing device, the virtual desktop can be a remote desktop, the virtual desktop client can be a remote desktop client, and the virtual desktop server can be a remote desktop server.

[0069] The handwriting device has firmware installed. When a user performs handwriting operations on the device's display, the handwriting device can collect the user's handwriting data through the firmware. The computing device also has an application installed, which can transmit data to the firmware, for example, by sending a request to retrieve handwriting data. The firmware can also transmit data to the application, for example, by sending a response data packet to the request.

[0070] It should be noted that the application for a handwriting device can also be called the driver for the handwriting device. Furthermore, for ease of description, the application for a handwriting device will be referred to as a handwriting application below, and will not be discussed further thereafter.

[0071] It should be noted that the system architecture and application scenarios described in this application are for the purpose of more clearly illustrating the technical solutions of this application, and do not constitute a limitation on the technical solutions provided in this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new application scenarios, the technical solutions provided in this application are also applicable to similar technical problems.

[0072] For ease of understanding, the redirection method provided in this application will be described below with reference to the above system architecture and accompanying drawings.

[0073] Figure 3 is a flowchart of a handwritten data acquisition method provided in an embodiment of this application. Exemplarily, the handwritten data acquisition method includes the following steps 301-303. It should be noted that "step" in this embodiment can be abbreviated as "S", and will not be described again hereafter.

[0074] For example, the handwritten data acquisition method shown in Figure 3 will be described below with reference to the architecture shown in Figures 1 and 2.

[0075] In this embodiment of the application, before executing S301, the virtual desktop server can obtain the target emulation rate, which is used to indicate the frequency of generating data packets for the emulation requests issued by the virtual desktop server application.

[0076] The following section provides an example of how the virtual desktop server obtains the target simulation rate, using steps S1-S2.

[0077] S1: The virtual desktop server receives a configuration request, which is used to instruct on how to set the simulation frequency.

[0078] The configuration request includes a target identifier and a corresponding target simulation rate. The target simulation rate indicates the frequency at which the virtual desktop server generates simulated data packets for retrieval requests. The simulated data packets generated by the virtual desktop server are used to simulate the response data packets for retrieval requests.

[0079] Optionally, the target identifier may include any one of the following: the virtual desktop client's account, the virtual desktop client's username, or the user group identifier.

[0080] For ease of description, the account of the virtual desktop client will be referred to as the client account, and the username of the virtual desktop client will be referred to as the client username. Further details will not be provided below.

[0081] For example, a user group identifier is used to indicate a user group. In one example, a user group may include at least one client account. In another example, a user group may include at least one client username.

[0082] In this embodiment, the target identifier can be any one of the virtual desktop client account, the virtual desktop client username, or the user group identifier, which helps to increase the diversity of the units for setting the simulation rate, thereby helping to improve the user experience.

[0083] In one example, the configuration request originates from the administrator. After Company A purchases a virtual desktop service, its administrator can manage the service through a console. Based on this, the administrator can send a configuration request to the virtual desktop server via the console to request configuration of the emulation rate.

[0084] In another example, the setup request originates from the user. After purchasing cloud desktop services, Company A assigns a target identifier to an employee, enabling that employee to use the virtual desktop services as a user. Based on this, the user, after logging into the cloud desktop client, can send a setup request to the virtual desktop server to request configuration of the emulation rate.

[0085] In another example, the configuration request comes from the operations and maintenance (O&M) personnel of the virtual desktop service. The virtual desktop service is managed by these O&M personnel, who can set the emulation rate for the virtual desktop service purchased by Company A based on Company A's network performance, device performance, and other factors. Based on this, the O&M personnel can send a configuration request to the virtual desktop server through the virtual desktop management platform to request the configuration of the emulation rate for Company A.

[0086] Optionally, 0% < target simulation rate < 100%, meaning the target simulation rate is greater than 0% and less than 100%.

[0087] In one example, the target simulation rate is 1%. That is, out of 100 retrieval requests, the virtual desktop server generates a simulated data packet for only one retrieval request. This helps improve the accuracy of the written content.

[0088] In another example, the target simulation rate is 99%. That is, out of 100 data packets, the virtual desktop server generates simulated data packets for 99 retrieval requests. This helps improve writing fluency and speed.

[0089] In another example, the target simulation rate is 50%. This means that in two data packets, the virtual desktop server generates a simulated data packet for one retrieval request. This helps to ensure both fluency and speed in writing, while also maintaining the accuracy of the written content.

[0090] It should be noted that the specific value of the target simulation rate is not limited in the embodiments of this application; the above is merely an illustrative example.

[0091] S2: The virtual desktop server responds to the setup request by storing the target identifier and the target emulation rate corresponding to the target identifier.

[0092] For example, after receiving a configuration request, the virtual desktop server, in response to the configuration request, stores the target identifier indicated in the configuration request and the target emulation rate corresponding to the target identifier. For instance, the virtual desktop server can store the target identifier and the corresponding target emulation rate in the storage space provided by the computing device.

[0093] In this implementation, by setting up a virtual desktop server, the simulation rate can be configured for the target identifier based on the received configuration request. This not only enables manual configuration of the simulation rate, allowing dynamic setting of the simulation rate according to the actual scenario, but also enables different simulation rates to be configured for different target identifiers. This helps to meet the needs of different users and improves the user experience when combining virtual desktop with handwriting.

[0094] It should be noted that the embodiments of this application do not limit the method of configuring the simulation rate for the virtual desktop server; the above is merely an illustrative example.

[0095] For example, a user logs into the virtual desktop client using their client account and establishes a network connection between the virtual desktop client and the virtual desktop server, enabling data transmission between them. When a user needs to use a handwriting device, a communication connection is established between the handwriting device and the terminal device, allowing the handwriting device to be redirected to a remote computing device.

[0096] It should be noted that the embodiments of this application do not restrict the order in which the user establishes a network connection between the virtual desktop client and the virtual desktop server, or the order in which the user establishes a communication connection between the handwriting device and the terminal device; the above is merely an illustrative example.

[0097] In this application embodiment, there are multiple ways to establish a communication connection between the handwriting device and the terminal device. In one example, the handwriting device and the terminal device can establish a communication connection through wired communication technology. For example, the handwriting device and the terminal device can establish a communication connection through a data cable. In another example, the handwriting device and the terminal device can establish a communication connection through wireless communication technology. For example, the handwriting device and the terminal device can establish a communication connection by accessing the same wireless communication network (e.g., wireless local area networks (WLAN), wireless fidelity (Wi-Fi) network, etc.).

[0098] It should be noted that the embodiments of this application do not limit the method of establishing a communication connection between the handwriting device and the terminal device; the above is merely an illustrative example. The following description uses the establishment of a communication connection between the handwriting device and the terminal device via wired communication technology as an example to illustrate the embodiments of this application.

[0099] After the handwriting device establishes a communication connection with the terminal device, the handwriting application running on the remote computing device can communicate with the firmware in the handwriting device. Based on this, when the user performs a handwriting operation on the display screen of the handwriting device, a writing process is triggered, and the handwriting device collects the handwriting data, i.e., the data related to the handwriting operation. The handwriting application can obtain the handwriting data collected by the handwriting device by sending multiple acquisition requests to the firmware of the handwriting device. After obtaining the handwriting data, the handwriting application can determine the content to be displayed corresponding to the handwriting operation, thereby presenting the content entered by the user on the handwriting device to the user.

[0100] For example, multiple acquisition requests may include a target acquisition request, which can be any one of the multiple acquisition requests. The following description uses a target acquisition request as an example to illustrate the handwritten data acquisition method provided in this application embodiment.

[0101] S301: The virtual desktop server receives the target acquisition request sent by the handwriting application.

[0102] The target acquisition request is used to request the acquisition of handwritten data, which includes data collected by the handwriting device when the user performs handwriting operations.

[0103] In this embodiment of the application, after the handwriting device establishes a communication connection with the terminal device, the handwriting application can send a target acquisition request, and then the virtual desktop server can obtain the target acquisition request.

[0104] For example, handwritten data includes coordinate data and pressure-sensitive data. The coordinate data indicates the positional information of the content entered by the user on the display screen of the handwriting device. The pressure-sensitive data indicates the pressure sensed by the handwriting device when the user enters content on the display screen.

[0105] It should be noted that the embodiments of this application do not limit the content of handwritten data; the above is merely an illustrative example.

[0106] S302: If the virtual desktop server determines that a target acquisition request is generated based on the target simulation rate, the virtual desktop server generates a target simulation data packet for the target acquisition request.

[0107] In this embodiment of the application, after the virtual desktop server obtains the target acquisition request, it can obtain the previously stored target simulation rate and determine whether to generate a data packet for the target acquisition request based on the target simulation rate, that is, determine whether to simulate the response data packet of the target acquisition request.

[0108] Optionally, if the virtual desktop server determines that a target acquisition request has been generated, the target acquisition request may not be forwarded to the virtual desktop client. This prevents the handwriting device's firmware from receiving the target acquisition request forwarded by the virtual desktop client. This not only avoids the handwriting device's firmware returning data packets from the virtual desktop client to the virtual desktop server in response to the target acquisition request, thus reducing the number of data packets transmitted on the data channel between the virtual desktop client and server, but also prevents the handwriting application from receiving two response messages for the target acquisition request, which could lead to errors in the determined content to be displayed.

[0109] Optionally, after receiving the target acquisition request, the virtual desktop server determines the first simulation rate.

[0110] The first simulation rate indicates the frequency at which the virtual desktop server generates simulated data packets when generating simulated data packets for a target acquisition request. The first simulation rate satisfies the following formula:

[0111] Here, B represents the number of retrieval requests received by the virtual desktop server, and B retrieval requests include the target retrieval request. A represents the number of simulated data packets generated by the cloud desktop server, and A simulated data packets include the simulated data packets for the target retrieval request.

[0112] Example 1: If the first simulation rate equals the target simulation rate, the virtual desktop server determines to generate a modulated data packet for the target acquisition request. If the first simulation rate does not equal the target simulation rate, the virtual desktop server determines not to generate a modulated data packet for the target acquisition request.

[0113] For example, the target simulation rate is 50%. When the virtual desktop server receives the first retrieval request from the handwriting application, the first simulation rate is 100%, A is 1, and B is 1. Since the first simulation rate is greater than the target simulation rate, the virtual desktop server determines not to generate a simulated data packet for the first retrieval request. When the virtual desktop server receives the second retrieval request from the handwriting application, the first simulation rate is 50%, where B is 2 and A is 1. Therefore, the virtual desktop server determines to generate a simulated data packet for the second retrieval request.

[0114] Example 2: If the first simulation rate is less than the target simulation rate but equal to it, the virtual desktop server determines that it will generate a modal data packet for the target acquisition request. Conversely, if the first simulation rate is greater than the target simulation rate but not equal to it, the virtual desktop server determines that it will not generate a modal data packet for the target acquisition request.

[0115] For example, let's take a target simulation rate of 30%. When the virtual desktop server receives the first request, the first simulation rate is 100%, A is 1, and B is 1. Since the first simulation rate is greater than the target simulation rate, the virtual desktop server determines not to generate a simulation data packet for the first request. When the virtual desktop server receives the second request, the first simulation rate is 50%, where B is 2 and A is 1. Therefore, the virtual desktop server determines not to generate a simulation data packet for the first request. When the virtual desktop server receives the third request, the first simulation rate is 30.33%, where B is 3 and A is 1. Therefore, the virtual desktop server determines not to generate a simulation data packet for the third request. When the virtual desktop server receives the fourth request, the first simulation rate is 25%, where B is 4 and A is 1. Therefore, the virtual desktop server determines to generate a simulation data packet for the fourth request.

[0116] Example 3: If the difference between the first analog rate and the target analog rate is less than or equal to a difference threshold, the virtual desktop server determines to generate a modal data packet for the target acquisition request. Conversely, if the difference between the first analog rate and the target analog rate is greater than the difference threshold, the virtual desktop server determines not to generate a modal data packet for the target acquisition request.

[0117] For example, with a target simulation rate of 30%, the difference threshold is 5%. Referring to Example 2 above, when the virtual desktop server receives the third acquisition request, the first simulation rate is 30.33%. The difference between 30.33% and 30% is 0.33%, which is less than 5%. Therefore, the virtual desktop server determines to generate a simulated data packet for the third acquisition request.

[0118] It should be noted that the specific value of the difference threshold is not limited in the embodiments of this application; the above is merely an illustrative example. For example, the difference threshold can be dynamically set according to the actual scenario. For instance, it can be dynamically set according to the user's requirements for the accuracy of handwritten content.

[0119] It should be noted that the embodiments of this application do not limit the method of determining whether to generate a simulated data packet based on the target simulation rate; the above is merely an illustrative example.

[0120] In this embodiment of the application, after the virtual desktop server determines that a simulated data packet is generated for the target acquisition request, it estimates the coordinate data, pressure-sensitive data, etc. corresponding to the response data packet of the target acquisition request, and then generates the target simulated data packet of the target acquisition request based on the estimated coordinate data, pressure-sensitive data, etc., and then obtains the response information of the target acquisition request.

[0121] In this embodiment of the application, the target simulated data packet is generated based on the user's corresponding historical response data packet.

[0122] For example, when the virtual desktop server determines that a simulated data packet is to be generated for the target acquisition request, it generates a target simulated data packet for the target acquisition request based on the user's corresponding historical response data packets. The historical response data packets include response data packets obtained by the virtual desktop server from the handwriting device before it receives the target acquisition request; these response data packets contain response information from the handwriting device regarding the acquisition request.

[0123] For example, a user prepares to write target content on a handwriting device and begins handwriting at time 1. The virtual desktop server receives the target acquisition request at time 2 and determines that it is generating a simulated data packet for the target acquisition request. The virtual desktop server can then generate the target simulated data packet for the target acquisition request based on the response data packet corresponding to the target content obtained during the time period from time 1 to time 2.

[0124] It should be noted that the process by which the virtual desktop server obtains the response data packet corresponding to the target content will be described in subsequent embodiments and will not be detailed here. Please refer to the descriptions in S3-S4 below for details.

[0125] For example, the computing device also stores historical response data packets corresponding to the user. For instance, before the virtual desktop server receives the target request, it has already obtained A historical response data packets of handwriting operation, where A is a positive integer greater than or equal to 1, and these A historical response data packets are stored in the storage space provided by the computing device.

[0126] In one example, if the virtual desktop server determines that it needs to generate a simulated data packet for the target acquisition request, it can obtain A historical response data packets and generate a target simulated data packet for the target acquisition request based on each of the A historical response data packets.

[0127] In this example, the virtual desktop server generates a target simulated data packet for the target acquisition request based on all historical response data packets. This helps to ensure the comprehensiveness of the parameters used to generate the simulated data packet, thereby improving the accuracy of the generated simulated data packet.

[0128] In another example, if the virtual desktop server determines that a simulated data packet is generated for the target acquisition request, it can obtain a portion of the historical response data packets received in the most recent time period from A's historical response data.

[0129] For example, the most recent time period can be the time period closest to the current moment. For example, the most recent 1 second, 5 seconds, 10 seconds, etc.

[0130] It should be noted that the embodiments of this application do not limit the length of the most recent time period; the above is merely an illustrative example. Below, we will use a most recent time period of 1 second as an example to illustrate the embodiments of this application.

[0131] For example, the current time is 15:11:30:00 on January 1, 2024. Among the A historical response data, a1 historical response data packets were obtained after 15:11:29:01 on January 1, 2024. Based on this, the virtual desktop server generates a target simulated data packet for the target acquisition request according to a1 historical response data packets.

[0132] In this example, by setting the target simulated packet to be generated based on historical response packets within the most recent time period, since the content written within the most recent time period is most relevant to the latest content, it not only helps to reduce the number of parameters used to generate the target simulated packet, thereby improving the generation speed, but also helps to ensure the accuracy of the generated simulated packet.

[0133] In one example, the virtual desktop server can use artificial intelligence (AI) to generate target-simulated data packets for a target acquisition request. For instance, the AI ​​can estimate subsequent coordinate and pressure-sensitive data based on historical response data packets of handwriting operations, and then generate target-simulated data packets based on the estimated coordinate and pressure-sensitive data.

[0134] In another example, the virtual desktop server can generate a target data packet for a target acquisition request using a pre-trained neural network model. For instance, historical handwriting data can be obtained from the user's past handwriting operations to train an initial neural network model, resulting in a trained neural network model. When it is determined that a simulated data packet needs to be generated for the target acquisition request, the virtual desktop server uses this trained neural network model to generate the simulated target data packet for the target acquisition request.

[0135] It should be noted that the embodiments of this application do not limit the type of neural network model.

[0136] It should be noted that the embodiments of this application do not limit the method of generating target simulated data packets; the above is merely an illustrative example. For instance, the virtual desktop server can also randomly generate the content of the target response data packet.

[0137] S303: The virtual desktop server returns the target simulated data packet as the response information of the target acquisition request to the handwriting application, so that the handwriting application can determine the content to be displayed corresponding to the handwriting operation based on the simulated data packet.

[0138] In this embodiment, after the virtual desktop server generates a target simulation data packet for the target acquisition request, it returns the target simulation data packet as the response information to the target acquisition request to the handwriting application, so that the handwriting application can determine the content to be displayed corresponding to the handwriting operation based on the simulation data packet. After receiving the target simulation data packet, the handwriting application parses the target simulation data packet and determines the content to be displayed corresponding to the handwriting operation based on the coordinate data, pressure data, etc. indicated by the target simulation data packet. Then, the rendering engine of the computing device renders the content to be displayed to obtain the display interface, which includes the content to be displayed for the handwriting operation. Afterwards, the virtual desktop server sends the display interface obtained by the rendering engine to the virtual desktop client. After receiving and rendering the display interface, the virtual desktop client presents the display interface to the user through the cloud desktop client, for example, the display interface shown in Figure 4.

[0139] In the above embodiments, during the process of the handwriting application acquiring handwriting data, the virtual desktop server provides the handwriting application with target simulated data packets. This increases the number of data packets acquired by the application, and since the target simulated data packets do not need to be obtained from the handwriting device, it increases the speed at which the handwriting application acquires data packets. This helps improve the smoothness and speed of the handwriting application in determining the content to be displayed, and further helps improve the smoothness and speed of presenting the content to the user. Therefore, it helps improve the speed at which the computing device acquires data packets when the handwriting device is redirected to the computing device, thereby helping to improve the smoothness and speed of the user's writing on the handwriting device, and further helping to improve the user experience when using the handwriting function of the handwriting device in conjunction with the virtual desktop. In addition, by determining the frequency of providing target simulated data packets to the handwriting application based on the target simulation rate, by setting an appropriate target simulation rate, it helps to improve the smoothness and speed of writing while ensuring the accuracy of the handwritten content determined by the application.

[0140] Furthermore, since the virtual desktop server provides response information (i.e., target simulated data packets) for the target acquisition request, the handwriting device no longer needs to provide response information for the target acquisition request. This helps reduce the number of data packets transmitted over the network channel. This not only helps reduce the dependence on the network channel during the acquisition of handwriting data, thereby improving the fluency and speed of the application in determining the handwritten content and thus improving the user's writing experience, but also helps avoid network congestion, thereby improving the transmission speed of response information for other acquisition requests and thus helping the application obtain response information for other acquisition requests more quickly.

[0141] Optionally, S303 includes: after the target duration, the virtual desktop server returns the target simulated data packet as a response to the target acquisition request to the handwriting application.

[0142] For example, the virtual desktop server generates a target simulated data packet for the target acquisition request, and sends the target acquisition request simulated data packet to the application after the target duration has elapsed, thereby adding a delay of the target duration to the target simulated data packet. Since the handwriting application will only send the next acquisition request after receiving the response information of one acquisition request, the return time of the target response data from the virtual desktop server can delay the time when the handwriting application sends the next acquisition request.

[0143] Optionally, the target duration can be any value between 1 millisecond and 20 milliseconds.

[0144] In one example, the target duration is 1 millisecond. For instance, if the virtual desktop server generates the target simulated data packet at 12:11:10:32, then the virtual desktop server returns the target simulated data packet to the handwriting application at 12:11:10:33.

[0145] Since the firmware of a handwriting device can only generate a response data packet from the most recent data collected within the first time period after receiving a request, it helps to avoid the loss of a lot of handwritten data due to the long time interval between receiving the request.

[0146] It should be noted that the duration of the most recent first time period is not limited in the embodiments of this application.

[0147] In another example, the target duration is 20 milliseconds. This helps reduce the number of response packets transmitted over the network channel.

[0148] In another example, the target duration is 10 milliseconds. This not only helps prevent the firmware of the handwriting device from receiving the retrieval request at excessively long intervals, which could lead to significant loss of handwritten data, but also helps control the number of response packets transmitted over the network channel.

[0149] It should be noted that the embodiments of this application do not impose a specific value on the target duration, and the target duration can be dynamically set according to the specific scenario. For example, the target duration can be dynamically set based on network performance, the performance of the handwriting device, the performance of the computing device running the virtual desktop server, etc.

[0150] In the above embodiments, by setting the virtual desktop server to return the target simulated data packet of the target acquisition request to the handwriting application only after the target duration, the time for the handwriting application to send the next acquisition request can be delayed. This, in turn, delays the time for the handwriting device's firmware to receive the next acquisition request. Delaying the handwriting device's firmware receiving the acquisition request reduces the number of response data packets provided by the handwriting device, thereby reducing the number of response data packets transmitted on the network channel between the terminal device and the computing device. This not only reduces the dependence on the network channel during the acquisition of handwriting data but also avoids data congestion on the network channel, reduces packet loss, and increases the data packet transmission rate of the network channel. Therefore, the latency of the handwriting application in acquiring response data packets is shortened, and the speed at which the handwriting application acquires response data packets is increased, thereby improving the fluency and speed of the handwriting application in determining the handwritten content.

[0151] Optionally, the handwritten data acquisition method may also include the following S3-S4.

[0152] S3: The virtual desktop server forwards the target acquisition request to the virtual desktop client.

[0153] In this embodiment, if the virtual desktop server determines that it will not generate a data packet for the target acquisition request, it forwards the target acquisition request to the cloud desktop client. Upon receiving the target acquisition request, the virtual desktop client forwards the request to the firmware of the handwriting device, causing the firmware to generate a response data packet for the target acquisition request.

[0154] It should be noted that other related explanations for S3 can be found in the explanation of S302 above, and will not be repeated here.

[0155] S4: When the virtual desktop server receives a response data packet from the handwriting device, the virtual desktop server returns a response data packet to the handwriting application so that the handwriting application can determine the content to be displayed corresponding to the handwriting operation based on the response data packet.

[0156] The response data packet is generated by the handwriting device in response to the target acquisition request.

[0157] In this embodiment, after receiving a target acquisition request, the firmware program on the handwriting device generates a response data packet for the target acquisition request. Then, the firmware program sends the response data packet to the virtual desktop client. Upon receiving the response data packet, the virtual desktop client forwards it to the virtual desktop server. Upon receiving the response data packet, the virtual desktop server sends it to the handwriting application, enabling the application to determine the content to be displayed corresponding to the handwriting operation based on the response data packet. Upon receiving the response data packet, the application parses it and determines the content to be displayed corresponding to the handwriting operation based on the coordinate data, pressure data, etc., indicated in the response data packet.

[0158] In the above embodiments, when it is determined that no simulated data packet is generated for the target acquisition request, the target acquisition request is forwarded to the virtual desktop client. This allows the virtual desktop client to forward the target acquisition request to the firmware program on the handwriting device, thereby obtaining the response information (i.e., response data packet) of the target acquisition request provided by the handwriting device. This enables the handwriting application to determine the handwritten content based on the real handwriting data, which helps to improve the accuracy of the content to be displayed determined by the handwriting application.

[0159] Optionally, the handwritten data acquisition method may also include the following S5-S6.

[0160] S5: The virtual desktop server sends a collection request to the cloud desktop client. The collection request is used to request the collection of target data packets.

[0161] The target data packet is the data packet collected by the handwriting device when the user stops performing handwriting operations.

[0162] For example, the firmware of the handwriting device does not respond to the acquisition request when the user finishes handwriting. Therefore, if the user stops handwriting before the firmware receives the target acquisition request, the firmware does not respond to the target acquisition request; that is, it does not return a response data packet for the target acquisition request to the handwriting application. Based on this, after the virtual desktop server sends the target acquisition request to the virtual desktop client, if it does not receive a response data packet from the handwriting device, the virtual desktop server sends a collection request to the virtual desktop client, instructing the virtual desktop client to collect the target data packet from the handwriting device.

[0163] For example, the handwriting application sequentially sends a first retrieval request, a second retrieval request, and a target retrieval request. The virtual desktop server forwards the first retrieval request to the virtual desktop client, generates a simulated data packet for the second retrieval request, and also forwards the target retrieval request to the virtual client. If the user stops handwriting after the firmware of the handwriting device sends the response data packet for the first retrieval request but before receiving the target retrieval request, the firmware of the handwriting device will not respond to the target retrieval request.

[0164] It should be noted that this application does not restrict the method by which the virtual desktop client collects target data packets.

[0165] Optionally, S5 includes: after a first duration, the virtual desktop server sends a collection request to the virtual desktop client.

[0166] The target data packet is obtained from the handwriting device by the virtual desktop client in response to the collection request.

[0167] For example, the first duration can be any value between 1 millisecond and 100 milliseconds.

[0168] In one example, the initial duration is 1 millisecond. This means that after the virtual desktop server sends a target acquisition request, if it does not receive a response data packet within 1 millisecond (the initial duration), it sends a data acquisition request to the virtual desktop client. This helps improve the rate at which the target data packet is acquired.

[0169] In another example, the initial duration is 100 milliseconds. This helps ensure the necessity of the data collection request and prevents the virtual desktop server from issuing a data collection request before the handwriting device's firmware has sent a response data packet.

[0170] In another example, the first duration is 50 milliseconds. This helps to balance the necessity of the data acquisition request with the rate at which the target data packets are obtained.

[0171] It should be noted that the specific value of the first duration is not limited in the embodiments of this application, and the first duration can be dynamically set according to specific scenarios. For example, the first duration can be dynamically set according to network performance, the performance of the handwriting device, the performance of the computing device running the virtual desktop server, etc.

[0172] In this embodiment, by setting a first duration, a collection request is sent to the virtual desktop client. By setting an appropriate first duration, it is not only helpful to obtain the target data packet in a timely manner and avoid affecting the handwriting application in generating and determining the position where the handwriting operation ends, but also to ensure the necessity of the collection request and prevent the virtual desktop server from issuing a collection request when the firmware program of the handwriting device has sent a response data packet but it has not reached the virtual desktop server.

[0173] S6: The virtual desktop server receives the target data packet and returns it to the application as a response to the target acquisition request, so that the handwriting application can determine the content to be displayed corresponding to the handwriting operation based on the target data packet.

[0174] For example, after receiving a data acquisition request, the virtual desktop client obtains the last data packet acquired by the handwriting device at the end of the handwriting operation, thus obtaining the target data packet. This last data packet can be a data packet generated from multiple last acquired data packets. The virtual desktop client then sends the target data packet to the virtual desktop server. Upon receiving the target data packet, the virtual desktop server returns it as a response to the target acquisition request to the handwriting application, enabling the handwriting application to determine the content to be displayed corresponding to the handwriting operation based on the target data packet. After obtaining the target data packet, the handwriting application parses it and determines the final content corresponding to the handwriting operation based on the final coordinates, pressure response, etc., indicated by the target data packet.

[0175] In the above embodiments, by setting a collection request to be sent to the virtual desktop client, the virtual desktop client is instructed to actively collect target data packets, thereby obtaining the data collected by the handwriting device when the user's handwriting operation ends. This allows the handwriting application to determine the end position and pressure sensitivity based on the handwriting data at the end of the handwriting operation, which helps to improve the accuracy of the content to be displayed determined by the handwriting application, and thus helps to improve the accuracy of the handwriting content presented to the user.

[0176] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the virtual desktop server includes the corresponding hardware structure and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0177] This application embodiment can, according to the above method, exemplarily divide the virtual desktop server into functional modules. For example, the virtual desktop server may include various functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0178] For example, Figure 5 shows a possible schematic diagram of the virtual desktop server (i.e., virtual desktop server 500) involved in the above embodiments. The actions performed by the virtual desktop server 500 can be implemented by a computing device or by executing corresponding software through a computing device. The virtual desktop server 500 may include: an acquisition module 501, a generation module 502, and a sending module 503; the acquisition module 501 is used to acquire a target acquisition request sent by an application, the target acquisition request being used to request the acquisition of handwritten data; the handwritten data includes data collected by the handwriting device when the user performs a handwriting operation. For example, S301 in Figure 3. The generation module 502 is used to generate a target simulation data packet for the target acquisition request when the target simulation rate determines that a data packet is to be generated for the target acquisition request, the target simulation data packet being generated based on the user's corresponding historical response data packet. For example, S302 in Figure 3. The sending module 503 is used to return the target simulation data packet as response information for the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target simulation data packet. For example, S303 in Figure 3.

[0179] Optionally, the sending module 503 is further configured to: forward the target acquisition request to the virtual desktop client according to the target analog rate; and, upon receiving a response data packet from the handwriting device, return a response data packet to the application so that the application can determine the content to be displayed corresponding to the handwriting operation based on the response data packet, wherein the response data packet is generated by the handwriting device in response to the target acquisition request.

[0180] Optionally, after forwarding the target acquisition request to the virtual desktop client according to the target analog rate, the sending module 503 is further configured to: send a collection request to the virtual desktop client, the collection request being used to request the collection of a target data packet, the target data packet being the data packet collected by the handwriting device when the user stops performing handwriting operations on the handwriting device; the target data packet being obtained by the virtual desktop client from the handwriting device in response to the collection request; receiving the target data packet and returning the target data packet as the response information of the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target data packet.

[0181] Optionally, the sending module 503 is specifically used to: after the target duration, return the target simulated data packet as a response to the target acquisition request to the application.

[0182] Optionally, the virtual desktop server also includes a setting module 504. Before receiving the target acquisition request sent by the application, the setting module 504 is used to: receive the setting request, the setting request being used to request the setting of the simulation frequency, the setting request being used to indicate the target identifier and the target simulation rate corresponding to the target identifier; and in response to the setting request, store the target identifier and the target simulation rate corresponding to the target identifier.

[0183] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the virtual desktop server 500 provided above, as well as the description of its beneficial effects, can be found in the corresponding method embodiments described above, and will not be repeated here.

[0184] In this application, the acquisition module 501, generation module 502, sending module 503, and setting module 504 can all be implemented in software or in hardware. For example, the implementation of the acquisition module 501 will be described below. Similarly, the implementation of the acquisition module 501, generation module 502, sending module 503, and setting module 504 can refer to the implementation of the acquisition module 501.

[0185] As an example of a software functional unit, module 501 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, module 501 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0186] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0187] As an example of a hardware functional unit, the acquisition module 501 may include at least one computing device, such as a server. Alternatively, the acquisition module 501 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0188] The multiple computing devices included in the acquisition module 501 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the acquisition module 501 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the acquisition module 501 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0189] It should be noted that, in other embodiments, the acquisition module 501 can be used to execute any step in the handwritten data acquisition method, the generation module 502 can be used to execute any step in the handwritten data acquisition method, the sending module 503 can be used to execute any step in the handwritten data acquisition method, and the setting module 504 can be used to execute any step in the handwritten data acquisition method. The steps implemented by the acquisition module 501, generation module 502, sending module 503, and setting module 504 can be specified as needed. By implementing different steps in the handwritten data acquisition method through the acquisition module 501, generation module 502, sending module 503, and setting module 504, all functions of the data storage device can be realized.

[0190] This application also provides a computing device 600. As shown in FIG6, the computing device 600 includes: a bus 602, a processor 604, a memory 606, and a communication interface 608. The processor 604, the memory 606, and the communication interface 608 communicate with each other via the bus 602. The computing device 600 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 600.

[0191] Bus 602 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 6, but this does not imply that there is only one bus or one type of bus. Bus 602 can include pathways for transmitting information between various components of computing device 600 (e.g., memory 606, processor 604, communication interface 608).

[0192] Processor 604 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0193] Memory 606 may include volatile memory, such as random access memory (RAM). Processor 604 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0194] The memory 606 stores executable program code, which the processor 604 executes to implement the functions of the aforementioned acquisition module 501, generation module 502, transmission module 503, and setting module 504, thereby realizing the handwritten data acquisition method. In other words, the memory 606 stores instructions for executing the handwritten data acquisition method.

[0195] The communication interface 608 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 600 and other devices or communication networks.

[0196] For example, the computing device 600 described above may be the computing device shown in FIG1.

[0197] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0198] As shown in Figure 7, the computing device cluster 700 includes at least one computing device 600. The memory 606 of one or more computing devices 600 in the computing device cluster 700 may store the same instructions for executing the handwritten data acquisition method.

[0199] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also store partial instructions for executing the handwritten data acquisition method. In other words, a combination of one or more computing devices 600 can jointly execute the instructions for executing the handwritten data acquisition method.

[0200] It should be noted that the memory 606 in different computing devices 600 within the computing device cluster can store different instructions, each used to execute a portion of the virtual desktop server's functions. That is, the instructions stored in the memory 606 of different computing devices 600 can implement the functions of one or more modules among the acquisition module 501, generation module 502, sending module 503, and setting module 504.

[0201] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 8 illustrates one possible implementation. As shown in Figure 8, two computing devices 600A and 600B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device.

[0202] In this type of possible implementation, the memory 606 in computing device 600A stores instructions for executing the functions of the acquisition module 501, the transmission module 503, and the setting module 504. Meanwhile, the memory 606 in computing device 600B stores instructions for executing the functions of the generation module 502.

[0203] The connection method between the computing device clusters shown in Figure 8 can be considered as follows: taking into account that the handwritten data acquisition method provided in this application requires a large amount of computation, the function of the generation module 502 is to be performed by the computing device 600B.

[0204] It should be understood that the functions of computing device 600A shown in Figure 8 can also be performed by multiple computing devices 600. Similarly, the functions of computing device 600B can also be performed by multiple computing devices 600.

[0205] This application embodiment also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection method of the computing device cluster shown in Figures 7 and 8. The difference is that the memory 606 in one or more computing devices 600 in this computing device cluster can store the same instructions for executing the handwritten data acquisition method.

[0206] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also store partial instructions for executing the handwritten data acquisition method. In other words, a combination of one or more computing devices 600 can jointly execute the instructions for executing the handwritten data acquisition method.

[0207] This application also provides a processor that can be used to perform the above-described methods.

[0208] This application also provides a chip, including: a processor and a power supply circuit; the power supply circuit can be used to supply power to the processor; the processor can be used to perform the above-described methods.

[0209] This application also provides a computing device, which may include a processor, a memory, and a computer program / instructions stored in the memory; the processor executes the computer program / instructions to enable the computing device to implement the above-described method.

[0210] This application also provides a computing device cluster, which includes at least one computing device; each computing device includes a processor, a memory, and computer programs / instructions stored in the memory, wherein the processor of each computing device executes the computer programs / instructions stored in the memory of each computing device to enable each computing device to implement the above-described method.

[0211] This application also provides a computer program product. The computer program product includes a computer program / instructions, which are software or program products capable of running on a computing device or stored on any usable medium. When the computer program / instructions are executed on at least one computing device, the at least one computing device can perform the methods described above.

[0212] This application also provides a computer-readable storage medium, which can be any available medium capable of being stored by a computing device or a data storage device such as a data center containing one or more available media. The computer-readable storage medium stores a computer program / instructions that, when executed on at least one computing device, enable the at least one computing device to perform the described method.

[0213] For example, the available media may be magnetic media (e.g., floppy disks, magnetic disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state drives (SSDs)).

[0214] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for acquiring handwritten data, characterized in that, An application for a virtual desktop server, the virtual desktop server running on a computing device, the computing device also having an application for a handwriting device deployed on it, the computing device storing a target emulation rate, the target emulation rate being used to indicate the frequency at which emulation data packets are generated for a request to acquire data, the method comprising: The virtual desktop server obtains the target acquisition request sent by the application. The target acquisition request is used to request the acquisition of handwriting data, which includes the data collected by the handwriting device when the user performs a handwriting operation on the handwriting device. When the virtual desktop server determines that a data packet is to be generated for the target acquisition request based on the target simulation rate, the virtual desktop server generates a target simulation data packet for the target acquisition request, and the target simulation data packet is generated based on the historical response data packet corresponding to the user. The virtual desktop server returns the target simulation data packet as a response to the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target simulation data packet.

2. The method according to claim 1, characterized in that, The method further includes: The virtual desktop server forwards the target acquisition request to the virtual desktop client based on the target simulation rate; When the virtual desktop server receives a response data packet from the handwriting device, the virtual desktop server returns the response data packet to the application so that the application can determine the content to be displayed corresponding to the handwriting operation based on the response data packet. The response data packet is generated by the handwriting device in response to the target acquisition request.

3. The method according to claim 2, characterized in that, After the virtual desktop server forwards the target acquisition request to the virtual desktop client based on the target emulation rate, the method further includes: The virtual desktop server sends a collection request to the virtual desktop client. The collection request is used to request the collection of a target data packet. The target data packet is the data packet collected by the handwriting device when the user stops performing handwriting operations on the handwriting device. The target data packet is obtained by the virtual desktop client from the handwriting device in response to the collection request. The virtual desktop server receives the target data packet and returns the target data packet as a response to the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target data packet.

4. The method according to any one of claims 1-3, characterized in that, The virtual desktop server returns the target simulated data packet to the application as response information to the target acquisition request, including: After the target duration, the virtual desktop server returns the target simulated data packet as a response to the target acquisition request to the application.

5. The method according to any one of claims 1-4, characterized in that, Before the virtual desktop server receives the target acquisition request sent by the application, the method further includes: The virtual desktop server receives a setting request, which is used to request the setting of the simulation frequency. The setting request is used to indicate the target identifier and the target simulation rate corresponding to the target identifier. In response to the setting request, the virtual desktop server stores the target identifier and the target simulation rate corresponding to the target identifier.

6. A virtual desktop server, characterized in that, The virtual desktop server is deployed on a computing device, which also hosts an application for a handwriting device. The computing device stores a target emulation rate, which indicates the frequency at which emulation data packets are generated for a request. The virtual desktop server includes: The acquisition module is used to acquire a target acquisition request sent by the application, the target acquisition request being used to request the acquisition of handwritten data; the handwritten data includes data collected by the handwriting device when the user performs a handwriting operation on the handwriting device; The generation module is used to generate a target simulation data packet for the target acquisition request when the target simulation rate determines that a data packet is to be generated for the target acquisition request. The target simulation data packet is generated based on the historical response data packet corresponding to the user. The sending module is used to return the target simulated data packet as a response to the target acquisition request to the application, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target simulated data packet.

7. The virtual desktop server according to claim 6, characterized in that, The sending module is also used for: Based on the target simulation rate, the target acquisition request is forwarded to the virtual desktop client; Upon receiving a response data packet from the handwriting device, the response data packet is returned to the application so that the application can determine the content to be displayed corresponding to the handwriting operation based on the response data packet. The response data packet is generated by the handwriting device in response to the target acquisition request.

8. The virtual desktop server according to claim 7, characterized in that, After forwarding the target acquisition request to the virtual desktop client based on the target simulation rate, the sending module is further configured to: Send a collection request to the virtual desktop client. The collection request is used to request the collection of a target data packet. The target data packet is the data packet collected by the handwriting device when the user stops performing handwriting operations on the handwriting device. The target data packet is obtained by the virtual desktop client from the handwriting device in response to the collection request; The system receives the target data packet and returns it to the application as a response to the target acquisition request, so that the application can determine the content to be displayed corresponding to the handwriting operation based on the target data packet.

9. The virtual desktop server according to any one of claims 6-8, characterized in that, The sending module is specifically used for: After the target duration, the target simulated data packet is returned to the application as a response to the target acquisition request.

10. The virtual desktop server according to any one of claims 6-9, characterized in that, The virtual desktop server also includes a settings module, which, before obtaining the target acquisition request sent by the application, is used to: Receive a setting request, the setting request being used to request the setting of the analog frequency, the setting request being used to indicate a target identifier and the target analog rate corresponding to the target identifier; In response to the setting request, the target identifier and the target simulation rate corresponding to the target identifier are stored.

11. A computing device cluster, characterized in that, The computing device cluster includes at least one computing device; Each of the at least one computing device includes a processor, a memory, and a computer program / instructions stored in the memory; The processor of each computing device executes computer programs / instructions stored in the memory of each computing device to enable each computing device to implement the method as described in any one of claims 1-5.

12. A computer program product, characterized in that, The computer program product includes a computer program / instruction, which, when executed by a computing device, implements the method as described in any one of claims 1-5.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program / instruction, which, when executed by a computing device, implements the method as described in any one of claims 1-5.