Message transmission method, apparatus and system

By expanding the message sequence number field length, the problem of insufficient aging time for HSR or PRP packets is solved, and more effective packet deduplication and resource utilization are achieved, improving transmission reliability.

WO2025167260A1PCT designated stage Publication Date: 2025-08-14HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/132967
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-05
Filing Date
2024-11-19
Publication Date
2025-08-14

AI Technical Summary

Technical Problem

In the prior art, due to the limited serial number address space of HSR messages or PRP messages, the deduplication flow table aging time is too early or too late, and the effective deduplication cannot be effectively deduplication, resulting in waste of resources on the receiving end.

Method used

By expanding the length of the serial number field in the message, it is greater than 2 bytes, and the aging time is increased, thereby avoiding the situation where the receiving end cannot be deduplicated due to the short aging time.

Benefits of technology

It effectively avoids waste of resources on the receiving end and improves the reliability and efficiency of message transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024132967_14082025_PF_FP_ABST
    Figure CN2024132967_14082025_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of communications. Disclosed are a message transmission method, apparatus and system. The method comprises: a sending end allocating the same sequence number to a message to be transmitted and at least one duplicate message of the message to be transmitted, and sending, by means of different transmission links, the message to be transmitted and the at least one duplicate message of the message to be transmitted, wherein the length of a field, which is used for carrying the sequence number, in the message to be transmitted and the at least one duplicate message of the message to be transmitted is greater than 2 bytes, and the byte is used for deduplication when the message to be transmitted and the at least one duplicate message of the message to be transmitted are received. The method can avoid a situation in which received messages cannot be deduplicated when messages are transmitted using a multi-sending and selective receiving technique.
Need to check novelty before this filing date? Find Prior Art

Description

Message transmission method, device and system

[0001] This application claims priority to Chinese patent application number 202410163719.0, filed on February 5, 2024, entitled “Message Transmission Method, Device and System,” the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a message transmission method, device and system. Background Art

[0003] To effectively improve message transmission reliability, dual-transmit selective reception technology can be used to transmit message streams. The basic principle of dual-transmit selective reception technology is that the transmitter copies the message to be transmitted and sends two identical copies through its own dual-transmit ports. After these two messages reach the receiver via different transmission paths, the receiver processes the first received message normally and discards the subsequent duplicate messages. Summary of the Invention

[0004] The present application provides a message transmission method, device and system, which can avoid the situation where the received messages cannot be deduplicated when the multi-transmission selective reception technology is used to transmit the messages. The various methods mentioned in the invention content part of this application and the related possible designs, as well as the various methods mentioned in the embodiments and the devices that partially or completely operate with the implementation methods, are mainly used in bilateral selective reception scenarios using high-availability seamless redundancy (HSR) protocol and parallel redundancy protocol (PRP) technology. The present application can solve the problem that the deduplication flow table ages too early due to the limited serial number address space (0-65535) of the HSR message or PRP message, resulting in the inability to deduplicate the message normally, or the new traffic cannot be assigned sequence numbers normally due to aging too late.

[0005] The technical solutions provided in this application are as follows:

[0006] In a first aspect, the present application provides a message transmission method, applied to a transmitting end, comprising: assigning the same sequence number to a message to be transmitted and at least one copy of the message to be transmitted, and sending the message to be transmitted and at least one copy of the message to be transmitted via different transmission links. The length of the field for carrying the sequence number in the message to be transmitted and the at least one copy of the message to be transmitted is greater than 2 bytes.

[0007] Compared to the 2-byte sequence number (SeqNr) field used to carry sequence numbers in the HSR protocol and / or PRP defined in the International Electrotechnical Commission (IEC) standard 62439-3 (for convenience of expression, the HSR protocol and / or PRP defined in the IEC standard 62439-3 will be referred to as the HSR protocol and / or PRP below), the field length for carrying sequence numbers provided in the present application method is greater than 2 bytes. By increasing the length of the field used to carry sequence numbers in the message, the maximum aging time set for the sequence number can be increased, thereby avoiding the situation where the receiving end is unable to deduplicate received messages due to a short aging time, thereby avoiding waste of receiving end resources.

[0008] In one possible design, the field for carrying the sequence number is composed of an extended sequence number (SeqNr-Ext) field and a 2-byte SeqNr field in the High Reliability Seamless Redundancy Tag (HSR TAG) field or the Parallel Redundancy Protocol Redundancy Control Trailer (PRP-RCT) field defined in IEC standard 62439-3. This possible design enables the field for carrying the sequence number provided in this application to be obtained by extending the HSR TAG field / PRP-RCT field defined in the current standard.

[0009] In another possible design, the parsing order of the SeqNr field precedes the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number. With this possible design, when the high-order bytes of the sequence number carried by the SeqNr-Ext field in the message are all 0, devices that implement the HSR protocol and / or PRP defined in IEC standard 62439-3 can recognize and process the message. In other words, the method provided in this application is compatible with the current HSR protocol and / or PRP under certain conditions.

[0010] In another possible design, when the method performs bilateral selective reception based on HSR technology, the message to be transmitted and at least one copy message of the message to be transmitted both include the HSR TAG field in the HSR protocol, and the HSR TAG field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0011] In another possible design, when the method performs bilateral selective reception based on PRP technology, the message to be transmitted and at least one copy message of the message to be transmitted both include the PRP-RCT field in the PRP, and the PRP-RCT field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0012] Through the above two possible designs, it is possible to achieve the invention purpose of the present application scheme when performing dual transmission and selective reception based on HSR technology and / or PRP technology.

[0013] In another possible design, the transmitter is a doubly attached node (DAN) or a redundancy box (REDBOX) that implements the HSR protocol and / or PRP. A DAN that implements the HSR protocol is denoted as DANH (doubly attached node implementing HSR), and a DAN that implements PRP is denoted as DANP (doubly attached node implementing PRP).

[0014] In a second aspect, the present application provides a message transmission method, applied to a receiving end, the method comprising: receiving a first message including a sequence number, and processing the first message if the first message is a first received message including the sequence number. The length of a field in the first message for carrying the sequence number is greater than 2 bytes.

[0015] In one possible design, after receiving the first message, the method further includes: receiving a second message; and discarding the second message when the second message includes the sequence number carried by the first message.

[0016] In another possible design, the field for carrying the sequence number is composed of a SeqNr-Ext field and a 2-byte SeqNr field in the HSR TAG field or the PRP-RCT field defined in IEC standard 62439-3.

[0017] In another possible design, the parsing order of the above-mentioned SeqNr field precedes the parsing order of the above-mentioned SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

[0018] In another possible design, when the method performs bilateral selective reception based on HSR technology, both the first message and the second message include an HSR TAG field in the HSR protocol, and the HSR TAG field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0019] In another possible design, when the method performs bilateral selective reception based on PRP technology, both the first message and the second message include the PRP-RCT field in the PRP, and the PRP-RCT field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0020] In another possible design, the receiving end is a dual-port node (such as DANH, DANP) or REDBOX that implements the HSR protocol and / or PRP.

[0021] In a third aspect, the present application provides a message transmission device. The message transmission device is used to execute any one of the methods provided in the first aspect above. The present application can divide the message transmission device into functional modules according to any one of the methods provided in the first aspect above. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. Exemplarily, the present application can divide the message transmission device into a processing unit and a sending unit, etc. according to the function. The description of the possible technical solutions and beneficial effects executed by each of the divided functional modules can refer to the solutions provided by the first aspect and any possible design method in the first aspect, and will not be repeated here.

[0022] In a fourth aspect, the present application provides a message transmission device. The message transmission device is used to execute any of the methods provided in the second aspect above. The present application can divide the message transmission device into functional modules according to any of the methods provided in the second aspect above. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. Exemplarily, the present application can divide the message transmission device into a receiving unit and a processing unit, etc. according to the function. The description of the possible technical solutions and beneficial effects executed by each of the divided functional modules can refer to the solutions provided by the second aspect above and any possible design method in the second aspect, and will not be repeated here.

[0023] In a fifth aspect, the present application provides a message transmission device. The message transmission device includes: a memory, a network interface, and one or more processors. The one or more processors receive or send data via the network interface, and the one or more processors are configured to read program instructions stored in the memory to execute the method provided in the first aspect and any possible design of the first aspect, or to execute the method provided in the second aspect and any possible design of the second aspect.

[0024] Among them, the message transmission device described in the third aspect, the fourth aspect or the fifth aspect can be, for example, an end-side device that supports multiple transmission and selective reception technology, such as a machine tool, a robotic arm or an industrial control device in an industrial scenario. Alternatively, the above-mentioned message transmission device can be a proxy device of the end-side device, which supports multiple transmission and selective reception technology, thereby being used to perform dual transmission and selective reception on messages sent and / or received by the end-side device. Alternatively, the above-mentioned message transmission device can be a component within an end-side device / a proxy device of an end-side device that supports multiple transmission and selective reception technology, such as a single board, a line card, etc. Alternatively, the above-mentioned message transmission device can also be a chip for implementing the method described in any of the above aspects and part or all of the operations in any possible design. In one possible design, the above-mentioned message transmission device is a DAN node or REDBOX used to implement the HSR protocol or PRP.

[0025] In a sixth aspect, the present application provides a message transmission system, comprising a transmitting end and a receiving end. The transmitting end is configured to execute the method provided in the first aspect and any possible design thereof, and the receiving end is configured to execute the method provided in the second aspect and any possible design thereof. In a specific design, the transmitting end may be, for example, the message transmission device provided in the third or fifth aspect, and the receiving end may be, for example, the message transmission device provided in the fourth or fifth aspect.

[0026] In the seventh aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and the computer-readable storage medium includes computer program instructions. When the computer program instructions are executed by a computing device or a processor, the computing device or the processor executes the method provided in the first aspect and any possible design method in the first aspect, or executes the method provided in the second aspect and any possible design method in the second aspect.

[0027] In an eighth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device or a processor, causes the computing device or the processor to execute the method provided in the first aspect and any possible design method in the first aspect, or to execute the method provided in the second aspect and any possible design method in the second aspect.

[0028] It can be understood that any of the message transmission devices, message transmission systems, computer-readable storage media, computer program products, etc. provided above can be applied to the corresponding methods and any possible designs provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods and will not be repeated here.

[0029] In this application, the names of the above-mentioned message transmission device, message transmission system, etc. do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear with other names (such as communication device, communication equipment, communication system, etc.). As long as the functions of each device or functional module are similar to those of this application, they are all within the scope of protection of this application. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] FIG1 is a schematic diagram of a dual-transmit selective reception process;

[0031] FIG2a is a schematic diagram of a message transmission using an HSR network;

[0032] Figure 2b is a schematic diagram of an HSR message;

[0033] FIG3 a is a schematic diagram of a message transmitted using PRP;

[0034] FIG3 b is a schematic diagram of a PRP message;

[0035] FIG4 is a flow chart of a message transmission method provided in an embodiment of the present application;

[0036] FIG5 is a schematic diagram of a format of a message provided in an embodiment of the present application before and after adding the HSR TAG field;

[0037] FIG6 is a schematic diagram of another format of a message provided in an embodiment of the present application before and after adding the HSR TAG field;

[0038] FIG7 is a schematic diagram of a format of a message provided in an embodiment of the present application before and after adding the PRP-RCT field;

[0039] FIG8 is a schematic diagram of another format of a message provided in an embodiment of the present application before and after adding the PRP-RCT field;

[0040] FIG9 is a schematic structural diagram of a message transmission device provided in an embodiment of the present application;

[0041] FIG10 is a schematic structural diagram of another message transmission device provided in an embodiment of the present application;

[0042] FIG11 is a schematic structural diagram of a message transmission device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0043] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0044] To facilitate understanding, the technology and background involved in the embodiments of this application are explained below.

[0045] 1) Double send and receive

[0046] Dual-transmit selective reception technology is used to improve message transmission reliability and reduce transmission delays caused by retransmitted messages. Dual-transmit selective reception technology can be applied to any business scenario requiring improved message transmission reliability, such as real-time data exchange in logistics, healthcare, and industrial scenarios. In the embodiments of this application, a network that uses dual-transmit selective reception technology to transmit messages is referred to as a dual-transmit selective reception network.

[0047] Referring to Figure 1, Figure 1 shows a schematic diagram of a dual-transmission selective reception process. As shown in Figure 1, a message stream 100 includes messages numbered 1, 2, 3, 4, and 5. At the sending end of the dual-transmission selective reception network shown in Figure 1, when the sending end determines that the message stream 100 needs to be transmitted using dual-transmission selective reception, the sending end copies the message in the message stream 100 to obtain a copy message, and adds the same sequence number to the message in the message stream 100 and the copy message. The sending end then transmits the message in the message stream 100 through the transmission link 1 passing through the intermediate node 1 and the intermediate node 2, and transmits the copy message of the message in the message stream 100 through the transmission link 2 passing through the intermediate node 3. At the receiving end of the dual-transmission selective reception network shown in Figure 1, the receiving end receives messages from the transmission link 1 and the transmission link 2, and processes the first received message normally (for example, further forwarding), and discards the duplicate messages received subsequently. Wherein, duplicate messages refer to messages with the same sequence number. For example, after the receiving end receives a message numbered 2 from transmission link 1, it determines that the message is received for the first time based on the sequence number carried by the message, so the receiving end processes the message normally. Subsequently, after the receiving end receives a message numbered 2 from transmission link 2, it determines that the message is not received for the first time based on the sequence number of the message, that is, it determines that the message has been received from transmission link 1, so the receiving end discards the message numbered 2 received from transmission link 2. Through this redundant method, it can be ensured that if packet loss occurs on a transmission link between the sending end and the receiving end, the receiving end can still receive the message from another transmission link between itself and the sending end. This can improve the reliability of message transmission, thereby reducing the transmission delay caused by retransmitting the message due to packet loss.

[0048] The transmitting and receiving ends of the dual-transmit and selective-receive network are referred to as doubly attached nodes (DANs). A DAN is a node with at least two transmitting ports, so that the DAN can directly transmit dual traffic.

[0049] Related technical protocols that enable dual-transmitter selective reception include, but are not limited to, the high-availability seamless redundancy (HSR) protocol or the parallel redundancy protocol (PRP). That is, the dual-transmitter selective reception network may be a network that adopts the HSR protocol (denoted as an HSR network) or a network that adopts the PRP protocol (denoted as a PRP network), but is not limited thereto.

[0050] It should be understood that the principle and implementation process of multi-transmission selective reception are the same as those of dual-transmission selective reception, and will not be repeated here.

[0051] 2) HSR and HSR Network

[0052] HSR is an Ethernet network protocol defined by Section 5 of the International Electrotechnical Commission (IEC) standard 62439-3. It is primarily used in data transmission scenarios with high reliability requirements, such as substation control message transmission and motion control information transmission.

[0053] An HSR network is a network that implements redundancy based on HSR technology. HSR networks are typically used in ring topologies or other mesh topologies; therefore, an HSR network can also be referred to as an HSR ring. The nodes of an HSR network can be referred to as doubly attached nodes implementing HSR (DANH) protocols. Each DANH includes two Ethernet ports (hereinafter referred to as HSR ports), and each HSR port is connected to an adjacent DANH. Therefore, there are always two paths between the two DANHs to achieve redundant backup of the network link. A single-port node (SAN) is connected to the HSR network through a redundancy box (REDBOX), which acts as a DANH.

[0054] Referring to Figure 2a, a schematic diagram illustrating message transmission using an HSR network is shown. As shown in Figure 2a, HSR network 200 includes DANH 1, DANH 2, DANH 3, DANH 4, DANH 5, and node REDBOX 0. REDBOX 0 connects SAN 1, SAN 2, and SAN 3 to HSR network 200. For example, consider a message 100 received by DANH 1 from outside HSR network 200, or a message 100 generated by DANH 1 itself, that needs to be transmitted through HSR network 200, and whose destination node is DANH 5, or a node outside HSR network 200 connected to DANH 5. In this case, DANH 1 can be referred to as the sender or source node of message 100 in HSR network 200, and DANH 5 can be referred to as the receiver or destination node of message 100 in HSR network 200.

[0055] In this case, after obtaining message 100, DANH 1 copies message 100 and adds an HSR tag (TAG) field with the same sequence number to message 100 and the copy of message 100. The sequence number is carried by the 2-byte sequence number (SeqNr) field in the HSR TAG field defined in IEC standard 62439-3. The message obtained after adding the HSR TAG field to message 100 is recorded as message 101, and the message obtained after adding the HSR TAG field to the copy of message 100 is recorded as message 102. In the embodiment of the present application, the message obtained after adding the HSR TAG field is referred to as an HSR message, that is, both message 101 and message 102 are HSR messages. Referring to Figure 2b, Figure 2b shows a schematic diagram of the format of an HSR message. Taking message 100 as an example, when the format of message 100 is the "normal Ethernet frame" shown in FIG2b , the format of the HSR message obtained by adding the HSR TAG field to message 100 is the "HSR Ethernet frame" shown in FIG2b . In another example, when the format of message 100 is the "normal virtual local area network (VLAN) frame" shown in FIG2b , the format of the HSR message obtained by adding the HSR TAG field to message 100 is the "HSR VLAN frame" shown in FIG2b . For detailed explanations of the "normal Ethernet frame," the "normal VLAN frame," and each field in the HSR TAG field shown in FIG2b , please refer to the relevant descriptions of FIG5 or FIG6 below and will not be repeated here.

[0056] DANH 1 then sends message 101 through HSR port A connected to transmission link 1 and transmits message 101 through transmission link 1 via DANH 3 and DANH 4. DANH 1 also sends message 102 through HSR port B connected to transmission link 2 and transmits message 102 through transmission link 2 via REDBOX 0. When DANH 5 first receives message 101 through HSR port A connected to transmission link 1, DANH 5 determines that it is the destination node for message 101 in HSR network 200 based on the destination address of message 101. DANH 5 also determines that message 101 is the first received message containing the sequence number carried in the HSR TAG field of message 101 based on the sequence number. DANH 5 then performs subsequent processing on message 101. For example, DANH 5 removes the HSR TAG field from message 101 to obtain message 100 and forwards message 100 to a backend node outside HSR network 200. This process is called HSR message exiting the HSR ring. When DANH 5 subsequently receives message 102 through HSR port B connected to transmission link 2, DANH 5 determines that it is the destination node of message 102 in HSR network 200 based on the destination address of message 102. If DANH 5 also determines that message 102 is not the first received message containing the sequence number (i.e., message 102 is a duplicate message) based on the sequence number carried in the HSR TAG field of message 102, DANH 5 discards message 102.

[0057] In some examples, message 100 is a multicast message. Upon receiving message 101, DANH 5 determines that it is a destination node for message 101 in HSR network 200 based on the multicast address of message 101. DANH 5 also determines that message 101 is the first received message containing the sequence number carried in the HSR TAG field of message 101, and performs subsequent processing on message 101. DANH 5 also continues forwarding message 101 in HSR network 200. In this case, based on the HSR ring structure of the HSR network, message 101 may return to DANH 1. Upon receiving message 101, DANH 1 can determine that message 101 was sent by itself based on the source address of message 101. DANH 1 then discards message 101.

[0058] In other examples, when the destination node of message 100 is SAN 1, after REDBOX 0 receives message 102 from transmission link 2, it determines that it is the destination node of message 102 in HSR network 200 based on the destination address of message 102. REDBOX 0 also determines that message 102 is the first received message containing the sequence number carried in the HSR TAG field in message 102 based on the sequence number carried in the HSR TAG field in message 102. REDBOX 0 removes the HSR TAG field in message 102 to obtain message 100 and forwards message 100 to SAN 1. In addition, after receiving message 101 from transmission link 1, REDBOX 0 determines that it is the destination node of message 101 in HSR network 200 based on the destination address of message 101. When REDBOX 0 determines that message 101 is not the first message received containing the sequence number (that is, message 101 is a duplicate message) based on the sequence number carried in the HSR TAG field in message 101, it discards message 101.

[0059] It is understandable that, at the receiving end in the HSR network, the process of discarding duplicate messages according to the sequence numbers carried in the received messages is also called the process of performing message deduplication based on the sequence numbers.

[0060] Because messages can be transmitted to their destination node via two different transmission links, an HSR network ensures that even if one transmission link (transmission link 1, as shown in Figure 2a) fails, or a node on that link fails, the message can still be transmitted to the destination node via the other transmission link (transmission link 2, as shown in Figure 2a). This ensures zero packet loss in message transmission, improving message transmission reliability.

[0061] 3) PRP and PRP Network

[0062] PRP is an Ethernet network protocol defined in Section 4 of IEC standard 62439-3. A transmitter transmits messages containing the same data in parallel across at least two logically and / or physically separated switching networks (e.g., local area networks (LANs) A and B). Upon receiving messages from these two switching networks, the receiver processes the first received message normally and discards subsequent duplicate messages. This improves the reliability of message transmission and reduces the transmission delay caused by retransmission due to packet loss.

[0063] A PRP network is a network that implements redundancy based on PRP technology. Nodes in a PRP network can also be referred to as doubly attached nodes implementing PRP (DANP). In one specific implementation, each DANP achieves redundancy by connecting two Ethernet ports (hereinafter referred to as PRP ports) to two logically or physically independent switching networks (e.g., LAN A and LAN B). This provides each DANP with redundant paths to other DANPs. A SAN accesses a PRP network through a REDBOX, which acts as a DANP.

[0064] Referring to Figure 3a, a schematic diagram illustrating a method for transmitting messages using PRP is shown. As shown in Figure 3a, PRP network 300 includes DANP 1, DANP 1, DANP 3, a node called REDBOX 1, LAN A, and LAN B. REDBOX 1 is used to connect SAN 1, SAN 2, and SAN 3 to PRP network 300. For example, if message 200 received by DANP 1 or generated by DANP 1 as shown in Figure 3a needs to be transmitted through PRP network 300, and the destination node of message 200 is DANP 3 as shown in Figure 3a, or a node outside PRP network 300 connected to DANP 3, DANP 1 can be referred to as the sender or source node of message 200 in PRP network 300, and DANP 3 can be referred to as the receiver or destination node of message 200 in PRP network 300.

[0065] In this case, after obtaining message 200, DANP 1 copies message 200 and adds a PRP tag (also known as a redundancy control trailer (RCT) (referred to as PRP-RCT) field) with the same sequence number to message 200 and the copy of message 200. The sequence number is carried by the 2-byte SeqNr field in the PRP-RCT field defined in IEC standard 62439-3. The message obtained after adding the PRP-RCT field to message 200 is recorded as message 201, and the message obtained after adding the PRP-RCT field to the copy of message 200 is recorded as message 202. In this embodiment of the present application, the message obtained after adding the PRP-RCT field is referred to as a PRP message, that is, both message 201 and message 202 are PRP messages. Referring to Figure 3b, Figure 3b shows a schematic diagram of the format of a PRP message. Taking message 200 as an example, when the format of message 200 is the "normal Ethernet frame" shown in Figure 3b, the format of the PRP message obtained by adding the PRP-RCT field to message 200 is the "PRP Ethernet frame" shown in Figure 3b. In another example, when the format of message 200 is the "normal VLAN frame" shown in Figure 3b, the format of the PRP message obtained by adding the PRP-RCT field to message 200 is the "PRP VLAN frame" shown in Figure 3b. For detailed explanations of the "normal Ethernet frame," the "normal VLAN frame," and the various fields in the PRP-RCT field shown in Figure 3b, please refer to the relevant descriptions of Figures 7 or 8 below and will not be repeated here.

[0066] Then, DANP 1 sends message 201 through PRP port A connected to LAN A, and transmits message 201 through LAN A. DANP 1 also sends message 202 through PRP port B connected to LAN B, and transmits message 202 through LAN B. When DANP 3 first receives message 201 through PRP port A connected to LAN A, DANP 3 determines that it is the destination node of message 201 in PRP network 300 based on the destination address of message 201. DANP 3 also determines that message 201 is the first received message containing the sequence number carried in the PRP-RCT field of message 201 based on the sequence number carried in the PRP-RCT field of message 201. DANP 3 then performs subsequent processing on message 201. For example, DANP 3 removes the PRP-RCT field from message 201 to obtain message 200, and forwards message 200 to a backend node outside of PRP network 300. When DANP 3 subsequently receives message 202 through PRP port B connected to LAN B, DANP 3 determines that it is the destination node of message 202 in PRP network 300 based on the destination address of message 202. If DANP 3 also determines that message 202 is not the first received message containing the sequence number (i.e., message 202 is a duplicate message) based on the sequence number carried in the PRP-RCT field of message 202, DANP 3 discards message 202.

[0067] In some examples, when the destination node of message 200 is SAN 2, after REDBOX 1 receives message 201 from the PRP port connected to LAN A, REDBOX 1 determines that it is the destination node of message 201 in the PRP network based on the destination address of message 201. REDBOX 1 also determines that message 201 is the first message received containing the sequence number carried in the PRP-RCT field in message 201 based on the sequence number carried in the PRP-RCT field in message 201. It then removes the PRP-RCT field in message 201 to obtain message 200 and forwards message 200 to SAN 2. When REDBOX 1 receives message 202 from the PRP port connected to LAN B, REDBOX 1 determines that it is the destination node of message 202 in the PRP network based on the destination address of message 202. When REDBOX 1 also determines that message 202 is not the first message received containing the sequence number (i.e., message 202 is a duplicate message) based on the sequence number carried in the PRP-RCT field in message 202, it discards message 202.

[0068] It is understandable that, at the receiving end in the PRP network, the process of discarding duplicate messages according to the sequence numbers carried in the received messages is also called a process of performing message deduplication based on the sequence numbers.

[0069] Because packets can be transmitted in parallel to their destination node via at least two logically and / or physically separated switching networks, a PRP network ensures that even if a communication link or node fails in one switching network (LAN A, as shown in Figure 3a), the packet can still reach the destination node via another switching network (LAN B, as shown in Figure 3a). This ensures zero packet loss in transmission, improving transmission reliability.

[0070] In related technologies, when implementing dual-transmission / multi-transmission selective reception, the transmitter sets an aging time for each sequence number added to a message to be transmitted. After the aging time expires, the sequence number is added to other messages to be transmitted, thus ensuring continuous dual / multi-transmission of messages. On the receiver side, the receiver sets an aging time for the sequence number carried by each received message and, within the aging time, determines whether a subsequently received message is a duplicate of an already received message based on the sequence number.

[0071] However, in the related art, due to the limited length of the field added by the sender to the message to carry the aforementioned sequence number, the aging time set for each sequence number by the sender and receiver is relatively short. When transmitting a large number of messages over a large bandwidth, the receiver may receive a duplicate of the received message only after the aging time set for the sequence number carried by the received message has expired. At this point, because the aging time has expired, the duplicate message cannot be discarded. In other words, in the related art, the receiver may be unable to deduplicate received messages due to the short aging time, which results in a waste of receiving resources.

[0072] Based on this, an embodiment of the present application provides a message transmission method, which increases the maximum aging time set for the sequence number by extending the length of the sequence number field in the message, thereby effectively avoiding the situation where the receiving end is unable to deduplicate the received message due to the short aging time, thereby avoiding waste of resources at the receiving end.

[0073] Optionally, the message described in the embodiment of the present application (such as the message to be transmitted described below) includes but is not limited to an ordinary Ethernet frame, an ordinary virtual local area network (Vlan) frame, or an ordinary Internet protocol (IP) frame, etc., and is not limited to this.

[0074] The method provided in the embodiment of the present application can be applied to the implementation environment including but not limited to the implementation environment shown in Figures 1, 2a and 3a. It should be understood that the exemplary description of the implementation environment shown in Figures 1, 2a and 3a does not constitute a limitation on the implementation environment of the method provided in the embodiment of the present application. It is known to those skilled in the art that as business needs change, the implementation environment of the method provided in the embodiment of the present application can be adjusted according to application needs, and the embodiment of the present application does not list them one by one.

[0075] The present application also provides a message transmission system for implementing the message transmission method provided in the present application to achieve multiple transmission and selective reception of messages (e.g., dual transmission and selective reception). In one example, the system can be the dual transmission and selective reception network system shown in FIG1 , or the HSR network system shown in FIG2 a , or the PRP network system shown in FIG3 a , but is not limited thereto.

[0076] The above-mentioned message transmission system includes a transmitter that supports multiple transmissions and selective receptions and a receiver that supports multiple transmissions and selective receptions, as well as a transmission network between the transmitter and the receiver. The transmitter and receiver in the system can be any computing device with computing processing capabilities and / or message forwarding processing capabilities. Exemplarily, the transmitter and receiver in the system include but are not limited to the DAN, DANH, DANP, REDBOX, etc. mentioned above. Another example is that the transmitter and receiver in the system include but are not limited to end-side devices with multiple transmission and selective reception functions or proxy devices of end-side devices. The end-side devices can be, for example, machine tools, robotic arms, or industrial control equipment in industrial scenarios, etc., without limitation.

[0077] The embodiment of the present application also provides a message transmission device, which is used to execute the message transmission method provided in the embodiment of the present application. The device is applied to the sending end or the receiving end in the above-mentioned message transmission system, and is used to execute the corresponding steps performed by the sending end and the receiving end in the method described in the embodiment of the present application. Optionally, the device is any computing device with computing processing capabilities and / or message forwarding processing capabilities, or a functional module in the computing device, without limitation. Exemplarily, the computing device includes but is not limited to the DAN, DANH, DANP, REDBOX, etc. mentioned above. Another exemplary embodiment, the computing device includes but is not limited to an end-side device that supports dual-transmit and selective reception functions or an agent device of the end-side device. The end-side device can be, for example, a machine tool, a robotic arm, or industrial control equipment in an industrial scenario, without limitation.

[0078] The following describes the implementation process of the message transmission method provided in the embodiment of the present application.

[0079] Referring to Figure 4 , a schematic flow diagram of a message transmission method provided in an embodiment of the present application is shown. Exemplarily, the method can be applied to the implementation environment shown in Figure 1 , Figure 2a , or Figure 3a , with the corresponding steps being performed by the transmitting and receiving ends in Figure 1 , Figure 2a , or Figure 3a . As shown in Figure 4 , the method includes the following steps.

[0080] Step 101: The sending end assigns the same sequence number to a message to be transmitted and at least one copy of the message to be transmitted, and the length of the field for carrying the sequence number in the message to be transmitted and at least one copy of the message to be transmitted is greater than 2 bytes.

[0081] The sending end allocates a sequence number to the message to be transmitted and at least one copy of the message to be transmitted, and uses it to deduplicate the message to be transmitted and at least one copy of the message to be transmitted when receiving the message to be transmitted and the at least one copy of the message to be transmitted.

[0082] In some embodiments, when the HSR protocol and / or PRP defined in IEC standard 62439-3 is implemented at the sending end, the field used to carry the sequence number assigned by the sending end in the message to be transmitted and at least one copy message of the message to be transmitted is a field after the sequence number (sequence number, SeqNr) field defined in IEC standard 62439-3 is extended, and the extended field includes an extended sequence number (extended sequence number, SeqNr-Ext) field and the SeqNr field defined in IEC standard 62439-3.

[0083] For example, when the HSR protocol defined in IEC standard 62439-3 is implemented at the sending end, the field used to carry the sequence number assigned by the sending end in the message to be transmitted and at least one copy of the message to be transmitted is composed of the above-mentioned SeqNr-Ext field and the SeqNr field with a length of 2 bytes in the HSR TAG field defined in IEC standard 62439-3.

[0084] For another example, when the sending end implements the PRP defined in IEC standard 62439-3, the field used to carry the sequence number assigned by the sending end in the message to be transmitted and at least one copy of the message to be transmitted is composed of the above-mentioned SeqNr-Ext field and the 2-byte SeqNr field in the PRP-RCT field defined in IEC standard 62439-3.

[0085] The SeqNr field length defined in IEC standard 62439-3 is 2 bytes, or 2 octets (denoted as 2 octets). Furthermore, embodiments of the present application do not specifically limit the length of the SeqNr-Ext field. For example, the length of the SeqNr-Ext field can be 1 octet, 2 octets, 4 octets, etc., without limitation thereto.

[0086] It should be understood that the range of sequence numbers added by the sender to the to-be-transmitted message and the duplicate message can be indicated by the length of the field carrying the sequence number. For example, when the length of the SeqNr field is 2 octets and the length of the SeqNr-Ext field is 2 octets, the range of sequence numbers is 0 to 232, or 0 to 4294967295. In other words, the sender can add different sequence numbers to 4294967296 to-be-transmitted messages, allowing for multiple transmission and selective reception of these 4294967296 messages.

[0087] Illustratively, after receiving a message to be transmitted, the sender copies the message to be transmitted and adds the same sequence number to both the message to be transmitted and its copy. It should be understood that this sequence number is an idle sequence number within the range indicated by the SeqNr-Ext field and the SeqNr field. An idle sequence number refers to a sequence number whose aging time has expired. For detailed description, please refer to the following description and will not be repeated here.

[0088] The number of copy messages of the message to be transmitted is the same as the number of multiple transmissions when the sending end supports multiple transmission and selective reception messages, or it can be understood as the same as the number of sending ports configured by the sending end for sending messages when multiple transmission and selective reception messages are supported. For example, when the sending end is a DAN (such as DANH or DANP), it means that the sending end is configured with 2 sending ports for sending messages when multiple transmission and selective reception messages are supported. In this case, after obtaining the message to be transmitted, the sending end copies the message to be transmitted to obtain 1 copy message. At this time, the sending end performs double transmission of the message to be transmitted. For another example, when the sending end has 3 sending ports for sending messages when multiple transmission and selective reception messages are supported, in this case, after obtaining the message to be transmitted, the sending end copies the message to be transmitted to obtain 2 copy messages. At this time, the sending end performs 3 transmissions on the message to be transmitted.

[0089] In one possible scenario, the sender implements the HSR protocol defined in IEC Standard 62439-3. In this case, the sender adds an HSR TAG field to the message to be transmitted and its copy. The HSR TAG field includes the SeqNr field and SeqNr-Ext field used to carry the sequence number. That is, the message to be transmitted and its copy, which carry the sequence number assigned by the sender, both include an HSR TAG field, including the SeqNr field and SeqNr-Ext field used to carry the sequence number.

[0090] In another possible scenario, the sender implements the PRP defined in IEC Standard 62439-3. In this case, the sender adds a PRP-RCT field to the message to be transmitted and its copy. The PRP-RCT field includes the SeqNr field and SeqNr-Ext field used to carry the sequence number. That is, the message to be transmitted and its copy, which carry the sequence number assigned by the sender, both include a PRP-RCT field, which includes the SeqNr field and SeqNr-Ext field used to carry the sequence number.

[0091] The embodiment of the present application does not specifically limit the position of the SeqNr-Ext field in the HSR TAG field / PRP-RCT field. For example, in the HSR TAG field / PRP-RCT field, the SeqNr-Ext field can be located before or after the SeqNr field, without limitation. For another example, in the HSR TAG field / PRP-RCT field, the SeqNr-Ext field and the SeqNr field can be adjacent or non-adjacent, without limitation.

[0092] Among them, the SeqNr-Ext field is located before the SeqNr field, which means that the HSR ethertype (HSR ethertype, HSR-ET) field in the HSR TAG field or the PRP suffix field in the PRP-RCT field is the starting position, and the distance from the SeqNr-Ext field to the starting position is less than the distance from the SeqNr field to the starting position. At this time, it means that the parsing order of the SeqNr-Ext field is prior to the SeqNr field. Similarly, the SeqNr-Ext field is located after the SeqNr field, which means that the HSR-ET field in the HSR TAG field or the PRP suffix field in the PRP-RCT field is the starting position, and the distance from the SeqNr-Ext field to the starting position is greater than the distance from the SeqNr field to the starting position. At this time, it means that the parsing order of the SeqNr-Ext field is after the SeqNr field. Among them, the detailed description of the HSR-ET field and the PRP suffix field can be found below and will not be repeated here.

[0093] In addition, in the HSR TAG field / PRP-RCT field, the embodiment of the present application does not specifically limit the high and low bytes of the sequence number represented by the SeqNr-Ext field and the SeqNr field. For example, the embodiment of the present application uses the field at the front of the parsing order to represent the high byte of the sequence number, and uses the field at the back of the parsing order to represent the low byte of the sequence number, according to the parsing order of the SeqNr-Ext field and the SeqNr field in the HSR TAG field / PRP-RCT field. For another example, the embodiment of the present application uses the field at the front of the parsing order to represent the low byte of the sequence number, and uses the field at the back of the parsing order to represent the high byte of the sequence number, according to the parsing order of the SeqNr-Ext field and the SeqNr field in the HSR TAG field / PRP-RCT field.

[0094] The following describes, by way of a specific example, a message format in which the sender adds the SeqNr-Ext field and the SeqNr field to a message to be transmitted.

[0095] Example 1: The sender implements the HSR protocol defined in IEC standard 62439-3, the message to be transmitted is a normal Ethernet frame, and the length of the SeqNr-Ext field is preset to 2 octets. Referring to Figure 5, Figure 5 shows a schematic diagram of the format of a message provided in an embodiment of the present application before and after the HSR TAG field is added.

[0096] As shown in Figure 5 (a), when the HSR TAG field is not added to the transmitted message, the format of the transmitted message is a standard Ethernet frame, including: a 7-octet preamble field, a 1-octet start of frame delimiter (SFD) field, a 6-octet destination media access control (DMAC) address field, a 6-octet source MAC (SMAC) address field, a 2-octet logical link control (LLC) field, a payload field, and a 4-octet frame check sequence (FCS) field. The payload field contains the specific data carried by the message. For detailed explanations of the preamble field, SFD field, DMAC address field, SMAC address field, LLC field, and FCS field, please refer to the relevant technical description and will not be repeated here.

[0097] As shown in FIG5(b), after the HSR TAG field is added to the message to be transmitted having the frame format shown in FIG5(a), the Ethernet frame with the HSR TAG field added (denoted as an HSR Ethernet frame) includes: a 7-octet preamble field, a 1-octet SFD field, a 6-octet DMAC address field, a 6-octet SMAC address field, a 2-octet LLC field, an 8-octet HSR TAG field, a payload field, and a 4-octet FCS field. The HSR TAG field includes a 16-bit HSR EtherType (HSR-ET) field, a 4-bit path identifier (pathID) field, a 12-bit link service data unit size (LSDUsize) field, a 16-bit SeqNr-Ext field, and a 16-bit SeqNr field.

[0098] The HSR-ET field is used to indicate that the Ethernet type of the current frame is the HSR type, or is understood to indicate that the current frame carries the HSR TAG field. In the related art, the HSR-ET field is set to a fixed value of 0x892F.

[0099] The pathID field includes a network (net) ID field and a port ID field.

[0100] When a communication network includes multiple HSR networks with shared nodes, the netID is used to distinguish between different HSR networks, thereby preventing loops from forming when a packet enters an HSR network. In some embodiments, different netID values ​​can be used to distinguish whether a packet is entering an HSR network for the first time, entering the current HSR network from another HSR network, or entering the current HSR network from a PRP network. In one example, the netID field is 3 bits long, which can distinguish eight network scenarios.

[0101] The port ID indicates the port from which the message to be transmitted and its copies are sent. For example, the port ID is 1 bit long, which can indicate two sending ports, thus supporting dual message transmission. Referring to Figure 2a, when DANH 1 transmits a message via HSR port A connected to transmission link 1, the port ID takes the value "0." When DANH 1 transmits a message via HSR port B connected to transmission link 2, the port ID takes the value "1."

[0102] In combination with the above, in one example, the two HSR ports of REDBOX are port A and port B. When a message to be transmitted from the SAN enters the REDBOX of the HSR network, REDBOX can set the netID of the pathID in the HSR TAG field added to the message to be transmitted to "000". Therefore, when the port ID of port A is set to "0" and the port ID of port B is set to "1", the pathID in the HSR TAG field added by REDBOX to the message to be transmitted sent through port A is "0000", and the pathID in the HSR TAG field added to the message to be transmitted sent through port B is "0001".

[0103] In another example, the two HSR ports of the DAN of the current HSR network are port A and port B. When a packet to be transmitted enters the DAN of the current HSR network from another HSR network or a PRP network, the DAN may set the netID of the pathID in the HSR TAG field added for the packet to be transmitted to a value between "001" and "111", such as "010". Thus, when the port ID of port A is set to "0" and the port ID of port B is set to "1", the pathID in the HSR TAG field added by the DAN to the packet to be transmitted via port A is a value between "0100", and the pathID in the HSR TAG field added to the packet to be transmitted via port B is a value between "0101".

[0104] The LSDUsize field is used to indicate the length from the pathID field to the end of the payload field.

[0105] The SeqNr-Ext field and the SeqNr field are used together to carry the sequence number assigned by the sender to the message to be transmitted.

[0106] As shown in (c) of Figure 5 , after the HSR TAG field is added to the message to be transmitted having the frame format shown in (a) of Figure 5 , the structure of the HSR Ethernet frame with the HSR TAG field added is similar to the structure of the HSR Ethernet frame shown in (b) of Figure 5 , with the only difference being that, in the HSR TAG field of the HSR Ethernet frame shown in (b) of Figure 5 , the SeqNr field is located after the SeqNr-Ext field, while in the HSR TAG field of the HSR Ethernet frame shown in (c) of Figure 5 , the SeqNr field is located before the SeqNr-Ext field.

[0107] It should be understood that when the SeqNr field in the HSR TAG field is located before the SeqNr-Ext field, the order in which the receiving end parses the SeqNr field and the SeqNr-Ext field in the HSR TAG field is: the parsing order of the SeqNr field precedes the parsing order of the SeqNr-Ext field. In this case, when the SeqNr-Ext field is used to carry the high-order byte of the sequence number, the SeqNr field is used to carry the low-order byte of the sequence number, and when the high-order bytes of the sequence number are both 0, the HSR Ethernet frame having the message structure shown in (c) of Figure 5 can be recognized and processed by a device that implements the HSR protocol defined in IEC Standard 62439-3. That is, at this time, the structure of the HSR Ethernet frame shown in (c) of Figure 5 is compatible with the dual-transmit selective reception implemented based on the HSR protocol defined in IEC Standard 62439-3. It can be seen that when the position of the SeqNr-Ext field in the HSR TAG field is set as shown in (c) of Figure 5, the compatibility of the method provided in the embodiment of the present application can be improved.

[0108] Example 2: The sender implements the HSR protocol defined in IEC standard 62439-3, the message to be transmitted is a normal VLAN frame, and the length of the SeqNr-Ext field is preset to 2 octets. Referring to Figure 6, Figure 6 shows another format diagram of the message provided in an embodiment of the present application before and after the HSR TAG field is added.

[0109] As shown in (a) of Figure 6 , when the HSR TAG field is not added to the message to be transmitted, the format of the message to be transmitted is a normal VLAN frame, including: a 7-octet preamble field, a 1-octet SFD field, a 6-octet DMAC address field, a 6-octet source MAC address field, a 4-octet 802.1Q header field, a payload field, and a 4-octet FCS field. The detailed explanations of the preamble field, SFD field, DMAC address field, SMAC address field, 802.1Q header field, payload field, and FCS field can be found in the relevant technical description and are not repeated here.

[0110] As shown in (b) of Figure 6, after the HSR TAG field is added to the message to be transmitted with the frame format shown in (a) of Figure 6, the Vlan frame with the HSR TAG field added (referred to as an HSR Vlan frame) includes: a 7-octets preamble field, a 1-octet SFD field, a 6-octets DMAC address field, a 6-octets SMAC address field, a 4-octets 802.1Q header field, an 8-octets HSR TAG field, a payload field, and a 4-octets FCS field. Among them, the HSR TAG field includes a 16-bit HSR-ET field, a 4-bit pathID field, a 12-bit LSDUsize field, a 16-bit SeqNr field, and a 16-bit SeqNr-Ext field. For a detailed description of each field in the HSR TAG field, please refer to the relevant description of Figure 5 above and will not be repeated here. In this case, when the SeqNr-Ext field shown in (b) of Figure 6 is used to carry the high-order byte of the sequence number, the SeqNr field is used to carry the low-order byte of the sequence number, and when the high-order bytes of the sequence number are all 0, it means that the structure of the HSR Vlan frame shown in (b) of Figure 6 is compatible with the dual-transmission and selective reception implemented based on the HSR protocol defined in IEC standard 62439-3.

[0111] Of course, in the HSR TAG field of the HSR Vlan frame, the SeqNr field may also be located after the SeqNr-Ext field, which means that the parsing order of the SeqNr field is later than the parsing order of the SeqNr-Ext field, and this is not limited.

[0112] Example 3: The sender implements the PRP defined in IEC standard 62439-3, the message to be transmitted is a normal Ethernet frame, and the length of the SeqNr-Ext field is preset to 2 octets. Referring to Figure 7, Figure 7 shows a schematic diagram of the format of a message provided in an embodiment of the present application before and after the PRP-RCT field is added.

[0113] As shown in (a) of FIG7 , when the PRP-RCT field is not added to the message to be transmitted, the format of the message to be transmitted is a common Ethernet frame format, and for details, reference may be made to the common Ethernet frame format shown in (a) of FIG5 .

[0114] As shown in FIG7(b), after the PRP-RCT field is added to the message to be transmitted having the frame format shown in FIG7(a), the Ethernet frame with the PRP-RCT field added (denoted as a PRP Ethernet frame) includes: a 7-octet preamble field, a 1-octet SFD field, a 6-octet DMAC address field, a 6-octet SMAC address field, a 2-octet LLC field, a payload field, an 8-octet PRP-RCT field, and a 4-octet FCS field. The PRP-RCT field includes a 16-bit SeqNr-Ext field, a 16-bit SeqNr field, a 4-bit LANID field, a 12-bit LSDUsize field, and a 16-bit PRP suffix field.

[0115] The SeqNr-Ext field and the SeqNr field are used together to carry the sequence number assigned by the sender to the message to be transmitted.

[0116] The LANID field indicates the ID of the switching network connected to the DANP or REDBOX sending the message. Referring to Figure 3a, when DANP 1 sends a message through PRP port A connected to LAN A, the LANID value is "1010." When DANP 1 sends a message through PRP port B connected to LAN B, the LANID value is "1011."

[0117] The LSDUsize field is used to indicate the length from the start of the payload field to the end of the LSDUsize field.

[0118] The PRP suffix field is used to indicate that the type of the current frame is a PRP type, or it can be understood as indicating that the current frame carries a PRP-RCT field. In the related art, the PRP suffix field is set to a fixed value 0x88FB.

[0119] Based on the PRP-RCT field shown in (b) of Figure 7, the SeqNr field is located before the SeqNr-Ext field, which means that the parsing order of the SeqNr field precedes the parsing order of the SeqNr-Ext field. When the SeqNr field is used to carry the low-order byte of the sequence number and the SeqNr-Ext field is used to carry the high-order byte of the sequence number, and when the high-order bytes of the sequence number are all 0, it means that the structure of the PRP Ethernet frame shown in (b) of Figure 7 is compatible with the dual-transmission selective reception implemented by the PRP defined in IEC standard 62439-3. It can be seen that when the position of the SeqNr-Ext field is set in the PRP-RCT field as shown in (b) of Figure 7, the compatibility of the method provided in the embodiment of the present application can be improved.

[0120] Of course, in the PRP-RCT field of the PRP Ethernet frame provided in the embodiment of the present application, the SeqNr field may also be located after the SeqNr-Ext field. In this case, it means that the parsing order of the SeqNr field is later than the SeqNr-Ext field, and there is no limitation on this.

