A data transmission method and system for a multi-redundancy network

By constructing a multi-redundant network and utilizing identity identification and hash algorithms, the problems of network storms and complex switching in industrial networks are solved, achieving stable and efficient data transmission and meeting the high reliability and plug-and-play requirements of industrial scenarios.

CN122137779APending Publication Date: 2026-06-02ZHEJIANG ZHIKONG TECH CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZHEJIANG ZHIKONG TECH CO LTD
Filing Date
2026-02-04
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing industrial networks are prone to network storms under multi-redundant network architectures, and it is difficult to ensure both reliability and stability while maintaining system simplicity. They cannot meet the requirements of modern industrial scenarios for high reliability, low latency, and strong fault tolerance.

Method used

By constructing a multi-redundant network, using identity identifiers and hash algorithms to determine the destination address of data packets, and combining real-time and non-real-time data routing tables for precise filtering, efficient data transmission and seamless link switching are achieved, avoiding network storms and complex fault diagnosis.

Benefits of technology

Effectively avoid network storms, ensure stable network operation, simplify equipment function design, shorten network switching time, improve data transmission reliability and real-time performance, enhance network flexibility and compatibility, meet plug-and-play requirements, and adapt to diverse industrial scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122137779A_ABST
    Figure CN122137779A_ABST
Patent Text Reader

Abstract

This invention relates to the field of industrial communication technology and provides a data transmission method for multi-redundant networks, comprising: constructing a basic topology network based on a master device and several slave devices; establishing connections with redundant ports of other devices through the redundant ports of the master device to form redundant links; when a device receives a real-time data packet, determining the target address of the identity identifier carried in the packet in the real-time data routing table; querying the status of the corresponding bit in the real-time data routing table according to the type, identity identifier, and packet sequence number of the real-time data packet, and performing a receive-allow or reject-forward operation; when a device receives a non-real-time data packet, querying the identity identifier and checksum stored in the non-real-time data routing table; and performing a receive-allow or reject-forward operation based on the matching of the query result with the information carried in the packet. This addresses the inherent limitations and core defects of existing industrial network topology construction methods and data transmission mechanisms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of industrial communication, and in particular to a data transmission method and system for a multi-redundant network. Background Technology

[0002] In modern industrial fields such as industrial automation and intelligent manufacturing, the reliability, real-time performance, and stability of data transmission are directly related to production efficiency, equipment safety, and product quality. As a core support for industrial systems, network communication technology's performance optimization and technological innovation have always been a focus of industry attention. Ethernet, with its significant advantages of excellent openness, strong compatibility, wide application range, and low hardware cost, has broken the closed limitations of traditional industrial buses, enabling convenient interconnection between devices from different manufacturers. Furthermore, relying on a mature technological ecosystem and a complete industrial chain support, it has shown a clear trend of deep application expansion into industrial settings, gradually becoming the mainstream choice for real-time industrial communication.

[0003] Network topology technology, as the core underlying technology of industrial real-time Ethernet, directly determines the data transmission path, redundancy, and fault tolerance of the network. Its design rationality and technological advancement are crucial to the overall operation of the industrial network, and therefore it is receiving increasing attention and in-depth research in the field of industrial communication. With the continuous enrichment of industrial scenarios and the continuous upgrading of application requirements, different industries (such as automobile manufacturing, energy and power, petrochemicals, and intelligent warehousing) and different production links have put forward different and stringent requirements for the performance of real-time Ethernet: On the one hand, the industrial environment is complex and changeable, and unexpected situations such as link interruption and equipment failure occur frequently. Real-time Ethernet needs to have high reliability and be able to build multi-path transmission channels by adding redundant links on the basis of existing star, linear, and ring topologies to achieve multi-redundant data transmission and ensure that data transmission is not interrupted when a single link fails. On the other hand, the addition or removal of equipment and the adjustment of workstations on industrial production lines occur frequently, requiring the network to meet users' plug-and-play needs for equipment and reduce the complexity of system deployment and maintenance.

[0004] Currently, existing industrial fieldbuses generally support three basic topologies: star, linear, and ring. Star topology, centered on a central node, offers flexible cabling, but the central node is prone to becoming a single point of failure. Linear topology is simple in structure and low in deployment cost, but a failure in a mid-link node can cause the entire link to break down. Ring topology offers some fault tolerance, but the data forwarding path is relatively fixed. To compensate for the shortcomings of a single topology and improve the reliability of network data transmission, the industry commonly adopts a method of establishing redundant links within the same network by connecting redundant ports of other devices to form redundant links. This creates a multi-redundant network control system, the core purpose of which is to reduce the impact of link failures on data transmission through multi-path backup.

[0005] However, in actual operation, such redundant networks often form multiple nested ring subnets due to the complexity of their topology. In this network architecture, if a conventional data forwarding mechanism is used, the lack of effective control over data transmission paths leads to data packets continuously circulating and multiplying within the ring subnets, potentially triggering a network storm. This results in saturated network bandwidth, significantly increased data transmission latency, and even network paralysis. If complex fault diagnosis mechanisms are used to avoid network storms, dedicated fault detection modules, complex path determination algorithms, and link switching logic need to be added to the equipment. This not only significantly increases the complexity of hardware design and software development but also prolongs the response time of network link switching. In industrial control scenarios, the latency and uncertainty of network switching can lead to interruptions in control command transmission and delayed equipment status feedback, causing the control network to fall into a brief state of uncertainty. This can result in serious consequences such as equipment malfunctions and production process disruptions, severely impacting the operational stability of the control system and the continuity of industrial production.

[0006] It is evident that the existing industrial network topology construction methods and data transmission mechanisms have inherent limitations and core defects: they cannot effectively avoid network storms under multi-redundant network architectures, and they cannot ensure system simplicity and switching stability while guaranteeing reliability. Ultimately, existing technical solutions cannot meet the core requirements of modern industrial scenarios for high reliability, low latency, and strong fault tolerance, thus restricting the further promotion and application of industrial real-time Ethernet in complex industrial environments. Summary of the Invention

[0007] To address the aforementioned problems, the present invention aims to provide a data transmission method and system for multi-redundant networks. In a multi-redundant network, messages can complete data transmission through the optimal transmission path, reducing the number of forwardings and improving the real-time performance of data transmission; simultaneously, through hot data backup transmission, seamless link switching is achieved in the event of network anomalies, avoiding problems such as uncertain operating status of the control system caused by complex redundancy switching mechanisms.

[0008] The above-mentioned objective of this invention is achieved through the following technical solutions: A data transmission method for a multi-redundant network includes the following steps: Constructing a multi-redundant network: A basic topology network is built based on one master device and several slave devices. The basic topology network includes at least one of ring, star, and linear topologies. Redundant links are formed by establishing connections between the redundant ports of each device and the redundant ports of other devices, thereby constructing a multi-redundant network. Each port of each device is configured with an independent or mirrored identity identifier, and each device internally maintains an address generation configuration table, a real-time data routing table, and a non-real-time data routing table. Processing of received real-time data: When the device receives a real-time data packet, it extracts the identity identifier carried in the packet and uses a hash algorithm to determine the target address in the real-time data routing table where the identity identifier is used to store the valid value of the sequence number. Based on the type, identity identifier, and sequence number of the real-time data packet, it queries the status of the corresponding bit in the real-time data routing table, and performs a receive-allow or reject-forward operation based on the status of the corresponding bit, while simultaneously updating the real-time data routing table. Subsequently, based on the real-time data reception status and communication status, it clears the corresponding valid status bit in the real-time data routing table. Processing of receiving non-real-time data: When the device receives a non-real-time data packet, it extracts the identity identifier and check value carried in the packet, and queries the identity identifier and check value stored in the internal non-real-time data routing table; based on the matching of the query result with the information carried in the packet, it performs the operation of accepting or rejecting forwarding, and synchronously updates the non-real-time data routing table; subsequently, according to the set rules or communication status, it clears the corresponding check value in the non-real-time data routing table.

[0009] Furthermore, in constructing a multi-redundant network, the identity of the device port satisfies: The port identifiers of different devices are different from each other, and the port identifiers of different devices of the same device are also different from each other, and all the identifiers are not consecutive; The device's communication ports include communication interfaces such as Ethernet, serial port, CAN, and fiber optic. Each communication port has an independent identifier through configuration or chip characteristics. Before communication is enabled, it is possible to determine whether different ports within the same device use their own independent identity or mirror the identity of other ports as redundant ports through settings; Furthermore, when sending real-time data, the real-time data packet carries the identity identifier of the sending port; when sending non-real-time data, the non-real-time data packet carries the identity identifier of the sending master port, which is specified through configuration.

[0010] Furthermore, in constructing a multi-redundancy network, the target address of the identity identifier in the real-time data routing table or the non-real-time data routing table is determined by combining a hash algorithm, specifically including: When a real-time or non-real-time data packet with a new identity is received, the lowest byte of the identity packet is first used as the address to query the real-time data routing table or the non-real-time data routing table for a valid value. If no valid value is found, the address of the identity in the real-time data routing table or the non-real-time data routing table is determined. If a valid value is found, the lowest two bytes of the identity are extracted, and after hashing, the lowest byte of the result is used as the address to query the real-time data routing table or the non-real-time data routing table for a valid value. If no valid value is found, the address of the identity in the real-time data routing table or the non-real-time data routing table is determined. If a valid value is found, the lowest three bytes of the identity are extracted, and a hash calculation is performed. This process is repeated, and the address generation configuration table records the identity (including multiple bytes) and the number of hash algorithm bytes read. The hash algorithm mentioned is a hash table algorithm that prioritizes speed and low collision rate, including algorithms such as MurmurHash, FNV, Jenkins Hash, and CRC.

[0011] Furthermore, in the processing of received real-time data, the receiving and passing operations are performed based on the type, identification, and sequence number of the real-time data message, specifically including: When a device receives real-time data from different ports, it sequentially queries the corresponding real-time data routing table based on the real-time data packet type and identifier, and then locates the corresponding bit in the real-time data routing table by combining the packet sequence number. If the bit is 0, the real-time data is received and allowed to pass, and the bit is updated to 1. If the bit is 1, the real-time data is rejected from being received and forwarded. The real-time data routing table is used to store the validity status of the sequence number of real-time packets sent by different ports of the device in the network. Its width matches the width of the sequence number. When the sequence number is 1 byte, the routing table width is 256 bits, and it supports sequence numbers of more than byte size.

[0012] Furthermore, in the processing of received real-time data, the corresponding valid status bits in the real-time data routing table are cleared, specifically including: After receiving multiple valid real-time data and updating the real-time data routing table, the valid status corresponding to the preceding sequence number is cleared. If the device no longer receives real-time data sent by a certain port of another device, the valid status bit corresponding to that port is cleared according to the set value or the communication behavior of other ports. When the device disconnects from other devices, all valid status bits in the real-time data routing table are cleared. The query of the real-time data routing table is achieved through the address generation configuration table and the real-time data routing table in combination, quickly determining the sequence number status corresponding to the identity identifier in the real-time message to complete the real-time data routing.

[0013] Furthermore, in the processing of receiving non-real-time data, the operation of allowing reception or rejecting forwarding is performed based on the matching of query results and information carried in the message, specifically including: The system polls the identity identifier and checksum in the non-real-time data routing table. If the found identity identifier matches the identity identifier carried in the message but the checksum does not match, the message is received and allowed to proceed, and the identity identifier and checksum in the non-real-time data routing table are updated. If both the identity identifier and checksum match the information carried in the message, the message is rejected and not forwarded. If the found identity identifier does not match the identity identifier carried in the message, the message is received and allowed to proceed, and the identity identifier and checksum in the non-real-time data routing table are updated. The non-real-time data routing table is used to store the identity identifier and checksum of non-real-time messages sent by the main port of the device in the network.

[0014] Furthermore, in the processing of receiving non-real-time data, the corresponding checksum value in the non-real-time data routing table is cleared, specifically including: Based on the set value or the communication behavior of other ports, clear the checksum in the corresponding non-real-time data routing table; when the device disconnects from other devices, clear all checksums in the non-real-time data routing table. The non-real-time data routing table is queried by polling the identity identifier and verification value in the table one by one to determine the routing status of the non-real-time message.

[0015] A data transmission system for a multi-redundant network for performing the data transmission method of the multi-redundant network as described above, comprising: Multi-redundant network construction module: Based on a master device and several slave devices, a basic topology network is built, which includes at least one of ring, star, and linear topologies; redundant links are formed by establishing connections between the redundant ports of each device and the redundant ports of other devices, thereby constructing a multi-redundant network; wherein each port of each device is configured with an independent or mirrored identity, and each device internally maintains an address generation configuration table, a real-time data routing table, and a non-real-time data routing table; Real-time data processing module: When the device receives a real-time data packet, it extracts the identity identifier carried in the packet and uses a hash algorithm to determine the target address in the real-time data routing table where the identity identifier is used to store the valid value of the sequence number; based on the type, identity identifier, and sequence number of the real-time data packet, it queries the status of the corresponding bit in the real-time data routing table, and performs a receive-allow or reject-forward operation based on the status of the corresponding bit, while synchronously updating the real-time data routing table; subsequently, based on the real-time data reception status and communication status, it clears the corresponding valid status bit in the real-time data routing table; Non-real-time data processing module: When the device receives a non-real-time data packet, it extracts the identity identifier and check value carried in the packet, and queries the identity identifier and check value stored in the internal non-real-time data routing table; based on the matching of the query result with the information carried in the packet, it performs a receive-allow or reject-forward operation, and synchronously updates the non-real-time data routing table; subsequently, according to the set rules or communication status, it clears the corresponding check value in the non-real-time data routing table.

[0016] A computer device, characterized in that it includes a memory and one or more processors, wherein the memory stores computer code, and when the computer code is executed by the one or more processors, the one or more processors perform the method as described above.

[0017] A computer-readable storage medium, characterized in that the computer-readable storage medium stores computer code, which, when executed, performs the method described above.

[0018] Compared with the prior art, the present invention has at least one of the following beneficial effects: (1) Effectively avoid network storms and ensure stable network operation: This invention uses a dual matching mechanism of the sequence number bit status verification of the real-time data routing table and the identity identifier and verification value of the non-real-time data routing table to accurately filter duplicate packets and prevent data from being forwarded indefinitely in the ring subnet. This fundamentally solves the network storm problem that is easily caused by conventional data forwarding mechanisms, ensures that industrial network bandwidth resources are not occupied, and ensures smooth data transmission channels.

[0019] (2) Simplify equipment function design and shorten network switching time: Compared with the existing complex fault diagnosis mechanism, the present invention relies on the hash algorithm to quickly determine the target address of the identity identifier in the routing table, and combines three core configuration tables to realize efficient judgment of data routing. There is no need to add a complex fault detection module and path calculation logic, which significantly reduces the complexity of the internal functions of the equipment. At the same time, through redundant link hot standby transmission and automatic update and recovery mechanism of routing table, the link switching is achieved without disturbance when the network is abnormal, avoiding the control network from falling into a brief unknown state, and greatly improving the operation stability of the control system and the continuity of industrial production.

[0020] (3) Improve data transmission reliability and real-time performance: Based on the master-slave device architecture, this invention constructs a multi-redundant network through redundant ports, providing multi-path backup for data transmission. This ensures that data can still be transmitted normally through other redundant links when a single link fails, meeting the core requirement of high network reliability in industrial scenarios. At the same time, the efficient addressing capability of the hash algorithm and the fast query mechanism of the routing table reduce the number of data forwardings, help messages select the optimal transmission path, and effectively improve the real-time performance of data transmission, especially suitable for scenarios with high real-time requirements such as industrial control commands.

[0021] (4) Enhanced network flexibility and compatibility to meet plug-and-play requirements: This invention supports various basic topologies such as ring, star, and linear topologies, and the communication ports are compatible with various interface types such as Ethernet, serial port, CAN, and fiber optic. The port identification can be flexibly configured as an independent identifier or a mirrored identifier to adapt to the redundancy deployment requirements of different devices. This flexible design enables the network to adapt to common industrial scenarios such as adding or removing equipment and adjusting workstations, meeting users' plug-and-play requirements for equipment and reducing the complexity of system deployment and maintenance.

[0022] (5) Optimize routing table management and improve the system's sustainable operation capability: This invention designs a routing table aging and clearing mechanism. The real-time data routing table will clear the valid status of the previous sequence number according to the subsequent data reception, and the non-real-time data routing table will clear the check value periodically according to the set rules. At the same time, when the device disconnects from communication, the routing table will automatically restore the initial value, avoid invalid data occupying storage resources for a long time, ensure that the routing table always maintains an efficient management state, and provide a guarantee for the long-term stable operation of the system.

[0023] (6) Adaptable to diverse industrial scenarios and has broad application value: This invention not only solves the core pain point of data transmission under multiple redundant networks, but also takes into account multiple industrial needs such as reliability, real-time performance and flexibility. It can be widely used in industrial field Ethernet communication scenarios in different industries such as automobile manufacturing, energy and power, petrochemicals, and smart warehousing. It is especially suitable for complex industrial environments with strict requirements for network stability and data transmission efficiency, and has strong practicality and promotion value. Attached Figure Description

[0024] Figure 1 This is a schematic diagram of a typical real-time Ethernet topology architecture of the present invention.

[0025] Ports 1 and 2 of the real-time Ethernet communication modules 1-8 form a ring network in a daisy-chain manner.

[0026] Port 3 of real-time Ethernet communication module 1 and port 3 of real-time Ethernet communication module 4 form a redundant link; Port 4 of real-time Ethernet communication module 1 and port 4 of real-time Ethernet communication module 6 form a redundant link; Port 3 of real-time Ethernet communication module 2 and port 3 of real-time Ethernet communication module 6 form a redundant link; Port 3 of real-time Ethernet communication module 3 and port 3 of real-time Ethernet communication module 7 form a redundant link; The port identifiers of real-time Ethernet communication module 1 are 1-1, 1-2, 1-3, and 1-4; The port identifiers for real-time Ethernet communication module 2 are 2-1, 2-2, and 2-3; The port identifiers for the real-time Ethernet communication module 3 are 3-1, 3-2, and 3-3; The ports of the real-time Ethernet communication module 4 are labeled 4-1, 4-2, and 4-3; The ports of the real-time Ethernet communication module 5 are labeled 5-1 and 5-2; The port identifiers of the real-time Ethernet communication module 6 are 6-1, 6-2, 6-3, and 6-4; The ports of the real-time Ethernet communication module 7 are labeled 7-1, 7-2, and 7-3; The ports of the real-time Ethernet communication module 8 are labeled 8-1 and 8-2. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0028] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms "a," "an," "the," and "the" used herein may also include the plural forms. It should be further understood that the term "comprising" as used in this specification means the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0029] First Embodiment This embodiment provides a data transmission method for a multi-redundant network, including the following steps: (1) Constructing a multi-redundant network: Based on a master device and several slave devices, a basic topology network is built, which includes at least one of ring, star, and linear topologies; redundant links are formed by establishing connections between the redundant ports of each device and the redundant ports of other devices, thereby constructing a multi-redundant network; wherein each port of each device is configured with an independent or mirrored identity identifier, and each device maintains an address generation configuration table, a real-time data routing table, and a non-real-time data routing table.

[0030] In constructing a multi-redundant network, the identity of the device port satisfies: The port identifiers of different devices are different from each other, and the port identifiers of different devices of the same device are also different from each other, and all the identifiers are not consecutive; The device's communication ports include communication interfaces such as Ethernet, serial port, CAN, and fiber optic. Each communication port has an independent identifier through configuration or chip characteristics. Before communication is enabled, it is possible to determine whether different ports within the same device use their own independent identity or mirror the identity of other ports as redundant ports through settings; Furthermore, when sending real-time data, the real-time data packet carries the identity identifier of the sending port; when sending non-real-time data, the non-real-time data packet carries the identity identifier of the sending master port, which is specified through configuration.

[0031] In constructing a multi-redundancy network, the target address of the identity identifier in the real-time data routing table or the non-real-time data routing table is determined by combining a hash algorithm, specifically including: When a real-time or non-real-time data packet with a new identity is received, the lowest byte of the identity packet is first used as the address to query the real-time data routing table or the non-real-time data routing table for a valid value. If no valid value is found, the address of the identity in the real-time data routing table or the non-real-time data routing table is determined. If a valid value is found, the lowest two bytes of the identity are extracted, and after hashing, the lowest byte of the result is used as the address to query the real-time data routing table or the non-real-time data routing table for a valid value. If no valid value is found, the address of the identity in the real-time data routing table or the non-real-time data routing table is determined. If a valid value is found, the lowest three bytes of the identity are extracted, and a hash calculation is performed. This process is repeated, and the address generation configuration table records the identity (including multiple bytes) and the number of hash algorithm bytes read. The hash algorithm mentioned is a hash table algorithm that prioritizes speed and low collision rate, including algorithms such as MurmurHash, FNV, Jenkins Hash, and CRC.

[0032] This technical solution revolves around the foundational construction of a multi-redundant network. Its core lies in establishing a solid foundation for reliable data transmission by clearly defining the network architecture, port identification rules, and address location logic. The network is built around a master device and several slave devices. First, one or more basic topologies—ring, star, or linear—are established. Then, redundant ports on each device are connected to redundant ports on other devices, forming multi-path redundant links, ultimately constituting a multi-redundant network. To ensure accurate identification and conflict-free communication between devices, all ports on each device are configured with unique identifiers, adhering to strict uniqueness rules: port identifiers on different devices are distinct, and different port identifiers on the same device are also unique; all identifiers are non-contiguous. Communication ports are compatible with common types such as Ethernet, serial, CAN, and fiber optics. Each port has an independent identifier by default through configuration or chip characteristics, and this identifier can be flexibly configured before communication begins. The port can use its own independent identifier or mirror the identifiers of other ports as redundant backup ports. Regarding data transmission rules, real-time data packets carry the identifier of the sending port, while non-real-time data packets carry the identifier of the sending master port, which can be specified in advance. For messages with new identifiers, the solution employs a hash algorithm to accurately locate their storage address in the real-time or non-real-time data routing table: Upon receiving such a message, the lowest byte of the identifier is extracted as a candidate address. The corresponding routing table is then checked for a valid value; if not, this candidate address is the target address. If a value is found, the lowest two bytes, three bytes, and so on are extracted sequentially. A hash calculation is performed on each extracted byte, and the lowest byte of the result is used as a new candidate address. This process is repeated until an invalid address is found. Simultaneously, the identifier and the number of bytes read corresponding to the hash algorithm are recorded in the address generation configuration table. The selected hash algorithms are all suitable for hash tables, prioritizing speed and low collision rates, including MurmurHash, FNV, Jenkins Hash, and CRC, ensuring efficient address location and minimizing collisions.

[0033] (2) Processing of received real-time data: When the device receives a real-time data packet, it extracts the identity identifier carried in the packet and uses a hash algorithm to determine the target address in the real-time data routing table where the identity identifier is used to store the valid value of the sequence number; according to the type, identity identifier and sequence number of the real-time data packet, it queries the status of the corresponding bit in the real-time data routing table, performs a receive-allow or reject-forward operation based on the status of the corresponding bit, and updates the real-time data routing table synchronously; subsequently, according to the real-time data reception status and communication status, it clears the corresponding valid status bit in the real-time data routing table.

[0034] In the processing of received real-time data, the receiving and forwarding are either allowed or denied based on the type, identifier, and sequence number of the real-time data message. Specifically, this includes: When a device receives real-time data from different ports, it sequentially queries the corresponding real-time data routing table based on the real-time data packet type and identifier, and then locates the corresponding bit in the real-time data routing table by combining the packet sequence number. If the bit is 0, the real-time data is received and allowed to pass, and the bit is updated to 1. If the bit is 1, the real-time data is rejected from being received and forwarded. The real-time data routing table is used to store the validity status of the sequence number of real-time packets sent by different ports of the device in the network. Its width matches the width of the sequence number. When the sequence number is 1 byte, the routing table width is 256 bits, and it supports sequence numbers of more than byte size.

[0035] In the processing of received real-time data, the corresponding valid status bits in the real-time data routing table are cleared, specifically including: After receiving multiple valid real-time data and updating the real-time data routing table, the valid status corresponding to the preceding sequence number is cleared. If the device no longer receives real-time data sent by a certain port of another device, the valid status bit corresponding to that port is cleared according to the set value or the communication behavior of other ports. When the device disconnects from other devices, all valid status bits in the real-time data routing table are cleared. The query of the real-time data routing table is achieved through the address generation configuration table and the real-time data routing table in combination, quickly determining the sequence number status corresponding to the identity identifier in the real-time message to complete the real-time data routing.

[0036] This section of the technical solution focuses on the reception and processing of real-time data. The core logic is a closed-loop process of precise addressing, status judgment, and dynamic maintenance to ensure efficient transmission and prevent duplicate forwarding of real-time data. When any port of the device receives a real-time data packet, it first extracts the port identifier carried in the packet and then uses a hash algorithm to quickly locate the target address in the real-time data routing table where the identifier stores the valid sequence number value, providing a basis for subsequent judgments. Next, the device accurately matches the corresponding real-time data routing table based on the type of the real-time data packet and the extracted identifier, and then locates the corresponding bit in the routing table using the packet sequence number. This routing table is specifically used to record the valid status of the sequence numbers of real-time packets sent by different ports of various devices in the network. Its width is consistent with the sequence number width; for example, a 1-byte sequence number corresponds to a 256-bit wide routing table, while also supporting the adaptation needs of larger byte sequence numbers. If the located bit is 0, it means that the real-time data for that sequence number has not yet been received. The device will receive and allow the data, and simultaneously update the bit to 1 to mark it as received. If the bit is 1, it indicates that the data has already been received, and the device will directly refuse to receive and forward it to avoid duplicate transmission. In subsequent maintenance, after the device receives and updates multiple valid real-time data to the routing table, it will automatically clear the valid status corresponding to the previous sequence number to free up storage space for new data. If no real-time data is received from a certain device port for a long time, the valid status bit corresponding to that port will be cleared according to preset rules or the communication status of other ports. If the device disconnects from other devices, all valid status bits in the real-time data routing table will be cleared directly to ensure the accuracy of the routing table status. The query process of the real-time data routing table is achieved through the coordinated operation of the address generation configuration table and the real-time data routing table, quickly locking the sequence number status corresponding to the identity identifier in the real-time message, thereby efficiently completing the routing and forwarding of real-time data.

[0037] (3) Processing of receiving non-real-time data: When the device receives a non-real-time data packet, it extracts the identity identifier and check value carried in the packet, and queries the identity identifier and check value stored in the non-real-time data routing table. Based on the matching of the query result with the information carried in the packet, it performs the operation of accepting or rejecting forwarding, and updates the non-real-time data routing table synchronously. Subsequently, according to the set rules or communication status, it clears the corresponding check value in the non-real-time data routing table.

[0038] In the processing of receiving non-real-time data, the operation of allowing reception or rejecting forwarding is performed based on the matching of query results and the information carried in the message. Specifically, this includes: The system polls the identity identifier and checksum in the non-real-time data routing table. If the found identity identifier matches the identity identifier carried in the message but the checksum does not match, the message is received and allowed to proceed, and the identity identifier and checksum in the non-real-time data routing table are updated. If both the identity identifier and checksum match the information carried in the message, the message is rejected and not forwarded. If the found identity identifier does not match the identity identifier carried in the message, the message is received and allowed to proceed, and the identity identifier and checksum in the non-real-time data routing table are updated. The non-real-time data routing table is used to store the identity identifier and checksum of non-real-time messages sent by the main port of the device in the network.

[0039] In processing the received non-real-time data, the corresponding checksum value in the non-real-time data routing table is cleared, specifically including: Based on the set value or the communication behavior of other ports, clear the checksum in the corresponding non-real-time data routing table; when the device disconnects from other devices, clear all checksums in the non-real-time data routing table. The non-real-time data routing table is queried by polling the identity identifier and verification value in the table one by one to determine the routing status of the non-real-time message.

[0040] This section of the technical solution addresses the reception and processing of non-real-time data. The core principle is to ensure accurate transmission and prevent duplicate forwarding of non-real-time data (such as logs and configuration information) through a polling query-precise matching-dynamic maintenance logic. When a device receives a non-real-time data packet, it first extracts the identifier and checksum of the sending device's main port carried in the packet. These two pieces of information are the core basis for determining whether data needs to be received. The non-real-time data routing table, which stores this crucial information, is primarily used to record the identifiers and checksums of non-real-time packets sent by the main ports of various devices in the network, providing a reference for matching decisions. The query process uses a polling method, retrieving the identifiers and checksums from the non-real-time data routing table one by one to ensure no record is missed and to accurately determine the routing status of non-real-time packets. The matching judgment is divided into three cases: If the queried identity identifier matches the identity identifier carried in the message, but the checksum is different, it indicates that the data has been updated. The device will receive and allow the message, and simultaneously update the corresponding identity identifier and checksum in the routing table. If both the identity identifier and checksum are completely consistent with the information carried in the message, it indicates that the data has been received before. The device will directly refuse to receive and forward the data to avoid redundant transmission. If the queried identity identifier does not match the identity identifier carried in the message, it indicates that the data is from a new sender. The device will receive and allow the message, and simultaneously update the sender's identity identifier and checksum in the routing table. In subsequent maintenance, the device will periodically clear the checksum corresponding to non-real-time data in the routing table according to preset rules or the communication behavior of other ports to avoid invalid information occupying storage resources for a long time. If the device disconnects from other devices, it will directly clear all checksums in the routing table to ensure that the routing table status is always accurate and to provide a reliable foundation for subsequent re-communication.

[0041] Second Embodiment This embodiment provides a data transmission system for a multi-redundant network used to execute the data transmission method of the multi-redundant network as described in the first embodiment, comprising: Multi-redundant network construction module: Based on a master device and several slave devices, a basic topology network is built, which includes at least one of ring, star, and linear topologies; redundant links are formed by establishing connections between the redundant ports of each device and the redundant ports of other devices, thereby constructing a multi-redundant network; wherein each port of each device is configured with an independent or mirrored identity, and each device internally maintains an address generation configuration table, a real-time data routing table, and a non-real-time data routing table; Real-time data processing module: When the device receives a real-time data packet, it extracts the identity identifier carried in the packet and uses a hash algorithm to determine the target address in the real-time data routing table where the identity identifier is used to store the valid value of the sequence number; based on the type, identity identifier, and sequence number of the real-time data packet, it queries the status of the corresponding bit in the real-time data routing table, and performs a receive-allow or reject-forward operation based on the status of the corresponding bit, while synchronously updating the real-time data routing table; subsequently, based on the real-time data reception status and communication status, it clears the corresponding valid status bit in the real-time data routing table; Non-real-time data processing module: When the device receives a non-real-time data packet, it extracts the identity identifier and check value carried in the packet, and queries the identity identifier and check value stored in the internal non-real-time data routing table; based on the matching of the query result with the information carried in the packet, it performs a receive-allow or reject-forward operation, and synchronously updates the non-real-time data routing table; subsequently, according to the set rules or communication status, it clears the corresponding check value in the non-real-time data routing table.

[0042] Third Embodiment like Figure 1 As shown, this embodiment provides a specific example of a data transmission method for a multi-redundant network. The network includes eight real-time Ethernet communication modules, labeled as real-time Ethernet communication modules 1 to 8, with real-time Ethernet communication module 1 being the master device and the remaining modules being slave devices.

[0043] The real-time Ethernet communication module maintains a real-time data routing table and a non-real-time data routing table to manage whether data received by its own data receiving port is routed to its own sending port. The real-time data routing table is two memory blocks with a width of 256 bits and a depth of 256; the non-real-time data routing table is a memory block with a width of 32 bits and a depth of 256.

[0044] Ports 1 and 2 of devices in real-time Ethernet communication modules 1-8 have their own independent identification numbers. If ports 3 and 4 also exist in the real-time Ethernet communication module, they are used as redundant ports. Port 3 shares an identification number with port 1, and port 4 shares an identification number with port 2, with the two identification numbers differing by 1. The sequence number in the real-time data sent by the real-time Ethernet communication module is incremented by 1, and after reaching 255, it is cleared to 0 and incremented again.

[0045] I. Description of Real-time Data Transmission Mechanism After the real-time Ethernet is powered on, the network determines the network master device through a designated or contention-based method. In this example, the real-time Ethernet module 1 is the master device, which sends periodic real-time data communication messages to the outside world through its four ports. The messages sent by the four ports carry the same real-time data type identifier and sequence number; among them, ports 1 and 3 carry the same identity identifier; ports 2 and 4 carry another identical identity identifier; the four messages are denoted as message A1, message A3, message B2 and message B4 respectively.

[0046] First repost: When the real-time Ethernet communication module 1 sends real-time message A1 from 1-1 to 5-2, module 5 detects the message, reads the message's identification number and type identifier, first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 read from the real-time data routing table, it allows the message to be received and forwards it to 6-2 through 5-1; and sets that bit to 1 and writes it into the real-time data routing table.

[0047] When the real-time Ethernet communication module 1 sends real-time message B2 from 1-2 to 2-1, module 2 detects the message, reads the message's identification number and type identifier, first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass; if they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 read from the real-time data routing table, it allows the message to be received and forwards it to 3-1 and 6-3 through 2-2 and 2-3 respectively; and sets the bit to 1 and writes it into the real-time data routing table.

[0048] When the real-time Ethernet communication module 1 sends real-time message A3 from 1-3 to 4-3, module 4 detects the message, reads the message's identification number and type identifier, first determines whether the message's identification is the same as its own identification. If they are the same, the message is rejected and allowed to pass. If they are different, the status of the address generation configuration table is checked. If it is a new address, the address in the real-time data routing table is determined according to the identification and hash algorithm, written into the address generation configuration table, and the data is read. Finally, the status is determined according to the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, the message is allowed to be received and forwarded to 3-2 and 8-1 through 4-1 and 4-2 respectively. The bit is then set to 1 and written into the real-time data routing table.

[0049] When the real-time Ethernet communication module 1 sends real-time message B4 from 1-4 to 6-4, module 6 detects the message, reads the message's identification number and type identifier, first determines whether the message's identification is the same as its own identification. If they are the same, the message is rejected and allowed to pass. If they are different, the status of the address generation configuration table is checked. If it is a new address, the address in the real-time data routing table is determined according to the identification and hash algorithm, written into the address generation configuration table, and the data is read. Finally, the status is determined according to the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, the message is allowed to be received and forwarded to 7-2, 5-1, and 2-3 through 6-1, 6-2, and 6-3 respectively; and the bit is set to 1 and written into the real-time data routing table.

[0050] After the first forwarding is completed, the message reception status of the master device in the address generation configuration table of each slave device is shown in Table 1 below.

[0051] Table 1 Second repost: Port 6-2 receives and inspects message A1. Module 6 reads the message's identification number and type identifier. It first checks if the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 7-2, 2-3, and 1-4 via 6-1, 6-3, and 6-4 respectively. It then sets the bit to 1 and writes it into the real-time data routing table.

