Network coding methods, apparatus, equipment, and media based on maximum rank distance codes

By using a network coding method based on maximum rank distance codes, the problem of insufficient error correction capability of traditional coding techniques in complex network environments is solved, achieving efficient and reliable data transmission. This method is applicable to server-side and terminal devices, improving the accuracy and real-time performance of data transmission.

CN120389829BActive Publication Date: 2026-05-26SHENZHEN STORLEAD TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN STORLEAD TECH CO LTD
Filing Date
2025-03-14
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing network coding methods have poor error correction capabilities in complex and ever-changing network environments, making it difficult to guarantee the reliability and real-time performance of data transmission. In particular, in wireless and satellite communications, traditional coding techniques are unable to cope with problems such as random packet loss, transmission noise, and interference, resulting in data transmission delays and frequent errors.

Method used

A network coding method based on maximum rank distance code is adopted. By network coding the transmitted data, linear addition and multiplication calculations are performed. A preset parity check matrix is ​​used for error detection and location. Rank error correction is performed based on the error matrix to restore the original source data.

Benefits of technology

It improves the reliability and efficiency of data transmission, reduces redundant data transmission, maintains low latency and high data recovery success rate, and adapts to complex network environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120389829B_ABST
    Figure CN120389829B_ABST
Patent Text Reader

Abstract

This invention relates to network coding technology and discloses a network coding method based on maximum rank distance code. The method includes: performing network coding on transmitted data to obtain coded data; performing linear addition and multiplication on the coded data to obtain coded data packets; using a preset parity check matrix to perform error detection and location on the coded data packets to obtain an error matrix; and performing rank error correction on the coded data packets based on the error matrix to obtain the original source data. This invention also provides a network coding apparatus, device, and medium based on maximum rank distance code. This invention can reduce the amount of redundant data transmitted in the transmission network and maintain low latency and high data recovery success rate even in complex network environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network coding technology, and in particular to a network coding method, apparatus, device and medium based on maximum rank distance code. Background Technology

[0002] In today's digital age, the scale and complexity of data communication and storage are growing exponentially, placing stringent demands on network coding technologies and the performance of storage systems. Network coding, as a key technology for improving data transmission efficiency, aims to achieve efficient data utilization and reliable transmission with limited resources by encoding data at relay nodes. While traditional network coding methods, such as linear network coding, have met some network transmission requirements to a certain extent, their limitations are becoming increasingly apparent in complex and ever-changing network environments.

[0003] During network transmission, problems such as random packet loss, transmission noise, interference, and communication delays frequently occur, severely impacting the reliability and performance of data transmission. For example, in wireless communication networks, signals are susceptible to multipath fading and noise interference, leading to packet loss or errors; similar problems arise in satellite communication networks due to long-distance transmission and the complex space environment. Traditional network coding methods struggle to effectively guarantee accurate data transmission when faced with these issues, failing to meet the extremely high reliability and real-time requirements of applications such as real-time video transmission and financial transaction data transmission.

[0004] Existing coding techniques, such as block coding, convolutional coding, LDPC (Low Density Parity Check Code), fountain codes, and Reed-Solomon codes, have achieved certain results in improving communication reliability and reducing bit error rates. However, with the continuous expansion of network scale and the explosive growth of data volume, these techniques are gradually proving inadequate in improving network transmission efficiency, reducing network latency, and handling large-scale network errors. For example, in the internal networks of large-scale data centers, data traffic is enormous and complex, and traditional coding techniques struggle to quickly process massive amounts of data and ensure its accurate transmission, leading to network congestion and increased data transmission latency. Summary of the Invention

[0005] This invention provides a network coding method, apparatus, device, and medium based on maximum rank distance code, the main purpose of which is to solve the problem of poor error correction capability of existing network coding methods.

[0006] To achieve the above objectives, the present invention provides a network coding method based on maximum rank distance code, comprising: performing network coding on transmitted data to obtain coded data; performing linear addition and multiplication on the coded data to obtain coded data packets; using a preset parity check matrix to perform error detection and location on the coded data packets to obtain an error matrix; and performing rank error correction on the coded data packets based on the error matrix to obtain the original source data.

