A reliable data transmission component and method based on fixed-length wireless channels

CN117676934BActive Publication Date: 2026-10-27THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311601653.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-28
Publication Date
2026-10-27
Estimated Expiration
2043-11-28

AI Technical Summary

Technical Problem

一方面TCP协议只能作用于TCP/IP数据,对于NON-IP数据无法适用;另一方面,强制将NON-IP数据适用TCP/IP数据承载,每包数据将增加40字节到60字节的协议头开销,浪费了无线信道资源

Benefits of technology

[0030]本发明可以完成丢失数据的重传,实现数据的可靠传输。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117676934B_ABST
    Figure CN117676934B_ABST
Patent Text Reader

Abstract

The application belongs to the field of reliable data transmission in wireless communication system, and discloses a reliable data transmission component and method based on fixed-length wireless channel, which runs on both the sending end and the receiving end, is independent of the application layer and the wireless channel layer, and comprises a data storage module, a data processing module, a configuration interface module and a flow control interface module, wherein the data storage module comprises a user data sending queue, a user data receiving queue, a data frame sending queue, a data frame receiving queue, a control frame sending queue and a control frame receiving queue.The transmission component provides the application layer with functions such as flow control query, frame length information configuration, user data insertion and access, user data sending confirmation, etc.The retransmission of lost data is completed through the Selective Acknowledgement mechanism, and the reliable transmission of data is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of reliable data transmission in wireless communication systems, and is particularly designed to address situations with poor wireless link signals and unstable transmission, enabling reliable and stable transmission of user data. Background Technology

[0002] Currently, an increasing number of wireless communication systems are widely used across various industries. Some are designed for short-range communication, such as Bluetooth and Wi-Fi, while others are designed for long-range communication, such as 5G and LTE. In some private network systems, users have defined their own private frequency bands. When using wireless communication systems, users often experience poor transmission link signals and unstable transmission due to complex electromagnetic interference environments. While some wireless technologies support reliable data transmission services, others do not, leading to packet loss, link congestion, and high latency, severely impacting user experience.

[0003] For systems where the wireless link does not support reliable data transmission, reliance is placed on the reliable transmission model provided by the TCP protocol within the application layer TCP / IP protocol suite. On one hand, the TCP protocol can only operate on TCP / IP data and is inapplicable to non-IP data; on the other hand, forcing non-IP data to be carried by TCP / IP data adds 40 to 60 bytes of protocol header overhead to each data packet, wasting wireless channel resources. Even ignoring the byte overhead of the TCP / IP data frame header, TCP's reliable transmission acknowledgment mechanism requires acknowledgment for each data packet, excessively consuming wireless resources. For narrowband systems, this fails to meet user needs in terms of latency and data rate.

[0004] In the TCP / IP protocol stack, message-oriented middleware is widely used. This type of middleware communicates via messages, employing both message queues and message passing models to achieve highly reliable and efficient asynchronous communication in complex network environments. In contrast, in the field of wireless communication, the authors disclose a reliable data transmission component based on a wireless channel. Located below the application layer and above the wireless link system, it enables reliable and stable data transmission over unstable links. Summary of the Invention

[0005] The purpose of this invention is to develop a reliable data transmission component for both parties in a wireless communication system. This component operates at both ends of the communication, located below the application layer and above the wireless link layer. The communication system mainly consists of four parts, from top to bottom: the application layer, the transmission component, the wireless channel adaptation layer, and the wireless channel.

[0006] The technical solution adopted in this invention is as follows:

[0007] A reliable data transmission component based on a fixed-length wireless channel includes an application layer, a transmission component, a wireless channel adaptation layer, and a wireless channel; wherein the transmission component includes a data storage module, a data processing module, a configuration interface, and a flow control interface;

[0008] The application layer contains user data, including TCP / IP network data and NON-IP data. It is used to control the rate of user data transmission based on the current flow control information obtained through the flow control interface and to send user data to the user data transmission queue.

[0009] The data storage module includes a user data sending queue, a user data receiving queue, a data frame sending queue, a component data frame receiving queue, a control frame sending queue, and a control frame receiving queue. Among them, the user data sending queue is used to buffer user data that has not yet been sent, the user data receiving queue is used to buffer data that has been successfully received, the data frame sending queue is used to store data frames that have not yet been successfully sent, the data frame receiving queue is used to store received data frames, the control frame sending queue is used to store control frames that will be sent, and the control frame receiving queue is used to store received control frames.

[0010] The data processing module is used to retrieve user data from the user data transmission queue according to the length of the wireless channel, segment the user data, add frame header information and CRC check information to form data frames, and store the data frames in the data frame transmission queue. The data frame header information includes a request acknowledgment indication field. The request acknowledgment indication field is set to 1 in the last data frame of each user data packet, and set to 0 in other data frames. It is also used to, upon receiving data from the wireless channel adaptation layer, if the received data is a data frame, store the data frame in the data frame reception queue. When the request acknowledgment indication field of the received data frame is 1, it generates an acknowledgment control frame according to the status of the data frame reception queue, stores the acknowledgment control frame in the control frame transmission queue, and merges multiple data frames in the data frame reception queue. If the merging is successful, the merged user data is stored in the user data reception queue; if the merging fails, it waits to receive the next data frame. If the received data is a control frame, the control frame is stored in the control frame reception queue, and the failed data frame is retransmitted according to the reception acknowledgment information of the control frame in the control frame reception queue.

[0011] The configuration interface is used to configure the physical channel frame length and set the connection establishment mode for both communicating parties, including auto-negotiation mode and default mode.

[0012] The flow control interface is used by the application layer to obtain the current flow control information of the user data sending queue;

[0013] The wireless channel adaptation layer is located between the transmission components and the wireless channel, and is used to adapt the transmission components and wireless channels of various systems.

[0014] A reliable data transmission method based on a fixed-length wireless channel, implemented using the aforementioned reliable data transmission component, includes the following steps:

[0015] The process of sending data is as follows:

[0016] (101) Initialize and configure the transmission components, and set the wireless frame length and the connection establishment method between the two communicating parties;

[0017] (102) When the application layer sends user data, it queries the flow control information through the flow control interface provided by the transmission component. When the transmission component allows the data to be sent, the application layer calls the data insertion interface provided by the transmission component to insert the data into the user data sending queue and executes step (103). When the transmission component does not allow the data to be sent, the application layer suspends the data sending.

[0018] (103) After receiving the scheduling information from the wireless channel adaptation layer, the data processing module of the transmission component retrieves the data from the user data transmission queue, segments the data into data frames, inserts them into the data frame transmission queue in sequence, and updates the flow control information; the data frame header information includes a request confirmation indication field, and the request confirmation indication field is set to 1 in the last data frame of each packet of user data, and set to 0 in other data frames.

[0019] (104) When the data processing module sends data, it determines whether the control frame sending queue is empty. If it is not empty, it retrieves the control frame and sends it to the other end through the wireless channel adaptation layer and the wireless channel to complete the sending of this scheduling; otherwise, it executes step (105).

[0020] (105) The data processing module retrieves the data frame from the data frame sending queue and sends the data frame to the other end through the wireless channel adaptation layer and the wireless channel to complete the sending of this scheduling.

[0021] The process of receiving data is as follows:

[0022] (201) Initialize and configure the transmission components, and set the wireless frame length and the connection establishment method between the two communicating parties;

[0023] (202) After receiving the data from the wireless channel adaptation layer, the data processing module of the transmission component determines the frame type of the data. If it is a data frame, when the request confirmation indication in the data frame header is 1, it generates an acknowledgment control frame according to the status of the data frame receiving queue, stores the acknowledgment control frame in the control frame sending queue, and then stores the data frame in the data frame receiving queue. It then traverses the data frame receiving queue to merge multiple data frames. If the merging is successful, it stores the merged user data in the user data receiving queue. If the merging fails, it waits to receive the next data frame and repeats step (202). If it is a control frame, it stores the control frame in the control frame receiving queue and retransmits the failed data frame according to the control frame receiving confirmation information in the control frame receiving queue.

[0024] (203) The application layer requests to read data from the transmission component and determines the user's data type, and processes the data or confirmation information sent by the other party.

[0025] Furthermore, the specific method for segmenting the data into data frames in step (103) is as follows:

[0026] (1031) Split a user packet of data into multiple segments, each segment being N-5 bytes, and save them to a temporary queue UserData_Seg; where N is the wireless channel frame length;

[0027] (1032) Take out user segments sequentially from the UserData_Seg queue. If UserData_Seg is empty, go to step (1034). Otherwise, create a data frame DATA_F, fill the user segments into the user data area of ​​the data frame DATA_F, fill the 3-byte frame header of DATA_F, including the segment sequence number and request confirmation indication; and calculate the first N-2 bytes of CRC check data of the data frame DATA_F and fill it into the last 2 bytes of the CRC field.

[0028] (1033) Insert the data frame DATA_F into the data frame transmission queue; Proceed to (1032) to continue execution;

[0029] (1034) Update flow control information.

[0030] This invention can retransmit lost data, thus achieving reliable data transmission. Attached Figure Description

[0031] Figure 1 This is a diagram of the reliable transmission component architecture of the present invention.

[0032] Figure 2 This is a schematic diagram of the data transmission structure of the present invention.

[0033] Figure 3 The flowchart for this invention is provided.

[0034] Figure 4 This is a flowchart of the receiving process of the present invention. Detailed Implementation

[0035] The present invention will now be described in detail with reference to the accompanying drawings.

[0036] refer to Figure 1 The reliable data transmission architecture adopts a layered architecture, consisting of four layers from top to bottom. The top layer is the application layer, followed by the transmission component layer, the wireless channel adaptation layer, and the wireless channel layer. The transmission component layer is located between the application layer and the wireless channel adaptation layer, below the application layer and above the wireless channel adaptation layer. The functions it provides to the application layer include: flow control query, frame length and other information configuration, user data insertion and access, and user data transmission confirmation.

[0037] Application layer programs and transport components can be deployed on the same machine or on different machines.

[0038] The transmission component operates simultaneously on both communicating parties and mainly comprises four modules. The configuration interface configures transmission component parameters, including wireless channel frame length and connection establishment method. The flow control interface provides flow control query services to the application layer. Before sending data, the application layer first queries flow control information and sends data according to the flow control instructions. The data storage module includes three queues in both the transmitting and receiving directions: user data queue, data frame queue, and control frame queue. The data processing module generates and parses data frame and control frame structures, processes scheduling information from the wireless channel adaptation layer, operates the six queues in both the transmitting and receiving directions, and uses selective acknowledgment to complete data frame retransmission, thereby achieving reliable transmission.

[0039] The wireless channel adaptation layer is located between the transmission components and the wireless channel. It is used to adapt the transmission components and the wireless channel interfaces of various systems. Its main functions are as follows:

[0040] 1) Receive scheduling information from the wireless channel, convert it into an interface for the transmission component, and pass it to the transmission component;

[0041] 2) Receive data received from the wireless channel, convert it into the interface of the transmission component, call the downlink data interface of the transmission component, and pass it to the transmission component;

[0042] 3) Receive data from the transmission component, convert it into an interface with the wireless channel, and send it to the wireless channel.

[0043] The wireless channel module is located at the lowest layer of the transmission system, using radio waves as the carrier medium to complete data transmission. In complex electromagnetic environments, data transmission can produce bit errors.

[0044] The specific processing procedure is as follows:

[0045] The application layer contains user data, including TCP / IP network data and NON-IP data. It is used to control the rate of user data transmission based on the current flow control information obtained through the flow control interface and to send user data to the user data transmission queue.

[0046] The data storage module includes a user data sending queue, a user data receiving queue, a data frame sending queue, a component data frame receiving queue, a control frame sending queue, and a control frame receiving queue. Among them, the user data sending queue is used to buffer user data that has not yet been sent, the user data receiving queue is used to buffer data that has been successfully received, the data frame sending queue is used to store data frames that have not yet been successfully sent, the data frame receiving queue is used to store received data frames, the control frame sending queue is used to store control frames that will be sent, and the control frame receiving queue is used to store received control frames.