[0052] When port 6-3 receives and inspects message B2, module 6 reads the message's identification number and type identifier. It first checks if the message's identification number matches its own. If they match, it rejects the message and allows it to pass. If they don't match, it first checks the address generation configuration table; if it's not a new address, it determines the sequence number based on the address and sequence number. If the bit corresponding to the sequence number is 1, it rejects the message and stops forwarding it. When port 3-1 receives and inspects message B2, module 3 reads the message's identification number and type identifier. First, it checks if the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 4-1 and 7-3 via 3-2 and 3-3 respectively. It then sets the bit to 1 and writes it into the real-time data routing table.

[0053] When port 3-2 receives and inspects message A3, module 3 reads the message's identification number and type identifier. It first checks if the message's identification number matches its own. If they match, it rejects the message and allows it to pass. If they don't match, it first checks the status of the address generation configuration table. If it's a new address, it determines the address in the real-time data routing table based on the identification number and hash algorithm, writes it to the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If all bits corresponding to the sequence number are 0 in the real-time data routing table, it allows the message to be received and forwards it to 2-2 and 7-3 via 3-1 and 3-3 respectively. It then sets the corresponding bit to 1 and writes it to the real-time data routing table. When port 8-1 receives and inspects message A3, module 8 reads the message's identification number and type identifier. First, it checks if the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 7-1 via 8-2. It then sets that bit to 1 and writes it into the real-time data routing table.

[0054] When port 2-3 receives and inspects message B4, module 2 reads the message's identification number and type identifier. It first checks if the message's identification number matches its own. If they match, it rejects the message and allows it to pass. If they don't match, it first checks the address generation configuration table; if it's not a new address, it determines the sequence number based on the address and sequence number. If the bit corresponding to the sequence number is 1, it rejects the message and stops forwarding it. When port 7-2 receives and inspects message B4, module 7 reads the message's identification number and type identifier. It first checks if the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 8-2 and 3-3 via 7-1 and 7-3 respectively. It then sets the bit to 1 and writes it into the real-time data routing table.

[0055] When port 5-1 receives and inspects message B4, module 5 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 1-1 via 5-2. It then sets the bit to 1 and writes it into the real-time data routing table.

[0056] After the second forwarding is completed, the message reception status of the master device in the address generation configuration table of each slave device is shown in Table 2 below.

[0057] Table 2 Third repost: When port 7-2 receives and inspects message A1, module 7 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 8-2 and 3-3 via 7-1 and 7-3 respectively. It then sets the bit to 1 and writes it into the real-time data routing table.

[0058] When port 2-3 receives and inspects message A1, module 2 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 1-2 and 3-1 via 2-1 and 2-2 respectively. It then sets the bit to 1 and writes it into the real-time data routing table.

[0059] When port 1-4 receives message A1 and performs inspection, module 1 reads the message's identification number and type identifier, first determining whether the message's identification identifier is the same as its own identification identifier. If they are the same, the message is rejected and allowed to pass.

[0060] When port 4-1 receives and inspects message B2, module 4 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 0 in the real-time data routing table, it allows the message to be received and forwards it to 1-3 and 8-1 via 4-3 and 4-2 respectively. It then sets the bit to 1 and writes it into the real-time data routing table.

[0061] When port 7-3 receives and inspects message B2, module 7 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads from the real-time data routing table that all bits corresponding to the sequence number are 1, refuses to receive the message, and does not forward it.

[0062] When port 2-2 receives and inspects message A3, module 2 reads the message's identification number and type identifier. It first checks if the message's identification number matches its own. If they match, it rejects the message and allows it to pass. If they don't match, it first checks the address generation configuration table; if it's not a new address, it determines the sequence number based on the address and sequence number. If all bits corresponding to the sequence number are 1, it rejects the message and stops forwarding it. When port 7-3 receives and inspects message A3, module 7 reads the message's identification number and type identifier. It first checks if the message's identification number matches its own. If they match, it rejects the message and allows it to pass. If they don't match, it first checks the address generation configuration table; if it's not a new address, it determines the sequence number based on the address and sequence number. If all bits corresponding to the sequence number are 1, it rejects the message and stops forwarding it. When port 7-1 receives message A3 and performs inspection, module 7 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it again.

[0063] When port 8-2 receives and inspects message B4, module 8 reads the message's identification number and type identifier. First, it checks if the message's identification is the same as its own identification. If they are the same, it rejects the message and allows it to pass. If they are different, it first checks the status of the address generation configuration table. If it is a new address, it determines the address in the real-time data routing table based on the identification and hash algorithm, writes it into the address generation configuration table, and reads the data. Finally, it determines the status based on the sequence number. If the bit corresponding to the sequence number is 1 in the real-time data routing table, it allows the message to be received and forwards it to 4-2 through port 8-1. It also sets the bit to 1 and writes it into the real-time data routing table.

[0064] When port 3-3 receives and inspects message B4, module 7 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it.

[0065] When port 1-1 receives message B4 and performs inspection, module 1 reads the message's identification number and type identifier, first determining whether the message's identification identifier is the same as its own identification identifier. If they are the same, the module refuses to receive and allows the message to pass.

[0066] After the third forwarding is completed, the message reception status of the master device in the address generation configuration table of each slave device is shown in Table 3 below.

[0067] Table 3 Fourth repost: When port 8-2 receives and inspects message A1, module 8 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it.

[0068] When port 3-3 receives and inspects message A1, module 3 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it again.

[0069] When port 1-2 receives message A1 and performs inspection, module 1 reads the message's identification number and type identifier, first determining whether the message's identification identifier is the same as its own identification identifier. If they are the same, the message is rejected and allowed to pass.

[0070] When port 3-1 receives and detects message A1, module 3 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it again.

[0071] When port 1-3 receives message B2 and performs inspection, module 1 reads the message's identification number and type identifier, first determining whether the message's identification identifier is the same as its own identification identifier. If they are the same, the message is rejected and allowed to pass.

[0072] When port 8-1 receives and inspects message B2, module 4 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it again.

[0073] When port 4-2 receives and inspects message B4, module 4 reads the message's identification number and type identifier. It first determines whether the message's identification is the same as its own identification. If they are the same, it refuses to receive and allows the message to pass. If they are different, it first checks the status of the address generation configuration table. If it is not a new address, it determines the address and sequence number. It reads the bit corresponding to the sequence number from the real-time data routing table and finds that it is 1. It then refuses to receive the message and will not forward it again.

[0074] After the fourth forwarding is completed, the message reception status of the master device in the address generation configuration table of each slave device is shown in Table 4 below.

[0075] Table 4 Other real-time data packets sent by slave devices are transmitted via the master device's real-time data packet forwarding mechanism. As can be seen above, after each communication session, the real-time Ethernet communication modules on the network send real-time data once. Each module's real-time data routing table stores the validity status of the sequence numbers currently sent by other devices on the network. If 10 more real-time data communications are performed, the aging function module within the module writes the new sequence number validity status into the real-time data routing table and simultaneously clears the validity status of the 10 sequence numbers to 0. This filters out packets with the same sequence number and allows for the reception of new data during the new round of sequence number accumulation.

[0076] In the event of a network anomaly, when the real-time Ethernet communication module only receives packets A1 and A3 (or B2 and B4), the corresponding real-time data routing table or real-time routing table A stops updating and automatically recovers to its initial value after a certain period of time.

