Uninterrupted redundant communication method and system, equipment and medium
By employing a dual-path physical isolation design and serial number management method in the vehicle network, the problems of interruption and common-cause failure in vehicle network communication are solved, realizing uninterrupted redundant communication with zero switching time and meeting the reliability requirements of high-level autonomous driving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-19
- Publication Date
- 2026-03-10
AI Technical Summary
Existing vehicle network communication technologies are subject to millisecond-level interruptions and common-cause failures during fault switching, which cannot meet the communication reliability requirements of high-level autonomous driving functions, and have low hardware costs and bandwidth utilization.
A dual-path physical isolation design is adopted. The sending end processing unit adds a globally unique and monotonically increasing sequence number to the data frame, and performs CRC check and sequence number comparison at the receiving end to realize the optimal selection and reordering of data frames, ensuring uninterrupted transmission at the receiving end.
It achieves uninterrupted redundant communication with zero switching time, reduces the risk of common cause failure, and improves communication reliability and bandwidth utilization, making it suitable for high-level autonomous driving applications.
Smart Images

Figure CN121644014A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of vehicle-mounted network communication, in particular to a non-interruption redundant communication method and system, equipment and medium. BACKGROUND
[0002] In the service-oriented vehicle-mounted network architecture (SOA), high-level automatic driving functions (such as L4) have very high requirements for communication reliability. Traditional redundancy technology mainly provides reliability by switching after a fault occurs.
[0003] The most common solution is switching redundancy based on ring network or double-star topology. For example, an Ethernet ring network is formed, and a manager periodically sends detection frames. When a network fault occurs, the manager detects that the detection frame times out, and then opens the blocked port, changes the network topology from tree to ring, and guides the flow to bypass the fault point. This process requires fault detection time and topology convergence time. The disadvantages of this technology are: 1. There is an interruption time: fault detection, topology calculation and forwarding table refreshing operations will inevitably cause delay, resulting in millisecond-level interruption of communication. For automatic driving applications that require continuous control, this interruption is unacceptable. 2. Common cause failure risk: if the primary and backup paths share the same physical channel (such as a wire harness conduit), they may fail simultaneously due to the same physical event (such as extrusion), resulting in redundancy failure. 3. Idle resources: the standby path does not transmit data under normal circumstances, and the bandwidth resources are not effectively utilized.
[0004] Another solution is the HSR / PRP protocol. This protocol requires each node to have two ports, and after a data frame enters one of the ports, it will be copied and sent out from the other port, and finally de-duplicated by the receiving end. This protocol can achieve zero switching. The disadvantages of this technology are: 1. High hardware cost: all nodes must support the HSR / PRP protocol, and require two network interfaces, which requires high hardware cost and design complexity for vehicle-mounted ECUs, making it difficult to deploy on a large scale in the vehicle. 2. Large bandwidth overhead: all frames are copied and transmitted in the network, and the effective bandwidth utilization rate is only 50%. 3. Complex protocol: the protocol stack is complex, which does not meet the requirements of simple and reliable vehicle-grade software. SUMMARY
[0005] The present application aims to solve at least one of the above problems in the prior art, and through an innovative mechanism, ensures that the receiving end application layer does not perceive any delay or packet loss when a physical link fails, thereby meeting the most stringent requirements of ASIL D level functional safety for communication networks.
[0006] In a first aspect, an embodiment of the present application provides a non-interruption redundant communication method, comprising:
[0007] Data frames from two communication paths are received through two network interfaces, and CRC checks are performed. Erroneous data frames are discarded in order to obtain data frames that pass the check.
[0008] For each data frame that passes verification, extract its sequence number as the target sequence number, and compare the target sequence number with the expected sequence number.
[0009] If the target sequence number is equal to the expected sequence number, submit the data frame to the upper layer application and increment the expected sequence number by 1;
[0010] The data frame is generated by the sending end processing unit by attaching a globally unique and monotonically increasing sequence number to each key application data frame. The initial value of the sequence number is the same as that of the expected sequence number. The data frame is copied by the sending end processing unit to form two identical data frames, which are then sent into the two communication paths simultaneously.
[0011] In a preferred embodiment, the method further includes: if the target sequence number is greater than the expected sequence number, storing the data frame in a reordering buffer.
[0012] In a preferred embodiment, the method further includes: if the target sequence number is less than the expected sequence number, discarding the data frame.
[0013] In a preferred embodiment, the step of submitting the data frame to the upper-layer application and incrementing the expected sequence number by 1 if the target sequence number equals the expected sequence number further includes:
[0014] Check if there is a data frame in the reordering buffer whose target sequence number is equal to the updated expected sequence number. If so, submit the data frame to the upper layer application. Continue until there is no more data frame in the reordering buffer.
[0015] In a preferred embodiment, the two communication paths are configured as two physically isolated communication paths.
[0016] In a preferred embodiment, the data frame is encapsulated in the format of a redundant protocol data unit frame.
[0017] In a preferred embodiment, the format of the redundant protocol data unit frame of the data frame includes: destination MAC address, source MAC address, sequence number, timestamp, original data payload, and frame check sequence.
[0018] In a second aspect, embodiments of the present invention provide an uninterrupted redundant communication system, the system being configured to implement any of the methods described in the first aspect, the system comprising:
[0019] The acquisition module is used to receive data frames from two communication paths through two network interfaces respectively, perform CRC verification, discard erroneous data frames, and acquire data frames that pass the verification.
[0020] The comparison and submission module is used to extract the sequence number of each data frame that passes the verification as the target sequence number, compare the target sequence number with the expected sequence number; if the target sequence number is equal to the expected sequence number, the data frame is submitted to the upper layer application, and the expected sequence number is incremented by 1;
[0021] The data frame is generated by the sending end processing unit by attaching a globally unique and monotonically increasing sequence number to each key application data frame. The initial value of the sequence number is the same as that of the expected sequence number. The data frame is copied by the sending end processing unit to form two identical data frames, which are then sent into the two communication paths simultaneously.
[0022] Thirdly, embodiments of the present invention provide an electronic device, including:
[0023] One or more processors;
[0024] Memory, used to store one or more programs;
[0025] When the one or more programs are executed by the one or more processors, the one or more processors implement any of the methods described in the first aspect.
[0026] Fourthly, embodiments of the present invention provide a computer-readable medium on which a computer program is stored, which, when executed by a processor, implements the steps of any of the methods described in the first aspect.
[0027] Beneficial effects of this invention:
[0028] 1. True uninterrupted redundancy: This invention fundamentally eliminates fault switching delay and achieves zero switchover time, providing crucial communication assurance for L4 and above autonomous driving.
[0029] 2. High Reliability: This invention employs a dual-path physical isolation design, greatly reducing the risk of common-cause failures. The intelligent sequencing mechanism can tolerate arbitrary failures and out-of-order events on a single path.
[0030] 3. Transparent to the application layer: The entire redundancy processing of this invention is completed at the communication layer, and the upper-layer application and SOA service do not need any modification, resulting in excellent compatibility.
[0031] 4. Performance optimization: The receiver of this invention always selects the fastest of the two paths, which not only provides redundancy but may even reduce the average communication latency.
[0032] 5. Strong fault tolerance: This invention can effectively cope with any fault in a single path, including permanent interruption, intermittent flashback, and severe delay jitter. Attached Figure Description
[0033] Figure 1 This is a schematic diagram of the communication process of the sending end processing unit provided in an embodiment of the present invention.
[0034] Figure 2 This is a schematic diagram of the heterogeneous physical network communication process provided in an embodiment of the present invention.
[0035] Figure 3 This is a schematic diagram of the communication process of the receiving end processing unit provided in an embodiment of the present invention.
[0036] Figure 4 This is a schematic flowchart of a non-interruption redundant communication method provided in an embodiment of the present invention.
[0037] Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0038] To enable those skilled in the art to better understand the technical solutions of the present invention, exemplary embodiments of the present invention are described below in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0039] Where there is no conflict, the various embodiments of the present invention and the features thereof may be combined with each other.
[0040] As used herein, the term “and / or” includes any and all combinations of one or more related enumerated entries.
[0041] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated feature, integral, step, operation, element, and / or component is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded. Terms such as “connected” or “linked” are not limited to physical or mechanical connections but can include electrical connections, whether direct or indirect.
[0042] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having the meaning consistent with their meaning in the context of the relevant art and the invention, and will not be interpreted as having an idealized or overly formal meaning unless expressly so defined herein.
[0043] In the technical solution of this invention, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information all comply with relevant laws and regulations and do not violate public order and good morals. The use of user data in this technical solution follows relevant national laws and regulations (e.g., the "Information Security Technology - Personal Information Security Specification"). For example: appropriate measures are taken for personal information access control; restrictions are imposed on the display of personal information; the purpose of using personal information does not exceed the scope of direct or reasonable association; and explicit identity targeting is eliminated when using personal information to avoid precisely locating a specific individual.
[0044] The abbreviations and key terms of this invention are defined as follows:
[0045] ECU, Electronic Control Unit.
[0046] SOA, Service-Oriented Architecture.
[0047] RPDU, Redundancy Protocol Data Unit.
[0048] SN, Sequence Number.
[0049] Re-order Buffer.
[0050] CRC, Cyclic Redundancy Check.
[0051] Traditional redundancy technologies (such as dual CAN and ring network redundancy) suffer from millisecond-level interruptions during fault switching, which cannot meet the "zero-interruption" transmission requirements for critical control commands such as braking and steering.
[0052] The present invention proposes an innovative mechanism, which includes a sending - end processing unit, a heterogeneous physical network, and a receiving - end processing unit. The core idea is "double - sending and double - receiving, and selecting the better one", aiming to solve the problem of truly "uninterrupted" communication that cannot be achieved by existing redundancy technologies.
[0053] Figure 1 It is a schematic diagram of the communication process of the sending - end processing unit provided by an embodiment of the present invention. As Figure 1 shown, the communication process of the sending - end processing unit includes: 1. Redundancy encapsulation: The sending - end ECU attaches a globally unique and monotonically increasing sequence number (SN) to each key application data frame sent at the bottom layer of the protocol stack. 2. Frame replication: The original data frame and the SN are encapsulated together into a redundant protocol data unit (RPDU), and an identical copy is made immediately. 3. Dual - path sending: Through two independent physical network interfaces (such as two Ethernet PHY chips), the two identical RPDU frames are simultaneously sent into two physically isolated communication paths (Path A and Path B).
[0054] Figure 2 It is a schematic diagram of the communication process of the heterogeneous physical network provided by an embodiment of the present invention. As Figure 2 shown, the network topology of the heterogeneous physical network consists of two paths. The two paths should be physically routed as isolated as possible (for example, arranged on both sides of the vehicle chassis) to avoid common - cause failures. The switches on the paths do not require special support and only need to complete normal forwarding.
[0055] Figure 3 It is a schematic diagram of the communication process of the receiving - end processing unit provided by an embodiment of the present invention. As Figure 3 shown, the communication process of the receiving - end processing unit includes: 1. Dual - path receiving and verification: The two network interfaces of the receiving - end ECU respectively receive frames from the two paths and perform CRC verification, discarding the incorrect frames. 2. Intelligent sorting and decision - making: The receiving - end maintains an expected sequence number (Expected_SEQ) and a re - order buffer (Re - order Buffer); for each frame that passes the verification, its SN is extracted and compared with Expected_SEQ: If SN == Expected_SEQ: Immediately submit the payload of this frame to the upper - layer application and increment Expected_SEQ by 1. Subsequently, check whether there is a frame in the buffer with an SN equal to the new Expected_SEQ. If so, continue to submit until there is none; If SN > Expected_SEQ: It means this frame arrives in advance, and it is stored in the re - order buffer waiting for the frames in front of it; If SN < Expected_SEQ: It means this frame is a late duplicate frame and is directly discarded. Through this mechanism, the receiving - end always submits the earliest - arriving correct frame to the application layer, and the failure or delay of a single path is completely transparent to the application layer.
[0056] In this embodiment, for ease of description, the receiving end processing unit will be used as the execution subject in the following description. The receiving end processing unit can be a receiving end ECU, or other electronic devices capable of performing the following functions.
[0057] Figure 4 This is a flowchart illustrating an uninterrupted redundant communication method provided in an embodiment of the present invention; as shown below. Figure 4 As shown, the method includes:
[0058] Step S1: Receive data frames from two communication paths (Path A and Path B) through two network interfaces respectively, perform CRC check, discard erroneous data frames, and obtain data frames that pass the check.
[0059] Step S2: Extract the sequence number (SN) of each data frame that passes the verification as the target sequence number, and compare the target sequence number with the expected sequence number (Expected_SEQ);
[0060] Step S3: If the target sequence number is equal to the expected sequence number, submit the data frame to the upper layer application and increment the expected sequence number by 1.
[0061] The data frame is generated by the sending end processing unit by attaching a globally unique and monotonically increasing sequence number (SN) to each key application data frame. The initial value of the sequence number is the same as that of the expected sequence number. The data frame is copied by the sending end processing unit to form two identical data frames, which are simultaneously sent to the two communication paths (Path A and Path B), so that the receiving end processing unit can receive data frames from the two communication paths (Path A and Path B) through two network interfaces respectively.
[0062] Through the above steps, the receiving end always submits the first correct frame to the application layer, thus achieving truly "uninterrupted" communication.
[0063] In some embodiments, the method further includes step S4: if the target sequence number is greater than the expected sequence number, the data frame is stored in the re-order buffer. This indicates that the frame has arrived early, so it is stored in the re-order buffer to wait for the frames preceding it.
[0064] In some embodiments, the method further includes step S5: if the target sequence number is less than the expected sequence number, the data frame is discarded. This indicates that the frame is a late duplicate frame and is therefore discarded directly.
[0065] In some embodiments, step S3, if the target sequence number is equal to the expected sequence number, submitting the data frame to the upper-layer application and incrementing the expected sequence number by 1, further includes:
[0066] Check if there is a data frame in the re-order buffer whose target sequence number is equal to the updated expected sequence number. If so, submit the data frame to the upper layer application. Continue until there are no more data frames. The re-order buffer contains data frames that have arrived early. Therefore, check the re-order buffer. If there is a data frame that has arrived early, submit the data frame to the upper layer application.
[0067] In some embodiments, the two communication paths are configured as two physically isolated communication paths to avoid common-cause failures.
[0068] In some embodiments, the data frame is encapsulated in the format of a Redundant Protocol Data Unit (RPDU) frame.
[0069] In some embodiments, the format of the redundant protocol data unit (RPDU) frame of the data frame includes: destination MAC address, source MAC address, sequence number, timestamp, raw data payload, and frame check sequence.
[0070] In some embodiments, a format for a Redundant Protocol Data Unit (RPDU) frame is shown in the table below:
[0071]
[0072] Based on the same inventive concept, embodiments of the present invention also provide an uninterrupted redundant communication system, the system being configured to implement any of the methods described in the above embodiments, the system comprising:
[0073] The acquisition module is used to receive data frames from two communication paths through two network interfaces respectively, perform CRC verification, discard erroneous data frames, and acquire data frames that pass the verification.
[0074] The comparison and submission module is used to extract the sequence number of each data frame that passes the verification as the target sequence number, compare the target sequence number with the expected sequence number (Expected_SEQ); if the target sequence number is equal to the expected sequence number, the data frame is submitted to the upper layer application and the expected sequence number is incremented by 1;
[0075] The data frame is generated by the sending end processing unit by attaching a globally unique and monotonically increasing sequence number to each key application data frame. The initial value of the sequence number is the same as that of the expected sequence number. The data frame is copied by the sending end processing unit to form two identical data frames, which are then sent into the two communication paths simultaneously.
[0076] Based on the same inventive concept, embodiments of the present invention also provide an electronic device. Figure 5 This is a structural block diagram of an electronic device provided in an embodiment of the present invention. Figure 5 As shown, an embodiment of the present invention provides an electronic device including: one or more processors 101, a memory 102, and one or more I / O interfaces 103. The memory 102 stores one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement any of the methods described in the above embodiments; the one or more I / O interfaces 103 are connected between the processor and the memory, configured to enable information interaction between the processor and the memory.
[0077] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read / write interface) 103 is connected between the processor 101 and the memory 102, and can realize information interaction between the processor 101 and the memory 102, including but not limited to a data bus (Bus).
[0078] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.
[0079] In some embodiments, the one or more processors 101 include a field-programmable gate array.
[0080] Based on the same inventive concept, embodiments of the present invention also provide a computer-readable medium. This computer-readable medium stores a computer program, wherein, when executed by a processor, the program implements the steps of any of the methods described in the above embodiments. The computer-readable storage medium may be a volatile or non-volatile computer-readable storage medium.
[0081] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media).
[0082] As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0083] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0084] The computer program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of the invention.
[0085] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0086] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0087] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0088] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0089] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0090] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for illustrative purposes only and should be construed as such, and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of the invention as set forth in the appended claims.
Claims
1. A method of interrupt-free redundant communication, the method comprising: The method comprises: receiving data frames from two communication paths through two network interfaces respectively, performing CRC check, discarding incorrect data frames, and obtaining data frames passing the check; extracting the serial number of each data frame passing the check as a target serial number, comparing the target serial number with an expected serial number; if the target serial number is equal to the expected serial number, submitting the data frame to an upper-layer application and increasing the expected serial number by 1; wherein the data frame is generated by a sending-end processing unit by appending a globally unique and monotonically increasing serial number to each key application data frame, the serial number is the same as the initial value of the expected serial number, and the data frame is copied by the sending-end processing unit to form two identical data frames and sent to the two communication paths simultaneously.
2. The method of claim 1, wherein, The method further comprises: if the target serial number is greater than the expected serial number, storing the data frame in a reordering buffer.
3. The method of claim 2, wherein, The method further comprises: if the target serial number is less than the expected serial number, discarding the data frame.
4. The method according to claim 2 or 3, characterized in that, The step of if the target serial number is equal to the expected serial number, submitting the data frame to an upper-layer application and increasing the expected serial number by 1 further comprises: checking whether there is a data frame with a target serial number equal to the updated expected serial number in the reordering buffer, and submitting the data frame to an upper-layer application until there is no data frame with a target serial number equal to the updated expected serial number.
5. The method of claim 1, wherein, The two communication paths are two physically isolated communication paths.
6. The method of claim 1, wherein, The data frame is encapsulated in the format of a redundant protocol data unit frame.
7. The method of claim 6, wherein, The format of the redundant protocol data unit frame of the data frame comprises a destination MAC address, a source MAC address, a serial number, a time stamp, an original data payload, and a frame check sequence.
8. A hitless redundancy communications system, characterized by The system is configured to implement the method of any one of claims 1 to 7, and the system comprises: an obtaining module configured to receive data frames from two communication paths through two network interfaces respectively, perform CRC check, discard incorrect data frames, and obtain data frames passing the check; a comparing and submitting module configured to extract the serial number of each data frame passing the check as a target serial number, compare the target serial number with an expected serial number, and if the target serial number is equal to the expected serial number, submit the data frame to an upper-layer application and increase the expected serial number by 1; wherein the data frame is generated by a sending-end processing unit by appending a globally unique and monotonically increasing serial number to each key application data frame, the serial number is the same as the initial value of the expected serial number, and the data frame is copied by the sending-end processing unit to form two identical data frames and sent to the two communication paths simultaneously.
9. An electronic device, comprising: The system comprises: one or more processors; a memory configured to store one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the method of any one of claims 1 to 7.
10. A computer readable medium having stored thereon a computer program, characterized in that The computer program, when executed by a processor, implements the steps in the method of any one of claims 1 to 7.
Citation Information
Cited By
Truck formation control method and device
CN122101154A
Method and device for controlling a truck platoon
CN122101154B