A data distribution method, applied to a data distribution system, wherein the data distribution system comprises a splitter, a memory, and multiple threads used for processing data, and each thread corresponds to a cache queue; the memory stores a correspondence between a transport layer communications protocol and an distribution table, and stores an distribution table corresponding to each transport layer communications protocol, and each distribution table is provided with a correspondence between identification information of a data stream and a thread in the multiple threads; and the method comprises: parsing, by the splitter, a received data packet to determine a transport layer communications protocol to which the data packet belongs; acquiring (S 102), by the splitter from the data packet, identification information of a data stream to which the data packet corresponding to the determined transport layer communications protocol belongs, wherein the identification information of the data stream is used to differentiate the data stream to which the data packet belongs; acquiring, by the splitter from the memory according to the correspondence between a transport layer communications protocol and an distribution table, an distribution table corresponding to the transport layer communications protocol to which the data packet belongs; determining by the splitter according to the correspondence between identification information of a data stream and a thread in the distribution table corresponding to the transport layer communications protocol to which the data packet belongs, a thread corresponding to the data stream to which the data packet belongs; and sending, by the splitter, the data packet to a cache queue of the thread corresponding to the data stream to which the data packet belongs, so that the thread corresponding to the data stream to which the data packet belongs acquires the data packet from the cache queue. parsing, by the splitter, a received data packet to determine a transport layer communications protocol to which the data packet belongs; acquiring (S 102), by the splitter from the data packet, identification information of a data stream to which the data packet corresponding to the determined transport layer communications protocol belongs, wherein the identification information of the data stream is used to differentiate the data stream to which the data packet belongs; acquiring, by the splitter from the memory according to the correspondence between a transport layer communications protocol and an distribution table, an distribution table corresponding to the transport layer communications protocol to which the data packet belongs; determining by the splitter according to the correspondence between identification information of a data stream and a thread in the distribution table corresponding to the transport layer communications protocol to which the data packet belongs, a thread corresponding to the data stream to which the data packet belongs; and sending, by the splitter, the data packet to a cache queue of the thread corresponding to the data stream to which the data packet belongs, so that the thread corresponding to the data stream to which the data packet belongs acquires the data packet from the cache queue.