[0077] When the real-time Ethernet communication module is disconnected from other modules, the real-time data routing table and B automatically restore their initial values.

[0078] II. Explanation of Non-Real-Time Data Transmission Mechanism: After the real-time Ethernet is powered on, the network determines the network master device through a designated or contention-based method. In the example, the real-time Ethernet module 1 is the master device, and it sends non-real-time data communication messages to the outside world through its four ports. The identity identifier carried in the message is the identity identifier of the device master port.

[0079] First repost: When the real-time Ethernet communication module 1 sends a non-real-time message from 1-1 to 5-2, module 5 detects the message, reads the message's identification number and checksum, first determines whether the message's identification is the same as its own identification. If they are the same, the message is rejected and allowed to pass; if they are different, the identification and checksum in the non-real-time data routing table are read. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, the message is allowed to be received and forwarded to 6-2 through 5-1; finally, the corresponding identification and checksum in the message are written into the non-real-time data routing table.

[0080] When the real-time Ethernet communication module 1 sends a non-real-time message from 1-2 to 2-1, module 2 detects the message, reads the message's identification number and checksum, first determines whether the message's identification is the same as its own identification. If they are the same, the message is rejected and allowed to pass; if they are different, the identification and checksum in the non-real-time data routing table are read. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, the message is allowed to be received and forwarded to 3-1 and 6-3 via 2-2 and 2-3 respectively; finally, the corresponding identification and checksum in the message are written into the non-real-time data routing table.

[0081] When the real-time Ethernet communication module 1 sends a non-real-time message from 1-3 to 4-3, module 4 detects the message, reads the message's identification number and checksum, first determines whether the message's identification is the same as its own identification. If they are the same, the message is rejected and allowed to pass; if they are different, the identification and checksum in the non-real-time data routing table are read. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, the message is allowed to be received and forwarded to 3-2 and 8-1 through 4-1 and 4-2 respectively; finally, the corresponding identification and checksum in the message are written into the non-real-time data routing table.

[0082] When the real-time Ethernet communication module 1 sends a non-real-time message from 1-4 to 6-4, module 6 detects the message, reads the message's identification number and checksum, first determines whether the message's identification number is the same as its own identification number. If they are the same, the message is rejected and allowed to pass. If they are different, the identification number and checksum in the non-real-time data routing table are read. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, the message is allowed to be received and forwarded to 7-2, 5-1, and 2-3 through 6-1, 6-2, and 6-3 respectively. Finally, the corresponding identification number and checksum in the message are written into the non-real-time data routing table.

[0083] After the first forwarding is completed, the non-real-time message reception status of the master device in the non-real-time data routing table of the slave device is shown in Table 5 below.

[0084] Table 5 Second repost: When port 6-2 receives and detects a non-real-time message, module 6 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0085] When port 3-1 receives and detects a non-real-time message, module 3 reads the message's identification number and checksum. First, it determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive the message and allows it to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, it allows the message to be received and forwards it to 4-1 and 7-3 via 3-2 and 3-3 respectively. Finally, it writes the corresponding identification number and checksum from the message into the non-real-time data routing table.

[0086] When port 6-3 receives and detects a non-real-time message, module 6 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0087] When port 3-2 receives and detects a non-real-time message, module 6 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0088] When port 8-1 receives and detects a non-real-time message, module 8 reads the message's identification number and checksum. First, it determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive the message and allows it to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, it allows the message to be received and forwards it to 4-2 via port 8-2. Finally, it writes the corresponding identification number and checksum from the message into the non-real-time data routing table.

[0089] When port 7-2 receives and detects a non-real-time message, module 7 reads the message's identification number and checksum. First, it determines whether the message's identification number is the same as its own identification number. If they are the same, it rejects the message and allows it to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is inconsistent with the checksum carried in the message, it allows the message to be received and forwards it to 8-2 and 3-3 via 7-1 and 7-3 respectively. Finally, it writes the corresponding identification number and checksum from the message into the non-real-time data routing table.

[0090] When port 5-1 receives a non-real-time message and performs an inspection, module 5 reads the message's identification number and checksum. First, it determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table matches the checksum carried in the message, it neither receives nor allows the message to pass.

[0091] When port 2-3 receives and detects a non-real-time message, module 2 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0092] After the second forwarding is completed, the non-real-time message reception status of the master device in the non-real-time data routing table of the slave device is shown in Table 6 below.

[0093] Table 6 Third repost: When port 4-1 receives and detects a non-real-time message, module 4 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0094] When port 7-3 receives and detects a non-real-time message, module 7 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0095] When port 4-2 receives and detects a non-real-time message, module 4 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0096] When port 8-3 receives a non-real-time message and performs an inspection, module 8 reads the message's identification number and checksum. It first determines whether the message's identification number is the same as its own identification number. If they are the same, it refuses to receive and allows the message to pass. If they are different, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table is consistent with the checksum carried in the message, it will not receive or allow the message to pass.

[0097] When port 3-3 receives and inspects a non-real-time message, module 3 reads the message's identification number and checksum. It first determines if the message's identification number matches its own. If they match, the message is rejected and allowed to pass. If they don't match, it reads the identification number and checksum from the non-real-time data routing table. If the checksum read from the non-real-time data routing table matches the checksum carried in the message, the message is neither accepted nor allowed to pass. See Figure 7.

[0098] Table 7 Other non-real-time data packets sent by slave devices are transmitted via the master device's real-time data packet forwarding mechanism. As can be seen above, after a communication cycle is completed, each real-time Ethernet communication module on the network sends a non-real-time data packet. The non-real-time data routing table in each module stores the validity status of the non-real-time data currently being sent by other devices on the network. After another 10ms, the aging function module within the module clears the validity status of the non-real-time data packet to 0.

[0099] When the real-time Ethernet communication module is disconnected from other modules, the non-real-time data routing table automatically restores its initial value.

[0100] A computer-readable storage medium stores computer code that, when executed, performs the methods described above. Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. This program can be stored in a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0101] The above description is merely a preferred embodiment of the present invention. The scope of protection of the present invention is not limited to the above embodiments. All technical solutions falling within the scope of the present invention's concept are within the scope of protection of the present invention. It should be noted that for those skilled in the art, any improvements and modifications made without departing from the principle of the present invention should also be considered within the scope of protection of the present invention.

[0102] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0103] It should be noted that the above embodiments can be freely combined as needed. The above description is only a preferred embodiment of the present invention. It should be pointed out that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A data transmission method for a multi-redundant network, characterized in that... This includes the following steps: Constructing a multi-redundant network: A basic topology network is built based on one master device and several slave devices. The basic topology network includes at least one of ring, star, and linear topologies. Redundant links are formed by establishing connections between the redundant ports of each device and the redundant ports of other devices, thereby constructing a multi-redundant network. Each port of each device is configured with an independent or mirrored identity identifier, and each device internally maintains an address generation configuration table, a real-time data routing table, and a non-real-time data routing table. Processing of received real-time data: When the device receives a real-time data packet, it extracts the identity identifier carried in the packet and uses a hash algorithm to determine the target address in the real-time data routing table where the identity identifier is used to store the valid value of the sequence number. Based on the type, identity identifier, and sequence number of the real-time data packet, it queries the status of the corresponding bit in the real-time data routing table, and performs a receive-allow or reject-forward operation based on the status of the corresponding bit, while simultaneously updating the real-time data routing table. Subsequently, based on the real-time data reception status and communication status, it clears the corresponding valid status bit in the real-time data routing table. Processing of receiving non-real-time data: When the device receives a non-real-time data packet, it extracts the identity identifier and check value carried in the packet, and queries the identity identifier and check value stored in the internal non-real-time data routing table; based on the matching of the query result with the information carried in the packet, it performs the operation of accepting or rejecting forwarding, and synchronously updates the non-real-time data routing table; subsequently, according to the set rules or communication status, it clears the corresponding check value in the non-real-time data routing table.

