Unidirectional data transmission method and device, electronic equipment and readable storage medium
By using the target generation matrix of LDPC coding to encode the data blocks in one-way data transmission and generate check blocks, the problems of reliability and rate in one-way data transmission are solved and efficient data transmission is achieved.
Patent Information
- Application Number
- CN202511052325.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-29
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2045-07-29
AI Technical Summary
In one-way data transmission, the reliability and integrity of data cannot be guaranteed, and the transmission rate is low.
The target generation matrix based on LDPC coding is used to encode the data block and generate the check block, which reduces the coding operation amount and improves the coding speed. The data packet to be transmitted is determined by multiple data blocks and check blocks.
While ensuring data transmission reliability, it improves the transmission rate, reduces the amount of encoding calculations, and increases the encoding speed.
Smart Images

Figure CN120750489A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data transmission, and in particular to a unidirectional data transmission method, device, electronic device and readable storage medium. Background Art
[0002] In one-way data transmission scenarios, to ensure data security and confidentiality, one-way gateway devices are typically used for management, ensuring physical system security and demarcating separate data security zones for external data operations. The User Datagram Protocol (UDP) is typically used for external data broadcasting during transmission. Since UDP does not require a handshake, it fundamentally addresses data security issues. Furthermore, tokens are used to strictly verify the security information of the requesting client, ensuring that only legitimate clients can access data. However, due to the nature of one-way transmission, data loss or errors during transmission cannot be directly detected and handled like in a two-way connection, and data reliability and integrity cannot be guaranteed.
[0003] In related technologies, the transmission process is mainly processed with reliability through Reed-Solomon code (RS code), but the transmission rate is low. Summary of the Invention
[0004] The present application discloses a unidirectional data transmission method, device, electronic device and readable storage medium, which can improve the transmission rate while ensuring the reliability of data transmission.
[0005] In order to solve the above problems, this application adopts the following technical solutions: In a first aspect, an embodiment of the present application discloses a unidirectional data transmission method, comprising: dividing the data to be transmitted according to a preset size to obtain multiple data blocks; encoding the multiple data blocks based on a target generation matrix to obtain multiple check blocks, wherein the target generation matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generation matrix, and the average row weight of the target generation matrix is lower than the average row weight of the LDPC-coded generation matrix; determining multiple data packets to be transmitted based on the multiple data blocks and the multiple check blocks; and sending the multiple data packets to be transmitted to a data receiving end.
[0006] In the second aspect, an embodiment of the present application discloses a unidirectional data transmission device, including: an obtaining module, used to divide the data to be transmitted according to a preset size to obtain multiple data blocks; the obtaining module is also used to encode the multiple data blocks based on a target generation matrix to obtain multiple check blocks, wherein the target generation matrix is a matrix determined based on the LDPC-coded check matrix and the LDPC-coded generation matrix, and the average row weight of the target generation matrix is lower than the average row weight of the LDPC-coded generation matrix; a determination module, used to determine multiple data packets to be transmitted based on the multiple data blocks and the multiple check blocks; a sending module, used to send the multiple data packets to be transmitted to a data receiving end.
[0007] In a third aspect, an embodiment of the present application provides an electronic device comprising a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the programs or instructions are executed by the processor, the steps of the method described in the first aspect are implemented.
[0008] In a fourth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.
[0009] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer executes: the steps of the method described in the first aspect.
[0010] The technical solution adopted in this application can achieve the following beneficial effects: The embodiment of the present application provides a one-way data transmission method, which divides the data to be transmitted according to a preset size to obtain multiple data blocks, encodes the multiple data blocks based on a target generation matrix to obtain multiple check blocks, the target generation matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generation matrix, and the average row weight of the target generation matrix is lower than the average row weight of the LDPC-coded generation matrix. Then, based on the multiple data blocks and the multiple check blocks, multiple data packets to be transmitted are determined, and the multiple data packets to be transmitted are sent to a data receiving end. By adopting the method of the present application, the amount of computation during encoding can be reduced, the encoding speed can be increased, and the transmission rate can be increased while ensuring the reliability of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 A flowchart of a one-way data transmission method disclosed in an embodiment of the present application; Figure 2A schematic diagram of dividing data to be transmitted disclosed in an embodiment of the present application; Figure 3 A schematic diagram of a data encoding disclosed in an embodiment of the present application; Figure 4 A flowchart of obtaining data to be transmitted disclosed in an embodiment of the present application; Figure 5 This is a schematic diagram of adding numbering information disclosed in an embodiment of the present application; Figure 6 A schematic diagram of adding a timestamp disclosed in an embodiment of the present application; Figure 7 A schematic diagram of adding a checksum disclosed in an embodiment of the present application; Figure 8 A flowchart of a process in which a data receiving end receives a data packet to be transmitted, disclosed in an embodiment of the present application; Figure 9 A system architecture diagram disclosed in an embodiment of the present application; Figure 10 This is a structural diagram of a one-way data transmission device disclosed in an embodiment of the present application; Figure 11 A schematic diagram of the structure of an electronic device disclosed in an embodiment of the present application. DETAILED DESCRIPTION
[0012] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the embodiments described are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.
[0013] The terms "first," "second," and the like in the specification and claims of this application are used to distinguish similar objects, and are not used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, so that the embodiments of the present application can be implemented in an order other than that illustrated or described herein, and that the objects distinguished by "first," "second," and the like are generally of the same type, and do not limit the number of objects. For example, the first object can be one or more. In addition, the term "and / or" in the specification and claims represents at least one of the electrically connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0014] The following describes in detail the unidirectional data transmission method, device, electronic device, and readable storage medium disclosed in the embodiments of the present application through specific embodiments and their application scenarios in conjunction with the accompanying drawings.
[0015] This application discloses a one-way data transmission method. Figure 1 This is a flow chart of a one-way data transmission method disclosed in an embodiment of the present application. Figure 1 As shown, the method includes the following steps: S120 , dividing the data to be transmitted according to a preset size to obtain multiple data blocks.
[0016] In this application, the data to be transmitted can be byte stream data of any length, with multiple data blocks of the same size. The size of each data block is no larger than the maximum length that can be sent by UDP in a single transmission. The size of each data block is moderate, considering both error correction capability and transmission efficiency. For example, the size of the data block can be 32KB.
[0017] like Figure 2 As shown, when dividing the data to be transmitted, the input is the data to be transmitted, and the output is multiple data blocks.
[0018] S140. Encode the plurality of data blocks based on a target generator matrix to obtain a plurality of check blocks, wherein the target generator matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generator matrix, and an average row weight of the target generator matrix is lower than an average row weight of the LDPC-coded generator matrix.
[0019] The check matrix and generator matrix of LDPC (Low-density Parity-check) coding are mainly obtained in the following way: on the basis of the base matrix, it is expanded using Bose-1, parameter α=5, t=8. GF(12t+1) is composed of only 12t+1 elements, 0 to 12t, and satisfies the addition and multiplication modulo 12t+1 in this domain. t is the number of groups, 12t+1 must be greater than the sum of the weights of the base matrix, the power multiplication of α is also modulo 12t+1, i is the group number, and the 4t numbers obtained are filled into the check matrix in sequence. The operation is an exclusive-OR operation to obtain the check matrix. The generator matrix can be obtained by performing Gaussian elimination on the check matrix. The coding operation amount of LDPC mainly depends on the total weight of the generator matrix, and the average row weight of the generator matrix is much larger than the average row weight of the check matrix. For example, the base matrix can be , the check matrix can be , where I i The 97*97 unit matrix is obtained by cyclic shifting i times, ⊕ is the exclusive-OR operation, the size of the check matrix is 194*970, and the maximum row weight is 16. In addition, the check matrix is sparse, and the generator matrix is dense.
[0020] In the present application, when encoding a data block, a target generation matrix is used for encoding. Since the target generation matrix is a matrix determined based on the check matrix of the LDPC code and the generation matrix of the LDPC code, and the average row weight of the target generation matrix is lower than the average row weight of the generation matrix of the LDPC code, the amount of computation during encoding can be reduced and the encoding speed can be increased, thereby increasing the transmission rate while ensuring the reliability of data transmission.
[0021] It should be noted that the decoding speed of LDPC code is better than that of RS code. The encoding speed using the traditional LDPC coding generator matrix is slow. This application encodes data blocks based on the improved LDPC coding (i.e., encoding multiple data blocks based on the target generator matrix), which can improve the encoding speed while ensuring a certain error correction capability, thereby improving the data transmission rate.
[0022] In this application, the coding redundancy is determined by comprehensively considering the packet loss rate and computing power performance, taking into account both error correction capability and processing rate. For example, the redundancy can be set to 30%. In addition, by encoding the data to be transmitted, the data's anti-interference ability and recovery ability can be enhanced.
[0023] In addition, each generation equation in the target generation matrix can describe the correspondence between an ungenerated check block, multiple data blocks, and a generated check block, so as to improve the coding rate.
[0024] like Figure 3 As shown, during encoding, the input is multiple data blocks, and the output is the above multiple data blocks and multiple check blocks. The multiple check blocks are attached to the multiple data blocks, and the number of encoding check values is the product of the data to be transmitted and the set redundancy.
[0025] S160. Determine a plurality of data packets to be transmitted based on the plurality of data blocks and the plurality of check blocks.
[0026] S180: Send the plurality of data packets to be transmitted to a data receiving end.
[0027] The embodiment of the present application provides a one-way data transmission method, which divides the data to be transmitted according to a preset size to obtain multiple data blocks, encodes the multiple data blocks based on a target generation matrix to obtain multiple check blocks, the target generation matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generation matrix, and the average row weight of the target generation matrix is lower than the average row weight of the LDPC-coded generation matrix. Then, based on the multiple data blocks and the multiple check blocks, multiple data packets to be transmitted are determined, and the multiple data packets to be transmitted are sent to a data receiving end. By adopting the method of the present application, the amount of computation during encoding can be reduced, the encoding speed can be increased, and the transmission rate can be increased while ensuring the reliability of data transmission.
[0028] Before dividing the data to be transmitted according to the preset size to obtain multiple data blocks, the method may further include: obtaining the data to be transmitted. The process of obtaining the data to be transmitted is as follows: Figure 4 As shown, the data source is scanned, and data items are found one by one in the data source. The contents of these data items are checked to see if they have been scanned. If the contents of the data items have been scanned, the value of the data items is further verified to see if they have changed compared to the previously recorded value. If so, the contents of the data items are reloaded and added to the index table and cache database. If the contents of the data items have not been scanned, the data items are added to the index table and cache database. Adding data items to the index table ensures their retrievability and organization, and adding data items to the cache database facilitates quick access and subsequent use.
[0029] It should be noted that the index table may include data items, scan records of data items, update records of data items, etc. The data in the cache database is the data to be transmitted.
[0030] In one implementation, the target generator matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generator matrix, which may include: obtaining the target generator matrix by replacing a target row of the LDPC-coded generator matrix with a preset row of the LDPC-coded check matrix, wherein a position of the target row in the generator matrix corresponds to a position of the preset row in the check matrix.
[0031] Exemplarily, the last 50% of the rows of the LDPC-coded check matrix can be used to replace the last 50% of the rows of the LDPC-coded generator matrix to obtain the target generator matrix. It should be noted that after the row replacement, the row weight can be reduced by XOR between the rows, thereby reducing the amount of coding operations. It should be noted that the replacement method here is only an example, and other replacement methods that can make the average row weight of the target generator matrix lower than the average row weight of the LDPC-coded generator matrix also fall within the scope of protection of this application.
[0032] In one implementation, encoding the multiple data blocks based on the target generation matrix to obtain multiple check blocks may include: grouping the multiple data blocks based on the computing power of the target generation matrix to obtain multiple groups of data blocks; and encoding the multiple groups of data blocks in parallel based on the target generation matrix to obtain multiple check blocks.
[0033] For example, if the target generator matrix contains 777 rows and 1400 data blocks, the 1400 data blocks are divided into two groups based on the computational power of the target generator matrix. If the final group is insufficient, zero padding is used. After grouping, the two groups of data blocks are encoded in parallel, further improving encoding speed. During encoding, the target generator matrix is computed row by row within each group, using data blocks as the unit, to generate check blocks. Furthermore, encoding operations are performed using 64-bit unsigned long integers.
[0034] In an embodiment of the present application, by grouping multiple data blocks according to the computing power of the target generation matrix and then encoding the multiple groups of data blocks in parallel based on the target generation matrix, the encoding speed can be further improved, thereby increasing the data transmission rate.
[0035] In one implementation, encoding the plurality of data blocks based on the target generator matrix to obtain the plurality of check blocks may include encoding the plurality of data blocks based on the target generator matrix to obtain the plurality of check blocks when the amount of the data to be transmitted is greater than a preset threshold. In other words, encoding the plurality of data blocks based on the target generator matrix when the amount of the data to be transmitted is large.
[0036] It should be noted that the specific value of the preset threshold can be set according to actual needs, and this application does not make any specific restrictions on this.
[0037] In another implementation, before determining the plurality of data packets to be transmitted based on the plurality of data blocks and the plurality of check blocks, the method may further include: encoding the plurality of data blocks using Luby Transform (LT) codes to generate a plurality of check blocks, if the amount of data to be transmitted is less than or equal to the preset threshold. Specifically, when the amount of data to be transmitted is small, LT codes are used to flexibly adjust the transmission redundancy rate by leveraging the variable code rate of LT codes, thereby reducing the proportion of extra information and improving resource utilization.
[0038] It should be noted that when encoding is based on the target generator matrix, decoding is performed at the data receiving end based on the LDPC code check matrix. When encoding is based on LT code, decoding is performed at the data receiving end using the decoding method corresponding to the LT code.
[0039] In one implementation, determining multiple data packets to be transmitted based on the multiple data blocks and the multiple check blocks may include: adding target information to each of the data blocks and each of the check blocks to obtain multiple data packets to be transmitted, wherein the target information includes numbering information, a timestamp, and a checksum.
[0040] In the present application, numbering information, a timestamp, and a checksum may be sequentially added to each data block and each check block to obtain a plurality of data packets to be transmitted.
[0041] First, numbering information is added to each data block and each check block. The numbering information may include the total number of groups into which the data blocks corresponding to the data to be transmitted are divided, the group number of each data block, the number of each data block within its group, the length of the last group, the length of the last data block, and the length of each data block. It should be noted that the numbering information added to the check block is consistent with the numbering information added to the corresponding data block. For example, if the numbering information added to data block A is B, then the numbering information added to check block C corresponding to data block A is also B. By adding numbering information to each data block and each check block, normal decoding at the data receiving end can be ensured, and the data to be transmitted can be restored.
[0042] like Figure 5 As shown, when adding numbering information, the input is a list including multiple data blocks and multiple check blocks, and the output is a list with the numbering information added. The numbering information can occupy the first four bytes of the data block / check block and is stored in big endian order.
[0043] Secondly, the current timestamp is added to each data block and each check block as the basis for the data receiving end to restore the data, so as to realize the grouped reception and verification of the data. The data blocks and check blocks corresponding to the same data to be transmitted have the same timestamp.
[0044] like Figure 6 As shown in the figure, when adding a timestamp, the input is a list with number information added, and the output is a list with timestamp added. The timestamp can occupy the four bytes before or after the number information and is also stored in big endian order.
[0045] Finally, a checksum is added to each data block and each check block to improve the efficiency of the data receiving end in checking the correctness of the received data. After receiving the data, the data receiving end verifies the checksum. If the checksum passes, there is no need to trigger the decoding process. Otherwise, the decoding error correction mechanism is triggered. In this application, the checksum added to each data block / check block is different. The checksum of each data block is generated using CRC32 or other suitable verification algorithms based on the timestamp, numbering information corresponding to the data block and the data information of the data block. The checksum of each check block is generated using CRC32 or other suitable verification algorithms based on the timestamp, numbering information corresponding to the check block and the data information of the check block.
[0046] like Figure 7 As shown in Figure 1, when adding a checksum, the input is a list with a timestamp added, and the output is a list with a checksum added. The checksum can occupy four bytes after the data block / check block.
[0047] In this application, if Figure 8 As shown, after receiving multiple data packets to be transmitted, the data receiving end verifies the checksum in each data packet to be transmitted respectively. If the checksum of the data packet to be transmitted does not pass the verification, the data packet to be transmitted is discarded. If the checksum of the data packet to be transmitted passes the verification, the group to which it belongs is found according to the timestamp carried by the data packet to be transmitted, and then it is placed in the correct position according to the numbering information carried by the data packet to be transmitted. In addition, according to the numbering information carried by each data packet to be transmitted, the integrity of the received multiple data packets to be transmitted is checked. If the received multiple data packets to be transmitted pass the integrity check, the data part is directly taken from the data block to restore the above-mentioned data to be transmitted. If the received multiple data packets to be transmitted do not pass the integrity check, the data is restored by decoding the LDPC-coded check matrix.
[0048] It should be noted that the checksum verification of the data packet to be transmitted specifically involves generating a checksum using CRC32 or other suitable verification algorithm based on the timestamp, numbering information, and data block / check block data information carried in the data packet to be transmitted. The generated checksum is then compared with the checksum carried in the data packet to be transmitted. If they are consistent, the checksum verification of the data packet to be transmitted passes; otherwise, the checksum verification fails. Through checksum verification, it is possible to determine whether the received data packet to be transmitted is correct.
[0049] During decoding, the information stored in each packet to be transmitted is used to determine the location of each packet, the division of groups, the size of the original data, and other information. Decoding is then performed in groups. Using the LDPC code's check matrix, the number of lost data blocks participating in the corresponding check equation is counted row by row. If the number of lost data blocks is 1, the received data block is XORed using the check equation to recover the lost packet. Once all the original data has been recovered, decoding is successful. Because the LDPC code's check matrix has very low weights, single-core decoding can achieve excellent speed.
[0050] This application covers the entire process of data scanning, encoding processing, data packet assembly, and data verification and reorganization at the data receiving end, such as Figure 9 As shown, the system can include a data index scanning module, an interleaving coding module, a data assembly module, a data transmission module, and a data reassembly module. The data index scanning module comprehensively scans the data and constructs corresponding indexes for efficient retrieval (corresponding to the portion of obtaining the data to be transmitted above). The interleaving coding module interleaves and erasure codes the data to be transmitted to enhance the data's anti-interference and recovery capabilities (corresponding to the encoding portion above), and is also responsible for the corresponding decoding work at the data receiving end. The data assembly module assembles the processed data into a data packet format suitable for transmission according to established protocol rules (corresponding to the portion of obtaining the data packet to be transmitted above). The data reassembly module strictly verifies and reassembles the received data packets at the data receiving end to ensure the accuracy and integrity of the data.
[0051] This application uses a coding method that uses a hybrid generator matrix and a check matrix to generate a check block, and a hard decoding algorithm for decoding to ensure the normal transmission of the original data in a one-way lossy network. This application uses multi-core scheduling and programming optimization during the encoding and decoding process. The weights of each row of the generator matrix and the check matrix are ladder-like, and calculations are performed in batches to minimize the amount of invalid operations, ensuring efficient transmission in a high-throughput one-way network environment.
[0052] The unidirectional data transmission method provided in the embodiment of the present application can be executed by a unidirectional data transmission device. In the embodiment of the present application, the unidirectional data transmission method performed by the unidirectional data transmission device is used as an example to illustrate the unidirectional data transmission device provided in the embodiment of the present application.
[0053] Figure 10 This is a schematic diagram of the structure of a one-way data transmission device disclosed in an embodiment of the present application. Figure 10 As shown, the one-way data transmission device 1000 includes: an obtaining module 1010 , a determining module 1020 and a sending module 1030 .
[0054] In the present application, an obtaining module 1010 is used to divide the data to be transmitted according to a preset size to obtain multiple data blocks; the obtaining module 1010 is also used to encode the multiple data blocks based on a target generation matrix to obtain multiple check blocks, wherein the target generation matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generation matrix, and the average row weight of the target generation matrix is lower than the average row weight of the LDPC-coded generation matrix; a determining module 1020 is used to determine multiple data packets to be transmitted based on the multiple data blocks and the multiple check blocks; a sending module 1030 is used to send the multiple data packets to be transmitted to a data receiving end.
[0055] In one implementation, the target generator matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generator matrix, including: obtaining the target generator matrix by replacing a target row of the LDPC-coded generator matrix with a preset row of the LDPC-coded check matrix, wherein a position of the target row in the generator matrix corresponds to a position of the preset row in the check matrix.
[0056] In one implementation, the obtaining module 1010 encodes the multiple data blocks based on the target generating matrix to obtain multiple check blocks, including: grouping the multiple data blocks based on the computing power of the target generating matrix to obtain multiple groups of data blocks; and encoding the multiple groups of data blocks in parallel based on the target generating matrix to obtain multiple check blocks.
[0057] In one implementation, the obtaining module 1010 encodes the multiple data blocks based on the target generation matrix to obtain multiple check blocks, including: when the amount of the data to be transmitted is greater than a preset threshold, encoding the multiple data blocks based on the target generation matrix to obtain multiple check blocks.
[0058] In one implementation, the obtaining module 1010 is further configured to, before determining a plurality of data packets to be transmitted based on the plurality of data blocks and the plurality of check blocks, encode the plurality of data blocks based on a Lubic transform code to obtain a plurality of check blocks if the amount of the data to be transmitted is less than or equal to the preset threshold.
[0059] In one implementation, the determination module 1020 determines multiple data packets to be transmitted based on the multiple data blocks and the multiple check blocks, including: adding target information to each of the data blocks and each of the check blocks to obtain multiple data packets to be transmitted, wherein the target information includes numbering information, timestamp and checksum.
[0060] The unidirectional data transmission device provided in the embodiment of the present application can implement each process implemented in the embodiment of the unidirectional data transmission method. To avoid repetition, they will not be described here.
[0061] Alternatively, as Figure 11 As shown, an embodiment of the present application also provides an electronic device 1100, including a processor 1101 and a memory 1102, wherein the memory 1102 stores a program or instruction that can be run on the processor 1101, and when the program or instruction is executed by the processor 1101, the various steps of the above-mentioned unidirectional data transmission method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0062] It should be noted that the electronic devices in the embodiments of the present application include mobile electronic devices and non-mobile electronic devices.
[0063] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned unidirectional data transmission method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0064] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0065] An embodiment of the present application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer is caused to execute: the steps of the above-mentioned unidirectional data transmission method.
[0066] The above embodiments of this application focus on the differences between the various embodiments. As long as the different optimization features between the various embodiments are not contradictory, they can be combined to form a better embodiment. Considering the simplicity of the text, they will not be repeated here.
[0067] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A one-way data transmission method, characterized in that: include: Divide the data to be transmitted according to a preset size to obtain multiple data blocks; Encoding the plurality of data blocks based on a target generator matrix to obtain a plurality of check blocks, wherein the target generator matrix is a matrix determined based on an LDPC-encoded check matrix and an LDPC-encoded generator matrix, and an average row weight of the target generator matrix is lower than an average row weight of the LDPC-encoded generator matrix; Determining a plurality of data packets to be transmitted based on the plurality of data blocks and the plurality of check blocks; Sending the plurality of data packets to be transmitted to a data receiving end.
2. The method according to claim 1, characterized in that The target generator matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generator matrix, including: The target generator matrix is obtained by replacing a target row of the LDPC-coded generator matrix with a preset row of the LDPC-coded check matrix, wherein a position of the target row in the generator matrix corresponds to a position of the preset row in the check matrix.
3. The method according to claim 1, characterized in that The encoding of the plurality of data blocks based on the target generator matrix to obtain a plurality of check blocks includes: grouping the plurality of data blocks based on the computing capability of the target generation matrix to obtain a plurality of groups of data blocks; The multiple groups of data blocks are encoded in parallel based on the target generator matrix to obtain multiple check blocks.
4. The method according to claim 1, wherein The encoding of the plurality of data blocks based on the target generator matrix to obtain a plurality of check blocks includes: When the amount of the data to be transmitted is greater than a preset threshold, the plurality of data blocks are encoded based on a target generation matrix to obtain a plurality of check blocks.
5. The method according to claim 4, characterized in that Before determining a plurality of data packets to be transmitted based on the plurality of data blocks and the plurality of check blocks, the method further includes: When the amount of the data to be transmitted is less than or equal to the preset threshold, the plurality of data blocks are encoded based on a Luby transform code to obtain a plurality of check blocks.
6. The method according to claim 1, wherein The determining, based on the multiple data blocks and the multiple check blocks, multiple data packets to be transmitted includes: Target information is added to each of the data blocks and each of the check blocks respectively to obtain a plurality of data packets to be transmitted, wherein the target information includes numbering information, a timestamp, and a checksum.
7. A one-way data transmission device, characterized in that: include: An obtaining module is used to divide the data to be transmitted according to a preset size to obtain multiple data blocks; The obtaining module is further configured to encode the plurality of data blocks based on a target generator matrix to obtain a plurality of check blocks, wherein the target generator matrix is a matrix determined based on an LDPC-coded check matrix and an LDPC-coded generator matrix, and an average row weight of the target generator matrix is lower than an average row weight of the LDPC-coded generator matrix; a determination module, configured to determine a plurality of data packets to be transmitted based on the plurality of data blocks and the plurality of check blocks; The sending module is used to send the multiple data packets to be transmitted to the data receiving end.
8. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the unidirectional data transmission method according to any one of claims 1 to 6 are implemented.
9. A readable storage medium, characterized in that The readable storage medium stores a program or instruction, and when the program or instruction is executed by the processor, the steps of the unidirectional data transmission method according to any one of claims 1 to 6 are implemented.
10. A computer program product, characterized in that The computer program product comprises a computer program stored on a non-transitory computer-readable storage medium, wherein the computer program comprises program instructions, which, when executed by a computer, cause the computer to execute: the steps of the unidirectional data transmission method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Method and device for constructing low-density parity code check matrix
CN101162907A
Safe and reliable transmission method based on LDPC
CN107786327A
QCLDPC matrix construction method and device, electronic equipment and storage medium
CN118890053A
Method of matching codeword size and transmittertherefor in mobile communications system
KR1020070080769A
Method for configuring circular buffer including outer code parity and apparatus therefor
US20180269899A1