A multicast retransmission method, device, equipment and storage medium

By redundant encoding processing of the original packet sequence and selecting the data packets to be retransmitted based on feedback information, the resource occupation problem caused by retransmission of all unsuccessful data packets when communication resources are limited is solved, and efficient data file transmission and retransmission services are realized.

CN115065989BActive Publication Date: 2025-05-23TSINGHUA SHENZHEN INTERNATIONAL GRADUATE SCHOOL
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210522573.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-13
Publication Date
2025-05-23
Estimated Expiration
2042-05-13

AI Technical Summary

Technical Problem

When the retransmission of communication resources is very limited, retransmission of all unsuccessful data packets is likely to cause large resource occupation and pressure on communication resources.

Method used

By performing redundant encoding of the original packet sequence, the target packet sequence is obtained, and based on the feedback information of the receiving end, the data packet to be retransmitted is selected from the target packet sequence to perform the retransmission operation.

Benefits of technology

It allows a certain proportion of packet loss to be generated at the receiving end without affecting the ultimate successful decoding of the original file, which improves the success rate of data file transmission, and meets the most retransmission needs through limited communication resources, improves the efficiency of retransmission services, and reduces the communication resource occupation in the retransmission process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115065989B_ABST
    Figure CN115065989B_ABST
Patent Text Reader

Abstract

The present application discloses a multicast retransmission method, device, equipment and storage medium, including: based on the target file request of the target multicast user group, obtaining the original data packet sequence and performing redundant coding processing on the original data packet sequence to obtain the target data packet sequence; sending the target data packet sequence to the target multicast user group and receiving feedback information, the feedback information is used to indicate the data packet reception status of each user in the target multicast user group; according to the feedback information, selecting the data packet to be retransmitted in the target data packet sequence, and performing a retransmission operation on the data packet to be retransmitted. The present application solves the problem that when the communication resources for retransmission are very limited, retransmitting all unsuccessfully transmitted data packets at least once is likely to cause large resource occupation and communication resource pressure. The success rate of data file transmission is improved and the communication resource occupation during the retransmission process is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to a wireless communication system, and more particularly to a multicast retransmission method, apparatus, device and storage medium. Background Art

[0002] The multicast transmission mode is an efficient and reliable data transmission mode that transmits data packets within a group. It means that with the support of some communication access methods, for a group of receiving ends with the same data requirements, a sequence of data packets is transmitted on the same group of communication resources through multicast, thereby greatly reducing the large amount of communication resource consumption caused by multiple receiving ends accessing the data link at the same time. The multicast transmission mode has been widely used in fields such as intelligent vehicle-road cooperative systems.

[0003] In actual applications, after transmitting a sequence of data packets, the multicast transmission mode can determine the receiving status of the receiving end according to the feedback information of the receiving end, and then decide whether to retransmit the data packet, thereby improving the reliability of the overall data transmission service. Different receiving ends are likely to have their own packet loss problems during the same multicast process, resulting in the failure to successfully decode the original file. The conventional multicast transmission mode requires at least one retransmission of all unsuccessfully transmitted data packets to ensure the successful decoding of the overall data file.

[0004] The conventional multicast transmission mode can improve the reliability of the data transmission process. However, when the communication resources for retransmission are very limited, retransmitting all unsuccessfully transmitted data packets at least once is likely to cause large resource occupation and communication resource pressure. Summary of the invention

[0005] In view of this, an embodiment of the present invention provides a multicast retransmission method, apparatus, device and storage medium to solve the problem that when the communication resources for retransmission are very limited, retransmitting all unsuccessfully transmitted data packets at least once can easily result in large resource occupancy and cause communication resource pressure.

[0006] On the one hand, a multicast retransmission method is provided, comprising:

[0007] Based on the target file request of the target multicast user group, an original data packet sequence is obtained;

[0008] Performing redundant encoding processing on the original data packet sequence to obtain a target data packet sequence;

[0009] Sending the target data packet sequence to the target multicast user group, and receiving feedback information from the target multicast user group, wherein the feedback information is used to indicate the data packet reception status of each user in the target multicast user group;

[0010] According to the feedback information, a data packet to be retransmitted is selected from the target data packet sequence, and a retransmission operation is performed on the data packet to be retransmitted.

[0011] In a possible implementation manner, performing redundant encoding processing on the original data packet sequence to obtain a target data packet sequence includes:

[0012] Performing redundant encoding processing on the original data packet sequence to obtain redundant data packets;

[0013] The redundant data packets and the original data packet sequence are constructed into a target data packet sequence.

[0014] In a possible implementation manner, the feedback information includes: the ID number of each user, the number of each data packet, and the transmission status of each data packet.

[0015] In a possible implementation manner, selecting a data packet to be retransmitted from the target data packet sequence according to the feedback information includes:

[0016] Determining, according to the feedback information, a retransmitting user in the target multicast user group that needs to perform a retransmission operation;

[0017] For each data packet, obtaining a target number of transmission failures for transmitting the data packet to each retransmission user;

[0018] Obtaining a retransmission value of each data packet according to a target number of transmission failures of each data packet;

[0019] Based on the retransmission value of each data packet, a data packet to be retransmitted is selected from the target data packet sequence.

[0020] In a possible implementation manner, determining, according to the feedback information, a user in the target multicast user group who needs to perform a retransmission operation includes:

[0021] When the feedback information indicates that the number of data packets received by the target user is less than a data packet reception number threshold, it is determined that the target user needs to perform a retransmission operation.

[0022] In a possible implementation manner, obtaining the retransmission value of each data packet according to the target number of transmission failures of each data packet includes:

[0023] The target number of transmission failures of each data packet is respectively determined as the retransmission value of each data packet.

[0024] In a possible implementation manner, the performing a retransmission operation on the data packet to be retransmitted includes:

[0025] Based on the amount of communication resources, a target number of data packets that can be retransmitted is obtained;

[0026] Arrange the data packets to be retransmitted in descending order based on the retransmission value, and obtain the sorting result;

[0027] A front target number of data packets to be retransmitted in the sorting result is obtained, and a retransmission operation is performed on the front target number of data packets to be retransmitted.

[0028] On the other hand, a multicast retransmission device is provided, comprising:

[0029] An original data packet sequence acquisition module is used to acquire an original data packet sequence based on a file request of a target multicast user group;

[0030] A target data packet sequence acquisition module is used to perform redundant encoding processing on the original data packet sequence to acquire a target data packet sequence;

[0031] A feedback information acquisition module, used to send the target data packet sequence to the target multicast user group, and receive feedback information from the target multicast user group, wherein the feedback information is used to indicate the data packet reception status of each user in the target multicast user group;

[0032] The retransmission operation module is used to select a data packet to be retransmitted from the target data packet sequence and perform a retransmission operation on the data packet to be retransmitted.

[0033] In yet another aspect, a computer device is provided, comprising: at least one processor and a memory communicatively connected to the at least one processor;

[0034] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the steps of a multicast retransmission method as described above.

[0035] On the other hand, a computer-readable storage medium is provided, on which a computer program is stored, characterized in that when the computer program is executed by a processor, the steps of the multicast retransmission method as described above are implemented.

[0036] The technical solution provided by this application may have the following beneficial effects:

[0037] On the one hand, the present application obtains the target data packet sequence by performing redundant encoding processing on the original data packet sequence, allowing a certain proportion of packet loss at the receiving end without affecting the final successful decoding of the original file, thereby further improving the success rate of data file transmission; on the other hand, the present application selects the data packet to be retransmitted in the target data packet sequence according to the feedback information, and performs a retransmission operation. In the case of limited communication resources, the data packet to be retransmitted is selected, and the maximum retransmission needs can be met with a limited amount of communication resources, thereby improving the efficiency of the retransmission service and reducing the communication resource occupancy of the retransmission process. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0039] Figure 1 The diagram is a structural diagram of a multicast retransmission system according to an exemplary embodiment.

[0040] Figure 2 The figure is a flow chart of a multicast retransmission method according to an exemplary embodiment.

[0041] Figure 3 The figure is a flow chart of a multicast retransmission method according to an exemplary embodiment.

[0042] Figure 4 It is a structural block diagram of a multicast retransmission device according to an exemplary embodiment.

[0043] Figure 5 A structural block diagram of a computer device shown in an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION

[0044] The technical solution of the present application will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present application.

[0045] It should be understood that the "indication" mentioned in the embodiments of the present application can be a direct indication, an indirect indication, or an indication of an association relationship. For example, A indicates B, which can mean that A directly indicates B, for example, B can be obtained through A; it can also mean that A indirectly indicates B, for example, A indicates C, and B can be obtained through C; it can also mean that there is an association relationship between A and B.

[0046] In the description of the embodiments of the present application, the term "corresponding" may indicate a direct or indirect correspondence between two items, or an association relationship between the two items, or a relationship between indication and being indicated, configuration and being configured, and the like.

[0047] Figure 1 1 is a schematic diagram showing a structure of a multicast retransmission system according to an exemplary embodiment. The multicast retransmission system includes a network side device 110 and a target user equipment.

[0048] like Figure 1 As shown, the network side device 110 can be implemented as a cellular base station, or the network side device 110 can also be implemented as a road side unit (RSU).

[0049] Optionally, the target user equipment may include a mobile terminal device, such as Figure 1 As shown, the mobile terminal device includes UE1, UE2, UE3 and UE4.

[0050] Optionally, the target user equipment may also include a vehicle user equipment, such as Figure 1 As shown, the vehicle user equipment may include VUE1, VUE2 and VUE3.

[0051] As technology updates and advances in the field of network communications, multicast transmission has become an efficient and reliable data transmission mode. Currently, multicast transmission can also be widely used in V2I (vehicle to infrastructure) and V2V (vehicle to vehicle) data links in vehicle-road cooperative systems. Compared with the traditional broadcast transmission mode, the multicast mode specifies the ID number of the target group through control signaling, so that members within the group can receive multicast data, while members outside the group do not consume computing resources to receive and decode irrelevant data packets.

[0052] Therefore, Figure 1 As shown, in the embodiment of the present application, the cellular base station can classify VUE1, VUE2, UE1, UE2 and UE3 as multicast users through control signaling, and classify UE4 and VUE3 as non-multicast users. At this time, the cellular base station can transmit the data packets to be transmitted to the UE1, VUE2, UE1, UE2 and UE3 through multicast. Figure 1 The multicast users (VUE1, VUE2, UE1, UE2 and UE) in the multicast user group are shown.

[0053] Optionally, the network side device 110 can also be wirelessly connected to the target user equipment through a wireless communication network, and send corresponding algorithm information to each target user equipment, and the wireless communication network uses standard communication technology and / or protocol. The network is usually the Internet, but it can also be any other network, including but not limited to any combination of local area network, metropolitan area network, wide area network, mobile, limited or wireless network, private network or virtual private network. In some embodiments, the technology and / or format including hypertext markup language, extensible markup language, etc. are used to represent the data exchanged through the network. In addition, conventional encryption technologies such as secure socket layer, transport layer security, virtual private network, Internet protocol security, etc. can also be used to encrypt all or some links. In other embodiments, customized and / or dedicated data communication technology can also be used to replace or supplement the above-mentioned data communication technology.

[0054] Figure 2 is a flowchart of a multicast retransmission method according to an exemplary embodiment. The method is executed by a computer device, which may be Figure 1 The network side devices shown in .

[0055] like Figure 2 As shown, the multicast retransmission method may include the following steps:

[0056] Step 201: Acquire an original data packet sequence based on a target file request of a target multicast user group.

[0057] Optionally, with the support of a communication access method (such as an NR-V2X network), the network side device constructs users with the same requested data within a certain time period into a target multicast user group, and then constructs the data requested by each user in the target multicast user group (it should be noted that the users in this application refer to user side devices) into an original data packet sequence.

[0058] For example, users in the target multicast user group can send the same target file request to the network side device to obtain the original data packet sequence; or users in the target multicast user group can send file requests corresponding to the device type according to the device type corresponding to the user to obtain the original data packet sequence (for example, different types of devices can send different types of file requests, but each file request requests to obtain the original data packet sequence).

[0059] Step 202: Perform redundant encoding processing on the original data packet sequence to obtain a target data packet sequence.

[0060] For a target multicast user group, when a network side device receives an indication signaling that a data packet needs to be sent to the target multicast user group (for example, receives a request for the same target file sent by the target multicast user group), the network side device can obtain the original data packet sequence that needs to be sent to the target multicast user group.

[0061] When the network side device directly multicasts the original data packet sequence to each target multicast user group, packet loss may occur due to network or device reasons. At this time, users in the target multicast user group may not receive some data packets in the original data packet sequence. Users who experience packet loss will upload the packet loss situation to the network side device and request the network side device to retransmit the target data packet sequence.

[0062] Since the network-side device needs to consume bandwidth resources when retransmitting the target data packet sequence, in order to minimize the retransmission of the target data packet sequence caused by packet loss, the network-side device can first perform redundant encoding processing on the original data packet sequence before sending the target data packet sequence. For example, through the method of erasure coding, the original data packet sequence is redundantly converted into a target data packet sequence with larger information volume and higher fault tolerance. At this time, during the transmission of the target data packet sequence, the loss of one or several data packets may not affect the data integrity of the target data packet sequence (that is, the lost data packets are redundant). At this time, even if packet loss occurs, the user does not need to request retransmission of the target data packet sequence, thereby reducing the possibility of data packet retransmission.

