Data transmission method and device and network equipment

By keeping the transmission gate open in the gating list, the waiting latency problem caused by inaccurate clock synchronization between TSN terminals and network devices is solved, achieving efficient data stream transmission and meeting the latency requirements of application scenarios such as industrial control.

CN121750131APending Publication Date: 2026-03-27HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

The TSN terminal and network equipment failed to achieve precise clock synchronization, causing the data stream to miss the packet transmission time slot, resulting in waiting delays, which could not meet the high requirements for data transmission latency in application scenarios such as industrial control.

Method used

By keeping the first transmission gate open in the gating list during the first cycle, the data stream is prevented from missing the packet transmission slot. By using the gating list to send the data stream, waiting delay is eliminated and bounded delay is reduced.

Benefits of technology

It effectively eliminates data stream latency, improves transmission efficiency, and meets the high requirements for data transmission latency in application scenarios such as industrial control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121750131A_ABST
    Figure CN121750131A_ABST
Patent Text Reader

Abstract

The invention provides a data transmission method, a data transmission device and network equipment. In an embodiment, a network device receives a first data stream; the network equipment sends the first data flow according to the gating list; wherein in the gating list, the state of the first transmission gate is kept in an open state in a first period, the first period refers to the period of controlling the first transmission gate according to the gating list, and the first transmission gate is used for transmitting the first data stream. Therefore, the waiting time delay of the first data stream can be eliminated, and the high requirement for data transmission time delay in application scenes such as industrial control can be met.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, and in particular to a data transmission method, device and network equipment. BACKGROUND

[0002] The Time Sensitive Networking (TSN) standard provides reliable delay transmission services based on layer 2 switching, ensuring the reliability of delay-sensitive business data transmission and predictable end-to-end transmission delay. TSN network aims to provide low-delay, high-availability data transmission, with particular emphasis on ultra-low delay and high availability of transmission. These characteristics enable TSN network to meet the requirements of future Internet of Everything and adapt well to various application scenarios that require fast response and reliable communication, such as industrial control.

[0003] However, some TSN terminals do not support clock synchronization, so the TSN terminal cannot achieve precise clock synchronization with the network equipment. As a result, during data transmission, a waiting delay will be generated, which cannot meet the high requirements of some application scenarios for data transmission delay. SUMMARY

[0004] The embodiments of the present application provide a data transmission method, device and network equipment, which can eliminate the waiting delay and meet the high requirements of industrial control and other application scenarios for data transmission delay.

[0005] In a first aspect, the embodiments of the present application provide a data transmission method, comprising:

[0006] The network equipment receives a first data stream;

[0007] The network equipment sends the first data stream according to the gating list;

[0008] In the gating list, the state of the first transmission gate remains open in the first period, and the first period refers to the period of controlling the first transmission gate according to the gating list, and the first transmission gate is used to transmit the first data stream.

[0009] According to the present scheme, the first data stream is sent through the gating list. In the gating list, the first transmission gate for transmitting the first data stream remains open in the first period. In this way, the situation that the first data stream misses the packet sending time slot and needs to wait for the next packet sending time slot due to the fact that the TSN terminal and the network equipment do not perform precise clock synchronization can be avoided, so as to eliminate the waiting delay of the first data stream at the network equipment and reduce the bounded delay of the first data stream.

[0010] In a possible implementation manner, the method further comprises:

[0011] Network devices obtain gating configuration information;

[0012] The network device configures the status of the first transmission gate based on the gating configuration information, and obtains the gating list.

[0013] In one possible implementation, the first cycle consists of multiple first time slots;

[0014] The state of the first transmission gate remaining open within the first cycle refers to the state of remaining open within multiple first time slots.

[0015] In this way, the waiting delay of the first data stream can be eliminated, the transmission efficiency of the first data stream can be improved, and the bounded delay of the first data stream can be reduced.

[0016] In one possible implementation, the method also includes:

[0017] The network device receives the second data stream;

[0018] The network device sends a first data stream based on the gating list, including:

[0019] The network device sends a first data stream and a second data stream according to the gating list;

[0020] The latency requirement for the first data stream is higher than that for the second data stream.

[0021] Thus, since the first transmission gate remains open, the waiting delay of the first data stream can be eliminated, the transmission efficiency of the first data stream can be improved, and the bounded delay of the first data stream can be reduced.

[0022] In one possible implementation, the gating list is also used to indicate the on / off state of the second transmission gate during the first cycle, the second transmission gate being used to transmit the second data stream.

[0023] In one possible implementation, the first time slot includes a fast time slot and a non-fast time slot;

[0024] During the fast time slot, the second transmission gate is in the closed state;

[0025] During non-fast time slots, at least one second transmission gate is in the open state.

[0026] Thus, the first transmission gate remains open throughout the fast time slot, thereby improving the transmission efficiency of the first data stream. By closing the second transmission gate through the fast time slot, the bounded delay of the first data stream can be reduced.

[0027] In one possible implementation, the second transmission gate is closed for a series of consecutive first time slots.

[0028] In this way, the bounded latency of the first data stream can be reduced, and the transmission efficiency of the first data stream can be improved.

[0029] In one possible implementation, the position of the fast time slot in the gating list of different network devices is rotated.

[0030] This reduces the waiting latency of the first data stream throughout the entire transmission process.

[0031] In one possible implementation, the lengths of the multiple first time slots in the gating list are different, and the sum of the lengths of the multiple first time slots is the first cycle.

[0032] This reduces the waiting latency of the first data stream during transmission.

[0033] Secondly, embodiments of this application provide a data transmission apparatus, applied to a network device, comprising:

[0034] The receiving module is used to receive the first data stream;

[0035] The sending module is used to send the first data stream according to the gating list;

[0036] In the gating list, the first transmission gate remains open during the first cycle. The first cycle refers to the period during which the first transmission gate is controlled according to the gating list. The first transmission gate is used to transmit the first data stream.

[0037] According to this scheme, the first data stream is sent through a gating list. In the gating list, the first transmission gate for transmitting the first data stream remains open during the first cycle. This avoids situations where the first data stream misses a transmission slot due to inaccurate clock synchronization between the TSN terminal and network equipment, requiring it to wait for the next transmission slot, thus eliminating the waiting delay of the first data stream and reducing its bounded latency.

[0038] One possible implementation also includes:

[0039] The acquisition module is used to obtain gate control configuration information;

[0040] The configuration module is used to configure the state of the first transmission gate according to the gate control configuration information and obtain the gate control list.

[0041] In one possible implementation, the first cycle consists of multiple first time slots;

[0042] The state of the first transmission gate remaining open within the first cycle refers to the state of remaining open within multiple first time slots.

[0043] In this way, the waiting delay of the first data stream can be eliminated, the transmission efficiency of the first data stream can be improved, and the bounded delay of the first data stream can be reduced.

[0044] In one possible implementation,

[0045] The receiving module is also used to receive a second data stream;

[0046] The sending module is used to send a first data stream and a second data stream according to the gating list;

[0047] The latency requirement for the first data stream is higher than that for the second data stream.

[0048] Thus, since the first transmission gate remains open, the waiting delay of the first data stream can be eliminated, the transmission efficiency of the first data stream can be improved, and the bounded delay of the first data stream can be reduced.

[0049] In one possible implementation, the gating list is also used to indicate the on / off state of the second transmission gate during the first cycle, the second transmission gate being used to transmit the second data stream.

[0050] In one possible implementation, the first time slot includes a fast time slot and a non-fast time slot;

[0051] During the fast time slot, the second transmission gate is in the closed state;

[0052] During non-fast time slots, at least one second transmission gate is in the open state.

[0053] Thus, the first transmission gate remains open throughout the fast time slot, thereby improving the transmission efficiency of the first data stream. By closing the second transmission gate through the fast time slot, the bounded delay of the first data stream can be reduced.

[0054] In one possible implementation, the second transmission gate is closed for multiple consecutive time slots.

[0055] In this way, the bounded latency of the first data stream can be reduced, and the transmission efficiency of the first data stream can be improved.

[0056] In one possible implementation, the position of the fast time slot in the gating list of different network devices is rotated.

[0057] This reduces the waiting latency of the first data stream throughout the entire transmission process.

[0058] In one possible implementation, multiple time slots in the gating list have different lengths, and the sum of the lengths of the multiple time slots is the first cycle.

[0059] This reduces the waiting latency of the first data stream throughout the entire transmission process.

[0060] Thirdly, embodiments of this application provide a network device, including: at least one memory for storing a program; and at least one processor for executing the program stored in the memory, wherein when the program stored in the memory is executed, the processor is used to execute the method provided in the first aspect.

[0061] Fourthly, embodiments of this application provide a network device, characterized in that the device executes computer program instructions to perform the method provided in the first aspect. Exemplarily, the device may be a chip or a processor.

[0062] In one example, the device may include a processor that can be coupled to memory, read instructions from the memory, and execute the methods provided in the first aspect according to those instructions. The memory may be integrated into the chip or processor, or it may be independent of the chip or processor.

[0063] Fifthly, embodiments of this application provide a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect.

[0064] In a sixth aspect, embodiments of this application provide a computer program product containing instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect. Attached Figure Description

[0065] Figure 1 This is a schematic diagram of the structure of a fully centralized TSN system provided in an embodiment of this application;

[0066] Figure 2 This is a schematic diagram of a gated list in the prior art provided in an embodiment of this application;

[0067] Figure 3 This is a flowchart illustrating a data transmission method provided in an embodiment of this application;

[0068] Figure 4 This is a schematic diagram of a gating list provided in an embodiment of this application;

[0069] Figure 5 This is a schematic diagram of a time slot division provided in an embodiment of this application;

[0070] Figure 6 This is a schematic diagram illustrating the time-slot transmission of a data stream across different network devices, as provided in an embodiment of this application.

[0071] Figure 7 This is a schematic diagram illustrating the time-slot transmission of a data stream across multiple network devices, as provided in an embodiment of this application.

[0072] Figure 8 This is a schematic diagram illustrating another type of data stream transmission in time slots across multiple network devices, as provided in an embodiment of this application.

[0073] Figure 9 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application;

[0074] Figure 10 This is a schematic diagram of the structure of a network device provided in an embodiment of this application. Detailed Implementation

[0075] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0076] Time-Sensitive Signalling (TSN) technology is a set of standard technologies being researched by the IEEE 802.1TSN task group. This technology defines a time-sensitive transmission mechanism over Ethernet and is a derivative of IEEE 802.1Q Virtual Local Area Networks. TSN technology places particular emphasis on deterministic latency, low latency, and high availability for service transmissions. TSN technology has a wide range of applications. For example, in the industrial sector, TSN technology is a crucial enabling technology for industrial automation, the Industrial Internet, and smart manufacturing. In the automotive sector, TSN technology is a key enabling technology for the major trend of vehicular networks moving towards Ethernet. For future use of bearer networks for 5G, augmented reality (AR), virtual reality (VR), and other real-time services, TSN technology is also a crucial enabling technology for ensuring deterministic latency in service transmissions.

[0077] The TSN (Transportation Streaming System) technical standard is divided into four main parts: data plane, control plane, time synchronization, and reliability. The scheduling algorithms and frame preemption mechanisms defined in the TSN data plane are key technologies for achieving deterministic latency. The scheduling algorithms defined in the TSN data plane fall into two main categories: time-gated scheduling algorithms (also known as synchronous scheduling algorithms) and quality of service (QoS)-based scheduling algorithms (also known as asynchronous scheduling algorithms). The TSN control plane is used to configure network devices, such as reserving resources, according to the data flow transmission requirements, enabling the network devices to support the operation of the TSN data plane.

[0078] In the industrial sector, traditional Ethernet and Internet Protocol (IP) technologies offer users low-cost, high-bandwidth solutions, but they cannot guarantee service transmission performance, especially deterministic latency. Currently, industrial Ethernet protocols used in industrial networks, after customization and modification, can provide deterministic latency that meets service requirements, but bandwidth is relatively limited, and interoperability and scalability are poor. TSN technology combines the advantages of both: it guarantees deterministic latency for service transmission while providing a low-cost, high-bandwidth solution.

[0079] IEEE 802.1cc defines three configuration models for TSN: a purely distributed TSN system, a centralized network / distributed user TSN system, and a fully centralized TSN system. For example, as shown... Figure 1 As shown, a fully centralized TSN system includes TSN End Stations, TSN network devices, Centralized User Configuration (CUC) nodes, and Centralized Network Configuration (CNC) nodes. The CUC, acting as the user's "representative," transmits user / network configuration information to the CNC. The CNC then configures the TSN network devices according to the network management protocol.

[0080] like Figure 1 As shown, a TSN terminal can be either a talker or a listener for data streams. A TSN terminal refers to a terminal that has the relevant capabilities to support TSN. TSN network devices are used to reserve resources for data streams according to TSN configuration information, such as gating lists, and to schedule and forward data packets.

[0081] IEEE 802.1Qbv is a project of IEEE 802.1, and its enhanced traffic scheduling is a key feature of TSN technology. This enhanced traffic scheduling defines a scheduling mechanism based on a gate control list (GCL). In this mechanism, each port of a network device is configured with a GCL. When a network device forwards any packet through any port, it first caches the packet in a packet queue on that port based on the packet's identifier (ID), priority, and service level. The network device then schedules multiple packet queues on each port according to the GCL of each port to forward packets from those queues. Each port's GCL includes multiple time slots and corresponding queue status information for each time slot. The queue status information for each time slot corresponds one-to-one with the multiple packet queues on each port, and the queue status information for each time slot indicates the on / off state of the corresponding packet queue in that time slot. In each time slot, the network device schedules the open packet queues from multiple packet queues on each port to forward packets from these open queues. As an example, Figure 2 This shows eight queues for a port. When a packet is forwarded, it is placed into a specific queue based on its attributes (such as packet class, packet priority, etc.). The gate control list is periodic, with each period containing multiple time slots. Figure 2 The diagram shows 80 time slots, designated T00, T01, T02, ..., T79. Each time slot in the gating list corresponds one-to-one with one of the eight queues. 'o' indicates that the transmission gate for the corresponding queue in the time slot is open, and packets in the queue can be forwarded. 'C' indicates that the transmission gate for the corresponding queue in the time slot is closed, and packets in the queue cannot be forwarded. For example, Figure 2 In the time slot T05 of the gating list shown, the transmission gate for queue #7 of service class is open, the transmission gate for queue #6 of service class is closed, the transmission gate for queue #5 of service class is open, the transmission gate for queue #4 of service class is closed, the transmission gate for queue #3 of service class is open, the transmission gate for queue #2 of service class is open, the transmission gate for queue #1 of service class is closed, and the transmission gate for queue #0 of service class is open.

[0082] The key configuration parameters required for the gating mechanism defined in IEEE 802.1Qbv include the execution cycle of the gating list, such as... Figure 2 As shown, the time from execution slot T00 to the next execution slot T00 is the execution cycle of the gating list. Key configuration parameters also include the gating list itself, such as... Figure 2As shown, each row in the gating list indicates the open / closed state of the transmission gate corresponding to each queue. Key configuration parameters also include the time interval for each time slot. The time interval for each time slot indicates the length of each time slot. Key configuration parameters also include the base time for executing the gating list. The time at which the gating list begins execution each time is the sum of the base time and an integer multiple of the execution cycle.

[0083] In a TSN network, all tasks are performed based on a reference time, and accurate clock synchronization is fundamental to TSN operation. However, in many application scenarios, such as industrial control, TSN terminals cannot support clock synchronization with network devices. Therefore, accurate clock synchronization between TSN terminals and network devices is not possible. The "door opening time" of the gating list for some data streams cannot accurately match the packet sending time of the TSN terminal, resulting in the TSN terminal missing its corresponding "door opening time" by the time a packet arrives at the network device. To achieve accurate matching, at least the first hop of the data stream would need to be introduced with a waiting delay, leading to higher bounded latency. Waiting latency refers to the time slot during which a data packet misses the forwarding slot indicated by the network device's gating list and must wait for the next forwarding slot.

[0084] Furthermore, the orchestration of gating lists requires accurate data traffic information, such as traffic characteristics, latency requirements, and network topology information (including network devices and TSN terminals). In some application scenarios, such as industrial control, the impact of engineering factors on gating list orchestration must also be considered, such as the timing of data packet transmission by TSN terminals, the time synchronization accuracy between TSN terminals and network devices, and the inherent latency of TSN terminals. However, all of the above data traffic information has a certain range of fluctuation. Therefore, without accurate data traffic information, gating list orchestration can also be incorrect, leading to higher bounded latency.

