Packet forwarding method, device, and storage medium
By receiving messages in Ethernet devices and updating their forwarding time, the problem of message delivery delay and jitter in the wide area network in storage and forwarding mode is solved, and high-quality delivery of deterministic services is achieved.
Patent Information
- Application Number
- PCT/CN2024/102032
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-28
- Filing Date
- 2024-06-27
- Publication Date
- 2025-01-02
AI Technical Summary
The existing storage and forwarding mode Ethernet devices cannot guarantee that they can meet the delay and jitter requirements of customer information transmission in the wide area network, especially in scenarios such as industrial production lines and on-board communication networks, and cannot achieve end-to-end delay, jitter and Zero packet loss feature requirements.
By receiving the packet to be forwarded, the accumulated deviation value carried by it is obtained, and the target forwarding time is determined based on the accumulated deviation value, the message reception time and the pre-configured device forwarding delay value, the target forwarding time is determined, and the accumulated deviation value carried by the packet is carried by the packet. Update processing to forward packets at the target forwarding time, thereby correcting the delay deviation in the forwarding process.
It realizes deterministic forwarding of packets in the wide-area network, meets the transmission requirements of deterministic services, ensures that the delivery delay and jitter of packets are within a controllable range, and meets the high-quality information transmission in industrial production lines and other scenarios. Require.
Smart Images