[0007] To address the aforementioned problems, this invention also provides a network coding apparatus based on maximum rank distance code. The apparatus includes: a data coding module for network coding transmitted data to obtain coded data; a data calculation module for performing linear addition and multiplication calculations on the coded data to obtain coded data packets; an error detection module for using a preset parity check matrix to detect and locate errors in the coded data packets to obtain an error matrix; and an error correction module for performing rank error correction on the coded data packets based on the error matrix to obtain the original source data.

[0008] To address the above problems, the present invention also provides an electronic device, the electronic device comprising:

[0009] At least one processor;

[0010] And, a memory that is communicatively connected to at least one processor;

[0011] The memory stores a computer program that can be executed by at least one processor, which enables the at least one processor to execute the network coding method based on the maximum rank distance code described above.

[0012] To address the aforementioned problems, the present invention also provides a computer-readable storage medium storing at least one computer program, which is executed by a processor in an electronic device to implement the aforementioned network coding method based on maximum rank distance code.

[0013] This invention improves the reliability of data transmission in a network by performing network encoding on transmitted data to obtain encoded data, performing linear addition and multiplication on the encoded data to obtain encoded data packets, using a preset parity check matrix to detect and locate errors in the encoded data packets to obtain an error matrix, and performing rank error correction on the encoded data packets based on the error matrix to obtain the original source data. Therefore, the network encoding method, apparatus, device, and medium based on maximum rank distance code proposed in this invention can solve the problem of poor error correction capability in existing network encoding methods. Attached Figure Description

[0014] Figure 1 This is a flowchart illustrating a network coding method based on maximum rank distance code according to an embodiment of the present invention.

[0015] Figure 2 This is a schematic diagram of a network coding process provided in an embodiment of the present invention;

[0016] Figure 3 This is a schematic diagram of a process for rank error correction provided in an embodiment of the present invention;

[0017] Figure 4 A functional block diagram of a network coding device based on maximum rank distance code provided in an embodiment of the present invention;

[0018] Figure 5 This is a schematic diagram of the structure of an electronic device that implements a network coding method based on maximum rank distance code, according to an embodiment of the present invention.

[0019] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0020] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0021] This application provides a network coding method based on maximum rank distance code. The execution entity of the network coding method based on maximum rank distance code includes, but is not limited to, at least one of the following electronic devices that can be configured to execute the method provided in this application: a server, a terminal, etc. In other words, the network coding method based on maximum rank distance code can be executed by software or hardware installed on a terminal device or a server device. The server includes, but is not limited to, a single server, a server cluster, a cloud server, or a cluster of cloud servers. The server can be a standalone server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.

[0022] Reference Figure 1 The diagram shown is a flowchart illustrating a network coding method based on maximum rank distance code according to an embodiment of the present invention. In this embodiment, the network coding method based on maximum rank distance code includes:

[0023] S1. Perform network encoding on the transmitted data to obtain encoded data.

[0024] This invention applies to transmission networks, which connect devices distributed across different geographical locations through various communication technologies and infrastructures, constructing a complex yet orderly information transmission system. A transmission network typically includes source nodes, intermediate nodes, and receiving endpoints. The data link layer in different nodes performs different processing on the transmitted data. Specifically, the source node encodes the initial data and sends it to the intermediate nodes; the intermediate nodes receive the data from the source nodes, perform linear addition and multiplication calculations, and send the calculated data to the receiving endpoints; the receiving endpoints receive the data from the intermediate nodes and perform error identification and correction. Furthermore, a single intermediate node can receive data from multiple source nodes, and a single receiving endpoint can receive data from multiple intermediate nodes.

[0025] In this embodiment of the invention, the transmission network may contain multiple source nodes, each source node having a set of transmission data. Network encoding of the transmission data may be performed on the transmission data of each source node.

