Novel network lossless transmission method in power system

By using CRC algorithm to generate verification codes and FEC encoding to generate error correction codes in power systems, error detection and correction of data packets are solved, and the problem of traditional protocols being difficult to achieve low latency, high throughput and lossless transmission in complex power application scenarios is achieved, and the stability and reliability of data transmission are achieved.

CN119628787AInactive Publication Date: 2025-03-14GUANGXI POWER GRID CORP

Patent Information

Application Number
CN202411560546.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2025-03-14
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The traditional TCP/IP protocol is difficult to meet the needs of low latency, high throughput and lossless transmission in complex power application scenarios. Although RDMA technology has low latency and high bandwidth characteristics, it is difficult to ensure the stability and reliability of data transmission.

Method used

The CRC algorithm is used to generate a verification code for the original data, and the verification code is attached to the tail of the data packet. At the same time, the data is encoded and processed using FEC encoding to generate an FEC code with an error correction code. The data packet with the verification code and FEC codeword is sent through the RDMA network, and the receiver performs a verification and error correction process.

Benefits of technology

Through the combination of CRC algorithm and FEC technology, it provides stronger error detection and correction capabilities, ensures stability and reliability during data transmission, and achieves lossless transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119628787A_ABST
    Figure CN119628787A_ABST
Patent Text Reader

Abstract

The invention discloses a novel network lossless transmission method in a power system, which comprises the following steps of: calculating original data by using a CRC (Cyclic Redundancy Check) algorithm to generate a check code, attaching the check code to the tail part of a data packet, encoding the original data by using FEC (Forward Error Correction) coding, generating an FEC code word with an error correction code, and transmitting the FEC code word to the power system. The method comprises the following steps: sending a data packet with a check code and an FEC code word to a receiving end through an RDMA network, carrying out check code calculation on the received data packet at the receiving end by using the same CRC algorithm as a sending end, comparing the calculated check code with the check code in the data packet, if the check codes are inconsistent, marking the data packet as abnormal, and preparing to carry out FEC decoding, and if the check codes are not consistent, marking the data packet as FEC decoding. According to the method, the FEC code word is decoded by using the same FEC decoding algorithm as the sending end, different processing is performed according to the decoding result, and the method can detect whether an error of an abnormal phenomenon occurs in the data transmission process and correct the error, so that the stability and the reliability in the data transmission process are better guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network transmission, and in particular to a novel network lossless transmission method in a power system. Background Art

[0002] With the development of new power systems, the requirements for data real-time and reliability are increasing. The traditional TCP / IP protocol is difficult to meet the needs of low latency, high throughput and lossless transmission in complex power application scenarios. RDMA technology has broad application prospects in power systems due to its low latency and high bandwidth characteristics, but how to ensure the stability and reliability of data transmission is still an urgent problem to be solved.

[0003] The Chinese patent publication number: CN 109005009 B discloses a method and system for processing packet check errors. The invention aims to detect error locations, record error data, and analyze the causes of errors, thereby realizing the function of not only recording error events but also submitting complete error packets. This facilitates communication operation and maintenance personnel to analyze the causes of errors, count the number and frequency of errors, and more quickly and accurately understand the stable operation of the entire network, thereby ensuring the security of network communications. The core technical solution is to search for the header of a data packet during data transmission. Once the header end mark is detected, the preparation work is started, the received bytes are recorded, and the initial CRC check calculation is performed. Once the initial CRC check calculation result is detected to be an error, the header is aligned from the back to the front bytes, and the header end byte is searched. When the header end byte is not found, the error information is recorded. Once the header end byte is detected, a secondary CRC check calculation is performed to detect the secondary CRC check calculation result. The above content only uploads the CRC check error to the communication operation and maintenance personnel for processing, and cannot directly correct and solve the CRC check error data.

[0004] The present invention proposes a solution to the above shortcomings as follows: using a CRC algorithm to calculate the original data to generate a check code, attaching the check code to the end of the data packet, using FEC coding to encode the original data, generating an FEC codeword with an error correction code, sending the data packet with the check code and the FEC codeword to a receiving end through an RDMA network, using the same CRC algorithm as the sending end at the receiving end to calculate the check code of the received data packet, comparing the calculated check code with the check code in the data packet, if the check code is inconsistent, marking the data packet as possibly damaged or lost, and preparing for FEC decoding, using the same FEC decoding algorithm as the sending end to decode the FEC codeword, if the FEC decoding is successful and the error is corrected, extracting the original data and passing it to an upper-layer application, if the FEC decoding fails, performing corresponding processing according to application requirements, combining the CRC algorithm with the FEC technology to detect whether an abnormal error occurs during data transmission and correct it, providing a stronger error detection and correction capability, thereby better ensuring the stability and reliability of the data transmission process. Summary of the invention

[0005] In order to solve the above-mentioned technical problems, the present invention provides a novel network lossless transmission method in an electric power system.

[0006] The technical solution of the present invention is implemented as follows: a novel network lossless transmission method in a power system, comprising:

[0007] S1, perform CRC algorithm processing on the original data, obtain the check code, and append the check code to the end of the data packet;

[0008] S2, performing FEC encoding processing on the original data to generate an FEC codeword with an error correction code;

[0009] S3, sending the data packet with the checksum and FEC codeword to the receiving end through the RDMA network;

[0010] S4, the receiving end uses the same CRC algorithm as the sending end to process the received data packet to determine whether it is consistent with the check code in the data packet;

[0011] S5. Mark the data packets with inconsistent check codes as abnormal, perform FEC decoding on the abnormal data packets, and take processing measures according to the processing results.

[0012] Furthermore, the step S1 first processes the original data with a CRC algorithm, divides the data into segments of a fixed length, and applies the CRC algorithm to each segment. The CRC algorithm generates a fixed-length check code by performing a modulo-2 division operation on the data segment and a predefined polynomial, which is used to detect errors that occur during data transmission. The calculated check code is appended to the end of the data packet, and the check code is added to the structure of the data packet as an additional field. During the data packet transmission process, the receiving end accesses and verifies the check code;

[0013] Furthermore, the implementation process of step S1 is as follows: determining the version of the CRC algorithm includes CRC-32, CRC-16, CRC-8, CRC-4 and polynomial, dividing the original data into blocks processed by the algorithm, executing the CRC algorithm on each data block, generating a check code, and appending the check code of each data block to the end of the corresponding data block to form a complete data packet;

[0014] Furthermore, the CRC algorithm is set to:

[0015] At the sending end, the generator polynomial G is used to perform a modulo-2 operation on the information polynomial C to generate a check code, where the generator polynomial G is an agreement between the receiving end and the sending end, that is, a binary number. During the entire transmission process, this number remains unchanged. The information polynomial C represents the original information transmitted. The generator polynomial is used to perform a modulo-2 division on the information polynomial to generate a remainder. The remainder is used as the check code and is added to the position vacated after the information code is shifted left to obtain a complete CRC check code, where the number of check code bits is the number of generator polynomial bits minus 1, and the check code needs to be the same as the order of the generator polynomial. If the number of remainder bits is less than the position vacated after the information code is shifted left, it needs to be padded with zeros in front.

[0016] Furthermore, the modulo-2 operation at the sending end is:

[0017]

[0018] Where C is the information polynomial, x r is the checksum position of the information polynomial C shifted left by r positions, G is the generator polynomial agreed upon by the sender and the receiver, Q is the quotient of the two, and R is the remainder of the two;

[0019] The complete check code polynomial is C·x r +R.

[0020] Furthermore, the step S2 performs FEC encoding processing on the original data based on the complete data packet formed in the step S1 to generate an FEC codeword with an error correction code. The specific process is as follows:

[0021] Select the FEC coding scheme Reed-Sol omon coding or convolutional coding;

[0022] Data preprocessing, in step S1, the original data has been divided into multiple data blocks, and each data block has a CRC checksum attached. In step S2, these data blocks will be used as input for FEC encoding;

[0023] Perform FEC encoding, which is performed on each data block with a CRC checksum. The FEC encoding process converts the original data block into a codeword containing the original data information and additional error correction codes according to the selected coding scheme. The error correction codes are used to recover the data at the receiving end, even if a certain amount of errors occurred during the data transmission process;

[0024] The specific steps to generate FEC codewords with error correction codes are:

[0025] Allocate redundant information. FEC encoding generates redundant information for the original data block to detect and correct errors.

[0026] Combine the redundant information with the original data block to generate the FEC codeword;

[0027] Construct an FEC data packet, use the generated FEC codeword as part of a new data packet, and construct a data packet containing the original data and the error correction code;

[0028] After FEC encoding is completed, the packet now contains the original data and the error correction code, ready to be sent to the receiver over the RDMA network.

[0029] Further, after completing step S2 to generate the FEC codeword with the error correction code, step S3 involves sending the data packet with the check code and the FEC codeword to the receiving end through the RDMA network, and the specific steps are:

[0030] Data packet encapsulation ensures that each data packet contains the CRC checksum generated in step S1 and the FEC codeword generated in step S2;

[0031] Encapsulate the data packet into the RDMA transmission format, including adding the necessary network protocol header information: source and destination port numbers, sequence numbers;

[0032] Initialize the RDMA connection and establish an RDMA connection between the sender and the receiver. Use the RDMA library on both ends to create protection domains, which are used to manage accessible memory areas.

[0033] Ensure that the network configurations of the sender and receiver are compatible, including the configuration of the network interface card and support for the RDMA protocol;

[0034] Memory registration is done at the sending end. The memory area containing the data packet is registered in the RDMA protection domain, so that the RDMA operation can directly access this memory.

[0035] Send data packets. Use RDMA sending operations including RDMA Write or RDMA Send to send data packets. The specific steps are as follows:

[0036] Construct an RDMA message pointing to the memory area of ​​the data packet to be sent;

[0037] Specify the message size to ensure that it contains the entire data packet, including the original data, CRC checksum, and FEC codeword;

[0038] Start the RDMA operation and send the data packet to the specified memory address of the receiving end;

[0039] For asynchronous transmission, the sender can perform other tasks immediately after starting the data transmission and use the completion queue to asynchronously receive notifications of RDMA operation completion;

[0040] The sender waits for the notification of RDMA operation completion by polling or interruption;

[0041] Error handling:

[0042] If an RDMA operation fails, the sender needs to take error recovery measures based on the cause of the failure, including retrying the send and reporting the error;

[0043] Confirm transmission. After the data packet is successfully sent, the sender needs a confirmation message from the receiver to ensure that the data packet has been received correctly.

[0044] Furthermore, the step S4 is performed to determine whether the check code is consistent with the check code in the data packet based on the completion of the step S3:

[0045] Receiving data packets, the receiving end receives the data packets through the RDMA network and stores them in a pre-allocated memory buffer;

[0046] Extract the checksum, extract the complete CRC checksum from the received data packet, and prepare the CRC algorithm to ensure that the CRC algorithm version and polynomial used by the receiving end are exactly the same as those used by the sending end, including CRC-32, CRC-16, CRC-8, and CRC-4;

[0047] CRC check: Apply the same CRC algorithm to the complete CRC check code extracted from the received data packet, that is, divide the complete CRC check code by the agreed binary number, and judge whether the check code is consistent based on the remainder. The specific steps are as follows:

[0048] Split the data packet into the same chunks as the sender;

[0049] Perform modulo-2 division on each data block and determine the remainder;

[0050] If the remainder is 0, it is considered that the two check codes are completely consistent and no error occurred during the transmission of the data packet;

[0051] If the remainder is not 0, it means that the checksum is inconsistent and an error occurred during the transmission of the data packet;

[0052] Furthermore, the modulo-2 operation at the receiving end is:

[0053]

[0054] Among them, C x r +R is the complete check code polynomial, G is the generator polynomial agreed upon by the sender and the receiver, and Q is the quotient of the two.

[0055] Furthermore, the step S5 performs FEC decoding processing on the abnormal data packet based on the completion of the step S4:

[0056] Marking abnormal data packets. In step S4, if the checksum is found to be inconsistent, the receiving end will mark the data packet as abnormal;

[0057] Abnormal data packets are recorded in the log and marked;

[0058] Extract FEC codewords. For packets marked as abnormal, the receiver needs to extract the FEC codewords attached to the packets. These codewords are generated in step S2 and are used for error correction.

[0059] Perform FEC decoding processing and decode the received data packets using the same FEC decoding algorithm as the sender;

[0060] The FEC decoding algorithm uses the FEC codeword to correct errors in the data packet;

[0061] The decoding process consists of the following steps:

[0062] Identify and locate the error location in the data packet, and use the redundant information in the FEC codeword to calculate the correct data at the error location;

[0063] Replace the wrong data and restore the original data;

[0064] Verify the FEC decoding result:

[0065] After correcting the error, reapply the same CRC algorithm to the corrected packet to verify that the FEC decoding was successful;

[0066] If the remainder of the recalculated CRC checksum and the agreed binary number is 0, the error is considered to have been successfully corrected;

[0067] The specific treatment measures are:

[0068] If the FEC decoding is successful and the data packet passes the CRC check, the receiving end continues to process the data in the data packet;

[0069] If FEC decoding fails, or the data packet still fails the CRC check even after decoding, the receiver needs to take the following measures:

[0070] Notify the sender that there is a problem with the data packet and request resending;

[0071] If recovery of the packet is performed, other error recovery strategies are attempted, including requesting additional FEC codewords or other redundant information;

[0072] If the data packet cannot be recovered, the error handling measures taken include logging the error, reporting to the system administrator, or stopping the current data transmission process.