[0063] Step 203: Send the target data packet sequence to the target multicast user group, and receive feedback information from the target multicast user group, where the feedback information is used to indicate the data packet reception status of each user in the target multicast user group.

[0064] That is, after the network side device generates the target data packet sequence according to the original data packet sequence, it sends the target data packet sequence to the target multicast user group by multicast. At this time, each user in the target multicast user group may still experience packet loss when receiving the target data packet sequence. Therefore, each user in the target multicast user group still needs to send its own packet loss situation (that is, the reception situation of the data packet) to the network side device so that the network side device can perform the subsequent data packet retransmission process.

[0065] Step 204: Select a data packet to be retransmitted from the target data packet sequence according to the feedback information, and perform a retransmission operation on the data packet to be retransmitted.

[0066] Optionally, after the network side device completes the multicast of all data packets in the target data packet sequence, each user in the target multicast user group will send feedback information to the network side device.

[0067] Optionally, for each user, after receiving the multicast target data packet sequence, the user can detect packet loss during the process of receiving the target data packet sequence, and further determine whether the original file can be decoded according to the packet loss situation.

[0068] When the user loses packets while receiving the target data packet sequence, but the user detects that the received data packets can complete the decoding of the original file, that is, the data packets lost during the packet loss process can be considered as redundant data packets, and the user does not need to retransmit the data packets.

[0069] When packet loss occurs when the user is receiving the target data packet sequence, and the user detects that the received data packet cannot complete the decoding of the original file, in order to ensure that the user can successfully decode the original file, the user needs to upload information indicating the lost data packet (that is, feedback information) to the network side device so that the network side device can perform a retransmission operation.

[0070] Optionally, when receiving feedback information uploaded by each user, the network side device can determine the data packets that need to be retransmitted by each user based on the feedback information (some users are users who need to perform retransmission operations, and the number of data packets that need to be retransmitted in the feedback information of these users is greater than 0; other users are users who do not need to perform retransmission operations, and the number of data packets that need to be retransmitted in the feedback information of these users is 0), so as to select more important data packets from each data packet that needs to be retransmitted as the data packets to be retransmitted, and perform retransmission operations on the data packets to be retransmitted, thereby ensuring that most users can successfully decode the original file while further reducing the network bandwidth occupied by the retransmission operation.

[0071] In summary, on the one hand, the present application obtains the target data packet sequence by performing redundant encoding processing on the original data packet sequence, allowing a certain proportion of packet loss to occur at the receiving end without affecting the final successful decoding of the original file, thereby further improving the success rate of data file transmission; on the other hand, the present application selects the data packet to be retransmitted in the target data packet sequence according to the feedback information, and performs a retransmission operation. In the case of limited communication resources, the data packet to be retransmitted is selected, and the maximum retransmission needs can be met with a limited amount of communication resources, thereby improving the efficiency of the retransmission service and reducing the communication resource occupancy of the retransmission process.

[0072] Figure 3 is a method flow chart of a multicast retransmission method according to an exemplary embodiment. The method is executed by a computer device, which may be Figure 1 The network side devices shown in Figure 3 As shown, the multicast retransmission method may include the following steps:

[0073] Step 301: Acquire an original data packet sequence based on a target file request of a target multicast user group.

[0074] In a possible implementation, the target file request is an identical file request. The computer device (or network-side device) obtains the original data packet sequence according to the identical file request.

[0075] Step 302: Perform redundant encoding processing on the original data packet sequence to obtain a target data packet sequence.

[0076] In a possible implementation, redundant encoding is performed on the original data packet sequence to obtain redundant data packets;

[0077] The redundant data packet and the original data packet sequence are constructed as a target data packet sequence.

[0078] For example, the computer device may combine each data packet in the redundant data packet and each data packet in the original data packet into a target data packet sequence.

[0079] In one possible implementation, a computer device obtains an original data packet sequence based on the same file request of each user in a target multicast user group, and redundantly encodes the original data packet sequence through a redundant encoding processing method of an erasure code. Assuming that the original data packet sequence is n different data packets, where n>=1, then m redundant data packets are obtained through the redundant encoding processing method of an erasure code, where m>=1, and the sequence length of the obtained target data packet sequence is m+n>=2 data packets. According to the principle of erasure codes, any failure to transmit less than or equal to m data packets during the transmission process will not affect the successful decoding of the original file by each user in the multicast user group. The target data packet sequence obtained after encoding with the erasure code can be expressed by the following formula:

[0080] F={f 1 ,f 2 ,......,f n ,f n+1 ,......,f n+m ,};

[0081] Where F represents the target data packet sequence, there are m+n data packets in F, and f j Represents the jth data packet in the target data packet sequence, j∈[1,m+n].

[0082] Erasure codes allow a certain proportion of packet loss to occur at the receiving end (i.e., the target multicast user group) without affecting the final successful decoding of the original file, further improving the success rate of data file transmission. This application uses but is not limited to erasure codes for redundant coding processing. Of course, similar redundant coding processing effects can also be achieved through other coding processing methods, that is, a certain number of redundant data packets are generated through redundant coding processing, so that the original data can still be successfully decoded when a certain amount of data packets are lost. The redundant coding processing method of erasure codes is taken as an example in this application, which does not mean that this is the only redundant coding processing method.

[0083] Step 303: Send the target data packet sequence to the target multicast user group, and receive feedback information from the target multicast user group, where the feedback information is used to indicate the data packet reception status of each user in the target multicast user group.

[0084] In a possible implementation, the feedback information includes: the ID number of each user, the number of each data packet, and the transmission status of each data packet.

[0085] Further, the computer device sends the target data packet sequence to the target multicast user group. For each transmitted data packet in the target data packet sequence, each user in the target multicast user group reports feedback information through the feedback channel in NR-V2X according to the completion status. The feedback information includes the ID number of each user, each data packet number, and the transmission status of each data packet. The feedback information is composed of a plurality of feedback sub-information, each feedback sub-information includes the ID number of the current user, the current data packet number, and the transmission status of the current data packet, as shown below:

[0086] Feedback={VID,PID,PS i,j};

[0087] Among them, Feedback represents the feedback sub-information, VID is the ID number of the current user, PID represents the current data packet number, PS i,j =∈[0,1], PS i,j Indicates the transmission status of the data packet numbered j at the user with ID number i. If it is 1, it means that the data packet is successfully received, and if it is 0, it means that the data packet is not successfully received.

[0088] Step 304: Determine the retransmission users who need to perform a retransmission operation in the target multicast user group according to the feedback information.

[0089] In a possible implementation manner, when the feedback information indicates that the number of data packets received by the target user is less than a data packet reception number threshold, it is determined that the target user needs to perform a retransmission operation.

[0090] Furthermore, the target user is any user in the target multicast user group. After completing the transmission of all data packets in the target data packet sequence, all received feedback sub-information is counted. First, the data packet reception status of each user is counted to obtain its file reception status. If the number of received data packets reaches the minimum requirement for decoding the file (i.e., the data packet reception number threshold), it is considered that the user can successfully decode the original file and does not need to retransmit; if the number of received data packets does not reach the minimum requirement for decoding the file (i.e., the data packet reception number threshold), it is considered that the user cannot successfully decode the original file and needs to retransmit, which can be expressed by the following formula:

[0091]

[0092] Among them, FS i =∈[0,1],FS i Indicates whether the user with ID number i needs to retransmit. If it is 1, it does not need to retransmit, and if it is 0, it needs to retransmit. i,j =∈[0,1], PS i,j Indicates the transmission status of the data packet numbered j at the user with ID number i. If it is 1, it means that the data packet is successfully received, and if it is 0, it means that the data packet is not successfully received, j∈[1,m+n].

[0093] Step 305: For each data packet, obtain a target number of transmission failures for transmitting the data packet to each retransmission user.

[0094] Furthermore, the number of transmission failures of each data packet in the target data packet sequence in the user who needs to perform a retransmission operation is obtained, and the retransmission value of each data packet is obtained according to the number of transmission failures. For example, assuming that there are w retransmission users, and p of the w retransmission users fail to successfully receive the jth data packet in the target data packet sequence, then the number of transmission failures of the jth data packet in the target data packet sequence is p.

[0095] Step 306: Obtain the retransmission value of each data packet according to the target transmission failure number of each data packet.

[0096] The retransmission value is used to indicate the importance of the retransmission operation of the data packet for users to decode the original file. The larger the retransmission value is, the more users can successfully decode the original file after retransmitting the data packet.

[0097] In a possible implementation, the target number of transmission failures of each data packet is respectively determined as the retransmission value of each data packet.

[0098] Specifically, the retransmission value of each data packet can be obtained by the following formula:

[0099] V = {v 1 , v 2 ,......, v n , v n+1 ,......, v m+n};