[0121] Example 4: The transmitting end implements the PRP defined in IEC standard 62439-3, the message to be transmitted is a normal VLAN frame, and the length of the SeqNr-Ext field is preset to 2 octets. Referring to Figure 8, Figure 8 shows another format diagram of the message provided in an embodiment of the present application before and after the PRP-RCT field is added.

[0122] As shown in (a) of FIG8 , when the PRP-RCT field is not added to the message to be transmitted, the format of the message to be transmitted is a common Vlan frame format. For details, please refer to the common Vlan frame format shown in (a) of FIG6 .

[0123] As shown in (b) of Figure 8, after the PRP-RCT field is added to the message to be transmitted with the frame format shown in (a) of Figure 8, the Vlan frame with the PRP-RCT field added (denoted as PRP Vlan frame) includes: a 7-octets preamble field, a 1-octet SFD field, a 6-octets DMAC address field, a 6-octets SMAC address field, a 4-octets 802.1Q header field, a payload field, an 8-octets PRP-RCT field, and a 4-octets FCS field. Among them, the PRP-RCT field includes a 16-bit SeqNr-Ext field, a 16-bit SeqNr field, a 4-bit LANID field, a 12-bit LSDUsize field, and a 16-bit PRP suffix field. For a detailed description of each field in the PRP-RCT field, please refer to the relevant description of Figure 7 above and will not be repeated here. In this case, when the SeqNr-Ext field shown in (b) of Figure 8 is used to carry the high-order byte of the sequence number, the SeqNr field is used to carry the low-order byte of the sequence number, and when the high-order bytes of the sequence number are all 0, it means that the structure of the PRP Vlan frame shown in (b) of Figure 8 is compatible with the dual-transmission and selective reception implemented by the PRP defined in IEC standard 62439-3.

[0124] Of course, in the HSR TAG field of the HSR Vlan frame, the SeqNr field may also be located after the SeqNr-Ext field, which means that the parsing order of the SeqNr field is later than the parsing order of the SeqNr-Ext field, and this is not limited.

[0125] Furthermore, after the sender adds the sequence number carried by the SeqNr field and the SeqNr-Ext field to the message to be transmitted and its copy, it generates a corresponding flow table entry for the sequence number in the flow table. The flow table entry includes the sequence number added for the message to be transmitted (and its copy). In addition, the sender sets an aging time (e.g., an aging timer) for the sequence number in the flow table entry. In this way, when the aging time of the sequence number expires, the sender can allocate and add the sequence number to other messages to be transmitted.

[0126] The embodiments of the present application do not specifically limit the specific value of the aging time set by the sender for the sequence number in the flow table entry. The aging time can be within the maximum aging time determined by the sender based on its own transmission bandwidth. In some examples, assuming that the bandwidth of the port in the sender is 1 gigabyte (GB) and the average size of the message sent by the sender is 64 bytes (byte, B), the number of messages that the sender can send per second = 1024 megabytes (MB) / (64 + 12 + 8) / 8 = 1.48MB / second. Among them, "12 + 8" is the inter-frame information length + the preamble field length + the SFD field length. Furthermore, since the maximum number of sequence numbers represented by the SeqNr field and SeqNr-Ext field with a length of 4 octets is 4294967296, the maximum aging time of the sequence number under 1GB bandwidth = 4294967296 / 1.48MB / second = 2902 seconds. Compared to the maximum number of sequence numbers represented by the SeqNr field with a length of 2 octets in the related art, which is 65536, the maximum aging time of the sequence number under 1GB bandwidth = 65536 / 1.48MB / second = 44ms, the maximum aging time in the embodiment of the present application is much greater than the maximum aging time in the related art. Therefore, in the embodiment of the present application, when the sending end sends messages at full bandwidth, the aging time set by the sending end for each sequence number does not exceed the maximum aging time, and the sending end will have enough sequence numbers allocated to each message to be transmitted. At the receiving end, when the aging time set by the receiving end for each sequence number is the maximum aging time, within a sufficiently long aging time, the receiving end can deduplicate the received messages based on the non-aged sequence numbers.

[0127] Step 102: The sending end sends the message to be transmitted and at least one copy of the message to be transmitted via different transmission links.

[0128] The sending end sends the message through the sending port indicated by the relevant field carried in each of the message to be transmitted and at least one copy message, via the transmission link connected to the sending port.

[0129] For example, in an HSR network dual-transmitter and selective-receiver scenario, the transmitter sends the message to be transmitted via a first transmission link connected to the sending port indicated by the pathID field in the HSR TAG field carried in the message to be transmitted. The transmitter also sends the duplicate message to be transmitted via a second transmission link connected to the sending port indicated by the pathID field in the HSR TAG field carried in the duplicate message to be transmitted.

[0130] As another example, in a PRP network with multiple transmissions and selective reception (e.g., dual transmission and selective reception), the transmitter sends the message to be transmitted via a first transmission link connected to the transmission port indicated by the LANID field in the PRP-RCT field carried in the message to be transmitted. The transmitter also sends the duplicate message to be transmitted via a second transmission link connected to the transmission port indicated by the LANID field in the PRP-RCT field carried in the duplicate message to be transmitted.

[0131] The embodiments of the present application do not specifically limit the manner in which the message to be transmitted is forwarded on the first transmission link, nor the manner in which the copy of the message to be transmitted is forwarded on the second transmission link. For example, the forwarding manner may be Layer 2 (L2) forwarding or Layer 3 (L3) forwarding, which is not limited thereto.

[0132] Furthermore, in a PRP network with multiple transmissions and selective reception (e.g., dual transmission and selective reception), the embodiments of the present application do not specifically limit the network structure of the first subnet where the first transmission link is located, nor the network structure of the second subnet where the second transmission link is located. For example, the network structure of the first subnet includes, but is not limited to, a tree structure, and the network structure of the second subnet includes, but is not limited to, a ring structure, without limitation thereto.

[0133] Step 103: The receiving end receives a first message, where the first message includes a sequence number, and the length of a field in the first message used to carry the sequence number is greater than 2 bytes.

[0134] The receiving end supports the multi-transmitter selective reception function. For example, when the transmitting end is a DANH or REDBOX in an HSR network, the receiving end is also a DANH or REDBOX in the HSR network. Alternatively, when the transmitting end is a DANP or REDBOX in a PRP network, the receiving end is also a DANP or REDBOX in the PRP network, and so on. This comparison is not limited.

[0135] The receiving end receives the first message through its receiving port. In some embodiments, the fields used to carry the sequence number in the first message are the SeqNr field and SeqNr-Ext field described above. For detailed description, please refer to the relevant description of step 101.

[0136] Illustratively, the first message may be a "message to be transmitted" sent by the sending end via the first transmission link, or a "copy message of the message to be transmitted" sent by the sending end via the second transmission link, which is not limited.

[0137] Furthermore, after receiving the first message, the receiving end first determines whether it is the destination node of the first message in the multi-transmission and selective reception network. For example, the receiving end determines whether the destination address of the first message is its own address, or determines whether the destination address of the first message is the address of a backend device to which it is connected, thereby determining whether it is the destination node of the first message in the multi-transmission and selective reception network.

[0138] When the receiving end determines that it is not the destination node of the first message in the multiple transmission and selective reception network, the receiving end forwards the first message according to the destination address of the first message in the multiple transmission and selective reception network.

[0139] When the receiving end determines that it is the destination node of the first message in the multiple transmission and selective reception network, the receiving end executes step 104 .

[0140] Step 104: When the first message is the first received message containing the sequence number carried by the first message, the receiving end processes the first message.

[0141] When the receiving end determines that it is the destination node of the first message in the multiple transmission and selective reception network, the receiving end parses the sequence number carried by the first message from the first message.

[0142] In one possible scenario, when the current multi-transmitter selective reception network does not share a node with other multi-transmitter selective reception networks (e.g., the current HSR network does not share a node with other HSR networks), the receiving end queries the flow table based on the sequence number parsed from the first message to determine whether there is a flow table entry containing the sequence number in the flow table. The flow table includes at least one flow table entry, each of which is used to record the sequence number carried by the message received by the receiving end. Optionally, each flow table entry is also used to record the source address (e.g., source MAC address) of the message received by the receiving end.

[0143] When the receiving end traverses the flow table and determines that there is no flow table entry containing the sequence number in the flow table, it determines that the first message is the message containing the sequence number that it has received for the first time. At this time, the receiving end deletes the relevant fields used to carry the sequence number in the first message, and performs subsequent processing on the first message, such as executing relevant business processing based on the first message, or forwarding the first message, etc., which are not limited to this. For example, when the receiving end is DANH or REDBOX in an HSR network, the receiving end deletes the HSR TAG field in the first message, and performs subsequent processing on the first message. For another example, when the receiving end is DANP or REDBOX in a PRP network, the receiving end deletes the PRP-RCT field in the first message, and performs subsequent processing on the first message.

[0144] In addition, after the receiving end determines that there is no flow table entry containing the sequence number in the flow table by traversing the flow table, the receiving end adds a flow table entry including the sequence number carried by the first message to the flow table and sets an aging time for the flow table entry. It should be understood that after the aging time of the flow table entry is reached, the receiving end can delete or invalidate the flow table entry to release the corresponding resources. Optionally, the flow table entry including the sequence number carried by the first message added to the flow table by the receiving end also includes the source address of the first message (e.g., source MAC address), which is not limited to this.

[0145] In another possible scenario, when the current multi-transmitter selective reception network shares nodes with other multi-transmitter selective reception networks (e.g., the current HSR network shares nodes with other HSR networks), the receiving end queries the flow table based on the sequence number extracted from the first message and the source address of the first message to determine whether there is a flow table entry containing the sequence number and the source address in the flow table. In this case, each flow table entry is used to record the source address (e.g., source MAC address) of the message received by the receiving end and the sequence number carried in the message.

