Data processing method for network communication system, and related device

By performing matrix simplification and iterative decoding on batch network encoded data, the problem of low decoding efficiency in existing technologies is solved, achieving more efficient and reliable data decoding.

WO2026103023A1PCT designated stage Publication Date: 2026-05-21THE CHINESE UNIV OF HONG KONG (SHENZHEN)
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
THE CHINESE UNIV OF HONG KONG (SHENZHEN)
Filing Date
2025-04-21
Publication Date
2026-05-21

Smart Images

  • Figure CN2025090175_21052026_PF_FP_ABST
    Figure CN2025090175_21052026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a data processing method for a network communication system, and a related device. The data processing method comprises: obtaining, from a plurality of batches of encoded packets subjected to network coding and transmitted by a data sending end, a data vector sequence to be decoded and a matrix sequence to be decoded, said matrix sequence comprising a plurality of matrices to be decoded; performing row reduction on all matrices to be decoded in said matrix sequence to obtain a reduced matrix sequence, and recording a corresponding row transformation operation sequence; and performing reduction iteration on the reduced matrix sequence until variable columns of all said matrices are solved or no decodable variable columns exist, the row transformation operation sequence being used for performing a transformation operation on said data vector sequence to obtain decoded data. The efficiency of solving data vectors to be decoded is improved, and the decoding efficiency and decoding reliability of a matrix sequence to be decoded are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing methods and related equipment for network communication systems Technical Field

[0001] This application relates to the field of industrial Internet of Things (IoT) technology, and in particular to data processing methods and related equipment for network communication systems. Background Technology

[0002] Data encoding and decoding in network communication systems are crucial steps in ensuring the integrity and accuracy of data during transmission. Batch coding, by encoding data in groups, can further improve transmission efficiency and data reliability during network transmission.

[0003] In existing technologies, when the receiving end receives transmitted data based on batch network coding, the decoded data is typically obtained by jointly solving the received batch coded data using a combination of intra-batch Gaussian elimination and inter-batch confidence propagation. However, this decoding method requires completely decoding each batch of coded data before proceeding to the next batch. As the number of transmitted data batches increases, this decoding method leads to low decoding efficiency. Summary of the Invention

[0004] This application provides a data processing method and related equipment for a network communication system, which can improve decoding efficiency when decoding batch-encoded data in a network communication system.

[0005] To achieve the above objectives, a first aspect of this application proposes a data processing method for a network communication system, comprising:

[0006] The data vector sequence to be decoded and the matrix sequence to be decoded are obtained from multiple batches of encoded packets transmitted by the data sender through network encoding. The matrix sequence to be decoded includes multiple matrices to be decoded.

[0007] Row simplification is performed on all matrices in the matrix sequence to be decoded to obtain a simplified matrix sequence, and the corresponding row transformation operation sequence is recorded. The row transformation operation sequence is used to perform transformation operations on the data vector sequence to be decoded.

[0008] Select a simplified matrix from the simplified matrix sequence as a transition matrix. Based on the transition matrix, determine at least one decodable variable column for the solution variable. Substitute the decodable variable column into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an update matrix. Simplify the update matrix again to obtain an updated simplified matrix and record the corresponding row transformation operation sequence. Update the simplified matrix sequence using the updated simplified matrix and use the updated simplified matrix sequence as the new sequence of matrices to be decoded to perform the solution update operation until all variable columns of the matrices to be decoded have been solved or there are no decodable variable columns, thus obtaining the decoded data.

[0009] In some embodiments, determining a list of at least one decodable variables for the solution variable based on the transition matrix, substituting the list of decodable variables into other simplified matrices containing the solution variable in the simplified matrix sequence to obtain an updated matrix, and simplifying the updated matrix again to obtain an updated simplified matrix, includes:

[0010] Select at least one pivot column corresponding to a solvable variable from the transition matrix as the target pivot column, and solve the target pivot column based on the transition matrix to obtain the column of decodable variables;

[0011] Substitute the decodable variable column into other simplified matrices containing the solved variables in the simplified matrix sequence, and use the updated simplified matrix as the updated matrix, and record the corresponding row transformation operation sequence;

[0012] When the position of the solution variable in the update matrix is ​​the pivot column of the update matrix, the update matrix is ​​simplified to obtain the updated simplified matrix, and the corresponding row transformation operation sequence is recorded.

[0013] When the position of the solution variable in the update matrix is ​​a non-pivotal column of the update matrix, the update matrix is ​​used as the update simplification matrix.

[0014] To achieve the above objectives, a second aspect of this application proposes yet another data processing method for a network communication system, comprising:

[0015] Obtain the sampling degree distribution and the data to be transmitted;

[0016] The data to be transmitted is encoded in batches based on the sampling degree distribution to obtain multiple batches of encoded packets. The encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded.

[0017] The multiple batches of encoded packets are network encoded, and the network-encoded multiple batches of encoded packets are transmitted to the data receiving end through network intermediate nodes. The multiple batches of encoded packets will be updated during the transmission and forwarding of the network intermediate nodes.

[0018] In some embodiments, obtaining the sampling degree distribution includes:

[0019] The partial solvability probability, decoding ratio parameter, matrix rank distribution, and sampling degree distribution parameter are obtained, and the asymptotic rate function is obtained based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvability probability.

[0020] Obtain the sampling degree distribution constraint and the asymptotic rate constraint, and based on the asymptotic rate function, the sampling degree distribution constraint and the asymptotic rate constraint, obtain the asymptotic rate optimization model;

[0021] The sampling degree distribution is obtained by solving the asymptotic rate optimization model.

[0022] In some embodiments, obtaining the asymptotic rate function based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability includes:

[0023] Obtain the degree parameter and degree iteration parameter, subtract one from the degree parameter to obtain the adjusted degree parameter, and obtain the degree combination number of the adjusted degree parameter and the degree iteration parameter;

[0024] Based on the difference between the adjustment degree parameter and the degree iteration parameter, the degree index is obtained; based on the degree parameter raised to the power of the decoding ratio parameter, the first decoding parameter item is obtained; and based on the degree index raised to the power of the decoding ratio parameter, the second decoding parameter item is obtained.

[0025] The asymptotic rate function is obtained by multiplying the degree combination number, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability.

[0026] In some embodiments, solving the asymptotic rate optimization model to obtain the sampling degree distribution includes:

[0027] Discrete relaxation is performed on the decoding ratio parameter to obtain multiple discrete decoding ratio parameter values;

[0028] Based on each of the discrete decoding scale parameter values ​​and the asymptotic rate constraint, generate discrete asymptotic rate constraints that are consistent with the number of the discrete decoding scale parameter values;

[0029] The discrete asymptotic rate constraints are replaced with multiple discrete asymptotic rate constraints in the asymptotic rate optimization model, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution.

[0030] In some embodiments, the data to be transmitted is encoded in batches based on the sampling degree distribution to obtain multiple batches of encoded packets, including:

[0031] Obtain a finite domain of data and obtain the sampling degree based on the sampling degree distribution;

[0032] The outer code generation matrix is ​​obtained based on the finite field of the data and the sampling degree;

[0033] The data to be transmitted is encoded using the external code generation matrix, and a coefficient vector is added to the encoded data to obtain multiple batches of encoded packets.

[0034] To achieve the above objectives, a third aspect of this application provides a network communication system, comprising:

[0035] The data sending end is used to acquire the sampling degree distribution and the data to be transmitted, and to encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of encoded packets. The encoding includes a data vector sequence to be decoded and a matrix sequence to be decoded. The multiple batches of encoded packets are network encoded, and the network encoded multiple batches of encoded packets are transmitted to the data receiving end through network intermediate nodes. The multiple batches of encoded packets will be updated during the transmission and forwarding of the network intermediate nodes.

[0036] The data receiving end is used to obtain a sequence of data vectors to be decoded and a sequence of matrices to be decoded from multiple batches of encoded packets transmitted by the data sending end via network encoding. The sequence of matrices to be decoded includes multiple matrices to be decoded. All matrices in the sequence are row-simplified to obtain a simplified matrix sequence, and the corresponding row transformation operation sequence is recorded. The row transformation operation sequence is used to perform transformation operations on the sequence of data vectors to be decoded. A simplified matrix is ​​selected from the simplified matrix sequence as a transition matrix. Based on the transition matrix, at least one decodable variable column of the solution variable is determined. The decodable variable column is substituted into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an update matrix. The update matrix is ​​simplified again to obtain an updated simplified matrix, and the corresponding row transformation operation sequence is recorded. The updated simplified matrix is ​​used to update the simplified matrix sequence, and the updated simplified matrix sequence is used as the new sequence of matrices to be decoded to perform a solution update operation until all variable columns of the matrices to be decoded are solved or no decodable variable column exists, thus obtaining decoded data.