[0085] In addition, the method of arranging gating lists by stream is quite difficult. Each time the data stream is switched, the protective bag of the door will also introduce additional time consumption, which will lead to high bounded latency.

[0086] In summary, the gating mechanism defined in the current IEEE 802.1Qbv standard still has limitations that can increase bounded latency, thus failing to meet the high latency requirements of critical services. These critical services are essentially industrial control applications, such as PLC operations.

[0087] Based on this, embodiments of this application provide a data transmission method, apparatus, and network device. In this method, a first data stream is transmitted through a gating list. In the gating list, a first transmission gate for transmitting the first data stream remains open during a first cycle. This avoids situations where the first data stream misses a packet transmission slot due to inaccurate clock synchronization between the TSN terminal and the network device, requiring it to wait for the next packet transmission slot, thereby eliminating the waiting delay of the first data stream and reducing its bounded latency.

[0088] The technical solution of this application is described below. First, the application scenarios of the embodiments of this application are introduced.

[0089] The application scenario of this application provides a deterministic networking (DetNet), which can be a TSN or other DetNet used to guarantee latency. This deterministic network includes multiple network devices with communication connections.

[0090] In this context, network devices are forwarding devices such as switches or routers used to forward data streams. These network devices may be of the same type, for example, all of them are switches. Alternatively, at least two of the network devices may be of different types, for example, some of them are switches and others are routers. A switch, also known as a bridge, is a Layer 2 (data link layer) network device that performs information storage and packet forwarding functions and conforms to all or part of the requirements defined by the IEEE 802.1 series of standards.

[0091] Optionally, the deterministic network is an industrial network, which also includes multiple industrial devices that are communicatively connected to the network devices. The industrial devices can be industrial controllers or industrial actuators. The industrial controller can be a programmable logic controller (PLC), a distributed control system (DCS), or an industrial personal computer (IPC), or a computer or server with industrial control software installed. The industrial controller is sometimes also referred to as the master station. The industrial actuator can be an actuator, sensor, machine tool, conveyor, input / output (I / O) station, servo drive, frequency converter, etc. The industrial actuator can perform industrial operations under the control of the industrial controller, and can also acquire data and report data to the industrial controller. Compared to the industrial controller, the industrial actuator is sometimes also referred to as a slave station. In this application, the multiple industrial devices include an industrial controller and industrial actuators. The industrial controller can be used to control the industrial actuators, and the industrial actuators can be used to perform industrial operations under the control of the industrial controller. These industrial operations include, but are not limited to, information acquisition, material conveying, motor rotation, etc. For example, this industrial network is used in scenarios such as industrial automation, process automation, discrete automation, and motion control. Industrial controllers control sensors to collect information, execute algorithms based on the sensor data to obtain instructions to be executed, and then send these instructions to actuators. The actuators then perform industrial operations (such as controlling motor rotation) according to these instructions. Communication between industrial controllers and industrial actuators is also called C2D (controller-to-device) communication. Furthermore, industrial controllers can also communicate with each other; this is called C2C (controller-to-controller) communication or M2M (machine-to-machine) communication. Industrial devices typically act as either talkers or listeners of data streams. The talker is also called the sending end or source end, and the listener is also called the receiving end or destination end; thus, industrial devices are also called end devices. Network devices are used to forward data streams between industrial devices, enabling communication between them. In some embodiments, industrial devices have forwarding capabilities, acting as data stream forwarders and serving as network devices (or forwarding devices).

[0092] The above is an introduction to the application scenarios of this application. The following describes the method embodiments of this application.

[0093] Figure 3This is a schematic flowchart illustrating a data transmission method provided in an embodiment of this application. The data transmission method provided in this embodiment is applied to a network device. The network device can be at least one network device in a TSN network. Figure 3 As shown, the transmission method provided in this application embodiment includes steps S301 to S302.

[0094] S301, Receive the first data stream.

[0095] The first data stream refers to the data stream of critical business operations. In this embodiment, the data stream of critical business operations is a data stream with latency requirements, and it is typically a periodically transmitted data stream. For example, the data stream of industrial control operations.

[0096] The data stream may traverse multiple network devices from the sender to the receiver. Therefore, the first data stream may originate from the sender or from other network devices.

[0097] S302, according to the gating list, send the first data stream. Wherein, in the gating list, the state of the first transmission gate remains open during a first period, where the first period refers to the period during which the first transmission gate is controlled according to the gating list, and the first transmission gate is used to transmit the first data stream.

[0098] The network device is configured with a gating list. This gating list indicates the open / closed state of the transmission gates corresponding to a queue within a time slot. The first transmission gate remains open during the first cycle. The first transmission gate is used to transmit the first data stream. The first cycle refers to the period during which the first transmission gate is controlled according to the gating list. In other words, the first cycle is the period during which the gating list is executed cyclically.

[0099] When a network device forwards packets in a data stream, it first caches the packets in a packet queue on that port based on the packet's identifier (ID), priority, and service level. The network device then schedules multiple packet queues on each port according to the GCL (Global Clearing Container Registry) of that port to forward packets from those queues.

[0100] In this embodiment, the network device's port is configured with a critical service queue and a non-critical service queue. The critical service queue is used to cache packets for critical services. Before forwarding packets from the first data stream, the network device caches the packets in the first data stream into the critical service queue for queuing. The non-critical service queue is used to cache packets for non-critical services. The transmission gate corresponding to the critical service queue is the first transmission gate. For example, as shown... Figure 4As shown, queues for business class #7, business class #6, and business class #5 are critical business queues, while queues for business class #0 to business class #4 are non-critical business queues.