Figure CN2024102032_02012025_PF_FP_ABST
Abstract
Description
Message forwarding method, device and storage medium
[0001] Cross-references
[0002] The present invention claims priority to a Chinese patent application filed with the Patent Office of China on June 28, 2023, with application number 202310781467.3 and invention name “Message Forwarding Method, Device and Storage Medium”. The entire contents of the application are incorporated herein by reference. Technical Field
[0003] The embodiments of the present application relate to the field of computer technology, and in particular to a message forwarding method, device, and storage medium. Background Art
[0004] With the widespread adoption of Ethernet technology in fields like industrial manufacturing, the requirements for information transmission quality are becoming increasingly stringent, including stricter requirements for transmission latency and jitter. For the delivery of deterministic services over wide-area networks, the Cycle Specified Queuing and Forwarding (CSQF) forwarding mechanism can be used to extend the Cycle Queuing and Forwarding (CQF) mechanism in the Time-Sensitive Network (TSN) standard to wide-area deterministic networks, meeting the transmission requirements of deterministic services over long-distance physical environments.
[0005] However, CSQF technology requires network-wide planning and design, and requires every device in the communication network to forward messages strictly in accordance with the planning requirements. If a device in the communication network fails to forward messages as planned, the jitter results will exceed the standard and fail to meet the design requirements. Therefore, a message forwarding solution that can meet the delivery requirements of deterministic services in wide area networks is needed.
[0006] Summary of the Invention
[0007] Embodiments of the present application provide a message forwarding method, device, and storage medium to provide a solution for a message forwarding method that can meet the delivery requirements of deterministic services in a wide area network.
[0008] In a first aspect, a message forwarding method is provided, which is applied to a device in a communication network, and the method includes: receiving a message to be forwarded, and obtaining a cumulative deviation value carried by the message, the cumulative deviation value being a cumulative delay deviation value of the message during the forwarding process of the communication network; determining a target forwarding time for the device to forward the message based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message; updating the cumulative deviation value carried by the message based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, and forwarding the message at the target forwarding time.
[0009] In a second aspect, a message forwarding device is provided, which is a device in a communication network, and the device includes: a message receiving module, used to receive a message to be forwarded and obtain a cumulative deviation value carried by the message, wherein the cumulative deviation value is a cumulative delay deviation value of the message in the forwarding process of the communication network; a time determination module, used to determine a target forwarding time for the device to forward the message based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message; a first sending module, used to update the cumulative deviation value carried by the message based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, and forward the message at the target forwarding time.
[0010] In a third aspect, a message forwarding device is provided, which terminal includes a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the message forwarding method described in the first aspect are implemented.
[0011] In a fourth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the message forwarding method as described in the first aspect are implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG1 is a schematic flow chart of a message forwarding method according to an embodiment of the present application;
[0013] FIG2 is a schematic diagram of a message processing process according to an embodiment of the present application;
[0014] FIG3 is a schematic diagram of a pre-configured forwarding delay value according to an embodiment of the present application;
[0015] FIG4 is a schematic diagram of a message forwarding method according to an embodiment of the present application;
[0016] FIG5 is a schematic diagram of another message forwarding method according to an embodiment of the present application;
[0017] FIG6 is a schematic flowchart of another message forwarding method according to an embodiment of the present application;
[0018] FIG7 is a schematic diagram of a message carrying a forwarding delay value according to an embodiment of the present application;
[0019] FIG8 is a schematic diagram of a grouping tag according to an embodiment of the present application;
[0020] FIG9 is a schematic diagram of another grouping tag according to an embodiment of the present application;
[0021] FIG10 is a schematic diagram of a message carrying a grouping label according to an embodiment of the present application;
[0022] FIG11 is a schematic diagram of another message carrying a grouping label according to an embodiment of the present application;
[0023] FIG12 is a schematic diagram of a message flow including messages carrying group labels according to an embodiment of the present application;
[0024] FIG13 is a schematic diagram of another message flow including messages carrying group labels according to an embodiment of the present application;
[0025] FIG14 is a schematic diagram of a message flow including a custom message according to an embodiment of the present application;
[0026] FIG15 is a schematic diagram of a flow control frame message according to an embodiment of the present application;
[0027] FIG16 is a schematic diagram of a flow control frame message with a time window according to an embodiment of the present application;
[0028] FIG17 is a schematic diagram of another message forwarding method according to an embodiment of the present application;
[0029] FIG18 is a schematic diagram of another message forwarding method according to an embodiment of the present application;
[0030] FIG19 is a schematic flowchart of another message forwarding method according to an embodiment of the present application;
[0031] FIG20 is a schematic structural diagram of a message forwarding device according to an embodiment of the present application;
[0032] FIG21 is a schematic structural diagram of a message forwarding device according to an embodiment of the present application. DETAILED DESCRIPTION
[0033] The embodiments of this specification provide a message forwarding method, device, and storage medium.
[0034] To help those skilled in the art better understand the technical solutions in this specification, the following will provide a clear and complete description of the technical solutions in the embodiments of this specification, in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in this specification without creative work should fall within the scope of protection of this specification.
[0035] The concept of this application is as follows: In an Ethernet device using store-and-forward mode, as shown in Figure 2, messages must be processed within each device through multiple functional modules, including table lookup, parsing, rate limiting, queuing, caching, and scheduling. Messages from all physical ports on the device share these functional modules. Furthermore, the time it takes for messages from each physical port on the device to receive service from these modules is uncertain, and the time it takes for each message to complete processing also varies. This results in uncertain message delays on each device in the Ethernet network. Therefore, Ethernet devices using store-and-forward mode cannot guarantee the delivery delay and jitter requirements of client information. In network systems such as industrial production lines and in-vehicle communication networks, Ethernet technology is replacing proprietary bus technology because it supports higher data transmission rates, lower costs, and is easier to integrate with existing Ethernet devices. However, due to the high quality requirements for client message delivery in these network systems, Ethernet devices using store-and-forward mode cannot guarantee the bounded end-to-end delay, jitter, and zero packet loss requirements in specific application scenarios. Therefore, a solution to a packet forwarding method that can meet the delivery requirements of deterministic services in a wide area network is needed. To this end, the embodiments of this specification provide a technical solution that can solve the above problem, and the details can be found in the following content.
[0036] Example 1
[0037] As shown in Figure 1, an embodiment of this specification provides a message forwarding method. The execution subject of this method can be applied to a device in a communication network, wherein the device can be a device in the communication network for receiving and forwarding messages. The method can specifically include the following steps:
[0038] In step S102, a message to be forwarded is received, and the accumulated deviation value carried in the message is obtained.
[0039] Among them, the cumulative deviation value can be the cumulative delay deviation value of the message during the forwarding process of the communication network. The cumulative deviation value can be obtained by adding the difference between the actual forwarding time of the message passed by each device during the forwarding process and the pre-configured forwarding time of the device forwarding the message.
[0040] During implementation, due to traffic congestion during device operation, traffic bursts, traffic convergence, and other factors, the message forwarding process may experience traffic congestion, resulting in the inability to forward messages within the predetermined forwarding period. This means that the device's message forwarding may deviate, failing to achieve the expected delay, resulting in greater delay jitter. For example, as shown in FIG3 , assume that device 1 is the first node in the communication network (i.e., when device 1 receives a message, the cumulative deviation value carried by the message is zero), and the pre-configured forwarding delay value for device 1 is 4 time slot units. If device 1 receives a message to be forwarded within time slot 1, then device 1 needs to forward the message within time slot 1 + 4 = 5. However, as shown in FIG4 , when device 1's output port encounters congestion, device 1 forwards the message in time slot 6. Therefore, device 1's actual forwarding time for the message is time slot 6, and device 1's actual delay value for the message is 5 time slots greater. Therefore, device 1's delay deviation value for the message is 6 - 5 = 1. Therefore, the cumulative deviation value carried by the message received by device 2 may be 1. If device 2 generates a delay deviation value of -1, then the cumulative deviation value carried by the message received by device 3 is 1-1=0.
[0041] The device may receive a message forwarded by an upstream device in the communication network, and extract and process the accumulated deviation value carried in the message to obtain the accumulated delay deviation value of the message during the forwarding process of the communication network.
[0042] In addition, if the device is the first node device in the communication network, then the accumulated deviation value carried by the message when it reaches the device is zero.
[0043] In step S104, a target forwarding time for the device to forward the message is determined based on the accumulated deviation value, the message receiving time, and a pre-configured forwarding delay value for the device to forward the message.
[0044] In practice, a device can determine the target forwarding time for forwarding a message based on the cumulative deviation value, the message's reception time, and the pre-configured forwarding delay value for the device to forward the message. For example, as shown in FIG3 , assume that the cumulative deviation value carried by the message received by device 2 is 1, and the pre-configured forwarding delay value for device 2 to forward the message is 2 units. Because the message lags behind by one forwarding cycle at the upstream device (i.e., device 1), device 2 can subtract the cumulative deviation value from the pre-configured forwarding delay value to obtain the actual forwarding delay value (i.e., 2-1=1). In this way, as shown in FIG5 , the message is actually advanced by one unit at device 2.
[0045] Device 2 can determine the target forwarding time for device 2 to forward the message based on the reception time of the message and the determined actual forwarding delay value. For example, assuming that the reception time when device 2 receives the message is time slice n, then the target forwarding time for device 2 to forward the message is time slice n+1.
[0046] In step S106, based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, the accumulated deviation value carried in the message is updated, and the message is forwarded at the target forwarding time.
[0047] Among them, the forwarding time of the pre-configured device forwarding message can be determined based on the reception time of the message and the forwarding delay value of the pre-configured device forwarding message. For example, assuming that the reception time of the message is time segment n, the forwarding delay value of the pre-configured device forwarding message is 1, then the forwarding time of the pre-configured device forwarding message is n+1.
[0048] In implementation, for example, assuming that the cumulative deviation value of the message is 1, the forwarding time of the pre-configured device 2 to forward the message is time slice 3, and the target forwarding time is time slice 2, that is, the delay deviation value of the message in device 2 is 2-3=-1, and the cumulative deviation value carried by the message can be updated by the delay deviation value of device 2, that is, the delay deviation value of device 2 can be added to the cumulative deviation value carried by the message, and the resulting cumulative deviation value carried by the message is 1-1=0.
[0049] In this way, although the message is delayed by one more forwarding time slice unit in device 1, it is forwarded by device 2 one forwarding cycle in advance, which corrects the total delay time of the message. That is, the total delay time of the message after being forwarded by devices 1 and 2 remains unchanged.
[0050] The embodiments of this specification provide a message forwarding method, which is applied to a device in a communication network. The method receives a message to be forwarded and obtains a cumulative deviation value carried by the message, where the cumulative deviation value is the cumulative delay deviation value of the message during the forwarding process of the communication network. Based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message, the method determines a target forwarding time for the device to forward the message. Based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, the method updates the cumulative deviation value carried by the message and forwards the message at the target forwarding time. In this way, if a delay deviation occurs in the forwarding process of the message in the communication network, the device can determine the target forwarding time for the device to forward the message based on the cumulative deviation value carried by the message, etc., to correct the delay deviation in the forwarding process, thereby meeting the transmission requirements of deterministic services in the wide area network.
[0051] In another embodiment, as shown in FIG6 , the embodiments of this specification provide a message forwarding method. The execution subject of this method can be applied to a device in a communication network, wherein the device can be a device in the communication network for receiving and forwarding messages. The method can specifically include the following steps:
[0052] In step S102, a message to be forwarded is received, and the accumulated deviation value carried in the message is obtained.
[0053] The accumulated deviation value may be an accumulated delay deviation value during the forwarding process of the message in the communication network.
[0054] In implementation, the forwarding delay value configured for the message in each device can be configured by a network configuration device or carried by the message itself. Therefore, as shown in FIG6 , after step S102 , step S602 or step S604 can be continued to obtain the pre-configured forwarding delay value for the device forwarding the message.
[0055] In step S602, a forwarding delay value configured by a preset network configuration device for device forwarding messages is obtained.
[0056] In step S604, a delay value extraction process is performed on the message to obtain a forwarding delay value of the message forwarded by the device.
[0057] In implementation, as shown in Figure 7, a message may include a source MAC address, a destination MAC address, a type field, a Layer 2 label, a Layer 3 IP label, message content, and a physical coding subnet (PCS) layer. The message may carry a pre-configured forwarding delay value and cumulative deviation value for the device forwarding the message in an extended header of the Layer 3 IP label. Therefore, the device can perform delay value extraction processing on the message to obtain the forwarding delay value for the device forwarding the message.
[0058] In step S606, a first difference between the accumulated deviation value and a pre-configured forwarding delay value for forwarding packets by the device is obtained.
[0059] In an implementation, the accumulated deviation value may be subtracted from the forwarding delay value to obtain the first difference value.
[0060] In step S608, a target forwarding time for the device to forward the message is determined based on the first difference and the message receiving time.
[0061] In implementation, the device can determine the sum of the first difference and the reception time of the message as the target forwarding time. For example, assuming that the cumulative deviation value is 1, the forwarding delay value is 2, and the reception time of the message is time slice 3, then the first difference is 2-1=1, and the target forwarding time of the message is time slice 3+1=4.
[0062] In step S610, a second difference between the target forwarding time and the pre-configured forwarding time for the device to forward the message is obtained.
[0063] In implementation, assuming that the target forwarding time is time slice 4, the forwarding delay value is 2, and the message receiving time is time slice 3, then the forwarding time of the pre-configured device forwarding the message is time slice 3+2=5, and the second difference can be 4-5=-1.
[0064] In step S612, the accumulated deviation value carried in the message is updated based on the second difference.
[0065] In implementation, assuming that the second difference is -1 and the cumulative deviation value carried by the message is 1, then the cumulative deviation value carried by the updated message may be 1-1=0.
[0066] In step S614, the grouping label corresponding to the message is obtained.
[0067] In practice, there are various methods for obtaining the packet grouping label. The following three optional implementation methods are provided. For details, please refer to the following processing:
[0068] Method 1: If the device is a first-node device in a communication network, the device may group the messages based on a preset time interval and the message receiving time, and determine a grouping label corresponding to the message based on the grouping result.
[0069] In practice, the first-node device can group the message stream according to the arrival time of the message. For example, the first-node device can group the messages into multiple groups based on the time interval T based on the reception time of the message. As shown in FIG8 , the group label of the message can be a sequence value, or the group label of the message can also be other values that can distinguish the group boundaries of the message. For example, as shown in FIG9 , the group label value of a certain group can be 0, and the group label value of the group adjacent to the group can be 1. In this way, since the group label values of adjacent groups are different, adjacent message groups can be distinguished by the group label value. When the downstream device receives the message, it can determine the messages in the same group based on the group label value corresponding to the message.
[0070] In addition, the above description uses the device as the first node device as an example to explain how to determine the grouping label corresponding to the message. In addition, the device can also be other devices in the communication network. Then, the message received by the device can be a message carrying a grouping label, or the message stream received by the device includes a message carrying a grouping label, wherein the grouping label can be determined by the first node device according to the arrival time of the message, and the message stream can be grouped and processed by the first node device according to the arrival time of the message, or it can be determined by a certain upstream device of the device according to the arrival time of the message, and the message stream can be grouped and processed by the device. Therefore, in the case where the device is not the first node device in the communication network, you can refer to the following method 2 or method 3 for processing:
[0071] In the second method, the device can perform label extraction processing on the content code block or the start code block of the message to obtain the group label corresponding to the message.
[0072] In implementation, as shown in FIG10 , a message may include a destination address, a source address, a TYPE, data, and a CRC, wherein the data of the message may include a specific field, an extension field, or a reserved field, and the grouping label may be carried in the above-mentioned specific field, extension field, or reserved field, that is, the content code block of the message may be subjected to label extraction processing to obtain the grouping label corresponding to the message.
[0073] However, if the above fields of the message cannot carry the grouping label, then the grouping label can be carried in the starting code block of the message. In Ethernet interfaces with a rate of 10G and above, when sending messages, the messages can be converted into code blocks of a predetermined length for transmission.
[0074] Taking the conversion of a message into a code block of 66 bits as an example, as shown in Figure 11, the converted message can be composed of 1 S code block, multiple D code blocks and 1 T code block, where the S code block is the start code block, which is used to identify the first code block of the message, the D code block is used to carry the content of the message, and the T code block is used to identify the end of the message. The structure of the S code block can be a fixed content value (0b10+0x78+6 0x55+0xD5), and there can be 6 0x55 bytes in the S code block. In actual application scenarios, some bytes in the S code block can be customized.
[0075] A byte in the S-code block can be selected to represent the grouping label. For example, the first 0x55 byte can be used as the grouping label, and the grouping label value can be 0xAA. This allows the device to extract the label from the S-code block of the message and obtain the corresponding grouping label.
[0076] Method three: based on the packets carrying the grouping labels in the packet flow, the packets are grouped and the grouping labels corresponding to the packets are determined based on the grouping results.
[0077] In implementation, each message received by the device may carry a group label, or the first message and / or the last message of each group in the message stream received by the device may carry a group label, and other messages in the group do not need to carry a group label, that is, the messages in the message stream that carry a group label may include the first message and / or the last message of each group.
[0078] For example, as shown in Figure 12, the first and last messages of each group can carry a group label, while other messages may not carry a group label. In this way, after receiving the message, the device can determine the starting position and ending position of each group based on the message carrying the group label, that is, the group label of all messages between the starting position and the ending position is the same.
[0079] Alternatively, as shown in FIG13 , the first message in each group may carry a group label, while other messages may not carry a group label. In this way, after receiving the message, the device may determine the starting and ending positions of each group based on the message carrying the group label to obtain the group label corresponding to the message.
[0080] In addition, when the network performance is good, the group label can be carried in the first or last message of each group. If the network performance is poor and there are bit errors in the network, carrying the group label only in the first or last message of each group will cause the message carrying the group label to be discarded due to bit errors. In this way, the downstream device cannot accurately identify the group boundary based on the group label to determine the group situation, and cannot determine the group to which the message belongs.
[0081] In addition, the message carrying the grouping label in the message flow may be a custom message carrying a preset characteristic flag, and the number of content code blocks of the custom message is less than a preset number threshold.
[0082] In practical applications, whether a message's grouping tag is carried in the content code block or the start code block, it requires a client message to be sent. However, when the number of client messages in the communication network is small, or when no client messages are sent for a short period of time, downstream devices cannot obtain the message's grouping tag. Therefore, custom messages carrying preset characteristic flags can be added to the message stream. This allows devices to group messages using these custom messages and determine the corresponding grouping tag based on the grouping results.
[0083] The upstream device can determine whether a client message is being sent at a packet boundary. If the upstream device determines that no client message is being sent at the packet boundary, then, as shown in Figure 14, the upstream device can resend a custom message at the packet boundary to replace the client message and send it to the downstream device. The custom message can be a message pre-agreed between the upstream and downstream devices. The custom message can carry a preset characteristic flag and the packet tag of the packet to which the custom message belongs. In this way, even if there are no client messages to be transmitted on the link, the upstream device can ensure that a message can be sent to the downstream device at the packet boundary by resending the custom message. This allows the downstream device to accurately determine the location of the packet boundary by using the packet tag carried by the custom message.
[0084] The device can group messages based on custom messages that carry preset characteristic flags and determine the corresponding grouping tags based on the grouping results. For example, the device can directly extract the grouping tags carried in the custom messages to determine the location of the message's group boundary time. It can also periodically determine the location of the group boundary time and further determine the grouping status of subsequent messages.
[0085] Furthermore, because downstream devices can periodically receive custom messages, they can periodically obtain packet labels at fixed intervals. Even if a device fails to obtain a packet label due to network errors, it can still deduce the time the current packet label appeared based on the pattern of previous custom message reception to accurately determine the packet boundary. This allows the device to continue functioning properly even when network anomalies occur, ensuring high reliability.
[0086] In addition, when the device derives the appearance time of the current group label, it can also insert a custom message at the group boundary time, so that the downstream device of the device can accurately determine the group boundary based on the inserted custom message.
[0087] In addition, the custom message is only used to carry the group label and loses its meaning after carrying the group label. That is, after the device determines the custom message through the preset characteristic flag, it can extract the group label carried by the custom message and discard the custom message after extraction.
[0088] A custom message can be an Ethernet message, and the type field in a regular Ethernet message can carry a custom preset characteristic flag. For example, the characteristic value of the type field in the custom message can be set to 0xffff as the preset characteristic flag. Furthermore, the preset characteristic flag can take various other forms. For example, the value of the destination address field in the custom message can be set to a special destination address value (e.g., 0xff-ff-ff-ff-ff) as the preset characteristic flag.
[0089] Furthermore, a custom message can be a regular Ethernet message or a specific bit stream sequence that appears as a bit stream sequence at the PCS layer of the physical layer. Since the Ethernet standard defines a minimum message length of 64 bytes, the number of D blocks in the code block sequence after encoding a regular Ethernet message must be at least four. Any D block with fewer than four is considered an illegal message block.
[0090] Upon receiving a code block sequence containing fewer than four D code blocks, the device discards the code block sequence. Therefore, the number of content code blocks contained in a custom message can be less than a preset threshold, where the preset threshold can be four. For example, a custom message can be a code block sequence containing one S code block, n D code blocks, and one T code block, where n can be an integer less than four. Specifically, the custom message can contain one S code block and one T code block, or one S code block, one D code block, and one T code block, or one S code block, two D code blocks, and one T code block, or one S code block, three D code blocks, and one T code block. A grouping tag can be carried in either the D code block or the T code block. Thus, upon receiving a code block sequence, the device can determine whether the message is a custom message based on the number of D code blocks. If the message is determined to be a custom message, the device extracts the grouping tag and discards the code block sequence.
[0091] Furthermore, packets carrying group tags within a message stream can be flow control frames that do not perform flow control. In practical applications, in addition to the custom messages described above, new functionality can be added to Ethernet protocol packets to enable the carrying of group tags. For example, on an Ethernet physical interface, a flow control frame (Pause frame) can be used to notify the peer device to pause message transmission, thereby limiting the speed of customer services. Upon receiving the Pause frame, the receiving end can initiate flow control and then discard the Pause frame.
[0092] As shown in Figure 15, the destination address in the Pause frame message can be a fixed value (such as 0x01-80-C2-00-00-01), the type value can be 0x8808, and the operation code can be 0x0001. The operation parameter in the Pause frame message can be the length of time the Pause sender requests the other party to stop sending data frames. The time measurement unit can be the time it takes to transmit 512 bits of data at the current transmission rate. The actual pause time of the receiver is the product of the field content of the operation parameter and the time it takes to transmit 512 bits of data at the current transmission rate. In actual application scenarios, the operation parameter can be 0xFFFF, and the pause time can be the maximum value. In actual applications, when the operation parameter is 0x0000, the Pause frame message indicates no flow control during flow control. Therefore, as shown in Figure 16, the message carrying the group tag can be a Pause frame message with a time window and an operation parameter of 0x0000, and the group tag can be carried in the reserved field of the Pause frame message. After receiving the Pause frame message with the operation parameter of 0x0000, the device can extract the group tag carried in the reserved field of the Pause frame message.
[0093] In addition, in the message stream received by the device, there may be messages carrying group labels at the start and / or end times of the packet boundary moments, and the messages carrying group labels may be any one of the above-mentioned custom messages, flow control frame messages, and customer messages carrying group labels. The device can group the messages based on the messages carrying group labels in the message stream, and determine the group labels corresponding to the messages based on the grouping results.
[0094] In step S616, the message and the target message are forwarded at the target forwarding time.
[0095] The target message is a message received by the device and has a grouping label identical to the grouping label of the message.
[0096] In implementation, when the target forwarding time is reached, the device can simultaneously forward the message and the target message of the same group as the message. In this way, as shown in Figure 17, the messages of the same group are forwarded together in the device with a consistent delay time. The delay jitter is within the jitter unit time T, which can achieve deterministic forwarding of the message.
[0097] Each device in the communication network can group messages, process and store them, and forward messages in the same group according to a predetermined target forwarding time. For example, as shown in Figure 18, the pre-configured forwarding delay value for device 1 is 4 time units, meaning each group of messages remains within device 1 for 4 time units. If device 1 receives messages in time slot 1 that are part of the same group, it can send the same grouped message in time slot 5. If device 1 receives a grouped message in time slot 2, it can send it in time slot 6, and so on. In this way, by dividing time slots based on chronological order, devices can group messages in the same time slot into a group according to the message reception time, and then forward and process the same group of messages together. A time slot is also called a time cycle slot or a time cycle.
[0098] After each device in the communication network forwards the message according to the set delay parameters (i.e., forwarding delay value), when the message is delivered to the last device in the communication network, the message of the same group sent by the first node device will also be sent in the same forwarding time slice in the last device, so as to achieve consistent delay time of the messages of the same group in the communication network, and limit the fluctuation range of message delay to one unit time, thereby realizing deterministic forwarding of messages.
[0099] In addition, since the device is working, it may encounter business congestion during forwarding due to business bursts, business convergence, etc., resulting in failure to forward the message at the target forwarding time. Therefore, as shown in Figure 19, after step S104, step S702 can be continued.
[0100] In step S702, when the device fails to forward the message at the target forwarding time, the actual forwarding time of the message by the device is obtained, and when forwarding the message, the accumulated deviation value carried by the message is updated based on the actual forwarding time and the pre-configured forwarding time of the device forwarding the message.
[0101] The actual forwarding time may be the time when the message is sent from the sending port of the device.
[0102] In implementation, when a message is not forwarded within the target forwarding time during forwarding, the device can obtain the actual forwarding time of the message through the sending port, and then update the cumulative deviation value based on the difference between the actual forwarding time and the pre-configured forwarding time of the device forwarding the message. That is, the above difference can be added to the original cumulative deviation value carried in the message to obtain a new cumulative deviation value, and the accumulated cumulative deviation value can be updated to the message to be sent out together with the message.
[0103] The embodiments of this specification provide a message forwarding method, which is applied to a device in a communication network. The method receives a message to be forwarded and obtains a cumulative deviation value carried by the message, where the cumulative deviation value is the cumulative delay deviation value of the message during the forwarding process of the communication network. Based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message, the method determines a target forwarding time for the device to forward the message. Based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, the method updates the cumulative deviation value carried by the message and forwards the message at the target forwarding time. In this way, if a delay deviation occurs in the forwarding process of the message in the communication network, the device can determine the target forwarding time for the device to forward the message based on the cumulative deviation value carried by the message, etc., to correct the delay deviation in the forwarding process, thereby meeting the transmission requirements of deterministic services in the wide area network.
[0104] In another embodiment, the above is a message forwarding method provided in the embodiment of this specification. Based on the same idea, the embodiment of this specification also provides a message forwarding device, which is a device in a communication network, as shown in Figure 20.
[0105] The message forwarding device includes: a request receiving module 2001, a format conversion module 2002 and a file forwarding module 2003, wherein:
[0106] The message receiving module 2001 is used to receive a message to be forwarded and obtain a cumulative deviation value carried by the message, wherein the cumulative deviation value is a cumulative delay deviation value of the message during the forwarding process of the communication network; the time determination module 2002 is used to determine a target forwarding time for the message forwarding device to forward the message based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the message forwarding device to forward the message; the first sending module 2003 is used to update the cumulative deviation value carried by the message based on the target forwarding time and the pre-configured forwarding time for the message forwarding device to forward the message, and forward the message at the target forwarding time.
[0107] In the embodiment of this specification, the device further includes:
[0108] The second sending module is used to obtain the actual forwarding time of the message forwarding device for the message when the message forwarding device fails to forward the message at the target forwarding time, and when forwarding the message, update the cumulative deviation value carried by the message based on the actual forwarding time and the pre-configured forwarding time of the message forwarding device for forwarding the message.
[0109] In the embodiment of this specification, the actual forwarding time is the time when the message is sent from the sending port of the message forwarding device.
[0110] In an embodiment of this specification, the first forwarding module 2003 is used to: obtain the group label corresponding to the message; forward the message and the target message at the target forwarding time, and the target message is the message received by the device - the group label is the same as the group label of the message.
[0111] In an embodiment of this specification, the message forwarding device is a first-node message forwarding device in the communication network, and the first forwarding module 2003 is used to: group the message based on a preset time interval and the reception time of the message, and determine the group label corresponding to the message based on the grouping result.
[0112] In the embodiment of this specification, the first forwarding module 2003 is configured to perform label extraction processing on the content code block or the start code block of the message to obtain a grouping label corresponding to the message.
[0113] In the embodiment of this specification, the first forwarding module 2003 is configured to: group the messages carrying grouping labels in the message flow, and determine the grouping labels corresponding to the messages based on the grouping results.
[0114] In the embodiment of this specification, the messages carrying the grouping labels in the message flow include the first message and / or the last message of each group.
[0115] In the embodiment of this specification, the message carrying the grouping label in the message flow is a custom message carrying a preset characteristic flag, and the number of content code blocks of the custom message is less than a preset number threshold.
[0116] In the embodiment of this specification, the message carrying the grouping label in the message flow is a flow control frame message that does not perform flow control operation.
[0117] In an embodiment of the present specification, determining the target forwarding time for the message forwarding device to forward the message based on the cumulative deviation value, the reception time of the message, and the pre-configured forwarding delay value for the message forwarding device to forward the message includes: obtaining a first difference between the cumulative deviation value and the pre-configured forwarding delay value for the message forwarding device to forward the message; and determining the target forwarding time for the message forwarding device to forward the message based on the first difference and the reception time of the message.
[0118] In an embodiment of the present specification, the first sending module 2003 is used to: obtain a second difference between the target forwarding time and the forwarding time of the message forwarded by the pre-configured message forwarding device; and update the accumulated deviation value carried by the message based on the second difference.
[0119] In an embodiment of the present specification, the device further includes: a first acquisition module for obtaining the forwarding delay value configured by the preset network configuration message forwarding device for the message forwarding device to forward the message; or, a second acquisition module for performing delay value extraction processing on the message to obtain the forwarding delay value of the message forwarding device forwarding the message.
[0120] An embodiment of the present specification provides a message forwarding device. In this way, if a message generates a delay deviation during the forwarding process of a communication network, the message forwarding device can determine the target forwarding time of the forwarded message based on the cumulative deviation value carried by the message, etc., so as to correct the delay deviation in the forwarding process, thereby meeting the delivery requirements of deterministic services in the wide area network.
[0121] In another embodiment, based on the same idea, the embodiment of this specification also provides a message forwarding device, which is a device in a communication network, as shown in FIG21 .
[0122] Message forwarding devices may vary significantly due to different configurations or performance, and may include one or more processors 2101 and memory 2102. Memory 2102 may store one or more applications or data. Memory 2102 may be either ephemeral or persistent. Applications stored in memory 2102 may include one or more modules (not shown), each of which may include a series of computer-executable instructions for the message forwarding device. Furthermore, processor 2101 may be configured to communicate with memory 2102 to execute the series of computer-executable instructions in memory 2102 on the message forwarding device. The message forwarding device may also include one or more power supplies 2103, one or more wired or wireless network interfaces 2104, one or more input / output interfaces 2105, and one or more keyboards 2106.
[0123] Specifically in this embodiment, the message forwarding device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the message forwarding device, and is configured to be executed by one or more processors. The one or more programs include the following computer-executable instructions: receiving a message to be forwarded, and obtaining a cumulative deviation value carried by the message, wherein the cumulative deviation value is a cumulative delay deviation value of the message during the forwarding process of the communication network; determining a target forwarding time for the device to forward the message based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message; updating the cumulative deviation value carried by the message based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, and forwarding the message at the target forwarding time.
[0124] In one embodiment, the method further includes: when the device fails to forward the message at the target forwarding time, obtaining the actual forwarding time of the message by the device, and when forwarding the message, updating the cumulative deviation value carried by the message based on the actual forwarding time and the pre-configured forwarding time of the device forwarding the message.
[0125] In one embodiment, the actual forwarding time is the time when the message is sent from the sending port of the device.
[0126] In one embodiment, forwarding the message at the target forwarding time includes: obtaining a group label corresponding to the message; forwarding the message and a target message at the target forwarding time, wherein the target message is a message received by the device having a group label identical to the group label of the message.
[0127] In one embodiment, the device is a first node device in the communication network, and obtaining the group label corresponding to the message includes: grouping the message based on a preset time interval and the reception time of the message, and determining the group label corresponding to the message based on the grouping result.
[0128] In one embodiment, obtaining the grouping label corresponding to the message includes: performing label extraction processing on a content code block or a start code block of the message to obtain the grouping label corresponding to the message.
[0129] In one embodiment, obtaining the grouping label corresponding to the message includes: grouping the messages based on the messages carrying the grouping label in the message flow, and determining the grouping label corresponding to the message based on the grouping result.
[0130] In one embodiment, the packets carrying the packet labels in the packet flow include the first packet and / or the last packet of each packet.
[0131] In one embodiment, the message carrying the grouping label in the message flow is a custom message carrying a preset characteristic flag, and the number of content code blocks of the custom message is less than a preset number threshold.
[0132] In one embodiment, the message carrying the grouping label in the message flow is a flow control frame message that does not perform flow control operation.
[0133] In one embodiment, the target forwarding time for the device to forward the message is determined based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message, including: obtaining a first difference between the cumulative deviation value and the pre-configured forwarding delay value for the device to forward the message; and determining the target forwarding time for the device to forward the message based on the first difference and the reception time of the message.
[0134] In one embodiment, the cumulative deviation value carried by the message is updated based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, including: obtaining a second difference between the target forwarding time and the pre-configured forwarding time for the device to forward the message; and updating the cumulative deviation value carried by the message based on the second difference.
[0135] In one embodiment, before determining the target forwarding time for the device to forward the message based on the cumulative deviation value, the reception time of the message, and the pre-configured forwarding delay value for the device to forward the message, it also includes: obtaining the forwarding delay value configured by a preset network configuration device for the device to forward the message; or, performing delay value extraction processing on the message to obtain the forwarding delay value for the device to forward the message.
[0136] The embodiments of the present specification provide a message forwarding device that receives a message to be forwarded and obtains a cumulative deviation value carried by the message, the cumulative deviation value being the cumulative delay deviation value of the message during the forwarding process of the communication network. Based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message, the device determines a target forwarding time for forwarding the message. Based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, the cumulative deviation value carried by the message is updated and the message is forwarded at the target forwarding time. In this way, if a delay deviation occurs in the forwarding process of the message in the communication network, the device can determine the target forwarding time for forwarding the message based on the cumulative deviation value carried by the message, etc., to correct the delay deviation in the forwarding process, thereby meeting the delivery requirements of deterministic services in the wide area network.
[0137] In another embodiment, the embodiments of this specification further provide a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the various processes of the above-described message forwarding method embodiment are implemented, and the same technical effects are achieved. To avoid repetition, the details are not described here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0138] The embodiments of this specification provide a computer-readable storage medium that can receive a message to be forwarded and obtain a cumulative deviation value carried by the message, the cumulative deviation value being the cumulative delay deviation value of the message during the forwarding process of the communication network. Based on the cumulative deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message, the device determines a target forwarding time for forwarding the message. Based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, the cumulative deviation value carried by the message is updated and the message is forwarded at the target forwarding time. In this way, if a delay deviation occurs in the forwarding process of the message in the communication network, the device can determine the target forwarding time for forwarding the message based on the cumulative deviation value carried by the message, etc., to correct the delay deviation in the forwarding process, thereby meeting the delivery requirements of deterministic services in the wide area network.
[0139] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0140] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures such as diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using hardware modules. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly performed using "logic compiler" software. This is similar to the software compiler used during program development. Before compilation, the original code must be written in a specific programming language, called a hardware description language (HDL). There are many types of HDL, including ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art will also understand that by simply programming the method flow in one of these hardware description languages and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.
[0141] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code format, the controller can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the devices for implementing various functions can be considered as both software modules that implement the method and structures within the hardware component.
[0142] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0143] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing one or more embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0144] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, one or more embodiments of this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0145] The embodiments of this specification are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable message forwarding device to produce a machine, so that the instructions executed by the processor of the computer or other programmable message forwarding device produce a device for implementing the function specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0146] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable message forwarding device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0147] These computer program instructions may also be loaded onto a computer or other programmable message forwarding device so that a series of operational steps are executed on the computer or other programmable device to produce computer-implemented processing, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0148] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0149] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0150] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0151] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0152] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Thus, one or more embodiments of this specification may take the form of a fully hardware embodiment, a fully software embodiment, or an embodiment combining software and hardware. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0153] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0154] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.
[0155] The foregoing is merely an example of the present invention and is not intended to limit the present invention. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be included within the scope of the claims of the present invention.
Claims
1. A message forwarding method, the method being applied to a device in a communication network, the method comprising: receiving a message to be forwarded, and obtaining a cumulative deviation value carried by the message, wherein the cumulative deviation value is a cumulative delay deviation value of the message in a forwarding process of the communication network; Determine a target forwarding time for the device to forward the message based on the accumulated deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message; Based on the target forwarding time and the pre-configured forwarding time for the device to forward the message, the accumulated deviation value carried by the message is updated, and the message is forwarded at the target forwarding time.
2. The method according to claim 1, further comprising: In the case that the device fails to forward the message at the target forwarding time, an actual forwarding time of the message by the device is obtained, and when forwarding the message, a cumulative deviation value carried by the message is updated based on the actual forwarding time and the pre-configured forwarding time of the device forwarding the message.
3. According to the method of claim 2, the actual forwarding time is the time when the message is sent from the sending port of the device.
4. The method according to claim 1, wherein forwarding the message at the target forwarding time comprises: Obtaining a grouping label corresponding to the message; The message and a target message are forwarded at the target forwarding time, wherein the target message is a message in a message received by the device having a grouping label identical to the grouping label of the message.
5. The method according to claim 4, wherein the device is a head node device in the communication network, and the step of obtaining a grouping label corresponding to the message comprises: The messages are grouped based on a preset time interval and a receiving time of the messages, and a grouping label corresponding to the messages is determined based on the grouping result.
6. According to the method of claim 4, the step of obtaining the grouping label corresponding to the message comprises: Perform label extraction processing on the content code block or the start code block of the message to obtain a grouping label corresponding to the message.
7. According to the method of claim 4, the step of obtaining the grouping label corresponding to the message comprises: Based on the messages carrying the grouping labels in the message flow, the messages are grouped, and the grouping labels corresponding to the messages are determined based on the grouping results.
8. The method according to claim 7, wherein the packets carrying the packet labels in the packet flow include the first packet and / or the last packet of each packet.
9. According to the method of claim 7, the message carrying the grouping label in the message flow is a custom message carrying a preset characteristic flag, and the number of content code blocks of the custom message is less than a preset number threshold.
10. The method according to claim 7, wherein the message carrying the packet label in the message flow is a flow control frame message that does not perform flow control operation.
11. The method according to claim 4, wherein determining a target forwarding time for the device to forward the message based on the accumulated deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message comprises: Obtaining a first difference between the accumulated deviation value and the pre-configured forwarding delay value of the device forwarding the message; A target forwarding time for the device to forward the message is determined based on the first difference and the receiving time of the message.
12. The method according to claim 11, wherein the updating process of the accumulated deviation value carried by the message based on the target forwarding time and the pre-configured forwarding time of the device forwarding the message comprises: Acquire a second difference between the target forwarding time and the pre-configured forwarding time for the device to forward the message; Based on the second difference, the accumulated deviation value carried in the message is updated.
13. The method according to claim 11, before determining the target forwarding time for the device to forward the message based on the accumulated deviation value, the reception time of the message, and a pre-configured forwarding delay value for the device to forward the message, further comprising: Obtaining the forwarding delay value configured by a preset network configuration device for forwarding the message by the device; or, Perform delay value extraction processing on the message to obtain a forwarding delay value of the device forwarding the message.
14. A message forwarding device, comprising a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the message forwarding method according to any one of claims 1 to 13 are implemented.
15. A readable storage medium storing a program or instruction, wherein the program or instruction, when executed by a processor, implements the steps of the message forwarding method according to any one of claims 1 to 13.
Citation Information
Patent Citations
Message forwarding method and apparatus
CN108270674A
Information processing method, network device, network system and storage medium
CN115412488A
Systems and methods of transporting internal radio base station (RBS) interface information over a packet switched network
US20160337062A1
