Data processing method of network communication system and related device

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

CN119629195BActive Publication Date: 2025-11-25THE CHINESE UNIV OF HONG KONG (SHENZHEN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411610996.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-11-25
Estimated Expiration
2044-11-12

AI Technical Summary

Technical Problem

In existing technologies, the decoding method of batch network coding requires that each batch of encoded data be completely decoded before the next batch of data can be decoded, resulting in low decoding efficiency, which is more obvious when the number of batches increases.

Method used

The received batches of encoded packets are simplified by matrix reduction. The decodeable variable columns in the simplified matrix sequence are used to simplify other simplified matrices. The process is iterated until the variable columns of all matrices to be decoded are solved. Finally, the data is decoded by combining the row transformation operation sequence.

Benefits of technology

It improves the efficiency and reliability of solving the data vector to be decoded, solves the problem that a certain matrix to be decoded cannot be solved alone, and enhances the decoding efficiency and reliability of batch encoded data in network communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119629195B_ABST
    Figure CN119629195B_ABST
Patent Text Reader

Abstract

The data processing method of the network communication system and the related equipment provided in the embodiments of the present application, wherein the data processing method comprises: obtaining a to-be-decoded data vector sequence and a to-be-decoded matrix sequence from a plurality of batches of encoded packets transmitted by a data sending end through network coding, the to-be-decoded matrix sequence comprising a plurality of to-be-decoded matrices; performing row simplification on all the to-be-decoded matrices in the to-be-decoded matrix sequence to obtain a simplified matrix sequence, and recording a corresponding row transformation operation sequence; performing simplified iteration on the simplified matrix sequence until all variable columns of the to-be-decoded matrices are solved or there is no solvable variable column, the row transformation operation sequence being used for performing a transformation operation on the to-be-decoded data vector sequence to obtain decoded data, improving the solving efficiency of the to-be-decoded data vector, and improving the decoding efficiency and decoding reliability of the to-be-decoded matrix sequence.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of industrial Internet of Things, and in particular to a data processing method of a network communication system and related equipment. BACKGROUND

[0002] Data encoding and data decoding of a network communication system are important steps to ensure the integrity and accuracy of data in the transmission process in the network. Batch network coding can further improve the transmission efficiency and data reliability of data in the transmission process in the network by grouping and coding the data.

[0003] In the prior art, when the transmission data obtained based on batch network coding is received at the receiving end, the received batch coding data is usually jointly solved by combining intra-batch Gaussian elimination and inter-batch belief propagation to obtain decoded data. However, this decoding method needs to completely decode each batch of coding data one by one before decoding the data of the next batch, and when the number of batches of transmission data increases, the decoding efficiency will be low if this decoding method is used. SUMMARY

[0004] The embodiments of the present application provide a data processing method of a network communication system and related equipment, which can improve the decoding efficiency when decoding batch coding data in the network communication system.

[0005] To achieve the above-mentioned purpose, the first aspect of the embodiments of the present application provides a data processing method of a network communication system, comprising:

[0006] obtaining a to-be-decoded data vector sequence and a to-be-decoded matrix sequence from a plurality of batches of coding packets transmitted by a data sending end through network coding, wherein the to-be-decoded matrix sequence comprises a plurality of to-be-decoded matrices;

[0007] simplifying all to-be-decoded matrices in the to-be-decoded matrix sequence by row, obtaining a simplified matrix sequence, and recording a corresponding row transformation operation sequence, wherein the row transformation operation sequence is used for transformation operation on the to-be-decoded data vector sequence;

[0008] selecting a simplified matrix from the simplified matrix sequence as a transition matrix, determining at least one decodable variable column of a solving variable based on the transition matrix, substituting the decodable variable column into other simplified matrices containing the solving variable in the simplified matrix sequence, obtaining an updated matrix, simplifying the updated matrix again to obtain an updated simplified matrix, recording a corresponding row transformation operation sequence, updating the simplified matrix sequence by using the updated simplified matrix, and executing a solving update operation on the updated simplified matrix sequence as a new to-be-decoded matrix sequence until the variable column of all to-be-decoded matrices is solved or there is no decodable variable column, and obtaining decoded data.

[0009] In some embodiments, the method further comprises:

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

[0011] substituting the decodable variable column into other simplified matrices in the sequence of simplified matrices containing the solving variable, and taking the updated simplified matrix as the update matrix, and recording the corresponding row transformation operation sequence;

[0012] when the position of the solving variable in the update matrix is a pivot column of the update matrix, simplifying the update matrix to obtain the update simplified matrix, and recording the corresponding row transformation operation sequence;

[0013] when the position of the solving variable in the update matrix is a non-pivot column of the update matrix, taking the update matrix as the update simplified matrix.

[0014] To achieve the above object, a second aspect of the embodiment of the present application proposes another data processing method of a network communication system, comprising:

[0015] obtaining a sampling degree distribution and to-be-transmitted data;

[0016] batch-encoding the to-be-transmitted data based on the sampling degree distribution to obtain a plurality of batches of encoded packets, the encoding containing a to-be-decoded data vector sequence and a to-be-decoded matrix sequence;

[0017] network-encoding the plurality of batches of encoded packets, and transmitting the network-encoded plurality of batches of encoded packets to a data receiving end through a network intermediate node, wherein the plurality of batches of encoded packets will be updated in the transmission and forwarding of the network intermediate node.

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

[0019] obtaining a partial solvable probability, a decoding ratio parameter, a matrix rank distribution, a sampling degree distribution parameter, and obtaining an asymptotic rate function based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvable probability;

[0020] obtaining a sampling degree distribution constraint and a progressive rate constraint, and obtaining a progressive rate optimization model based on the progressive rate function, the sampling degree distribution constraint and the progressive rate constraint;

[0021] solving the progressive rate optimization model to obtain the sampling degree distribution.

[0022] In some embodiments, the obtaining a progressive rate function based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvable probability comprises:

[0023] obtaining a degree parameter and a degree iteration parameter, obtaining an adjusted degree parameter based on the degree parameter minus one, and obtaining a degree combination number of the adjusted degree parameter and the degree iteration parameter;

[0024] obtaining a degree index based on a difference value of the adjusted degree parameter and the degree iteration parameter, obtaining a first decoding parameter term based on a power of the degree parameter of the decoding ratio parameter, and obtaining a second decoding parameter term based on a power of the degree index of the decoding ratio parameter;

[0025] 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 partial solvable probability to obtain the progressive rate function.

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

[0027] discretely relaxing the decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values;

[0028] generating a plurality of discrete progressive rate constraints consistent with the number of the discrete decoding ratio parameter values based on each of the discrete decoding ratio parameter values and the progressive rate constraint;

[0029] replacing the progressive rate constraint in the progressive rate optimization model with the plurality of discrete progressive rate constraints, and solving the updated progressive rate optimization model to obtain the sampling degree distribution.

[0030] In some embodiments, the batch-encoding the to-be-transmitted data based on the sampling degree distribution to obtain a plurality of batches of encoded packets comprises:

[0031] obtaining a data finite field, and obtaining a sampling degree based on the sampling degree distribution;

[0032] obtaining an outer code generation matrix based on the data finite field and the sampling degree;

[0033] The outer code generation matrix is used to encode the to-be-transmitted data, and a coefficient vector is added to the encoded to-be-transmitted data to obtain a plurality of batches of encoded packets.

[0034] To achieve the above object, a third aspect of the embodiments of the present application provides a network communication system, comprising:

[0035] The data sending end is configured to obtain a sampling degree distribution and to-be-transmitted data, perform batch encoding on the to-be-transmitted data based on the sampling degree distribution to obtain a plurality of batches of encoded packets, and perform network coding on the plurality of batches of encoded packets and transmit the network-coded plurality of batches of encoded packets to the data receiving end through a network intermediate node.

[0036] The data receiving end is configured to obtain a to-be-decoded data vector sequence and a to-be-decoded matrix sequence from the plurality of batches of encoded packets transmitted by the data sending end through network coding, perform row simplification on all to-be-decoded matrices in the to-be-decoded matrix sequence to obtain a simplified matrix sequence and record a corresponding row transformation operation sequence, use the row transformation operation sequence to perform a transformation operation on the to-be-decoded data vector sequence, select a simplified matrix from the simplified matrix sequence as a transition matrix, determine at least one decodable variable column of a solving variable based on the transition matrix, substitute the decodable variable column into other simplified matrices containing the solving variable in the simplified matrix sequence to obtain an updated matrix, perform row simplification on the updated matrix again to obtain an updated simplified matrix and record a corresponding row transformation operation sequence, update the simplified matrix sequence by using the updated simplified matrix, and use the updated simplified matrix sequence as a new to-be-decoded matrix sequence to perform a solving update operation until variable columns of all to-be-decoded matrices are solved or there is no decodable variable column, and obtain decoded data.

[0037] To achieve the above object, a fourth aspect of the embodiments of the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the data processing method of the network communication system according to the first aspect or the data processing method of the network communication system according to the second aspect when executing the computer program.

[0038] To achieve the above object, a fifth aspect of the embodiments of the present application provides a storage medium, which is a computer-readable storage medium, and stores a computer program. The computer program is executed by a processor to implement the data processing method of the network communication system according to the first aspect or the data processing method of the network communication system according to the second aspect.

[0039] The data processing method of the network communication system and the related device provided by the embodiments of the present application, wherein the data processing method comprises the following steps: firstly, obtaining a to-be-decoded data vector sequence and a to-be-decoded matrix sequence from a plurality of batches of encoding packets transmitted by a data sending end through network coding, wherein the to-be-decoded matrix sequence comprises a plurality of to-be-decoded matrices; then, performing row simplification on all the to-be-decoded matrices in the to-be-decoded matrix sequence to obtain a simplified matrix sequence, and recording a corresponding row transformation operation sequence, wherein the row transformation operation sequence is used for performing a transformation operation on the to-be-decoded data vector sequence; finally, selecting a simplified matrix from the simplified matrix sequence as a transition matrix, determining at least one decodable variable column of a solving variable based on the transition matrix, substituting the decodable variable column into other simplified matrices containing the solving variable in the simplified matrix sequence, obtaining an updated matrix, performing simplification on the updated matrix again to obtain an updated simplified matrix, recording a corresponding row transformation operation sequence, updating the simplified matrix sequence by using the updated simplified matrix, and executing a solving update operation on the updated simplified matrix sequence as a new to-be-decoded matrix sequence until all the variable columns of the to-be-decoded matrices are solved or there is no decodable variable column, and obtaining decoded data. After the plurality of batches of encoding packets are received and the to-be-decoded matrices in the plurality of batches of encoding packets are simplified, the solving variable of at least one simplified matrix in the simplified matrix sequence is substituted into other simplified matrices in the simplified matrix sequence, without completely solving all the decoded data of the to-be-decoded matrices in one solving, and then the substitution process is iterated until all the variable columns of the to-be-decoded matrices are solved or there is no decodable variable column, and the actual to-be-decoded data vector sequence is transformed by using all the recorded row transformation operation sequences to obtain decoded data, so that the solving efficiency of the to-be-decoded data vector is improved. In addition, the situation that a to-be-decoded matrix cannot be solved alone is effectively solved, and the decoding efficiency and decoding reliability of the to-be-decoded matrix sequence are improved when the batched encoding data is decoded in the network communication system.

[0040] Other features and advantages of the present application will be set forth in the following description, and in part will become apparent from the description, or can be learned by practice of the present application. The objects and other advantages of the present application will be realized and attained by the structure particularly pointed out in the written description and claims thereof as well as the appended drawings. BRIEF DESCRIPTION OF DRAWINGS

[0041] Figure 1 is a structural schematic diagram of a network communication system provided by an embodiment of the present application.

[0042] Figure 2 is a flowchart of a first data processing method of a network communication system provided by an embodiment of the present application.

[0043] Figure 3 is Figure 2 the flow chart of step 202 in

[0044] Figure 4 is the flow chart of the data processing method of the second network communication system provided by an embodiment of the present application.

[0045] Figure 5 is Figure 4 the flow chart of step 401 in

[0046] Figure 6 is the simulation diagram of partial solvable probability provided by another embodiment of the present application

[0047] Figure 7 is Figure 5 the flow chart of step 501 in

[0048] Figure 8 is Figure 5 the flow chart of step 503 in

[0049] Figure 9 is Figure 4 the flow chart of step 402 in

[0050] Figure 10 is the reachable rate simulation table provided by another embodiment of the present application

[0051] Figure 11 is the hardware structure diagram of the electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0052] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not intended to limit the present application.

[0053] It should be noted that although the functional modules are divided in the device schematic diagram, and the logical order is shown in the flow chart, in some cases, the steps shown or described can be executed in a manner different from the module division in the device or the order in the flow chart.

[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 the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application, and are not intended to limit the present application.

[0055] First, the several terms involved in the present application are analyzed:

[0056] Batched network coding is a technique designed to improve the efficiency of network transmission. It involves combining multiple independent data packets in batches through linear combination or other encoding operations, then transmitting these encoded packets to the receiving end. The receiving end recovers the original data packets through decoding algorithms. This method reduces the number of transmissions, improves the utilization of network bandwidth, and enhances the reliability and anti-interference ability of data by introducing redundant information, widely used in video streaming, wireless networks, and distributed storage systems.

[0057] Batched Gaussian elimination is a technique used to decode batched network coding data. In this process, the problem of recovering the original data packets from each batch of data packets is treated as solving a system of linear equations. Gaussian elimination algorithm is applied to solve the equation system to recover the original data packets. This method systematically eliminates variables to obtain a unique solution, ensuring accurate restoration of the original information from the sending end.

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

[0059] BATS code (Batched Sparse Code) is an efficient coding technology based on batched network coding, designed to improve network transmission efficiency and reliability. It divides data into multiple batches and uses sparse coding in each batch, making the encoding and decoding process more efficient and with lower computational complexity.

[0060] Reduced row echelon form (RREF) is a special matrix form that converts a matrix into a standardized form through a series of row elementary transformations. In this form, the first non-zero element of each row (called the leading element) is 1, and other elements in the column of the leading element are all zeros. This matrix form is convenient for solving linear equations and intuitively displaying the solution structure of linear systems.

[0061] The partial solvability of linear equations refers to that in a linear equation system, even if the whole equation system does not have a unique solution, there are some cases that a part of variables of the equation system has a unique solution. This property is called the partial solvability of linear system. For a homogeneous linear equation system, after the coefficient matrix of the equation system is converted into a simplified row echelon form, whether a pivot is uniquely solvable can be determined by observing whether there are other non-zero elements in the row where the pivot is located: given a homogeneous linear equation system, after the coefficient matrix of the equation system is converted into a simplified row echelon form, if a variable of the equation system corresponds to a pivot of the simplified row echelon form, and other elements in the row where the pivot is located are all zero, then the variable has a unique solution. In addition, when linear network coding works in an erasure network channel, since the received coded data is a linear combination of the original data, the decoding of the linear equation system corresponding to the coded data is not a homogeneous linear equation system, but the uniqueness of the solution can be determined according to the case of the homogeneous linear equation system.

[0062] Data encoding and data decoding of a network communication system are important steps to ensure the integrity and accuracy of data in the network transmission process. Batch network coding can further improve the transmission efficiency and data reliability of data in the network transmission process by grouping and coding data.

[0063] In the prior art, after receiving the transmission data obtained based on batch network coding at the receiving end, the received batch coded data is jointly solved to obtain decoded data by combining intra-batch Gaussian elimination and inter-batch belief propagation. However, this decoding method needs to completely decode each batch of coded data one by one before decoding the next batch of data, and when the number of batches of transmission data increases, this decoding method will result in low decoding efficiency.

[0064] In order to improve the decoding efficiency when decoding batch coded data in a network communication system, the embodiments of the present application use the solvable variable column of the solving variable of at least one simplified matrix in the simplified matrix sequence to substitute other simplified matrices in the simplified matrix sequence after receiving a plurality of batches of coded packets and simplifying the to-be-decoded matrices therein, without completely solving all the decoded data of the to-be-decoded matrix of the batch in one solving, and then using an iterative loop of the substitution process until all the variable columns of the to-be-decoded matrices are solved or there is no solvable variable column, and using all the recorded row transformation operation sequences to transform the actual to-be-decoded data vector sequence to obtain decoded data, thereby improving the solving efficiency of the to-be-decoded data vector. In addition, it also effectively solves the case that a certain to-be-decoded matrix cannot be solved alone, thereby improving the decoding efficiency and decoding reliability of the to-be-decoded matrix sequence when decoding batch coded data in a network communication system.

[0065] For better description of the data processing method of the network communication system provided by the present application, the network communication system to which the data processing method is applied will be described first. Referring to Figure 1 , it is a structural schematic diagram of the network communication system provided by the embodiments of the present application. As shown in Figure 1 , the network communication system comprises a data sending end and a data receiving end, and a plurality of network intermediate nodes. The data sending end generates encoded data composed of a plurality of batches after batch encoding of the data to be sent; if it is a storage network intermediate node, it can re-encode the encoded data; and the data receiving end performs data decoding processing by using the received encoded packets of the plurality of batches.

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

[0067] The data processing method of the first network communication system in the embodiments of the present application will be described in detail below. Referring to Figure 2 , an optional flowchart of the data processing method of the network communication system provided by the embodiments of the present application, Figure 2 , the method can include but is not limited to steps 201 to 204. It can be understood that the order of steps 201 to 204 in Figure 2 is not specifically limited, and the order of steps can be adjusted or some steps can be reduced or added according to actual needs.

[0068] Step 201: obtaining a sequence of to-be-decoded data vectors and a sequence of to-be-decoded matrices from a plurality of batches of encoded packets transmitted by network encoding from a data sending end, the sequence of to-be-decoded matrices comprising a plurality of to-be-decoded matrices.

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

[0070] In some embodiments, after receiving a plurality of batches of encoded packets transmitted by network encoding from a data sending end, the data receiving end obtains a sequence of to-be-decoded data vectors (y1,..., y n ) and a sequence of to-be-decoded matrices (A1,..., A n ) from the plurality of batches of encoded packets, the sequence of to-be-decoded data vectors and the sequence of to-be-decoded matrices constitute a series of to-be-decoded equation groups, and the variable of each equation group is the original data b to be decoded. Each equation group can be expressed in matrix form as:

[0071]

[0072] In some embodiments, each system of equations involves only a subset b of all original data i And different systems of equations of different batches can share some of the solved variables.

[0073] It can be understood that the batch encoding can be a BATS code. Consider that a message composed of a K x T original data matrix B is sent, where each row of B represents a packet of the message. And the BATS code contains an outer code and an inner code, under the joint encoding of the outer code and the inner code, the received encoded data vector is a plurality of encoded data matrices Y1,..., Y n But still can be regarded as the above system of equations.

[0074] Step 202: Row reduction is performed on all the to-be-decoded matrices in the to-be-decoded matrix sequence to obtain a simplified matrix sequence, and a corresponding row transformation operation sequence is recorded.

[0075] Step 202 is described in detail below.

[0076] In some embodiments, all the to-be-decoded matrices A1,..., A n are row reduced (for example, using Gaussian-Jordan elimination) to obtain each to-be-decoded matrix A i The corresponding simplified row echelon form of the matrix is That is The matrices in these simplified row echelon forms form a simplified matrix sequence, and a corresponding row transformation operation sequence is recorded.

[0077] Step 203: A simplified matrix is selected from the simplified matrix sequence as a transition matrix, a decodable variable column of at least one solved variable is determined based on the transition matrix, the decodable variable column is substituted into the simplified matrix sequence other simplified matrices containing the solved variable, an updated matrix is obtained, the updated matrix is simplified again to obtain an updated simplified matrix, and a corresponding row transformation operation sequence is recorded. The updated simplified matrix sequence is used to update the simplified matrix sequence, and the updated simplified matrix sequence is used as a new to-be-decoded matrix sequence to perform a solving update operation until all variable columns of the to-be-decoded matrices are solved or there is no decodable variable column.

[0078] Step 203 is described in detail below.

[0079] In some embodiments, after obtaining a plurality of simplified matrix sequences After that (wherein t = 0, 1, 2,... is the number of iterations), a simplified matrix is selected from the simplified matrix sequence as a transition matrix, a decodable variable column of at least one solving variable is determined based on the transition matrix (that is, a pivot column in which a variable can be partially solved in the corresponding equation group), and the pivot row of the variable is substituted into other matrices containing the variable in the target matrix sequence, so that the column corresponding to the variable in other matrices is cleared.

[0080] Then, the decodable variable column is substituted into other simplified matrices containing the solving variable in the simplified matrix sequence to obtain an updated matrix, that is, the pivot row of the variable is substituted into other matrices containing the variable in the target matrix sequence, so that the column corresponding to the variable in other matrices is cleared.

[0081] Next, the updated matrix is simplified again to obtain an updated simplified matrix, that is, the substituted matrix is re-simplified (for example, using Gaussian-Jordan elimination method) to obtain a new simplified matrix sequence f1, and the corresponding row transformation operation sequence is recorded.

[0082] Finally, the updated simplified matrix sequence is updated using the updated simplified matrix, that is, the new simplified matrix sequence is repeated as the target matrix sequence to perform the above operation, and the row transformation operation sequences f2, f3,... are obtained in turn until all variable columns can be solved or there is no decodable variable column. The updated simplified matrix sequence is used as a new to-be-decoded matrix sequence to perform a solving update operation until all variable columns of the to-be-decoded matrix are solved or there is no decodable variable column.

[0083] The row transformation operation sequence is used for transformation operation on the to-be-decoded data vector sequence to obtain decoded data. It can be understood that when the decoded data vector is subjected to the transformation operation, the decoded data vector can be subjected to the transformation operation after each recorded row transformation operation sequence is obtained, or the decoded data vector can be subjected to the transformation operation after all recorded row transformation operation sequences are obtained.

[0084] Referring to Figure 3 , the decodable variable column of at least one solving variable is determined based on the transition matrix, the decodable variable column is substituted into other simplified matrices containing the solving variable in the simplified matrix sequence to obtain an updated matrix, the updated matrix is simplified again to obtain an updated simplified matrix, and the steps 301 to 304 are included.

[0085] Step 301: At least one pivot column corresponding to a solving variable that can be solved is selected from the transition matrix as a target pivot column, and the target pivot column is solved based on the transition matrix to obtain a decodable variable column.

[0086] Step 302: Substitute the decodable variable column into other reduced matrices containing the solving variable in the reduced matrix sequence, and take the updated reduced matrix as the update matrix, and record the corresponding row transformation operation sequence.

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

[0088] Step 304: When the position of the solving variable in the update matrix is a non-pivot column of the update matrix, take the update matrix as the update simplified matrix.

[0089] The steps 301 to 304 are described in detail below.

[0090] In some embodiments, at the initial time of each decoding iteration, a decodable variable column of a selected reduced matrix in the reduced matrix sequence is substituted. It can be understood that the reduced matrix is also a coefficient matrix of a specific batch of equation groups, and the decodable variable column corresponds to a variable of the equation group, that is, one of the original data to be decoded in the entire encoding.

[0091] The decodable variable column meets the following characteristics: 1. The variable corresponds to a pivot column in the batch of reduced matrices, and 2. All elements after the pivot in the pivot row are zero. Based on this, the variable is substituted into other reduced matrices, and the process of substitution is to clear the corresponding column of the variable in other reduced matrices. For the substituted matrix, because the matrix is already in the RREF form, according to the properties of RREF, there are two kinds of columns: pivot column and non-pivot column. If the substituted variable corresponds to a non-pivot column in the substituted matrix (for example, the fifth column of the following matrix is substituted), the non-pivot column is cleared after substitution, and the substituted matrix still has the RREF property. If the substituted variable corresponds to a pivot column of the substituted matrix, the pivot position in the pivot row of the pivot will be cleared after substitution. At this time, if there is no non-zero element after the pivot position in the pivot row (for example, the first column of the following matrix is substituted), moving the row to the end can make the original matrix have the RREF property. If there is a non-zero element after the pivot position (for example, the second column of the following matrix is substituted), the non-zero element column and the first column after all pivots can be exchanged (the position of the corresponding variable is also exchanged by column exchange), and the row is moved to the end and used to eliminate other rows. After the operation, the matrix still has the RREF property.

[0092]

[0093] That is, for this step, a leading column in a reduced matrix in the reduced matrix sequence is found as a decoding parameter of this iteration, and then the decoding parameter is substituted into the reduced matrix corresponding to all other equations with the variable; next, when the substituted decoding parameter corresponds to a non-leading column of the substituted matrix, the substituted matrix will still be in the RREF form after substitution; or when the substituted decoding parameter corresponds to a leading column of the substituted matrix, the substituted matrix will no longer be in the RREF form after substitution, because the leading row of the leading element is zeroed in the leading element position, and if there is a non-zero element after that, the matrix no longer meets the form requirement of RREF, at which time the matrix needs to be further eliminated to make it RREF form again; and the row transformation operations involved in this iteration are recorded to obtain a row transformation operation sequence.

[0094] In some embodiments, in the above row echelon transformation, the definition of the reduced row echelon form (RREF) is relaxed as follows: if a matrix is RREF after some row and column permutations, then the matrix is called RREF. This relaxation does not affect the solvability of the equations, but can significantly reduce the computational overhead in subsequent calculations. Since the definition of RREF is relaxed, it is more efficient than directly applying the Gaussian-Jordan elimination method to the original matrix. We can first permute some rows and columns of so that the leading principle submatrix of order r is the identity matrix. Then we can perform Gaussian-Jordan elimination from the (r+1)th column and the (r+1)th row. After Gaussian-Jordan elimination, inverse row and column permutations are performed to preserve the original order.

[0095] It can be understood that in the past, when decoding batch data matrices through batch confidence propagation technology, it is necessary to solve all solving variables of each to-be-decoded matrix one by one before solving the next to-be-decoded matrix. However, when encountering complex to-be-decoded matrices, the past solving method inevitably has low processing efficiency, and even there is a to-be-decoded matrix that cannot solve all its solving variables alone, such as the to-be-decoded matrix example shown in the following formula (3) (for ease of understanding, the matrix uses the real number field, and in actual encoding applications, it should be a specific finite field).

[0096]

[0097] ​It can be obviously seen that the solving variables {x3, x4} in the example of the matrix to be decoded shown in formula (3) cannot be directly solved. However, by using the data processing method provided in the present application, the solving variables {x1, x2} in the above formula (3) can be solved first, and the corresponding decoding

[0098] reliability and effectiveness of decoding.

[0099] Through the above steps 301 to 304, when there are no more uniquely solvable variables in the iteration simplification step, the loop iteration simplification terminates. Since the PR-BP algorithm (i.e., the data processing method provided in the present application) can continue the belief propagation (BP) process as long as part of the batch is solvable in one batch, this condition is actually more relaxed than the working condition of the previous solving method (GE-BP). Therefore, it will not terminate earlier than the GE-BP algorithm. This feature also makes PR-BP better than GE-BP, and when the size of the finite field is small, this advantage will become more significant. Moreover, in terms of computational cost, the GE-BP algorithm only needs all the 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 of sparse batch network coding, the slightly higher computational cost of PR-BP becomes less important. First, for a packet-based coding and decoding system with a data packet length of T symbols, solving each original data packet is equivalent to solving T equation groups with the same coefficient matrix, and the PR-BP algorithm only needs to perform once to record the row transformation operation steps for the same coefficient matrix, and then use the recorded row transformation operation steps to perform forward and backward substitution on the entire sequence of data vectors to be decoded. Therefore, when the packet length T is large enough, the forward and backward substitution steps usually account for the majority of the computational overhead, and this part of the computational overhead is the same as that required by the GE-BP algorithm. Second, the PR-BP algorithm makes it possible to use a binary base field, which further reduces the computational cost.

[0100] In some embodiments, after obtaining all the row transformation sequences f0, f1, f2,... for the sequence of simplified matrices and the sequence of matrices to be decoded, these row transformation operations can be applied to the sequence of data vectors to be decoded, i.e., the original data sequence b to be decoded can be recovered.

[0101] The data processing method of the network communication system and the related equipment provided by the embodiments of the present application, wherein the data processing method comprises the following steps: firstly, obtaining a to-be-decoded data vector sequence and a to-be-decoded matrix sequence from a plurality of batches of encoded packets transmitted by a data sending end through network coding; then, performing row simplification on all matrices of the to-be-decoded matrix sequence to obtain a simplified matrix sequence, and recording a corresponding row transformation operation sequence f0. Next, taking the simplified matrix sequence as a target matrix sequence, finding a decodable variable column from the target matrix sequence, substituting the variable into other matrices containing the variable in the target matrix sequence, and finally performing row simplification on the substituted matrices to obtain a new simplified matrix sequence, and recording a corresponding row transformation operation sequence f1. Taking the new simplified matrix sequence as the target matrix sequence, repeating the above operation, and sequentially obtaining row transformation operation sequences f2, f3,..., until all variable columns can be solved or there is no decodable variable column. Finally, performing operation on the to-be-decoded data vector sequence based on all recorded row transformation operation sequences f0, f1, f2,... to obtain decoded data.

[0102] The embodiments of the present application perform partial solving on each batch of the to-be-decoded matrices after receiving the plurality of to-be-decoded matrices, to obtain partial decoding data corresponding to the batch, without completely solving all decoding data of the batch of to-be-decoded matrices in one solving, and then solve other batches of to-be-decoded matrices by using the partial decoding data and perform repeated iteration solving, thereby improving the solving efficiency of all batches of to-be-decoded matrices. In addition, the situation that a certain to-be-decoded matrix cannot be solved alone is effectively solved, thereby improving the decoding efficiency and decoding reliability when decoding the batched encoded data in the network communication system. In addition, when there is no more uniquely solvable variable in the iteration simplification step, the loop iteration simplification is terminated. Since the PR-BP algorithm (i.e., the data processing method proposed in the present application) can continue the belief propagation (BP) process as long as a batch is partially solvable, this condition is actually more relaxed than the working condition of the previous solving method (GE-BP). Therefore, the PR-BP algorithm will not terminate earlier than the GE-BP algorithm. This feature also makes the PR-BP algorithm more optimal than the GE-BP algorithm, and when the size of the finite field is small, this advantage will become more significant. In terms of computational cost, the GE-BP algorithm only needs all batch transmission matrices to be in a 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 of sparse batch network coding, the slightly higher computational cost of the PR-BP algorithm becomes less important. First, the PR-BP algorithm only needs to perform a step of recording row transformation operations once, and then the recorded row transformation operation steps can be used for forward and backward substitution of the entire to-be-decoded data vector sequence, so when the packet length T is large enough, the forward and backward substitution steps usually occupy the main computational overhead, and this part of the computational overhead is the same as that required by the GE-BP algorithm. Second, the PR-BP algorithm makes it possible to use a binary base field, which further reduces the computational cost.

[0103] In addition, the embodiments of the present application also provide a second data processing method of a network communication system, which can be applied to a data sending end in the network communication system.

[0104] The second data processing method of the network communication system in the embodiments of the present application will be described in detail below. Referring to Figure 4 , an optional flowchart of the data processing method of the network communication system provided by the embodiments of the present application is shown in Figure 4 , the method can include but is not limited to steps 401 to 403. It can be understood that the order of steps 401 to 403 in Figure 4 is not specifically limited, and the order of steps can be adjusted or some steps can be reduced or added according to actual needs.

[0105] Step 401: Obtain a sampling degree distribution and to-be-transmitted data.

[0106] Step 401 is described in detail below.

[0107] In some embodiments, when the data sending end responds to the sending of the to-be-transmitted data, the sampling degree distribution needs to be obtained first, so that the to-be-transmitted data is subsequently processed in batches by using the sampling degree distribution for encoding to obtain an encoded package, thereby improving the security and reliability in data transmission.

[0108] It can be understood that the sampling degree distribution refers to the number distribution of the original data package contained in each data package in the encoding and decoding process. The size of the degree describes how many original data packages are selected to participate in encoding in the encoding process of a data package. Different sampling degree distributions will 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, optimizing decoding complexity, etc. How to obtain a suitable sampling degree distribution will be described first below.

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

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

[0111] Step 501 is described in detail below.

[0112] In some embodiments, consider that to-be-transmitted data composed of a KxT original data matrix B is sent from a data sending end to a data receiving end in a network communication network. Each row of B represents a package of a message.

[0113] Taking BATS code as an example, the BATS code contains an outer code and an inner code. At the data sending end, the outer code encodes B into batches of encoded packages, each batch of encoded packages is generated by using only a part of the original data packages, and the number of original data packages used in each batch is referred to as the degree. The selection of the degree depends on the sampling degree distribution. The selection of the degree distribution will significantly affect the efficiency of the encoding and decoding operations and the reliability of the encoding transmission. Based on this, in order to obtain a suitable sampling degree distribution, it is necessary to first obtain a partial solvability probability k m,n It can be understood that considering an m x n to-be-decoded matrix A, the matrix elements are all independently and uniformly generated from a finite field F. The probability of uniquely determining a specific element by the equation Ax = 0 (i.e., the probability of solving a certain to-be-decoded parameter of the matrix) is the same for all elements, denoted as k m,nThis probability can also be expressed as the solvability probability of the parameter to be decoded. The solvability probability k m,n It can be obtained by the following formula (4).

[0114]

[0115] where α n (m, r) is a defined intermediate function, which can be obtained by the following recursive definition.

[0116] 1) The initial value α n (0, 0) = 1.

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

[0118] 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).

[0119] Referring to Figure 6 , it is a simulation schematic diagram of the solvability probability provided in the embodiments of the present application. In order to verify the potential benefits of the data processing method (PR-BP) provided in the present application in batch network coding, the embodiments calculate the solvability probability k 256 value of the data finite field F2 and the data finite field F m,n . As shown in Figure 6 , for the data finite field F 256 , when n≤16, k 16,n is close to 1, and when n>16, k 16,n suddenly drops to close to 0. This shows that for F 256 , partial recovery contributes little to solving more variables. However, in the case of F2, partial recovery can significantly improve the probability of solving one variable. As Figure 6 shows, even in the case where the number of variables is greater than the number of equations n>m, there is a significant chance to solve one variable.

[0120] In addition, fix an integer D>0, a real number θ>0 and 0<η<1. Consider a network with K message packets, a series of BATS codes of the batch and the sampling degree distribution Ψ.

[0121] Based on this, the partially solvable probability k m,n In addition, the decoding proportion parameter z, the matrix rank distribution h = (h1, h2,..., h m ), and the sampling degree distribution parameter Ψ corresponding to the sampling degree distribution are also needed. The decoding proportion parameter z can be understood as the proportion of z that has been decoded in the BP algorithm process, and η is the proportion that is expected to be decoded finally. Therefore, the relationship 0 ≤ z ≤ η needs to be met, which can mathematically ensure that the entire BP decoding process can (with a high probability) continuously proceed from no decoding at the beginning to decoding the expected η proportion.

[0122] Next, based on the decoding proportion parameter z, the matrix rank distribution h = (h1, h2,..., h m ), the sampling degree distribution parameter Ψ, and the partially solvable probability k m,n , the asymptotic rate function Θ(z; h, Ψ) is obtained. How to generate the asymptotic rate function Θ(z; h, Ψ) will be described further below.

[0123] Referring to Figure 7 , based on the decoding proportion parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability, the asymptotic rate function is obtained, including the following steps 701 to 703.

[0124] Step 701: Obtain the degree parameter and the degree iteration parameter, obtain the adjusted degree parameter based on the degree parameter minus one, and obtain the degree combination number of the adjusted degree parameter and the degree iteration parameter.

[0125] Step 702: Obtain the degree index based on the difference between the adjusted degree parameter and the degree iteration parameter, obtain the first decoding parameter term based on the degree parameter of the decoding proportion parameter raised to the power, and obtain the second decoding parameter term based on the degree index of the decoding proportion parameter raised to the power.

[0126] Step 703: Multiply the degree combination number, the first decoding parameter term, the second decoding parameter term, the decoding proportion parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partially solvable probability to obtain the asymptotic rate function.

[0127] The steps 701 to 703 will be described in detail below.

[0128] In some embodiments, after obtaining the decoding proportion parameter z, the matrix rank distribution h = (h1, h2,..., h m ), the sampling degree distribution parameter Ψ, and the partially solvable probability k m,nAfterwards, first obtain the degree parameter d and the degree iteration parameter s, and based on the degree parameter minus one, obtain the adjusted degree parameter d-1, then obtain the degree combination number (i.e. permutation combination) of the adjusted degree parameter d-1 and the degree iteration parameter s as shown in the following formula (4).

[0129]

[0130] Then, based on the difference between the adjusted degree parameter d-1 and the degree iteration parameter s, obtain the degree index d-1-s, and based on the degree parameter s of the decoding ratio parameter z, obtain the first decoding parameter term z s based on the degree index d-1-s of the decoding ratio parameter z, obtain the second decoding parameter term z d-1-s . Next, multiply the degree combination number, the first decoding parameter term z s , the second decoding parameter term z d-1-s , the decoding ratio parameter z, the matrix rank distribution h=(h1, h2,..., h m ), the sampling degree distribution parameter Ψ, and the partial decodable probability k m,n , obtain the asymptotic rate function Θ(z; h, Ψ) as shown in the following formula (5).

[0131]

[0132] 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.

[0133] The step 502 is described in detail as follows.

[0134] In some embodiments, based on the relationship constraint 0≤z≤η of the asymptotic rate function Θ(z; h, Ψ) and the decoding ratio parameter z mentioned above, the following asymptotic rate constraint (6) can be obtained.

[0135] Θ(z; h, Ψ)+θln(1-z)>0 (6)

[0136] Based on the asymptotic analysis, it can be determined that given the matrix rank distribution h=(h1, h2,..., h m ) of the batch, the η recoverability is determined by the degree distribution Ψ of the BATS outer code. This condition enables us to optimize the degree distribution of the encoding scheme for the PR-BE decoding algorithm in order to maximize the code rate. In addition, the sampling degree distribution constraint ∑ d Ψ d =1 and Ψ d ≥0, d=1,...,D is also required. 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).

[0137]

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

[0139] The step 503 will be described in detail below.

[0140] In some embodiments, after obtaining the asymptotic rate optimization model (7), an appropriate sampling degree distribution Ψ can be obtained by solving the asymptotic rate optimization model (7). * , thereby effectively improving the coding efficiency, enhancing the data reliability, optimizing the decoding complexity, and the like. How to solve the asymptotic rate optimization model (7) will be further described below.

[0141] Referring to Figure 8 , solving the asymptotic rate optimization model to obtain the sampling degree distribution includes the following steps 801 to 803.

[0142] Step 801: discretely relaxing the decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values.

[0143] Step 802: based on each discrete decoding ratio parameter value and the asymptotic rate constraint, generating a discrete asymptotic rate constraint consistent with the number of discrete decoding ratio parameter values.

[0144] Step 803: replacing the plurality of discrete asymptotic rate constraints with the asymptotic rate constraint in the asymptotic rate optimization model, and solving the updated asymptotic rate optimization model to obtain the sampling degree distribution.

[0145] The steps 801 to 803 will be described in detail below.

[0146] 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) therein is a non-convex constraint, therefore, the asymptotic rate optimization model (7) is not a convex optimization problem, and cannot be directly solved by the convex optimization related theory.

[0147] Based on this, the decoding ratio parameter z in the asymptotic rate constraint (6) is discretely relaxed to obtain L discrete decoding ratio parameter values [z1, z2,..., z L ] in the present embodiment, and the asymptotic rate constraint is discretely processed based on the L discrete decoding ratio parameter values [z1, z2,..., z L ], which can obtain L discrete asymptotic rate constraints as shown in the following formula (8).

[0148]

[0149] Then, the plurality of discrete progressive rate constraints (8) are substituted into the progressive rate constraint in the progressive rate optimization model (7), and the updated progressive rate optimization model (7) is a convex optimization problem, which can be solved by an interior point method or other related convex optimization solving method to obtain the optimal sampling degree distribution Ψ * .

[0150] As the analysis of the BATS code with GE-BP decoding, this optimization problem can be transformed into a linear programming problem which can be solved efficiently by discretizing the first constraint condition into a plurality of constraints by sampling z in the range 0≤z≤η. Let θ * be the optimal value of the above optimization. Similar to the analysis of the BATS code with GE-BP decoding, the rate ηθ * can be achieved by the BATS code with PR-BP decoding and precoding. The upper limit of ηθ * is the expected rank E(h) =∑ i ih i .

[0151] By the steps 501 to 503, 701 to 703 and 801 to 803, by utilizing the partially solvable probability, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, the sampling degree distribution constraint and the progressive rate constraint, the obtained progressive rate function is solved, and the optimal sampling degree distribution is obtained. When the data sending end encodes data by using the optimal sampling degree distribution, the encoding efficiency can be improved, the data reliability in the data transmission process can be enhanced, and the decoding efficiency of the data decoding at the data receiving end can be improved.

[0152] Step 402: Batch encoding the to-be-transmitted data based on the sampling degree distribution to obtain a plurality of batches of encoded packets.

[0153] The step 402 is described in detail below.

[0154] In some embodiments, after the optimal sampling degree distribution Ψ * is obtained, it is considered that the data sending end transmits a message composed of K×T data matrices B to the data receiving end through a network. Each row of B represents a data packet of the message.

[0155] The BATS code includes an outer code and an inner code. At the data sending end, the outer code encodes B into batches of encoded packets. Let M be a positive integer called batch size, which is usually less than one hundred. For i = 1, 2,..., n, the i-th batch of data matrices X i is an M×T matrix, which is generated in the form of X i = GB, where G i is an M×K matrix. iIt 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.

[0156] Reference 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.

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

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

[0159] 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.

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

[0161] 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... iThe randomness can come from a pseudo-random generator, and the pseudo-random generator can be obtained by the data receiving end. Considering the sparse property of the outer code generator matrix G i The matrix multiplication can follow a simple procedure, i.e., only the non-zero columns are computed.

[0162] Step 403: Network coding is performed on the multiple batches of encoded packets, and the network coded multiple batches of encoded packets are transmitted to the data receiving end through the network intermediate nodes.

[0163] Step 403 is described in detail as follows:

[0164] The multiple batches of encoded packet matrices generated by the data sending end are network coded, and after network coding, are transmitted to the data receiving end through at least one network intermediate node. Linear combination is performed on the same batch of encoded packets at all network forwarding nodes (i.e., network intermediate nodes, including the data sending end), and this operation is collectively referred to as inner code encoding process (also called re-encoding process). Please note that the inner code can use a subfield of the base field to select the linear combination coefficients. This end-to-end inner code encoding process can be equivalent to multiplying a corresponding matrix H i , which is called a batch transfer matrix, i.e., the multiple batches of encoded packets will be updated in the transmission and forwarding of each network intermediate node.

[0165] For the same batch of encoded packets, the encoded packet matrix is [I X i ] in the initial state at the sending end, and after network transmission, the encoded packet matrix received at the data receiving end is [H i H i X i ]. The coefficient vector part of the same batch of encoded packets is combined to obtain the batch transfer matrix H i , and the data part of the encoded packets is combined to obtain Y i , and Y i = H i X i = H i G i B, where Y i is called the to-be-decoded data vector matrix. The data receiving end can use the same pseudo-random generator as the data sending end to obtain G i , which is multiplied by H i extracted from the coefficient vector. Let A i = H i G i , then A i is the to-be-decoded matrix. The data receiving end uses A i and Y i to attempt to recover the original data, i.e., to perform data decoding.

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

[0167] 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. a The 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 .

[0168] 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.

[0169] 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).

[0170]

[0171] Where the first na A block diagonal matrix composed of n a rows of non-zero sub-matrices corresponds to the first n b The check matrix of the LDPC code composed of n

[0172]

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

[0174] The second network communication system data processing method provided in the embodiments of the present application includes: first, obtaining a partial solvable probability, a decoding ratio parameter, a matrix rank distribution, a sampling degree distribution parameter, and obtaining a degree parameter and a degree iteration parameter, obtaining an adjusted degree parameter based on the degree parameter minus one, and obtaining a degree combination number of the adjusted degree parameter and the degree iteration parameter, obtaining a degree index based on the difference between the adjusted degree parameter and the degree iteration parameter, obtaining a first decoding parameter term based on the degree parameter of the decoding ratio parameter to the power, and obtaining a second decoding parameter term based on the degree index of the decoding ratio parameter to the power, 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 partial solvable probability to obtain an asymptotic rate function, obtaining a sampling degree distribution constraint and an 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, obtaining a plurality of discrete decoding ratio parameter values by discretely relaxing the decoding ratio parameter, generating a discrete asymptotic rate constraint consistent with the number of discrete decoding ratio parameter values based on each discrete decoding ratio parameter value and the asymptotic rate constraint, replacing the asymptotic rate constraint in the asymptotic rate optimization model with the plurality of discrete asymptotic rate constraints, and solving the updated asymptotic rate optimization model to obtain a sampling degree distribution; and obtaining data to be transmitted, then obtaining a data finite field, and obtaining a sampling degree based on the sampling degree distribution; then, obtaining a data finite field, and obtaining a sampling degree based on the sampling degree distribution, obtaining an outer code generator matrix based on the data finite field and the sampling degree, encoding the data to be transmitted using the outer code generator matrix, and adding a coefficient vector to the encoded data to be transmitted to obtain a plurality of batches of encoded packets; finally, network encoding the plurality of batches of encoded packets, and transmitting the network encoded plurality of batches of encoded packets through network intermediate nodes to a data receiving end, and the plurality of batches of encoded packets will be updated in the transmission and forwarding of the network intermediate nodes.

[0175] The embodiment of the present application solves the obtained asymptotic rate function by using the partial solvable probability, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter combined with the sampling degree distribution constraint and the asymptotic rate constraint, and the obtained optimal sampling degree distribution can improve the coding efficiency when the data sending end encodes data using the optimal sampling degree distribution, and can enhance the data reliability in the data transmission process and improve the decoding efficiency of data decoding at the data receiving end.

[0176] To further verify the performance improvement of the first data processing method provided by the present application, the achievable rates of GE-BP and PR-BP decoding are compared by numerical evaluation taking BATS code as an example. Referring to Figure 10 , the achievable rate simulation table provided by the embodiment of the present application. The rank distribution of the batch transmission matrix is calculated for a linear network with 20 hops and a packet loss rate of 0.2. The inner code uses the system RLNC on the binary field. Two batch sizes are considered: M = 16 and M = 32, and two outer code fields: F 256 and F2. In the evaluation, the sampling degree distribution Ψ is optimized for GE-BP / PR-BP. Let E(Ψ) be the average degree of the optimized degree distribution Ψ. From Figure 10 , it can be seen that the achievable rate of PR-BP on F2 is very close to the rate of GE-BP on F 256 , but much higher than the rate of GE-BP on F2. In addition, the achievable rate of PR-BP on F2 is also close to the expected rank E(h), which is the upper limit of the achievable rate and is not affected by the decoding algorithm used. In addition, the calculation cost of PR-BP using F2 and GE-BP using F 256 are compared, and they achieve similar rates for the same inner code.

[0177] The embodiment of the present application also provides a network communication system, which can implement the data processing method and the data processing method of the above network communication system. The system comprises:

[0178] A data sending end is configured to obtain a sampling degree distribution and to-be-transmitted data, to perform batch encoding on the to-be-transmitted data based on the sampling degree distribution, to obtain a plurality of batches of encoded packets, the encoding containing a to-be-decoded data vector sequence and a to-be-decoded matrix sequence, to perform network coding on the plurality of batches of encoded packets, and to transmit the network-coded plurality of batches of encoded packets to a data receiving end through a network intermediate node, wherein the plurality of batches of encoded packets are updated in the transmission and forwarding of the network intermediate node.

[0179] The data receiving end is configured to obtain a sequence of to-be-decoded data vectors and a sequence of to-be-decoded matrices from a plurality of batches of encoded packets transmitted by the data sending end through network coding, the sequence of to-be-decoded matrices comprising a plurality of to-be-decoded matrices, perform row simplification on all to-be-decoded matrices in the sequence of to-be-decoded matrices to obtain a sequence of simplified matrices, and record a sequence of row transformation operations corresponding thereto, the sequence of row transformation operations being used to perform a transformation operation on the sequence of to-be-decoded data vectors, select a simplified matrix from the sequence of simplified matrices as a transition matrix, determine at least one decodable variable column of a solving variable based on the transition matrix, substitute the decodable variable column into other simplified matrices in the sequence of simplified matrices that contain the solving variable to obtain updated matrices, perform simplification on the updated matrices again to obtain updated simplified matrices, and record a sequence of row transformation operations corresponding thereto, update the sequence of simplified matrices by using the updated simplified matrices, and perform a solving update operation on the updated sequence of simplified matrices as a new sequence of to-be-decoded matrices until variable columns of all to-be-decoded matrices are solved or there is no decodable variable column, and obtain decoded data.

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

[0181] obtain a partial solvable probability, a decoding ratio parameter, a matrix rank distribution, and a sampling degree distribution parameter, and obtain an asymptotic rate function based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvable probability;

[0182] obtain a sampling degree distribution constraint and an asymptotic rate constraint, and obtain an asymptotic rate optimization model based on the asymptotic rate function, the sampling degree distribution constraint, and the asymptotic rate constraint;

[0183] solve the asymptotic rate optimization model to obtain the sampling degree distribution.

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

[0185] obtain a degree parameter and a degree iteration parameter, obtain an adjusted degree parameter based on the degree parameter minus one, and obtain a degree combination number of the adjusted degree parameter and the degree iteration parameter;

[0186] obtain a degree index based on a difference between the adjusted degree parameter and the degree iteration parameter, obtain a first decoding parameter term based on a power of the degree parameter of the decoding ratio parameter, and obtain a second decoding parameter term based on a power of the degree index of the decoding ratio parameter;

[0187] multiply 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 partial solvable probability to obtain the asymptotic rate function.

[0188] In some embodiments, the data sending end is further configured to:

[0189] discretely relax the decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values;

[0190] generate a plurality of discrete asymptotic rate constraints consistent with the number of the discrete decoding ratio parameter values based on each of the discrete decoding ratio parameter values and the asymptotic rate constraint;

[0191] replace the asymptotic rate constraint in the asymptotic rate optimization model with the plurality of discrete asymptotic rate constraints, and solve the updated asymptotic rate optimization model to obtain the sampling degree distribution.

[0192] In some embodiments, the data sending end is further configured to:

[0193] obtain a data finite field, and obtain a sampling degree based on the sampling degree distribution;

[0194] obtain an outer code generation matrix based on the data finite field and the sampling degree;

[0195] encode the data to be transmitted using the outer code generation matrix, and add a coefficient vector to the encoded data to be transmitted to obtain a plurality of batches of encoded packets.