[0101] In some embodiments, the network device is configured with at least one critical service queue and at least one non-critical service queue. Specifically, the network device is configured with multiple queues, each corresponding to a different service type. For example, such as... Figure 4 As shown, the network device is configured with queues corresponding to service classes #0 to #7. Furthermore, in addition to defining different queues by service type, the network device also defines queues based on the criticality of the service. The queues defined by criticality include critical service queues and non-critical service queues. In this embodiment, the network device is configured with at least one critical service queue and at least one non-critical service queue.

[0102] For example, such as Figure 4 As shown, queues from business class #5 to business class #7 are critical business queues, while queues from business class #0 to business class #4 in the network device are non-critical business queues. Alternatively, the network device may be configured with one critical business queue and multiple non-critical business queues. The above examples are merely for clarity of description; the number of critical and non-critical business queues in the network device can be deployed according to actual conditions, and this application does not impose specific limitations on this.

[0103] In this embodiment, the first period consists of multiple first time slots. The state of the first transmission gate remaining open during the first period means that it remains open during the multiple first time slots. For example, as... Figure 4 As shown, the gating list includes 80 time slots, namely time slots T00 to T79. In each of the time slots T00 to T79, the first transmission gate is in the open state (i.e., "o").

[0104] In this embodiment of the application, since the state of the first transmission gate remains open during the first cycle, the waiting delay that may exist in the first data stream can be eliminated.

[0105] As an example, a data stream from the sender to the receiver needs to pass through N hop network devices, where N is a positive integer greater than or equal to 1. The clocks of the N hop network devices are synchronized. The gating list provided in this embodiment is configured in the first hop network device through which the first data stream passes. Packets in the first data stream are forwarded according to the gating list. Since the first transmission gate is open in each first time slot, even if the packet sending time at the sender does not match the gate opening time of the first hop network device, the packets in the first data stream do not need to wait for the next forwarding data packet time slot; the network device can forward the packets of the first data stream. Thus, even if the packet sending time at the sender does not match the gate opening time of the first hop network device, the first data stream does not need to wait for the next forwarding data packet time slot, eliminating the waiting delay of the first data stream in the first hop network device and meeting the high requirements for data transmission latency in application scenarios such as industrial control.

[0106] As another example, in some scenarios, the gating list provided in this application embodiment is configured in the second-hop network device through which the first data stream passes. The second-hop network device forwards packets in the first data stream according to the gating list. Since the first transmission gate is open in each first time slot, if the first data stream incurs a waiting delay at the first-hop network device, the first data stream does not need to continue waiting for the data packet forwarding time slot at the second-hop network device. In this way, the waiting delay in other hop network devices can be avoided without increasing the waiting delay caused by the first-hop network device, thereby improving the packet forwarding efficiency of the first data stream and meeting the high requirements for data transmission latency in application scenarios such as industrial control.

[0107] As another example, during data stream transmission, link congestion may occur, potentially causing delays. In such cases, the first data stream at a certain hop network device needs to wait for the next data packet transmission slot. When the gating list provided in this embodiment is configured in that hop network device, the first transmission gate is open in each first time slot. Even if the first data stream experiences delays in the previous hop network device, it does not need to wait for the next data packet transmission slot at that hop network device. The first transmission gate can directly forward the first data stream's packets, thereby eliminating the waiting delay in subsequent network devices, improving the transmission efficiency of the first data stream, and meeting the high latency requirements for data transmission in industrial control and other application scenarios.

[0108] As another example, in each network device through which the data stream passes, forwarding the first data stream using the gating list provided in this application embodiment can eliminate the waiting delay generated by the first data stream during the forwarding process, thereby improving the forwarding efficiency of the first data stream.

[0109] In some embodiments, prior to S302, the network device may also receive a second data stream. This second data stream refers to a non-critical service data stream, such as a video surveillance service data stream or a web browsing service data stream. In this embodiment, the gating list is also used to indicate the on / off state of the second transmission gate during the first cycle. In S302, the network device sends the first and second data streams according to the gating list.

[0110] In the gating list provided in this application embodiment, the transmission gates corresponding to non-critical service queues have different switching states in different time slots. For example, as shown... Figure 4 As shown, during time slot T00, the transmission gate corresponding to queue #4 of service class is closed. Therefore, during time slot T00, packets in queue #4 of service class cannot be forwarded. During time slot T01, the transmission gate corresponding to queue #4 of service class is open. Therefore, during time slot T01, the network device can forward packets in queue #4 of service class.

[0111] In this embodiment, a time slot is a non-fast time slot if the transmission gate of a critical service queue is open and the transmission gate of at least one non-critical service queue is open. A time slot is a fast time slot if the transmission gate of a critical service queue is open and the transmission gates of all non-critical service queues are closed. The gating list includes at least one non-fast time slot and a fast time slot. Since the first transmission gate remains open in a fast time slot, no service data stream competes for transmission resources with the critical service data stream; therefore, the data transmission rate of critical services in a non-fast time slot is lower than the data transmission rate of critical services in a fast time slot.

