Data processing method of network communication system and related equipment
By simplifying and transforming the decoding matrix sequence, efficient decoding of batch coded data in the network communication system is realized, and the problem of low decoding efficiency in the prior art is solved.
Patent Information
- Application Number
- CN202411610996.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-11-12
AI Technical Summary
The prior art decoding efficiency is low when decoding batch network encoded data, especially when the number of batches of transmitted data increases, resulting in a decrease in decoding efficiency.
By simplifying the sequence of decoded matrix, selecting the simplified matrix as the transition matrix, determining the decodeable variable column, substituting it into other simplified matrices, updating the matrix sequence until all variable columns of the matrix to be decoded are solved.
The decoding efficiency and decoding reliability of batch coded data in network communication systems are improved, and a certain matrix to be decoded cannot be solved separately is solved.
Smart Images

Figure CN119629195A_ABST
Abstract
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 and related equipment of a network communication system. Background Art
[0002] Data encoding and decoding in network communication systems are important steps to ensure the integrity and accuracy of data during transmission in the network. Batch network coding can further improve the transmission efficiency and data reliability of data during network transmission by encoding data in groups.
[0003] In the prior art, when the receiving end receives the transmission data obtained based on batch network coding, the received batch coded data is usually jointly solved by combining intra-batch Gaussian elimination and inter-batch belief propagation to obtain decoded data. However, this decoding method requires that each batch of coded data be completely decoded one by one before decoding the next batch of data. When the number of batches of transmission data increases, the use of this decoding method will result in low decoding efficiency. Summary of the invention
[0004] The embodiments of the present application provide a data processing method and related equipment for a network communication system, which can improve decoding efficiency when decoding batch encoded data in the network communication system.
[0005] To achieve the above-mentioned purpose, a first aspect of an embodiment of the present application proposes a data processing method of a network communication system, comprising:
[0006] Obtaining a sequence of data vectors to be decoded and a sequence of matrices to be decoded from a plurality of batches of coded packets transmitted by a data transmitting end through network coding, wherein the sequence of matrices to be decoded includes a plurality of matrices to be decoded;
[0007] Simplifying all the matrices to be decoded in the matrix sequence to be decoded in rows to obtain a simplified matrix sequence, and recording a corresponding row transformation operation sequence, wherein the row transformation operation sequence is used to perform a transformation operation on the data vector sequence to be decoded;
[0008] A simplified matrix is selected from the simplified matrix sequence as a transition matrix, a decodable variable column of at least one solution variable is determined based on the transition matrix, the decodable variable column is substituted into other simplified matrices containing the solution variables in the simplified matrix sequence to obtain 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 simplified matrix sequence is updated using the updated simplified matrix, and the updated simplified matrix sequence is used as the new matrix sequence to be decoded to perform a solution update operation, until the variable columns of all the matrices to be decoded are solved or there is no decodable variable column, and decoded data is obtained.
[0009] In some embodiments, determining a decodable variable column of at least one solution variable based on the transition matrix, substituting the decodable variable column into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an updated matrix, and simplifying the updated matrix again to obtain an updated simplified matrix includes:
[0010] Selecting at least one pivot column corresponding to a solvable solution variable from the transition matrix 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 containing the solution variables in the simplified matrix sequence, and using the updated simplified matrix as the update matrix, and recording the corresponding row transformation operation sequence;
[0012] When the position of the solution variable in the update matrix is the main element column of the update matrix, simplify the update matrix to obtain the update simplified matrix, and record the corresponding row transformation operation sequence;
[0013] When the position of the solution variable in the update matrix is a non-pivot column of the update matrix, the update matrix is used as the update simplification matrix.
[0014] To achieve the above-mentioned purpose, a second aspect of an embodiment of the present application proposes another data processing method of a network communication system, comprising:
[0015] Get the sampling degree distribution and the data to be transmitted;
[0016] Based on the sampling degree distribution, the data to be transmitted is encoded in batches to obtain multiple batches of encoding packets, wherein the encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded;
[0017] The multiple batches of coded packets are network-coded, and the multiple batches of coded packets after network coding are transmitted to the data receiving end through the network intermediate node. The multiple batches of coded packets will be updated during the transmission and forwarding of the network intermediate node.
[0018] In some embodiments, obtaining the sampling degree distribution includes:
[0019] Obtaining a partial solvable probability, a decoding ratio parameter, a matrix rank distribution, and 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] Acquire 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;
[0021] The asymptotic rate optimization model is solved to obtain the sampling degree distribution.
[0022] In some embodiments, the obtaining of the asymptotic rate function based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvability probability comprises:
[0023] Obtaining a degree parameter and a degree iteration parameter, obtaining an adjustment degree parameter based on the degree parameter minus one, and obtaining a degree combination number of the adjustment degree parameter and the degree iteration parameter;
[0024] Obtaining a degree index based on a difference between the adjustment degree parameter and the degree iteration parameter, obtaining a first decoding parameter item based on the power of the degree parameter of the decoding scale parameter, and obtaining a second decoding parameter item based on the power of the degree index of the decoding scale parameter;
[0025] The progressive rate function is obtained by accumulating the number of degree combinations, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvability probability.
[0026] In some embodiments, solving the progressive rate optimization model to obtain the sampling degree distribution includes:
[0027] Performing discrete relaxation on the decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values;
[0028] generating, based on each of the discrete decoding scale parameter values and the progressive rate constraint, a discrete progressive rate constraint consistent with the number of the discrete decoding scale parameter values;
[0029] The asymptotic rate constraints in the asymptotic rate optimization model are replaced by a plurality of the discrete asymptotic rate constraints, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution.
[0030] In some embodiments, the data to be transmitted is encoded in batches based on the sampling degree distribution to obtain multiple batches of encoding packets, including:
[0031] Acquire a data finite field, and obtain 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 data to be transmitted is encoded using the outer code generation matrix, and a coefficient vector is added to the encoded data to be transmitted to obtain multiple batches of encoding packets.
[0034] To achieve the above-mentioned purpose, a third aspect of an embodiment of the present application proposes a network communication system, including:
[0035] A data transmitting end, used to obtain a sampling degree distribution and data to be transmitted, encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of coded packets, wherein the encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded, perform network coding on the multiple batches of coded packets, and transmit the multiple batches of coded packets after network coding to a data receiving end through a network intermediate node, wherein the multiple batches of coded packets will be updated during transmission and forwarding of the network intermediate node;
[0036] A data receiving end is used to obtain a sequence of data vectors to be decoded and a sequence of matrices to be decoded from a plurality of batches of coded packets transmitted by a data sending end through network coding, wherein the sequence of matrices to be decoded includes a plurality of matrices to be decoded, and all matrices to be decoded in the sequence of matrices to be decoded are row-simplified to obtain a simplified matrix sequence, and a corresponding row transformation operation sequence is recorded, wherein the row transformation operation sequence is used to perform a transformation operation on the sequence of data vectors to be decoded, and a simplified matrix is selected from the simplified matrix sequence as a transition matrix, and a decodable variable column of at least one solution variable is determined based on the transition matrix, and 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, and the update matrix is simplified again to obtain an updated simplified matrix, and a corresponding row transformation operation sequence is recorded, and the simplified matrix sequence is updated by using the updated simplified matrix, and the updated simplified matrix sequence is used as the new sequence of matrices to be decoded to perform a solution update operation, until the variable columns of all matrices to be decoded are solved or there is no decodable variable column, and decoded data is obtained.
[0037] To achieve the above-mentioned purpose, the fourth aspect of an embodiment of the present application proposes an electronic device, which includes a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, it implements the data processing method of the network communication system described in the first aspect or the data processing method of the network communication system described in the second aspect.
[0038] To achieve the above-mentioned purpose, the fifth aspect of an embodiment of the present application proposes a storage medium, which is a computer-readable storage medium, and the storage medium stores a computer program. When the computer program is executed by a processor, it implements the data processing method of the network communication system described in the first aspect or the data processing method of the network communication system described in the second aspect.
[0039] The data processing method and related equipment of the network communication system proposed in the embodiment of the present application, wherein the data processing method comprises: first, obtaining a sequence of data vectors to be decoded and a sequence of matrices to be decoded from multiple batches of coded packets transmitted by a data sending end through network coding, wherein the sequence of matrices to be decoded comprises multiple matrices to be decoded; then, simplifying all matrices to be decoded in the sequence of matrices to be decoded in rows to obtain a simplified matrix sequence, and recording a corresponding row transformation operation sequence, wherein the row transformation operation sequence is used to perform a transformation operation on the sequence of data vectors to be decoded; finally, selecting a simplified matrix from the simplified matrix sequence as a transition matrix, determining a decodable variable column of at least one solution variable based on the transition matrix, substituting the decodable variable column into other simplified matrices containing solution variables in the simplified matrix sequence to obtain an update matrix, simplifying the update matrix again to obtain an updated simplified matrix, and recording a corresponding row transformation operation sequence, updating the simplified matrix sequence using the updated simplified matrix, and performing a solution update operation on the updated simplified matrix sequence as a new sequence of matrices to be decoded, until the variable columns of all matrices to be decoded are solved or there are no decodable variable columns, thereby obtaining decoded data. After receiving multiple batches of coded packets and simplifying the matrices to be decoded therein, the embodiment of the present application uses the decodable variable columns of the solution variables of at least one simplified matrix in the simplified matrix sequence to substitute and simplify other simplified matrices in the simplified matrix sequence, without completely solving all the decoding data of the matrices to be decoded in this batch in one solution, and then uses an iterative loop to simplify the simplification substitution process until the variable columns of all the matrices to be decoded are solved or there are no decodable variable columns, and uses all recorded row transformation operation sequences to perform transformation operations on the actual sequence of data vectors to be decoded to obtain decoded data, thereby improving the efficiency of solving the data vectors to be decoded; in addition, it also effectively solves the situation where a certain matrix to be decoded cannot be solved separately, thereby improving the decoding efficiency and decoding reliability of the sequence of matrices to be decoded when decoding batch coded data in a network communication system.
[0040] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 It is a structural diagram of a network communication system provided in one embodiment of the present application.
[0042] Figure 2 It is a flowchart of a data processing method of a first network communication system provided in an embodiment of the present application.
[0043] Figure 3 yes Figure 2 Flow chart of step 202 in FIG.
[0044] Figure 4 It is a flowchart of a second data processing method of a network communication system provided in an embodiment of the present application.
[0045] Figure 5 yes Figure 4 Flow chart of step 401 in FIG.
[0046] Figure 6 This is a simulation diagram of some solvable probabilities provided by another embodiment of the present application.
[0047] Figure 7 yes Figure 5 Flow chart of step 501 in FIG.
[0048] Figure 8 yes Figure 5 Flow chart of step 503 in FIG.
[0049] Fig. 9 yes Figure 4 Flowchart of step 402 in FIG.
[0050] Fig.10 This is an accessible rate simulation table provided in yet another embodiment of the present application.
[0051] Fig.11 It is a schematic diagram of the hardware structure of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0053] It should be noted that although the functional modules are divided in the device schematic and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart.
[0054] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0055] First, some nouns involved in this application are analyzed:
[0056] Batch network coding is a technology designed to improve network transmission efficiency. It performs linear combination or other encoding operations on multiple independent data packets in batches, and then transmits these encoded data packets to the receiving end. The receiving end recovers the original data packet through a decoding algorithm. This method reduces the number of transmissions and improves the utilization of network bandwidth. At the same time, it enhances the reliability and anti-interference ability of data by introducing redundant information. It is widely used in video streaming, wireless networks, and distributed storage systems.
[0057] In-batch Gaussian elimination is a technique for decoding batched network coded data. In this process, the problem of recovering the original data packet from each batch of data packets is treated as solving a system of linear equations, and the Gaussian elimination algorithm is applied to solve the system of equations to recover the original data packet. This method systematically eliminates variables to obtain a unique solution, thereby ensuring that the original information at the sender is accurately restored.
[0058] Batch belief propagation is an iterative algorithm for distributed network coding and decoding. The algorithm transfers and updates confidence information between different batches, and gradually approaches the real data through multiple iterations. During each iteration, the node is updated according to the received coding packet and confidence information to improve the decoding accuracy and efficiency. This method is particularly effective when dealing with large-scale network coding problems and can significantly improve decoding performance.
[0059] BATS code (Batched Sparse Code) is an efficient coding technology based on batch 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 the matrix into a standardized form through a series of row elementary transformations. In this form, the first non-zero element (called the pivot) of each row is 1, and all other elements in the column where the pivot is located are zero. This matrix form is convenient for solving linear equations and intuitively shows the solution structure of the linear system.
[0061] The partial solvability of a linear system of equations means that in a linear system of equations, even if the entire system of equations does not have a unique solution, there are some cases where some of the variables in the system of equations have a unique solution. This property is called the partial solvability of a linear system. For a homogeneous linear system of equations, after converting its coefficient matrix into a reduced row echelon form, it is possible to determine whether the pivot is uniquely solvable by observing whether there are other non-zero elements in the row where the pivot is located: given a homogeneous linear system of equations, the coefficient matrix of the system of equations is converted into a reduced row echelon form. If a variable of the system of equations corresponds to a pivot in the reduced row echelon form of the matrix, and the 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 under an erasure network channel, since the received coded data must be a linear combination of the original data, although the linear system of equations corresponding to its decoding is not a homogeneous linear system of equations, the uniqueness of the solution can be determined according to the situation of the homogeneous linear system of equations.
[0062] Data encoding and decoding in network communication systems are important steps to ensure the integrity and accuracy of data during network transmission. Batch network coding can further improve the transmission efficiency and data reliability of data during network transmission by encoding data in groups.
[0063] In the prior art, when the receiving end receives the transmission data obtained based on batch network coding, the received batch coded data is usually jointly solved by combining intra-batch Gaussian elimination and inter-batch belief propagation to obtain decoded data. However, this decoding method requires that each batch of coded data be completely decoded one by one before decoding the next batch of data. When the number of batches of transmission data increases, the use of 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, after receiving multiple batches of coded packets and simplifying the matrices to be decoded therein, the embodiment of the present application uses the decodable variable columns of the solution variables of at least one simplified matrix in the simplified matrix sequence to substitute and simplify other simplified matrices in the simplified matrix sequence, without completely solving all the decoding data of the matrices to be decoded in the batch in one solution, and then uses an iterative loop to perform the simplified substitution process until the variable columns of all the matrices to be decoded are solved or there are no decodable variable columns, and uses all recorded row transformation operation sequences to perform transformation operations on the actual sequence of data vectors to be decoded to obtain decoded data, thereby improving the solution efficiency of the data vectors to be decoded; in addition, it also effectively solves the situation where a certain matrix to be decoded cannot be solved separately, thereby improving the decoding efficiency and decoding reliability of the sequence of matrices to be decoded when decoding the batch coded data in the network communication system.
[0065] In order to better describe the data processing method of the network communication system provided by the present application, the network communication system to which the data processing method of the network communication system is applied is first described below. Figure 1 , is a schematic diagram of the structure of the network communication system provided in the embodiment of the present application. Figure 1 As shown, the network communication system includes a data sending end and a data receiving end, as well as several network intermediate nodes. The data sending end encodes the data to be sent in batches to generate coded data consisting of multiple batches; if the network intermediate node is stored, it can re-encode the coded data; the data receiving end uses the received multiple batches of coded packets to perform data decoding processing.
[0066] Based on the above network communication system, the data processing method and related devices of the network communication system provided by the embodiment of the present application will be further described below. First, the first data processing method provided by the present application is described, which can be applied to the data receiving end of the network communication system.
[0067] The following will specifically describe the first data processing method of the network communication system in the embodiment of the present application. Figure 2 , is an optional flow chart of a data processing method of a network communication system provided in an embodiment of the present application, Figure 2 The method may include but is not limited to steps 201 to 204. It can also be understood that this embodiment Figure 2 The order of step 201 to step 204 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 data vectors to be decoded and a sequence of matrices to be decoded from a plurality of batches of coded packets transmitted by a data transmitter through network coding, wherein the sequence of matrices to be decoded includes a plurality of matrices to be decoded.
[0069] Step 201 is described in detail below.
[0070] In some embodiments, after receiving multiple batches of coded packets transmitted by the data sending end through network coding, the data receiving end obtains the to-be-decoded data vector sequence (y1, ..., y n ) and the matrix sequence to be decoded (A1,...,A n ), the sequence of data vectors to be decoded and the sequence of matrices to be decoded constitute a series of equations to be decoded, and the variable of each equation is the original data b to be decoded. Each equation can be expressed in matrix form as follows:
[0071]
[0072] In some embodiments, the variables involved in solving each set of equations may be only a subset of all the original data. i , and some solution variables may be shared among different batches of equations.
[0073] It is understandable that the batch coding can be a BATS code. Consider sending a message consisting of a K×T raw data matrix B, where each row of B represents a packet of the message. Moreover, the BATS code includes an outer code and an inner code. Under the joint coding effect of the outer code and the inner code, the received coded data vector is a plurality of coded data matrices Y1,...,Y n , but it can still be viewed as the above system of equations.
[0074] Step 202: perform row simplification on all the matrices to be decoded in the matrix sequence to be decoded to obtain a simplified matrix sequence, and record the corresponding row transformation operation sequence.
[0075] Step 202 is described in detail below.
[0076] In some embodiments, all the matrices A1, ..., A1 to be decoded in the obtained matrix sequence to be decoded are obtained. n Perform row simplification (for example, using Gauss-Jordan elimination) to obtain each matrix A to be decoded i The corresponding reduced row echelon form matrix is Right now These matrices in the form of simplified row echelon matrices form a simplified matrix sequence and record the corresponding row transformation operation sequence.
[0077] Step 203: Select a simplified matrix from the simplified matrix sequence as a transition matrix, determine a decodable variable column of at least one solution variable based on the transition matrix, substitute the decodable variable column into other simplified matrices containing solution variables in the simplified matrix sequence 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 perform a solution update operation on the updated simplified matrix sequence as a new matrix sequence to be decoded, until the variable columns of all matrices to be decoded are solved or there are no decodable variable columns.
[0078] Step 203 is described in detail below.
[0079] In some embodiments, after obtaining a plurality of simplified matrix sequences Afterwards (where t=0, 1, 2, ... is the number of iterations), a simplified matrix is selected from the simplified matrix sequence as a transition matrix, and a decodable variable column of at least one solution variable (that is, a pivot column where a variable that can be partially solved in the corresponding set of equations is located) is determined based on the transition matrix, and the pivot row where the variable is located is substituted into other matrices containing the variable in the target matrix sequence, so that the columns corresponding to the variable in other matrices are cleared to zero.
[0080] Then, the decodable variable column is substituted into other simplified matrices containing the solution variables in the simplified matrix sequence to obtain the updated matrix, that is, the pivot row where the variable is located is substituted into other matrices containing the variable in the target matrix sequence, so that the columns corresponding to the variable in other matrices are cleared to zero.
[0081] Next, the update matrix is simplified again to obtain an updated simplified matrix, that is, the substituted matrix is row-simplified again (for example, using Gauss-Jordan elimination method) to obtain a new simplified matrix sequence f1, and the corresponding row transformation operation sequence is recorded.
[0082] Finally, the simplified matrix sequence is updated using the updated simplified matrix, that is, the above operation is repeated with the new simplified matrix sequence as the target matrix sequence, and the row transformation operation sequence f2, f3, ... is obtained in sequence, until all variable columns can be solved or there are no decodable variable columns. The updated simplified matrix sequence is used as the new matrix sequence to be decoded to perform the solution update operation until all variable columns of the matrix to be decoded are solved or there are no decodable variable columns.
[0083] The row transformation operation sequence is used to perform a transformation operation on the sequence of data vectors to be decoded to obtain decoded data. It can be understood that when performing a transformation operation on the decoded data vector, the transformation operation can be performed on the decoded data vector each time a row transformation operation sequence of a record is obtained, or the transformation operation can be performed on the decoded data vector together after all the row transformation operation sequences of the records are obtained.
[0084] Reference Figure 3 , based on the transition matrix, determine the decodable variable column of at least one solution variable, substitute the decodable variable column into other simplified matrices containing solution variables in the simplified matrix sequence to obtain an updated matrix, simplify the updated matrix again to obtain an updated simplified matrix, including the following steps 301 to 304.
[0085] Step 301: Select at least one pivot column corresponding to a solvable solution 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.
[0086] Step 302: Substitute the decodable variable columns into other simplified matrices containing solution variables in the simplified matrix sequence, use the updated simplified matrix as the update matrix, and record the corresponding row transformation operation sequence.
[0087] Step 303: When the position of the solution variable in the update matrix is the main element 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 solution variable in the update matrix is a non-pivot column of the update matrix, the update matrix is used as an update simplified matrix.
[0089] Steps 301 to 304 are described in detail below.
[0090] In some embodiments, at the beginning of each decoding iteration, a column of a variable that can be solved of a simplified matrix is selected from the simplified matrix sequence. It can be understood that this simplified matrix is also a coefficient matrix of a particular batch of equations, and a column of a variable that can be solved corresponds to a variable of this equation, that is, one of the original data to be decoded in the entire encoding.
[0091] The columns of the variables that can be solved meet the following characteristics: 1. The variable corresponds to the pivot column in the batched simplified matrix, and 2. All elements after the pivot in the pivot row where the pivot is located are zero. Based on this, this variable is substituted into other simplified matrices, and the substitution process is to clear the columns corresponding to the variable in other simplified matrices. For the substituted matrix, because the matrix is already in RREF form, according to the properties of RREF, there are two types of columns: pivot column and non-pivot column. If the substituted variable corresponds to the non-pivot column in the substituted matrix (for example, the fifth column of the matrix below), then the non-pivot column is cleared after the substitution, and the matrix after substitution still has the RREF property. If the variable substituted in corresponds to the pivot column of the matrix being substituted in, then the pivot position of the pivot row where the pivot is located will be cleared after the substitution. At this time, if there is no non-zero element after the pivot position of the pivot row (for example, substitute the first column of the matrix below), then moving this 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, substitute the second column of the matrix below), then the column where the non-zero element is located and the first column after all the pivots can be exchanged (column swapping also swaps the positions of the corresponding variables), and this row is moved to the end, and other rows are eliminated with this row. After this operation, the matrix still has the RREF property.
[0092]
[0093] That is, for this step, a pivot column that can be solved in a simplified matrix is found in the simplified matrix sequence as the decoding parameter for this iteration, and then the decoding parameter is substituted into the simplified matrices corresponding to all other equations with the variable; next, when the substituted decoding parameter corresponds to the non-pivot 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 the pivot column of the substituted matrix, the substituted matrix will no longer be RREF after substitution, because after the pivot row where the pivot is located is cleared at the pivot position, if there are non-zero elements behind it, then the matrix no longer meets the formal requirements of RREF, and at this time, the matrix needs to be further eliminated to make it in the 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, when performing the row echelon conversion, the definition of the reduced row echelon matrix 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 equation, but can significantly reduce the computational overhead in subsequent calculations. Since the definition of RREF is relaxed, this is better than directly using It is more effective to apply Gauss-Jordan elimination method. We can first Perform some row and column permutations to make the leading principle submatrix of order r the identity matrix. Then we can perform Gauss-Jordan elimination starting from the r+1th column and r+1th row. After Gauss-Jordan elimination, reverse the rows and columns to preserve the original order.
[0095] It is understandable that in the past, when decoding batch data matrices through inter-batch belief propagation technology, it is necessary to solve all the solution variables of each matrix to be decoded one by one before solving the next matrix to be decoded. However, when encountering complex matrices to be decoded, the previous solution method will inevitably lead to low processing efficiency, and even there is a matrix to be decoded that cannot solve all its solution variables alone, such as the example of the matrix to be decoded shown in the following formula (3) (for ease of understanding, the matrix here uses the real number field, which should be a specific finite field in actual coding applications).
[0096]
[0097] It can be clearly seen that in the example of the matrix to be decoded as shown in formula (3), the solution variables {x3, x4} cannot be directly obtained. However, through the data processing method proposed in this application, the solution variables {x1, x2} in the above formula (3) can be first obtained, and the corresponding decoding
[0098] Decoding reliability and validity.
[0099] Through the above steps 301 to 304, when there are no more uniquely solvable variables in the iterative simplification step, the iterative simplification of the number loop is terminated. Since the PR-BP algorithm (i.e., the data processing method proposed in this application) can continue the belief propagation (BP) process as long as part of a batch is solvable, this condition is actually more relaxed than the working conditions of the previous solution 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 this advantage becomes more significant when the size of the finite field is small. Moreover, in terms of computational cost, the GE-BP algorithm only requires all batch transmission matrices to be in row echelon form (REF) to verify the rank. Therefore, the approximate computational cost of the PR-BP algorithm is twice that of the GE-BP algorithm. It should be noted that when used for decoding of sparse batch network coding, the slightly higher computational cost of PR-BP becomes less important. First, for a codec system that operates in packets with a data packet length of T symbols, solving each original data packet is equivalent to solving T sets of equations with the same coefficient matrix. For the same coefficient matrix, the PR-BP algorithm only needs to execute once to record the row transformation operation steps, and the recorded row transformation operation steps can be used to perform forward and backward substitutions 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 occupy the main computational overhead, and this part of the computational overhead is the same as the overhead required by the GE-BP algorithm. Secondly, the PR-BP algorithm allows the use of binary base fields, which further reduces the computational cost.
[0100] In some embodiments, after obtaining all row transformation sequences f0, f1, f2, ... for matrix sequences to be decoded and simplified matrix sequences, these row transformation operations can be applied to the data vector sequence to be decoded in the same manner to restore the original data sequence b to be decoded.
[0101] The data processing method and related equipment of the network communication system proposed in the embodiment of the present application, wherein the data processing method includes: first, obtaining a data vector sequence to be decoded and a matrix sequence to be decoded from multiple batches of coded packets transmitted by the data sending end through network coding; then, simplifying all matrices of the matrix sequence to be decoded to obtain a simplified matrix sequence, and recording the corresponding row transformation operation sequence f0. Next, taking the simplified matrix sequence as the target matrix sequence, finding a decodable variable column from the target matrix sequence, substituting the variable into other matrices containing the variable in the target matrix sequence, and finally re-simplifying the substituted matrix to obtain a new simplified matrix sequence, and recording the corresponding row transformation operation sequence f1. Repeat the above operation with the new simplified matrix sequence as the target matrix sequence, and obtain the row transformation operation sequence f2, f3, ... in sequence, until all variable columns can be solved or there is no decodable variable column. Finally, based on all recorded row transformation operation sequences f0, f1, f2, ..., the data vector sequence to be decoded is operated to obtain decoded data.
[0102] After receiving multiple matrices to be decoded, the embodiment of the present application partially solves the matrices to be decoded in each batch to obtain partial decoding data corresponding to the batch, without completely solving all decoding data of the matrix to be decoded in the batch in one solution, and then uses the partial decoding data to solve the matrices to be decoded in other batches, and performs repeated iterative solutions, thereby improving the solution efficiency of all batches of matrices to be decoded; in addition, it also effectively solves the situation that a certain matrix to be decoded cannot be solved alone, thereby improving the decoding efficiency and decoding reliability when decoding the batch coded data in the network communication system; in addition, when there are no more uniquely solvable variables in the iterative simplification step, the cyclic iterative simplification terminates. 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 the batch is solvable, this condition is actually more relaxed than the working conditions of the previous solution 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 this advantage becomes more significant when the size of the finite field is small. Moreover, in terms of computational cost, the GE-BP algorithm only requires all batch transmission matrices to be in row echelon form (REF) to verify the rank. Therefore, the approximate computational cost of the PR-BP algorithm is twice that of the GE-BP algorithm. It should be noted that the slightly higher computational cost of PR-BP becomes less important when used for decoding of sparse batch network coding. First, the PR-BP algorithm only needs to execute the step of recording the row transformation operation once, and the recorded row transformation operation steps can be used to perform forward and backward substitutions 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 occupy the main computational overhead, and this part of the computational overhead is the same as that required by the GE-BP algorithm. Secondly, the PR-BP algorithm allows the use of a binary basis field, which further reduces the computational cost.
[0103] In addition, an embodiment of the present application also provides a second data processing method for a network communication system, which can be applied to a data sending end in a network communication system.
[0104] The following will specifically describe the data processing method of the second network communication system in the embodiment of the present application. Figure 4 , is an optional flow chart of a data processing method of a network communication system provided in an embodiment of the present application, Figure 4 The method in the embodiment may include but is not limited to steps 401 to 403. Figure 4 The order of step 401 to step 403 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 sampling degree distribution and data to be transmitted.
[0106] Step 401 is described in detail below.
[0107] In some embodiments, when the data transmitter responds to the sending of data to be transmitted, it first needs to obtain the sampling degree distribution so as to subsequently use the sampling degree distribution to batch encode the data to be transmitted to obtain encoding packets, thereby improving the security and reliability of data transmission.
[0108] It can be understood that the sampling degree distribution refers to the distribution of the number of original data packets contained in each data packet during the encoding and decoding process. The degree describes how many original data packets are selected to participate in the encoding of a data packet during the encoding process. Different sampling degree distributions will affect the performance and efficiency of the encoding scheme. In batch coding, a suitable sampling degree distribution plays a vital role, such as improving encoding efficiency, enhancing data reliability, optimizing decoding complexity, etc. The following will first describe how to obtain a suitable sampling degree distribution.
[0109] Reference Figure 5 , obtaining the sampling degree distribution, including the following steps 501 to 503.
[0110] Step 501: Obtain the partial solvable probability, decoding ratio parameter, matrix rank distribution, sampling degree distribution parameter, and obtain the asymptotic rate function based on the decoding ratio parameter, matrix rank distribution, sampling degree distribution parameter and partial solvable probability.
[0111] The following is a detailed description of step 501.
[0112] In some embodiments, consider sending data to be transmitted consisting of a K×T original data matrix B from a data sending end to a data receiving end in a network communication network. Each row of B represents a packet of a message.
[0113] Taking BATS code as an example, BATS code contains an outer code and an inner code. At the data transmission end, the outer code encodes B into batches of coded packets. Each batch of coded packets is generated by only a part of the original data packets. The number of original data packets used in each batch is called degree. The choice of degree depends on the sampling degree distribution. The choice of degree distribution will significantly affect the efficiency of encoding and decoding operations and the reliability of the code transmission. Based on this, in order to obtain a suitable sampling degree distribution, it is first necessary to obtain the partial solvability probability k m,n It can be understood that, considering an m×n matrix A to be decoded, the matrix elements are independently and uniformly generated from the data finite field F. The probability of uniquely determining a specific element by the equation Ax=0 (i.e., the probability of solving a certain parameter to be decoded in the matrix) is the same for all elements, and k is used m,nThis probability can also be expressed as the solvable probability of the parameter to be decoded. m,n It can be obtained by the following formula (4).
[0114]
[0115] Among them, α n (m,r) is an intermediate function defined, which can be obtained through the following recursive definition.
[0116] 1) 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] Reference Figure 6 , is a simulation diagram of partial solvable probability provided by the embodiment of the present application. In order to verify the potential benefits of the data processing method (PR-BP) provided by the present application in batch network coding, this embodiment calculates the data finite field F2 and the data finite field F 256 The probability k of partial solvability m,n Value. Figure 6 As shown, for the data finite field F 256 , when n≤16, k 16,n is close to 1, and when n>16, k 16,n drops to nearly 0. This shows that for F 256 For , partial recovery does not contribute much to solving more variables. However, in the case of F2, partial recovery can significantly increase the probability of solving a variable. Figure 6 It is shown that even when the number of variables is greater than the number of equations n>m, there is a significant chance of solving for one variable.
[0120] In addition, we fix an integer D>0, real numbers θ>0 and 0<η<1. Consider a message packet with K packets, batches and a series of BATS codes for the sampling degree distribution Ψ.
[0121] Based on this, we can obtain the partial solvability probability k m,n In addition, it is also necessary to obtain the decoding ratio parameter z and the matrix rank distribution h = (h1,h2,...,h m ), and the sampling degree distribution parameter Ψ corresponding to the sampling degree distribution. Among them, the decoding ratio parameter z can be understood as the ratio that has been decoded in the BP algorithm, and η is the ratio that is expected to be decoded in the end. Therefore, it is necessary to satisfy the relationship 0≤z≤η, which can mathematically ensure that the entire BP decoding process can (with a high probability) continue to proceed from no decoding at the beginning to decoding the expected η ratio.
[0122] Next, based on the decoding scale parameter z, the matrix rank distribution h = (h1, h2, ..., h m ), sampling degree distribution parameter Ψ and partial solvability probability k m,n , we get the asymptotic rate function Θ(z; h, Ψ). The following will further describe how to generate the asymptotic rate function Θ(z; h, Ψ).
[0123] Reference Figure 7 , based on the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvability probability, the progressive rate function is obtained, including the following steps 701 to 703.
[0124] Step 701: Obtain a degree parameter and a degree iteration parameter, obtain an adjusted degree parameter based on the degree parameter minus one, and obtain the number of degree combinations of the adjusted degree parameter and the degree iteration parameter.
[0125] Step 702: Based on the difference between the adjustment degree parameter and the degree iteration parameter, obtain a degree index, based on the power of the degree parameter of the decoding scale parameter, obtain a first decoding parameter item, and based on the power of the degree index of the decoding scale parameter, obtain a second decoding parameter item.
[0126] Step 703: Accumulate the number of degree combinations, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvability probability to obtain an asymptotic rate function.
[0127] Steps 701 to 703 are described in detail below.
[0128] In some embodiments, after obtaining the decoding ratio parameter z, the matrix rank distribution h=(h1,h2,...,h m ), sampling degree distribution parameter Ψ and partial solvability probability k m,nAfter that, first obtain the degree parameter and the degree iteration parameter d, and obtain the adjustment degree parameter d-1 based on the degree parameter minus one, and then obtain the degree combination number (ie, permutation combination) of the adjustment 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 adjustment degree parameter d-1 and the degree iteration parameter s, the degree index d-1-s is obtained, and based on the power of the degree parameter s of the decoding scale parameter z, the first decoding parameter item z is obtained. s , and based on the power of the degree index d-1-s of the decoding scale parameter z, the second decoding parameter item z is obtained d-1-s Next, the number of degree combinations and the first decoding parameter item z are accumulated. s , the second decoding parameter item z d-1-s , decoding ratio parameter z, matrix rank distribution h=(h1,h2,...,h m ), sampling degree distribution parameter Ψ and partial solvability probability k m,n , the asymptotic rate function Θ(z; h, Ψ) is obtained as shown in the following formula (5).
[0131]
[0132] Step 502: Obtain a sampling degree distribution constraint and a progressive rate constraint, and obtain a progressive rate optimization model based on the progressive rate function, the sampling degree distribution constraint and the progressive rate constraint.
[0133] Step 502 is described in detail below.
[0134] In some embodiments, based on the relationship constraint 0≤z≤η between the progressive rate function Θ(z; h, Ψ) and the above-mentioned decoding ratio parameter z, the following progressive rate constraint (6) can be obtained.
[0135] Θ(z;h,Ψ)+θln(1-z)>0 (6)
[0136] Based on asymptotic analysis, it can be determined that the matrix rank distribution of a given batch is h = (h1, h2, ..., h m ), η recovery is determined by the degree distribution Ψ of the BATS outer code. This condition enables us to optimize the degree distribution of the coding scheme for the PR-BE decoding algorithm in order to maximize the bit rate. In addition, the sampling degree distribution constraint ∑ d Ψ d =1 and Ψ d ≥0, d=1,..., D. Then based on the asymptotic rate function (5), the sampling degree distribution constraint and the asymptotic rate constraint (6), the asymptotic rate optimization model is obtained as shown in the following formula (7).
[0137]
[0138] Step 503: Solve the progressive rate optimization model to obtain the sampling degree distribution.
[0139] Step 503 is described in detail below.
[0140] In some embodiments, after obtaining the asymptotic rate optimization model (7), a suitable sampling degree distribution Ψ can be obtained by solving the asymptotic rate optimization model (7). * , thereby effectively improving coding efficiency, enhancing data reliability, optimizing decoding complexity, etc. The following will further describe how to solve the progressive rate optimization model (7).
[0141] Reference Figure 8 , solving the progressive rate optimization model to obtain the sampling degree distribution, including the following steps 801 to 803.
[0142] Step 801: Perform discrete relaxation on a decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values.
[0143] Step 802: Based on each discrete decoding scale parameter value and the progressive rate constraint, generate a discrete progressive rate constraint consistent with the number of discrete decoding scale parameter values.
[0144] Step 803: Replace the asymptotic rate constraints in the asymptotic rate optimization model with multiple discrete asymptotic rate constraints, and solve the updated asymptotic rate optimization model to obtain the sampling degree distribution.
[0145] Steps 801 to 803 are 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) is a non-convex constraint. Therefore, the asymptotic rate optimization model (7) is not a convex optimization problem and cannot be solved directly through convex optimization related theories.
[0147] Based on this, this embodiment performs discrete relaxation on the decoding ratio parameter z in the progressive rate constraint (6) to obtain L discrete decoding ratio parameter values [z1, z2, ..., z L ], and based on L discrete decoding scale parameter values [z1,z2,...,z L ] By discretizing the progressive rate constraint, L discrete progressive rate constraints can be obtained as shown in the following formula (8).
[0148]
[0149] Then, the asymptotic rate constraints in the asymptotic rate optimization model (7) are replaced by multiple discrete asymptotic rate constraints (8). The updated asymptotic rate optimization model (7) is a convex optimization problem. The updated asymptotic rate optimization model can be solved by related convex optimization solving methods such as the interior point method to obtain the optimal sampling degree distribution Ψ * .
[0150] As with the BATS code analysis of GE-BP decoding, this optimization problem can be transformed into a linear programming problem that can be efficiently solved by discretizing the first constraint into multiple constraints by sampling z in the range 0≤z≤η. Let θ * is the optimal value of the above optimization. Similar to the BATS code analysis of GE-BP decoding, the rate ηθ * This can be achieved using BATS codes with PR-BP decoding and precoding. * The upper limit of the expected rank is E(h) = ∑ i i i .
[0151] Through the above steps 501 to 503, steps 701 to 703 and steps 801 to 803, the optimal sampling degree distribution obtained by using the partial solvable probability, decoding ratio parameters, matrix rank distribution, sampling degree distribution parameters combined with sampling degree distribution constraints and progressive rate constraints to solve the progressive rate function can improve the coding efficiency when the optimal sampling degree distribution is used for data encoding at the subsequent data sending end, enhance the data reliability during data transmission, and improve the decoding efficiency of data decoding at the data receiving end.
[0152] Step 402: Encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of encoding packets.
[0153] Step 402 is described in detail below.
[0154] In some embodiments, after obtaining the optimal sampling degree distribution Ψ * Afterwards, consider sending a message consisting of K×T data matrices B from the data sending end to the data receiving end through the network. Each row of B represents a data packet of the message.
[0155] BATS code consists of an outer code and an inner code. At the data transmitter, the outer code encodes B into batches of coded packets. Let M be a positive integer called batch size, usually less than 100. For i = 1, 2, ..., n, the data matrix X of the i-th batch i is an M×T matrix, which is generated by X i =G i B, where G iis an M×K matrix, which is generated by batch encoding the data to be transmitted based on the sampling degree distribution to obtain multiple batches of coded packets. The following will further describe in detail how to generate multiple batches of coded packets.
[0156] Reference Fig. 9 , based on the sampling degree distribution, the data to be transmitted is encoded in batches to obtain multiple batches of encoding packets, including the following steps 901 to 903.
[0157] Step 901: Acquire a data finite field, and obtain a sampling degree based on a sampling degree distribution.
[0158] Step 902: Obtain an outer code generation matrix based on the data finite field and the sampling degree.
[0159] Step 903: Encode the data to be transmitted using an external code generation matrix, and add a coefficient vector to the encoded data to be transmitted to obtain multiple batches of coded packets.
[0160] Steps 901 to 903 are described in detail below.
[0161] In some embodiments, after obtaining the data finite field F and the optimal sampling degree distribution Ψ * After that, a series of batches of coded packets are generated using the optimal sampling degree distribution. Specifically, for the i-th batch, first, the optimal sampling degree distribution is used. Get an integer d i , called the sampling degree of the batch, and the probability of this sampling degree is Ψ d Secondly, generate an M×K initial generator matrix, and randomly select multiple target columns from the initial generator matrix based on the sampling degree, and independently and uniformly randomly select filling values consistent with the number of elements in the target column from the finite field, and update each element of the target column with the filling value, and use the initial generator matrix after filling as the external code generator matrix G i Then use the external code to generate the matrix G i Multiply the original data vector to get the outer code data matrix X i =G i B. Encoding the data matrix X in the outer code i Add an M×Ms unit matrix I to get the encoding packet matrix of this batch [IX i ], each row in the code packet matrix of the batch is a code packet, where the part of each row taken from the unit matrix is called the coefficient vector of the code packet, and the part taken from the code data matrix is called the data part of the code packet. Repeat the above operation to obtain multiple batches of code packets. In actual operation, the external code encoding within the same batch is generated by the external code generation matrix G iThe randomness of can come from a pseudo-random generator, and the pseudo-random generator can be obtained by the data receiving end. Considering the outer code generation matrix G i Due to the sparse nature of , matrix multiplication can follow a simplified procedure, that is, only the non-zero columns are calculated.
[0162] Step 403: network coding is performed on the plurality of batches of coded packets, and the plurality of batches of coded packets after network coding are transmitted to the data receiving end through the network intermediate node.
[0163] Step 403 is described in detail below:
[0164] The data transmitter generates multiple batches of coded packet matrices that are network coded and transmitted to the data receiver through at least one intermediate network node after network coding. The same batch of coded packets are linearly combined at all network forwarding nodes (i.e., intermediate network nodes, including the data transmitter). This operation is collectively referred to as the inner code encoding process (also called the recoding process). Please note that the inner code can use a subfield of the base domain to select the linear combination coefficients. This end-to-end inner code encoding process is equivalent to multiplying a corresponding matrix H i , is called the batch transfer matrix, that is, multiple batches of coded packets will be updated in the transmission forwarding of each intermediate node in the network.
[0165] For the same batch of coded packets, the coded packet matrix at the initial state of the transmitter is [IX i ], after network transmission, the coded packet matrix received at the data receiving end is [H i H i X i ] The batch transfer matrix H can be obtained by merging the coefficient vectors of the same batch encoding package. i , merging the data part of the coded packet can get Y i , and Y i =H i X i =H i G i B, where Y i is called the data vector matrix to be decoded. The data receiving end can use the same pseudo-random generator as the data sending end to obtain G i , and H extracted from the coefficient vector i Multiply. Let A i =H i G i , then A i This is the matrix to be decoded. The data receiving end uses A i and Y i To try to recover the original data, that is, to decode the data.
[0166] In addition, data encoding can also be performed using block LDPC codes.
[0167] Block LDPC code is also a network coding scheme that includes outer code and inner code design. Consider sending some message packets from the data transmitter to the data receiver. As part of the outer code, these message packets will first pass through an LDPC code to generate a coded packet 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, which is usually less than one hundred. Assume that M divides K equally. Let n a =K / M. At the data sending end, these B coded packets are batched into M pieces, generating n a Batch of coded packets X1, X2, ..., X n The batches generated by the data sending end are transmitted to the data receiving end through the network. i Each row of is considered as a packet, and the inner code linearly combines the packets of the same batch in all network nodes. As with batch sparse codes (BATS codes), for the i-th batch, the end-to-end transformation can be expressed as the batch transfer matrix H i , so that the symbol of the i-th batch received by the data receiving end is Y i =H i X i By embedding the coefficient vector in 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 viewed as a decoding problem involving n=n a +n b batches, where n b is the number of constraints in LDPC coding. These n batches are divided into two categories: for i in 1,…,n a In the range, d i =M. For the first n a For batches, the M non-zero columns contained in each batch coefficient matrix are not repeated. a +1,…,n, r i = 1. In fact, for the matrix A, the last nn a The rows constitute the check matrix of the LDPC code, so the y corresponding to this part is zero.
[0169] For example, A has a block structure as shown in the following formula (9) (where * represents a non-zero submatrix, and 0 represents a submatrix that is always zero).
[0170]
[0171] The first na The block diagonal matrix (block diagonal matrix) consisting of rows of sub-matrices corresponds to the first n a batches, followed by n b The check matrix of the LDPC code is composed of rows of non-zero sub-matrices as shown in the following formula (10).
[0172]
[0173] Since this construction Ab=y also conforms to the block structure of the equation, the PR-BP algorithm provided by the present application (ie, the above-mentioned data processing method) can also be used for iterative decoding.
[0174] The second data processing method of a network communication system proposed in an embodiment 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 the number of degree combinations 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 item based on the power of the degree parameter of the decoding ratio parameter, and obtaining a second decoding parameter item based on the power of the degree index of the decoding ratio parameter, accumulating the number of degree combinations, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter, and the partial solvable probability to obtain a progressive rate function, 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, and performing discrete relaxation on the decoding ratio parameter to obtain multiple A discrete decoding scale parameter value is obtained, and based on each discrete decoding scale parameter value and the progressive rate constraint, a discrete progressive rate constraint consistent with the number of discrete decoding scale parameter values is generated, and multiple discrete progressive rate constraints are replaced with the progressive rate constraints in the progressive rate optimization model, and the updated progressive rate optimization model is solved to obtain the sampling degree distribution; and the data to be transmitted is obtained, and then the data finite field is obtained, and the sampling degree is obtained based on the sampling degree distribution; then, the data finite field is obtained, and the sampling degree is obtained based on the sampling degree distribution, and the outer code generation matrix is obtained based on the data finite field and the sampling degree, and the data to be transmitted is encoded using the outer code generation matrix, and the coefficient vector is added to the encoded data to be transmitted to obtain multiple batches of coding packets; finally, the multiple batches of coding packets are network coded, and the multiple batches of coding packets after network coding are transmitted to the data receiving end through the network intermediate node, and the multiple batches of coding packets will be updated during the transmission and forwarding of the network intermediate node.
[0175] The embodiment of the present application solves the optimal sampling degree distribution obtained by using the partial solvable probability, decoding ratio parameter, matrix rank distribution, sampling degree distribution parameter combined with sampling degree distribution constraint and progressive rate constraint. The coding efficiency can be improved when the optimal sampling degree distribution is used for data encoding at the subsequent data sending end, and the data reliability during the data transmission process is enhanced, and the decoding efficiency of data decoding at the data receiving end is improved.
[0176] In order to further verify the effectiveness of the performance improvement of the first data processing method provided by this application, taking BATS code as an example, the achievable rates of GE-BP and PR-BP decoding are compared through numerical evaluation. Fig.10 , is the accessible 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 adopts the system RLNC on the binary domain. Two batch sizes are considered: M = 16 and M = 32, and two domains of the outer code: 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 Fig.10 As shown in Figure 2, the accessible rate of PR-BP on F2 is very close to that of GE-BP on F 256 The rate of PR-BP on F2 is lower than that of GE-BP on F2, but much higher than that 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 PR-BP using F2 is compared with the PR-BP using F2. 256 The computational cost of GE-BP is 2.3 times that of GE-BP, 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 data processing method of the above network communication system, and the system includes:
[0178] A data transmitting end, used to obtain a sampling degree distribution and data to be transmitted, encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of coded packets, wherein the encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded, perform network coding on the multiple batches of coded packets, and transmit the multiple batches of coded packets after network coding to a data receiving end through a network intermediate node, wherein the multiple batches of coded packets will be updated during transmission and forwarding of the network intermediate node;
[0179] A data receiving end is used to obtain a sequence of data vectors to be decoded and a sequence of matrices to be decoded from a plurality of batches of coded packets transmitted by a data sending end through network coding, wherein the sequence of matrices to be decoded includes a plurality of matrices to be decoded, and all matrices to be decoded in the sequence of matrices to be decoded are row-simplified to obtain a simplified matrix sequence, and a corresponding row transformation operation sequence is recorded, wherein the row transformation operation sequence is used to perform a transformation operation on the sequence of data vectors to be decoded, and a simplified matrix is selected from the simplified matrix sequence as a transition matrix, and a decodable variable column of at least one solution variable is determined based on the transition matrix, and 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, and the update matrix is simplified again to obtain an updated simplified matrix, and a corresponding row transformation operation sequence is recorded, and the simplified matrix sequence is updated by using the updated simplified matrix, and the updated simplified matrix sequence is used as the new sequence of matrices to be decoded to perform a solution update operation, until the variable columns of all matrices to be decoded are solved or there is no decodable variable column, and decoded data is obtained.
[0180] In some embodiments, the data sending end is further used for:
[0181] Obtaining a partial solvable probability, a decoding ratio parameter, a matrix rank distribution, and 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;
[0182] Acquire 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] The asymptotic rate optimization model is solved to obtain the sampling degree distribution.
[0184] In some embodiments, the data sending end is further used for:
[0185] Obtaining a degree parameter and a degree iteration parameter, obtaining an adjustment degree parameter based on the degree parameter minus one, and obtaining a degree combination number of the adjustment degree parameter and the degree iteration parameter;
[0186] Obtaining a degree index based on a difference between the adjustment degree parameter and the degree iteration parameter, obtaining a first decoding parameter item based on the power of the degree parameter of the decoding scale parameter, and obtaining a second decoding parameter item based on the power of the degree index of the decoding scale parameter;
[0187] The progressive rate function is obtained by accumulating the number of degree combinations, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvability probability.
[0188] In some embodiments, the data sending end is further used for:
[0189] Performing discrete relaxation on the decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values;
[0190] generating, based on each of the discrete decoding scale parameter values and the progressive rate constraint, a discrete progressive rate constraint consistent with the number of the discrete decoding scale parameter values;
[0191] The asymptotic rate constraints in the asymptotic rate optimization model are replaced by a plurality of the discrete asymptotic rate constraints, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution.
[0192] In some embodiments, the data sending end is further used for:
[0193] Acquire a data finite field, and obtain a sampling degree based on the sampling degree distribution;
[0194] Obtaining an outer code generation matrix based on the data finite field and the sampling degree;
[0195] The data to be transmitted is encoded using the outer code generation matrix, and a coefficient vector is added to the encoded data to be transmitted to obtain multiple batches of encoding packets.
[0196] In some embodiments, the data receiving end is further used for:
[0197] Selecting at least one pivot column corresponding to a solvable solution variable from the transition matrix as a target pivot column, and solving the target pivot column based on the transition matrix to obtain the decodable variable column;
[0198] Substituting the decodable variable column into other simplified matrices containing the solution variables in the simplified matrix sequence, and using the updated simplified matrix as the update matrix, and recording the corresponding row transformation operation sequence;
[0199] When the position of the solution variable in the update matrix is the main element column of the update matrix, simplify the update matrix to obtain the update simplified matrix, and record the corresponding row transformation operation sequence;
[0200] When the position of the solution variable in the update matrix is a non-pivot column of the update matrix, the update matrix is used as the update simplification matrix.
[0201] In the above embodiments, the description of each embodiment has its own emphasis. For the part not described in detail in a certain embodiment, the specific implementation method of the network communication system is basically consistent with the specific implementation method of the data processing method of the above network communication system, and will not be repeated here.
[0202] In an embodiment of the present application, after receiving multiple batches of coding packets and simplifying the matrix to be decoded therein, the decodable variable columns of the solution variables of at least one simplified matrix in the simplified matrix sequence are used to substitute and simplify other simplified matrices in the simplified matrix sequence, without completely solving all the decoding data of the matrix to be decoded in one solution, and then the simplified substitution process is iterated until the variable columns of all the matrices to be decoded are solved or there are no decodable variable columns, and the actual sequence of data vectors to be decoded is transformed using all recorded row transformation operation sequences to obtain decoded data, thereby improving the efficiency of solving the data vector to be decoded; in addition, it also effectively solves the situation where a certain matrix to be decoded cannot be solved alone, and then improves the decoding efficiency and decoding reliability of the matrix sequence to be decoded when decoding the batch coded data in the 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 conditions of the previous solution method (GE-BP). Therefore, it will not terminate earlier than the GE-BP algorithm. This feature also makes PR-BP superior to GE-BP, and this advantage becomes more significant when the size of the finite field is small. In addition, in terms of computational cost, the GE-BP algorithm only requires all batch transmission matrices to be in row echelon form (REF) to verify the rank. Therefore, the approximate computational cost of the PR-BP algorithm is twice that of the GE-BP algorithm. It should be noted that the slightly higher computational cost of PR-BP becomes less important when used for decoding of sparse batch network coding. 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 substitutions using the recorded coefficients usually dominate. Second, the PR-BP algorithm enables the use of a binary basis field, which further reduces the computational cost. In addition, the optimal sampling degree distribution is obtained by solving the progressive rate function obtained by combining the partial solvable probability, decoding ratio parameters, matrix rank distribution, sampling degree distribution parameters with the sampling degree distribution constraint and the progressive rate constraint. When the optimal sampling degree distribution is used for data encoding at the subsequent data sending end, the coding efficiency can be improved, the data reliability during the data transmission process can be enhanced, and the decoding efficiency of data decoding at the data receiving end can be improved.
[0203] The present application also provides an electronic device, including:
[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 implemented in the present application. The electronic device can be any intelligent terminal including a mobile phone, a tablet computer, a personal digital assistant (PDA), a car computer, etc.
[0208] See also Fig.11 , Fig.11 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:
[0209] The processor 1101 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;
[0210] The memory 1102 can be implemented in the form of ROM (Read Only Memory), static storage device, dynamic storage device or RAM (Random Access Memory). The memory 1102 can store operating systems and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1102, and the processor 1101 calls and executes the data processing method of the network communication system of the embodiment of the present application;
[0211] Input / output interface 1103, used to implement information input and output;
[0212] The communication interface 1104 is used to realize the communication interaction between the device and other devices. The communication can be realized through a wired manner (such as USB, network cable, etc.) or a wireless manner (such as mobile network, WIFI, Bluetooth, etc.);
[0213] A bus 1105 that transmits information between various components of the device (e.g., the processor 1101, the memory 1102, the input / output interface 1103, and the communication interface 1104);
[0214] The processor 1101 , the memory 1102 , the input / output interface 1103 and the communication interface 1104 are connected to each other in communication within the device via the bus 1105 .
[0215] An embodiment of the present application further provides a storage medium, which is a computer-readable storage medium and stores a computer program. When the computer program is executed by a processor, the data processing method of the above-mentioned network communication system is implemented.
[0216] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0217] The embodiments described in the embodiments of the present application are intended 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 in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0218] Those skilled in the art will appreciate that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.
[0219] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0220] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.
[0221] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0222] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: 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 indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0223] In the several embodiments provided in the present 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 schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. The mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0224] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0225] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0226] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store programs.
[0227] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the present invention is not limited thereto. Any modification, equivalent substitution and improvement made by a person skilled in the art without departing from the scope and essence of the present invention should be within the scope of the rights of the present invention.
Claims
1. A data processing method for a network communication system, characterized in that: include: Obtaining a sequence of data vectors to be decoded and a sequence of matrices to be decoded from a plurality of batches of coded packets transmitted by a data transmitting end through network coding, wherein the sequence of matrices to be decoded includes a plurality of matrices to be decoded; Simplifying all the matrices to be decoded in the matrix sequence to be decoded in rows to obtain a simplified matrix sequence, and recording a corresponding row transformation operation sequence, wherein the row transformation operation sequence is used to perform a transformation operation on the data vector sequence to be decoded; A simplified matrix is selected from the simplified matrix sequence as a transition matrix, a decodable variable column of at least one solution variable is determined based on the transition matrix, the decodable variable column is substituted into other simplified matrices containing the solution variables in the simplified matrix sequence to obtain 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 simplified matrix sequence is updated using the updated simplified matrix, and the updated simplified matrix sequence is used as the new matrix sequence to be decoded to perform a solution update operation, until the variable columns of all the matrices to be decoded are solved or there is no decodable variable column, and decoded data is obtained.
2. The data processing method of the network communication system according to claim 1, characterized in that: The step of determining a decodable variable column of at least one solution variable based on the transition matrix, substituting the decodable variable column into other simplified matrices in the simplified matrix sequence that contain the solution variable to obtain an updated matrix, and simplifying the updated matrix again to obtain an updated simplified matrix comprises: Selecting at least one pivot column corresponding to a solvable solution variable from the transition matrix as a target pivot column, and solving the target pivot column based on the transition matrix to obtain the decodable variable column; Substituting the decodable variable column into other simplified matrices containing the solution variables in the simplified matrix sequence, and using the updated simplified matrix as the update matrix, and recording the corresponding row transformation operation sequence; When the position of the solution variable in the update matrix is the main element column of the update matrix, simplify the update matrix to obtain the update simplified matrix, and record the corresponding row transformation operation sequence; When the position of the solution variable in the update matrix is a non-pivot 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: Get the sampling degree distribution and the data to be transmitted; Based on the sampling degree distribution, the data to be transmitted is encoded in batches to obtain multiple batches of encoding packets, wherein the encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded; The multiple batches of coded packets are network-coded, and the multiple batches of coded packets after network coding are transmitted to the data receiving end through the network intermediate node. The multiple batches of coded packets will be updated during the transmission and forwarding of the network intermediate node.
4. The data processing method of the network communication system according to claim 3, characterized in that: The obtaining of the sampling degree distribution comprises: Obtaining a partial solvable probability, a decoding ratio parameter, a matrix rank distribution, and 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; Acquire 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; The asymptotic rate optimization model is solved to obtain the sampling degree distribution.
5. The data processing method of the network communication system according to claim 4, characterized in that: The step of 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: Obtaining a degree parameter and a degree iteration parameter, obtaining an adjustment degree parameter based on the degree parameter minus one, and obtaining a degree combination number of the adjustment degree parameter and the degree iteration parameter; Obtaining a degree index based on a difference between the adjustment degree parameter and the degree iteration parameter, obtaining a first decoding parameter item based on the power of the degree parameter of the decoding scale parameter, and obtaining a second decoding parameter item based on the power of the degree index of the decoding scale parameter; The progressive rate function is obtained by accumulating the number of degree combinations, the first decoding parameter item, the second decoding parameter item, the decoding ratio parameter, the matrix rank distribution, the sampling degree distribution parameter and the partial solvability probability.
6. The data processing method of the network communication system according to claim 4, characterized in that: The step of solving the asymptotic rate optimization model to obtain the sampling degree distribution includes: Performing discrete relaxation on the decoding ratio parameter to obtain a plurality of discrete decoding ratio parameter values; generating, based on each of the discrete decoding scale parameter values and the progressive rate constraint, a discrete progressive rate constraint consistent with the number of the discrete decoding scale parameter values; The asymptotic rate constraints in the asymptotic rate optimization model are replaced by a plurality of the discrete asymptotic rate constraints, and the updated asymptotic rate optimization model is solved to obtain the sampling degree distribution.
7. The data processing method of the 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 encoding packets includes: Acquire a data finite field, and obtain a sampling degree based on the sampling degree distribution; Obtaining an outer code generation matrix based on the data finite field and the sampling degree; The data to be transmitted is encoded using the outer code generation matrix, and a coefficient vector is added to the encoded data to be transmitted to obtain multiple batches of encoding packets.
8. A network communication system, characterized in that: include: A data transmitting end, used to obtain a sampling degree distribution and data to be transmitted, encode the data to be transmitted in batches based on the sampling degree distribution to obtain multiple batches of coded packets, wherein the encoding includes a sequence of data vectors to be decoded and a sequence of matrices to be decoded, perform network coding on the multiple batches of coded packets, and transmit the multiple batches of coded packets after network coding to a data receiving end through a network intermediate node, wherein the multiple batches of coded packets will be updated during transmission and forwarding of the network intermediate node; A data receiving end is used to obtain a sequence of data vectors to be decoded and a sequence of matrices to be decoded from a plurality of batches of coded packets transmitted by a data sending end through network coding, wherein the sequence of matrices to be decoded includes a plurality of matrices to be decoded, and all matrices to be decoded in the sequence of matrices to be decoded are row-simplified to obtain a simplified matrix sequence, and a corresponding row transformation operation sequence is recorded, wherein the row transformation operation sequence is used to perform a transformation operation on the sequence of data vectors to be decoded, and a simplified matrix is selected from the simplified matrix sequence as a transition matrix, and a decodable variable column of at least one solution variable is determined based on the transition matrix, and 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, and the update matrix is simplified again to obtain an updated simplified matrix, and a corresponding row transformation operation sequence is recorded, and the simplified matrix sequence is updated by using the updated simplified matrix, and the updated simplified matrix sequence is used as the new sequence of matrices to be decoded to perform a solution update operation, until the variable columns of all matrices to be decoded are solved or there is no decodable variable column, and decoded data is obtained.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the data processing method of the network communication system described in any one of claims 1 to 2 or the data processing method of the network communication system described in any one of claims 3 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data processing method of the network communication system described in any one of claims 1 to 2 or the data processing method of the network communication system described in any one of claims 3 to 7 is implemented.
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
BATS Codes coding method with maximum rank generation matrix
CN118540016A
Method and apparatus for efficient data decoding
US20200220558A1