A data transmission apparatus and system
By generating identifier data packets and service data packets for parallel transmission, the problem of data packet integrity and order disorder in multipath wireless transmission is solved, and highly reliable data transmission is achieved.
Patent Information
- Application Number
- CN202610626972.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-08
- Publication Date
- 2026-07-31
AI Technical Summary
Existing multipath wireless transmission methods cannot guarantee the integrity of data packets and the correct order between multiple sub-data packets, resulting in low communication reliability.
The system generates identification information for the original service data packets to be transmitted in the data transmission processing module, encapsulates them into identification data packets, copies them into N copies, and transmits them in parallel to N wireless communication units, ensuring that the identification data packets are sent before the original service data packets. At the receiving end, the system matches the target service data packets with the target identification information, discards duplicate or out-of-order data packets, and adopts a multi-path redundant transmission and path verification mechanism.
It achieves data integrity and orderly transmission, improves the reliability of multi-path wireless transmission, avoids data loss due to single point or local failure, and ensures the stability and consistency of data stream.
Smart Images

Figure CN122496862A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless transmission technology, specifically to a data transmission device and system. Background Technology
[0002] In applications with extremely high requirements for communication reliability, such as industrial automation, telemedicine, and intelligent transportation, Ethernet has become the mainstream wired communication standard. However, in some complex environments, laying physical cables is costly, difficult to maintain, or even impossible (such as on moving vehicles or rotating robotic arms). Therefore, transmitting Ethernet data wirelessly has become an urgent need.
[0003] Existing technologies attempt to transmit Ethernet packets using multipathing. For example, existing technologies segment Ethernet packets into multiple Ethernet sub-packets and transmit these sub-packets separately through multiple wireless channels. However, this transmission method struggles to guarantee the integrity of the data packets and the correct order among the sub-packets.
[0004] Therefore, improving the reliability of multipath wireless transmission has become an urgent technical problem to be solved. Summary of the Invention
[0005] In view of the above problems, embodiments of this application provide a data transmission device and system to solve the problem of low reliability of multipath wireless transmission methods in the prior art.
[0006] According to one aspect of the embodiments of this application, a data transmission apparatus is provided. The apparatus includes a data transmission processing module and a data reception processing module. The data transmission processing module includes N first wireless communication units, and the data reception processing module includes N second wireless communication units. The N first wireless communication units and the N second wireless communication units are connected wirelessly to each other, where N is a positive integer greater than 1. The data transmission processing module is configured to: generate original identification information for an original service data packet to be transmitted, the original identification information being used to identify the order of the original service data packet in multiple consecutively transmitted original service data packets; encapsulate the original identification information into an identification data packet; copy the original service data packet and the identification data packet into N copies respectively; and transmit the N copies of the original service data packet and the identification data packet through the N first wireless communication units respectively. N identification data packets are transmitted in parallel to N second wireless communication units, wherein each first wireless communication unit sends the identification data packet before the original service data packet; the data receiving and processing module is used to: determine the current target identification information; determine a target identification data packet from the identification data packets received from the N second wireless communication units based on the current target identification information, wherein the original identification information of the target identification data packet is consistent with the current target identification information; determine the original service data packet received following the target identification data packet as the target service data packet and save it, wherein the target identification data packet and the target service data packet are received through the same second wireless communication unit; and discard the received original service data packet, target identification data packet, and identification data packet that are duplicates of the target service data packet.
[0007] In some embodiments, the data sending processing module is used to connect to an external sending device, and the data receiving processing module is used to connect to an external receiving device; before generating original identification information for the original service data packet to be transmitted, the data sending processing module is further used to: receive the original service data packet sent by the external sending device; after determining the original service data packet received following the target identification data packet as the target service data packet and saving it, the data receiving processing module is further used to: send the target service data packet to the external receiving device.
[0008] In some embodiments, the external transmitting device is used to send the first service data packet and the second service data packet to the data transmission processing module sequentially, wherein the first service data packet is sent before the second service data packet; the data transmission processing module is specifically used to: receive the first service data packet and the second service data packet sequentially; generate first identification information and second identification information for the first service data packet and the second service data packet respectively, wherein the first identification information and the second identification information are used to identify the transmission order of the first service data packet and the second service data packet respectively; encapsulate the first identification information and the second identification information into a first identification data packet and a second identification data packet respectively; copy the first service data packet, the second service data packet, the first identification data packet and the second identification data packet into N copies respectively; according to the transmission order identified by the first identification information and the second identification information, and according to the transmission order of the first identification data packet, the first service data packet, the second identification data packet and the second service data packet, transmit N copies of the first identification data packet, N copies of the first service data packet, N copies of the second identification data packet and N copies of the second service data packet in parallel to N second wireless communication units through N first wireless communication units respectively; when the data receiving processing module is used to determine the current target identification information, it is specifically used to: determine the current target identification information based on the previous target identification information.
[0009] In some embodiments, the data receiving and processing module is specifically configured to: determine the current target identification information as the first identification information based on the previous target identification information; determine one of the first identification data packets received by N second wireless communication units as the first target identification data packet based on the current target identification information; determine and save the first service data packet received following the first target identification data packet as the first target service data packet, wherein the first target identification data packet and the first target service data packet are received through the same second wireless communication unit; discard the first service data packet, the first target identification data packet, and the first identification data packet that are duplicates of the first target service data packet; update the current target identification information to the second identification information based on the first identification information; determine one of the second identification data packets received by N second wireless communication units as the second target identification data packet based on the updated current target identification information; determine and save the second service data packet received following the second target identification data packet as the second target service data packet, wherein the second target identification data packet and the second target service data packet are received through the same second wireless communication unit; discard the second service data packet, the second target identification data packet, and the second identification data packet that are duplicates of the second target service data packet.
[0010] In some embodiments, the data receiving and processing module further includes a preset storage space. The data receiving and processing module is further configured to: determine the type of the current data packet received by each of the N second wireless communication units; if the current data packet is an identification data packet, determine whether the current data packet meets a preset condition; if the current data packet meets the preset condition, confirm that the path verification of the current data packet has passed, wherein the preset condition includes: the types of the previous data packet and the data packet before that received by the second wireless communication unit that received the current data packet are, in order, a service data packet and an identification data packet, and the order of the original identification information carried by the current data packet and the original identification information carried by the data packet before that is consecutive; if the current data packet is a service data packet, determine whether the previous data packet received by the second wireless communication unit that received the current data packet is an identification data packet that has passed the path verification. If the previous data packet received by the second wireless communication unit that received the current data packet is an identified data packet that has passed path verification, then the path verification of the current data packet is confirmed to be successful, and the current data packet and the previous data packet are associated as a data pair and stored in a preset storage space. When the data receiving and processing module determines a target identified data packet from N identified data packets received by the second wireless communication unit based on the current target identified information, it specifically does the following: it determines an identified data packet carrying original identified information that matches the current target identified information from the preset storage space to obtain the target identified data packet. When the data receiving and processing module determines the original service data packet received following the target identified data packet as the target service data packet and saves it, it specifically does the following: it determines the data pair containing the target identified data packet as the target data pair; and it filters out and saves the target data pair from the preset storage space.
[0011] In some embodiments, when the data receiving and processing module discards the received original service data packet that is duplicated with the target service data packet, the target identification data packet, and the identification data packet that is duplicated with the target identification data packet, it specifically performs the following: discarding data pairs that are duplicated with the target data pair in the storage space; sorting the multiple target data pairs selected based on different current target identification information according to the original identification information carried by the target identification data packets in the multiple target data pairs; sending the target service data packets in the multiple target data pairs to the external receiving device according to the sorting order; and discarding the target identification data packets in the multiple target data pairs.
[0012] In some embodiments, the data receiving and processing module is further configured to: if none of the current data packets received by one of the N second wireless communication units within a preset continuous time period pass the path verification, mark the wireless transmission path formed by the wireless communication unit as a fault path and issue an alarm for the fault path.
[0013] In some embodiments, the data transmission processing module further includes a buffer space; after determining the current target identification information, the data reception processing module is further configured to: if, after a preset waiting time following the determination of the current target identification information, an identification data packet carrying original identification information matching the current target identification information is not determined in the preset storage space, then generate packet loss information based on the current target identification information; and send the packet loss information to the data transmission processing module through at least one of the N second wireless communication units; the data transmission processing module is further configured to: determine the original service data packet corresponding to the packet loss information in the buffer space as the original service data packet to be transmitted, so as to retransmit the original service data packet corresponding to the packet loss information.
[0014] In some embodiments, N first wireless communication units and N second wireless communication units form N wireless transmission paths, and the N wireless transmission paths employ independent physical links and communication protocols.
[0015] According to another aspect of the embodiments of this application, a data transmission system is provided, including a transmitting device, a receiving device, and the apparatus as described in any of the preceding claims; a data transmitting processing module is connected to the transmitting device and is used to receive raw service data packets transmitted by the transmitting device; a data receiving processing module is connected to the receiving device and is used to transmit the raw service data packets to the receiving device.
[0016] This application embodiment establishes a one-to-one wireless communication connection by setting up N first wireless communication units and N second wireless communication units. In the data transmission processing module, the original service data packet to be transmitted and the identifier data packet generated for it are copied into N copies. Then, the N copies of data are transmitted in parallel to the N second wireless communication units through the N first wireless communication units, achieving redundant data transmission. This ensures data integrity through the transmission of complete service data packets and guarantees that even if some wireless communication units or their established wireless communication connections fail due to interference or faults, the original service data packet and identifier data packet can still be delivered to the receiving end through other normal wireless communication units and wireless communication connections. This avoids data loss due to single-point or localized sudden failures. Furthermore, by providing each original service data packet with a unique identifier data packet, the system ensures data integrity. The service data packets are generated and encapsulated into independent identification data packets. Each first wireless communication unit strictly sends the identification data packets before the corresponding original service data packets. This ensures that on each independent wireless communication connection, the identification data packets and the original service data packets have a stable and predictable arrival relationship. Based on the current target identification information, the data receiving and processing module matches the target identification data packet from the identification data packets received by N second wireless communication units. This allows the original service data packets subsequently received by the same second wireless communication unit to be identified as the target service data packet. By utilizing this correspondence fixed by the transmission timing, the inherent problem of disordered data packet order in multi-path parallel wireless transmission can be solved, ensuring the orderliness of the service data stream and improving the reliability of multi-path wireless transmission.
[0017] The above description is merely an overview of the technical solutions of the embodiments of this application. In order to better understand the technical means of the embodiments of this application and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of this application more obvious and understandable, specific implementation methods of this application are described below. Attached Figure Description
[0018] The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings: Figure 1 This illustration shows an application scenario diagram of the data transmission device provided in an embodiment of this application; Figure 2 A schematic diagram illustrating the workflow of the data transmission apparatus provided in an embodiment of this application is shown. Figure 3 A flowchart illustrating a sub-step of S180 in the operation of the data transmission apparatus provided in this application embodiment is shown. Figure 4 This paper illustrates another working process diagram of the data transmission apparatus provided in an embodiment of this application; Figure 5 A schematic diagram of the data transmission system provided in an embodiment of this application is shown. Detailed Implementation
[0019] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein.
[0020] This application is applicable to scenarios with high requirements for communication reliability, such as industrial automation, telemedicine, and intelligent transportation.
[0021] Figure 1 This application provides a schematic diagram illustrating an application scenario of the data transmission device. Figure 1 As shown, the data transmission processing module of the data transmission device is used to connect with the external transmitting device to receive the original service data packets sent by the external transmitting device, and the data receiving processing module is used to connect with the external receiving device to send the original service data packets to the external receiving device, so as to complete reliable data transmission between the external transmitting device and the external receiving device through the data transmission device.
[0022] External transmitting devices can be terminals with data output capabilities, such as industrial personal computers, programmable logic controllers (PLCs), industrial switches, medical imaging instruments, and aerial drones. External receiving devices are the corresponding electronic devices. In different application scenarios, external receiving devices can have different product forms. For example, when the external transmitting device is an industrial personal computer or PLC, the corresponding external receiving device is usually an actuator such as a servo drive, frequency converter, intelligent valve, or robotic arm, or a human-machine interface, data acquisition server, or cloud-edge computing node; when the external transmitting device is a medical imaging instrument, the external receiving device is a medical imaging workstation, a central intensive care system, or a remote expert consultation terminal; when the external transmitting device is an aerial drone, the external receiving device is a ground control station, a real-time image transmission display screen, or a cloud-based 3D modeling platform. Furthermore, external receiving devices also broadly encompass hardware entities with standard data receiving interfaces, such as industrial switches, intelligent traffic signal controllers, and remote surgical robotic arm control consoles.
[0023] The data sent by the external transmitting device is the raw service data packet. The raw service data packet specifically refers to the data frame that conforms to a specific communication standard. It includes not only traditional Ethernet data packets, but also various serial or bus data packets such as Recommended Standard 232 (RS-232) data packets, Recommended Standard 422 (RS-422) data packets, and Controller Area Network (CAN) data packets.
[0024] Preferably, the data transmission device includes a data transmission processing module and a data reception processing module. The data transmission processing module includes N first wireless communication units, and the data reception processing module includes N second wireless communication units. The N first wireless communication units and the N second wireless communication units are connected wirelessly to each other, where N is a positive integer greater than 1.
[0025] In practical deployments, the core control units of both the data transmission and reception processing modules are implemented using programmable logic devices (PLDs). PLDs are characterized by strong parallel processing capabilities and flexible logic design. For example, field-programmable gate arrays (FPGAs) or complex programmable logic devices (CPLDs) can be selected, allowing for flexible configuration of parameters such as the number of channels and buffer size through programming to adapt to different application scenarios.
[0026] When the data transmission processing module is connected to an external transmitting device, or the data reception processing module is connected to an external receiving device via a wired connection, both modules integrate a physical layer chip compatible with the external device. Taking a wired connection between the data transmission processing module and the external transmitting device as an example: if the external transmitting device provides an Ethernet interface, the data transmission processing module integrates an Ethernet physical layer transceiver, connected to the RJ45 interface via a twisted-pair cable or similar medium; if the external transmitting device provides a RS-232 or RS-422 interface, the data transmission processing module integrates the corresponding level conversion driver chip, connected via a multi-core shielded cable; if the external transmitting device provides a Controller Area Network (CAN) interface, the data transmission processing module integrates a CAN transceiver, connected to the corresponding terminal via a twisted-pair cable. By transmitting electrical or optical signals within a closed physical conductor, the data transmission processing module provides strong electromagnetic interference resistance, low transmission delay jitter, and a certain degree of physical isolation for data transmission between the data reception processing module and the external receiving device. In industrial workshops where radio frequency interference exists, this wired edge access method can ensure that raw business data packets are injected into the data transmission and processing module from external sending devices without loss or delay.
[0027] When the data transmission processing module and an external transmitting device, or the data reception processing module and an external receiving device, are connected wirelessly (taking the wireless connection between the data transmission processing module and the external transmitting device as an example), the data transmission processing module will integrate additional wireless communication units such as a Wireless Fidelity (WiFi) module, a Bluetooth module, or a Low Energy Wide Area Network (LEW) module. The external transmitting device uses its built-in wireless antenna to modulate the raw service data packets into radio waves of a specific frequency band and transmits them. The wireless communication unit of the data transmission processing module receives these radio waves, demodulates them into a digital baseband signal, and sends it to the core programmable logic device. By setting the data transmission processing module to connect wirelessly with the external transmitting device, the constraints of physical cables can be eliminated.
[0028] Wireless connectivity is suitable for scenarios where the external transmitting device is in motion, or where physical barriers such as rotating robotic arms or moving vehicles prevent the laying of cables between the external transmitting device and the data transmission and processing module. For example, in the application of rotating robotic arms, a sensor located at the end of the robotic arm acts as an external transmitting device. It can wirelessly transmit data to the data transmission and processing module, which is also installed on the robotic arm, thereby eliminating the risks of physical wear and poor contact caused by traditional slip rings or cable chains.
[0029] It should be noted that the wireless connection between the data transmission processing module and the external transmitting device, or between the data receiving processing module and the external receiving device, is logically isolated from the wireless communication connections formed by the N first wireless communication units of the data transmission processing module and the N second wireless communication units of the data receiving processing module.
[0030] The N first wireless communication units of the data transmission processing module and the N second wireless communication units of the data reception processing module establish wireless communication connections with each other. These N first wireless communication units and N second wireless communication units form N wireless transmission paths. These N wireless transmission paths use independent physical links, and the communication protocols of these N wireless transmission paths can be the same or different. The specific protocol selection can be configured according to actual usage needs. For example, different types of wireless communication modules such as Wireless Fidelity (WiFi), 4G, 5G, and LoRa can be selected, or modules of the same type but different frequency bands can be used.
[0031] The N wireless transmission paths employ independent physical links and communication protocols, ensuring that a failure in any one wireless communication connection will not affect the normal transmission of other wireless transmission paths.
[0032] The specific settings for N can be configured according to actual usage needs. For example, N can be set to 2, 4, and 8.
[0033] To provide a detailed explanation of the workflow of the data transmission device, Figure 2 A schematic diagram illustrating the workflow of the data transmission apparatus provided in this application embodiment is shown, such as... Figure 2 As shown, the data transmission processing module is used to execute S110~S140, and the data reception processing module is used to execute S150~S180.
[0034] S110, the data transmission and processing module generates original identification information for the original service data packet to be transmitted. The original identification information is used to identify the order of the original service data packet in multiple original service data packets transmitted in succession.
[0035] The raw service data packets to be transmitted are those sent by external transmitting devices and received by the data transmission processing module. The data transmission processing module obtains the bit stream of the corresponding protocol through its physical interface and performs underlying protocol verification on the obtained bit stream. For example, if the received data packet is an Ethernet packet, it performs frame header verification and Frame Check Sequence (FCS) verification; if the received data packet is a CAN packet, it performs cyclic redundancy check and format verification. If the verification fails, the data transmission processing module directly discards the raw service data packet and sends an error signal back to the external transmitting device, ensuring that the raw service data packets entering subsequent transmission stages are complete and error-free. This intercepts abnormal data at the source, preventing invalid data from consuming wireless communication connection bandwidth.
[0036] The following explanation uses Ethernet packets as an example of the type of raw service data packets.
[0037] After obtaining the correct original service data packet, the data transmission processing module executes S110 to generate original identification information for the original service data packet to be transmitted.
[0038] Original identification information is used to identify the order of original service data packets among multiple continuously transmitted original service data packets. Original identification information can be the original number or information after the number has been encrypted.
[0039] In one alternative approach, an incremental counting logic is used to generate the original identification information. For example, starting from 0, the count value increases by a fixed amount, such as 1, for each complete original service data packet received and processed. The count then cycles back to zero after reaching a preset maximum sequence number range (e.g., 65535). This incremental counting logic is simple and efficient, and can be completed within a very short clock cycle using the PLD's internal hardware counter. It clearly reflects the temporal order of the original service data packets and is completely independent of the protocol type of the original service data packets themselves.
[0040] S120, the data transmission and processing module encapsulates the original identification information into an identification data packet.
[0041] The data transmission and processing module calls the hardware encapsulation logic within the PLD to fill the generated raw identification information into a predefined simplified Ethernet packet format data field, typically occupying 4 bytes. Based on the filled data, it recalculates and generates a new frame check sequence (FCS) and appends it to the packet tail, forming an identification data packet that meets the requirements of the Ethernet physical layer transmission. The identification data packet uses a simplified Ethernet packet format, containing only a frame header, raw identification information field, and frame check sequence field; it does not contain service data, and the packet length is strictly controlled to the minimum Ethernet frame length, i.e., 64 bytes, to ensure a high transmission success rate for the identification data packet even in poorly compliant channels.
[0042] By encapsulating the data independently, the identification data packet is physically separated from the original business data packet. Subsequent processing does not require parsing the complex internal protocol structure of the original business data packet, thereby reducing processing latency.
[0043] S130, the data transmission and processing module copies the original service data packet and the identification data packet into N copies respectively.
[0044] Multiple data buses are opened inside the PLD, and hardware logic is used to simultaneously drive the data streams of the input raw business data packets and identification data packets to N output buses, thereby realizing the replication of raw business data packets and identification data packets.
[0045] During the replication process, all fields of the original service data packet and identification data packet must remain unchanged to ensure that each first wireless communication unit can obtain an identical copy of the data to be transmitted.
[0046] S140, the data transmission processing module transmits N original service data packets and N identification data packets in parallel to N second wireless communication units through N first wireless communication units respectively, wherein each first wireless communication unit sends the identification data packet before the original service data packet.
[0047] N first wireless communication units start the transmission process at the same time node to achieve parallel transmission.
[0048] In S140, strict control of the transmission timing is required. Each first wireless communication unit sends the identification data packet before the original service data packet corresponding to that identification data packet. After sending the corresponding identification data packet to all first communication units, the data transmission processing module inserts a fixed, small time delay internally in the hardware, or waits for all first wireless communication units to report that the identification data packet has entered the physical layer transmission queue, before sending the corresponding original service data packet.
[0049] This control of transmission timing can solidify the physical correspondence between the identification data packets and the original service data packets arriving before and after each independent wireless communication connection.
[0050] Parallel transmission through multiple wireless transmission paths enables redundant data transmission. As long as one of the N wireless transmission paths is normal, the data can be delivered, solving the problem of communication interruption caused by single point of failure. At the same time, sending a lead identification data packet can provide the data receiving and processing module with a clear expectation of data ownership, thereby solving the data synchronization problem of multi-path data streams.
[0051] When multiple raw service data packets are transmitted continuously, the data sending processing module executes S110~S140 while the data receiving processing module executes S150~S180.
[0052] S150, the data receiving and processing module determines the current target identification information.
[0053] The current target identifier information refers to the sequential number of the next legitimate raw service data packet that the data receiving and processing module expects to receive. The determination of the current target identifier information depends on the incrementing logic synchronized with the data sending and processing module. For example, the current target identifier information is 0 at initialization, and it is automatically incremented by 1 each time a target service data packet is successfully extracted and saved.
[0054] S160, the data receiving and processing module determines a target identification data packet from the identification data packets received from the N second wireless communication units according to the current target identification information, wherein the original identification information of the target identification data packet is consistent with the current target identification information.
[0055] Before executing S160, the data receiving and processing module also performs frame header and frame check sequence checks on the received data to filter out erroneous packets. Furthermore, if a second wireless communication unit in the data receiving and processing module continuously receives multiple erroneous packets, it can be determined that the wireless transmission path corresponding to the second wireless communication unit is faulty.
[0056] The data receiving and processing module reads the header data of the data packets buffered by N second wireless communication units in parallel, extracts the original identification information carried by the identification data packets, and compares the original identification information carried by the identification data packets with the current target identification information. Once a match is found in the buffer of any second wireless communication unit, the identification data packet is identified as the target identification data packet, and the second wireless communication unit that received the target identification data packet is recorded.
[0057] Within the data receiving and processing module, each second wireless communication unit is allocated an independent channel-specific buffer space. These buffer spaces employ a First-In-First-Out (FIFO) data structure to temporarily store the identification data packets and raw service data packets received by the corresponding channel in the order of reception.
[0058] For N wireless transmission paths, a match can be completed as long as one path successfully transmits the correct identifier data packet. Therefore, the setting of redundant wireless transmission paths makes the data transmission device more resistant to interference.
[0059] S170, the data receiving and processing module identifies the original service data packet received following the target identification data packet as the target service data packet and saves it, wherein the target identification data packet and the target service data packet are received through the same second wireless communication unit.
[0060] Because the data transmission processing module strictly ensures in S140 that the identification data packet is sent before the original service data packet, the data packet immediately stored after the target identification data packet in the buffer space of the same second wireless communication unit of the data reception processing module must be the corresponding original service data packet. The data reception processing module directly extracts the immediately following original service data packet from the sub-channel buffer space where the target identification data packet is located, identifies it as the target service data packet, and transfers it to the output buffer for storage.
[0061] This method of extracting target identification data packets does not require deep analysis of the complex internal structure of the original business data packets or modification of the original data packets as in traditional technologies. It can accurately extract data based solely on the physical queuing order in the channel buffer space, thereby reducing the processing latency of the PLD. Furthermore, the obtained target business data packets are in their original format without any tampering and can be directly output from the output buffer for use by the upper layer.
[0062] S180, the data receiving and processing module discards the original service data packet, the target identification data packet, and the identification data packet that are duplicates of the target service data packet.
[0063] After successfully extracting the target service data packet, the data receiving and processing module actively traverses the sub-channel buffer space of all N channels, deleting and cleaning up all the identification data packets carrying the same original identification information and the original service data packets that follow them, so as to achieve automatic deduplication, avoid redundant data from accumulating in the buffer and causing overflow, thereby reducing the invalid load of the data receiving and processing unit and ensuring the real-time processing of valid data by the data transmission device.
[0064] After completing the above saving process, the data receiving and processing module sends the target service data packet to the external receiving device. Specifically, the data receiving and processing module reads the saved target service data packets from the output buffer sequentially according to the ascending order of the current target identifier information, converts them into physical electrical signals or optical signals through the physical Ethernet interface, and sends them to the external receiving device. This ensures that the data stream received by the external receiving device is completely consistent with the data stream sent by the external sending device in terms of content and order, thereby achieving completely transparent transmission to upper-layer applications.
[0065] In complex and harsh wireless transmission environments, relying solely on multipath parallel transmission and channel-specific buffer storage may still lead to an extreme anomaly: although a wireless communication connection is not completely interrupted, severe multipath effects or sudden interference may cause out-of-order or scrambled data packets received within that wireless transmission path. To prevent scrambled data within the wireless transmission path from corrupting the final output, this embodiment introduces a strict path verification mechanism in the data receiving and processing module. Specifically, the data receiving and processing module also includes a preset storage space, and is further used to execute S151~S153: S151, for each of the N second wireless communication units, determine the type of the current data packet received.
[0066] The preset storage space is a storage area separate from the aforementioned channel cache space, specifically used to store data combinations that have undergone strict verification and are bound together.
[0067] The current data packet refers to the data packet that any second wireless communication unit has just stored in its sub-channel buffer space in the latest receive clock cycle.
[0068] In practical PLD design, data packets can be classified by parsing their length characteristics or specific frame header identification fields. For example, the aforementioned identification data packets are designed with a simplified frame format of extremely short and fixed length. However, Ethernet packets, RS-232 packets, RS-422 packets, and CAN packets, as raw service data packets, are usually much longer than identification data packets or have different frame header type codes. Therefore, the data receiving and processing module only needs to compare the length of the current data packet or parse its first few bytes of type field to accurately determine whether it is an identification data packet or a raw service data packet.
[0069] After determining the type of the current data packet, if the current data packet is an identification data packet, the data receiving and processing module executes S152; on the other hand, if it is determined in S151 that the current data packet is a service data packet (i.e., a raw service data packet), the data receiving and processing module executes S153.
[0070] S152, if the current data packet is an identification data packet, then determine whether the current data packet meets the preset conditions. If the current data packet meets the preset conditions, then confirm that the path verification of the current data packet is successful. The preset conditions include: the types of the previous data packet and the data packet before that received by the second wireless communication unit that received the current data packet are service data packets and identification data packets, respectively, and the order of the original identification information carried by the current data packet and the original identification information carried by the data packet before that is continuous.
[0071] The preset conditions are rules set based on strict timing control performed by the data transmission and processing module. Specifically, the preset conditions include verification in three dimensions: First, the type of the preceding data packet received by the second wireless communication unit receiving the current data packet must be a service data packet (i.e., the original service data packet); second, the type of the data packet received by the second wireless communication unit before that must be an identification data packet; third, the order of the original identification information carried in the current data packet and the original identification information carried in the data packet before that must be consecutive.
[0072] The "previous data packet" and "following previous data packet" here refer to the two historical data packets that immediately precede the current data packet in the sub-channel buffer space corresponding to the same second wireless communication unit, arranged chronologically. Since the data transmission processing module in S140 strictly ensures that each wireless transmission path alternates between sending identification data packets first and then original service data packets, in a normal, interference-free wireless transmission path, the receiving sequence must be a perfect alternation of "identification data packet, original service data packet, identification data packet, original service data packet," and the sequence numbers of adjacent identification data packets are continuously increasing. If the current identification data packet meets the above preset conditions, then the path verification of the current data packet is confirmed to be successful.
[0073] By setting the preset conditions in S152, out-of-order packets or duplicate ghost packets caused by sudden bit errors within the wireless transmission path can be intercepted. For example, if an original service data packet is lost due to interference, and a second wireless communication unit receives two identification data packets in succession, the previous data packet is no longer a service data packet, and the path verification fails. This abnormal identification data packet is thus blocked in the sub-channel buffer space and will not be allowed to enter the preset storage space, preventing it from causing subsequent mismatches.
[0074] S153, if the current data packet is a service data packet, then determine whether the previous data packet received by the second wireless communication unit that received the current data packet is an identification data packet that has passed the path verification. If the previous data packet received by the second wireless communication unit that received the current data packet is an identification data packet that has passed the path verification, then confirm that the path verification of the current data packet has passed, associate the current data packet and the previous data packet as a data pair, and store the data pair in the preset storage space.
[0075] In PLD, the association between the current data packet and the previous data packet can be achieved through pointer binding or shared index tags.
[0076] A verified identifier data packet and its immediately following original service data packet are physically bound together into an inseparable whole, i.e., a data pair. This data pair is then written as a valid record into a pre-defined storage space. This ensures that only original service data packets with the correct sequential relationship are allowed into the pre-defined storage space. Furthermore, the data pair storage method allows the original service data packets in the pre-defined storage space to still be identified by their corresponding identifier data packets.
[0077] When the data receiving and processing module executes S160, it specifically executes: S161, determining an identification data packet from the preset storage space that carries original identification information that matches the current target identification information, and obtaining the target identification data packet.
[0078] After filtering in steps S151-S153, only secure and reliable data pairs remain in the preset storage space. At this point, when the data receiving and processing module executes step S160 to determine the target identifier data packet, it specifically determines an identifier data packet from the preset storage space that carries original identifier information matching the current target identifier information, thus obtaining the target identifier data packet. Since the preset storage space stores pre-associated data pairs, this search process becomes more efficient. The data receiving and processing module no longer needs to traverse the sub-channel buffer spaces of each channel, nor does it need to analyze complex physical queuing sequences; instead, it can directly compare the original identifier information in the preset storage space. Once a match is found, the entire data pair containing the identifier data packet is locked.
[0079] After locking the target, the data receiving and processing module performs S171~S172 when executing the aforementioned S170 to determine and save the target service data packet: S171, determine the data pair where the target identifier data packet is located as the target data pair; S172, filter out the target data pair from the preset storage space and save it.
[0080] The PLD can extract the original service data packets from the target data pair through Direct Memory Access (DMA) mechanism or internal bus transfer logic, transfer them to the final output buffer to wait for transmission, and at the same time clear the record of the target data pair in the preset storage space.
[0081] For example, the data transmission device is configured with two wireless transmission paths. The external transmitting device is an on-board industrial control computer, which sends RS-422 control commands to the chassis actuator, which acts as the external receiving device, through the data transmission device. The current target identification information is expected to be "5". During transmission, channel one of the two wireless transmission paths suffers from extremely strong electromagnetic pulse interference, causing severe microscopic disorder in its received sequence. An erroneous sequence of "identification packet 4, identification packet 5 (abnormal duplication or out of order), service packet 4" appears sequentially in its sub-channel buffer space. When the data receiving and processing module executes S151 and S152, for the currently received "identification packet 5" in channel one, the data receiving and processing module checks its previous data packet and finds that it is "identification packet 4" rather than a service data packet, which does not meet the preset conditions. Therefore, the path verification of "identification packet 5" fails and it is intercepted in the sub-channel buffer space. Subsequently, for "service packet 4", since the previous "identification packet 4" had passed the verification in an earlier normal state, "service packet 4" and "identification packet 4" are associated as a data pair and stored in the preset storage space. Meanwhile, in the two wireless transmission paths, Channel 2 transmits normally, and its buffer pool correctly receives "Identification Packet 5" and "Service Packet 5" in sequence, meeting the preset conditions. The path verification of "Identification Packet 5" passes, and it is associated with "Service Packet 5" to form a data pair and stored in the preset storage space. When S161 is executed, the data pair with the identification information "5" is searched in the preset storage space. Since the erroneous "Identification Packet 5" from Channel 1 did not enter the preset storage space at all, the data pair of "Identification Packet 5 and Service Packet 5" provided by Channel 2 can be identified as the target data pair. Then, S172 is executed to extract the correct RS-422 control command and send it to the chassis actuator.
[0082] Furthermore, if a data packet in the sub-channel buffer space is not retrieved into the preset storage space after a certain period of time, it indicates that the data packet fails the path verification and is a problematic data packet, which can be discarded from the sub-channel buffer space. For example, the error "identifier packet 5" of channel one in the above example can be discarded from the sub-channel buffer space of channel one.
[0083] After the data receiving and processing module selects the target data pair from the preset storage space through the aforementioned steps, it still needs to deliver the data to an external receiving device. Therefore, Figure 3 This document illustrates a flowchart of a sub-step S180 in the workflow of the data transmission apparatus provided in this embodiment. Figure 3 As shown, when the data receiving and processing module executes S180, it specifically executes S181~S184: S181, Discard data pairs in the storage space that are duplicates of the target data pair.
[0084] Duplicate data pairs refer to those that carry the same original identification information as the target data pair. Due to the parallel transmission mechanism, other second wireless communication units will store the duplicate data pairs into the preset storage space earlier or later.
[0085] Inside the PLD, once a target data pair is successfully retrieved and locked, a global check signal is immediately triggered. This signal carries the original identification information of the target data pair and is broadcast to all storage partitions of the preset storage space via the internal bus. Upon receiving this signal, the control logic of the preset storage space compares the index tags, marks the memory addresses corresponding to data pairs with the same index tags in other partitions as invalid, and directly erases their physical contents in the next clock cycle through an overwrite method.
[0086] Since the preset storage space has limited capacity, timely removal of redundant data pairs caused by channel redundancy can alleviate storage pressure and prevent the preset storage space from overflowing due to being full of redundant data pairs, thereby ensuring that newly arriving data pairs can be stored smoothly.
[0087] S182, sort the multiple target data pairs selected based on different current target identification information according to the original identification information carried by the target identification data packets in the multiple target data pairs.
[0088] Although the data transmission and processing module sends data sequentially, due to the different physical link quality of different wireless communication connections, target data pairs carrying smaller original identification information may arrive at the preset storage space later than target data pairs carrying larger original identification information.
[0089] In PLDs, the inherent parallelism of hardware can be used for sorting. The original identification information can be directly used as the address offset of the Direct Memory Access (DMA) controller or as the weight key of the internal hardware priority queue. Sorting can be achieved through hardware pointer mapping or queue weight insertion.
[0090] Before entering the output buffer, multiple target data pairs are physically arranged in ascending order of the original identification information to eliminate the out-of-order phenomenon caused by multi-path parallel transmission, ensuring that the data stream to be output is correct in timing regardless of the jitter of the delay of each wireless transmission path.
[0091] S183, according to the sorting order, sends the target service data packets of multiple target data pairs to the external receiving device.
[0092] The PLD reads target data pairs sequentially from the preset storage space or output buffer according to the pre-sorted address order. However, during the reading process, a hardware data selector performs a stripping operation, extracting only the original business data part of the target data pair while blocking the identification data packet part of the target data pair.
[0093] The extracted raw service data packets are then pushed to the physical interface driver circuit corresponding to the external receiving device.
[0094] By stripping the target service data packets before sending them, it can be ensured that the byte stream finally delivered to the external receiving device is pure service data, while the identification data packets used for synchronization and verification introduced in the process are intercepted inside the data transmission device.
[0095] S184, Discard target identifier packets from multiple target data pairs.
[0096] During the transmission of S183, once the data selector extracts and sends out the target service data packet, the target identifier data packet originally bound to the preset storage space no longer functions, and the PLD can release this part of the storage space synchronously.
[0097] In complex and ever-changing industrial or mobile environments, a wireless communication connection may become permanently unusable due to persistent physical obstruction, strong electromagnetic interference, or complete hardware module failure. If the data receiving and processing module continues to perform endless path verification and cache management on such deeply faulted channels, it will waste the PLD's logic resources and may even cause the cache to be filled with a large amount of invalid garbage data, affecting the data processing of normal channels.
[0098] Therefore, preferably, the data receiving and processing module is also used to execute: S154, if the current data packets received by a certain second wireless communication unit among the N second wireless communication units within a preset continuous time period fail to pass the path verification, then the wireless transmission path formed by the wireless communication unit is marked as a fault path, and an alarm is issued for the fault path.
[0099] There are two ways to preset continuous time periods. The first is a time-based continuous window, which uses the PLD's internal hardware timer to set a fixed time threshold, such as 100 milliseconds, and continuously monitors a specific second wireless communication unit within this time window. The second is a packet-count-based continuous window, which uses a hardware counter to set a fixed packet count threshold, such as 5 or 10 consecutive packets. In practical engineering, the second method based on packet count is usually used because its judgment logic is more direct and is not affected by system clock drift. Regardless of the method used, the core attribute of preset continuous time periods is the word "continuous." That is, once any packet passes the path verification during this period, the monitoring window for that period must be immediately reset to zero and the timing or counting must restart, ensuring that the wireless transmission path is only considered faulty when a persistent and unrecoverable error occurs.
[0100] If the current data packet is an identification data packet, failing path verification means it does not meet the preset conditions that the preceding data packet must be a service data packet, and the next preceding data packet must be an identification data packet with consecutive sequence numbers. If the current data packet is a service data packet, failing means that there is no preceding identification data packet that has passed path verification. If, within a preset continuous time period, data packets on a certain wireless communication connection continuously fail to meet these conditions, it reflects two serious physical layer or link layer problems: First, the wireless transmission path has suffered from high-intensity noise floor or co-channel interference, causing the frame header or check field of the data packet to be completely tampered with, and it is even deprived of the qualification to enter the path verification stage in the lower-level frame verification, or even if it enters, it will inevitably fail due to out-of-order delivery; Second, the physical link of the wireless transmission path has been substantially broken, and the data receiving and processing module can only receive spurious noise-filled pseudo-packets.
[0101] Once the above conditions are met, the data receiving and processing module marks the wireless path as a faulty path. In the PLD's internal register group, each second wireless communication unit is assigned an independent status flag bit. During PLD system initialization, all flag bits are set to the valid state. When a wireless path triggers the fault determination in S154, the data receiving and processing module, through control logic generated by the hardware description language, forcibly flips the status flag bit corresponding to that path, writing an invalid status code representing a fault. Once this marking action is completed, it immediately triggers a series of chain isolation reactions within the data receiving and processing module. Subsequent scanning logic for the corresponding buffer pool of that channel, as well as the logic for writing data pairs to the preset storage space, will be shielded at the hardware level by this flag bit. In other words, even if one or two seemingly normal packets accidentally enter the buffer of the faulty channel due to reduced interference, the PLD will completely stop allocating computational resources for path verification. Through this flag bit-level logical isolation, the invalid load on the data receiving and processing module can be reduced, ensuring the real-time processing of valid data on normal wireless transmission paths.
[0102] The specific implementation methods for alarming fault paths can be divided into two types: local hardware alarms and remote message alarms. At the local hardware alarm level, the data receiving and processing module directly outputs the status signal of the fault flag bit to the general-purpose input / output (GPIO) pin of the programmable logic device. This pin is connected to the light-emitting diode (LED) indicator or buzzer on the device panel to achieve intuitive audible and visual alarms. At the remote message alarm level, the data receiving and processing module calls the internal abnormal message encapsulation logic to generate an abnormal status data packet containing detailed diagnostic information such as the fault channel number, fault occurrence timestamp, and number of consecutive failed checks. This data packet is then sent to an external receiving device (such as a monitoring host) or sent back to an external transmitting device via an independent low-speed management channel or a reused normal service output interface. This allows on-site maintenance personnel or remote network management systems to accurately locate the wireless communication module with physical faults in a timely manner, eliminating the need for blind troubleshooting, thus shortening the mean time to recovery and improving the overall maintainability of the deployment solution.
[0103] To address the extreme case where a given original service data packet is lost in all N wireless transmission paths, preferably, the data transmission processing module also includes a buffer space; after S150, the data reception processing module is further used to execute S155~S156: S155, if, after a preset waiting time following the determination of the current target identification information, an identification data packet carrying original identification information matching the current target identification information cannot be determined in the preset storage space, then packet loss information is generated based on the current target identification information.
[0104] The preset waiting time refers to the maximum timeout threshold set by the data receiving and processing module to tolerate delay differences among multiple wireless transmission paths. It can be implemented in hardware using a unidirectionally incrementing digital counter, for example, corresponding to 100 milliseconds of clock cycles. When S150 determines the current target identification information, this counter is reset to zero and begins timing. During the timing period, if a matching identification data packet successfully appears in the preset storage space, the counter stops and is reset to zero; if the counter overflows, it means that after a long period of time, none of the N wireless transmission paths have been able to deliver a valid data pair to the preset storage space, indicating a very low probability of a global sudden failure. At this time, the finite state machine inside the PLD immediately jumps to the exception handling state, using the hardware description language to directly package the current original identification information into a control frame, forming packet loss information.
[0105] S156, packet loss information is sent to the data transmission processing module through at least one of the N second wireless communication units.
[0106] The data receiving and processing module selects at least one healthy second wireless communication unit from among N second wireless communication units, encapsulates the packet loss information into a format suitable for transmission by the wireless module, and pushes it to the transmission queue. The reason at least one second wireless communication unit sends the packet loss information to the data transmitting and processing module is to improve the delivery rate of retransmission requests in extreme environments. The data receiving and processing module can choose to broadcast the packet loss information to all wireless transmission paths not marked as faulty paths, or select the single channel with the best signal strength for transmission based on channel quality assessment.
[0107] The data transmission processing module is also used to execute: S102, determining the original service data packet corresponding to the packet loss information in the buffer space as the original service data packet to be transmitted, so as to retransmit the original service data packet corresponding to the packet loss information.
[0108] When a retransmission is triggered, the data sending and processing module executes S102. The module parses the received packet loss information, extracts the lost original identification information, and then uses this original identification information as a retrieval key to directly locate the physical storage address of the corresponding original service data packet in the index table of the cache space. Once the location is successful, the data sending and processing module immediately marks the data packet at that address as pending transmission. At this time, the original identification information of the pending original service data packet uses the original identification information from the packet loss information, without generating a new one. The original identification information from the packet loss information is directly encapsulated into an identification data packet. Alternatively, the identification data packet corresponding to the original identification information from the packet loss information is further extracted from the cache space. The data sending and processing module then executes steps S130-S140 as described above, and the data receiving and processing module synchronously executes steps S150-S180 as described above.
[0109] By setting up retransmission for the original service data packets that are lost on all N wireless transmission paths, it can be ensured that the external receiving device receives the complete data stream.
[0110] External transmitting devices typically do not send isolated data packets, but rather continuously transmit data streams. For example, an external transmitting device might send a first service data packet and a second service data packet sequentially to a data transmission processing module, with the first service data packet being sent before the second. To illustrate the flow of a data transmission device in a continuous workflow, Figure 4 Another schematic diagram of the operation of the data transmission apparatus provided in this application embodiment is shown, such as... Figure 4As shown, the data sending processing module is specifically used to execute S211~S215, and the data receiving processing module is specifically used to execute S216~S223.
[0111] S211, the data transmission and processing module receives the first service data packet and the second service data packet in sequence; S212, the data transmission processing module generates first identification information and second identification information for the first service data packet and the second service data packet, respectively, wherein the first identification information and the second identification information are used to identify the transmission order of the first service data packet and the second service data packet; S213, the data transmission and processing module encapsulates the first identification information and the second identification information into a first identification data packet and a second identification data packet, respectively; S214, the data transmission and processing module copies the first service data packet, the second service data packet, the first identification data packet, and the second identification data packet into N copies respectively; In step S215, the data transmission processing module, according to the transmission order identified by the first identification information and the second identification information, transmits N copies of the first identification data packet, N copies of the first service data packet, N copies of the second identification data packet, and N copies of the second service data packet in parallel to N second wireless communication units through N first wireless communication units, respectively. Correspondingly, the data reception processing module, when executing step S150 above, specifically performs the following: determining the current target identification information based on the previous target identification information.
[0112] S216, The data receiving and processing module determines the current target identification information as the first identification information based on the previous target identification information; S217, the data receiving and processing module determines the first target identification data packet as the first target identification data packet from one of the identification data packets received by the N second wireless communication units according to the current target identification information; S218, the data receiving and processing module determines the first service data packet received following the first target identifier data packet as the first target service data packet and saves it, wherein the first target identifier data packet and the first target service data packet are received through the same second wireless communication unit; S219, the data receiving and processing module discards the first service data packet, the first target identifier data packet, and the first identifier data packet that are duplicates of the first target service data packet; S220, the data receiving and processing module updates the current target identification information to the second identification information according to the first identification information; S221, the data receiving and processing module determines one of the second identification data packets received by the N second wireless communication units as the second target identification data packet according to the updated current target identification information; S222, the data receiving and processing module determines the second service data packet received following the second target identifier data packet as the second target service data packet and saves it, wherein the second target identifier data packet and the second target service data packet are received through the same second wireless communication unit; S223, the data receiving and processing module discards the second service data packet, the second target identification data packet, and the second identification data packet that are duplicates of the second target service data packet.
[0113] For example, the external transmitting device is a PLC in an industrial field, generating a data stream that needs to be transmitted continuously. The PLC generates two service data packets sequentially: a first service data packet (represented as Data_A) and a second service data packet (represented as Data_B). The data transmission processing module first receives these two data packets from the PLC in sequence. Then, it generates identification information for each data packet to identify its transmission order: a first identification information ("3") is generated for Data_A, and a second identification information ("4") is generated for Data_B. The data transmission processing module then encapsulates these two identification information into independent identification data packets, namely, a first identification data packet (carrying "3") and a second identification data packet (carrying "4").
[0114] To achieve redundant transmission through multiple wireless transmission paths, the data transmission processing module copies the first service data packet (Data_A), the second service data packet (Data_B), the first identification data packet (identifier "3"), and the second identification data packet (identifier "4") into three copies each (N=3, meaning there are three independent wireless transmission paths). Based on the transmission order determined by the identification information, the data transmission processing module controls the three first wireless communication units to strictly arrange each data packet according to the sequence "first identification data packet, first service data packet, second identification data packet, second service data packet," that is, arranged as Data_A, first identification data packet (identifier "3"), Data_B, and second identification data packet (identifier "4"), obtaining a set of data. These three sets, totaling 12 data packets, are then transmitted in parallel through the three wireless transmission paths to the three second wireless communication units at the other end. Each first wireless communication unit transmits the set of data—Data_A, first identification data packet (identifier "3"), Data_B, and second identification data packet (identifier "4")—in the ordered sequence.
[0115] The data receiving and processing module first needs to determine which data to receive. Assuming that it has previously successfully processed a data packet with an identifier of "2", its stored previous target identifier is "2". Based on the incrementing logic, the data receiving and processing module determines the current target identifier to be "3", which is the first identifier.
[0116] Subsequently, the data receiving and processing module monitors the three wireless transmission paths. Once a first identifier data packet marked "3" is received from any of the second wireless communication units (e.g., path 2), it is immediately identified as the first target identifier data packet. Following this, the next data packet received from the same path (path 2), after being identified as Data_A, is determined to be the first service data packet arriving following the first target identifier data packet and is saved as the first target service data packet. At this point, duplicate first identifier data packets marked "3" and duplicate first service data packets containing Data_A that may arrive later from other paths (path 1 and path 3) will be identified and discarded.
[0117] After successfully processing the data corresponding to identifier "3", the data receiving and processing module updates the current target identifier information to "4", i.e., the second identifier information, based on the processed first identifier information "3". It then begins searching for data packets with identifier "4". When a second-identified data packet (identifier "4") is first received from a certain wireless transmission path (e.g., path 1), it is identified as the second target identifier data packet. Similarly, the next data packet, Data_B, received from the same path (path 1) is identified as the second target service data packet and saved. Meanwhile, duplicate packets with identifier "4" or content Data_B delivered from other paths are discarded.
[0118] Finally, the data receiving and processing module restores the first target service data packet (Data_A) and the second target service data packet (Data_B) in the correct order and sends them sequentially to an external receiving device (e.g., a monitoring server), thus completely, orderly, and without duplication, reproducing the original data stream sent by the transmitting PLC. Throughout the process, the parallel transmission of multiple wireless transmission paths provides redundancy and reliability, while the leader transmission method based on identifier data packets effectively solves the data out-of-order and duplication problems that may be caused by multi-path transmission.
[0119] This application embodiment establishes a one-to-one wireless communication connection by setting up N first wireless communication units and N second wireless communication units. In the data transmission processing module, the original service data packet to be transmitted and the identification data packet generated for it are copied into N copies respectively. Then, the corresponding N copies of data are transmitted in parallel to the N second wireless communication units through the N first wireless communication units, realizing redundant data transmission. This ensures data integrity by transmitting complete service data packets and ensures that when some wireless communication units or their established wireless communication connections fail due to interference or faults, the original service data packet and identification data packet can still be delivered to the receiving end through other normal wireless communication units and wireless communication connections. This avoids data loss caused by single-point or local sudden failures and improves the reliability of multi-path wireless transmission.
[0120] Furthermore, in this embodiment, the determined target service data packet is saved in the data receiving and processing module, while other original service data packets, target identification data packets, and their duplicate identification data packets that are received are discarded. This achieves automatic deduplication, avoids data accumulation and duplicate processing caused by multiple second wireless communication units receiving the same data packets in the data receiving and processing module, reduces the invalid load of the data processing unit, ensures the real-time processing of effective data by the device, and meets the high real-time requirements for service data packets.
[0121] Furthermore, this embodiment of the application generates and encapsulates an independent identification data packet for each original service data packet, and strictly requires each first wireless communication unit to send the identification data packet before the corresponding original service data packet. This ensures that on each independent wireless communication connection, the identification data packet and the original service data packet form a stable and predictable arrival relationship. Based on the current target identification information, the data receiving and processing module matches the target identification data packet from the identification data packets received by N second wireless communication units, thereby confirming the original service data packet subsequently received by the same second wireless communication unit as the target service data packet. By utilizing this correspondence fixed by the transmission timing, the inherent data packet order disorder problem in multi-path parallel wireless transmission can be solved, ensuring the orderliness of the service data stream.
[0122] Furthermore, compared to the traditional method of modifying the original service data packet by embedding identification information within it, this embodiment of the application uses an identification data packet independent of the original service data packet to carry sequence information. This eliminates the need for any parsing, encapsulation, or modification of the internal protocol structure of the original service data packet. Therefore, it saves time required for the data transmission processing module to encapsulate the data and for the data reception processing module to deeply parse the complex data packet structure. Simultaneously, the target service data packet obtained by the data reception processing module is the original service data packet without any tampering, and can be directly delivered to the upper-layer application without additional restoration or conversion steps. This not only reduces the transmission latency of the original service data packet but also completely preserves the original data format, further meeting the real-time requirements of the data packet.
[0123] Figure 5 A schematic diagram of the data transmission system provided in an embodiment of this application is shown, as follows: Figure 5 The data transmission system 300 shown includes a transmitting device 310, a receiving device 320, and a data transmission apparatus 330 as described in any of the above embodiments. The data transmission processing module 331 in the data transmission apparatus 330 is connected to the transmitting device 310 and is used to receive the original service data packets sent by the transmitting device 310. The data receiving processing module 332 in the data transmission apparatus 330 is connected to the receiving device 320 and is used to send the original service data packets to the receiving device 320.
[0124] In the several embodiments provided in this application, any function, if implemented as a software functional module / unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or other electronic device) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing computer program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0125] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, the embodiments of this application are not directed to any particular programming language. It should be understood that the content of this application described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of this application.
[0126] It should be noted that the above embodiments are illustrative of this application and not restrictive, and those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In claims enumerating several means, several units or modules of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
[0127] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A data transmission apparatus, characterized by comprising: The device includes a data transmission processing module and a data reception processing module. The data transmission processing module includes N first wireless communication units, and the data reception processing module includes N second wireless communication units. The N first wireless communication units and the N second wireless communication units are connected to each other via wireless communication, where N is a positive integer greater than 1. The data transmission and processing module is used for: An original identification information is generated for the original service data packet to be transmitted, and the original identification information is used to identify the order of the original service data packet in multiple consecutively transmitted original service data packets; The original identification information is encapsulated into an identification data packet; The original service data packet and the identification data packet are copied into N copies respectively; The N first wireless communication units transmit N original service data packets and N identification data packets in parallel to the N second wireless communication units, wherein each first wireless communication unit sends the identification data packets before the original service data packets. The data receiving and processing module is used for: Determine the current target identification information; Based on the current target identification information, a target identification data packet is determined from the identification data packets received from the N second wireless communication units, wherein the original identification information of the target identification data packet is consistent with the current target identification information; The original service data packet received following the target identifier data packet is identified as the target service data packet and saved, wherein the target identifier data packet and the target service data packet are received through the same second wireless communication unit; The received original service data packets that are duplicates of the target service data packets, the target identification data packets, and the identification data packets that are duplicates of the target identification data packets are discarded.
2. The apparatus of claim 1, wherein, The data transmission processing module is used to connect to an external transmitting device, and the data receiving processing module is used to connect to an external receiving device; Before generating the original identification information for the original service data packet to be transmitted, the data transmission processing module is further configured to: Receive the raw service data packets sent by the external transmitting device; After determining and saving the original service data packet received following the target identifier data packet as the target service data packet, the data receiving and processing module is further configured to: The target service data packet is sent to the external receiving device.
3. The apparatus of claim 2, wherein, The external sending device is used to send the first service data packet and the second service data packet to the data sending and processing module one after the other, wherein the first service data packet is sent before the second service data packet. The data transmission and processing module is specifically used for: The first service data packet and the second service data packet are received sequentially. First identification information and second identification information are generated for the first service data packet and the second service data packet, respectively, wherein the first identification information and the second identification information are used to identify the sending order of the first service data packet and the second service data packet; The first identification information and the second identification information are respectively encapsulated into a first identification data packet and a second identification data packet; The first service data packet, the second service data packet, the first identification data packet, and the second identification data packet are each copied into N copies; According to the transmission order identified by the first identification information and the second identification information, and in accordance with the transmission order of the first identification data packet, the first service data packet, the second identification data packet, and the second service data packet, N copies of the first identification data packet, N copies of the first service data packet, N copies of the second identification data packet, and N copies of the second service data packet are transmitted in parallel to the N second wireless communication units through the N first wireless communication units respectively. When the data receiving and processing module determines the current target identification information, it is specifically used for: The current target identification information is determined based on the previous target identification information.
4. The apparatus according to claim 3, characterized in that, The data receiving and processing module is specifically used for: The current target identification information is determined as the first identification information based on the previous target identification information; Based on the current target identification information, one of the identification data packets received by the N second wireless communication units is identified as the first target identification data packet; The first service data packet received following the first target identifier data packet is identified as the first target service data packet and saved, wherein the first target identifier data packet and the first target service data packet are received through the same second wireless communication unit; Discard any first service data packet, first target identifier data packet, and first identifier data packet that are duplicates of the first target identifier data packet. Update the current target identification information to the second identification information based on the first identification information; Based on the updated current target identifier information, one of the identifier data packets received by the N second wireless communication units is identified as the second target identifier data packet; The second service data packet received following the second target identifier data packet is identified as the second target service data packet and saved, wherein the second target identifier data packet and the second target service data packet are received through the same second wireless communication unit; Discard any second service data packets, second target identifier data packets, and second identifier data packets that are duplicates of the second target service data packet.
5. The apparatus according to claim 2, characterized in that, The data receiving and processing module further includes a preset storage space, and the data receiving and processing module is also used for: For each of the N second wireless communication units, determine the type of the current data packet received. If the current data packet is an identification data packet, then it is determined whether the current data packet meets the preset conditions. If the current data packet meets the preset conditions, then it is confirmed that the path verification of the current data packet is successful. The preset conditions include: the types of the previous data packet and the data packet before that received by the second wireless communication unit that received the current data packet are service data packets and identification data packets, respectively, and the order of the original identification information carried by the current data packet and the original identification information carried by the data packet before that is continuous. If the current data packet is a service data packet, then it is determined whether the previous data packet received by the second wireless communication unit that received the current data packet is an identification data packet that has passed the path verification. If the previous data packet received by the second wireless communication unit that received the current data packet is an identification data packet that has passed the path verification, then it is confirmed that the path verification of the current data packet has passed, and the current data packet and the previous data packet are associated as a data pair, and the data pair is stored in the preset storage space. When the data receiving and processing module determines a target identifier data packet from the identifier data packets received from the N second wireless communication units based on the current target identifier information, it is specifically used for: A target identifier data packet is obtained by determining an identifier data packet from the preset storage space that carries original identifier information that matches the current target identifier information; When the data receiving and processing module determines and saves the original service data packet received following the target identifier data packet as the target service data packet, it is specifically used for: The data pair containing the target identifier data packet is identified as the target data pair; The target data pairs are filtered out from the preset storage space and saved.
6. The apparatus according to claim 5, characterized in that, The data receiving and processing module is used to discard the received original service data packet that is duplicated with the target service data packet, the target identification data packet, and the identification data packet that is duplicated with the target identification data packet, specifically for the following purposes: Discard data pairs in the storage space that are duplicates of the target data pair; For multiple target data pairs filtered based on different current target identification information, the multiple target data pairs are sorted according to the original identification information carried by the target identification data packets in the multiple target data pairs; The target service data packets in the plurality of target data pairs are sent to the external receiving device according to the sorting order; Discard the target identifier data packets in the plurality of target data pairs.
7. The apparatus according to claim 5, characterized in that, The data receiving and processing module is also used for: If none of the current data packets received by any of the N second wireless communication units within a preset continuous time period pass the path verification, the wireless transmission path formed by the wireless communication unit is marked as a fault path, and an alarm is issued for the fault path.
8. The apparatus according to claim 5, characterized in that, The data transmission processing module further includes a cache space; after determining the current target identification information, the data reception processing module is further configured to: If, after a preset waiting time following the determination of the current target identification information, an identification data packet carrying original identification information matching the current target identification information is not determined in the preset storage space, then packet loss information is generated based on the current target identification information. The packet loss information is sent to the data transmission processing module through at least one of the N second wireless communication units; The data transmission and processing module is also used for: The original service data packets in the cache space corresponding to the packet loss information are identified as the original service data packets to be transmitted, so as to retransmit the original service data packets corresponding to the packet loss information.
9. The apparatus according to claim 1, characterized in that, The N first wireless communication units and the N second wireless communication units form N wireless transmission paths, and the N wireless transmission paths adopt independent physical links and communication protocols.
10. A data transmission system, characterized in that, It includes a transmitting device, a receiving device, and the apparatus as described in any one of claims 1 to 9; The data transmission processing module is connected to the transmission device and is used to receive the raw service data packets sent by the transmission device; The data receiving and processing module is connected to the receiving device and is used to send the original business data packet to the receiving device.