CN111629280A - Packet loss processing method and device and readable storage medium - Google Patents

Packet loss processing method and device and readable storage medium Download PDF

Info

Publication number
CN111629280A
CN111629280A CN202010287121.4A CN202010287121A CN111629280A CN 111629280 A CN111629280 A CN 111629280A CN 202010287121 A CN202010287121 A CN 202010287121A CN 111629280 A CN111629280 A CN 111629280A
Authority
CN
China
Prior art keywords
data packet
packet
encapsulated
data packets
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010287121.4A
Other languages
Chinese (zh)
Other versions
CN111629280B (en
Inventor
谢文龙
李云鹏
吕亚亚
杨春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN202010287121.4A priority Critical patent/CN111629280B/en
Publication of CN111629280A publication Critical patent/CN111629280A/en
Application granted granted Critical
Publication of CN111629280B publication Critical patent/CN111629280B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The embodiment of the invention provides a packet loss processing method, a device and a readable storage medium, wherein the method comprises the following steps: receiving encapsulated data packets sent by sending equipment, judging whether the encapsulated data packets lost in a target data packet group need to be retransmitted or not according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group, if the encapsulated data packets lost need to be retransmitted, determining a first retransmitted data packet, obtaining a first retransmitted data packet from the sending equipment, wherein the retransmitted number of the first retransmitted data packet is smaller than the packet loss number of the target data packet group and is larger than or equal to the difference value between the packet loss number and the FEC error correction threshold, carrying out FEC decoding according to the target data packet and the first retransmitted data packet to obtain all the encapsulated data packets in the target data packet group, and playing audio and video according to all the encapsulated data packets. Therefore, the fluency of playing the audio and video is improved.

Description

Packet loss processing method and device and readable storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a packet loss processing method and apparatus, and a readable storage medium.
Background
Wireless Fidelity (WiFi) or mobile networks have many factors affecting network link bandwidth, and when the network link bandwidth is insufficient, data packet loss may be caused, thereby affecting normal operation of audio and video services.
In order to ensure that the audio/video service is normally performed, a retransmission packet strategy is usually adopted, that is, a receiving end detects a packet sequence of received data packets (the data packets include audio data packets and video data packets), and when a lost data packet is detected, a sending end is requested to retransmit the lost data packet in time, however, when the link bandwidth is insufficient, the number of the lost data packets in the same time period may be increased, so that the time for the receiving end to wait for the sending end to retransmit the lost data packet is increased, and the problems of audio/video screen leakage, blocking and the like are caused.
Disclosure of Invention
Embodiments of the present invention provide a packet loss processing method, an apparatus, and a readable storage medium, so as to improve fluency of audio and video through fewer retransmission data packets under the condition of insufficient link bandwidth. The specific technical scheme is as follows:
in a first aspect of the present invention, a packet loss processing method is provided, including:
receiving an encapsulated data packet sent by sending equipment, wherein the encapsulated data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by Forward Error Correction (FEC) coding of the original data packet by the sending equipment;
judging whether a lost encapsulated data packet in a target data packet group needs to be retransmitted or not according to the preset number of data packets included in each data packet group, a preset FEC (forward error correction) threshold and the number of received target data packets belonging to the target data packet group;
if the lost encapsulated data packet needs to be retransmitted, determining a first retransmitted data packet, and obtaining the first retransmitted data packet from the sending device, wherein the retransmission number of the first retransmitted data packet is less than the packet loss number of the target data packet group and is greater than or equal to the difference between the packet loss number and the FEC error correction threshold;
and performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all encapsulated data packets in the target data packet group, and playing audio and video according to all encapsulated data packets.
In a second aspect of the present invention, there is also provided a packet loss processing apparatus, including:
a receiving module, configured to receive an encapsulated data packet sent by a sending device, where the encapsulated data packet is generated by encapsulating an original data packet or a redundant data packet, and the redundant data packet is generated by performing forward error correction FEC coding on the original data packet by the sending device;
a first judging module, configured to judge whether to need to retransmit a lost encapsulated data packet in a target data packet group according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and a number of received target data packets belonging to the target data packet group;
a first determining module, configured to determine a first retransmission data packet and obtain the first retransmission data packet from the sending device if it is determined that the lost encapsulated data packet needs to be retransmitted, where a retransmission number of the first retransmission data packet is smaller than a packet loss number of the target data packet group and is greater than or equal to a difference between the packet loss number and the FEC error correction threshold;
and the decoding module is used for carrying out FEC decoding according to the target data packet and the first retransmission data packet so as to obtain all the encapsulated data packets in the target data packet group, and playing audio and video according to all the encapsulated data packets.
In a third aspect of the embodiments of the present invention, a computer-readable storage medium is provided, where a computer program is stored on the computer-readable storage medium, and when being executed by a processor, the computer program implements the steps of the packet loss processing method described above.
In a fourth aspect of the present invention, there is provided a packet loss processing apparatus, including a processor, a memory, and a computer program stored in the memory and operable on the processor, where the computer program, when executed by the processor, implements the steps of the packet loss processing method described above.
Aiming at the prior art, the invention has the following advantages:
the packet loss processing method provided by the embodiment of the invention judges whether the lost encapsulated data packet in the target data packet group needs to be retransmitted or not according to the preset number of the data packets, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group, which are included in each data packet group, and if the lost encapsulated data packet needs to be retransmitted, the first retransmitted data packet is determined, and the first retransmitted data packet is obtained from the transmitting equipment, wherein the retransmitted number of the first retransmitted data packet is smaller than the packet loss number of the target data packet group and is larger than or equal to the difference value between the packet loss number and the FEC error correction threshold, and FEC decoding is performed according to the target data packet and the first retransmitted data packet to obtain all the encapsulated data packets in the target data packet group, and audio and video are played according to all the encapsulated data packets. Therefore, under the condition of insufficient link bandwidth, the scheme of combining the forward error correction technology and the retransmission packet strategy realizes the retransmission of less encapsulated data packets, thereby saving the time of waiting for the retransmission of the data packets by the receiving equipment. And recovering all lost encapsulated data packets by adopting a forward error correction decoding method according to the retransmitted encapsulated data packets and the received encapsulated data packets, thereby obtaining all encapsulated data packets in the data packet group, namely not all the lost data packets in one data packet group are realized by adopting a data packet retransmission method, but a part of the data packets in all the lost data packets are obtained by adopting a data packet retransmission method, and the other part of the data packets are obtained by adopting a forward error correction decoding method.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
Fig. 1 is a flowchart illustrating a method for processing packet loss according to an embodiment of the present invention.
Fig. 2 is a flowchart illustrating steps of another packet loss processing method according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a packet loss processing apparatus according to an embodiment of the present invention;
FIG. 4 is a networking schematic of a video network of the present invention;
FIG. 5 is a schematic diagram of a hardware architecture of a node server according to the present invention;
fig. 6 is a schematic diagram of a hardware structure of an access switch of the present invention;
fig. 7 is a schematic diagram of a hardware structure of an ethernet protocol conversion gateway according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described below with reference to the drawings in the embodiments of the present invention.
Referring to fig. 1, fig. 1 is a flowchart illustrating a method for processing packet loss according to an embodiment of the present invention. The method can be applied to a receiving device, the receiving device comprises a terminal device and a server, and the method comprises the following steps:
step 101, receiving an encapsulated data packet sent by a sending device.
The encapsulated data packet comprises a group number of a data packet group to which the encapsulated data packet belongs and a packet serial number of the encapsulated data packet in the data packet group corresponding to the group number, and is generated by encapsulating an original data packet or a redundant data packet generated by Forward Error Correction (FEC) coding of the original data packet by a sending device.
The transmitting device may be a terminal device or a server, wherein Forward Error Correction (FEC) coding is a coding algorithm for recovering lost data packets by adding redundant data. Specifically, a sending device performs FEC encoding on an original data packet, generates redundant data packets (the number ratio of the original data packet to the redundant data packets is fixed, for example, 12 original data packets and 4 redundant data packets), encapsulates the original data packet and the redundant data packets into, for example, a Real-time transport protocol (RTP) data packet after the redundant data packets are generated, and sends the encapsulated RTP data packets to a receiving device (for example, the RTP data packets are encapsulated data packets), where the encapsulated data packets include a group number of a data packet group to which the encapsulated data packets belong and a packet sequence number of the encapsulated data packets in the data packet group corresponding to the group number, and the packet sequence number is used to indicate a position of the RTP data in one data packet group.
For example, the sending device encapsulates the first original data packet (the nth original data packet is represented by an original data packet n, n is a positive integer), the encapsulated data packet 1 is a data packet obtained by encapsulating the original data packet 1, the encapsulated data packet 2 is a data packet obtained by encapsulating the original data packet 2, and so on, the encapsulated data packet 12 is a data packet obtained by encapsulating the original data packet 12, the encapsulated data packet 13 is obtained by encapsulating the redundant data packet 1, the encapsulated data packet 14 is obtained by encapsulating the redundant data packet 2, the encapsulated data packet 15 is obtained by encapsulating the redundant data packet 3, the encapsulated data packet 16 is obtained by encapsulating the redundant data packet 4, if 16 data packets are taken as a group, the group number of the data packet group to which the encapsulated data packets 1 to the encapsulated data packet 16 belong can be represented by 1, that is, the encapsulated packets 1 to 16 belong to the packet group 1, the packet sequence number of the encapsulated packet 1 in the packet group 1 is, for example, 1, the packet sequence number of the encapsulated packet 2 in the packet group 1 is, for example, 2, …, and the packet sequence number of the encapsulated packet 16 in the packet group 1 is, for example, 16. After FEC encoding is performed on the original data packets 13 to 24, the transmitting device generates redundant data packets 5 to 8, encapsulates the original data packets 13 to 24 and the redundant data packets 5 to 8, and then sequentially obtains encapsulated data packets 17 to 28, where the group numbers of the encapsulated data packets 17 to 28 are 2, that is, the encapsulated data packets 17 to 28 belong to the data packet group 2, the packet sequence number of the encapsulated data packet 17 in the data packet group 2 is, for example, 17, the packet sequence number of the encapsulated data packet 18 in the data packet group 2 is, for example, 18, …, and the packet sequence number of the encapsulated data packet 28 in the data packet group 2 is, for example, 28. This is not illustrated herein for purposes of space limitation.
Step 102, judging whether the lost encapsulated data packet in the target data packet group needs to be retransmitted or not according to the preset number of data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group.
Step 102 may be implemented as follows:
the first method is as follows: calculating the number of packet losses according to the preset number and the number of the target data packets; and under the condition that the number of the lost packets is larger than the FEC error correction threshold, determining that the lost encapsulated data packets need to be retransmitted.
The second method comprises the following steps: calculating the difference between the preset number and the FEC error correction threshold; and under the condition that the number of the target data packets is smaller than the difference value, determining that the lost encapsulated data packets need to be retransmitted.
With reference to the foregoing description, in a first mode, the preset number is equal to 16, if the target data packet group is the data packet group 1, and the number of received encapsulated data packets (i.e., the target data packet) belonging to the data packet group 1 is equal to 11, the number of lost packets is equal to 5, and since the number of lost packets 5 is greater than the FEC error correction threshold 4, it is determined that the lost encapsulated data packets need to be retransmitted. In the second mode, if the difference between the preset number 16 and the FEC error correction threshold 4 is equal to 12, and the number of the target data packets is equal to 11 and is less than 12, it is determined that the lost encapsulated data packets need to be retransmitted.
Step 103, if it is determined that the lost encapsulated data packet needs to be retransmitted, determining a first retransmitted data packet, and obtaining the first retransmitted data packet from the sending device, where the retransmission number of the first retransmitted data packet is smaller than the packet loss number of the target data packet group and is greater than or equal to the difference between the packet loss number and the FEC error correction threshold.
And if the lost encapsulated data packet needs to be retransmitted, determining a first retransmitted data packet, and obtaining the first retransmitted data packet from the sending equipment, wherein the retransmission number of the first retransmitted data packet is less than the packet loss number of the target data packet group and is more than or equal to the difference between the packet loss number and the FEC error correction threshold. For example, in the case that the number of lost packets is equal to 5, it may be determined that the number of retransmissions of the first retransmission data packet is equal to any one of 1, 2, 3, and 4; in the case that the number of lost packets is equal to 6, it may be determined that the number of retransmissions of the first retransmission data packet is equal to any one of 2, 3, 4, and 5.
In the case where the number of dropped packets is equal to 5, if it is determined that the number of retransmissions is equal to 1, one data packet may be randomly selected as the first retransmission data packet from among the lost data packets of the data packet group 1. For example, if any one of the encapsulated packet 5, the encapsulated packet 10, the encapsulated packet 12, the encapsulated packet 13, and the encapsulated packet 14 in the packet group 1 is not received, any one of the encapsulated packet 5, the encapsulated packet 10, the encapsulated packet 12, the encapsulated packet 13, and the encapsulated packet 14 may be used as the first retransmission packet. For example, if the encapsulated data packet 5 is the first retransmission data packet, the packet sequence number of the encapsulated data packet 5 may be transmitted to the transmitting device to request the transmitting device to retransmit the encapsulated data packet 5.
It should be noted that, for step 102 and step 103, when the set FEC error correction threshold is 4, that is, when the packet loss number of one data packet group is less than or equal to 4, the lost data packet may be recovered by using FEC decoding, but if the packet loss number of one data packet group is greater than 4 (that is, the number of the lost data packets exceeds the FEC error correction threshold, that is, the FEC error correction threshold is the maximum error correction capability), the lost data packet may not be recovered by using FEC decoding. That is, when only the forward error correction scheme is adopted, the lost data packets cannot be recovered when the packet loss number of one data packet group is greater than the FEC error correction threshold. If only a retransmission packet strategy is adopted, that is, the receiving end detects the packet sequence of the received data packets (the data packets include audio data packets and video data packets), when the lost data packets are detected, the sending equipment is requested to retransmit all the lost data packets in time, and when the link bandwidth is insufficient, the number of the lost data packets in the same time period is increased, so that the time for the receiving end to wait for the sending end to retransmit the lost data packets is increased, and the problems of audio and video screen leakage, blocking and the like are caused. Therefore, in this embodiment, forward error correction and a packet retransmission policy are combined, whether a missing encapsulated data packet in a target data packet group needs to be retransmitted is determined according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and a number of received target data packets belonging to the target data packet group, if it is determined that the missing encapsulated data packet needs to be retransmitted, a first retransmitted data packet is determined, and the first retransmitted data packet is obtained from a sending device, and the obtained number of the first retransmitted data packets is smaller than the number of packet losses, that is, all the missing data packets in one data packet group do not need to be retransmitted, so that bandwidth occupation can be reduced to a certain extent.
And step 104, performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all data packets in the target data packet group, and playing audio and video according to all the data packets.
In connection with the above-described example, in the case where the number of packet losses is equal to 5, if it is determined that the number of retransmissions is equal to 1, and the encapsulated data packet 5 is retransmitted from the request transmitting apparatus as the first retransmitted data packet, the receiving apparatus receives the retransmitted encapsulated data packet 5 in this step, i.e., the receiving device receives 12 encapsulated packets at this time, the lost encapsulated packets (e.g., the encapsulated packet 10, the encapsulated packet 12, the encapsulated packet 13, and the encapsulated packet 14) can be recovered by FEC decoding the 12 encapsulated packets, thereby obtaining all the encapsulated packets in the packet group 1, i.e. all lost encapsulated packets in the packet group 1 can be recovered, and further audio and video can be played according to all encapsulated packets, therefore, under the condition of insufficient link bandwidth, the fluency of audio and video playing is improved to a certain extent.
The packet loss processing method provided in this embodiment determines, by receiving an encapsulated data packet sent by a sending device, whether a missing encapsulated data packet in a target data packet group needs to be retransmitted according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and the number of received target data packets belonging to the target data packet group, determines, if it is determined that the missing encapsulated data packet needs to be retransmitted, a first retransmitted data packet, and obtains, from the sending device, the first retransmitted data packet, where the retransmitted number of the first retransmitted data packet is smaller than the packet loss number of the target data packet group and is greater than or equal to a difference between the packet loss number and the FEC error correction threshold, performs FEC decoding according to the target data packet and the first retransmitted data packet to obtain all encapsulated data packets in the target data packet group, and plays audio and video according to all the encapsulated data packets. Therefore, under the condition of insufficient link bandwidth, the scheme of combining the forward error correction technology and the retransmission packet strategy realizes the retransmission of less encapsulated data packets, thereby saving the time of waiting for the retransmission of the data packets by the receiving equipment. And recovering all lost encapsulated data packets by adopting a forward error correction decoding method according to the retransmitted encapsulated data packets and the received encapsulated data packets, thereby obtaining all encapsulated data packets in the data packet group, namely not all the lost data packets in one data packet group are realized by adopting a data packet retransmission method, but a part of the data packets in all the lost data packets are obtained by adopting a data packet retransmission method, and the other part of the data packets are obtained by adopting a forward error correction decoding method.
Referring to fig. 2, fig. 2 is a flowchart illustrating steps of another packet loss processing method provided in an embodiment of the present invention, where the method includes the following steps:
step 201, receiving an encapsulated data packet sent by a sending device.
Step 202, determining whether to retransmit a lost encapsulated data packet in a target data packet group according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and the number of received target data packets belonging to the target data packet group.
If it is determined that the lost encapsulated packet needs to be retransmitted, go to step 203; if it is determined that the missing encapsulated packet does not need to be retransmitted, step 204 is performed.
Step 203, determining the first retransmission data packet, and obtaining the first retransmission data packet from the sending device.
Wherein, determining the first retransmission data packet can be implemented by the following steps:
taking the difference value between the packet loss number and the FEC error correction threshold as the retransmission number;
and determining the data packets with the same number as the retransmission number from the lost encapsulated data packets of the target data packet group, and taking the determined data packets with the same number as the retransmission number as the first retransmission data packet.
With reference to the foregoing example, when the number of packet losses is equal to 5, it may be determined that the number of retransmissions of the first retransmission data packet is equal to 1, that is, the number of retransmissions is equal to a difference between the number of packet losses 5 and the FEC error correction threshold 4; in the case that the number of packet losses is equal to 6, it may be determined that the number of retransmissions of the first retransmission data packet is equal to 2, and the number of retransmissions 2 is equal to the difference between the number of packet losses 6 and the FEC error correction threshold 4.
And determining the data packets with the same number as the retransmission number from the lost packaging data packets of the target data packet group, so as to realize FEC decoding through the fewest retransmission data packets and according to the fewest retransmission data packets and the target data packets, and obtain all the packaging data packets in the target data packet group. For example, in combination with the above example, in the case that the number of packet losses is equal to 5, all the encapsulated data packets in the target data packet group are obtained by retransmitting one encapsulated data packet 5. Under the condition that the number of lost packets is equal to 6, all the encapsulated data packets in the target data packet group can be obtained by retransmitting two encapsulated data packets in the encapsulated data packets lost by the target data packet group. Because all the encapsulated data packets in the target data packet group are obtained by adopting the least retransmitted data packets, the bandwidth occupation of the retransmitted data packets and the time occupation of the retransmitted data packets can be reduced to the greatest extent, so that the time for obtaining all the encapsulated data packets in the data packet group can be reduced, and the smoothness of playing the audio and video is further improved.
Step 205 is performed after step 203 is performed.
And 204, performing FEC decoding according to the target data packet to obtain all the encapsulated data packets in the target data packet group, and playing audio and video according to all the encapsulated data packets.
For example, if the target data packet group is the data packet group 2, the number of packet losses of the encapsulated data packets in the data packet group 2 is equal to 2, and the number of packet losses 2 is less than the FEC error correction threshold 4, FEC decoding can be directly performed according to the target data packet (in this case, the number of target data packets is 14), and the transmitting device does not need to retransmit the lost encapsulated data packet, so that the time required for retransmitting the data packet can be saved, and the smoothness of audio and video playing can be improved.
Step 205, FEC decoding is performed according to the target data packet and the first retransmission data packet.
Step 206, determining whether the data packets obtained after FEC decoding include all data packets in the target data packet group.
If the data packet obtained after FEC decoding does not include all the data packets in the target data packet group, execute step 207; if the data packet obtained after FEC decoding includes all the data packets in the target data packet group, step 208 is executed.
Step 207, determining the second retransmission packet, and obtaining the second retransmission packet from the sending device to obtain all the encapsulated packets.
Wherein the second retransmission packet comprises at least one encapsulated packet.
And step 208, playing the audio and video according to all the packaged data packets.
It should be noted that, when step 205 is executed, all the encapsulated packets in the target packet group can be obtained through FEC decoding in general, and in this embodiment, in order to improve the probability of obtaining all the encapsulated packets, it is further determined whether the packets obtained after FEC decoding include all the packets in the target packet group through the adding step 206, and in a case that all the packets in the target packet group are not included, the second retransmission packet is determined. For example, if the number of dropped packets in the data packet group 2 is equal to 8, and 7 missing encapsulated data packets are found after the step 205 is executed, that is, 15 encapsulated data packets are obtained in total, the packet sequence numbers of the remaining missing encapsulated data packets may be sent to the sending device through this step, so that the sending device retransmits the encapsulated data packet corresponding to the packet sequence number (the encapsulated data packet corresponding to the packet sequence number is the second retransmission data packet), and the receiving device can obtain all the encapsulated data packets in the data packet group 2. The probability of obtaining all the data packets in the data packet group can be improved through the step.
Optionally, after receiving the encapsulated packet sent by the sending device in step 201, the method may further include the following steps:
according to the group number and the packet sequence number included in the encapsulated data packet, aggregating the encapsulated data packets which are sent by the sending equipment through a plurality of communication links and belong to the target data packet group;
and determining the number of the received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
It should be noted that, if the sending device is a plurality of fourth generation mobile communication technology (4G) network cards, the sending device may send the encapsulated data packets to the receiving device through a plurality of communication links, where one network card corresponds to one communication link and the communication links corresponding to each network card are different, the receiving device may aggregate the encapsulated data packets belonging to the target data packet group from the plurality of communication links, so as to determine the number of received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
Referring to fig. 3, fig. 3 is a schematic structural diagram of a packet loss processing apparatus according to an embodiment of the present invention, where the apparatus 300 includes:
a receiving module 310, configured to receive an encapsulated data packet sent by a sending device, where the encapsulated data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by forward error correction FEC coding performed on the original data packet by the sending device;
a first determining module 320, configured to determine whether to need to retransmit a missing encapsulated data packet in a target data packet group according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and a number of received target data packets belonging to the target data packet group;
a first determining module 330, configured to determine a first retransmission data packet and obtain the first retransmission data packet from the sending device if it is determined that the lost encapsulated data packet needs to be retransmitted, where a retransmission number of the first retransmission data packet is smaller than a packet loss number of the target data packet group and is greater than or equal to a difference between the packet loss number and the FEC error correction threshold;
and the decoding module 340 is configured to perform FEC decoding according to the target data packet and the first retransmission data packet to obtain all encapsulated data packets in the target data packet group, and play audio and video according to all encapsulated data packets.
The packet loss processing apparatus provided in this embodiment determines, by receiving an encapsulated data packet sent by a sending device, whether to retransmit a lost encapsulated data packet in a target data packet group according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and a number of received target data packets belonging to the target data packet group, and if it is determined that the lost encapsulated data packet needs to be retransmitted, determines a first retransmitted data packet, and obtains the first retransmitted data packet from the sending device, where the retransmission number of the first retransmitted data packet is smaller than the packet loss number of the target data packet group and greater than or equal to a difference between the packet loss number and the FEC error correction threshold, performs FEC decoding according to the target data packet and the first retransmitted data packet to obtain all encapsulated data packets in the target data packet group, and plays audio and video according to all the encapsulated data packets. Therefore, by combining the forward error correction technology and the packet retransmission strategy, the encapsulated data packets with less retransmission are realized, and the time for the receiving equipment to wait for retransmitting the data packets is saved. And recovering all lost encapsulated data packets by adopting a forward error correction decoding method according to the retransmitted encapsulated data packets and the received encapsulated data packets, thereby obtaining all encapsulated data packets in the data packet group, namely not all the lost data packets in one data packet group are realized by adopting a data packet retransmission method, but a part of the data packets in all the lost data packets are obtained by adopting a data packet retransmission method, and the other part of the data packets are obtained by adopting a forward error correction decoding method.
Optionally, the decoding module 340 is further configured to, if it is determined that the lost encapsulated data packet does not need to be retransmitted, perform FEC decoding according to the target data packet to obtain all encapsulated data packets in the target data packet group, and play audio and video according to all encapsulated data packets.
Optionally, the first determining module 320 is specifically configured to calculate the number of packet losses according to the preset number and the number of the target data packets; determining that the lost encapsulated data packet needs to be retransmitted under the condition that the number of the lost packets is greater than the FEC error correction threshold, or,
calculating the difference value according to the preset number and the FEC error correction threshold; and under the condition that the number of the target data packets is smaller than the difference value, determining that the lost encapsulated data packets need to be retransmitted.
Optionally, the first determining module 330 is specifically configured to use a difference between the packet loss number and the FEC correction threshold as the retransmission number; determining the data packets with the same number as the retransmission number from the lost encapsulated data packets of the target data packet group, and taking the determined data packets with the same number as the retransmission number as the first retransmission data packets.
Optionally, the method further includes:
a second determining module, configured to determine whether the data packet obtained after FEC decoding includes all data packets in the target data packet group;
a second determining module, configured to determine a second retransmission packet if the data packet obtained after FEC decoding does not include all data packets in the target data packet group, and obtain the second retransmission packet from the sending device to obtain all data packets, where the second retransmission packet includes at least one missing encapsulated data packet.
Optionally, the method further includes:
an aggregation module, configured to aggregate, according to the group number and the packet sequence number included in the encapsulated data packet, encapsulated data packets that are sent by the sending device through multiple communication links and belong to the target data packet group;
and the third determining module is used for determining the number of the received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
In addition, an embodiment of the present invention further provides a packet loss processing apparatus, where the packet loss processing apparatus includes a processor, a memory, and a computer program that is stored in the memory and can be run on the processor, and when being executed by the processor, the computer program implements each process of the packet loss processing method embodiment of the foregoing embodiment, and can achieve the same technical effect, and is not described herein again to avoid repetition.
An embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements each process of the packet loss processing method embodiment, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here. The computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk.
The embodiment of the invention also provides a computer program, and the computer program can be stored on a cloud or a local storage medium. When being executed by a computer or a processor, the computer program is used for executing the corresponding steps of the packet loss processing method according to the embodiment of the present invention, and is used for implementing the corresponding modules in the packet loss processing apparatus according to the embodiment of the present invention.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As is readily imaginable to the person skilled in the art: any combination of the above embodiments is possible, and thus any combination between the above embodiments is an embodiment of the present invention, but the present disclosure is not necessarily detailed herein for reasons of space.
The packet loss handling methods provided herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The structure required to construct a system incorporating aspects of the present invention will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the invention and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components of the packet loss processing method according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved over traditional Ethernet (Ethernet) to face the potentially enormous video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network circuit Switching (circuit Switching), the Packet Switching is adopted by the technology of the video networking to meet the Streaming requirement. The video networking technology has the advantages of flexibility, simplicity and low price of packet switching, and simultaneously has the quality and safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Switching Technology (Switching Technology)
The video network adopts two advantages of asynchronism and packet switching of the Ethernet, eliminates the defects of the Ethernet on the premise of full compatibility, has end-to-end seamless connection of the whole network, is directly communicated with a user terminal, and directly bears an IP data packet. The user data does not require any format conversion across the entire network. The video networking is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the real-time transmission of the whole-network large-scale high-definition video which cannot be realized by the existing Internet, and pushes a plurality of network video applications to high-definition and unification.
Server technology (Servertechnology)
The server technology on the video networking and unified video platform is different from the traditional server, the streaming media transmission of the video networking and unified video platform is established on the basis of connection orientation, the data processing capacity of the video networking and unified video platform is independent of flow and communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than one hundred times compared with that of a traditional server.
Storage Technology (Storage Technology)
The super-high speed storage technology of the unified video platform adopts the most advanced real-time operating system in order to adapt to the media content with super-large capacity and super-large flow, the program information in the server instruction is mapped to the specific hard disk space, the media content is not passed through the server any more, and is directly sent to the user terminal instantly, and the general waiting time of the user is less than 0.2 second. The optimized sector distribution greatly reduces the mechanical motion of the magnetic head track seeking of the hard disk, the resource consumption only accounts for 20% of that of the IP internet of the same grade, but concurrent flow which is 3 times larger than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network Security Technology (Network Security Technology)
The structural design of the video network completely eliminates the network security problem troubling the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, generally does not need antivirus programs and firewalls, avoids the attack of hackers and viruses, and provides a structural carefree security network for users.
Service Innovation Technology (Service Innovation Technology)
The unified video platform integrates services and transmission, and is not only automatically connected once whether a single user, a private network user or a network aggregate. The user terminal, the set-top box or the PC are directly connected to the unified video platform to obtain various multimedia video services in various forms. The unified video platform adopts a menu type configuration table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes infinite new service innovation.
Networking of the video network is as follows:
the video network is a centralized control network structure, and the network can be a tree network, a star network, a ring network and the like, but on the basis of the centralized control node, the whole network is controlled by the centralized control node in the network.
As shown in fig. 4, the video network is divided into an access network and a metropolitan network.
The devices of the access network part can be mainly classified into 3 types: node server, access switch, terminal (including various set-top boxes, coding boards, memories, etc.). The node server is connected to an access switch, which may be connected to a plurality of terminals and may be connected to an ethernet network.
The node server is a node which plays a centralized control function in the access network and can control the access switch and the terminal. The node server can be directly connected with the access switch or directly connected with the terminal.
Similarly, devices of the metropolitan network portion may also be classified into 3 types: a metropolitan area server, a node switch and a node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is a node server of the access network part, namely the node server belongs to both the access network part and the metropolitan area network part.
The metropolitan area server is a node which plays a centralized control function in the metropolitan area network and can control a node switch and a node server. The metropolitan area server can be directly connected with the node switch or directly connected with the node server.
Therefore, the whole video network is a network structure with layered centralized control, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star and ring.
The access network part can form a unified video platform (the part in the dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform may be interconnected via metropolitan area and wide area video networking.
Video networking device classification
1.1 devices in the video network of the embodiment of the present invention can be mainly classified into 3 types: servers, switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node servers, access switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 5, the system mainly includes a network interface module 501, a switching engine module 502, a CPU module 503, and a disk array module 504;
the network interface module 501, the CPU module 503 and the disk array module 504 all enter the switching engine module 502; the switching engine module 502 performs an operation of looking up the address table 505 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a corresponding queue of the packet buffer 506 based on the packet's steering information; if the queue of the packet buffer 506 is nearly full, it is discarded; the switching engine module 502 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. The disk array module 504 mainly implements control over the hard disk, including initialization, read-write, and other operations of the hard disk; the CPU module 503 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 505 (including a downlink protocol packet address table, an uplink protocol packet address table, and a data packet address table), and configuring the disk array module 504.
The access switch:
as shown in fig. 6, the network interface module (downlink network interface module 601, uplink network interface module 602), switching engine module 603, and CPU module 604 are mainly included;
wherein, the packet (uplink data) coming from the downlink network interface module 601 enters the packet detection module 605; the packet detection module 605 detects whether the Destination Address (DA), the Source Address (SA), the type of the packet, and the length of the packet meet the requirements, if so, allocates a corresponding stream identifier (stream-id) and enters the switching engine module 603, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 602 enters the switching engine module 603; the incoming data packet from the CPU module 604 enters the switching engine module 603; the switching engine module 603 performs an operation of looking up the address table 606 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 603 is from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 607 in association with the stream-id; if the queue of the packet buffer 607 is close to full, it is discarded; if the packet entering the switching engine module 603 is not from the downlink network interface to the uplink network interface, the packet is stored in the queue of the corresponding packet buffer 607 according to the packet guiding information; if the queue of the packet buffer 607 is close to full, it is discarded.
The switching engine module 603 polls all packet buffer queues, which in this embodiment of the present invention is divided into two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
The rate control module 608 is configured by the CPU module 604 and generates tokens for packet buffer queues going to the upstream network interface from all downstream network interfaces at programmable intervals to control the rate of upstream forwarding.
The CPU module 604 is mainly responsible for protocol processing with the node server, configuration of the address table 606, and configuration of the code rate control module 608.
Ethernet protocol gateway:
as shown in fig. 7, the apparatus mainly includes a network interface module (a downlink network interface module 701, an uplink network interface module 702), a switching engine module 703, a CPU module 704, a packet detection module 705, a rate control module 708, an address table 706, a packet buffer 707, a MAC adding module 709, and a MAC deleting module 710.
Wherein, the data packet coming from the downlink network interface module 701 enters the packet detection module 705; the packet detection module 705 detects whether the ethernet MAC DA, the ethernet MAC SA, the ethernet length or frame type, the video network destination address DA, the video network source address SA, the video network packet type and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, the MAC deleting module 710 subtracts MAC DA, MAC SA, length or frame type (2byte), and enters the corresponding receiving buffer, otherwise, discards;
the downlink network interface module 701 detects the sending buffer of the port, and if a packet exists, the downlink network interface module learns the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MACSA of the ethernet coordination gateway, and the ethernet length or frame type, and sends the packet.
The other modules in the ethernet protocol gateway function similarly to the access switch.
A terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set-top box mainly comprises a network interface module, a video and audio coding and decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 types: node server, node exchanger, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. Video networking packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), Source Address (SA), reserved bytes, payload (pdu), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
DA SA Reserved Payload CRC
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are 256 possibilities at most, the second byte to the sixth byte are metropolitan area network addresses, and the seventh byte and the eighth byte are access network addresses;
the Source Address (SA) is also composed of 8 bytes (byte), defined as the same as the Destination Address (DA);
the reserved byte consists of 2 bytes;
the payload part has different lengths according to different types of datagrams, and is 64 bytes if the datagram is various types of protocol packets, and is 32+1024 or 1056 bytes if the datagram is a unicast packet, of course, the length is not limited to the above 2 types;
the CRC consists of 4 bytes and is calculated in accordance with the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of a metropolitan area network is a graph and there may be 2, or even more than 2, connections between two devices, i.e., there may be more than 2 connections between a node switch and a node server, a node switch and a node switch, and a node switch and a node server. However, the metro network address of the metro network device is unique, and in order to accurately describe the connection relationship between the metro network devices, parameters are introduced in the embodiment of the present invention: a label to uniquely describe a metropolitan area network device.
In this specification, the definition of the Label is similar to that of the Label of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between the device a and the device B, there are 2 labels for the packet from the device a to the device B, and 2 labels for the packet from the device B to the device a. The label is classified into an incoming label and an outgoing label, and assuming that the label (incoming label) of the packet entering the device a is 0x0000, the label (outgoing label) of the packet leaving the device a may become 0x 0001. The network access process of the metro network is a network access process under centralized control, that is, address allocation and label allocation of the metro network are both dominated by the metro server, and the node switch and the node server are both passively executed, which is different from label allocation of MPLS, and label allocation of MPLS is a result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metro network mainly includes the following parts:
DA SA Reserved Label Payload CRC
Namely Destination Address (DA), Source Address (SA), Reserved byte (Reserved), tag, payload (pdu), CRC. The format of the tag may be defined by reference to the following: the tag is 32 bits with the upper 16 bits reserved and only the lower 16 bits used, and its position is between the reserved bytes and payload of the packet.

Claims (10)

1. A packet loss processing method, comprising:
receiving an encapsulated data packet sent by sending equipment, wherein the encapsulated data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by Forward Error Correction (FEC) coding of the original data packet by the sending equipment;
judging whether a lost encapsulated data packet in a target data packet group needs to be retransmitted or not according to the preset number of data packets included in each data packet group, a preset FEC (forward error correction) threshold and the number of received target data packets belonging to the target data packet group;
if the lost encapsulated data packet needs to be retransmitted, determining a first retransmitted data packet, and obtaining the first retransmitted data packet from the sending device, wherein the retransmission number of the first retransmitted data packet is less than the packet loss number of the target data packet group and is greater than or equal to the difference between the packet loss number and the FEC error correction threshold;
and performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all encapsulated data packets in the target data packet group, and playing audio and video according to all encapsulated data packets.
2. The method of claim 1, further comprising:
and if determining that the lost encapsulated data packet does not need to be retransmitted, performing FEC decoding according to the target data packet to obtain all encapsulated data packets in the target data packet group, and playing audio and video according to all encapsulated data packets.
3. The method according to claim 1 or 2, wherein the determining whether the missing encapsulated packet in the target packet group needs to be retransmitted according to the preset number of packets included in the packet group, the preset FEC error correction threshold, and the number of received target packets belonging to the target packet group, comprises:
calculating the number of the lost packets according to the preset number and the number of the target data packets; determining that the lost encapsulated data packet needs to be retransmitted under the condition that the number of the lost packets is greater than the FEC error correction threshold, or,
calculating the difference value according to the preset number and the FEC error correction threshold; and under the condition that the number of the target data packets is smaller than the difference value, determining that the lost encapsulated data packets need to be retransmitted.
4. The method of claim 1, wherein the determining the first retransmission packet comprises:
taking the difference value between the packet loss number and the FEC error correction threshold as the retransmission number;
determining the data packets with the same number as the retransmission number from the lost encapsulated data packets of the target data packet group, and taking the determined data packets with the same number as the retransmission number as the first retransmission data packets.
5. The method according to claim 1 or 2, further comprising, after the FEC decoding according to the target data packet and the first retransmission data packet:
judging whether the data packet obtained after FEC decoding comprises all data packets in the target data packet group;
and if the data packet obtained after the FEC decoding does not include all the data packets in the target data packet group, determining a second retransmission data packet, and obtaining the second retransmission data packet from the sending device to obtain all the data packets, wherein the second retransmission data packet includes at least one lost encapsulation data packet.
6. The method according to claim 1 or 2, further comprising, after receiving the encapsulated packet sent by the sending device:
according to the group number and the packet sequence number included in the encapsulated data packet, aggregating the encapsulated data packets which are sent by the sending equipment through a plurality of communication links and belong to the target data packet group;
and determining the number of the received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
7. A packet loss processing apparatus, comprising:
a receiving module, configured to receive an encapsulated data packet sent by a sending device, where the encapsulated data packet is generated by encapsulating an original data packet or a redundant data packet, and the redundant data packet is generated by performing forward error correction FEC coding on the original data packet by the sending device;
a first judging module, configured to judge whether to need to retransmit a lost encapsulated data packet in a target data packet group according to a preset number of data packets included in each data packet group, a preset FEC error correction threshold, and a number of received target data packets belonging to the target data packet group;
a first determining module, configured to determine a first retransmission data packet and obtain the first retransmission data packet from the sending device if it is determined that the lost encapsulated data packet needs to be retransmitted, where a retransmission number of the first retransmission data packet is smaller than a packet loss number of the target data packet group and is greater than or equal to a difference between the packet loss number and the FEC error correction threshold;
and the decoding module is used for carrying out FEC decoding according to the target data packet and the first retransmission data packet so as to obtain all the encapsulated data packets in the target data packet group, and playing audio and video according to all the encapsulated data packets.
8. The apparatus of claim 7, wherein the decoding module is further configured to perform FEC decoding according to the target data packet to obtain all the encapsulated data packets in the target data packet group if it is determined that retransmission of a lost encapsulated data packet is not required, and play back the audio and video according to all the encapsulated data packets.
9. A computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the steps of the packet loss processing method according to any one of claims 1 to 6.
10. A packet loss processing apparatus, comprising a processor, a memory and a computer program stored on the memory and operable on the processor, wherein the computer program, when executed by the processor, implements the steps of the packet loss processing method according to any one of claims 1 to 6.
CN202010287121.4A 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium Active CN111629280B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010287121.4A CN111629280B (en) 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010287121.4A CN111629280B (en) 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium

Publications (2)

Publication Number Publication Date
CN111629280A true CN111629280A (en) 2020-09-04
CN111629280B CN111629280B (en) 2023-11-14

Family

ID=72273017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010287121.4A Active CN111629280B (en) 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium

Country Status (1)

Country Link
CN (1) CN111629280B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804028A (en) * 2020-10-22 2021-05-14 北京佳讯飞鸿电气股份有限公司 Data packet transmission method, equipment and storage medium
CN114125574A (en) * 2021-11-19 2022-03-01 浩云科技股份有限公司 Unidirectional streaming media transmission method and system
CN114793146A (en) * 2021-01-26 2022-07-26 普联技术有限公司 Data receiving method, data sending method and related equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101091347A (en) * 2004-12-29 2007-12-19 英特尔公司 Forward error correction and automatic repeat request joint operation for a data link layer
CN101174931A (en) * 2006-10-30 2008-05-07 华为技术有限公司 Retransmission type selection method, corresponding transmitting equipment, receiving equipment and system
WO2018058803A1 (en) * 2016-09-30 2018-04-05 瞬已网络科技(上海)有限公司 Network-based real-time video transmission method and device
US20180167162A1 (en) * 2016-12-08 2018-06-14 Vmware, Inc. Unified forward error correction and retransmission in a reliable network protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101091347A (en) * 2004-12-29 2007-12-19 英特尔公司 Forward error correction and automatic repeat request joint operation for a data link layer
CN101174931A (en) * 2006-10-30 2008-05-07 华为技术有限公司 Retransmission type selection method, corresponding transmitting equipment, receiving equipment and system
WO2018058803A1 (en) * 2016-09-30 2018-04-05 瞬已网络科技(上海)有限公司 Network-based real-time video transmission method and device
US20180167162A1 (en) * 2016-12-08 2018-06-14 Vmware, Inc. Unified forward error correction and retransmission in a reliable network protocol

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804028A (en) * 2020-10-22 2021-05-14 北京佳讯飞鸿电气股份有限公司 Data packet transmission method, equipment and storage medium
CN112804028B (en) * 2020-10-22 2023-04-07 北京佳讯飞鸿电气股份有限公司 Data packet transmission method, equipment and storage medium
CN114793146A (en) * 2021-01-26 2022-07-26 普联技术有限公司 Data receiving method, data sending method and related equipment
CN114125574A (en) * 2021-11-19 2022-03-01 浩云科技股份有限公司 Unidirectional streaming media transmission method and system

Also Published As

Publication number Publication date
CN111629280B (en) 2023-11-14

Similar Documents

Publication Publication Date Title
CN110474721B (en) Video data transmission method, device and computer readable storage medium
CN110138632B (en) Data transmission method and device
CN111629280B (en) Packet loss processing method and device and readable storage medium
CN109450982B (en) Network communication method and system
CN109547163B (en) Method and device for controlling data transmission rate
CN109246486B (en) Method and device for framing
CN109818960B (en) Data processing method and device
CN111614509B (en) Packet loss statistical method and device and readable storage medium
CN110661726A (en) Data sending method and device based on multilink aggregation
CN110138513B (en) Data transmission method and video networking system
CN111224889A (en) Data transmission method and device
CN109347844B (en) Method and device for accessing equipment to Internet
CN110650147A (en) Data acquisition method and system
CN111211982B (en) Data forwarding method and device, electronic equipment and storage medium
CN110336710B (en) Terminal testing method, system and device and storage medium
CN110493149B (en) Message processing method and device
CN110336796B (en) Communication method and communication device
CN109167965B (en) Data processing method and device
CN109889516B (en) Method and device for establishing session channel
CN111245733A (en) Data transmission method and device
CN111510341A (en) Network testing method and device for video network
CN110493191B (en) Windows platform data forwarding method and device, electronic equipment and readable storage medium
CN110808896B (en) Data transmission method and device, electronic equipment and storage medium
CN110086772B (en) Method and system for acquiring monitoring video
CN109769012B (en) Web server access method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant