Random network coding method and device based on coding dimension interval constraint, storage medium and computer equipment
By introducing a coding dimension range constraint in adaptive random network coding and dynamically adjusting the coding dimension, the problem of excessive decoding complexity at the receiver is solved, and efficient data recovery and computational resource optimization are achieved under unequal error protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- JIANGSU UNIV OF TECH
- Filing Date
- 2026-03-23
- Publication Date
- 2026-07-10
AI Technical Summary
Existing adaptive random network coding methods have excessively high decoding complexity and computational burden at the receiver, and cannot effectively control decoding complexity while ensuring unequal error protection, making it difficult to balance transmission efficiency with terminal computing power constraints.
By introducing encoding dimension range constraints, the actual encoding dimension is dynamically adjusted through preset lower and upper bounds to ensure that the size of the decoding matrix is within a controllable range. The encoding dimension is adaptively selected in combination with network state information to generate encoded data packets and perform decoding.
It significantly reduces the decoding complexity and computational latency at the receiver, ensures data recovery performance, achieves a dynamic balance between transmission efficiency and decoding complexity, and adapts to changes in channel quality.
Smart Images

Figure CN122373052A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of network communication and network coding technology, and in particular to a random network coding method and apparatus, storage medium, and computer equipment based on coding dimension interval constraints. Background Technology
[0002] With the rapid development of wireless communication technology and smart terminals, scenarios such as vehicle-to-everything (V2X), video broadcasting, and multicast distribution place higher demands on the reliability and real-time performance of data transmission. In these scenarios, network topology changes dynamically, wireless link quality fluctuates frequently, and receiving terminals (such as vehicle-mounted units) typically have limited computing resources and strict power consumption constraints. To address packet loss and improve transmission efficiency, Random Linear Network Coding (RLNC) and its adaptive variant (ARNC) are widely used in data broadcasting and multicast transmission. This type of technology, by introducing random coding coefficients into linear combinations, can improve the probability of data recovery without requiring feedback retransmissions, adapting to dynamic network environments.
[0003] However, existing adaptive random network coding methods still have significant shortcomings in practical applications. To meet the requirements of Unequal Error Protection (UEP) or improve data recovery capabilities, traditional methods typically expand the coding coverage by increasing the coding dimension k, allowing important data packets to appear in more coding combinations. However, this approach directly leads to a synchronous increase in the size of the decoding matrix at the receiving end, and the computational complexity of matrix solving increases exponentially (typically O(k³)), placing a heavy burden on receiving terminals with limited computing power. At the same time, traditional methods only use a single coding dimension parameter, lacking an effective constraint mechanism on the coding dimension, making it impossible to control the upper limit of decoding complexity while ensuring UEP capabilities, and making it difficult to achieve a balance between transmission efficiency and terminal computing power constraints. Summary of the Invention
[0004] In view of this, this application provides a random network coding method, apparatus, storage medium, and computer device based on coding dimension interval constraints. By introducing a preset coding dimension interval consisting of a lower bound and an upper bound of the coding dimension, the actual coding dimension is dynamically adjusted within a controllable range. On the one hand, the existence of the upper bound of the coding dimension sets a clear upper limit on the size of the decoding matrix, limiting the worst-case decoding complexity at the receiver from the uncontrollable growth of traditional schemes to O(k). up (³) This significantly reduces the computational burden on the terminal and computational latency. On the other hand, the lower bound of the coding dimension ensures coding coverage and avoids data recovery performance degradation due to excessive dimensional constraints. At the same time, the actual coding dimension is adaptively selected based on network state information within the preset coding dimension range, enabling the system to dynamically balance transmission efficiency and decoding complexity when channel quality changes.
[0005] According to one aspect of this application, a random network coding method based on coding dimension interval constraints is provided, comprising: The data to be transmitted is divided into multiple data batches, where each data batch includes multiple raw data packets; For each data batch, the current actual encoding dimension of the data batch is dynamically determined within a preset encoding dimension range based on the current network status information. From the data batch, the original data packets with the same number of actual encoding dimensions as the current batch are repeatedly selected, and the multiple original data packets selected each time are linearly combined using random encoding coefficients to generate encoded data packets; Each generated encoded data packet is sent to the receiving end, so that when the receiving end determines that the number of received linearly independent packets has reached the current actual encoding dimension, it constructs a decoding matrix based on the random encoding coefficients carried in the linearly independent packets, and recovers all the original data packets in the data batch through the decoding matrix.
[0006] According to another aspect of this application, a random network coding apparatus based on coding dimension interval constraints is provided, comprising: The data partitioning module is used to divide the data to be transmitted into multiple data batches, where each data batch includes multiple raw data packets; The encoding dimension determination module is used to dynamically determine the current actual encoding dimension of each data batch within a preset encoding dimension range based on the current network status information. The encoding module is used to repeatedly select original data packets from the data batch that are equal to the number of the current actual encoding dimensions, and use random encoding coefficients to linearly combine the multiple original data packets selected each time to generate encoded data packets; The data sending module is used to send each generated encoded data packet to the receiving end, so that when the receiving end determines that the number of received linearly independent packets has reached the current actual encoding dimension, it constructs a decoding matrix based on the random encoding coefficients carried in the linearly independent packets, and recovers all the original data packets in the data batch through the decoding matrix.
[0007] According to another aspect of this application, a storage medium is provided that stores a computer program thereon, which, when executed by a processor, implements the above-described random network coding method based on coding dimension interval constraints.
[0008] According to another aspect of this application, a computer device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor executes the program to implement the above-described random network coding method based on coding dimension interval constraints.
[0009] By employing the above technical solution, this application provides a random network coding method, apparatus, storage medium, and computer device based on coding dimension interval constraints. By introducing a preset coding dimension interval consisting of a lower bound and an upper bound, the actual coding dimension is dynamically adjusted within a controllable range. On one hand, the existence of the upper bound of the coding dimension sets a clear upper limit on the size of the decoding matrix, limiting the worst-case decoding complexity at the receiver from the uncontrollable growth of traditional schemes to O(k). up (³) This significantly reduces the computational burden on the terminal and computational latency. On the other hand, the lower bound of the coding dimension ensures coding coverage and avoids data recovery performance degradation due to excessive dimensional constraints. At the same time, the actual coding dimension is adaptively selected based on network state information within the preset coding dimension range, enabling the system to dynamically balance transmission efficiency and decoding complexity when channel quality changes.
[0010] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0011] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 A flowchart illustrating a random network coding method based on coding dimension interval constraints provided in an embodiment of this application is shown. Figure 2 This paper presents a schematic diagram showing the comparison of decoding complexity between a traditional ARNC method and the solution of this application under different actual encoding dimensions according to an embodiment of this application. Figure 3 This illustration shows a normalized decoding complexity comparison result provided by an embodiment of this application; Figure 4 This illustration shows a schematic diagram of a random network coding device based on coding dimension interval constraints provided in an embodiment of this application; Figure 5 A schematic diagram of the device structure of a computer device provided in an embodiment of this application is shown. Detailed Implementation
[0012] The present application will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the embodiments of the present application can be combined with each other.
[0013] This embodiment provides a random network coding method based on coding dimension interval constraints, such as... Figure 1 As shown, the method includes: Step 101: Divide the data to be transmitted into multiple data batches, wherein each data batch includes multiple raw data packets.
[0014] Step 102: For each data batch, dynamically determine the current actual encoding dimension of the data batch within a preset encoding dimension range based on the current network status information.
[0015] Step 103: Repeatedly select original data packets from the data batch that are equal to the current actual number of encoding dimensions, and use random encoding coefficients to linearly combine the multiple original data packets selected each time to generate encoded data packets.
[0016] Step 104: Send each generated encoded data packet to the receiving end so that when the receiving end determines that the number of received linearly independent packets has reached the current actual encoding dimension, it constructs a decoding matrix based on the random encoding coefficients carried in the linearly independent packets, and recovers all the original data packets in the data batch through the decoding matrix.
[0017] This application provides a random network coding method based on encoding dimension interval constraints. First, the data to be transmitted is divided into multiple data batches, each containing multiple raw data packets. This divides the continuous data stream into independently processed basic units, facilitating subsequent encoding and decoding operations. Here, raw data packets refer to unencoded initial data units, such as a video frame slice in a video stream or a data block in a file; these are the target objects that the receiving end ultimately needs to recover. By batch processing, the encoding and decoding problem of large-scale data can be decomposed into multiple sub-problems that can be processed in parallel or independently, reducing the complexity of a single processing step and facilitating flexible scheduling in dynamic network environments.
[0018] For each data batch, the current actual coding dimension can be dynamically determined within a preset coding dimension range based on the current network status information. Here, network status information can include parameters reflecting the current transmission environment quality, such as channel packet loss rate, network bandwidth, and node density. The current actual coding dimension refers to the number of original data packets involved in generating a single coded data packet, which determines the amount of information contained in each coded data packet and the scale of the equations required for decoding. The preset coding dimension range consists of a lower bound and an upper bound. The lower bound ensures coding coverage to avoid excessively sparse coding leading to decreased recovery performance, while the upper bound limits the maximum size of the decoding matrix to prevent excessive decoding complexity. The sending end dynamically adjusts the current actual coding dimension within the preset coding dimension range based on the network status information. For example, a smaller actual coding dimension is chosen when the packet loss rate is high to lower the decoding threshold at the receiving end, while a larger actual coding dimension is chosen when the channel quality is good to improve transmission efficiency.
[0019] After determining the actual coding dimension of the current data batch, the sender can repeatedly select an equal number of raw data packets from the batch, and then linearly combine these selected raw data packets using random coding coefficients to generate coded data packets. Here, for each data batch, the sender does not generate only one coded data packet, but continuously performs the "select-encode" operation multiple times, generating a series of coded data packets. The random coding coefficients are values randomly generated over a finite field; they determine the weight of each raw data packet in the coding combination, and these coefficients can be carried in the header of the coded data packets and sent to the receiver. Linear combination refers to multiplying the selected raw data packets by their respective random coding coefficients and then summing them to generate a new coded data packet. In this way, the sender can continuously generate coded data packets with different random coding coefficients, providing the receiver with diverse information.
[0020] For example, suppose a data batch contains three original data packets A, B, and C, and the current actual encoding dimension k=3. The sender can repeatedly randomly select three original data packets from {A,B,C} and linearly combine them to generate and send multiple encoded data packets. A random encoding coefficient [1,1,1] indicates that the encoded data packet is formed by linearly combining original data packets A, B, and C with equal weights; a random encoding coefficient [2,1,3] indicates that the encoded data packet is formed by multiplying A, B, and C by coefficients 2, 1, and 3 respectively, and then adding them together. It should be noted that if any element in the random encoding coefficient is 0, it means that the corresponding original data packet did not participate in this encoding combination.
[0021] The sending end sequentially sends each generated encoded data packet to the receiving end. During continuous packet reception, the receiving end can filter out linearly independent packets. A linearly independent packet is an encoded data packet whose random coding coefficients cannot be linearly represented by the random coding coefficients of other received encoded data packets; it is essential information for decoding. The receiving end can continuously count the number of linearly independent packets. When this number reaches the current actual coding dimension, it means that the receiving end has collected a sufficient number of independent equations, and decoding can begin. The receiving end extracts random coding coefficients from these linearly independent packets to construct a decoding matrix, and then uses the decoding matrix to reconstruct all the original data packets in that data batch.
[0022] By applying the technical solution of this embodiment, and by introducing a preset encoding dimension range consisting of a lower bound and an upper bound of the encoding dimension, the actual encoding dimension is always dynamically adjusted within a controllable range. On the one hand, the existence of the upper bound of the encoding dimension sets a clear upper limit on the size of the decoding matrix, limiting the decoding complexity at the receiver in the worst case from the uncontrollable growth of traditional schemes to O(k). up (³) This significantly reduces the computational burden on the terminal and computational latency. On the other hand, the lower bound of the coding dimension ensures coding coverage and avoids data recovery performance degradation due to excessive dimensional constraints. At the same time, the actual coding dimension is adaptively selected based on network state information within the preset coding dimension range, enabling the system to dynamically balance transmission efficiency and decoding complexity when channel quality changes.
[0023] Optionally, in this embodiment of the application, step 102, "dynamically determining the current actual coding dimension of the data batch within a preset coding dimension range based on the current network status information," includes: obtaining at least one channel quality parameter among the current channel packet loss rate, network bandwidth, and network latency; obtaining at least one network topology parameter among the current number of nodes, node density, and node utilization in the network; obtaining at least one decoding status parameter among the decoding success rate, receiver buffer occupancy rate, and retransmission request count fed back by the receiver; using the channel quality parameter, the network topology parameter, and the decoding status parameter as the network status information; and dynamically determining the current actual coding dimension of the data batch within the preset coding dimension range based on the network status information.
[0024] In this embodiment, before determining the current actual coding dimension, at least one channel quality parameter can be obtained from the following: packet loss rate, network bandwidth, and network latency. Packet loss rate refers to the proportion of data packets lost during transmission, directly reflecting the reliability and interference level of the channel; network bandwidth represents the amount of data the channel can transmit per unit time, determining the upper limit of the system's transmission capacity; and network latency refers to the transmission time required for data packets to travel from the sender to the receiver, reflecting the channel's real-time performance. These channel quality parameters collectively constitute a quantitative description of the current transmission link state, providing a fundamental physical layer basis for subsequent adjustments to the actual coding dimension.
[0025] The system acquires at least one network topology parameter from the following: number of nodes, node density, and node utilization. The number of nodes refers to the total number of active terminals within the current communication range; node density reflects the density of terminal distribution within a unit area; and node utilization represents the proportion of network resources being used. These topology parameters effectively characterize the network's congestion and interference levels. For example, in scenarios with high node density, increased channel contention may lead to higher packet loss rates. In such cases, the actual coding dimension can be appropriately adjusted to adapt to more complex network environments. By introducing network topology parameters, the system can perceive the network status from a global perspective, avoiding reliance solely on channel quality while ignoring the impact of changes in the network's own structure.
[0026] It can also obtain at least one decoding status parameter from the receiver, including decoding success rate, receiver cache utilization, and retransmission request count. The decoding success rate refers to the proportion of data batches successfully recovered by the receiver, directly reflecting the effectiveness of the current actual encoding dimension; the cache utilization rate reflects the tightness of the receiver's storage resources; when the cache is nearing saturation, the actual encoding dimension can be reduced to decrease data accumulation; and the retransmission request count indirectly indicates the severity of data loss. This feedback information from the receiver constitutes a key link in the closed-loop adjustment, enabling the sender to understand the actual processing capacity and decoding effect of the receiver in real time, thereby achieving more precise adaptive adjustments.
[0027] Then, the acquired channel quality parameters, network topology parameters, and decoding state parameters can be combined as the network state information at the current moment. Compared with traditional methods that rely on only a single type of parameter, this multi-dimensional fusion mechanism can more comprehensively reflect the true state of the network and avoid inappropriate selection of actual coding dimensions due to incomplete information.
[0028] Based on the fused network state information, the actual coding dimension of the current data batch is dynamically determined within a preset coding dimension range consisting of a lower bound and an upper bound. The transmitter can flexibly adjust the actual coding dimension value based on real-time perceived multi-dimensional network state information, ensuring that coding coverage is not lower than the lower bound and decoding complexity does not exceed the upper bound. For example, when channel quality is good, network load is light, and receiver processing capacity is sufficient, a larger coding dimension close to the upper bound can be selected to improve transmission efficiency; conversely, when channel quality deteriorates or receiver buffering is strained, a smaller coding dimension close to the lower bound is selected to ensure basic data recoverability.
[0029] This application's embodiments construct a multi-dimensional network state awareness mechanism by fusing three types of parameters: channel quality, network topology, and receiver decoding status. This makes the selection of the actual coding dimension more comprehensive and accurate, enabling the system to achieve more robust adaptive adjustment in complex and ever-changing network environments. Simultaneously, since the actual coding dimension is always limited to a preset coding dimension range, the decoding complexity at the receiver is strictly controlled within a predictable range, ultimately achieving an effective balance between transmission efficiency, decoding complexity, and system stability.
[0030] In this embodiment of the application, optionally, the network status information includes packet loss rate; step 102, "dynamically determining the current actual encoding dimension of the data batch within a preset encoding dimension range based on the current network status information," includes: The current actual encoding dimension of the data batch is calculated based on the following formula: ; in, k Indicates the current actual encoding dimension. This represents the lower bound of the preset encoding dimension interval. This represents the upper bound of the preset encoding dimension interval. This indicates the packet loss rate.
[0031] In this embodiment, when the packet loss rate is low, the factor approaches 1, and the current actual coding dimension is close to the upper bound, so as to make full use of the good channel to improve transmission efficiency. When the packet loss rate is high, the factor decreases, and the current actual coding dimension moves closer to the lower bound. By reducing the current actual coding dimension, the number of independent equations required for decoding at the receiver is reduced, thereby improving data recoverability under poor channel conditions. This linear mapping relationship achieves a smooth linkage between the current actual coding dimension and channel quality, avoiding drastic jumps in the current actual coding dimension caused by instantaneous channel fluctuations.
[0032] In this embodiment of the application, optionally, the step 103 of "repeatedly selecting original data packets from the data batch that are equal to the current actual number of encoding dimensions" includes: obtaining the priority label of each original data packet in the data batch, and configuring different selection probability weights for original data packets of different priorities according to the priority label; and repeatedly randomly selecting original data packets from the data batch that are equal to the current actual number of encoding dimensions based on the selection probability weights.
[0033] In this embodiment, before selecting raw data packets from the current data batch, the priority tags of each raw data packet in the batch can be obtained. The priority tag is a quantifiable indicator of the importance of the raw data packet. For example, in video transmission, raw data packets corresponding to keyframes can be marked as high priority, while raw data packets corresponding to ordinary frames are marked as low priority. Then, based on the priority tags, different selection probability weights can be configured for raw data packets of different priorities. The selection probability weight determines the likelihood of each raw data packet being selected in the subsequent random sampling process. High-priority raw data packets can be assigned higher selection probability weights, meaning they have a greater chance of entering the encoding combination, while low-priority raw data packets can be assigned lower weights. This mechanism directly links the allocation of encoding resources to the importance of the data, achieving differentiated treatment of important data without changing the total encoding dimension.
[0034] Furthermore, based on selection probability weights, original data packets equal to the current actual number of coding dimensions can be repeatedly and randomly drawn from this data batch. Specifically, each draw independently selects original data packets based on their selection probability weights, choosing original data packets equal to the actual number of coding dimensions to form a single coded data packet. Because high-priority original data packets have higher selection probability weights, they appear more frequently in multiple draws, thus being covered more frequently in the generated coded data packets. This random drawing method based on selection probability weights changes the implementation of UEP from "relying on large k to expand coverage" to "relying on weights to control the frequency of occurrence," enabling important data to receive stronger protection even without increasing the coding dimension.
[0035] This application's embodiments decouple the unequal error protection mechanism from the actual coding dimension by introducing priority labels and selection probability weights. Under the premise that the actual coding dimension is constrained by a preset coding dimension range, it can still achieve differentiated protection for important data.
[0036] In this embodiment of the application, optionally, the data to be transmitted is a continuous video frame; the step of "obtaining the priority label of each original data packet in the data batch" includes: performing target detection and tracking on multiple original data packets in the data batch, identifying dynamic targets, and calculating the collision risk coefficient of each dynamic target based on the type, size, and movement speed of each dynamic target; determining the spatial correlation between the region corresponding to each original data packet and the dynamic target based on the spatial position occupied by the dynamic target in the continuous video frame, and determining the initial weight of each original data packet based on the spatial correlation and the collision risk coefficient; parsing the encoding structure of the continuous video frame, extracting the frame type, inter-frame reference relationship, and reference depth corresponding to each original data packet, and determining the first correction coefficient of each original data packet based on the frame type, inter-frame reference relationship, and reference depth corresponding to each original data packet; obtaining historical decoding status parameters fed back by the receiving end, calculating the transmission vulnerability coefficient of each original data packet based on the historical decoding status parameters, and determining the second correction coefficient of each original data packet based on the transmission vulnerability coefficient; and determining the priority label of each original data packet based on the initial weight, the first correction coefficient, and the second correction coefficient.
[0037] In this embodiment, the priority label of each raw data packet in the current data batch can be determined as follows: First, target detection and tracking are performed on multiple raw data packets in the current data batch to identify dynamic targets in each raw data packet. Then, based on the type, size, and speed of each dynamic target, a collision risk coefficient is calculated for each dynamic target. Here, the raw data packet can be a coding unit in the corresponding video frame in the video transmission scene, such as the data carried by a slice or macroblock. By performing target detection on the video content represented by these raw data packets, dynamic targets such as pedestrians and vehicles in the scene can be identified, and their type, size, and speed can be further analyzed. The collision risk coefficient is a quantitative indicator calculated based on this information, used to assess the degree of danger of the target in the current scene. For example, a large vehicle rapidly approaching another vehicle has a higher collision risk coefficient than a stationary pedestrian in the distance. This coefficient reflects the importance of the raw data packets in the area where the target is located in terms of safety.
[0038] Next, based on the spatial location of the dynamic target within consecutive video frames, the spatial correlation between the region corresponding to each raw data packet and the dynamic target can be determined. Spatial correlation refers to the degree of overlap or proximity between the area covered by the raw data packet and the area where the dynamic target is located. For example, a raw data packet that exactly contains most of the target vehicle's area has a high spatial correlation, while a raw data packet that only contains the background area has a low spatial correlation. Then, the initial weight of each raw data packet can be determined based on the spatial correlation and the collision risk coefficient. Here, combining spatial correlation and the collision risk coefficient means that raw data packets located in high-risk target areas can be assigned higher initial weights, while raw data packets in background areas far from the target can be assigned lower initial weights. This step maps the importance at the content semantic level to the specific raw data packet level, giving the priority label generation spatial awareness.
[0039] Subsequently, the encoding structure of consecutive video frames can be analyzed to extract the frame type, inter-frame reference relationship, and reference depth corresponding to each raw data packet. In consecutive video frames, frame types can include I-frames, P-frames, B-frames, etc., where I-frames are independently encoded keyframes widely referenced by subsequent frames, while P-frames and B-frames depend on other frames for decoding. Inter-frame reference relationships describe the dependency chain between consecutive video frames, and reference depth quantifies the degree to which a frame is depended upon by subsequent frames. Then, for each raw data packet, a first correction coefficient can be determined based on its corresponding frame type, inter-frame reference relationship, and reference depth. Specifically, the first correction coefficient can be calculated based on this information and used to adjust the initial weight of the raw data packet. For example, a raw data packet corresponding to a keyframe depended upon by a large number of subsequent frames, even if its content does not contain high-risk targets, can be given a positive correction coefficient due to its key position in the decoding dependency chain, thereby increasing its final priority.
[0040] Furthermore, historical decoding status parameters fed back from the receiving end can be obtained, and the transmission vulnerability coefficient of each original data packet can be calculated based on these parameters. These historical decoding status parameters include information such as the number of packet losses, the number of retransmission requests, and the cumulative number of missing packets when decoding failed. This data reflects which original data packets were more likely to be lost or more difficult to decode successfully during past transmissions. The transmission vulnerability coefficient is a quantification of these historical performances; for example, if an original data packet was frequently lost in multiple past transmissions, its transmission vulnerability coefficient is high. Further, a second correction coefficient can be determined for each original data packet based on this transmission vulnerability coefficient. Here, the second correction coefficient can compensate for the priority of the original data packets, giving higher protection priority to those original data packets that exhibited "vulnerability" during transmission, regardless of their content importance or the criticality of their encoding structure. This reflects the system's feedback response to actual transmission quality.
[0041] Subsequently, for each raw data packet, its priority label can be determined based on its corresponding initial weight, first correction coefficient, and second correction coefficient. This fusion process integrates information from three dimensions: content semantic importance, coding structure importance, and historical transmission vulnerability, forming a final priority label. For example, a raw data packet might simultaneously possess a high initial weight for "containing high-risk targets," a positive first correction coefficient for "widely referenced by subsequent frames," and a positive second correction coefficient for "frequent packet loss in history," resulting in a significantly higher final priority than ordinary raw data packets. Conversely, if a raw data packet performs poorly in all three dimensions, its priority is relatively low. Through this multi-dimensional fusion mechanism, the priority label can comprehensively reflect the overall importance of the raw data packet at the content, coding, and transmission levels.
[0042] This application's embodiments construct a comprehensive and refined priority tag generation mechanism by integrating information from three dimensions: content semantics, coding structure, and historical transmission. The content semantic dimension ensures attention to high-risk areas in the image, prioritizing the protection of security-critical information. The coding structure dimension considers the inherent dependencies in video compression, ensuring that important reference frames such as keyframes receive due attention. The historical transmission dimension introduces closed-loop feedback, providing compensatory protection for data packets that are vulnerable during actual transmission. This organic combination overcomes the one-sidedness of traditional single-dimensional priority division, enabling the UEP mechanism to simultaneously consider "what content is important," "what structure is critical," and "what transmission is vulnerable." Under the premise that the actual coding dimension is constrained by a preset coding dimension range, it achieves more intelligent and precise differentiated protection, making it particularly suitable for application scenarios with extremely high security and reliability requirements, such as vehicle-to-everything (V2X) video broadcasting.
[0043] In this embodiment, optionally, the receiving end determines whether the number of received linearly independent packets reaches the current actual coding dimension by: initializing the received coded packet set, and extracting the random coding coefficients carried in the new coded packet each time a new coded data packet is received, and constructing a random coding coefficient vector based on the random coding coefficients; performing linear correlation detection on the random coding coefficient vector and the random coding coefficient vectors corresponding to each existing coded data packet in the received coded packet set; if the detection result indicates that the random coding coefficient vector of the new coded data packet cannot be linearly represented by the random coding coefficient vectors of each existing coded data packet, then the new coded data packet is determined to be a linearly independent packet and added to the received coded packet set; if the detection result indicates that the random coding coefficient vector of the new coded data packet can be linearly represented by the random coding coefficient vectors of each existing coded data packet, then the new coded data packet is determined to be a linearly dependent packet and discarded; counting the number of linearly independent packets in the received coded packet set, and comparing the counted number with the current actual coding dimension; when the counted number is equal to the current actual coding dimension, it is determined that the number of received linearly independent packets has reached the current actual coding dimension.
[0044] In this embodiment, before receiving encoded data packets, the receiving end can initialize a set of received encoded packets. This set is initially empty and is used to store encoded data packets deemed useful. Whenever the sending end delivers a new encoded data packet, the receiving end first parses the header information of the encoded data packet, extracts the random coding coefficients used to generate the packet, and combines these random coding coefficients into a vector. This vector essentially represents the composition information of the encoded data packet; it records which original data packets were mixed from the packet's data in what proportion, serving as the basis for subsequent judgments about whether the packet possesses new information value.
[0045] Next, the receiving end can combine the newly extracted random coding coefficient vector with the random coding coefficient vectors corresponding to all existing coded data packets in the received coded packet set and perform a linear correlation test. This test determines whether the new random coding coefficient vector can be represented by a linear combination of existing random coding coefficient vectors. If it can be represented, it means that the original data packet combination information carried by this new packet is mathematically linearly related to the received original data packet combination information, i.e., it does not provide new independent information; if it cannot be represented, it means that it is a completely new, independent, linearly independent packet. It is important to note that the received coded packet set stores linearly independent packets.
[0046] Specifically, if the detection result indicates that the random coding coefficient vector of the new encoded data packet cannot be linearly represented by the existing random coding coefficient vectors, the receiver determines that the new packet is a linearly independent packet. This means that it adds a new, valid, and independent equation to the decoding equation set, which is indispensable for the final solution of the original data. The receiver can immediately add this linearly independent packet to the set of received encoded packets for storage, waiting for subsequent use in decoding.
[0047] Conversely, if the detection result indicates that the random coding coefficient vector of the new encoded data packet can be linearly represented by the existing random coding coefficient vector, the receiver determines that this new packet is a linearly dependent packet. This means that the information it carries has been covered by previously received packets, and is mathematically redundant, offering no help in advancing the decoding process. To save valuable storage space and unnecessary subsequent computational resources, the receiver can directly discard this redundant packet and not include it in the set of received encoded packets.
[0048] After processing each new packet (whether retained or discarded), the receiving end can count the total number of linearly independent packets in the currently received coded packet set in real time. This count is then compared with the current actual coding dimension k, as provided by the sending end, which represents the total number of independent linear equations required to decipher the original data packets of this data batch.
[0049] When the number of linearly independent packets counted by the receiving end is exactly equal to the current actual encoding dimension k, it can be determined that the number of received linearly independent packets has reached the decoding condition, that is, a sufficient number of mutually independent equations have been collected, forming a full-rank linear equation system, which has all the mathematical conditions for completely recovering the original data packet, and thus can immediately trigger the subsequent decoding matrix construction and data recovery process.
[0050] This application embodiment performs linear correlation detection on each arriving encoded data packet in real time, enabling the receiver to accurately filter out truly valuable information and eliminate redundant data. This packet-by-packet filtering and counting mechanism ensures that decoding is only initiated when the equation system reaches full rank, avoiding decoding failures caused by sufficient packets but linear correlation. Simultaneously, by promptly discarding redundant packets, the receiver's storage space is effectively saved, reducing unnecessary computational burden for subsequent matrix solving and improving overall decoding efficiency.
[0051] Optionally, in this embodiment, step 104, "constructing a decoding matrix based on the random coding coefficients carried in the linearly independent packet, and recovering all the original data packets in the data batch using the decoding matrix," includes: extracting random coding coefficients from the received linearly independent packet; constructing a decoding matrix based on the random coding coefficients; constructing a received coded packet vector based on the data payload of the received linearly independent packet; constructing a linear relationship model between the original data packet vector, the decoding matrix, and the received coded packet vector, wherein the product of the decoding matrix and the original data packet vector is equal to the received coded packet vector; solving the linear relationship model using Gaussian elimination or matrix inversion methods to recover the original data packet vector from the received coded packet vector, so as to recover all the original data packets in the data batch based on the original data packet vector.
[0052] In this embodiment, after the receiving end confirms through linear correlation detection that a sufficient number of linearly independent packets have been collected, the formal decoding and recovery phase can begin. First, the receiving end extracts two types of core information from these retained linearly independent packets: one is the random coding coefficients carried in the header of each packet, and the other is the data payload of each packet. Combining the random coding coefficients of all these linearly independent packets according to their correspondence forms a decoding matrix, where each row represents the composition information of an independent encoded data packet. Simultaneously, combining the data payloads of all encoded data packets forms a received encoded packet vector, which contains all known mixing results. Here, the data payload refers to the actual effective data content carried in the encoded data packets, that is, the mixed data itself obtained after linear combination.
[0053] Next, the receiving end establishes a mathematical model describing the relationship between the unknown and known quantities. Specifically, consider an unknown original data packet vector that contains all the original data packets to be recovered in the current data batch. According to the principles of network coding, the product of the decoding matrix and this original data packet vector should mathematically be equal to the received encoded packet vector. This linear relationship model is essentially a system of linear equations with the original data packets as unknowns, the decoding matrix as the coefficient matrix of the system of equations, and the received encoded packet vector as the constant term. Solving this system of equations yields the original data packet vector.
[0054] After establishing the linear relationship model, the receiving end begins the specific calculations. Common methods include Gaussian elimination and matrix inversion, both standard mathematical tools for solving systems of linear equations. Gaussian elimination transforms the decoding matrix into simplified echelon form through row operations, thus gradually solving for each original data packet. Matrix inversion, on the other hand, assumes the decoding matrix is invertible and directly calculates its inverse matrix, multiplying it by the received encoded packet vector. Regardless of the method used, the goal is to accurately separate and recover each original data packet from the known mixture (received encoded packet vector) through mathematical operations.
[0055] After the calculation is completed, the receiving end obtains the original data packet vector, which contains the complete data of all original data packets in the current data batch. Thus, the receiving end has successfully reconstructed the original, identifiable, and usable data content from a batch of randomly linearly encoded data packets, completing the entire decoding process and providing a complete data foundation for subsequent processing by upper-layer applications.
[0056] Furthermore, to verify the effectiveness of the proposed random network coding method based on coding dimension interval constraints in reducing decoding complexity, relevant simulation experiments were conducted. The simulations were implemented using the MATLAB platform. By constructing the coding matrix and counting the number of operations during Gaussian elimination at the receiver as an indicator of decoding complexity, a comparative analysis was performed between the traditional ARNC method and the proposed scheme.
[0057] In the simulation, the encoding dimension is set to vary within different value ranges, and the trend of decoding complexity is observed by gradually increasing the actual encoding dimension k. Simultaneously, the scheme in this application sets a lower bound k for the preset encoding dimension range. low With upper bound k up This ensures that the actual encoding dimension always satisfies k. low ≤k≤k up When the network state information changes, the actual encoding dimension is adaptively selected within the range based on the network state information, thereby ensuring encoding coverage while limiting the size of the decoding matrix.
[0058] like Figure 2 As shown, the decoding complexity comparison curves of the traditional ARNC method and the proposed scheme (LC-ARNC) are presented under different practical encoding dimensions. From... Figure 2 As can be seen, in the traditional ARNC method, as the actual encoding dimension K (i.e., the number of data packet layers K in the diagram) increases, the size of the receiver's decoding matrix continuously increases, and its decoding complexity (i.e., the number of operations in the diagram) shows a rapid upward trend. This is because the receiver needs to solve for a decoding matrix of dimension k×k, and the matrix solving complexity is usually approximately O(k×k). 3Therefore, as the actual encoding dimension k continues to increase, the decoding computation load increases rapidly, placing a significant computational burden on the receiving device. In contrast, the scheme in this application introduces a preset encoding dimension interval constraint mechanism, by setting an upper bound k for the encoding dimension. up This limits the size of the decoding matrix. When the actual encoding dimension k exceeds this upper bound, the number of original data packets involved in the encoding is no longer increased, thus effectively controlling the size of the decoding matrix and keeping the decoding complexity within a controllable range.
[0059] This demonstrates that this application can significantly reduce decoding complexity while maintaining encoding reliability.
[0060] like Figure 3 As shown, the results of the normalized decoding complexity comparison are presented. Normalization allows for a more intuitive observation of the differences in complexity growth trends between the two methods. The traditional ARNC method exhibits a significant and rapid increase in complexity as the actual encoding dimension k increases; however, the proposed scheme (LC-ARNC) slows down this complexity growth significantly due to the pre-defined encoding dimension interval constraint mechanism. This result further verifies the effectiveness of the proposed method in complexity control.
[0061] The simulation results above show that the random network coding method based on coding dimension interval constraints proposed in this application, by introducing a lower bound k of the coding dimension during the coding process, effectively achieves the desired results. low With the upper bound k of the encoding dimension up This method enables the system to effectively limit the size of the decoding matrix while ensuring data recovery capability and inequality error protection (UEP) capability, thereby significantly reducing the decoding complexity at the receiver. Furthermore, this method can dynamically adjust the actual coding dimension under changing network conditions, achieving an effective balance between reliability, complexity, and system performance, and has significant engineering application value.
[0062] Furthermore, as Figure 1 In terms of specific implementation, this application provides a random network coding device based on coding dimension interval constraints, such as... Figure 4 As shown, the device includes: The data partitioning module is used to divide the data to be transmitted into multiple data batches, where each data batch includes multiple raw data packets; The encoding dimension determination module is used to dynamically determine the current actual encoding dimension of each data batch within a preset encoding dimension range based on the current network status information. The encoding module is used to repeatedly select original data packets from the data batch that are equal to the number of the current actual encoding dimensions, and use random encoding coefficients to linearly combine the multiple original data packets selected each time to generate encoded data packets; The data sending module is used to send each generated encoded data packet to the receiving end, so that when the receiving end determines that the number of received linearly independent packets has reached the current actual encoding dimension, it constructs a decoding matrix based on the random encoding coefficients carried in the linearly independent packets, and recovers all the original data packets in the data batch through the decoding matrix.
[0063] Optionally, the encoding dimension determination module is used for: Obtain at least one of the following channel quality parameters: packet loss rate, network bandwidth, and network latency; Obtain at least one of the following network topology parameters: number of nodes, node density, and node utilization in the current network; Obtain at least one of the following decoding status parameters from the receiver: decoding success rate, receiver buffer usage, and number of retransmission requests. The channel quality parameters, the network topology parameters, and the decoding status parameters are used as the network status information; Based on the network status information, the current actual encoding dimension of the data batch is dynamically determined within the preset encoding dimension range.
[0064] Optionally, the network status information includes packet loss rate; the encoding dimension determination module is further configured to: The current actual encoding dimension of the data batch is calculated based on the following formula: ; in, k Indicates the current actual encoding dimension. This represents the lower bound of the preset encoding dimension interval. This represents the upper bound of the preset encoding dimension interval. This indicates the packet loss rate.
[0065] Optionally, the encoding module is used for: Obtain the priority label of each original data packet in the data batch, and configure different selection probability weights for original data packets of different priorities according to the priority label; Based on the selection probability weight, original data packets with the same number of actual encoding dimensions as the current data batch are repeatedly and randomly drawn from the data batch.
[0066] Optionally, the data to be transmitted is a series of video frames; the encoding module is further configured to: Target detection and tracking are performed on multiple raw data packets in the data batch to identify dynamic targets, and the collision risk coefficient of each dynamic target is calculated based on its type, size and speed. Based on the spatial position occupied by the dynamic target in the consecutive video frames, the spatial correlation degree between the region corresponding to each original data packet and the dynamic target is determined, and the initial weight of each original data packet is determined based on the spatial correlation degree and the collision risk coefficient. The encoding structure of the continuous video frames is analyzed, and the frame type, inter-frame reference relationship and reference depth corresponding to each original data packet are extracted. For each original data packet, the first correction coefficient of the original data packet is determined based on the frame type, inter-frame reference relationship and reference depth corresponding to the original data packet. Obtain the historical decoding status parameters fed back by the receiving end, calculate the transmission vulnerability coefficient of each original data packet based on the historical decoding status parameters, and determine the second correction coefficient of each original data packet based on the transmission vulnerability coefficient. For each raw data packet, the priority label of the raw data packet is determined according to the initial weight, the first correction coefficient, and the second correction coefficient.
[0067] Optionally, the receiving end determines whether the number of received linearly independent packets reaches the current actual coding dimension by means of the following method: Initialize the set of received encoded packets, and each time a new encoded data packet is received, extract the random encoding coefficients carried in the new encoded data packet, and construct a random encoding coefficient vector based on the random encoding coefficients; Perform linear correlation detection between the random coding coefficient vector and the random coding coefficient vectors corresponding to each existing coded data packet in the received coded packet set; If the detection result indicates that the random coding coefficient vector of the new coded data packet cannot be linearly represented by the random coding coefficient vectors of the existing coded data packets, then the new coded data packet is determined to be a linearly independent packet and is added to the set of received coded packets. If the detection result indicates that the random coding coefficient vector of the new coded data packet can be linearly represented by the random coding coefficient vectors of the existing coded data packets, then the new coded data packet is determined to be a linearly correlated packet and is discarded. The number of linearly independent packets in the received encoded packet set is counted, and the counted number is compared with the current actual encoding dimension. When the number obtained from the statistics equals the current actual coding dimension, it is determined that the number of received linearly independent packets has reached the current actual coding dimension.
[0068] Optionally, the receiving end is used for: Random coding coefficients are extracted from the received linearly independent packets, a decoding matrix is constructed based on the random coding coefficients, and a received coded packet vector is constructed based on the data payload of the received linearly independent packets. Construct a linear relationship model between the original data packet vector, the decoding matrix, and the received encoded packet vector, wherein the product of the decoding matrix and the original data packet vector is equal to the received encoded packet vector; The linear relationship model is solved by Gaussian elimination or matrix inversion to recover the original data packet vector from the received encoded packet vector, and all original data packets in the data batch are recovered based on the original data packet vector.
[0069] It should be noted that other corresponding descriptions of the functional units involved in the random network coding device based on coding dimension interval constraints provided in this application embodiment can be found in the following references. Figures 1 to 3 The corresponding descriptions in the method will not be repeated here.
[0070] This application also provides a computer device, which may specifically be a personal computer, a server, a network device, etc. Figure 5 As shown, the computer device includes a bus, a processor, memory, and a communication interface, and may also include an input / output interface and a display device. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores location information. The network interface allows communication with external terminals via a network connection. When the computer program is executed by the processor, it implements the steps in the various method embodiments.
[0071] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0072] In one embodiment, a computer-readable storage medium is provided, which may be non-volatile or volatile, having stored thereon a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0073] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0074] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0075] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0076] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0077] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A random network coding method based on encoding dimension interval constraints, characterized in that, include: The data to be transmitted is divided into multiple data batches, where each data batch includes multiple raw data packets; For each data batch, the current actual encoding dimension of the data batch is dynamically determined within a preset encoding dimension range based on the current network status information. From the data batch, the original data packets with the same number of actual encoding dimensions as the current batch are repeatedly selected, and the multiple original data packets selected each time are linearly combined using random encoding coefficients to generate encoded data packets; Each generated encoded data packet is sent to the receiving end, so that when the receiving end determines that the number of received linearly independent packets has reached the current actual encoding dimension, it constructs a decoding matrix based on the random encoding coefficients carried in the linearly independent packets, and recovers all the original data packets in the data batch through the decoding matrix.
2. The method according to claim 1, characterized in that, The step of dynamically determining the current actual encoding dimension of the data batch within a preset encoding dimension range based on the current network status information includes: Obtain at least one of the following channel quality parameters: packet loss rate, network bandwidth, and network latency; Obtain at least one of the following network topology parameters: number of nodes, node density, and node utilization in the current network; Obtain at least one of the following decoding status parameters from the receiver: decoding success rate, receiver buffer usage, and number of retransmission requests. The channel quality parameters, the network topology parameters, and the decoding status parameters are used as the network status information; Based on the network status information, the current actual encoding dimension of the data batch is dynamically determined within the preset encoding dimension range.
3. The method according to claim 1, characterized in that, The network status information includes packet loss rate; the step of dynamically determining the current actual encoding dimension of the data batch within a preset encoding dimension range based on the current network status information includes: The current actual encoding dimension of the data batch is calculated based on the following formula: ; in, k Indicates the current actual encoding dimension. This represents the lower bound of the preset encoding dimension interval. This represents the upper bound of the preset encoding dimension interval. This indicates the packet loss rate.
4. The method according to claim 1, characterized in that, The step of repeatedly selecting original data packets from the data batch that are equal to the current actual number of encoded dimensions includes: Obtain the priority label of each original data packet in the data batch, and configure different selection probability weights for original data packets of different priorities according to the priority label; Based on the selection probability weight, original data packets with the same number of actual encoding dimensions as the current data batch are repeatedly and randomly drawn from the data batch.
5. The method according to claim 4, characterized in that, The data to be transmitted consists of consecutive video frames; obtaining the priority tags of each original data packet in the data batch includes: Target detection and tracking are performed on multiple raw data packets in the data batch to identify dynamic targets, and the collision risk coefficient of each dynamic target is calculated based on its type, size and speed. Based on the spatial position occupied by the dynamic target in the consecutive video frames, the spatial correlation degree between the region corresponding to each original data packet and the dynamic target is determined, and the initial weight of each original data packet is determined based on the spatial correlation degree and the collision risk coefficient. The encoding structure of the continuous video frames is analyzed, and the frame type, inter-frame reference relationship and reference depth corresponding to each original data packet are extracted. For each original data packet, the first correction coefficient of the original data packet is determined based on the frame type, inter-frame reference relationship and reference depth corresponding to the original data packet. Obtain the historical decoding status parameters fed back by the receiving end, calculate the transmission vulnerability coefficient of each original data packet based on the historical decoding status parameters, and determine the second correction coefficient of each original data packet based on the transmission vulnerability coefficient. For each raw data packet, the priority label of the raw data packet is determined according to the initial weight, the first correction coefficient, and the second correction coefficient.
6. The method according to claim 1, characterized in that, The receiving end determines whether the number of received linearly independent packets reaches the current actual encoding dimension in the following way: Initialize the set of received encoded packets, and each time a new encoded data packet is received, extract the random encoding coefficients carried in the new encoded data packet, and construct a random encoding coefficient vector based on the random encoding coefficients; Perform linear correlation detection between the random coding coefficient vector and the random coding coefficient vectors corresponding to each existing coded data packet in the received coded packet set; If the detection result indicates that the random coding coefficient vector of the new coded data packet cannot be linearly represented by the random coding coefficient vectors of the existing coded data packets, then the new coded data packet is determined to be a linearly independent packet and is added to the set of received coded packets. If the detection result indicates that the random coding coefficient vector of the new coded data packet can be linearly represented by the random coding coefficient vectors of the existing coded data packets, then the new coded data packet is determined to be a linearly correlated packet and is discarded. The number of linearly independent packets in the received encoded packet set is counted, and the counted number is compared with the current actual encoding dimension. When the number obtained from the statistics equals the current actual coding dimension, it is determined that the number of received linearly independent packets has reached the current actual coding dimension.
7. The method according to claim 1, characterized in that, The step of constructing a decoding matrix based on the random coding coefficients carried in the linearly independent packets, and recovering all the original data packets in the data batch using the decoding matrix, includes: Random coding coefficients are extracted from the received linearly independent packets, a decoding matrix is constructed based on the random coding coefficients, and a received coded packet vector is constructed based on the data payload of the received linearly independent packets. Construct a linear relationship model between the original data packet vector, the decoding matrix, and the received encoded packet vector, wherein the product of the decoding matrix and the original data packet vector is equal to the received encoded packet vector; The linear relationship model is solved by Gaussian elimination or matrix inversion to recover the original data packet vector from the received encoded packet vector, and all original data packets in the data batch are recovered based on the original data packet vector.
8. A random network coding device based on encoding dimension interval constraints, characterized in that, include: The data partitioning module is used to divide the data to be transmitted into multiple data batches, wherein each data batch includes multiple raw data packets; The encoding dimension determination module is used to dynamically determine the current actual encoding dimension of each data batch within a preset encoding dimension range based on the current network status information. The encoding module is used to repeatedly select original data packets from the data batch that are equal to the number of the current actual encoding dimensions, and use random encoding coefficients to linearly combine the multiple original data packets selected each time to generate encoded data packets; The data sending module is used to send each generated encoded data packet to the receiving end, so that when the receiving end determines that the number of received linearly independent packets has reached the current actual encoding dimension, it constructs a decoding matrix based on the random encoding coefficients carried in the linearly independent packets, and recovers all the original data packets in the data batch through the decoding matrix.
9. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.
10. A computer device, comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 7.