[0037] To achieve the above objectives, a fourth aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the data processing method of the network communication system as described in the first aspect or the data processing method of the network communication system as described in the second aspect.

[0038] To achieve the above objectives, a fifth aspect of the present application provides a storage medium, which is a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the data processing method of the network communication system described in the first aspect or the data processing method of the network communication system described in the second aspect.

[0039] The data processing method and related equipment for a network communication system proposed in this application include the following steps: First, obtaining a sequence of data vectors to be decoded and a sequence of matrices to be decoded from multiple batches of encoded packets transmitted by the data sending end through network encoding. The sequence of matrices to be decoded includes multiple matrices to be decoded. Then, performing row simplification on all matrices to be decoded in the sequence of matrices to be decoded to obtain a simplified matrix sequence, and recording the corresponding row transformation operation sequence. The row transformation operation sequence is used to perform transformation operations on the sequence of data vectors to be decoded. Finally, selecting a simplified matrix from the simplified matrix sequence as a transition matrix, determining at least one decodable variable column based on the transition matrix, substituting the decodable variable column into other simplified matrices containing the decodable variables in the simplified matrix sequence to obtain an update matrix, simplifying the update matrix again to obtain an updated simplified matrix, recording the corresponding row transformation operation sequence, updating the simplified matrix sequence using the updated simplified matrix, and performing a solution update operation on the updated simplified matrix sequence as a new sequence of matrices to be decoded until all variable columns of the matrices to be decoded are solved or no decodable variable columns exist, thus obtaining decoded data. This embodiment of the application, after receiving multiple batches of encoded packets and simplifying the matrices to be decoded therein, uses the decodable variable column of the solution variables of at least one simplified matrix in the simplified matrix sequence to substitute and simplify other simplified matrices in the simplified matrix sequence. This eliminates the need to completely solve all the decoded data of the batch of matrices to be decoded in a single solution. Then, the simplification substitution process is iteratively repeated until all variable columns of the matrices to be decoded are solved or no decodable variable columns exist. Finally, the actual sequence of data vectors to be decoded is transformed using the row transformation operation sequence of all records to obtain the decoded data, thereby improving the solution efficiency of the data vectors to be decoded. Furthermore, it effectively solves the problem of a single matrix to be decoded being unsolvable, thus improving the decoding efficiency and reliability of the matrix sequence to be decoded when decoding batches of encoded data in a network communication system.

[0040] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description

[0041] Figure 1 is a schematic diagram of the structure of a network communication system provided in an embodiment of this application.

[0042] Figure 2 is a flowchart of a data processing method for a first network communication system provided in an embodiment of this application.

[0043] Figure 3 is a flowchart of step 202 in Figure 2.

[0044] Figure 4 is a flowchart of a data processing method for a second network communication system provided in an embodiment of this application.

[0045] Figure 5 is a flowchart of step 401 in Figure 4.

[0046] Figure 6 is a simulation diagram of a partial solvable probability provided in another embodiment of this application.

[0047] Figure 7 is a flowchart of step 501 in Figure 5.

[0048] Figure 8 is a flowchart of step 503 in Figure 5.

[0049] Figure 9 is a flowchart of step 402 in Figure 4.

[0050] Figure 10 is an accessibility rate simulation table provided in another embodiment of this application.

[0051] Figure 11 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0052] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0053] It should be noted that although functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart.

[0054] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0055] First, let's analyze some of the terms used in this application:

[0056] Batch coding is a technique designed to improve network transmission efficiency. It involves batching multiple independent data packets, linearly combining them, or performing other encoding operations, and then transmitting these encoded packets to the receiving end. The receiving end uses a decoding algorithm to reconstruct the original data packets. This method reduces the number of transmissions, improves network bandwidth utilization, and enhances data reliability and anti-interference capabilities by introducing redundancy. It is widely used in video streaming, wireless networks, and distributed storage systems.

[0057] Intra-batch Gaussian elimination is a technique used to decode batched network-coded data. In this process, the problem of recovering the original data packets from each batch is viewed as solving a system of linear equations. The Gaussian elimination algorithm is applied to solve these equations to recover the original data packets. This method systematically eliminates variables to obtain a unique solution, thus ensuring accurate reconstruction of the original information from the sender.

[0058] Inter-batch confidence propagation is an iterative algorithm for distributed network coding and decoding. This algorithm propagates and updates confidence information between different batches, gradually approximating the true data through multiple iterations. In each iteration, nodes update based on the received encoded packets and confidence information, improving decoding accuracy and efficiency. This method is particularly effective in handling large-scale network coding problems, significantly improving decoding performance.

[0059] BATS (Batched Sparse Code) is a high-efficiency coding technique based on batch network coding, designed to improve network transmission efficiency and reliability. It divides data into multiple batches and employs sparse coding within each batch, making the encoding and decoding process more efficient and computationally less complex.

[0060] The Reduced Row Echelon Form (RREF) is a special matrix form that transforms a matrix into a standardized form through a series of elementary row operations. In this form, the first non-zero element (called the pivot) of each row is 1, and all other elements in the column containing the pivot are zero. This matrix form facilitates solving systems of linear equations and visually demonstrates the solution structure of a linear system.

[0061] Partial solvability of a linear system of equations refers to the fact that even if the entire system does not have a unique solution, there are cases where a subset of the variables in the system have a unique solution. This property is called the partial solvability of a linear system. For homogeneous linear systems of equations, after transforming their coefficient matrix into simplified row echelon form, we can determine whether a pivot element is uniquely solvable by observing whether there are other non-zero elements in the row containing the pivot: Given a homogeneous linear system of equations, if a variable in the system corresponds to a pivot element in the simplified row echelon form, and all other elements in the row containing the pivot element are zero, then that variable has a unique solution. Furthermore, when linear network coding operates under an erasure network channel, since the received encoded data is always a linear combination of the original data, the linear system of equations corresponding to its decoding, although not a homogeneous linear system, can still have its solution uniqueness determined by the same criteria as a homogeneous linear system.

[0062] Data encoding and decoding in network communication systems are crucial steps in ensuring the integrity and accuracy of data during network transmission. Batch coding, by encoding data in groups, can further improve transmission efficiency and data reliability during network transmission.

[0063] In existing technologies, when the receiving end receives transmitted data based on batch network coding, the decoded data is typically obtained by jointly solving the received batch coded data using a combination of intra-batch Gaussian elimination and inter-batch confidence propagation. However, this decoding method requires completely decoding each batch of coded data before proceeding to the next batch. As the number of transmitted data batches increases, this decoding method leads to low decoding efficiency.

[0064] To improve decoding efficiency when decoding batch-encoded data in a network communication system, this embodiment of the application, after receiving multiple batches of encoded packets and simplifying the matrices to be decoded, uses the decodable variable column of at least one simplified matrix in the simplified matrix sequence to substitute other simplified matrices in the simplified matrix sequence for simplification. This eliminates the need to completely solve all the decoded data of the batch of matrices to be decoded in a single solution. Then, the simplification substitution process is iteratively repeated until all the variable columns of the matrices to be decoded are solved or no decodable variable columns exist. Finally, the row transformation operation sequence of all records is used to transform the actual sequence of data vectors to be decoded to obtain the decoded data, thereby improving the solution efficiency of the data vectors to be decoded. In addition, it effectively solves the problem that a certain matrix to be decoded cannot be solved alone, thus improving the decoding efficiency and decoding reliability of the matrix sequence to be decoded when decoding batch-encoded data in a network communication system.

[0065] To better describe the data processing method of the network communication system provided in this application, the network communication system applying this data processing method is first described below. Referring to Figure 1, which is a schematic diagram of the network communication system provided in an embodiment of this application, the network communication system includes a data sending end, a data receiving end, and several network intermediate nodes. The data sending end encodes the data to be sent in batches to generate encoded data composed of multiple batches; if stored in network intermediate nodes, the encoded data can be re-encoded; the data receiving end uses the received multiple batches of encoded packets for data decoding.

[0066] Based on the network communication system described above, the data processing method and related equipment of the network communication system provided in the embodiments of this application will be further described below. First, the first data processing method provided in this application will be described, which can be applied to the data receiving end of the network communication system.

[0067] The following describes in detail the data processing method of the first network communication system in the embodiments of this application. Referring to FIG2, there is an optional flowchart of the data processing method of the network communication system provided in the embodiments of this application. The method in FIG2 may include, but is not limited to, steps 201 to 204. It is also understood that this embodiment does not specifically limit the order of steps 201 to 204 in FIG2, and the order of steps can be adjusted or some steps can be reduced or added according to actual needs.

[0068] Step 201: Obtain the data vector sequence to be decoded and the matrix sequence to be decoded from the multiple batches of encoded packets transmitted by the data sender through network encoding. The matrix sequence to be decoded includes multiple matrices to be decoded.

[0069] Step 201 will be described in detail below.

[0070] In some embodiments, after receiving multiple batches of encoded packets transmitted by the data sender via network encoding, the data receiver extracts the data vector sequence (y1,...,y1) to be decoded from the multiple batches of encoded packets. n ) and the sequence of matrices to be decoded (A1,...,A) n The sequence of data vectors and matrices to be decoded constitutes a series of equations to be decoded, where the variable in each equation is the original data b to be decoded. Each equation can be represented in matrix form as follows:

[0071] In some embodiments, the solution variables involved in each system of equations may be only a subset b of all the original data. i Furthermore, some of the solution variables may be shared between different batches of equation systems.

[0072] It is understandable that batch encoding can be a BATS code. Consider sending a message consisting of a K×T original data matrix B, where each row of B represents a packet of the message. Furthermore, the BATS code contains an outer code and an inner code. Under the combined encoding of the outer and inner codes, the received encoded data vector is multiple encoded data matrices Y1,...,Y... n However, it can still be regarded as the above system of equations.

[0073] Step 202: Perform row simplification on all matrices in the sequence of matrices to be decoded to obtain a simplified matrix sequence, and record the corresponding row transformation operation sequence.

[0074] Step 202 will be described in detail below.

[0075] In some embodiments, all the matrices A1,...,A in the obtained sequence of matrices to be decoded are... n Perform row simplification (e.g., using Gauss-Jordan elimination) to obtain each matrix A to be decoded. i The corresponding simplified row echelon matrix form Right now These simplified row echelon form matrices form a simplified matrix sequence, and record the corresponding row transformation operation sequence.

[0076] Step 203: Select a simplified matrix from the simplified matrix sequence as the transition matrix. Based on the transition matrix, determine at least one decodable variable column of the solution variable. Substitute the decodable variable column into other simplified matrices containing the solution variables in the simplified matrix sequence to obtain the update matrix. Simplify the update matrix again to obtain the updated simplified matrix and record the corresponding row transformation operation sequence. Update the simplified matrix sequence using the updated simplified matrix and use the updated simplified matrix sequence as the new sequence of matrices to be decoded to perform the solution update operation until all variable columns of the matrices to be decoded have been solved or there are no decodable variable columns.

[0077] Step 203 will be described in detail below.

[0078] In some embodiments, when a sequence of multiple simplified matrices is obtained... Then (where t = 0, 1, 2, ... is the number of iterations), a simplified matrix is ​​selected from the simplified matrix sequence as the transition matrix. Based on the transition matrix, at least one column of decodable variables of the solution variable is determined (that is, the column of the pivot element containing the variable that can be partially solved in the corresponding system of equations). The pivot element row containing the variable is substituted into other matrices containing the variable in the target matrix sequence, so that the column corresponding to the variable in the other matrices is cleared to zero.

[0079] Then, the column of decodable variables is substituted into other simplified matrices containing the solution variables in the simplified matrix sequence to obtain the update matrix. That is, the pivot row containing the variable is substituted into other matrices containing the variable in the target matrix sequence, so that the column corresponding to the variable in the other matrices is cleared to zero.

[0080] Next, the updated matrix is ​​simplified again to obtain the updated simplified matrix. That is, the matrix that was substituted is row-simplified again (for example, by using Gauss-Jordand elimination) to obtain a new simplified matrix sequence f1, and the corresponding row transformation operation sequence is recorded.

[0081] Finally, the simplified matrix sequence is updated using the updated simplified matrix sequence. That is, the above operation is repeated using the new simplified matrix sequence as the target matrix sequence, and row transformation operation sequences f2, f3, ... are obtained in sequence until all variable columns can be solved or there are no decodable variable columns. The updated simplified matrix sequence is then used as the new matrix sequence to be decoded, and the solution update operation is performed until all variable columns of the matrix to be decoded have been solved or there are no decodable variable columns.

[0082] The row transformation operation sequence is used to transform the sequence of data vectors to be decoded, thus obtaining the decoded data. It can be understood that when performing transformation operations on the decoded data vector, the transformation operation can be performed on the decoded data vector after obtaining the row transformation operation sequence for each record, or the row transformation operation sequences for all records can be obtained first, and then the transformation operation can be performed on the decoded data vector together.

[0083] Referring to Figure 3, at least one decodable variable column of the solution variable is determined based on the transition matrix. The decodable variable column is substituted into other simplified matrices containing the solution variables in the simplified matrix sequence to obtain the updated matrix. The updated matrix is ​​then simplified again to obtain the updated simplified matrix, including the following steps 301 to 304.

[0084] Step 301: Select at least one pivot column corresponding to a solvable variable from the transition matrix as the target pivot column, and solve the target pivot column based on the transition matrix to obtain the column of solvable variables.

[0085] Step 302: Substitute the list of decodable variables into other simplified matrices containing the solution variables in the simplified matrix sequence, and use the updated simplified matrix as the update matrix, and record the corresponding row transformation operation sequence.

[0086] Step 303: When the position of the solution variable in the update matrix is ​​the pivot column of the update matrix, simplify the update matrix to obtain the simplified update matrix, and record the corresponding row transformation operation sequence.

[0087] Step 304: When the position of the solution variable in the update matrix is ​​a non-pivotal column of the update matrix, the update matrix is ​​used as the update simplification matrix.

[0088] Steps 301 to 304 are described in detail below.

[0089] In some embodiments, at the beginning of each decoding iteration, a column of a solvable variable from a simplified matrix is ​​selected from the sequence of simplified matrices. It is understood that this simplified matrix is ​​also the coefficient matrix of a particular batch of equations, and a column of solvable variables corresponds to a variable in this system of equations, which is one of the original data to be decoded in the entire encoding process.

[0090] The columns of the solvable variables meet the following characteristics: 1. The variable corresponds to a pivot column in the simplified matrix of this batch; 2. All elements after the pivot in the pivot row are zero. Based on this, the variable is substituted into other simplified matrices. The substitution process involves clearing the corresponding column of the variable in the other simplified matrix to zero. For the substituted matrix, since the matrix is ​​already in RREF form, according to the properties of RREF, there are two types of columns: pivot columns and non-pivot columns. If the substituted variable corresponds to a non-pivot column in the matrix being substituted (for example, substituting the fifth column of the matrix below), then after substitution, the non-pivot column is cleared to zero, and the substituted matrix still has the RREF property. If the variable being substituted corresponds to the pivot column of the matrix being substituted, then the pivot position of the pivot row will be cleared to zero after substitution. If there are no non-zero elements after the pivot position in this pivot row (for example, the first column of the matrix below), then moving this row to the end will make the original matrix have the RREF property. If there are non-zero elements after the pivot position (for example, the second column of the matrix below), then the column containing the non-zero element and the first column after all pivots can be swapped (the column swap also swaps the positions of the corresponding variables), and this row can be moved to the end, and the other rows can be eliminated with this row. After this operation, the matrix still has the RREF property.

[0091] That is, for this step, we find a solvable pivot column in a simplified matrix within the simplified matrix sequence and use it as the decoding parameter for this iteration. Then, we substitute the decoding parameter into the simplified matrices corresponding to all other equations with that variable. Next, when the substituted decoding parameter corresponds to a non-pivot column of the substituted matrix, the substituted matrix will still be in RREF form after substitution. Or, when the substituted decoding parameter corresponds to a pivot column of the substituted matrix, the substituted matrix will no longer be RREF after substitution, because after the pivot row is cleared to zero, if there are non-zero elements afterward, the matrix no longer meets the RREF form requirement. In this case, we need to further eliminate elements in the matrix to make it return to RREF form. Furthermore, we record the row transformation operations involved in this iteration to obtain the row transformation operation sequence.

[0092] In some embodiments, during the row echelon form transformation described above, the definition of the simplified row echelon form (RREF) is relaxed as follows: if a matrix becomes RREF after certain row and column permutations, then the matrix is ​​called RREF. This relaxation does not affect the solvability of the equation, but can significantly reduce computational overhead in subsequent calculations. Because the definition of RREF is relaxed, this is more efficient than directly applying it in the equation. Applying the Gaussian-Jordan elimination method is more effective. Let... We can start with We perform some row and column permutations to make the leading principle submatrix of order r an identity matrix. Then we can perform Gaussian-Jordan elimination starting from the (r+1)th column and the (r+1)th row. After Gaussian-Jordan elimination, we perform inversions of rows and columns to preserve the original order.

