A method for upgrading software, which is applicable to a front-end device connectable to a back-end device through a coaxial cable, wherein complete data for software upgrade are divided into a plurality of data packets, the plurality of data packets are pre-divided into a plurality of groups and each group has a group number determined based on a preset grouping rule, the method_comprising: receiving an instruction for software upgrade, which has been inserted into a horizontal blanking region of a video signal transmitted by the front-end device to the back-end device, from the back-end device through the coaxial cable; before receiving data packets in one group through the coaxial cable, receiving a group number of this group in a packet sent by the back-end device through the coaxial cable, wherein the packet has a protocol header indicating that there is the group number in the packet, determining whether the received group number satisfies a second given condition based on the preset grouping rule, wherein the second given condition indicates that the received group number arrives in sequence based on the preset grouping rule; if the received group number satisfies the second given condition, receiving data packets in the group inserted into the horizontal blanking region of the video signal, from the back-end device through the coaxial cable, wherein each of the data packets in the group has a data packet number, which has been determined based on a preset numbering rule; after receiving each of the data packets, determining based on the packet number in the received data packet whether the packet has arrived in sequence based on the preset numbering rule, and extracting the data for software upgrade in the received packet if it has; when the data packets of each group have been received, upgrading software in the front-end device based on the data for software upgrade extracted from the received data packets of all the groups. receiving an instruction for software upgrade, which has been inserted into a horizontal blanking region of a video signal transmitted by the front-end device to the back-end device, from the back-end device through the coaxial cable; before receiving data packets in one group through the coaxial cable, receiving a group number of this group in a packet sent by the back-end device through the coaxial cable, wherein the packet has a protocol header indicating that there is the group number in the packet, determining whether the received group number satisfies a second given condition based on the preset grouping rule, wherein the second given condition indicates that the received group number arrives in sequence based on the preset grouping rule; if the received group number satisfies the second given condition, receiving data packets in the group inserted into the horizontal blanking region of the video signal, from the back-end device through the coaxial cable, wherein each of the data packets in the group has a data packet number, which has been determined based on a preset numbering rule; after receiving each of the data packets, determining based on the packet number in the received data packet whether the packet has arrived in sequence based on the preset numbering rule, and extracting the data for software upgrade in the received packet if it has; when the data packets of each group have been received, upgrading software in the front-end device based on the data for software upgrade extracted from the received data packets of all the groups.