A data transmission method, applied to a daemon process on a host machine, wherein a virtual machine is deployed on a host machine, a hardware accelerator and at least one virtual accelerator configured for the virtual machine are also deployed on the host machine, and the method comprises: obtaining (504, 603, 704) information required for performing an acceleration operation in a virtual input/output ring of a target virtual accelerator, wherein the information required for performing the acceleration operation uses a predefined data structure, and the data structure occupies one entry of the virtual input/output ring of the target virtual accelerator, comprising: receiving an information obtaining notification sent by a virtual machine, wherein the information obtaining notification carries an identifier of the target virtual accelerator; and obtaining, according to the identifier of the target virtual accelerator, the information required for performing the acceleration operation from the virtual input/output ring of the target virtual accelerator; determining, according to the information required for performing the acceleration operation, information that can be recognized by the hardware accelerator; and sending the information that can be recognized by the hardware accelerator to the hardware accelerator, wherein the hardware accelerator is configured to obtain to-be-accelerated data according to the information that can be recognized by the hardware accelerator and perform the acceleration operation on the to-be-accelerated data; after the to-be-accelerated data undergoes acceleration processing, adding an identifier of the entry to the data structure used in the virtual input/output ring of the target virtual accelerator according to the identifier of the target virtual accelerator in a binding relationship between the between the target virtual accelerator and a target virtual function; and sending an interrupt request carrying the identifier of the target virtual accelerator to the virtual machine corresponding to the target virtual accelerator, to trigger the virtual machine to query the identifier of the entry in the data structure used in the virtual input/output ring of the target virtual accelerator according to the identifier of the target virtual accelerator and obtain an acceleration result generated after the to-be-accelerated data undergoes the acceleration processing; wherein the information required for performing the acceleration operation further comprises a length of the to-be-accelerated data, and a virtual machine physical address for storing the acceleration result; and wherein the to-be-accelerated data and the acceleration result generated after the to-be-accelerated data undergoes acceleration processing are stored in a memory of the virtual machine corresponding to the virtual machine physical address for storing the acceleration result. receiving an information obtaining notification sent by a virtual machine, wherein the information obtaining notification carries an identifier of the target virtual accelerator; and obtaining, according to the identifier of the target virtual accelerator, the information required for performing the acceleration operation from the virtual input/output ring of the target virtual accelerator; determining, according to the information required for performing the acceleration operation, information that can be recognized by the hardware accelerator; and sending the information that can be recognized by the hardware accelerator to the hardware accelerator, wherein the hardware accelerator is configured to obtain to-be-accelerated data according to the information that can be recognized by the hardware accelerator and perform the acceleration operation on the to-be-accelerated data; after the to-be-accelerated data undergoes acceleration processing, adding an identifier of the entry to the data structure used in the virtual input/output ring of the target virtual accelerator according to the identifier of the target virtual accelerator in a binding relationship between the between the target virtual accelerator and a target virtual function; and sending an interrupt request carrying the identifier of the target virtual accelerator to the virtual machine corresponding to the target virtual accelerator, to trigger the virtual machine to query the identifier of the entry in the data structure used in the virtual input/output ring of the target virtual accelerator according to the identifier of the target virtual accelerator and obtain an acceleration result generated after the to-be-accelerated data undergoes the acceleration processing; wherein the information required for performing the acceleration operation further comprises a length of the to-be-accelerated data, and a virtual machine physical address for storing the acceleration result; and wherein the to-be-accelerated data and the acceleration result generated after the to-be-accelerated data undergoes acceleration processing are stored in a memory of the virtual machine corresponding to the virtual machine physical address for storing the acceleration result.