[0047] The data processing module is used to retrieve user data from the user data transmission queue according to the length of the wireless channel, segment the user data, add frame header information and CRC check information to form data frames, and store the data frames in the data frame transmission queue. The data frame header information includes a request acknowledgment indication field. The request acknowledgment indication field is set to 1 in the last data frame of each user data packet, and set to 0 in other data frames. It is also used to, upon receiving data from the wireless channel adaptation layer, if the received data is a data frame, store the data frame in the data frame reception queue. When the request acknowledgment indication field of the received data frame is 1, it generates an acknowledgment control frame according to the status of the data frame reception queue, stores the acknowledgment control frame in the control frame transmission queue, and merges multiple data frames in the data frame reception queue. If the merging is successful, the merged user data is stored in the user data reception queue; if the merging fails, it waits to receive the next data frame. If the received data is a control frame, the control frame is stored in the control frame reception queue, and the failed data frame is retransmitted according to the reception acknowledgment information of the control frame in the control frame reception queue.

[0048] The configuration interface is used to configure the physical channel frame length and set the connection establishment mode for both communicating parties, including auto-negotiation mode and default mode.

[0049] The flow control interface is used by the application layer to obtain the current flow control information of the user data sending queue;

[0050] The wireless channel adaptation layer is located between the transmission components and the wireless channel, and is used to adapt the transmission components and wireless channels of various systems.

[0051] refer to Figure 2The transmission component at the sending end includes a user data transmission queue, a data frame transmission queue, and a control frame transmission queue. The user data transmission queue stores data that the user has not yet transmitted. The transmission component limits the length of this data to 0-1500 bytes; if the user data exceeds this length, it needs to be segmented at the user layer. The data frame transmission queue is located below the user data transmission queue and stores data frames to be transmitted. Each data frame consists of three parts: a 3-byte data frame header, a 2-byte CRC checksum, and the user data in the middle. For a wireless channel with a frame length of N bytes, a single frame can carry (N-5) bytes of user data. The control frame transmission queue stores control frames to be transmitted. Currently, the component only has one message type for control frames: an acknowledgment message. This message generates acknowledgment information according to the selective acknowledgment standard. After receiving the acknowledgment message, the receiving end retransmits the failed data frame based on the acknowledgment message. The control frame also consists of three parts: a 1-byte control frame header, a 2-byte CRC checksum, and control information in the middle. For a wireless channel with a frame length of N bytes, a single frame can carry (N-3) bytes of control information. When sending data frames, control frames have higher priority than data frames. Data frames are only sent after the control frame queue is empty.

[0052] It should be noted that, Figure 2 From the perspectives of the application layer, the user data sending queue of the transmission component, the data frame sending queue of the transmission component, the data frame structure of the transmission component, and the wireless channel, this is a schematic diagram of the data transmission structure; conversely, it is a schematic diagram of the data reception structure.

[0053] refer to Figure 3 The data sending process is as follows:

[0054] (101) Initialize and configure the transmission components, set the wireless frame length and the method for establishing a connection between the two communicating parties, etc.

[0055] (102) When the application layer sends user data, it queries the flow control information through the flow control interface provided by the transmission component. When the transmission component allows the data to be sent, the application layer calls the data insertion interface provided by the transmission component to insert the data into the user data sending queue and executes step (103). When the transmission component does not allow the data to be sent, the application layer suspends the data sending.

[0056] (103) After receiving the scheduling information from the wireless channel adaptation layer, the data processing module of the transmission component retrieves data from the user data transmission queue, segments the data into data frames, inserts them sequentially into the data frame transmission queue, and updates the flow control information; the data frame header information includes a request confirmation indication field, and the request confirmation indication field is set to 1 in the last data frame of each packet of user data, and set to 0 in other data frames; the specific method of segmenting the data into data frames is as follows:

[0057] (1031) Split a user packet of data into multiple segments, each segment being N-5 bytes, and save them to a temporary queue UserData_Seg; where N is the wireless channel frame length;

[0058] (1032) Take out user segments sequentially from the UserData_Seg queue. If UserData_Seg is empty, go to step (1034). Otherwise, create a data frame DATA_F, fill the user segments into the user data area of ​​the data frame DATA_F, fill the 3-byte frame header of DATA_F, including the segment sequence number and request confirmation indication; and calculate the first N-2 bytes of CRC check data of the data frame DATA_F and fill it into the last 2 bytes of the CRC field.