[0073] Beneficial Effects

[0074] The present invention aims at the disadvantage that the data with CRC check error cannot be directly corrected and solved in the prior art. The present invention uses a CRC algorithm to calculate the original data to generate a check code, the check code is attached to the end of the data packet, the original data is encoded by FEC coding, an FEC codeword with an error correction code is generated, the data packet with the check code and the FEC codeword is sent to a receiving end through an RDMA network, the check code of the received data packet is calculated by the same CRC algorithm as the sending end at the receiving end, the calculated check code is compared with the check code in the data packet, if the check code is inconsistent, the data packet is marked as possibly damaged or lost, and FEC decoding is prepared, the FEC codeword is decoded by the same FEC decoding algorithm as the sending end, if the FEC decoding is successful and the error is corrected, the original data is extracted and passed to an upper layer application, if the FEC decoding fails, corresponding processing is performed according to application requirements, the present invention combines the CRC algorithm with the FEC technology to detect whether an abnormal error occurs in the data transmission process and corrects it, and can provide a stronger error detection and correction capability, thereby better ensuring the stability and reliability of the data transmission process. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] Figure 1 It is a structural block diagram of a novel network lossless transmission method in a power system in an embodiment of the present invention;

[0076] Figure 2A flowchart of a novel method for network lossless transmission in a power system according to an embodiment of the present invention;

[0077] Figure 3 The present invention is a flowchart of a novel network lossless transmission method in a power system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0078] In order to make the objects and advantages of the present invention more clearly understood, the present invention is further described below in conjunction with embodiments; it should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0079] The preferred implementation methods of the present invention are described below with reference to the accompanying drawings. It should be understood by those skilled in the art that these implementation methods are only used to explain the technical principles of the present invention and are not intended to limit the protection scope of the present invention.

[0080] When used herein, the singular forms "a", "an", and "said / the" may also include plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "include / comprise" or "have" and the like specify the presence of stated features, wholes, steps, operations, components, parts, or combinations thereof, but do not exclude the possibility of the presence or addition of one or more other features, wholes, steps, operations, components, parts, or combinations thereof. At the same time, the term "and / or" used in this specification includes any and all combinations of the relevant listed items.

[0081] See also Figure 1-Figure 3 As shown, a novel network lossless transmission method in a power system includes:

[0082] S1, perform CRC algorithm processing on the original data, obtain the check code, and append the check code to the end of the data packet;

[0083] S2, performing FEC encoding processing on the original data to generate an FEC codeword with an error correction code;

[0084] S3, sending the data packet with the checksum and FEC codeword to the receiving end through the RDMA network;

[0085] S4, the receiving end uses the same CRC algorithm as the sending end to process the received data packet to determine whether it is consistent with the check code in the data packet;

[0086] S5. Mark the data packets with inconsistent check codes as abnormal, perform FEC decoding on the abnormal data packets, and take processing measures according to the processing results.

[0087] like Figure 1-3As shown, in step S1, the original data is processed by CRC algorithm to obtain a check code, and the check code is attached to the end of the data packet.

[0088] Specifically, the original data is first processed by the CRC (cyclic redundancy check) algorithm, the data is divided into segments of fixed length, and the CRC algorithm is applied to each segment. The CRC algorithm generates a fixed-length check code by performing a modulo-2 division operation on the data segment and a predefined polynomial. This check code is a mathematical summary of the original data and is used to detect errors that occur during data transmission. Then, the calculated check code is appended to the end of the data packet and the check code is added to the structure of the data packet as an additional field. During the data packet transmission process, the receiving end accesses and verifies the check code.

[0089] The implementation process is:

[0090] Determine the version of the CRC algorithm, including CRC-32, CRC-16, CRC-8, CRC-4 and polynomials, divide the original data into blocks processed by the algorithm, execute the CRC algorithm on each data block, generate a check code, and append the check code of each data block to the end of the corresponding data block to form a complete data packet;

[0091] The CRC algorithm is set to:

[0092] At the sending end, the generator polynomial G is used to perform a modulo-2 operation on the information polynomial C to generate a check code, where the generator polynomial G is an agreement between the receiving end and the sending end, that is, a binary number. During the entire transmission process, this number remains unchanged. The information polynomial C represents the original information transmitted. The generator polynomial is used to perform a modulo-2 division on the information polynomial to generate a remainder. The remainder is used as the check code and is added to the position vacated after the information code is shifted left to obtain a complete CRC check code, where the number of check code bits is the number of generator polynomial bits minus 1, and the check code needs to be the same as the order of the generator polynomial. If the number of remainder bits is less than the position vacated after the information code is shifted left, it needs to be padded with zeros in front.

