A multicast service processing method, wherein the method comprises: receiving, by an access device, an on-demand request sent by a program terminal; separately sending, by the access device, the on-demand request to a multicast source device through a first uplink port of the access device and a second uplink port of the access device, so that the multicast source device sends a first multicast packet and a second multicast packet based on the on-demand request; receiving, by the access device, the first multicast packet through the first uplink port of the access device, and receiving the second multicast packet through the second uplink port of the access device; obtaining, by the access device, a multicast data stream based on attribute information of the first multicast packet and attribute information of the second multicast packet; and sending, by the access device, the obtained multicast data stream to the program terminal; wherein the attribute information is sequence information comprising a sequence number; and the obtaining, by the access device, a multicast data stream based on attribute information of the first multicast packet and attribute information of the second multicast packet comprises: obtaining, by the access device, the multicast data stream based on sequence information of the first multicast packet and sequence information of the second multicast packet; when the first multicast packet has a sequence number less than a sequence number that exists in an output queue, deleting the first multicast packet; when the first multicast packet has a sequence number equal to a sequence number that exists in the output queue, deleting the first multicast packet; when the second multicast packet has a sequence number less than a sequence number that exists in the output queue, deleting the second multicast packet; and when the second multicast packet has a sequence number equal to a sequence number that exists in the output queue, deleting the second multicast packet. receiving, by an access device, an on-demand request sent by a program terminal; separately sending, by the access device, the on-demand request to a multicast source device through a first uplink port of the access device and a second uplink port of the access device, so that the multicast source device sends a first multicast packet and a second multicast packet based on the on-demand request; receiving, by the access device, the first multicast packet through the first uplink port of the access device, and receiving the second multicast packet through the second uplink port of the access device; obtaining, by the access device, a multicast data stream based on attribute information of the first multicast packet and attribute information of the second multicast packet; and sending, by the access device, the obtained multicast data stream to the program terminal; wherein the attribute information is sequence information comprising a sequence number; and the obtaining, by the access device, a multicast data stream based on attribute information of the first multicast packet and attribute information of the second multicast packet comprises: obtaining, by the access device, the multicast data stream based on sequence information of the first multicast packet and sequence information of the second multicast packet; when the first multicast packet has a sequence number less than a sequence number that exists in an output queue, deleting the first multicast packet; when the first multicast packet has a sequence number equal to a sequence number that exists in the output queue, deleting the first multicast packet; when the second multicast packet has a sequence number less than a sequence number that exists in the output queue, deleting the second multicast packet; and when the second multicast packet has a sequence number equal to a sequence number that exists in the output queue, deleting the second multicast packet. obtaining, by the access device, the multicast data stream based on sequence information of the first multicast packet and sequence information of the second multicast packet; when the first multicast packet has a sequence number less than a sequence number that exists in an output queue, deleting the first multicast packet; when the first multicast packet has a sequence number equal to a sequence number that exists in the output queue, deleting the first multicast packet; when the second multicast packet has a sequence number less than a sequence number that exists in the output queue, deleting the second multicast packet; and when the second multicast packet has a sequence number equal to a sequence number that exists in the output queue, deleting the second multicast packet.