[0146] This is because, when a node is shared with other multiple transmission and selective reception networks within the current multiple transmission and selective reception network, the shared node can forward messages from nodes in different multiple transmission and selective reception networks. Since nodes in different multiple transmission and selective reception networks independently add sequence numbers to messages, messages from different multiple transmission and selective reception networks forwarded by the shared node may carry the same sequence number. Therefore, in this case, the receiving end needs to query the flow table based on the sequence number extracted from the first message and the source address of the first message to determine whether there is a flow table entry containing the sequence number and source address in the flow table.

[0147] When the receiving end traverses the flow table and determines that there is no flow table entry containing the sequence number and the source address in the flow table, it determines that the first message is the first message containing the sequence number and the source address received by itself. At this time, the receiving end deletes the relevant fields used to carry the sequence number in the first message, and performs subsequent processing on the first message, such as executing relevant business processing based on the first message, or forwarding the first message, etc., which are not limited to this. In addition, the receiving end adds a flow table entry including the source address of the first message and the sequence number carried by the first message to the flow table, and sets an aging time for the flow table entry. It should be understood that after the aging time of the flow table entry is reached, the receiving end can delete or invalidate the flow table entry to release the corresponding resources.

[0148] Subsequently, the receiving end receives the second message. When the receiving end determines that the second message includes the sequence number carried by the first message by traversing the flow table, it indicates that the receiving end determines that the second message is a duplicate of the first message, and thus the receiving end discards the second message.

[0149] Exemplarily, the receiving end traverses the above-mentioned flow table through the sequence number carried by the second message (or through the source address of the second message and the sequence number carried), and when the flow table includes the sequence number carried by the second message (or includes the sequence number carried by the second message and the source address of the second message), it determines that the second message includes the sequence number carried by the first message, which is not repeated here.

[0150] So far, through the method described in steps 101 to 104, the present application increases the length of the field used to carry the sequence number in the message sent by the sender in the multi-transmission selective reception network (increases the SeqNr-Ext field), thereby increasing the number of available sequence numbers and thus increasing the sequence number range. Furthermore, based on the increased field length for carrying the sequence number, the maximum aging time in the embodiment of the present application is much greater than the maximum aging time in the related art. Therefore, in the embodiment of the present application, when the sender sends the message at full bandwidth, the aging time set by the sender for each sequence number does not exceed the maximum aging time, and the sender will have enough sequence numbers to allocate to each message to be transmitted. At the receiving end, when the aging time set by the receiving end for each sequence number is the maximum aging time, within a sufficiently long aging time, the receiving end can deduplicate the received message based on the unaged sequence number.

[0151] The above mainly introduces the solution provided in the embodiment of the present application from the perspective of method.

[0152] To implement the above functions, as shown in Figure 9, a schematic diagram of the structure of a message transmission device provided in an embodiment of the present application is shown. Message transmission device 900 is applied to a sending end and is used to execute the portion of the message transmission method described above that is executed by the sending end, for example, the portion of the method shown in Figure 4 that is executed by the sending end. Message transmission device 900 may include a processing unit 901 and a sending unit 902.

[0153] A processing unit 901 is configured to assign the same sequence number to a message to be transmitted and at least one copy of the message to be transmitted. A sending unit 902 is configured to send the message to be transmitted and at least one copy of the message to be transmitted via different transmission links. The length of the field used to carry the sequence number in the message to be transmitted and at least one copy of the message to be transmitted is greater than 2 bytes.

[0154] As an example, in conjunction with FIG. 4 , the processing unit 901 may be configured to execute step 101 , and the sending unit 902 may be configured to execute step 102 .

[0155] Optionally, the field for carrying the sequence number is composed of the SeqNr-Ext field and the HSR TAG field defined in IEC standard 62439-3 or the SeqNr field with a length of 2 bytes in the PRP-RCT field.

[0156] Optionally, the parsing order of the SeqNr field precedes the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

[0157] Optionally, when the method described in the embodiment of the present application performs bilateral selective reception based on HSR technology, the message to be transmitted and at least one copy message of the message to be transmitted both include the HSR TAG field in the HSR protocol, and the HSR TAG field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0158] Optionally, when the method described in the embodiment of the present application performs bilateral selective reception based on PRP technology, the message to be transmitted and at least one copy message of the message to be transmitted both include the PRP-RCT field in the PRP, and the PRP-RCT field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0159] Optionally, the sending end is a dual-port node (such as DANH, DANP) or REDBOX that implements the HSR protocol and / or PRP.

[0160] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above message transmission devices 900 can refer to the above corresponding method embodiments, which will not be repeated here.

[0161] As an example, in conjunction with FIG11 described below, the functions implemented by the processing unit 901 in the message transmission device 900 can be implemented by the processor 1101 in FIG11 executing the program code in the memory 1102 in FIG11. The functions implemented by the sending unit 902 in the message transmission device 900 can be implemented by the network interface 1103 shown in FIG11.

[0162] As shown in Figure 10, Figure 10 shows a schematic diagram of the structure of another message transmission device provided in an embodiment of the present application. Message transmission device 1000 is applied to a receiving end and is used to execute the portion of the message transmission method described above that is executed by the receiving end, for example, the portion of the method shown in Figure 4 that is executed by the receiving end. Message transmission device 1000 may include a receiving unit 1001 and a processing unit 1002.

[0163] The receiving unit 1001 is configured to receive a first message including a sequence number. The processing unit 1002 is configured to process the first message if the first message is the first received message including the sequence number. The length of the field for carrying the sequence number in the first message is greater than 2 bytes.

[0164] As an example, in conjunction with FIG. 4 , the receiving unit 1001 may be configured to execute step 103 , and the processing unit 1002 may be configured to execute step 104 .

[0165] Optionally, the receiving unit 1001 is further configured to receive a second message after receiving the first message. The processing unit 1002 is further configured to discard the second message when the second message includes the sequence number carried by the first message.

[0166] Optionally, the field for carrying the sequence number is composed of the SeqNr-Ext field and the HSR TAG field defined in IEC standard 62439-3 or the SeqNr field with a length of 2 bytes in the PRP-RCT field.

[0167] Optionally, the parsing order of the SeqNr field precedes the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

[0168] Optionally, when the method described in the embodiment of the present application performs bilateral selective reception based on HSR technology, the first message and the second message both include an HSR TAG field in the HSR protocol, and the HSR TAG field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0169] Optionally, when the method described in the embodiment of the present application performs bilateral selective reception based on PRP technology, the first message and the second message both include the PRP-RCT field in the PRP, and the PRP-RCT field includes the above-mentioned SeqNr-Ext field and the SeqNr field defined in the standard.

[0170] Optionally, the receiving end is a dual-port node (such as DANH, DANP) or REDBOX that implements the HSR protocol and / or PRP.

[0171] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above message transmission devices 1000 can refer to the above corresponding method embodiments, which will not be repeated here.

[0172] As an example, in conjunction with FIG11 described below, the functions implemented by the receiving unit 1001 in the message transmission device 1000 can be implemented by the network interface 1103 shown in FIG11. The functions implemented by the processing unit 1002 in the message transmission device 1000 can be implemented by the processor 1101 in FIG11 executing the program code in the memory 1102 in FIG11.

[0173] It should be readily apparent to those skilled in the art that, in combination with the units and algorithmic steps of the various examples described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0174] It should be noted that the division of modules / units in FIG9 or FIG10 is schematic and merely a logical functional division. In actual implementation, other divisions may be employed. For example, two or more functions may be integrated into a single processing module. Such integrated modules may be implemented in either hardware or software functional modules.

[0175] Embodiments of the present application provide a message transmission device, wherein the message transmission apparatus described above is applied to the message transmission device. For example, the message transmission apparatus is the message transmission device, or a functional module / component within the message transmission device, without limitation. Thus, the message transmission device can be used to implement some or all of the functions of the message transmission method provided in the embodiments of the present application. Exemplarily, the message transmission device functions as the transmitting end described above, or as the receiving end described above.

[0176] Taking the message transmission device as an example, Figure 11 is a schematic diagram of the structure of a message transmission device provided in an embodiment of the present application. As shown in Figure 11, the message transmission device 1100 includes a processor 1101, a memory 1102, a network interface 1103, and a bus 1104. The processor 1101, the memory 1102, and the network interface 1103 are connected to each other via the bus 1104.

[0177] The processor 1101 may include a general-purpose processor and / or a dedicated hardware chip. The general-purpose processor may include, but is not limited to, a central processing unit (CPU), a microprocessor, or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU), or a multi-core processor (multi-CPU). The dedicated hardware chip is a hardware module for high-performance processing. The dedicated hardware chip includes, but is not limited to, a digital signal processor (DSP), a data processing unit (DPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, a neural processing unit (NPU), a tensor processing unit (TPU), an artificial intelligence (AI) chip, or at least one of a network processor (NP). The processor 1101 may also be an integrated circuit chip having signal processing capabilities. During the implementation process, part or all of the functions of the method provided in the embodiment of the present application can be completed through the hardware integrated logic circuit in the processor 1101 or instructions in software form.

[0178] The memory 1102 is used to store computer programs, including an operating system 1102a and executable code (i.e., program instructions) 1102b. The memory 1102 is, for example, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, or other types of static storage devices that can store static information and instructions, and is also, for example, a static RAM (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), or a synchronous link dynamic random access memory (synchlink). DRAM, SLDRAM) or other types of dynamic storage devices that can store information and instructions, such as read-only optical discs or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store the desired executable code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. For example, the memory 1102 is used to store the flow table mentioned above. The memory 1102 is, for example, independent and connected to the processor 1101 via the bus 1104. Or the memory 1102 and the processor 1101 are integrated together. The memory 1102 can store executable code, and when the executable code stored in the memory 1102 is executed by the processor 1101, the processor 1101 is used to execute part or all of the functions of the message transmission method provided in the embodiment of the present application. For the implementation method of the processor 1101 executing the process, please refer to the relevant description in the aforementioned embodiment. The memory 1102 can also include software modules and data required for other running processes such as the operating system.