[0093] The modulo-2 operation at the sending end is:

[0094]

[0095] Where C is the information polynomial, x r is the checksum position of the information polynomial C shifted left by r positions, G is the generator polynomial agreed upon by the sender and the receiver, Q is the quotient of the two, and R is the remainder of the two;

[0096] The complete check code polynomial is C·x r +R;

[0097] The steps to add the checksum to the tail data packet are:

[0098] The preset information polynomial C is y=x 6 +x 4 +x 3 +x, the generating polynomial is G, and y=x 4 +x 3 +x;

[0099] Converted into binary numbers, they are C=1011001 and G=11001 respectively; the generating polynomial is a 4th-order polynomial, that is, the value of C is 10110010000, where the position of 0000 after the binary code is the position where the check code is added to the tail data packet. Combined with the modulo-2 formula of the sender, the check code is 1010, and the complete CRC check code is 10110011010.

[0100] like Figure 3 As shown, in step S2, the original data is subjected to FEC encoding processing to generate an FEC codeword with an error correction code.

[0101] Specifically, on the basis of forming a complete data packet in step S1, the original data is subjected to FEC encoding processing to generate an FEC codeword with an error correction code. The specific process is as follows:

[0102] Select the FEC coding scheme Reed-Sol omon coding or convolutional coding;

[0103] Data preprocessing, in step S1, the original data has been divided into multiple data blocks, and each data block has a CRC checksum attached. In step S2, these data blocks will be used as input for FEC encoding;

[0104] Perform FEC encoding, which is performed on each data block with a CRC checksum. The FEC encoding process converts the original data block into a codeword containing the original data information and additional error correction codes according to the selected coding scheme. The error correction codes are used to recover the data at the receiving end, even if a certain amount of errors occurred during the data transmission process;

[0105] The specific steps to generate FEC codewords with error correction codes are:

[0106] Allocate redundant information. FEC coding generates redundant information (error correction code) for the original data block to detect and correct errors.

[0107] Combine the redundant information with the original data block to generate the FEC codeword;

[0108] Construct an FEC data packet, use the generated FEC codeword as part of a new data packet, and construct a data packet containing the original data and the error correction code;

[0109] After FEC encoding is completed, the packet now contains the original data and the error correction code, ready to be sent to the receiver over the RDMA network.

[0110] like Figure 1-Figure 3 As shown, in step S3, the data packet with the check code and the FEC codeword is sent to the receiving end through the RDMA network.

[0111] Specifically, after completing step S2 to generate the FEC codeword with the error correction code, step S3 involves sending the data packet with the check code and the FEC codeword to the receiving end through the RDMA (remote direct memory access) network. The specific steps are:

[0112] Data packet encapsulation ensures that each data packet contains the CRC checksum generated in step S1 and the FEC codeword generated in step S2;

[0113] Encapsulate the data packet into the RDMA transmission format, including adding the necessary network protocol header information: source and destination port numbers, sequence numbers;

[0114] Initialize the RDMA connection and establish an RDMA connection between the sender and the receiver. On the sender and the receiver, use the RDMA library (such as Infi ni Band Verbs API) to create a protection domain (PD) to manage the accessible memory area.

[0115] Ensure that the network configurations of the sender and receiver are compatible, including the configuration of the network interface card (NIC) and support for the RDMA protocol;

[0116] Memory registration is done at the sending end. The memory area containing the data packet is registered in the RDMA PD, which is used for RDMA operations to directly access this memory.

[0117] Send data packets. Use RDMA sending operations including RDMA Write or RDMA Send to send data packets. The specific steps are as follows:

[0118] Construct an RDMA message pointing to the memory area of ​​the data packet to be sent;

[0119] Specify the message size to ensure that it contains the entire data packet, including the original data, CRC checksum, and FEC codeword;

[0120] Start the RDMA operation and send the data packet to the specified memory address of the receiving end;

[0121] For asynchronous transmission, the sender can perform other tasks immediately after starting the data transmission and use the completion queue (CQ) to asynchronously receive notifications of RDMA operation completion;

[0122] The sender waits for the notification of RDMA operation completion by polling or interruption;

[0123] Error handling:

[0124] If an RDMA operation fails, the sender needs to take error recovery measures based on the cause of the failure, including retrying the send and reporting the error;

[0125] Confirm transmission. After a data packet is successfully sent, the sender needs a confirmation message from the receiver to ensure that the data packet has been received correctly.