[0196] In some embodiments, the data receiving end is further configured to:

[0197] select a pivot column corresponding to at least one solvable solving variable from the transition matrix as a target pivot column, and solve the target pivot column based on the transition matrix to obtain a decodable variable column;

[0198] substitute the decodable variable column into other simplified matrices containing the solving variable in the sequence of simplified matrices, and use the updated simplified matrix as the update matrix, and record the corresponding row transformation operation sequence;

[0199] when the position of the solving variable in the update matrix is a pivot column of the update matrix, simplify the update matrix to obtain an update simplified matrix, and record the corresponding row transformation operation sequence;

[0200] when the position of the solving variable in the update matrix is a non-pivot column of the update matrix, use the update matrix as the update simplified matrix.

[0201] In the above embodiments, the description of each embodiment has its own focus, and 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.

[0202] In the embodiments of the present application, after receiving a plurality of batches of encoded packets and simplifying the to-be-decoded matrices therein, the decodable variable column of the solving variable of at least one simplified matrix in the simplified matrix sequence is used to substitute other simplified matrices in the simplified matrix sequence, without completely solving all decoding data of the to-be-decoded matrices in a batch within one solving, and then the substitution process is iteratively looped until all variable columns of the to-be-decoded matrices are solved or there is no decodable variable column, and the actual to-be-decoded data vector sequence is transformed using all recorded row transformation operation sequences to obtain decoding data, thereby improving the solving efficiency of the to-be-decoded data vector. In addition, the situation that a to-be-decoded matrix cannot be solved alone is also effectively solved, thereby improving the decoding efficiency and decoding reliability of the to-be-decoded matrix sequence when decoding batch-encoded data in a network communication system. Since the PR-BP algorithm (i.e., the data processing method proposed in the present application) can continue the belief propagation (BP) process as long as part of a batch is solvable, this condition is actually more relaxed than the working condition of the previous solving method (GE-BP). Therefore, it will not terminate earlier than the GE-BP algorithm. This feature also makes PR-BP better than GE-BP, and when the size of the finite field is small, this advantage will become more pronounced. Moreover, in terms of computational cost, the GE-BP algorithm only needs 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 of sparse batch network coding, the slightly higher computational cost of PR-BP becomes less important. First, the PR-BP algorithm only needs to be executed once to record the coefficients to solve multiple systems with the same coefficient matrix, so the forward and backward substitution using the recorded coefficients usually dominates. Second, the PR-BP algorithm makes it possible to use a binary base field, which further reduces the computational cost. Moreover, by using the partial solvable probability, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter combined with the sampling degree distribution constraint and the asymptotic rate constraint, the obtained asymptotic rate function is used for solving, and the optimal sampling degree distribution is obtained. When the data is encoded at the subsequent data sending end using the optimal sampling degree distribution, the encoding efficiency is improved, the data reliability in the data transmission process is enhanced, and the decoding efficiency of the data decoding at the data receiving end is improved.

[0203] The embodiments of the present application also provide an electronic device, comprising:

[0204] at least one memory;

[0205] at least one processor;

[0206] at least one program;

[0207] The program is stored in the memory, and the processor executes the at least one program to implement the data processing method of the network communication system described above. The electronic device can be any intelligent terminal including a mobile phone, a tablet computer, a personal digital assistant (PDA), a vehicle-mounted computer, etc.

[0208] Please refer to Figure 11 , Figure 11 The hardware structure of the electronic device of another embodiment is illustrated, and the electronic device includes:

[0209] The processor 1101 can be implemented in the form of a general-purpose CPU (Central Processing Unit), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits, etc., for executing related programs to implement the technical solutions provided by the embodiments of the present application;

[0210] The memory 1102 can be implemented in the form of a ROM (Read Only Memory), a static storage device, a dynamic storage device, or a RAM (Random Access Memory), etc. The memory 1102 can store an operating system and other application programs, and when the technical solutions provided by the embodiments of the present application are implemented by software or firmware, the related program codes are saved in the memory 1102 and called and executed by the processor 1101 to implement the data processing method of the network communication system of the present application;

[0211] The input / output interface 1103 is used to realize information input and output;

[0212] The communication interface 1104 is used to realize the communication interaction between the device and other devices, which can realize communication through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.);

[0213] The bus 1105 transmits information between various components (such as the processor 1101, the memory 1102, the input / output interface 1103, and the communication interface 1104) of the device;

[0214] The processor 1101, the memory 1102, the input / output interface 1103 and the communication interface 1104 are connected with each other through the bus 1105 to realize communication connection between devices inside.

[0215] The embodiment of the present application further provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to realize the data processing method of the network communication system.

[0216] The memory is a non-transitory computer readable storage medium, and can be used to store a non-transitory software program and a non-transitory computer executable program. In addition, the memory can include a high-speed random access memory, and can further include a non-transitory memory, for example, at least one magnetic disk storage device, a flash memory device or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory remotely arranged relative to the processor, and the remote memory can be connected to the processor through a network. Examples of the network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.

[0217] The embodiments described in the embodiments of the present application are used to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

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

[0219] The device embodiments described above are only schematic, and the units described as separate components can or can not be physically separate, that is, can be located in one place, or can be distributed on multiple network units. According to actual needs, part or all of the modules can be selected to achieve the purpose of the embodiments of the present application.

[0220] Those skilled in the art can understand that all or some steps in the above disclosed method, the functions of the modules / units in the system and the device can be implemented as software, firmware, hardware and their appropriate combinations.

[0221] The terms "first", "second", "third", "fourth", and the like in the description of this application and in the claims hereof, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed herein is solely for the convenience of the reader and does not limit the scope of the application. It is also to be understood that the description and examples in this application are intended to cover all possible combinations where any of the several elements can represent one or more elements.

[0222] It should be understood that, in the application, "at least one" refers to one or more, and "multiple" refers to two or more. "And / or" is used to describe the relationship between associated objects, which means that there can be three relationships, for example, "A and / or B" can represent three cases: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects. "At least one of the following" or similar expressions means any combination of these items, including any combination of single or multiple items. For example, at least one 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.

[0223] In several embodiments provided in the application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the above-mentioned units is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. The coupling or direct coupling or communication connection between the displayed or discussed each other can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0224] The units described above as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on multiple network units. According to actual needs, part or all of the units can be selected to achieve the purpose of the embodiment of the application.

[0225] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function unit.

[0226] When the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in part, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes multiple instructions used to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various other media that can store programs.

[0227] The preferred embodiments of the embodiments of the present application are described above with reference to the accompanying drawings, and are not limited to the scope of the embodiments of the present application. Any modifications, equivalent replacements and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the embodiments of the present application.

Claims

1. A data processing method for a network communication system, characterized in that, 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 for a network communication system according to claim 1, characterized in that, 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 for a network communication system, characterized in that, 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. 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.

4. The data processing method for a network communication system according to claim 3, characterized in that, 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 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.

5. The data processing method for a network communication system according to claim 3, characterized in that, 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.

6. The data processing method for a network communication system according to claim 3, characterized in that, 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.

7. A network communication system, characterized in that, 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.

8. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, 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 6.

9. A computer-readable storage medium having a computer program stored thereon, 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 6.

Citation Information

Patent Citations

  • Data coding method, data decoding method, electronic equipment and storage medium

    CN113541863A

  • Distributed computing method and system based on network coding in wireless environment

    CN115515181A