[0100]

[0101] Among them, V represents the retransmission value statistical list of all data packets in the target data packet sequence, and v j is the retransmission value of the data packet numbered j, and k represents the number of users in the multicast user group.

[0102] Step 307: Based on the retransmission values of each data packet, select the data packets to be retransmitted in the target data packet sequence, and perform a retransmission operation on the data packets to be retransmitted.

[0103] In a possible implementation manner, based on the communication resource amount, obtain the target number of data packets that can be retransmitted;

[0104] Based on the high and low of the retransmission value, sort the data packets to be retransmitted in descending order, and obtain the sorting result;

[0105] Obtain the first target number of data packets to be retransmitted in the sorting result, and perform a retransmission operation on the first target number of data packets to be retransmitted.

[0106] Specifically, in the case of limited transmission resources, the sender cannot allocate enough resources for the transmission of all data packets with packet losses. Assume that the communication resource amount available for the sender to retransmit data packets can satisfy a sequence of L data packets to be retransmitted, that is, L data packets to be retransmitted can be selected for retransmission operation. Sort the retransmission value results obtained from the m + n data packets in the target data packet sequence from high to low, select the first L numbers of the data packets to be retransmitted with non-zero retransmission values, and perform a retransmission operation on the corresponding data packets to be retransmitted. When the number of data packets to be retransmitted with non-zero retransmission values is Q < L, select the corresponding Q data packets to be retransmitted for retransmission operation. These Q data packets to be retransmitted are the optimal subset of the retransmission requirements of different users, and can use limited retransmission resources to complete the data packet retransmission with the greatest utility, improving the decoding success rate of file data.

[0107] In summary, on the one hand, the present application obtains the target data packet sequence by performing redundant encoding processing on the original data packet sequence, allowing a certain proportion of packet loss to occur at the receiving end without affecting the final successful decoding of the original file, thereby further improving the success rate of data file transmission; on the other hand, the present application selects the data packet to be retransmitted in the target data packet sequence according to the feedback information, and performs a retransmission operation. In the case of limited communication resources, the data packet to be retransmitted is selected, and the maximum retransmission needs can be met with a limited amount of communication resources, thereby improving the efficiency of the retransmission service and reducing the communication resource occupancy of the retransmission process.

[0108] Figure 4 is a structural block diagram of a multicast retransmission device according to an exemplary embodiment, including:

[0109] The original data packet sequence acquisition module 401 is used to acquire the original data packet sequence based on the file request of the target multicast user group.

[0110] The target data packet sequence acquisition module 402 is used to perform redundant coding processing on the original data packet sequence to acquire a target data packet sequence.

[0111] The feedback information acquisition module 403 is used to send the target data packet sequence to the target multicast user group and receive feedback information from the target multicast user group. The feedback information is used to indicate the data packet reception status of each user in the target multicast user group.

[0112] The retransmission operation module 404 is used to select a data packet to be retransmitted from the target data packet sequence and perform a retransmission operation on the data packet to be retransmitted.

[0113] In a possible implementation, the target data packet sequence acquisition module 402 is further configured to:

[0114] The original data packet sequence is subjected to redundancy encoding processing to obtain redundant data packets.

[0115] The redundant data packet and the original data packet sequence are constructed as a target data packet sequence.

[0116] In a possible implementation, the feedback information includes: the ID number of each user, the number of each data packet, and the transmission status of each data packet.

[0117] In a possible implementation, the retransmission operation module 404 is further configured to:

[0118] Determine, according to the feedback information, a retransmission user in the target multicast user group that needs to perform a retransmission operation;

[0119] For each data packet, obtaining a target number of transmission failures for transmitting the data packet to each retransmission user;

[0120] Obtaining the retransmission value of each data packet according to the target transmission failure number of each data packet;

[0121] Based on the retransmission value of each data packet, a data packet to be retransmitted is selected from the target data packet sequence.

[0122] In a possible implementation, the retransmission operation module 404 is further configured to:

[0123] When the feedback information indicates that the number of data packets received by the target user is less than the data packet reception number threshold, it is determined that the target user needs to perform a retransmission operation.

[0124] In a possible implementation, the retransmission operation module 404 is further configured to:

[0125] The target number of transmission failures for each data packet is respectively determined as the retransmission value of each data packet.

[0126] In a possible implementation, the retransmission operation module 404 is further configured to:

[0127] Based on the amount of communication resources, a target number of data packets that can be retransmitted is obtained;