[0126] The confirmation information is a data packet with a checksum and FEC codeword sent to the receiving end through the RDMA network. The window technology is used to implement the step that the sending end needs the receiving end to send back the confirmation information to ensure that the data packet has been received correctly.

[0127] like Figure 1-Figure 3 As shown, in step S4, the receiving end uses the same CRC algorithm as the sending end to process the received data packet to determine whether it is consistent with the check code in the data packet.

[0128] Specifically, after step S3 is completed, it is determined whether the check code is consistent with the check code in the data packet:

[0129] Receiving data packets, the receiving end receives the data packets through the RDMA network and stores them in a pre-allocated memory buffer;

[0130] Extract the checksum, extract the complete CRC checksum from the received data packet, and prepare the CRC algorithm to ensure that the CRC algorithm version and polynomial used by the receiving end are exactly the same as those used by the sending end, including CRC-32, CRC-16, CRC-8, and CRC-4;

[0131] CRC check: Apply the same CRC algorithm to the complete CRC check code extracted from the received data packet, that is, divide the complete CRC check code by the agreed binary number, and judge whether the check code is consistent based on the remainder. The specific steps are as follows:

[0132] Split the data packet into the same chunks as the sender;

[0133] Perform modulo-2 division on each data block and determine the remainder;

[0134] If the remainder is 0, it is considered that the two check codes are completely consistent and no error occurred during the transmission of the data packet;

[0135] If the remainder is not 0, it indicates that the checksum is inconsistent and an error occurred during the transmission of the data packet.

[0136] Furthermore, the modulo-2 operation at the receiving end is:

[0137]

[0138] Among them, C x r +R is the complete check code polynomial, G is the generator polynomial agreed upon by the sender and the receiver, and Q is the quotient of the two.

[0139] To determine whether the checksum is consistent:

[0140] The complete CRC check code obtained by the preset data in step 1 is 10110011010, and the generating polynomial is 11001. Combined with the modulo-2 formula calculation at the receiving end, the remainder of the result is 0, indicating that the check code is consistent and no error occurs during the transmission of the data packet.

[0141] like Figure 1-Figure 3 As shown, in step S5, the data packets with inconsistent check codes are marked as abnormal, FEC decoding is performed on the abnormal data packets, and processing measures are taken according to the processing results.

[0142] Specifically, marking abnormal data packets, in step S4, if the checksum is found to be inconsistent, the receiving end will mark the data packet as abnormal;

[0143] Abnormal data packets are recorded in the log and marked;

[0144] Extract FEC codewords. For packets marked as abnormal, the receiver needs to extract the FEC codewords attached to the packets. These codewords are generated in step S2 and are used for error correction.

[0145] Perform FEC decoding processing and decode the received data packets using the same FEC decoding algorithm as the sender;

[0146] The FEC decoding algorithm uses the FEC codeword to correct errors in the data packet;

[0147] The decoding process consists of the following steps:

[0148] Identify and locate the error location in the data packet, and use the redundant information in the FEC codeword to calculate the correct data at the error location;

[0149] Replace the wrong data and restore the original data;

[0150] Verify the FEC decoding result:

[0151] After correcting the error, reapply the same CRC algorithm to the corrected packet to verify that the FEC decoding was successful;

[0152] If the remainder of the recalculated CRC checksum and the agreed binary number is 0, the error is considered to have been successfully corrected;

[0153] The specific treatment measures are:

[0154] If the FEC decoding is successful and the data packet passes the CRC check, the receiving end continues to process the data in the data packet;

[0155] If FEC decoding fails, or the data packet still fails the CRC check even after decoding, the receiver needs to take the following measures:

[0156] Notify the sender that there is a problem with the data packet and request resending;

[0157] If recovery of the packet is performed, other error recovery strategies are attempted, including requesting additional FEC codewords or other redundant information;

[0158] If the data packet cannot be recovered, the error handling measures taken include logging the error, reporting to the system administrator, or stopping the current data transmission process.

[0159] like Figure 1-Figure 3 As shown, the present invention works in the following application scenarios to solve the disadvantage that the prior art cannot directly correct and solve the data with CRC check errors:

[0160] Perform CRC algorithm processing on the original data to obtain the check code, and append the check code to the end of the data packet;

[0161] Performing FEC encoding processing on the original data to generate an FEC codeword with an error correction code;

[0162] Send the data packet with the checksum and FEC codeword to the receiving end through the RDMA network;

[0163] The receiving end processes the received data packet using the same CRC algorithm as the sending end to determine whether it is consistent with the check code in the data packet;

[0164] The data packets with inconsistent check codes are marked as abnormal, and FEC decoding is performed on the abnormal data packets, and processing measures are taken according to the processing results.