[0059] (1033) Insert the data frame DATA_F into the data frame transmission queue; Proceed to (1032) to continue execution;

[0060] (1034) Update flow control information;

[0061] (104) When the data processing module sends data, it determines whether the control frame sending queue is empty. If it is not empty, it retrieves the control frame and sends it to the other end through the wireless channel adaptation layer and the wireless channel to complete the sending of this scheduling; otherwise, it executes step (105).

[0062] (105) The data processing module retrieves the data frame from the data frame sending queue and sends the data frame to the other end through the wireless channel adaptation layer and the wireless channel to complete the sending of this scheduling.

[0063] refer to Figure 4 The data receiving process is as follows:

[0064] (201) Preparation: Before sending user data, it is necessary to initialize and configure the transmission components, set the wireless frame length, and the method for establishing a connection between the two communicating parties.

[0065] (202) After receiving the data from the wireless channel adaptation layer, the data processing module of the transmission component determines the frame type of the data. If it is a data frame, the data processing module processes the data in the manner of a data frame; if it is a control frame, the data processing module processes the data in the manner of a control frame.

[0066] Optionally, the data processing module processes data frames in the following specific way:

[0067] (2001) Store the data frame in the data frame receive queue;

[0068] (2002) Determine whether the data frame header contains a "request confirmation" indication. If the request confirmation indication is 1, generate an confirmation control frame CTRL_F according to the status of the data frame receiving queue and insert it into the control frame sending queue, and continue with the subsequent steps.

[0069] (2003) Traverse the data frame receiving queue and try to merge multiple data frames. If the merging is successful, store the merged user data in the user data receiving queue. If the merging fails, wait to receive the next data frame and repeat step (2).

[0070] Optionally, the data processing module processes control frames in the following way:

[0071] (3001) Store the control frame in the control frame receive queue;

[0072] (3002) Retrieve the control frame and mark the status of the data frame in the data frame transmission queue according to the Selective Acknowledgement mechanism, which are ACKED and NACKED respectively;

[0073] (3003) Determine whether all data frames contained in a single user data packet have been successfully sent. If successful, generate user confirmation information and store the confirmation information in the user data receiving queue.

[0074] (203) The application layer requests to read data from the transmission component and determines the user's data type, whether it is data sent by the other party or confirmation information, and performs different processing accordingly.

[0075] It should be understood that the specific embodiments described above are merely illustrative or explanatory of the principles of the invention and do not constitute a limitation thereof. Therefore, any modifications, equivalent substitutions, improvements, etc., made without departing from the spirit and scope of the invention should be included within the protection scope of the invention. Furthermore, the appended claims are intended to cover all variations and modifications falling within the scope and boundaries of the appended claims, or equivalent forms of such scope and boundaries.

Claims

1. A reliable data transmission component based on a fixed-length wireless channel, characterized in that, This includes the application layer, transmission components, wireless channel adaptation layer, and wireless channel; The transmission components include a data storage module, a data processing module, a configuration interface, and a flow control interface; The application layer is used to control the rate of user data transmission based on the current flow control information obtained through the flow control interface, and to send user data to the user data transmission queue. The user data includes TCP / IP network data and NON-IP data. The data storage module includes a user data sending queue, a user data receiving queue, a data frame sending queue, a data frame receiving queue, a control frame sending queue, and a control frame receiving queue. Among them, the user data sending queue is used to buffer user data that has not yet been sent, the user data receiving queue is used to buffer data that has been successfully received, the data frame sending queue is used to store data frames that have not yet been successfully sent, the data frame receiving queue is used to store received data frames, the control frame sending queue is used to store control frames that will be sent, and the control frame receiving queue is used to store received control frames. The data processing module is used to retrieve user data from the user data transmission queue according to the wireless channel frame length, segment the user data, add frame header information and CRC check information to form data frames, and store the data frames in the data frame transmission queue. The data frame header information includes a request acknowledgment indication field. The request acknowledgment indication field is set to 1 in the last data frame of each user data packet, and set to 0 in other data frames. It is also used to, upon receiving data from the wireless channel adaptation layer, if the received data is a data frame, generate an acknowledgment control frame according to the data frame reception queue if the request acknowledgment indication field in the data frame header is 1, store the acknowledgment control frame in the control frame transmission queue, then store the data frame in the data frame reception queue, and merge multiple data frames in the data frame reception queue. If merging is successful, the merged user data is stored in the user data reception queue; if merging fails, it waits to receive the next data frame. If the received data is a control frame, the control frame is stored in the control frame reception queue, and the failed data frame is retransmitted according to the reception acknowledgment information of the control frame in the control frame reception queue. The configuration interface is used to configure the wireless channel frame length and set the connection establishment mode for both communicating parties, including auto-negotiation mode and default mode. The flow control interface is used to provide the application layer with the current flow control information of the user data sending queue; The wireless channel adaptation layer is located between the transmission components and the wireless channel, and is used to adapt the transmission components and wireless channels of various systems.