[0112] For example, such as Figure 4 As shown, in time slot T00, the transmission gates corresponding to the critical service queues (queues of service class #7, #6, and #5) are open, while the transmission gates corresponding to the non-critical service queues (queues of service classes #0 to #4) are closed. Therefore, time slot T00 is a fast time slot. In time slot T05, the transmission gates corresponding to the critical service queues (queues of service class #7, #6, and #5) are open. The transmission gates corresponding to queues of service classes #4, #2, and #1 in the non-critical service queues are closed. The transmission gates corresponding to queues of service classes #3 and #0 in the non-critical service queues are open. Therefore, time slot T05 is a non-fast time slot.

[0113] Another example is, such as Figure 5As shown, the network includes network device 1, network device 2, network device 3, and network device 4. Each network device has two time slots in its gating list for each cycle, with each time slot being 500µs long. In time slot T00 of network device 1, the transmission gate for the critical service queue is open, while the transmission gate for the non-critical service queue is closed. Therefore, time slot T00 of network device 1 is a fast time slot. In time slot T01 of network device 1, the transmission gate for both the critical and non-critical service queues is open; therefore, time slot T01 is a non-fast time slot. In time slot T00 of network device 2, the transmission gate for both the critical and non-critical service queues is open. Therefore, time slot T00 of network device 2 is a non-fast time slot. In time slot T01 of network device 2, the transmission gate for the critical service queue is open, while the transmission gate for the non-critical service queue is closed. Therefore, time slot T01 of network device 2 is a fast time slot. Similarly, time slot T00 of network device 3 is a fast time slot, and time slot T01 of network device 3 is a non-fast time slot. Time slot T00 of network device 4 is a non-fast time slot, and time slot T01 of network device 4 is a fast time slot.

[0114] In this way, under fast time slots, the waiting latency of critical business data streams can be eliminated, the data transmission rate of critical business is reduced, and thus the bounded latency of critical business is reduced.

[0115] In some embodiments, each time slot has the same length. For example, as shown... Figure 5 As shown, the lengths of time slots T00 and T01 in network device 1 are both 500 µs. In other embodiments, the length of each time slot is different.

[0116] In some embodiments, in order to further reduce the bounded latency of transmitting critical services, the length of time slots at the same position in the gating list is different in different network devices.

[0117] For example, such as Figure 6 As shown in part (a), both network device 1 and network device 2 have two time slots within one cycle, and the length of the two time slots is 500µs. During data stream transmission, there may be instances where the data stream is transmitted entirely in non-fast time slots. For example... Figure 6 In part (a) above, the time slots for data transmission in network device 1 are non-fast time slots, and the time slots for data transmission in network device 2 are also non-fast time slots. To further reduce the bounded latency of transmitting critical services, the lengths of the time slots in the network devices can be different. For example... Figure 6As shown in section (b), one cycle in network device 1 and network device 2 includes three time slots. In network device 1, time slot T00 has a length of 10µs, time slot T01 has a length of 480µs, and time slot T02 has a length of 510µs. Time slots T00 and T02 are fast time slots. In network device 2, time slot T00 has a length of 510µs, time slot T01 has a length of 480µs, and time slot T02 has a length of 10µs. Time slots T00 and T02 are also fast time slots. The time slots in network device 1 for data flow transmission are non-fast time slots, while the time slots in network device 2 for data flow transmission are fast time slots. Thus, during transmission, the time slot type of the data flow differs on different devices. The data flow is not entirely transmitted in non-fast time slots on each device, thereby reducing the waiting latency of the data flow and lowering the bounded latency of data flow transmission.

[0118] Understandably, within a cycle, the sum of the lengths of the fast timeslots and the non-fast timeslots equals the cycle length. The cycle length is the same for different switches. As one possible implementation, in each network device, the sum of the lengths of all first timeslots is equal, and the sum of the lengths of all second timeslots is equal.

[0119] In some embodiments, each cycle of a network device may include multiple time slots, and the order of the fast time slots may differ across different devices. The non-fast and fast time slots of different network devices can be flexibly rotated, thereby reducing the bounded latency for transmitting critical services.

[0120] For example, such as Figure 7 As shown, in network devices 1 to 5, each cycle includes two time slots. Specifically, time slot T00 of network device 1 is a non-fast time slot, and time slot T01 is a fast time slot. In network device 2, time slot T00 is a fast time slot, and time slot T01 is a non-fast time slot. In network device 3, time slot T00 is a fast time slot, and time slot T01 is a non-fast time slot. In network device 4, time slot T00 is a non-fast time slot, and time slot T01 is a fast time slot. In network device 5, time slot T00 is a fast time slot, and time slot T01 is a non-fast time slot. In this way, the non-fast and fast time slots in network devices 1 to 5 can be flexibly alternated, allowing the data stream to pass through both non-fast and fast time slots during transmission throughout the network. This eliminates waiting time during fast time slot transmission, reducing the bounded latency of data stream transmission.

[0121] Another example is, such as Figure 8As shown, in network device 1, time slot T00 is a fast time slot, meaning it has the first position in the fast time slot hierarchy. In network device 2, time slot T01 is a fast time slot, meaning it has the second position in the fast time slot hierarchy. In network device 3, time slot T02 is a fast time slot, meaning it has the third position in the fast time slot hierarchy. Thus, the different positions of the fast time slots in different devices ensure that the data stream does not continuously transmit through non-fast time slots, thereby reducing the bounded latency of the data stream transmission.

[0122] In the above embodiments, the gating list in the network device is pre-generated. Specifically, before S302, the embodiments of this application further include the following process. First, the network device obtains gating configuration information. Then, based on the gating configuration information, the state of the first transmission gate is configured.

[0123] One possible implementation is to configure gating information via computer command-line interface (CLI), protocols, or network management. Network devices can then recognize this gating configuration information and generate a gating list.

[0124] As another possible implementation, the network management device can send gating configuration information to the network device. For example, the network management device can configure gating configuration information to the network device via the Network Configuration Protocol (NETCONF).

[0125] The gating list provided in this application embodiment has a simple orchestration logic and can be orchestrated without obtaining precise traffic information. Furthermore, network technicians can also manually orchestrate it.

[0126] Based on the same concept as the method embodiments of this application, this application also provides a data transmission device. The data transmission device includes several modules, each module being used to execute various steps in the data transmission method provided in this application. The division of modules is not limited here. Those skilled in the art will clearly understand that in practical applications, the various steps in the data transmission method provided in this application can be assigned to different modules as needed, that is, the internal structure of the device can be divided into different modules to complete all or part of the functions described above. The modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more modules can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the modules in the above device can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0127] For example, the data transmission device is used to execute the data transmission method provided in the embodiments of this application. Figure 9 This is a schematic diagram of the data transmission device provided in an embodiment of this application. Figure 9 As shown, the data transmission apparatus provided in this application embodiment includes:

[0128] Receiver module 901 is used to receive the first data stream;

[0129] The sending module 902 is used to send a first data stream according to the gating list;

[0130] In the gating list, the first transmission gate remains open during the first cycle. The first cycle refers to the period during which the first transmission gate is controlled according to the gating list. The first transmission gate is used to transmit the first data stream.

[0131] According to this scheme, the first data stream is sent through a gating list. In the gating list, the first transmission gate for transmitting the first data stream remains open during the first cycle. This avoids situations where the first data stream misses a transmission slot due to inaccurate clock synchronization between the TSN terminal and network equipment, requiring it to wait for the next transmission slot, thus eliminating the waiting delay of the first data stream and reducing its bounded latency.

[0132] One possible implementation also includes:

[0133] The acquisition module is used to obtain gate control configuration information;

[0134] The configuration module is used to configure the state of the first transmission gate according to the gate control configuration information and obtain the gate control list.

[0135] In one possible implementation, the first cycle consists of multiple first time slots;

[0136] The state of the first transmission gate remaining open within the first cycle refers to the state of remaining open within multiple first time slots.

[0137] In this way, the waiting delay of the first data stream can be eliminated, the transmission efficiency of the first data stream can be improved, and the bounded delay of the first data stream can be reduced.

[0138] In one possible implementation,

[0139] The receiving module is also used to receive a second data stream;

[0140] The sending module is used to send a first data stream and a second data stream according to the gating list;

[0141] The latency requirement for the first data stream is higher than that for the second data stream.

[0142] Thus, since the first transmission gate remains open, the waiting delay of the first data stream can be eliminated, the transmission efficiency of the first data stream can be improved, and the bounded delay of the first data stream can be reduced.

[0143] In one possible implementation, the gating list is also used to indicate the on / off state of the second transmission gate during the first cycle, the second transmission gate being used to transmit the second data stream.

[0144] In one possible implementation, the first time slot includes a fast time slot and a non-fast time slot;

[0145] During the fast time slot, the second transmission gate is in the closed state;

[0146] During non-fast time slots, at least one second transmission gate is in the open state.

[0147] Thus, the first transmission gate remains open throughout the fast time slot, thereby improving the transmission efficiency of the first data stream. By closing the second transmission gate through the fast time slot, the bounded delay of the first data stream can be reduced.

[0148] In one possible implementation, the second transmission gate is closed for multiple consecutive time slots.

[0149] In this way, the bounded latency of the first data stream can be reduced, and the transmission efficiency of the first data stream can be improved.

[0150] In one possible implementation, the position of the fast time slot in the gating list of different network devices is rotated.

[0151] This reduces the waiting latency of the first data stream throughout the entire transmission process.

[0152] In one possible implementation, multiple time slots in the gating list have different lengths, and the sum of the lengths of the multiple time slots is the first cycle.

[0153] This reduces the waiting latency of the first data stream throughout the entire transmission process.

[0154] Based on the same concept as the method embodiments of this application, this application also provides a network device. This network device is also a data transmission device. The network device can be a data forwarding device such as a switch or router.

[0155] like Figure 10 As shown, the network device provided in this application embodiment includes a processor 1001, a memory 1002, and a communication interface 1003.

[0156] In this embodiment, the processor 1001 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0157] The memory 1002 may include a large-capacity memory for data or instructions, thereby providing storage space for the network device's operating system and executable program code, which may include, but is not limited to: Windows system (an operating system), Linux system (an operating system), HarmonyOS system (an operating system), etc., without limitation.

[0158] For example, and not as a limitation, memory 1002 may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1002 may include removable or non-removable (or fixed) media. Where appropriate, memory 1002 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 1002 is non-volatile solid-state memory.

[0159] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory may include one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software that may include computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to this application.

[0160] For example, a computer program may be stored on the memory 1002, and the processor 1001 executes the computer program to implement the steps in the above method embodiments. Alternatively, the processor 1001 executes the computer program to implement the functions of each module in the above device embodiments. Exemplarily, the computer program may be divided into one or more modules / units, which may be a series of computer program instruction segments capable of performing a specific function. The one or more modules / units are stored in the memory 1002 and executed by the processor 1001 to complete this application. For example, the computer program may be divided into multiple modules, as in the modules of the device described above.

[0161] The communication interface 1003 is used to send and receive data, for example, to send data processed by the processor 1001 to other network devices, or to receive data sent by other network devices.

[0162] Of course, for the sake of simplicity, Figure 10 Only some of the components of the network device 1000 relevant to this application are shown in this illustration, omitting components such as buses, input / output interfaces, etc. In addition, the network device 1000 may include any other suitable components depending on the specific application. Furthermore, the network device may be a desktop computer, laptop, handheld computer, or cloud server, etc. Those skilled in the art will understand that... Figure 10This is merely an example of network device 1000 and does not constitute a limitation on the network device. It may include more or fewer components than illustrated, or combine certain components, or different components. For example, the network device may also include input devices, output devices, network access devices, buses, etc. For example, the input device may be a microphone array, and may also include, for example, a keyboard, mouse, etc. For example, the output device may output various information to the outside, and may include, for example, a monitor, speaker, printer, and communication network and its connected remote output devices, etc.