[0179] The network interface 1103 uses a transceiver module, such as, but not limited to, a transceiver, to communicate with other devices or communication networks. For example, the network interface 1103 can be any one or a combination of the following devices: a network interface (e.g., an Ethernet interface), a wireless network card, or other devices with network access capabilities. The network interface 1103 includes a receiving unit for receiving data / messages and a transmitting unit for sending data / messages.

[0180] The bus 1104 is any type of communication bus used to interconnect the internal components of the message transmission device 1100 (e.g., the memory 1102, the processor 1101, and the network interface 1103). For example, a system bus is provided. The embodiments of the present application illustrate the example of the aforementioned components within the message transmission device 1100 being interconnected via the bus 1104. Alternatively, the aforementioned components within the message transmission device 1100 may be communicatively connected to each other using other connection methods besides the bus 1104. For example, the aforementioned components within the message transmission device 1100 may be interconnected via an internal logical interface.

[0181] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether each device is independently arranged on different chips or integrated on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For parts that are not described in detail in a certain process, please refer to the relevant descriptions of other processes.

[0182] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing a program development platform includes one or more computer instructions. When these computer program instructions are loaded and executed on the message transmission device 1100, all or part of the functions of the message transmission method provided in the embodiments of the present application are implemented in whole or in part.

[0183] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.

[0184] The present application also provides a message transmission system, comprising the transmitting end and receiving end described above. The transmitting end is configured to execute the portion of the message transmission method described above that is executed by the transmitting end, such as the portion of the method shown in FIG. 4 that is executed by the transmitting end. The receiving end is configured to execute the portion of the message transmission method described above that is executed by the receiving end, such as the portion of the method shown in FIG. 4 that is executed by the receiving end.

[0185] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes computer program instructions. When the computer program instructions are executed by a computing device, a computer system, a processor or the message transmission apparatus / device described above, the computing device, the computer system, the processor or the message transmission apparatus / device described above executes the message transmission method provided in the embodiment of the present application.

[0186] An embodiment of the present application also provides a computer program product comprising instructions. When the instructions are executed by a computing device, a computer system, a processor or the message transmission apparatus / device described above, the computing device, the computer system, the processor or the message transmission apparatus / device described above implements the message transmission method provided in the embodiment of the present application.

[0187] A computer system is a system with computing processing capabilities. A computer system generally includes a processor and memory. The processor is configured to retrieve and execute instructions stored in the memory to enable the computer system to implement the message transmission method described above. Optionally, the computer system may also include at least one of an input interface and an output interface. The processor, memory, input interface, and output interface of the computer system are connected via internal connection paths.

[0188] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or may be accomplished by instructing the relevant hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk, or an optical disk, etc.

[0189] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.

[0190] The embodiment of the present application also provides a chip, which includes a processor for running program instructions or codes, and the chip or a device including the chip can be used to execute the message transmission method provided in the embodiment of the present application. Exemplarily, the chip also includes: an input interface, an output interface, and a memory. Among them, the input interface, output interface, processor, and memory of the chip are connected through the internal connection path of the chip, the memory in the chip is used to store the program instructions or codes run by the processor, and the input interface and output interface of the chip are used for connection and communication between the chip and other chips or devices.

[0191] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "plurality" refers to a plurality, unless otherwise expressly limited.

[0192] In this application, the term "and / or" simply describes an association between related objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the related objects are in an "or" relationship.

[0193] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0194] It should be understood that determining B based on A does not mean determining B based solely on A. B can also be determined based on A and / or other information.

[0195] It will be understood that the term “comprise” (also known as “includes,” “including,” “comprises,” and / or “comprising”) when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0196] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0197] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the concepts and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A message transmission method, characterized in that: Applied to a sending end, the method includes: Assigning the same sequence number to a message to be transmitted and at least one copy of the message to be transmitted, where the length of a field for carrying the sequence number in the message to be transmitted and at least one copy of the message to be transmitted is greater than 2 bytes; The message to be transmitted and the at least one copy message are sent via different transmission links.

2. The method according to claim 1, wherein The field used to carry the sequence number consists of a sequence number extension SeqNr-Ext field and a 2-byte sequence number SeqNr field in the High Reliability Seamless Redundancy Tag HSR TAG field or the Parallel Redundancy Protocol-Redundancy Control Tail PRP-RCT field defined by the International Electrotechnical Commission IEC standard 62439-3.

3. The method according to claim 2, wherein The parsing order of the SeqNr field is prior to the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

4. The method according to any one of claims 1 to 3, characterized in that The transmitting end is a dual-port node DANH implementing high-reliability seamless redundancy, a dual-port node DANP implementing a parallel redundancy protocol, or a redundant box REDBOX.

5. A message transmission method, characterized in that: Applied to a receiving end, the method includes: receiving a first message, where the first message includes a sequence number, and a length of a field in the first message for carrying the sequence number is greater than 2 bytes; In a case where the first message is a message including the sequence number received for the first time, the first message is processed.

6. The method according to claim 5, wherein After receiving the first message, the method further includes: receiving a second message; When the second message includes the sequence number, the second message is discarded.

7. The method according to claim 5 or 6, characterized in that The field used to carry the sequence number consists of a sequence number extension SeqNr-Ext field and a 2-byte sequence number SeqNr field in the High Reliability Seamless Redundancy Tag HSR TAG field or the Parallel Redundancy Protocol-Redundancy Control Tail PRP-RCT field defined by the International Electrotechnical Commission IEC standard 62439-3.

8. The method according to claim 7, wherein The parsing order of the SeqNr field is prior to the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

9. The method according to any one of claims 5 to 8, characterized in that The receiving end is a dual-port node DANH implementing high-reliability seamless redundancy, a dual-port node DANP implementing a parallel redundancy protocol, or a redundant box REDBOX.

10. A message transmission device, characterized in that: Applied to a transmitting end, the device includes: a processing unit, configured to assign the same sequence number to a message to be transmitted and at least one copy of the message to be transmitted, wherein the length of a field for carrying the sequence number in the message to be transmitted and at least one copy of the message to be transmitted is greater than 2 bytes; A sending unit is used to send the message to be transmitted and the at least one copy message via different transmission links.

11. The device according to claim 10, wherein The field used to carry the sequence number consists of a sequence number extension SeqNr-Ext field and a 2-byte sequence number SeqNr field in the High Reliability Seamless Redundancy Tag HSR TAG field or the Parallel Redundancy Protocol-Redundancy Control Tail PRP-RCT field defined by the International Electrotechnical Commission IEC standard 62439-3.

12. The device according to claim 11, wherein The parsing order of the SeqNr field is prior to the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

13. The device according to any one of claims 10 to 12, characterized in that The transmitting end is a dual-port node DANH implementing high-reliability seamless redundancy, a dual-port node DANP implementing a parallel redundancy protocol, or a redundant box REDBOX.

14. A message transmission device, characterized in that: Applied to a receiving end, the device includes: a receiving unit, configured to receive a first message, where the first message includes a sequence number, and a length of a field for carrying the sequence number in the first message is greater than 2 bytes; A processing unit is configured to process the first message when the first message is a message received for the first time and includes the sequence number.

15. The device according to claim 14, wherein The receiving unit is further configured to receive a second message after receiving the first message; The processing unit is further configured to discard the second message when the second message includes the sequence number.

16. The device according to claim 14 or 15, characterized in that The field used to carry the sequence number consists of a sequence number extension SeqNr-Ext field and a 2-byte sequence number SeqNr field in the High Reliability Seamless Redundancy Tag HSR TAG field or the Parallel Redundancy Protocol-Redundancy Control Tail PRP-RCT field defined by the International Electrotechnical Commission IEC standard 62439-3.

17. The device according to claim 16, wherein The parsing order of the SeqNr field is prior to the parsing order of the SeqNr-Ext field. The SeqNr-Ext field is used to carry the high-order byte of the sequence number, and the SeqNr field is used to carry the low-order byte of the sequence number.

18. The device according to any one of claims 14 to 17, characterized in that The receiving end is a dual-port node DANH implementing high-reliability seamless redundancy, a dual-port node DANP implementing a parallel redundancy protocol, or a redundant box REDBOX.

19. A message transmission device, characterized in that: include: A memory, a network interface, and one or more processors, wherein the one or more processors receive or send data through the network interface, and the one or more processors are configured to read program instructions stored in the memory to execute the method according to any one of claims 1 to 9.

20. A message transmission system, characterized in that: The method comprises a transmitting end and a receiving end, wherein the transmitting end is used to execute the method according to any one of claims 1 to 4, and the receiving end is used to execute the method according to any one of claims 5 to 9.

21. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device or a processor, the computing device or the processor is caused to perform the method according to any one of claims 1 to 9.

22. A computer-readable storage medium, characterized in that The method comprises computer program instructions, and when the computer program instructions are executed by a computing device or a processor, the computing device or the processor performs the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Message transmission method, device and system

    CN120434309A

  • Synchronous time comparing equipment of redundant Ethernet, system and method thereof

    CN105978652A

  • Frame processing method and device

    CN112448794A

  • Data message multi-sending selective-receiving sending and receiving method, device and system

    CN114793210A

  • Network duplexing device

    KR1020180055953A