2. The data transmission method for a multi-redundant network according to claim 1, characterized in that... In constructing a multi-redundant network, the identity of the device port satisfies: The port identifiers of different devices are different from each other, and the port identifiers of different devices of the same device are also different from each other, and all the identifiers are not consecutive; The device's communication ports include communication interfaces such as Ethernet, serial port, CAN, and fiber optic. Each communication port has an independent identifier through configuration or chip characteristics. Before communication is enabled, it is possible to determine whether different ports within the same device use their own independent identity or mirror the identity of other ports as redundant ports through settings; Furthermore, when sending real-time data, the real-time data packet carries the identity identifier of the sending port; when sending non-real-time data, the non-real-time data packet carries the identity identifier of the sending master port, which is specified through configuration.

3. The data transmission method for a multi-redundant network according to claim 1, characterized in that... In constructing a multi-redundancy network, a hash algorithm is used to determine the target address of the identity identifier in the real-time data routing table or the non-real-time data routing table, specifically including: When a real-time or non-real-time data packet with a new identity is received, the lowest byte of the identity packet is first used as the address to query the real-time data routing table or the non-real-time data routing table for a valid value. If no valid value is found, the address of the identity in the real-time data routing table or the non-real-time data routing table is determined. If a valid value is found, the lowest two bytes of the identity are extracted, and after hashing, the lowest byte of the result is used as the address to query the real-time data routing table or the non-real-time data routing table for a valid value. If no valid value is found, the address of the identity in the real-time data routing table or the non-real-time data routing table is determined. If a valid value is found, the lowest three bytes of the identity are extracted, and a hash calculation is performed. This process is repeated, and the address generation configuration table records the identity (including multiple bytes) and the number of hash algorithm bytes read. The hash algorithm mentioned is a hash table algorithm that prioritizes speed and low collision rate, including algorithms such as MurmurHash, FNV, Jenkins Hash, and CRC.

4. The data transmission method for a multi-redundant network according to claim 1, characterized in that... In the processing of received real-time data, the receiving and forwarding are either allowed or denied based on the type, identifier, and sequence number of the real-time data packet. Specifically, this includes: When a device receives real-time data from different ports, it sequentially queries the corresponding real-time data routing table based on the real-time data packet type and identifier, and then locates the corresponding bit in the real-time data routing table by combining the packet sequence number. If the bit is 0, the real-time data is received and allowed to pass, and the bit is updated to 1. If the bit is 1, the real-time data is rejected from being received and forwarded. The real-time data routing table is used to store the validity status of the sequence number of real-time packets sent by different ports of the device in the network. Its width matches the width of the sequence number. When the sequence number is 1 byte, the routing table width is 256 bits, and it supports sequence numbers of more than byte size.

5. The data transmission method for a multi-redundant network according to claim 1, characterized in that... In the processing of received real-time data, the corresponding valid status bits in the real-time data routing table are cleared, specifically including: After receiving multiple valid real-time data and updating the real-time data routing table, the valid status corresponding to the preceding sequence number is cleared. If the device no longer receives real-time data sent by a certain port of another device, the valid status bit corresponding to that port is cleared according to the set value or the communication behavior of other ports. When the device disconnects from other devices, all valid status bits in the real-time data routing table are cleared. The query of the real-time data routing table is achieved through the address generation configuration table and the real-time data routing table in combination, quickly determining the sequence number status corresponding to the identity identifier in the real-time message to complete the real-time data routing.

6. The data transmission method for a multi-redundant network according to claim 1, characterized in that... In the processing of receiving non-real-time data, the receiving and forwarding are either allowed or rejected based on the matching of the query results with the information carried in the message. Specifically, this includes: The system polls the identity identifier and checksum in the non-real-time data routing table. If the found identity identifier matches the identity identifier carried in the message but the checksum does not match, the message is received and allowed to proceed, and the identity identifier and checksum in the non-real-time data routing table are updated. If both the identity identifier and checksum match the information carried in the message, the message is rejected and not forwarded. If the found identity identifier does not match the identity identifier carried in the message, the message is received and allowed to proceed, and the identity identifier and checksum in the non-real-time data routing table are updated. The non-real-time data routing table is used to store the identity identifier and checksum of non-real-time messages sent by the main port of the device in the network.

7. The data transmission method for a multi-redundant network according to claim 1, characterized in that... In the processing of receiving non-real-time data, the corresponding checksum value in the non-real-time data routing table is cleared, specifically including: Based on the set value or the communication behavior of other ports, clear the checksum in the corresponding non-real-time data routing table; when the device disconnects from other devices, clear all checksums in the non-real-time data routing table. The non-real-time data routing table is queried by polling the identity identifier and verification value in the table one by one to determine the routing status of the non-real-time message.

8. A data transmission system for a multi-redundant network for performing the data transmission method of a multi-redundant network as described in any one of claims 1-7, characterized in that... ,include: Multi-redundant network construction module: Based on a master device and several slave devices, a basic topology network is built, which includes at least one of ring, star, and linear topologies; redundant links are formed by establishing connections between the redundant ports of each device and the redundant ports of other devices, thereby constructing a multi-redundant network; wherein each port of each device is configured with an independent or mirrored identity, and each device internally maintains an address generation configuration table, a real-time data routing table, and a non-real-time data routing table; Real-time data processing module: When the device receives a real-time data packet, it extracts the identity identifier carried in the packet and uses a hash algorithm to determine the target address in the real-time data routing table where the identity identifier is used to store the valid value of the sequence number; based on the type, identity identifier, and sequence number of the real-time data packet, it queries the status of the corresponding bit in the real-time data routing table, and performs a receive-allow or reject-forward operation based on the status of the corresponding bit, while synchronously updating the real-time data routing table; subsequently, based on the real-time data reception status and communication status, it clears the corresponding valid status bit in the real-time data routing table; Non-real-time data processing module: When the device receives a non-real-time data packet, it extracts the identity identifier and check value carried in the packet, and queries the identity identifier and check value stored in the internal non-real-time data routing table; based on the matching of the query result with the information carried in the packet, it performs a receive-allow or reject-forward operation, and synchronously updates the non-real-time data routing table; subsequently, according to the set rules or communication status, it clears the corresponding check value in the non-real-time data routing table.

9. A computer device, characterized in that... The system includes a memory and one or more processors, wherein the memory stores computer code that, when executed by the one or more processors, causes the one or more processors to perform the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that... The computer-readable storage medium stores computer code, and when the computer code is executed, the method as described in any one of claims 1 to 7 is performed.