[0093] It is understandable that in the past, when decoding batch data matrices using inter-batch belief propagation technology, it was necessary to solve all the variables of each matrix to be decoded before solving the next matrix. However, when encountering complex matrices to be decoded, the previous solution method inevitably resulted in low processing efficiency, and there were even cases where a certain matrix to be decoded could not solve all its own variables on its own, as shown in the following example of a matrix to be decoded in formula (3) (for ease of understanding, the matrix here uses the real number field, but in actual encoding applications it should be a specific finite field).

[0094] It is evident that in the example of the matrix to be decoded shown in formula (3), the solution variables {x3, x4} cannot be directly obtained. However, using the data processing method proposed in this application, the solution variables {x1, x2} in the above formula (3) can be obtained first, and the corresponding decoded values ​​can be obtained. Then decode the value Substitute other matrices to be decoded, and then solve for the decoded values ​​in those matrices. or Then, substitute the solution variable back into equation (3) to solve for another variable, thereby effectively improving the reliability and effectiveness of data decoding.

[0095] Through steps 301 to 304 above, the iterative simplification terminates when there are no more uniquely solvable variables in the iterative simplification step. Since the PR-BP algorithm (i.e., the data processing method proposed in this application) can continue the belief propagation (BP) process as long as a batch is partially solvable, this condition is actually more lenient than the working condition of the previous solution method (GE-BP). Therefore, it will not terminate earlier than the GE-BP algorithm. This characteristic also makes PR-BP superior to GE-BP, and this advantage becomes more significant when the size of the finite field is small. Furthermore, in terms of computational cost, the GE-BP algorithm only requires all batch transmission matrices to be in row echelon form (REF) to verify the rank. Therefore, the approximate computational cost of the PR-BP algorithm is twice that of the GE-BP algorithm. It should be noted that when used for decoding sparse batch network coding, the slightly higher computational cost of PR-BP becomes less significant. First, for a packet-based encoding / decoding system with a packet length of T symbols, solving each raw packet is equivalent to solving a system of T equations with identical coefficient matrices. The PR-BP algorithm, for the same coefficient matrix, only needs to perform one step to record the row transformation operation. It can then use this recorded row transformation step to perform forward and backward substitutions on the entire sequence of data vectors to be decoded. Therefore, when the packet length T is sufficiently large, the forward and backward substitution steps typically account for the majority of the computational cost, and this cost is the same as that required by the GE-BP algorithm. Second, the PR-BP algorithm allows the use of binary base fields, which further reduces computational costs.

[0096] In some embodiments, after obtaining all the row transformation sequences f0, f1, f2, ... of the matrix sequences to be decoded and the simplified matrix sequence operations, these row transformation operations can be applied in the same way to the data vector sequences to be decoded, thereby recovering the original data sequence b to be decoded.

[0097] The data processing method and related equipment for a network communication system proposed in this application include the following steps: First, obtaining a sequence of data vectors to be decoded and a sequence of matrices to be decoded from multiple batches of encoded packets transmitted via network encoding at the data sending end; then, performing row simplification on all matrices in the sequence of matrices to be decoded to obtain a simplified matrix sequence, and recording the corresponding row transformation operation sequence f0. Next, using the simplified matrix sequence as the target matrix sequence, finding a decodable variable column from the target matrix sequence, substituting the variable into other matrices in the target matrix sequence that contain the variable, and finally performing row simplification again on the substituted matrices to obtain a new simplified matrix sequence, and recording the corresponding row transformation operation sequence f1. Repeating the above operations on the new simplified matrix sequence as the target matrix sequence, and sequentially obtaining row transformation operation sequences f2, f3, ..., until all variable columns can be solved or there are no decodable variable columns. Finally, operating on all recorded row transformation operation sequences f0, f1, f2, ... based on the data vector sequence to be decoded, obtaining the decoded data.

[0098] This embodiment of the application, after receiving multiple matrices to be decoded, partially solves each batch of matrices to obtain partial decoded data corresponding to that batch. It avoids completely solving all decoded data for that batch of matrices in a single solution. Then, this partial decoded data is used to solve other batches of matrices to be decoded, and this iterative solution is repeated, thereby improving the solution efficiency for all batches of matrices to be decoded. Furthermore, it effectively solves the problem of a single matrix to be decoded being unsolvable, thus improving decoding efficiency and reliability when decoding batch-encoded data in a network communication system. Additionally, the iterative simplification terminates when there are no more uniquely solvable variables in the iterative simplification step. Since the PR-BP algorithm (i.e., the data processing method proposed in this application) can continue the belief propagation (BP) process as long as a batch is partially solvable, this condition is actually more lenient than the working conditions of previous solution methods (GE-BP). Therefore, it will not terminate earlier than the GE-BP algorithm. This characteristic also makes PR-BP superior to GE-BP, and this advantage becomes more significant when the size of the finite field is small. Furthermore, in terms of computational cost, the GE-BP algorithm only requires all batch transfer matrices to be in row echelon form (REF) to verify the rank. Therefore, the PR-BP algorithm's computational cost is approximately twice that of the GE-BP algorithm. It's important to note that the slightly higher computational cost of PR-BP becomes less significant when used for decoding sparse batch network coding. First, the PR-BP algorithm only needs to perform one step to record the row transformation operations, and then uses these recorded row transformation operations to perform forward and backward substitutions on the entire sequence of data vectors to be decoded. Therefore, when the packet length T is sufficiently large, the forward and backward substitution steps typically account for the majority of the computational cost, which is the same as that required by the GE-BP algorithm. Second, the PR-BP algorithm allows the use of binary base fields, which further reduces computational cost.

[0099] In addition, this application also provides a second data processing method for a network communication system, which can be applied to the data sending end of a network communication system.

[0100] The data processing method of the second network communication system in the embodiments of this application will be described in detail below. Referring to FIG4, there is an optional flowchart of the data processing method of the network communication system provided in the embodiments of this application. The method in FIG4 may include, but is not limited to, steps 401 to 403. It is also understood that this embodiment does not specifically limit the order of steps 401 to 403 in FIG4, and the order of steps can be adjusted or some steps can be reduced or added according to actual needs.

[0101] Step 401: Obtain the sampling degree distribution and the data to be transmitted.

[0102] Step 401 will be described in detail below.

[0103] In some embodiments, when the data sender responds to the transmission of data to be transmitted, it first needs to obtain the sampling degree distribution so that the sampling degree distribution can be used to perform batch encoding processing on the data to be transmitted to obtain encoded packets, thereby improving the security and reliability of data transmission.

[0104] As we can understand, the sampling degree distribution refers to the distribution of the number of original data packets contained in each data packet during the encoding and decoding process. The degree describes how many original data packets are selected to participate in the encoding process for a given data packet. Different sampling degree distributions affect the performance and efficiency of the encoding scheme. In batch encoding, a suitable sampling degree distribution plays a crucial role, such as improving encoding efficiency, enhancing data reliability, and optimizing decoding complexity. The following will first describe how to obtain a suitable sampling degree distribution.

[0105] Referring to Figure 5, the sampling degree distribution is obtained, including the following steps 501 to 503.

[0106] Step 501: Obtain the partial solvability probability, decoding ratio parameter, matrix rank distribution, and sampling degree distribution parameter, and based on the decoding ratio parameter, matrix rank distribution, sampling degree distribution parameter, and partial solvability probability, obtain the asymptotic rate function.

[0107] Step 501 will be described in detail below.

[0108] In some embodiments, consider sending data to be transmitted, consisting of a K×T original data matrix B, from a data sender to a data receiver in a network communication network. Each row of B represents a packet of a message.

[0109] Taking BATS codes as an example, a BATS code consists of an outer code and an inner code. At the data sending end, the outer code encodes B into batches of encoded packets. Each batch of encoded packets is generated using only a portion of the original data packets. The number of original data packets used in each batch is called the degree. The choice of degree depends on the sampling degree distribution. The choice of degree distribution significantly affects the efficiency of encoding and decoding operations as well as the reliability of the encoded transmission. Based on this, in order to obtain a suitable sampling degree distribution, it is first necessary to obtain the partial solvable probability k. m,n It is understandable that, considering an m×n matrix A to be decoded, whose elements are independently and uniformly generated from the finite field F of data, the probability of uniquely determining a specific element by the equation Ax = 0 (i.e., the probability of solving for a certain parameter to be decoded in this matrix) is the same for all elements, denoted by k. m,n This probability can also be expressed as the solvable probability of the parameter to be decoded. This solvable probability k m,nIt can be obtained through the following formula (4).

[0110] Where, α n (m,r) is an intermediate function that can be obtained through the following recursive definition.

[0111] 1) Initial value α n (0,0)=1.

[0112] 2) For j = 1,...,m, α n (j,0)=q -n α n (j-1,0).

[0113] 3) For r = 1, ..., min(m, n), α n (r,r)=(1-q r-n )α n (r-1,r-1), and for j=r+1,...,m, α n (j,r)=q r-n α n (j-1,r)+(1-q r-n )α n (j-1,r-1).

[0114] Referring to Figure 6, it is a simulation diagram of the partial solvable probability provided in an embodiment of this application. To verify the potential benefits of the data processing method (PR-BP) provided in this application in batch network coding, this embodiment calculates the data finite field F2 and the data finite field F. 256 Partially solvable probability k m,n Value. As shown in Figure 6, for the finite field F of the data 256 When n≤16, k 16,n k is close to 1, while when n>16, k 16,n It drops sharply to near 0. This indicates that for F 256 Generally speaking, partial recovery does not contribute much to solving for more variables. However, in the case of F2, partial recovery can significantly increase the probability of solving for a single variable. As shown in Figure 6, even when the number of variables is greater than the number of equations (n>m), there is a significant chance of solving for a single variable.

[0115] Furthermore, we fix an integer D > 0, real numbers θ > 0, and 0 < η < 1. Consider a dataset with K message packets... A series of BATS codes for each batch and the sampling degree distribution Ψ.

[0116] Based on this, in obtaining the partially solvable probability k m,nIn addition, it is also necessary to obtain the decoding ratio parameter z and the matrix rank distribution h = (h1, h2, ..., h m Let η be the sampling degree distribution parameter Ψ corresponding to the sampling degree distribution. The decoding ratio parameter z can be understood as the ratio that has already been decoded during the BP algorithm process, and η is the expected final decoding ratio. Therefore, the relationship 0 ≤ z ≤ η must be satisfied to mathematically ensure that the entire BP decoding process can (with a high probability) continuously progress from no decoding at the beginning to decoding the expected ratio η.

[0117] Next, based on the decoding scale parameter z and the matrix rank distribution h = (h1, h2, ..., h m ), sampling degree distribution parameter Ψ, and partially solvable probability k m,n This yields the asymptotic rate function Θ(z; h, Ψ). The following section will further describe how to generate the asymptotic rate function Θ(z; h, Ψ).

[0118] Referring to Figure 7, based on the decoding ratio parameter, matrix rank distribution, sampling degree distribution parameter, and partial solvability probability, the asymptotic rate function is obtained, including the following steps 701 to 703.

[0119] Step 701: Obtain the degree parameter and degree iteration parameter, subtract one from the degree parameter to obtain the adjusted degree parameter, and obtain the degree combination number of the adjusted degree parameter and the degree iteration parameter.

[0120] Step 702: Based on the difference between the degree parameter and the degree iteration parameter, obtain the degree index; based on the degree parameter power of the decoding ratio parameter, obtain the first decoding parameter term; and based on the degree index power of the decoding ratio parameter, obtain the second decoding parameter term.

[0121] Step 703: The asymptotic rate function is obtained by multiplying the number of degree combinations, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvable probability.

[0122] Steps 701 to 703 are described in detail below.

[0123] In some embodiments, after obtaining the decoding ratio parameter z and the matrix rank distribution h = (h1, h2, ..., h...), m ), sampling degree distribution parameter Ψ, and partially solvable probability k m,n Next, first obtain the degree parameter and degree iteration parameter d, and obtain the adjusted degree parameter d-1 by subtracting one from the degree parameter. Then obtain the degree combination number (i.e. permutation and combination) of the adjusted degree parameter d-1 and the degree iteration parameter s as shown in the following formula (4).

[0124] Then, based on the difference between the degree parameter d-1 and the degree iteration parameter s, the degree exponent d-1-s is obtained, and based on the degree parameter s raised to the power of the decoding ratio parameter z, the first decoding parameter term z is obtained. s And based on the degree exponent d⁻¹-s of the decoding ratio parameter z, the second decoding parameter z is obtained. d-1-s Next, the cumulative degree combination number and the first decoding parameter z... s The second decoding parameter z d-1-s Decoding scale parameter z, matrix rank distribution h = (h1, h2, ..., h m ), sampling degree distribution parameter Ψ, and partially solvable probability k m,n The asymptotic rate function Θ(z;h,Ψ) is obtained as shown in the following formula (5).

[0125] Step 502: Obtain the sampling degree distribution constraint and the asymptotic rate constraint, and based on the asymptotic rate function, the sampling degree distribution constraint and the asymptotic rate constraint, obtain the asymptotic rate optimization model.

[0126] Step 502 will be described in detail below.

[0127] In some embodiments, based on the relationship constraint 0≤z≤η between the asymptotic rate function Θ(z;h,Ψ) and the aforementioned decoding scaling parameter z, the following asymptotic rate constraint (6) can be obtained: Θ(z;h,Ψ)+θln(1-z)>0 (6)

[0128] Based on asymptotic analysis, it can be determined that the matrix rank distribution h = (h1, h2, ..., h) for a given batch is... m The restorability of η is determined by the degree distribution Ψ of the BATS outer code. This condition allows us to optimize the degree distribution of the coding scheme for the PR-BE decoding algorithm to maximize the code rate. Furthermore, the sampling degree distribution constraint ∑ is also required. d Ψ d =1 and Ψ d ≥0, d=1,...,D. Then, based on the asymptotic rate function (5), the sampling degree distribution constraint and the asymptotic rate constraint (6), the asymptotic rate optimization model is obtained as shown in the following formula (7).

[0129] Step 503: Solve the asymptotic rate optimization model to obtain the sampling degree distribution.

[0130] Step 503 will be described in detail below.

[0131] In some embodiments, after obtaining the asymptotic rate optimization model (7), a suitable sampling degree distribution Ψ can be obtained by solving the asymptotic rate optimization model (7).* This effectively improves coding efficiency, enhances data reliability, and optimizes decoding complexity. The following section will further describe how to solve this asymptotic rate optimization model (7).

[0132] Referring to Figure 8, the sampling degree distribution is obtained by solving the asymptotic rate optimization model, including the following steps 801 to 803.

[0133] Step 801: Perform discrete relaxation on the decoding ratio parameter to obtain multiple discrete decoding ratio parameter values.

[0134] Step 802: Based on each discrete decoding scale parameter value and the asymptotic rate constraint, generate discrete asymptotic rate constraints with the same number as the discrete decoding scale parameter values.

[0135] Step 803: Replace the asymptotic rate constraints in the asymptotic rate optimization model with multiple discrete asymptotic rate constraints, and solve the updated asymptotic rate optimization model to obtain the sampling degree distribution.

[0136] Steps 801 to 803 are described in detail below.

[0137] In some embodiments, it can be seen from the asymptotic rate optimization model corresponding to the above formula (7) that the asymptotic rate constraint (6) is a non-convex constraint. Therefore, the asymptotic rate optimization model (7) is not a convex optimization problem and cannot be solved directly by convex optimization related theories.

[0138] Based on this, this embodiment performs discrete relaxation on the decoding scaling parameter z in the asymptotic rate constraint (6) to obtain L discrete decoding scaling parameter values ​​[z1, z2, ..., z]. L Based on L discrete decoding ratio parameter values ​​[z1, z2, ..., z], and using these values... L Discretizing the asymptotic rate constraint yields L discrete asymptotic rate constraints as shown in the following formula (8).

[0139] Then, multiple discrete asymptotic rate constraints (8) are used to replace the asymptotic rate constraints in the asymptotic rate optimization model (7). The updated asymptotic rate optimization model (7) is a convex optimization problem. The updated asymptotic rate optimization model can be solved by interior point method and other related convex optimization methods to obtain the optimal sampling degree distribution Ψ. * .

[0140] Similar to the BATS code analysis in GE-BP decoding, this optimization problem can be transformed into an efficient linear programming problem by sampling z within the range 0 ≤ z ≤ η and discretizing the first constraint into multiple constraints. Let θ *This represents the optimal value obtained from the above optimization. Similar to the BATS code analysis in GE-BP decoding, the rate ηθ... * This can be achieved using BATS codes with PR-BP decoding and precoding. ηθ * The upper limit is the expected rank E(h) = ∑ i ih i .

