A direct memory access transmission control method, wherein the method is applied to a direct memory access, DMA transmission control apparatus, so as to control data transmission on a DMA channel, and data transmitted on the DMA channel comprises data transmitted between an external device and a memory; and the method comprises: receiving a DMA transmission request, wherein the DMA transmission request carries a target DMA task; querying a priority of the target DMA task, and selecting, from a DMA channel according to the priority of the target DMA task, a DMA channel corresponding to the priority of the target DMA task as a target channel; determining whether a channel that has been occupied by another DMA task exists in the DMA channel; characterised in that when a channel that has been occupied by another DMA task exists in the DMA channel, querying a task type of a DMA task that has occupied a channel and a task type of the target DMA task; determining whether a DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the channel; when a DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the channel, querying a priority of the DMA task whose task type is different from that of the target DMA task; determining whether a DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task; and when a DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task, suspending data transmission of the DMA task whose priority is lower than that of the target DMA task, obtaining target data of the target DMA task, inputting the target data by using an input queue of the target channel, and outputting the target data by using an output queue of an occupied channel corresponding to the DMA task whose priority is lower than that of the target DMA task; wherein a task type may be classified into a bandwidth type task and a latency type task, wherein the bandwidth type task emphasizes on an amount of data processed per unit time, and the latency type task emphasizes on a processing time spent per unit task. receiving a DMA transmission request, wherein the DMA transmission request carries a target DMA task; querying a priority of the target DMA task, and selecting, from a DMA channel according to the priority of the target DMA task, a DMA channel corresponding to the priority of the target DMA task as a target channel; determining whether a channel that has been occupied by another DMA task exists in the DMA channel; characterised in that when a channel that has been occupied by another DMA task exists in the DMA channel, querying a task type of a DMA task that has occupied a channel and a task type of the target DMA task; determining whether a DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the channel; when a DMA task whose task type is different from that of the target DMA task exists in the DMA task that has occupied the channel, querying a priority of the DMA task whose task type is different from that of the target DMA task; determining whether a DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task; and when a DMA task whose priority is lower than that of the target DMA task exists in the DMA task whose task type is different from that of the target DMA task, suspending data transmission of the DMA task whose priority is lower than that of the target DMA task, obtaining target data of the target DMA task, inputting the target data by using an input queue of the target channel, and outputting the target data by using an output queue of an occupied channel corresponding to the DMA task whose priority is lower than that of the target DMA task; wherein a task type may be classified into a bandwidth type task and a latency type task, wherein the bandwidth type task emphasizes on an amount of data processed per unit time, and the latency type task emphasizes on a processing time spent per unit task.