[0128] Based on the retransmission value, the data packets to be retransmitted are sorted in descending order, and the sorting result is obtained;

[0129] The data packets to be retransmitted of the previous target number in the sorting result are obtained, and a retransmission operation is performed on the data packets to be retransmitted of the previous target number.

[0130] In summary, on the one hand, the present application obtains the target data packet sequence by performing redundant encoding processing on the original data packet sequence, allowing a certain proportion of packet loss to occur at the receiving end without affecting the final successful decoding of the original file, thereby further improving the success rate of data file transmission; on the other hand, the present application selects the data packet to be retransmitted in the target data packet sequence according to the feedback information, and performs a retransmission operation. In the case of limited communication resources, the data packet to be retransmitted is selected, and the maximum retransmission needs can be met with a limited amount of communication resources, thereby improving the efficiency of the retransmission service and reducing the communication resource occupancy of the retransmission process.

[0131] Figure 5The structural block diagram of a computer device 500 shown in an exemplary embodiment of the present application is shown. The computer device can be implemented as the network side device in the above-mentioned solution of the present application. The computer device 500 includes a central processing unit (CPU) 501, a system memory 504 including a random access memory (RAM) 502 and a read-only memory (ROM) 503, and a system bus 505 connecting the system memory 504 and the central processing unit 501. The computer device 500 also includes a large-capacity storage device 506 for storing an operating system 509, an application program 510 and other program modules 511.

[0132] The mass storage device 506 is connected to the central processing unit 501 via a mass storage controller (not shown) connected to the system bus 505. The mass storage device 506 and its associated computer readable medium provide non-volatile storage for the computer device 500. That is, the mass storage device 506 may include a computer readable medium (not shown) such as a hard disk or a compact disc read-only memory (CD-ROM) drive.

[0133] Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, Erasable Programmable Read Only Memory (EPROM), Electronically-Erasable Programmable Read-Only Memory (EEPROM) flash memory or other solid-state storage technology, CD-ROM, Digital Versatile Disc (DVD) or other optical storage, cassettes, tapes, disk storage or other magnetic storage devices. Of course, those skilled in the art will know that the computer storage medium is not limited to the above. The above-mentioned system memory 504 and mass storage device 506 can be collectively referred to as memory.

[0134] According to various embodiments of the present disclosure, the computer device 500 can also be connected to a remote computer on the network through a network such as the Internet. That is, the computer device 500 can be connected to the network 508 through the network interface unit 507 connected to the system bus 505, or the network interface unit 507 can be used to connect to other types of networks or remote computer systems (not shown).

[0135] The memory also includes at least one computer program, which is stored in the memory. The central processing unit 501 implements all or part of the steps in the methods shown in the above embodiments by executing the at least one computer program.

[0136] In an exemplary embodiment, a computer-readable storage medium is also provided, which is used to store at least one computer program, and the at least one computer program is loaded and executed by a processor to implement all or part of the steps in the above method. For example, the computer-readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.

[0137] In an exemplary embodiment, a computer program product or a computer program is also provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the above-mentioned Figure 2 or Figure 3 All or part of the steps of the method shown in any embodiment.

[0138] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary technical means in the art that are not disclosed in the present application.

[0139] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A multicast retransmission method, It is characterized in that include: Based on the target file request of the target multicast user group, an original data packet sequence is obtained; Performing redundant encoding processing on the original data packet sequence to obtain a target data packet sequence; Sending the target data packet sequence to the target multicast user group, and receiving feedback information from the target multicast user group, wherein the feedback information is used to indicate the data packet reception status of each user in the target multicast user group; The feedback information includes: the ID number of each user, the number of each data packet and the transmission status of each data packet; According to the feedback information, selecting a data packet to be retransmitted from the target data packet sequence, and performing a retransmission operation on the data packet to be retransmitted; The performing redundant encoding processing on the original data packet sequence to obtain a target data packet sequence includes: Performing redundant encoding processing on the original data packet sequence to obtain redundant data packets; Constructing the redundant data packets and the original data packet sequence into a target data packet sequence; The step of selecting a data packet to be retransmitted from the target data packet sequence according to the feedback information comprises: Determining, according to the feedback information, a retransmitting user in the target multicast user group that needs to perform a retransmission operation; For each data packet, obtaining a target number of transmission failures for transmitting the data packet to each retransmission user; Obtaining a retransmission value of each data packet according to a target number of transmission failures of each data packet; Based on the retransmission value of each data packet, selecting a data packet to be retransmitted in the target data packet sequence; the retransmission value is used to indicate the importance of the retransmission operation of the data packet for the user to decode the original file; The retransmission value of each data packet is obtained by the following formula: ; ; Where V represents the retransmission value statistics list of all data packets in the target data packet sequence, v j is the retransmission value of the data packet numbered j, k is the number of users in the multicast user group; FS i =0 or 1, FS i Indicates whether the user with ID number i needs to retransmit. If it is 1, it does not need to retransmit, and if it is 0, it needs to retransmit. i,j = 0 or 1, PS i,j Indicates the transmission status of the data packet numbered j at the user with ID number i. If it is 1, it means that the data packet is successfully received, and if it is 0, it means that the data packet is not successfully received. [1,m+n], n represents the number of data packets in the original data packet sequence, and m represents the number of redundant data packets obtained by redundant encoding processing of erasure codes.