[0026] In this embodiment of the invention, network encoding is performed on the transmitted data to obtain encoded data, including: obtaining the network latency and load rate of the current transmission network; determining whether the load rate is less than a preset load rate threshold; if the load rate is less than the load rate threshold, then network encoding is performed on the network data based on convolutional codes; if the load rate is greater than or equal to the load rate threshold, then determining whether the network latency is less than a preset latency threshold; if the network latency is greater than or equal to the latency threshold, then network encoding is performed on the network data based on maximum rank distance codes to obtain encoded data; if the network latency is less than the latency threshold, then network encoding is performed on the network data using a preset adaptive encoding scheme to obtain encoded data.

[0027] In this embodiment of the invention, a preset adaptive coding scheme is used to perform network coding on network data to obtain coded data, including: obtaining the packet loss rate of the current transmission network; determining whether the packet loss rate is less than a preset first packet loss rate threshold; if the packet loss rate is less than the first packet loss rate threshold, then performing network coding on the network data based on a low-density parity check code to obtain coded data; if the packet loss rate is greater than or equal to the first packet loss rate threshold, then determining whether the packet loss rate is less than a preset second packet loss rate threshold; if the packet loss rate is less than the second packet loss rate threshold, then performing network coding on the network data based on a concatenated code to obtain coded data.

[0028] If the packet loss rate is greater than or equal to the second packet loss rate threshold, then network encoding is performed on the network data based on the maximum rank distance code to obtain encoded data.

[0029] In detail, low-density parity-check code (LDPC code) is another common error correction coding technique. By combining LDPC code with network coding, the transmission reliability of the network can be improved to a certain extent. For example, in a transmission network environment with high signal-to-noise ratio and low packet loss rate, the signal is easily affected by multipath fading, interference and other factors, which can lead to errors in data transmission. LDPC code can correct various types of errors. The sparsity of its parity-check matrix allows for iterative decoding algorithms to gradually identify and correct errors during the decoding process, thereby improving the accuracy of error correction.

[0030] In detail, concatenated codes, also known as Turbo codes, are a highly efficient serial-parallel coding scheme widely used in wireless communication. Network coding schemes based on Turbo codes can provide excellent performance in low signal-to-noise ratio (SNR) environments. For example, in transmission network environments with low SNR and moderate packet loss rates, Turbo codes, through parallel concatenated convolutional code structures and iterative decoding algorithms, can deeply mine redundant information in the data, effectively reducing the bit error rate and ensuring accurate data transmission.

[0031] In detail, convolutional codes have a long error correction capability and can effectively cope with signal interference over a long period of time, making them more suitable for situations with low network load and sufficient bandwidth.

[0032] In detail, Maximum Rank Distance (MRD) code is a coding scheme with excellent coding performance. It can achieve high error correction capability with low redundancy in large-scale networks, especially performing well in channel environments with high randomness and interference. In transmission networks with high latency and high packet loss rates, data transmission is susceptible to interference and errors. MRD code maximizes the rank distance between encoded data blocks, enabling the receiving endpoint to accurately identify and correct errors based on changes in rank.

[0033] In this embodiment of the invention, reference is made to Figure 2 As shown, the specific implementation process of network encoding of network data based on the maximum rank distance code to obtain encoded data includes:

[0034] S21. Divide the network data into fixed-size data blocks;

[0035] S22. Construct an information matrix by arranging data blocks;

[0036] S23. Construct a generator matrix based on a pre-selected finite field and the size of the information matrix;

[0037] S24. Perform matrix multiplication on the information matrix and the generator matrix to obtain the encoded data.

[0038] In detail, dividing network data into fixed-size blocks means mapping each data block as a finite field GF(2). 3 A 3-dimensional vector in ).

[0039] In detail, constructing an information matrix by arranging data blocks involves arranging k data blocks into a matrix of size 3×k, where k is the total number of data blocks.

[0040] In this embodiment of the invention, a finite field is a special algebraic structure, which refers to a set with a finite number of elements. A finite field is generally represented by GF(q), where q represents the number of elements in the finite field, also called the order of the finite field.