[0163] In addition to the methods, apparatus, and network devices described above, embodiments of this application may also provide a computer program product, comprising computer program instructions. When executed by a processor, these computer program instructions cause the processor to perform the steps of the methods in the various embodiments of this application described in the "Methods" section of this specification. The computer program product may be written in any combination of one or more programming languages ​​to perform the operations of the embodiments of this application. The programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The computer program code may be in source code form, object code form, executable file, or some intermediate form. The computer program code may be executed entirely on the user's network device, partially on the user's device, as a standalone software package, partially on the user's network device and partially on a remote network device, or entirely on a remote network device or server.

[0164] Furthermore, embodiments of this application may also provide a computer-readable storage medium storing computer program instructions thereon, which, when executed by a processor, cause the processor to perform the steps of the display control method according to various embodiments of this disclosure as described in the "Method" section above. The computer-readable storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may include, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. It should be noted that the content contained in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, a computer-readable medium may not include electrical carrier signals and telecommunication signals.

[0165] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0166] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. It should be understood that in the embodiments of this application, the order of the process numbers does not imply 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 this application.

[0167] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of this application. It should be understood that the above description is only a specific embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solution of this application should be included within the scope of protection of this application.

[0168] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0169] The basic principles of this application have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this application are merely examples and not limitations, and should not be considered as essential features of the various embodiments of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the specific details described above.

Claims

1. A data transmission method, characterized in that, include: The network device receives the first data stream; The network device sends the first data stream according to the gating list; In the gating list, the first transmission gate remains open during the first cycle, where the first cycle refers to the period during which the first transmission gate is controlled according to the gating list, and the first transmission gate is used to transmit the first data stream.

2. The method according to claim 1, characterized in that, The method further includes: The network device obtains the gating configuration information; The network device configures the state of the first transmission gate according to the gating configuration information to obtain the gating list.

3. The method according to claim 1 or 2, characterized in that, The first cycle consists of multiple first time slots; The state in which the first transmission gate remains open during the first period means that it remains open during the plurality of first time slots.

4. The method according to claim 3, characterized in that, The method further includes: The network device receives the second data stream; The network device sends the first data stream according to the gating list, including: The network device sends the first data stream and the second data stream according to the gating list; The latency requirement of the first data stream is higher than that of the second data stream.

5. The method according to claim 4, characterized in that, The gating list is also used to indicate the on / off state of the second transmission gate during the first cycle, the second transmission gate being used to transmit the second data stream.

6. The method according to claim 5, characterized in that, The first time slot includes fast time slots and non-fast time slots; During the fast time slot, the second transmission gate is in a closed state; During the non-fast time slot, at least one of the second transmission gates is in an open state.

7. The method according to claim 5 or 6, characterized in that, The second transmission gate is closed for multiple consecutive first time slots.

8. The method according to claim 6 or 7, characterized in that, The position of the fast time slot in the gating list of different network devices rotates.

9. The method according to any one of claims 1-8, characterized in that, The lengths of the multiple first time slots in the gating list are different, and the sum of the lengths of the multiple first time slots is the first period.

10. A data transmission device, characterized in that, Applied to network devices, including: The receiving module is used to receive the first data stream; The sending module is used to send the first data stream according to the gating list; In the gating list, the first transmission gate remains open during the first cycle, where the first cycle refers to the period during which the first transmission gate is controlled according to the gating list, and the first transmission gate is used to transmit the first data stream.

11. The apparatus according to claim 10, characterized in that, The device further includes: The acquisition module is used to obtain gate control configuration information; The configuration module is used to configure the state of the first transmission gate according to the gate control configuration information, and obtain the gate control list.

12. The apparatus according to claim 10 or 11, characterized in that, The first cycle consists of multiple first time slots; The state in which the first transmission gate remains open during the first period means that it remains open during the plurality of first time slots.

13. The apparatus according to claim 12, characterized in that, The receiving module is also used to receive a second data stream; The sending module is used to send the first data stream and the second data stream according to the gating list; The latency requirement of the first data stream is higher than that of the second data stream.

14. The apparatus according to claim 13, characterized in that, The gating list is also used to indicate the on / off state of the second transmission gate during the first cycle, the second transmission gate being used to transmit the second data stream.

15. The apparatus according to claim 14, characterized in that, The first time slot includes fast time slots and non-fast time slots; During the fast time slot, the second transmission gate is in a closed state; During the non-fast time slot, at least one of the second transmission gates is in an open state.

16. The apparatus according to claim 14 or 15, characterized in that, The second transmission gate is closed for multiple consecutive time slots.

17. The apparatus according to claim 15 or 16, characterized in that, The position of the fast time slot in the gating list of different network devices rotates.

18. The apparatus according to any one of claims 10-17, characterized in that, The lengths of the multiple time slots in the gating list are different, and the sum of the lengths of the multiple time slots is the first period.

19. A network device, characterized in that, include: Memory, used to store executable code; A processor, when executing the executable code, implements the method of any one of claims 1-9.

20. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed in a computer, causes the computer to perform the method described in any one of claims 1-9.

21. A computer program product containing instructions, characterized in that, When the instructions are executed on a computer, the computer causes the computer to perform the method as described in any one of claims 1-9.