2. The method according to claim 1, It is characterized in that The step of determining, according to the feedback information, a user in the target multicast user group who needs to perform a retransmission operation includes: When the feedback information indicates that the number of data packets received by the target user is less than a data packet reception number threshold, it is determined that the target user needs to perform a retransmission operation.

3. The method according to claim 1, It is characterized in that The obtaining the retransmission value of each data packet according to the target transmission failure number of each data packet includes: The target number of transmission failures of each data packet is respectively determined as the retransmission value of each data packet.

4. The method according to claim 3, It is characterized in that The performing a retransmission operation on the data packet to be retransmitted includes: Based on the amount of communication resources, a target number of data packets that can be retransmitted is obtained; Arrange the data packets to be retransmitted in descending order based on the retransmission value, and obtain the sorting result; A front target number of data packets to be retransmitted in the sorting result is obtained, and a retransmission operation is performed on the front target number of data packets to be retransmitted.

5. A multicast retransmission device, It is characterized in that include: An original data packet sequence acquisition module is used to acquire an original data packet sequence based on a file request of a target multicast user group; A target data packet sequence acquisition module is used to perform redundant encoding processing on the original data packet sequence to acquire a target data packet sequence; A feedback information acquisition module, used to send the target data packet sequence to the target multicast user group, and receive feedback information from the target multicast user group, wherein the feedback information is used to indicate the data packet reception status of each user in the target multicast user group; The feedback information includes: the ID number of each user, the number of each data packet and the transmission status of each data packet; A retransmission operation module, used for selecting a data packet to be retransmitted from the target data packet sequence, and performing a retransmission operation on the data packet to be retransmitted; The target data packet sequence acquisition module is further used for: Performing redundant encoding processing on the original data packet sequence to obtain redundant data packets; Constructing the redundant data packets and the original data packet sequence into a target data packet sequence; The retransmission operation module is further used for: Determining, according to the feedback information, a retransmitting user in the target multicast user group that needs to perform a retransmission operation; For each data packet, obtaining a target number of transmission failures for transmitting the data packet to each retransmission user; Obtaining a retransmission value of each data packet according to a target number of transmission failures of each data packet; Based on the retransmission value of each data packet, selecting a data packet to be retransmitted in the target data packet sequence; the retransmission value is used to indicate the importance of the retransmission operation of the data packet for the user to decode the original file; The retransmission value of each data packet is obtained by the following formula: ; ; Where V represents the retransmission value statistics list of all data packets in the target data packet sequence, v j is the retransmission value of the data packet numbered j, k is the number of users in the multicast user group; FS i =0 or 1, FS i Indicates whether the user with ID number i needs to retransmit. If it is 1, it does not need to retransmit, and if it is 0, it needs to retransmit. i,j = 0 or 1, PS i,j Indicates the transmission status of the data packet numbered j at the user with ID number i. If it is 1, it means that the data packet is successfully received, and if it is 0, it means that the data packet is not successfully received. [1,m+n], n represents the number of data packets in the original data packet sequence, and m represents the number of redundant data packets obtained by redundant encoding processing of erasure codes.

6. A computer device, It is characterized in that include: at least one processor and a memory communicatively coupled to the at least one processor; The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor performs the steps of a multicast retransmission method as described in any one of claims 1-4.

7. A computer-readable storage medium having a computer program stored thereon, It is characterized in that When the computer program is executed by a processor, the steps of a multicast retransmission method according to any one of claims 1 to 4 are implemented.

Citation Information

Patent Citations

  • Data communication system for real-time multicast service and method thereof

    CN102752184A

  • Satellite network reliable multicast method based on network coding

    CN105391530A

  • Data packet transmission method and device, and storage medium

    CN112804028A