[0141] Through steps 501 to 503, 701 to 703, and 801 to 803, the optimal sampling rate distribution is obtained by solving the asymptotic rate function, which is derived from the partial solvability probability, decoding ratio parameter, matrix rank distribution, sampling rate distribution parameter, combined with sampling rate distribution constraints and asymptotic rate constraints. This optimal sampling rate distribution can improve encoding efficiency and enhance data reliability during data transmission when used for data encoding at the subsequent data sending end, as well as improve decoding efficiency at the data receiving end.

[0142] Step 402: Encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of encoded packets.

[0143] Step 402 will be described in detail below.

[0144] In some embodiments, the optimal sampling degree distribution Ψ is obtained. * Next, consider sending a message consisting of K×T data matrices B from the data sender to the data receiver via the network. Each row of B represents a data packet of the message.

[0145] A BATS code consists of an outer code and an inner code. At the data sender, the outer code encodes B into batches of encoded packets. Let M be a positive integer called the batch size, typically less than one hundred. For i = 1, 2, ..., n, the data matrix X of the i-th batch... i It is an M×T matrix, generated in the form of X i =G i B, where G i It is an M×K matrix, which is generated by batch encoding the data to be transmitted based on the sampling degree distribution, resulting in multiple batches of encoded packets. The following will describe in more detail how to generate multiple batches of encoded packets.

[0146] Referring to Figure 9, the data to be transmitted is encoded in batches based on the sampling degree distribution to obtain multiple batches of encoded packets, including the following steps 901 to 903.

[0147] Step 901: Obtain the finite domain of the data and obtain the sampling degree based on the sampling degree distribution.

[0148] Step 902: Obtain the outer code generation matrix based on the finite field of the data and the sampling degree.

[0149] Step 903: Use the external code generation matrix to encode the data to be transmitted, and add a coefficient vector to the encoded data to obtain multiple batches of encoded packets.

[0150] Steps 901 to 903 are described in detail below.

[0151] In some embodiments, after obtaining the finite field F of the data and the optimal sampling degree distribution Ψ * Then, a series of batches of encoded packets are generated using the optimal sampling degree distribution. Specifically, for the i-th batch, the optimal sampling degree distribution is first used to generate the packets. Get an integer d i This is called the sampling degree of the batch, and the probability of this sampling degree is Ψ. d Next, an M×K initial generator matrix is ​​generated. Based on the sampling degree, multiple target columns are randomly selected from the initial generator matrix. Filling values, which are the same number of elements in the target columns, are independently and uniformly randomly selected from a finite field. Each element of the target column is updated with the filling values. The initial generator matrix after filling is used as the outer code generator matrix G. i Then, the outer code is used to generate the matrix G. i Multiplying the original data vector yields the outer code encoded data matrix X. i =G i B. In the external code encoded data matrix X i Add an M×Ms identity matrix I to the beginning to obtain the encoded packet matrix [IX] of this batch. i In this batch of encoded packet matrix, each row represents an encoded packet. The portion of each row taken from the identity matrix is ​​called the coefficient vector of that encoded packet, and the portion taken from the encoded data matrix is ​​called the data portion of that encoded packet. Repeating this process yields multiple batches of encoded packets. In practice, the foreign code generation matrix G within the same batch... i The randomness can come from a pseudo-random generator, which can be obtained by the data receiver. Considering the sparsity of the outer code generation matrix Gi, matrix multiplication can follow a simplified procedure, i.e., only non-zero columns are calculated.

[0152] Step 403: Perform network encoding on multiple batches of encoded packets, and transmit the network-encoded multiple batches of encoded packets to the data receiving end through network intermediate nodes.

[0153] Step 403 will be described in detail below:

[0154] The data transmitter generates multiple batches of encoded packet matrices, which are then network encoded and transmitted to the data receiver via at least one intermediate network node. The same batch of encoded packets is linearly combined at all network forwarding nodes (i.e., intermediate network nodes, including the data transmitter); this operation is collectively referred to as the internal code encoding process (also called the re-encoding process). Note that the internal code can use subfields of the base field to select the linear combination coefficients. This end-to-end internal code encoding process is equivalent to multiplying by a corresponding matrix H. i This is called the batch transfer matrix, which means that the encoded packets of multiple batches will be updated during transmission and forwarding at each intermediate node in the network.

[0155] For the same batch of encoded packets, the initial encoded packet matrix at the sending end is [I Xi]. After network transmission, the encoded packet matrix received at the data receiving end is [H]. i H i X i The batch transition matrix H can be obtained by merging the coefficient vector portions of the same batch of encoded packets. i By merging the data portions of the encoded packets, we can obtain Y. i And Y i =H i X i =H i G i B, where Y i This is called the data vector matrix to be decoded. The data receiver can obtain G using the same pseudo-random generator as the data sender. i , and H extracted from the coefficient vector i Multiply. Let A i =H i G i Then A i This is the matrix to be decoded. The data receiver uses A. i and Y i To attempt to recover the original data, i.e., to perform data decoding.

[0156] Alternatively, data can be encoded using block LDPC codes.

[0157] Block LDPC coding is also a network coding scheme that incorporates both outer and inner codes. Consider sending message packets from a data sender to a data receiver. As part of the outer code, these message packets are first encoded using LDPC to generate encoded packets consisting of K×T matrices B, where each row of B represents an encoded data packet. Let M be a positive integer called the batch size, typically less than one hundred. Assume M equally divides K. Let n... a =K / M. At the data sending end, these B encoded packets are divided into batches of M, generating n. aThe encoded packets X1, X2, ..., X in each batch n These data batches generated by the sending end are transmitted to the receiving end over the network. X i Each line is considered a packet, and the internal code is a linear combination of packets from the same batch across all network nodes. Similar to Batch Sparse Codes (BATS codes), for the i-th batch, the end-to-end transformation can be represented as the batch transition matrix H. i This results in the symbol Y for the i-th batch received by the data receiver. i =H i X i By embedding coefficient vectors within the packet, the data receiver can obtain H. i .

[0158] The decoding problem of block LDPC codes can also be viewed as a decoding problem of the equation Ab = y, and can be equivalently regarded as including n = n a +n b There are n batches, of which n b This represents the number of constraints in the LDPC encoding. These n batches are divided into two categories: for i in 1,…,n… a Within the range, d i =M. For the first n a For each batch, the M non-zero columns in the respective batch coefficient matrix are all distinct. For i in n a Within the range of +1,…,n, r i =1. In fact, for matrix A, this last nn a The rows form the parity check matrix of the LDPC code, so the corresponding y is zero.

[0159] For example, A has the block construction shown in the following formula (9) (where * represents a non-zero submatrix and 0 represents a submatrix that is always zero).

[0160] Where the first n a The block diagonal matrix consisting of rows of submatrices corresponds to the first n... a One batch, followed by n b The check matrix of the LDPC code is formed by a number of non-zero submatrices as shown in the following formula (10).

[0161] Since this construction Ab=y also conforms to the block structure of the equation, iterative decoding can also be performed using the PR-BP algorithm (i.e. the data processing method described above) provided in this application.

[0162] The second data processing method for a network communication system proposed in this application includes: First, obtaining the partially solvable probability, decoding ratio parameter, matrix rank distribution, and sampling degree distribution parameter; obtaining the degree parameter and degree iteration parameter; obtaining an adjusted degree parameter by subtracting one from the degree parameter; obtaining the degree combination number of the adjusted degree parameter and the degree iteration parameter; obtaining the degree exponent based on the difference between the adjusted degree parameter and the degree iteration parameter; obtaining the first decoding parameter term based on the degree parameter power of the decoding ratio parameter; obtaining the second decoding parameter term based on the degree exponent power of the decoding ratio parameter; multiplying the degree combination number, the first decoding parameter term, the second decoding parameter term, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability to obtain an asymptotic rate function; obtaining the sampling degree distribution constraint and the asymptotic rate constraint; and obtaining an asymptotic rate optimization model based on the asymptotic rate function, the sampling degree distribution constraint, and the asymptotic rate constraint; and discretizing and relaxing the decoding ratio parameter to obtain multiple... For each discrete decoding scaling parameter value and asymptotic rate constraint, a discrete asymptotic rate constraint with the same number of discrete decoding scaling parameter values ​​is generated. Multiple discrete asymptotic rate constraints replace the asymptotic rate constraints in the asymptotic rate optimization model, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution. Then, the data to be transmitted is acquired, and a finite field of the data is obtained, with the sampling degree based on the sampling degree distribution. Next, the finite field of the data is acquired again, and the sampling degree is obtained based on the sampling degree distribution. An outer code generation matrix is ​​obtained based on the finite field of the data and the sampling degree. The outer code generation matrix is ​​used to encode the data to be transmitted, and a coefficient vector is added to the encoded data to obtain multiple batches of encoded packets. Finally, the multiple batches of encoded packets are network encoded, and the network-encoded multiple batches of encoded packets are transmitted to the data receiving end through network intermediate nodes. The multiple batches of encoded packets are updated during transmission and forwarding at the network intermediate nodes.

