A data processing method, wherein the method is applied to a server, a virtual machine is run on the server, the server communicates with a terminal through a network, wherein the virtual machine comprises a universal serial bus, USB, application program, a server-side USB device driver, a server-side USB bus driver, and a USB serving end, and the terminal comprises a USB client, a client-side USB device driver, a client-side USB bus driver, a USB port configured to be connected to a USB device, wherein the server-side USB bus driver and the client-side USB device driver are virtual, the method comprising: generating (S818), by the server-side USB device driver, a plurality of server-side data request packets; receiving (S820), by the USB serving end, an image frame sent by the terminal; segmenting, by the USB serving end, the image frame into a plurality of subframes; and generating, by the USB serving end, response message for each server-side data request packet, wherein each piece of response message comprises one of the plurality of subframes; and obtaining (S822), by the server-side USB device driver, the subframe in each piece of response message to splice the plurality of subframes into the image frame; wherein the method further comprises: sending (S801), by the USB application program, a start instruction for the USB device to the terminal; receiving (S802), by the virtual machine, response message sent by the terminal in response to the start instruction; and when the response message indicates that the USB device is started, sending (S803), by the USB application program, a generation instruction to the terminal, wherein the generation instruction is configured to instruct the terminal to generate a plurality of client-side data request packets. generating (S818), by the server-side USB device driver, a plurality of server-side data request packets; receiving (S820), by the USB serving end, an image frame sent by the terminal; segmenting, by the USB serving end, the image frame into a plurality of subframes; and generating, by the USB serving end, response message for each server-side data request packet, wherein each piece of response message comprises one of the plurality of subframes; and obtaining (S822), by the server-side USB device driver, the subframe in each piece of response message to splice the plurality of subframes into the image frame; wherein the method further comprises: sending (S801), by the USB application program, a start instruction for the USB device to the terminal; receiving (S802), by the virtual machine, response message sent by the terminal in response to the start instruction; and when the response message indicates that the USB device is started, sending (S803), by the USB application program, a generation instruction to the terminal, wherein the generation instruction is configured to instruct the terminal to generate a plurality of client-side data request packets. sending (S801), by the USB application program, a start instruction for the USB device to the terminal; receiving (S802), by the virtual machine, response message sent by the terminal in response to the start instruction; and when the response message indicates that the USB device is started, sending (S803), by the USB application program, a generation instruction to the terminal, wherein the generation instruction is configured to instruct the terminal to generate a plurality of client-side data request packets. <EOS>