2. A reliable data transmission method based on a fixed-length wireless channel, implemented using the reliable data transmission component described in claim 1, characterized in that, Includes the following processes: The process of sending data is as follows: (101) Initialize and configure the transmission components, and set the wireless channel frame length and the connection establishment method between the two communicating parties; (102) When the application layer sends user data, it queries the flow control information through the flow control interface provided by the transmission component. When the transmission component allows the data to be sent, the application layer calls the data insertion interface provided by the transmission component to insert the data into the user data sending queue and executes step (103). When the transmission component does not allow the data to be sent, the application layer suspends the data sending. (103) After receiving the scheduling information from the wireless channel adaptation layer, the data processing module of the transmission component retrieves the data from the user data transmission queue, segments the data into data frames, inserts them into the data frame transmission queue in sequence, and updates the flow control information. The data frame header information includes a request confirmation indication field. The request confirmation indication field is set to 1 in the last data frame of each packet of user data, and set to 0 in other data frames. (104) When the data processing module sends data, it determines whether the control frame sending queue is empty. If it is not empty, it retrieves the control frame and sends it to the other end through the wireless channel adaptation layer and the wireless channel to complete the sending of this scheduling; otherwise, it executes step (105). (105) The data processing module retrieves the data frame from the data frame transmission queue and sends the data frame to the other end through the wireless channel adaptation layer and the wireless channel to complete the transmission of this scheduling. The process of receiving data is as follows: (201) Initialize and configure the transmission components, and set the wireless channel frame length and the connection establishment method between the two communicating parties; (202) After receiving the data from the wireless channel adaptation layer, the data processing module of the transmission component determines the frame type of the data. If it is a data frame, when the request confirmation indication field in the data frame header is 1, it generates an acknowledgment control frame according to the status of the data frame receiving queue, stores the acknowledgment control frame in the control frame sending queue, stores the data frame in the data frame receiving queue, and traverses the data frame receiving queue to merge multiple data frames. If the merging is successful, the merged user data is stored in the user data receiving queue. If the merging fails, it waits to receive the next data frame and repeats step (202). If it is a control frame, the control frame is stored in the control frame receive queue, and the failed data frame is retransmitted according to the control frame receive acknowledgment information in the control frame receive queue. (203) The application layer requests to read data from the transmission component, determines the user's data type, and processes the data or confirmation information sent by the other party.

3. The reliable data transmission method based on a fixed-length wireless channel according to claim 2, characterized in that, The specific method for segmenting the data into data frames in step (103) is as follows: (1031) Divide a user's data packet into multiple segments, each segment being N-5 bytes, and save them to a temporary queue UserData_Seg; where N is the wireless channel frame length; (1032) Take out user segments sequentially from the UserData_Seg queue. If UserData_Seg is empty, go to step (1034). Otherwise, create a data frame DATA_F, fill the user segments into the user data area of ​​the data frame DATA_F, fill the 3-byte frame header of DATA_F, including the segment sequence number and request confirmation indication field; and calculate the first N-2 bytes of CRC check data of the data frame DATA_F and fill it into the last 2 bytes of the CRC field. (1033) Insert the data frame DATA_F into the data frame transmission queue; go to (1032) to continue execution; (1034) Update flow control information.

Citation Information

Patent Citations

  • Delaying retransmission requests in multi-carrier systems

    CN101411148A

  • Wireless Communication Method, Sending Device And Receiving Device

    US20140050230A1