[0041] In detail, in the finite field GF(q), if there exists an element α such that α 0 α 1 α 2 ,…,α q-2 If α can generate all non-zero elements in the finite field GF(q), then α is called a generator of the finite field GF(q).

[0042] In detail, constructing a generator matrix based on a pre-selected finite field and the size of the information matrix refers to constructing a generator matrix within the finite field GF(2). 3 If generator α is selected from GF(2), then GF(2) 3 ) can be represented as GF(2 3 )={0,1,α,α 2 ,α 3 ,α 4 ,α 5 ,α 6 The generator matrix is ​​typically constructed by organizing the powers of the generator α. For example, if the information matrix is ​​a three-dimensional vector, then the generator matrix is ​​a 3×3 matrix, where each column is a vector of powers of α. Specifically, the first column corresponds to α. 0 =1 (the zero power of any element in a finite field equals 1), second column: corresponding to α 1 =α, third column: corresponding to α 2 Therefore, the generating matrix can be as follows:

[0043]

[0044] Where G is the generating matrix.

[0045] In detail, the encoded data is obtained by performing matrix multiplication between the information matrix and the generator matrix. This is done by directly multiplying the information matrix and the generator matrix. For example, if the information matrix is ​​represented as {v1, v2, v3}, the encoded data can be represented by the following formula:

[0046]

[0047] Where c represents the encoded data.

[0048] S2. Perform linear addition and multiplication on the encoded data to obtain the encoded data packet.

[0049] In this embodiment of the invention, after receiving encoded data from different source nodes, the intermediate nodes in the transmission network perform linear addition and multiplication calculations on the encoded data.

[0050] In this embodiment of the invention, performing linear addition and multiplication on encoded data to obtain encoded data packets includes: obtaining a predetermined set of encoding coefficients for a finite field; and using a preset linear addition and multiplication formula to perform linear addition and multiplication on the elements in the set of encoding coefficients and the encoded data to obtain encoded data packets.

[0051] In detail, the formula for linear addition and multiplication is as follows:

[0052]

[0053] Where y is the encoded data packet, k is the number of encoded data, and c i For the i-th encoded data, a i It is the i-th element in the set of coding coefficients.

[0054] In this embodiment of the invention, the encoded data comes from different links, that is, the intermediate node can receive encoded data from different source nodes, and each encoded data can be a vector or multi-dimensional data.

[0055] In this embodiment of the invention, the predetermined finite field can be GF(2). 3 ).

[0056] In this embodiment of the invention, obtaining a predetermined set of coding coefficients for a finite field means obtaining coding coefficients with the same number of elements as the coding data set. Each code is a coefficient over a finite field, specifically GF(p). n In GF(2πf), the coefficients take values ​​in the range {0, 1, p-1}. For example, in the finite field GF(2πf), the coefficients take values ​​in the range {0, 1, p-1}. 3 In this context, the coefficient can be either 0 or 1.

[0057] In this embodiment of the invention, the elements in the encoding coefficient set and the elements in the encoding data set are linearly multiplied to obtain the encoded data packet. All of these operations are performed over a finite field. Therefore, each data in the encoded data packet is an element in a finite field.

[0058] In this embodiment of the invention, by performing linear addition and multiplication on the encoded data to obtain the encoded data packet, the efficiency and accuracy of subsequent rank error correction can be improved.

[0059] S3. Use the preset check matrix to perform error detection and location on the encoded data packet to obtain the error matrix.

[0060] In this embodiment of the invention, a preset check matrix is ​​used to perform error detection and location on the encoded data packet to obtain the error matrix. This means that the receiving endpoint in the transmission network performs error detection and location on the encoded data packet after receiving it from the intermediate node.

[0061] In this embodiment of the invention, the parity-check matrix is ​​a matrix generated alongside the generator matrix during the encoding process, used to detect and correct errors during decoding. In network coding, the receiving end uses it to check whether the received codewords contain errors. By multiplying the received codewords by the parity-check matrix, the result is used to determine whether there are errors in the data transmission.

[0062] In detail, the design of the parity-check matrix is ​​closely related to the generator matrix; that is, the parity-check matrix and the generator matrix must satisfy the following formula:

[0063] HG T =0

[0064] Where H is the parity check matrix, G is the generator matrix, and T represents the transpose operation of the generator matrix.

[0065] Furthermore, in the finite field GF(2 3 Assume the generating matrix G is: The verification matrix H can then be:

[0066] In this embodiment of the invention, an error matrix is ​​obtained by using a preset check matrix to detect and locate errors in encoded data packets. The process includes: calculating a discriminant parameter based on the encoded data packet and the check matrix using a discriminant parameter calculation formula; determining whether the discriminant parameter is 0; if the discriminant parameter is 0, determining that the encoded data packet does not contain any errors; if the discriminant parameter is not 0, locating errors in the encoded data packet to obtain the error matrix.

[0067] The detailed formula for calculating the discriminant parameter is as follows:

[0068] L=y·H T

[0069] Where L is the discrimination parameter, y is the encoded data packet, H is the parity check matrix, and T represents the transpose operation of the parity check matrix.

[0070] In this embodiment of the invention, error location of encoded data packets to obtain an error matrix includes: constructing a check equation based on the encoded data packets, the check matrix, and the encoded data; and solving the check equation to obtain the error matrix.

[0071] In detail, the verification equation is as follows:

[0072] y·H T =(c+e)H T

[0073] Where L is the discrimination parameter, y is the encoded data packet, H is the parity check matrix, T represents the transpose operation of the parity check matrix, c represents the encoded data, and e is the error matrix;

[0074] In detail, the transpose operation of the parity check matrix refers to swapping the rows and columns of the parity check matrix.

[0075] In this embodiment of the invention, by using a preset check matrix to perform error detection and location on the encoded data packet, an error matrix is ​​obtained, which can improve the efficiency of subsequent rank error correction.

[0076] S4. Perform rank error correction on the encoded data packets based on the error matrix to obtain the original source data.

[0077] In this embodiment of the invention, rank error correction is a method that relies on the characteristics of MRD codes to solve the problem of data errors caused by node errors in network coding environments, ensuring that the receiver can accurately recover the original data.

[0078] In this embodiment of the invention, reference is made to Figure 3 As shown, the specific implementation process of correcting the rank error of the encoded data packet based on the error matrix to obtain the original source data includes:

[0079] S31. Filter out the valid data blocks in the encoded data packets based on the error matrix;

[0080] S32. Construct a system of linear equations based on the valid data blocks and the generator matrix;

[0081] S33. Solve the system of linear equations to obtain the original source data.

[0082] In this embodiment of the invention, filtering out valid data blocks in the encoded data packet based on the error matrix means identifying data blocks in the encoded data packet that have rank errors based on the error matrix, and then filtering out data blocks that do not have errors to obtain valid data blocks.

[0083] In detail, valid data blocks retain some information from the original data and are an important foundation for subsequent recovery of the original source data. For example, if a row in the error matrix represents the error condition of a data block, when the elements in that row meet a specific error condition (such as a non-zero vector indicating the presence of an error), the data block in the corresponding encoded data packet is a data block with a rank error; conversely, the data block in the encoded data packet corresponding to a row that does not meet the error condition is a valid data block.

[0084] In this embodiment of the invention, constructing a system of linear equations based on valid data blocks and a generator matrix means establishing multiple equations based on the linear relationship between the encoded data and the generator matrix to obtain the encoded data packet (or data blocks in the encoded data packet), thus obtaining a system of linear equations.

[0085] In detail, in network coding, there is a close linear relationship between the encoded data and the generator matrix. The generator matrix is ​​used to convert the original information vector into the encoded vector, i.e., the encoded data. Constructing a system of linear equations based on the valid data blocks and the generator matrix means establishing multiple equations based on the linear relationship between the encoded data and the generator matrix to obtain the encoded data packet (or data blocks in the encoded data packet), thus obtaining a system of linear equations.

[0086] Specifically, if there are m valid data blocks c1, c2, c3...c m Then we can establish m equations: c1 = v·G1, c2 = v·G2…c m =v·G m (where G) i It corresponds to valid data block c i (A combination of some column vectors). These equations together constitute a system of linear equations.

[0087] In this embodiment of the invention, the linear equation system can be solved using Gaussian elimination to obtain the original source data. Specifically, a constant term (i.e., the vector corresponding to the effective data block) is added to the coefficient matrix of the linear equation system to transform it into an augmented matrix. Gaussian elimination is then used in a finite field to transform the augmented matrix into its simplest form. The resulting row-reduced form matrix can directly contain the solution to the equation system. The elements in the solution vector are the components of the original information vector.

[0088] In this embodiment of the invention, in addition to obtaining the original source data by solving the linear equation system using Gaussian elimination, the original source data can also be obtained by solving the inverse matrix of the linear equation system. That is, the original source data can be solved using the following relation:

[0089] v = c·G -1

[0090] Where v is the original source data, c is the encoded data, and G is the source data. -1 This is the inverse of the generated matrix.

[0091] In detail, when calculating the inverse matrix in a finite field, the elements of the inverse matrix need to be determined according to the operational rules of the finite field. Compared with Gaussian elimination, this method may be more computationally efficient in some cases, especially when the inverse matrix of the generator matrix is ​​easy to calculate. Using these two methods, the original source data can be effectively recovered from the encoded data packet, fully demonstrating the powerful error correction and fault tolerance capabilities of this invention in network coding, and ensuring the accuracy and reliability of data transmission.

[0092] In this embodiment of the invention, based on the maximum rank distance characteristic of MRD codes, the invention can achieve more efficient error correction and fault tolerance in network coding, significantly improve the reliability and data transmission efficiency of network coding, reduce the amount of redundant data transmission, and maintain low latency and high data recovery success rate in complex network environments.

[0093] like Figure 4 The diagram shown is a functional block diagram of a network coding device based on maximum rank distance code provided in an embodiment of the present invention.

[0094] The network coding device 100 based on maximum rank distance code of the present invention can be installed in an electronic device. Depending on the functions implemented, the network coding device 100 based on maximum rank distance code may include a data encoding module 101, a data calculation module 102, an error detection module 103, and an error correction module 104. A module of the present invention can also be referred to as a unit, which refers to a series of computer program segments that can be executed by the processor of an electronic device and can perform a fixed function, and are stored in the memory of the electronic device.

[0095] In this embodiment, the functions of each module / unit are as follows:

[0096] Data encoding module 101 is used to perform network encoding on the transmitted data to obtain encoded data;

[0097] Data calculation module 102 is used to perform linear addition and multiplication calculations on the encoded data to obtain encoded data packets;

[0098] Error detection module 103 is used to perform error detection and location on encoded data packets using a preset check matrix to obtain an error matrix;

[0099] Error correction module 104 is used to perform rank error correction on the encoded data packet according to the error matrix to obtain the original source data.

[0100] In detail, each module in the network coding device 100 based on the maximum rank distance code in this embodiment of the invention adopts the same approach as described above. Figures 1 to 3 The network coding method based on the maximum rank distance code uses the same techniques and can produce the same technical effects, so it will not be elaborated here.

[0101] like Figure 5 The diagram shown is a schematic representation of the structure of an electronic device based on a network coding method using maximum rank distance codes, as provided in an embodiment of the present invention.

[0102] Electronic device 1 may include processor 10, memory 11, communication bus 12 and communication interface 13, and may also include computer programs stored in memory 11 and run on processor 10, such as network coding programs based on maximum rank distance codes.

[0103] In some embodiments, the processor 10 may be composed of integrated circuits, such as a single packaged integrated circuit or multiple integrated circuits with the same or different functions, including combinations of one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips. The processor 10 is the control unit of the electronic device, connecting various components of the entire electronic device through various interfaces and lines. It executes programs or modules stored in the memory 11 (e.g., network coding programs based on maximum rank distance codes) and calls data stored in the memory 11 to perform various functions of the electronic device and process data.

[0104] The memory 11 includes at least one type of readable storage medium, including flash memory, portable hard drive, multimedia card, card-type memory (e.g., SD or DX memory), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 11 can be an internal storage unit of an electronic device, such as a portable hard drive. In other embodiments, the memory 11 can be an external storage device of the electronic device, such as a plug-in portable hard drive, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc. Furthermore, the memory 11 can include both internal and external storage units of the electronic device. The memory 11 can be used not only to store application software and various types of data installed on the electronic device, such as the code of a network encoding program based on maximum rank distance code, but also to temporarily store data that has been output or will be output.

[0105] The communication bus 12 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. This bus can be divided into an address bus, a data bus, a control bus, etc. The bus is configured to implement communication between the memory 11 and at least one processor 10, etc.

[0106] Communication interface 13 is used for communication between the aforementioned electronic device and other devices, including a network interface and a user interface. Optionally, the network interface may include a wired interface and / or a wireless interface (such as a Wi-Fi interface, Bluetooth interface, etc.), typically used to establish communication connections between the electronic device and other electronic devices. The user interface may be a display, an input unit (such as a keyboard), or, optionally, a standard wired or wireless interface. Optionally, in this embodiment, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen, etc. The display may also be appropriately referred to as a screen or display unit, used to display information processed in the electronic device and to display a visual user interface.

[0107] The figure only shows an electronic device with components. Those skilled in the art will understand that the structure shown in the figure does not constitute a limitation on the electronic device and may include fewer or more components than shown, or combine certain components, or have different component arrangements.

[0108] For example, although not shown, the electronic device may also include a power supply (such as a battery) to power various components. Preferably, the power supply can be logically connected to at least one processor 10 via a power management device, thereby enabling functions such as charging management, discharging management, and power consumption management. The power supply may also include one or more DC or AC power sources, recharging devices, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components. The electronic device may also include various sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be described in detail here.

[0109] It should be understood that the embodiments are for illustrative purposes only and are not limited to this structure in the scope of the patent application.

[0110] Specifically, the processor 10's specific implementation method of the above instructions can be found in the description of the relevant steps in the corresponding embodiments of the accompanying drawings, and will not be repeated here.

[0111] Furthermore, if the modules / units integrated in electronic device 1 are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. The computer-readable storage medium can be volatile or non-volatile. For example, a computer-readable medium may include: any entity or device capable of carrying computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, or a read-only memory (ROM).

[0112] This invention also provides a computer-readable storage medium storing a computer program. When executed by a processor of an electronic device, the computer program can implement the network coding method based on maximum rank distance code of any of the above embodiments. It should be noted that the computer-readable storage medium can be volatile or non-volatile. For example, a computer-readable medium may include: any entity or device capable of carrying computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, or a read-only memory (ROM). In the embodiments provided by this invention, it should be understood that the disclosed devices, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of modules is merely a logical functional division, and other division methods may be used in actual implementation.

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

[0114] Furthermore, the functional modules in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional modules.

[0115] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the present invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention.

[0116] Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be embraced within the invention. No appended diagram markings in the claims should be construed as limiting the scope of the claims.

[0117] Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in a system claim may also be implemented by a single unit or device through software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any specific order.

[0118] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention.

Claims

1. A network coding method based on maximum rank distance code, characterized in that, The method includes: The transmitted data is network encoded to obtain encoded data; The encoded data is subjected to linear addition and multiplication to obtain an encoded data packet; A check equation is constructed based on the encoded data packet, the check matrix, and the encoded data; the check equation is as follows: in, The verification matrix is... This indicates that the parity check matrix is ​​transposed. This represents the encoded data. The error matrix; The error matrix is ​​obtained by solving the verification equation; The rank error of the encoded data packet is corrected based on the error matrix to obtain the original source data.

2. The network coding method based on maximum rank distance code as described in claim 1, characterized in that, The process of performing linear addition and multiplication on the encoded data to obtain the encoded data packet includes: Obtain a predetermined set of coding coefficients for a finite field; The elements in the set of encoded coefficients are linearly multiplied with the encoded data using a preset linear addition formula to obtain the encoded data packet.

3. The network coding method based on maximum rank distance code as described in claim 2, characterized in that, The linear addition formula is shown below: in, For the encoded data packet, The quantity of the encoded data, For the first Encoded data, For the set of coding coefficients, the first... Each element.

4. The network coding method based on maximum rank distance code as described in claim 1, characterized in that, The step of performing rank error correction on the encoded data packet based on the error matrix to obtain the original source data includes: Valid data blocks in the encoded data packet are selected based on the error matrix. Construct a system of linear equations based on the valid data blocks and the generator matrix; The system of linear equations is solved to obtain the original source data.

5. The network coding method based on maximum rank distance code as described in claim 1, characterized in that, The step of using a preset check matrix to perform error detection and location on the encoded data packet to obtain an error matrix includes: The discrimination parameters are calculated based on the encoded data packet and the check matrix using a preset discrimination parameter calculation formula; When the discrimination parameter is not a preset value, the encoded data packet is used to locate errors and obtain an error matrix.

6. The network coding method based on maximum rank distance code as described in claim 5, characterized in that, The formula for calculating the discriminant parameter is as follows: in, The discrimination parameter is... For the encoded data packet, The verification matrix is... This indicates that the parity check matrix is ​​transposed.

7. The network coding method based on maximum rank distance code as described in claim 1, characterized in that, The process of performing network encoding on the transmitted data to obtain encoded data includes: Get the current network latency and load rate of the transmission network; Determine whether the load rate is less than a preset load rate threshold; If the load rate is less than the load rate threshold, then the network data is network encoded based on convolutional codes; If the load rate is greater than or equal to the load rate threshold, then determine whether the network latency is less than a preset latency threshold; If the network latency is greater than or equal to the latency threshold, then the network data is network encoded based on the maximum rank distance code to obtain encoded data; If the network latency is less than the latency threshold, the network data is encoded using a preset adaptive encoding scheme to obtain encoded data.

8. The network coding method based on maximum rank distance code as described in claim 7, characterized in that, The step of performing network encoding on the network data using a preset adaptive encoding scheme to obtain encoded data includes: Get the packet loss rate of the current transmission network; Determine whether the packet loss rate is less than a preset first packet loss rate threshold; If the packet loss rate is less than the first packet loss rate threshold, then the network data is network encoded based on low-density parity check code to obtain encoded data; If the packet loss rate is greater than or equal to the first packet loss rate threshold, then determine whether the packet loss rate is less than the preset second packet loss rate threshold. If the packet loss rate is less than the second packet loss rate threshold, then the network data is network encoded based on the concatenation code to obtain encoded data; If the packet loss rate is greater than or equal to the second packet loss rate threshold, then the network data is network encoded based on the maximum rank distance code to obtain encoded data.

9. The network coding method based on maximum rank distance code as described in claim 7, characterized in that, The network data is encoded based on the maximum rank distance code to obtain encoded data, including: The network data is divided into fixed-size data blocks; An information matrix is ​​constructed by arranging the data blocks; The generator matrix is ​​constructed based on a pre-selected finite field and the size of the information matrix; The information matrix and the generator matrix are multiplied together to obtain the encoded data.

10. A network coding device based on maximum rank distance code, characterized in that, The device includes: The data encoding module is used to perform network encoding on the transmitted data to obtain encoded data; The data calculation module is used to perform linear addition and multiplication calculations on the encoded data to obtain encoded data packets; The error detection module is used to construct a check equation based on the encoded data packet, the check matrix, and the encoded data; the check equation is as follows: in, The verification matrix is... This indicates that the parity check matrix is ​​transposed. This represents the encoded data. The error matrix; The error matrix is ​​obtained by solving the verification equation; The error correction module is used to perform rank error correction on the encoded data packet according to the error matrix to obtain the original source data.

11. An electronic device, characterized in that, The electronic device includes: At least one processor; And, a memory communicatively connected to the at least one processor; The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the network coding method based on the maximum rank distance code as described in any one of claims 1 to 9.

12. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the network coding method based on the maximum rank distance code as described in any one of claims 1 to 9.