[0165] So far, the technical solutions of the present invention have been described in conjunction with the preferred embodiments shown in the accompanying drawings. However, it is easy for those skilled in the art to understand that the protection scope of the present invention is obviously not limited to these specific embodiments. Without departing from the principle of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will fall within the protection scope of the present invention.

[0166] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and rules of the present invention shall be included in the protection scope of the present invention.

Claims

1. A novel network lossless transmission method in a power system, characterized by: S1, perform CRC algorithm processing on the original data, obtain the check code, and append the check code to the end of the data packet; S2, performing FEC encoding processing on the original data to generate an FEC codeword with an error correction code; S3, sending the data packet with the checksum and FEC codeword to the receiving end through the RDMA network; S4, the receiving end uses the same CRC algorithm as the sending end to process the received data packet to determine whether it is consistent with the check code in the data packet; S5. Mark the data packets with inconsistent check codes as abnormal, perform FEC decoding on the abnormal data packets, and take processing measures according to the processing results.

2. According to a novel network lossless transmission method in a power system according to claim 1, it is characterized by: In the step S1, the original data is processed by CRC algorithm to obtain a check code, and the check code is attached to the end of the data packet, specifically: The CRC algorithm is used to process the original data, divide the data into segments of fixed length, and apply the CRC algorithm to each segment. The CRC algorithm generates a fixed-length check code by performing a modulo-2 division operation on the data segment and a predefined polynomial. The check code is used to detect errors that occur during data transmission. The calculated check code is appended to the end of the data packet and added to the structure of the data packet as an additional field. During the data packet transmission process, the receiving end accesses and verifies the check code.

3. A novel network lossless transmission method in a power system according to claim 1, characterized in that: In the step S2, the original data is subjected to FEC encoding processing to generate an FEC codeword with an error correction code, specifically: Select the FEC coding scheme Reed-Solomon coding or convolutional coding; Data preprocessing, in step S1, the original data has been divided into multiple data blocks, and each data block has a CRC checksum attached. In step S2, these data blocks will be used as input for FEC encoding; Perform FEC encoding, which is performed on each data block with a CRC checksum. The FEC encoding process converts the original data block into a codeword containing the original data information and additional error correction codes according to the selected coding scheme. The error correction codes are used to recover the data at the receiving end, even if a certain amount of errors occurred during the data transmission process; The specific steps to generate FEC codewords with error correction codes are: Allocate redundant information. FEC encoding generates redundant information for the original data block to detect and correct errors. Combine the redundant information with the original data block to generate the FEC codeword; Construct an FEC data packet, use the generated FEC codeword as part of a new data packet, and construct a data packet containing the original data and the error correction code; After FEC encoding is completed, the data packet now contains the original data and the error correction code and is sent to the receiver through the RDMA network.

4. A novel network lossless transmission method in a power system according to claim 1, characterized in that: In the step S3, the data packet with the check code and the FEC codeword is sent to the receiving end through the RDMA network, specifically: Data packet encapsulation ensures that each data packet contains the CRC checksum generated in step S1 and the FEC codeword generated in step S2; Encapsulate the data packet into the RDMA transmission format, including adding the necessary network protocol header information: source and destination port numbers, sequence numbers; Initialize the RDMA connection and establish an RDMA connection between the sender and the receiver. Use the RDMA library to create protection domains on the sender and receiver, respectively. The protection domains are used to manage memory areas. Ensure that the network configurations of the sender and receiver are compatible, including the configuration of the network interface card and support for the RDMA protocol; Memory registration is done at the sending end. The memory area containing the data packet is registered in the RDMA protection domain, so that the RDMA operation can directly access this memory. Send data packets. Use RDMA send operations including RDMA Write or RDMA Send to send data packets. The specific steps are as follows: Construct an RDMA message pointing to the memory area of ​​the data packet to be sent; Specify the size of the message to ensure it contains the entire packet; Start the RDMA operation and send the data packet to the specified memory address of the receiving end; For asynchronous transmission, the sender can perform other tasks immediately after starting the data transmission and use the completion queue to asynchronously receive notifications of RDMA operation completion; The sender waits for notification of RDMA operation completion by polling or interruption; Error handling: If an RDMA operation fails, the sender needs to take error recovery measures based on the cause of the failure, including retrying the send and reporting the error; Confirm transmission. After the data packet is successfully sent, the sender needs a confirmation message from the receiver to ensure that the data packet has been received correctly.