[0163] This application embodiment solves for the optimal sampling rate function obtained by combining the partially solvable probability, decoding ratio parameter, matrix rank distribution, sampling rate distribution parameter with sampling rate distribution constraint and asymptotic rate constraint. The obtained optimal sampling rate distribution can improve the encoding efficiency and enhance the data reliability during data transmission when the data is encoded at the subsequent data sending end, and improve the decoding efficiency of data decoding at the data receiving end.

[0164] To further verify the effectiveness of the performance improvement of the first data processing method provided in this application, the accessible rates of GE-BP and PR-BP decoding were compared through numerical evaluation, taking BATS codes as an example. Referring to Figure 10, a simulation table of accessible rates provided in the embodiments of this application is shown. The rank distribution of the batch transmission matrix was calculated for a linear network with 20 hops and a packet loss rate of 0.2. The inner code uses a systematic RLNC over the binary field. Two batch sizes were considered: M = 16 and M = 32, and two outer code fields: F... 256 And F2. In the evaluation, the sampling degree distribution Ψ was optimized for GE-BP / PR-BP. Let E(Ψ) be the average degree of the optimized degree distribution Ψ. As shown in Figure 10, the accessibility rate of PR-BP on F2 is very close to that of GE-BP on F2. 256 The PR-BP achieves a higher rate on F2, but significantly higher than the GE-BP rate on F2. Furthermore, the achievable rate of PR-BP on F2 is close to the expected rank E(h), which is the upper limit of the achievable rate and is unaffected by the decoding algorithm used. Additionally, a comparison is made between PR-BP using F2 and PR-BP using F... 256 The computational cost of GE-BP is similar, and they achieve similar speeds for the same internal code.

[0165] This application also provides a network communication system that can implement the data processing method and data processing method of the above-mentioned network communication system. The system includes:

[0166] The data sending end is used to acquire the sampling degree distribution and the data to be transmitted, and to encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of encoded packets. The encoding includes a data vector sequence to be decoded and a matrix sequence to be decoded. The multiple batches of encoded packets are network encoded, and the network encoded multiple batches of encoded packets are transmitted to the data receiving end through network intermediate nodes. The multiple batches of encoded packets will be updated during the transmission and forwarding of the network intermediate nodes.

[0167] The data receiving end is used to obtain a sequence of data vectors to be decoded and a sequence of matrices to be decoded from multiple batches of encoded packets transmitted by the data sending end via network encoding. The sequence of matrices to be decoded includes multiple matrices to be decoded. All matrices in the sequence are row-simplified to obtain a simplified matrix sequence, and the corresponding row transformation operation sequence is recorded. The row transformation operation sequence is used to perform transformation operations on the sequence of data vectors to be decoded. A simplified matrix is ​​selected from the simplified matrix sequence as a transition matrix. Based on the transition matrix, at least one decodable variable column of the solution variable is determined. The decodable variable column is substituted into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an update matrix. The update matrix is ​​simplified again to obtain an updated simplified matrix, and the corresponding row transformation operation sequence is recorded. The updated simplified matrix is ​​used to update the simplified matrix sequence, and the updated simplified matrix sequence is used as the new sequence of matrices to be decoded to perform a solution update operation until all variable columns of the matrices to be decoded are solved or no decodable variable column exists, thus obtaining decoded data.

[0168] In some embodiments, the data sender is further configured to:

[0169] The partial solvability probability, decoding ratio parameter, matrix rank distribution, and sampling degree distribution parameter are obtained, and the asymptotic rate function is obtained based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvability probability.

[0170] Obtain the sampling degree distribution constraint and the asymptotic rate constraint, and based on the asymptotic rate function, the sampling degree distribution constraint and the asymptotic rate constraint, obtain the asymptotic rate optimization model;

[0171] The sampling degree distribution is obtained by solving the asymptotic rate optimization model.

[0172] In some embodiments, the data sender is further configured to:

[0173] Obtain the degree parameter and degree iteration parameter, subtract one from the degree parameter to obtain the adjusted degree parameter, and obtain the degree combination number of the adjusted degree parameter and the degree iteration parameter;

[0174] Based on the difference between the adjustment degree parameter and the degree iteration parameter, the degree index is obtained; based on the degree parameter raised to the power of the decoding ratio parameter, the first decoding parameter item is obtained; and based on the degree index raised to the power of the decoding ratio parameter, the second decoding parameter item is obtained.

[0175] The asymptotic rate function is obtained by multiplying the degree combination number, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability.

[0176] In some embodiments, the data sender is further configured to:

[0177] Discrete relaxation is performed on the decoding ratio parameter to obtain multiple discrete decoding ratio parameter values;

[0178] Based on each of the discrete decoding scale parameter values ​​and the asymptotic rate constraint, generate discrete asymptotic rate constraints that are consistent with the number of the discrete decoding scale parameter values;

[0179] The discrete asymptotic rate constraints are replaced with multiple discrete asymptotic rate constraints in the asymptotic rate optimization model, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution.

[0180] In some embodiments, the data sender is further configured to:

[0181] Obtain a finite domain of data and obtain the sampling degree based on the sampling degree distribution;

[0182] The outer code generation matrix is ​​obtained based on the finite field of the data and the sampling degree;

[0183] The data to be transmitted is encoded using the external code generation matrix, and a coefficient vector is added to the encoded data to obtain multiple batches of encoded packets.

[0184] In some embodiments, the data receiver is further configured to:

[0185] Select at least one pivot column corresponding to a solvable variable from the transition matrix as the target pivot column, and solve the target pivot column based on the transition matrix to obtain the column of decodable variables;

[0186] Substitute the decodable variable column into other simplified matrices containing the solved variables in the simplified matrix sequence, and use the updated simplified matrix as the updated matrix, and record the corresponding row transformation operation sequence;

[0187] When the position of the solution variable in the update matrix is ​​the pivot column of the update matrix, the update matrix is ​​simplified to obtain the updated simplified matrix, and the corresponding row transformation operation sequence is recorded.

[0188] When the position of the solution variable in the update matrix is ​​a non-pivotal column of the update matrix, the update matrix is ​​used as the update simplification matrix.

[0189] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, the specific implementation of the network communication system is basically the same as the specific implementation of the data processing method of the network communication system described above, and will not be repeated here.

[0190] In this embodiment, after receiving multiple batches of encoded packets and simplifying the matrices to be decoded, the decodeable variable column of at least one simplified matrix in the simplified matrix sequence is used to substitute other simplified matrices in the simplified matrix sequence for simplification. This eliminates the need to completely solve all the decoded data of the batch of matrices in a single solution. The simplification substitution process is then iteratively repeated until all variable columns of the matrices to be decoded are solved or no decodeable variable columns remain. Finally, the row transformation operation sequence of all records is used to transform the actual sequence of data vectors to be decoded to obtain the decoded data, thereby improving the solution efficiency of the data vectors to be decoded. Furthermore, it effectively solves the problem of a single matrix to be decoded being unsolvable, thus improving the decoding efficiency and reliability of the matrix sequence when decoding batches of encoded data in a network communication system. Since the PR-BP algorithm (i.e., the data processing method proposed in this application) can continue the belief propagation (BP) process as long as a batch is partially solvable, this condition is actually more lenient than the working conditions of previous solution methods (GE-BP). Therefore, it will not terminate earlier than the GE-BP algorithm. This characteristic also makes PR-BP superior to GE-BP, and this advantage becomes more significant when the size of the finite field is small. Furthermore, in terms of computational cost, the GE-BP algorithm only requires all batch transfer matrices to be in row echelon form (REF) to verify the rank. Therefore, the computational cost of the PR-BP algorithm is approximately twice that of the GE-BP algorithm. It is worth noting that when used for decoding sparse batch network coding, the slightly higher computational cost of PR-BP becomes less significant. First, the PR-BP algorithm only needs to be executed once to record the coefficients to solve multiple systems with the same coefficient matrix; therefore, forward and backward substitutions using the recorded coefficients are usually dominant. Second, the PR-BP algorithm allows the use of binary base fields, which further reduces computational cost. Furthermore, by solving the asymptotic rate function obtained from the partial solvability probability, decoding ratio parameter, matrix rank distribution, sampling degree distribution parameter, combined with sampling degree distribution constraints and asymptotic rate constraints, the obtained optimal sampling degree distribution can improve encoding efficiency and enhance data reliability during data transmission when using this optimal sampling degree distribution for data encoding at the subsequent data sending end, as well as improve decoding efficiency at the data receiving end.

[0191] This application also provides an electronic device, including:

[0192] At least one memory;

[0193] At least one processor;

[0194] At least one program;

[0195] The program is stored in a memory, and the processor executes the at least one program to implement the data processing method of the network communication system described above in this application. The electronic device can be any smart terminal, including mobile phones, tablets, personal digital assistants (PDAs), in-vehicle computers, etc.

[0196] Please refer to Figure 11, which illustrates the hardware structure of an electronic device according to another embodiment. The electronic device includes:

[0197] The processor 1101 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0198] The memory 1102 can be implemented in the form of ROM (Read Only Memory), static storage device, dynamic storage device, or RAM (Random Access Memory). The memory 1102 can store the operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1102 and is called and executed by the processor 1101 to execute the data processing method of the network communication system of the embodiments of this application.

[0199] Input / output interface 1103 is used to implement information input and output;

[0200] The communication interface 1104 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0201] Bus 1105 transmits information between various components of the device (e.g., processor 1101, memory 1102, input / output interface 1103, and communication interface 1104);

[0202] The processor 1101, memory 1102, input / output interface 1103 and communication interface 1104 are connected to each other within the device via bus 1105.

[0203] This application also provides a storage medium, which is a computer-readable storage medium, storing a computer program that, when executed by a processor, implements the data processing method of the network communication system described above.

[0204] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0205] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0206] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.

[0207] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0208] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0209] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0210] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0211] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The coupling or direct coupling or communication connection between the shown or discussed units may be through some interfaces, or indirect coupling or communication connection between the apparatus or units, and may be electrical, mechanical, or other forms.

[0212] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0213] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0214] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0215] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.

Claims

1. A data processing method of a network communication system, characterized by, include: The data vector sequence to be decoded and the matrix sequence to be decoded are obtained from multiple batches of encoded packets transmitted by the data sender through network encoding. The matrix sequence to be decoded includes multiple matrices to be decoded. Row simplification is performed on all matrices in the matrix sequence to be decoded to obtain a simplified matrix sequence, and the corresponding row transformation operation sequence is recorded. The row transformation operation sequence is used to perform transformation operations on the data vector sequence to be decoded. Select a simplified matrix from the simplified matrix sequence as a transition matrix. Based on the transition matrix, determine at least one decodable variable column for the solution variable. Substitute the decodable variable column into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an update matrix. Simplify the update matrix again to obtain an updated simplified matrix and record the corresponding row transformation operation sequence. Update the simplified matrix sequence using the updated simplified matrix and use the updated simplified matrix sequence as the new sequence of matrices to be decoded to perform the solution update operation until all variable columns of the matrices to be decoded have been solved or there are no decodable variable columns, thus obtaining the decoded data.

2. The data processing method of a network communication system according to claim 1, wherein, The process of determining at least one decodable variable column for the solution variable based on the transition matrix, substituting the decodable variable column into other simplified matrices containing the solution variable in the simplified matrix sequence to obtain an updated matrix, and then simplifying the updated matrix again to obtain an updated simplified matrix includes: Select at least one pivot column corresponding to a solvable variable from the transition matrix as the target pivot column, and solve the target pivot column based on the transition matrix to obtain the column of decodable variables; Substitute the decodable variable column into other simplified matrices containing the solved variables in the simplified matrix sequence, and use the updated simplified matrix as the updated matrix, and record the corresponding row transformation operation sequence; When the position of the solution variable in the update matrix is ​​the pivot column of the update matrix, the update matrix is ​​simplified to obtain the updated simplified matrix, and the corresponding row transformation operation sequence is recorded. When the position of the solution variable in the update matrix is ​​a non-pivotal column of the update matrix, the update matrix is ​​used as the update simplification matrix.

3. A data processing method of a network communication system, characterized by, include: Obtain the sampling degree distribution and the data to be transmitted; The data to be transmitted is encoded in batches based on the sampling degree distribution to obtain multiple batches of encoded packets. The encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded. The multiple batches of encoded packets are network encoded, and the network-encoded multiple batches of encoded packets are transmitted to the data receiving end through network intermediate nodes. The multiple batches of encoded packets will be updated during the transmission and forwarding of the network intermediate nodes.

4. The data processing method of a network communication system according to claim 3, wherein The acquisition of the sampling degree distribution includes: The partial solvability probability, decoding ratio parameter, matrix rank distribution, and sampling degree distribution parameter are obtained, and the asymptotic rate function is obtained based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvability probability. Obtain the sampling degree distribution constraint and the asymptotic rate constraint, and based on the asymptotic rate function, the sampling degree distribution constraint and the asymptotic rate constraint, obtain the asymptotic rate optimization model; The sampling degree distribution is obtained by solving the asymptotic rate optimization model.

5. The data processing method of a network communication system according to claim 4, wherein, The process of obtaining the asymptotic rate function based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability includes: Obtain the degree parameter and the degree iteration parameter, subtract one from the degree parameter to obtain the adjusted degree parameter, and obtain the degree combination number of the adjusted degree parameter and the degree iteration parameter; Based on the difference between the adjustment degree parameter and the degree iteration parameter, the degree index is obtained; based on the degree parameter raised to the power of the decoding ratio parameter, the first decoding parameter item is obtained; and based on the degree index raised to the power of the decoding ratio parameter, the second decoding parameter item is obtained. The asymptotic rate function is obtained by multiplying the degree combination number, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability.

6. The data processing method of a network communication system according to claim 4, wherein, The process of solving the asymptotic rate optimization model to obtain the sampling degree distribution includes: Discrete relaxation is performed on the decoding ratio parameter to obtain multiple discrete decoding ratio parameter values; Based on each of the discrete decoding scale parameter values ​​and the asymptotic rate constraint, generate discrete asymptotic rate constraints that are consistent with the number of the discrete decoding scale parameter values. The discrete asymptotic rate constraints are replaced with multiple discrete asymptotic rate constraints in the asymptotic rate optimization model, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution.

7. The data processing method of a network communication system according to claim 3, wherein, The step of encoding the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of encoded packets includes: Obtain a finite domain of data and obtain the sampling degree based on the sampling degree distribution; The outer code generation matrix is ​​obtained based on the finite field of the data and the sampling degree; The data to be transmitted is encoded using the external code generation matrix, and a coefficient vector is added to the encoded data to obtain multiple batches of encoded packets.

8. A network communication system, characterized by include: The data sending end is used to acquire the sampling degree distribution and the data to be transmitted, and to encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of encoded packets. The encoding includes a data vector sequence to be decoded and a matrix sequence to be decoded. The multiple batches of encoded packets are network encoded, and the network encoded multiple batches of encoded packets are transmitted to the data receiving end through network intermediate nodes. The multiple batches of encoded packets will be updated during the transmission and forwarding of the network intermediate nodes. The data receiving end is used to obtain a sequence of data vectors to be decoded and a sequence of matrices to be decoded from multiple batches of encoded packets transmitted by the data sending end via network encoding. The sequence of matrices to be decoded includes multiple matrices to be decoded. All matrices in the sequence are row-simplified to obtain a simplified matrix sequence, and the corresponding row transformation operation sequence is recorded. The row transformation operation sequence is used to perform transformation operations on the sequence of data vectors to be decoded. A simplified matrix is ​​selected from the simplified matrix sequence as a transition matrix. Based on the transition matrix, at least one decodable variable column of the solution variable is determined. The decodable variable column is substituted into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an update matrix. The update matrix is ​​simplified again to obtain an updated simplified matrix, and the corresponding row transformation operation sequence is recorded. The updated simplified matrix is ​​used to update the simplified matrix sequence, and the updated simplified matrix sequence is used as the new sequence of matrices to be decoded to perform a solution update operation until all variable columns of the matrices to be decoded are solved or no decodable variable column exists, thus obtaining decoded data. 9.An electronic device comprising a memory and a processor, the memory storing a computer program, wherein, When the processor executes the computer program, it implements the data processing method of the network communication system according to any one of claims 1 to 2 or the data processing method of the network communication system according to any one of claims 3 to 7.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, When the computer program is executed by the processor, it implements the data processing method of the network communication system according to any one of claims 1 to 2 or the data processing method of the network communication system according to any one of claims 3 to 7.