5. According to a novel network lossless transmission method in a power system according to claim 1, it is characterized by: In S4, the receiving end processes the received data packet using the same CRC algorithm as the sending end to determine whether it is consistent with the check code in the data packet, specifically: Receiving data packets, the receiving end receives the data packets through the RDMA network and stores them in a pre-allocated memory buffer; Extract the checksum, extract the complete CRC checksum from the received data packet, and prepare the CRC algorithm to ensure that the CRC algorithm version and polynomial used by the receiving end are exactly the same as those used by the sending end, including CRC-32, CRC-16, CRC-8, and CRC-4; CRC check: Apply the same CRC algorithm to the complete CRC check code extracted from the received data packet, that is, divide the complete CRC check code by the agreed binary number, and judge whether the check code is consistent based on the remainder. The specific steps are as follows: Split the data packet into the same chunks as the sender; Perform modulo-2 division on each data block and determine the remainder; If the remainder is 0, it is considered that the two check codes are completely consistent and no error occurred during the transmission of the data packet; If the remainder is not 0, it indicates that the checksum is inconsistent and an error occurred during the transmission of the data packet.

6. A novel network lossless transmission method in a power system according to claim 1, characterized in that: In the step S5, the data packets with inconsistent check codes are marked as abnormal, and FEC decoding is performed on the abnormal data packets. Processing measures are taken according to the processing results, specifically: Marking abnormal data packets. In step S4, if the checksum is found to be inconsistent, the receiving end will mark the data packet as abnormal; Abnormal data packets are recorded in the log and marked; Extract FEC codewords. For packets marked as abnormal, the receiver needs to extract the FEC codewords attached to the packets. These codewords are generated in step S2 and are used for error correction. Perform FEC decoding processing and decode the received data packets using the same FEC decoding algorithm as the sender; Use FEC codewords to correct errors in data packets; The decoding process consists of the following steps: Identify and locate the error location in the data packet, and use the redundant information in the FEC codeword to calculate the correct data at the error location; Replace the wrong data and restore the original data; Verify the FEC decoding result: After correcting the error, reapply the same CRC algorithm to the corrected packet to verify that the FEC decoding was successful; If the remainder of the recalculated CRC checksum and the agreed binary number is 0, the error is considered to have been successfully corrected; The specific treatment measures are: If the FEC decoding is successful and the data packet passes the CRC check, the receiving end continues to process the data in the data packet; If FEC decoding fails, or the data packet still fails the CRC check even after decoding, the receiver needs to take the following measures: Notify the sender that there is a problem with the data packet and request resending; If recovery of the packet is performed, other error recovery strategies are attempted, including requesting additional FEC codewords or other redundant information; If the data packet cannot be recovered, the error handling measures taken include logging the error, reporting to the system administrator, or stopping the current data transmission process.

7. A novel network lossless transmission method in a power system according to claim 2, characterized in that: The CRC algorithm is set to: At the sending end, the generator polynomial G is used to perform a modulo-2 operation on the information polynomial C to generate a check code, where the generator polynomial G is a binary number at the receiving end and the sending end. During the entire transmission process, this number remains unchanged. The information polynomial C represents the original information transmitted. The generator polynomial is used to perform a modulo-2 division on the information polynomial to generate a remainder, which is used as the check code and is added to the position vacated after the information code is left shifted to obtain a complete CRC check code, where the number of check code bits is the number of generator polynomial bits - 1, and the check code needs to be the same as the order of the generator polynomial. If the number of remainder bits is less than the position vacated after the information code is left shifted, zeros need to be added in front.

8. A novel network lossless transmission method in a power system according to claim 7, characterized in that , the modulo 2 operation at the sending end is: Where C is the information polynomial, x r is the checksum position of the information polynomial C shifted left by r positions, G is the generator polynomial agreed upon by the sender and the receiver, Q is the quotient of the two, and R is the remainder of the two; The complete check code polynomial is C·x r +R.

9. A novel network lossless transmission method in a power system according to claim 5, characterized in that , the modulo 2 operation at the receiving end is: Among them, C x r +R is the complete check code polynomial, G is the generator polynomial agreed upon by the sender and the receiver, and Q is the quotient of the two.

Citation Information

Patent Citations

  • Data packet verification error handling methods and systems

    CN109005009B

  • Unidirectional reliable transmission method and transceiving device based on data packets

    CN101834700A

  • Data transmission system based on multipath heterogeneous one-way transmission channel

    CN106850188A

  • Data retransmission method, device and system

    CN116260553A

  • CRC-based forward error correction circuitry and method

    US20150278008A1

Cited By

  • Management method and system for sling matching weight detection device

    CN120295215A

  • Vehicle laboratory monitoring system

    CN121089802A