Message forwarding method and device and storage medium
By receiving messages in Ethernet devices and updating their forwarding time, the problem of message delay deviation in the wide area network in storage and forwarding mode is solved, and the delivery and delay jitter control of deterministic services are realized.
Patent Information
- Application Number
- CN202310781467.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2024-12-31
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, resulting in the inability to meet the delay and jitter of specific application scenarios. 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 messages at the target forwarding time, thereby correcting the delay deviation.
It realizes the correction of delay deviations in the message forwarding process in the wide area network, meets the delivery needs of deterministic services, ensures deterministic forwarding of messages, and limits the delay jitter within one unit time.
Smart Images

Figure CN119232682A_ABST
Abstract
Description
Technical Field
[0001] 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
[0002] With the widespread use of Ethernet technology in industrial manufacturing and other fields, the requirements for information transmission quality are becoming increasingly higher, such as strict requirements for transmission delay and jitter. For the transmission scenario of deterministic services in 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 to meet the transmission requirements of deterministic services in long-distance physical environments.
[0003] However, since CSQF technology needs to be planned and designed across the entire network, and requires each device in the communication network to forward messages in strict accordance with the planning requirements, once 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 method solution is needed that can meet the delivery requirements of deterministic services in wide area networks. Summary of the invention
[0004] The embodiments of the present application provide a message forwarding method, device and storage medium to provide a solution of the message forwarding method that can meet the delivery requirements of deterministic services in a wide area network.
[0005] In a first aspect, a message forwarding method is provided, 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, the cumulative deviation value being a cumulative delay deviation value of the message in a forwarding process of the communication network; determining a target forwarding time for the device to forward the message based on the cumulative deviation value, a reception time of the message, and a pre-configured forwarding delay value for forwarding the message by the device; updating the cumulative deviation value carried by the message based on the target forwarding time and a pre-configured forwarding time for forwarding the message by the device, and forwarding the message at the target forwarding time.
[0006] 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 a pre-configured forwarding time for the device to forward the message, and forward the message at the target forwarding time.
[0007] In a third aspect, a message forwarding device is provided, which terminal includes a processor and a memory, 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.
[0008] In a fourth aspect, a readable storage medium is provided, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the message forwarding method described in the first aspect are implemented.
[0009] At least one technical solution adopted in the embodiments of the present application includes:
[0010] Receive a message to be forwarded and obtain a cumulative deviation value carried by the message, which may be a cumulative delay deviation value of the message in 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 forwarding the message by the device, determine a target forwarding time for forwarding the message by the device. Based on the target forwarding time and a pre-configured forwarding time for forwarding the message by the device, update the cumulative deviation value carried by the message and forward the message at the target forwarding time.
[0011] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects:
[0012] If a message generates a delay deviation during the forwarding process of the communication network, the device can determine the target forwarding time for the message to be forwarded by the device based on the accumulated deviation value carried by the message, so as to correct the delay deviation in the forwarding process, thereby meeting the delivery requirements of deterministic services in the wide area network. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 is a schematic flow chart of a message forwarding method according to an embodiment of the present application;
[0014] Figure 2 is a schematic diagram of a message processing process according to an embodiment of the present application;
[0015] Figure 3 is a schematic diagram of a pre-configured forwarding delay value according to an embodiment of the present application;
[0016] Figure 4 is a schematic diagram of a message forwarding method according to an embodiment of the present application;
[0017] Figure 5 is a schematic diagram of another message forwarding method according to an embodiment of the present application;
[0018] Figure 6 is a schematic flow chart of another message forwarding method according to an embodiment of the present application;
[0019] Figure 7 is a schematic diagram of a message carrying a forwarding delay value according to an embodiment of the present application;
[0020] Figure 8 is a schematic diagram of a grouping label according to an embodiment of the present application;
[0021] Fig. 9 is a schematic diagram of another grouping label according to an embodiment of the present application;
[0022] Fig.10 This is a schematic diagram of a message carrying a grouping label according to an embodiment of the present application;
[0023] Fig.11 is a schematic diagram of another message carrying a grouping label according to an embodiment of the present application;
[0024] Fig.12 is a schematic diagram of a message flow including messages carrying grouping labels according to an embodiment of the present application;
[0025] Fig.13 is a schematic diagram of another message flow including messages carrying grouping labels according to an embodiment of the present application;
[0026] Fig.14 is a schematic diagram of a message flow including a custom message according to an embodiment of the present application;
[0027] Fig.15 is a schematic diagram of a flow control frame message according to an embodiment of the present application;
[0028] Fig.16 It is a schematic diagram of a flow control frame message with a time window according to an embodiment of the present application;
[0029] Fig.17 is a schematic diagram of another message forwarding method according to an embodiment of the present application;
[0030] Fig.18 is a schematic diagram of another message forwarding method according to an embodiment of the present application;
[0031] Fig.19 is a schematic flow chart of another message forwarding method according to an embodiment of the present application;
[0032] Fig. 20 It is a structural schematic diagram of a message forwarding device according to an embodiment of the present application;
[0033] Fig.21 It is a structural diagram of a message forwarding device according to an embodiment of the present application. DETAILED DESCRIPTION
[0034] The embodiments of this specification provide a message forwarding method, device and storage medium.
[0035] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.
[0036] The inventive concept of the present application is as follows: Figure 2In the Ethernet device using the storage and forwarding mode shown, the message needs to be processed by multiple functional modules such as table lookup, parsing, speed limit, queue entry, cache, and scheduling in each device. The messages of all physical ports in the device share these functional modules, and the service time of these functional modules for the messages of each physical port of the device is uncertain, and the time for each message to complete the processing is also different, which will cause the delay time of the message in each device in the Ethernet to be uncertain. Therefore, the Ethernet device using the storage and forwarding mode cannot guarantee the transmission delay and jitter requirements of customer information. In network systems such as industrial production lines and vehicle communication networks, Ethernet technology is replacing proprietary thread bus technology because it can support higher data transmission rates and lower costs, and is easier to integrate with existing Ethernet devices. However, since the above-mentioned network system has high requirements for the transmission quality of customer messages, the Ethernet device using the storage and forwarding mode cannot guarantee the characteristics of bounded end-to-end delay, jitter and zero packet loss in specific application scenarios. Therefore, a solution for a message forwarding method that can meet the transmission 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-mentioned problems, and the details can be found in the following content.
[0037] Embodiment 1
[0038] like Figure 1 As shown, an embodiment of this specification provides a message forwarding method, and the execution subject of the 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:
[0039] In S102, a message to be forwarded is received, and a cumulative deviation value carried in the message is obtained.
[0040] 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.
[0041] In practice, as the device is working, service congestion may occur during message forwarding due to service bursts, service convergence, etc., resulting in the inability to forward messages within the scheduled forwarding period. That is, the device may deviate from the message forwarding and fail to achieve the expected delay time, resulting in greater delay jitter. For example, Figure 3As shown in the figure, it is assumed that device 1 is the first node device of the communication network (that is, when device 1 receives a message, the cumulative deviation value carried by the message is zero), and the forwarding delay value of device 1 forwarding the message is pre-configured to be 4 time slice units. Device 1 receives the message to be forwarded in time slice 1, then device 1 needs to forward the message in time slice 1+4=5. However, if Figure 4 As shown, when the output port of device 1 encounters congestion and other abnormal scenarios, device 1 forwards the message in time slice 6, then the actual forwarding time of device 1 for the message is time slice 6, and the actual delay value of device 1 for the message is 5 time slices, that is, the delay deviation value of device 1 for the message is 6-5=1. Therefore, the cumulative deviation value carried by the message received by device 2 can 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.
[0042] The device can 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 in the forwarding process of the communication network.
[0043] 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.
[0044] In 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.
[0045] In implementation, the device may determine a target forwarding time for the device to forward a message based on the accumulated deviation value, the message receiving time, and a pre-configured forwarding delay value for the device to forward the message, for example. Figure 3 As shown in the figure, it is assumed that the cumulative deviation value carried by the message received by device 2 is 1, and the forwarding delay value pre-configured for device 2 to forward the message is 2 units. Since the message lags behind by one forwarding cycle in 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, Figure 5 As shown, the message is actually advanced by 1 unit in device 2.
[0046] 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 of the message received by device 2 is time slice n, then the target forwarding time for device 2 to forward the message is time slice n+1.
[0047] In 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.
[0048] 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, and 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.
[0049] In implementation, for example, assuming that the cumulative deviation value of the message is 1, the forwarding time of the pre-configured device 2 for forwarding 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.
[0050] 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, and the total delay time of the message is corrected, that is, the total delay time of the message after being forwarded by devices 1 and 2 remains unchanged.
[0051] The embodiment of the present specification provides a message forwarding method, which is applied to a device in a communication network, by 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 in the forwarding process of the communication network, and 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, and 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. 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., so as to correct the delay deviation in the forwarding process, thereby meeting the transmission requirements of deterministic services in the wide area network.
[0052] In another embodiment, if Figure 6 As shown, an embodiment of this specification provides a message forwarding method, and the execution subject of the 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:
[0053] In S102, a message to be forwarded is received, and a cumulative deviation value carried in the message is obtained.
[0054] The accumulated deviation value may be an accumulated delay deviation value during the forwarding process of the message in the communication network.
[0055] In practice, the forwarding delay value configured in each device of the message can be configured by the network configuration device or carried by the message itself. Figure 6 As shown, after S102, S602 or S604 may be continued to be executed to obtain a pre-configured forwarding delay value of the device forwarding message.
[0056] In S602, a forwarding delay value configured by a preset network configuration device for device forwarding messages is obtained.
[0057] In S604, a delay value extraction process is performed on the message to obtain a forwarding delay value of the message forwarded by the device.
[0058] In implementation, Figure 7 As shown, the message may include a source MAC address, a destination MAC address, a type field, a layer 2 label, a layer 3 IP label, a message content, and a physical coding sub-layer (PCS) layer, wherein the message may carry a pre-configured forwarding delay value and a cumulative deviation value of the message forwarded by the device in the extended header of the layer 3 IP label. Therefore, the device may perform delay value extraction processing on the message to obtain the forwarding delay value of the message forwarded by the device.
[0059] In S606, a first difference between the accumulated deviation value and a pre-configured forwarding delay value of the device forwarding the message is obtained.
[0060] In implementation, the accumulated deviation value may be subtracted from the forwarding delay value to obtain the first difference value.
[0061] In S608, based on the first difference and the time when the message is received, a target forwarding time for the device to forward the message is determined.
[0062] 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.
[0063] In S610, a second difference between the target forwarding time and a pre-configured forwarding time for the device to forward the message is obtained.
[0064] 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.
[0065] In S612, based on the second difference, the accumulated deviation value carried in the message is updated.
[0066] 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.
[0067] In S614, the grouping label corresponding to the message is obtained.
[0068] In implementation, in actual applications, there are various methods for obtaining the packet label of the message. The following provides three optional implementation methods, which can be specifically referred to in the following processing:
[0069] Method 1: If the device is a head node device in a communication network, the device can group the message based on a preset time interval and the message receiving time, and determine the grouping label corresponding to the message based on the grouping result.
[0070] In implementation, the head node device may group the message flow according to the arrival time of the message. For example, the head node device may group the messages into multiple groups according to the time interval T based on the reception time of the message, where Figure 8 As shown, the packet tag of the message may be a sequence value, or the packet tag of the message may also be other values that can distinguish the packet boundary of the message, for example, Fig. 9 As shown in the figure, 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 according to the group label value corresponding to the message.
[0071] In addition, the above is an example of how to determine the grouping label corresponding to the message using the device as the head node device. 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 head node device according to the arrival time of the message, and the message stream can be determined by the grouping processing of the message stream by a certain upstream device of the device according to the arrival time of the message. Therefore, in the case where the device is not the head node device in the communication network, the processing of the following method 2 or method 3 can be referred to:
[0072] In method 2, the device can perform label extraction processing on the content code block or the start code block of the message to obtain the grouping label corresponding to the message.
[0073] In implementation, Fig.10 As shown, the message may include a destination address, a source address, TYPE, data and CRC, wherein the data of the message may include a specific field, an extended field or a reserved field, and the grouping label may be carried in the above-mentioned specific field, extended 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.
[0074] However, if the above fields of the message cannot carry the packet label, then the packet label can be carried in the starting code block of the message. In Ethernet interfaces with a rate of 10G or above, when sending messages, the messages can be converted into code blocks of a predetermined length for transmission.
[0075] Take the example of converting a message into a 66-bit code block. Fig.11 As shown, the converted message can be composed of 1 S code block, multiple D code blocks and 1 T code block, wherein 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.
[0076] A certain 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. In this way, the device can perform label extraction processing on the S code block of the message to obtain the grouping label corresponding to the message.
[0077] Method three: based on the messages carrying the grouping labels in the message flow, the messages are grouped and processed, and the grouping labels corresponding to the messages are determined based on the grouping results.
[0078] In implementation, each message received by the device may carry a group label, or, in the message stream received by the device, the first message and / or the last message of each group may carry a group label, and other messages in the group do not need to carry a group label, that is, the messages carrying group labels in the message stream may include the first message and / or the last message of each group.
[0079] For example, Fig.12As shown, the first message and the last message 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 the ending position of each group according to the message carrying the group label, that is, the group labels of all messages between the starting position and the ending position are the same.
[0080] Or, if Fig.13 As shown, the first message 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 the ending position of each group according to the message carrying the group label to obtain the group label corresponding to the message.
[0081] 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, only carrying the group label 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 equipment cannot accurately identify the packet boundary based on the packet label to determine the grouping situation, and cannot determine the group to which the message belongs.
[0082] 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.
[0083] In actual application scenarios, whether the packet tag of a message is carried in the content code block or the start code block, a client message needs to be sent. However, when the number of client messages in the communication network is small, or no client message is sent in a short period of time, the downstream device cannot obtain the packet tag of the message. Therefore, a custom message carrying a preset characteristic flag can be added to the message flow. In this way, the device can group the message through the custom message carrying the preset characteristic flag to determine the packet tag corresponding to the message based on the grouping result.
[0084] The upstream device can determine whether there is a client message to send at the packet boundary time. If the upstream device determines that there is no client message to send at the packet boundary time, then, Fig.14As shown, the upstream device can resend a custom message at the packet boundary to replace the client message to the downstream device. The custom message can be a message pre-agreed between the upstream and downstream devices, and the custom message can carry a preset characteristic flag and a group label of the group in which the custom message is located. In this way, even if there is no client message to be transmitted on the link, the upstream device can ensure that there is a message that can be sent to the downstream device at the packet boundary by resending the custom message, so that the downstream device can accurately determine the location of the packet boundary moment through the group label carried by the custom message.
[0085] The device can group the message based on the custom message carrying the preset characteristic flag, and determine the grouping label corresponding to the message based on the grouping result. For example, the device can directly extract the grouping label carried in the custom message, determine the position of the message's grouping boundary time, and can periodically determine the position of the grouping boundary time, and then determine the grouping of subsequent messages.
[0086] In addition, since the downstream device can periodically receive custom messages, it can periodically obtain group labels at fixed time intervals. Even if the device fails to obtain the group label due to a communication network error, the device can deduce the appearance time of the current group label based on the previous custom message reception pattern to accurately determine the group boundary. In this way, the device can still work normally when the communication network is abnormal, with high reliability.
[0087] In addition, when the device derives the appearance time of the current grouping label, it can also insert a custom message at the grouping boundary time, so that the downstream device of the device can accurately determine the grouping boundary based on the inserted custom message.
[0088] In addition, the custom message is only used to carry the grouping label, and loses its meaning after carrying the grouping label. That is, after the device determines the custom message through the preset characteristic flag, it can extract the grouping label carried by the custom message and discard the custom message after extraction.
[0089] The custom message may be an Ethernet message, and the type field in the common Ethernet message may carry a custom preset characteristic flag. For example, the characteristic value of the type field of the custom message may be set to 0xffff as the preset characteristic flag. In addition, the preset characteristic flag may also be in other forms. For example, the value of the destination address field in the custom message may be set to a special destination address value (such as 0xff-ff-ff-ff-ff-ff) as the preset characteristic flag.
[0090] In addition, the custom message can be a common Ethernet message or a specific code stream sequence in the form of a code stream sequence in the PCS layer of the physical layer of the common Ethernet message. Since the Ethernet standard defines the shortest message length as 64 bytes, the number of D code blocks in the code block sequence stream after encoding such a common Ethernet message is not less than 4, and less than 4 D code blocks are illegal message blocks.
[0091] After receiving a code block sequence containing less than 4 D code blocks, the device will discard the code block sequence. Therefore, the number of content code blocks contained in the custom message can be less than the preset number threshold, where the preset number threshold can be 4. For example, the custom message can be a code block sequence containing one S code block, n D code blocks and 1 T code block, where n can be an integer less than 4. Specifically, the custom message can contain 1 S code block and 1 T code block, or the custom message can contain 1 S code block, 1 D code block and 1 T code block, or the custom message can contain 1 S code block, 2 D code blocks and 1 T code block, or the custom message can contain 1 S code block, 3 D code blocks and 1 T code block, and the grouping label can be carried in the D code block or the T code block. In this way, after receiving the code block sequence, the device can determine whether the message is a custom message by the number of D code blocks, so as to extract the grouping label when determining that the message is a custom message, and then discard the code block sequence.
[0092] In addition, the message carrying the packet label in the message flow can be a flow control frame message that does not perform flow control operations. In actual application scenarios, in addition to the above-mentioned custom messages, new functions can also be extended in Ethernet protocol messages to achieve the purpose of carrying packet labels. For example, in an Ethernet physical interface, a flow control frame (Pause frame) message can be used to notify the peer device to pause sending messages and limit the sending speed of customer services. After receiving the Pause frame, the receiving end can start the flow control operation and then discard the Pause frame message.
[0093] Among them, Fig.15 As shown, 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 that the Pause sender requests the other party to stop sending data frames. The time measurement unit can be the time used 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 used 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 taken as the maximum value. In actual applications, when the operation parameter is 0x0000, the Pause frame message indicates no flow control during flow control. Therefore, if Fig.16 As shown, the message carrying the grouping tag can be a Pause frame message with a time window and an operation parameter of 0x0000, and the grouping tag can be carried in the reserved field of the Pause frame message. After receiving the Pause frame message with an operation parameter of 0x0000, the device can extract the grouping tag carried in the reserved field of the Pause frame message.
[0094] In addition, in the message stream received by the device, there may be messages carrying group labels at the start and / or end time of the packet boundary time, and the messages carrying group labels may be any of the above-mentioned custom messages, flow control frame messages, and customer messages carrying group labels. The device can perform group processing on the messages based on the messages carrying group labels in the message stream, and determine the group label corresponding to the message based on the grouping result.
[0095] In S616, the message and the target message are forwarded at the target forwarding time.
[0096] The target message is a message received by the device and having a grouping label that is the same as the grouping label of the message.
[0097] In practice, when the target forwarding time is reached, the device can forward the message and the target message of the same group as the message at the same time. Fig.17 As shown, the messages of the same group are forwarded together in the device with a constant delay time. The delay jitter is within the jitter unit time T, which can achieve deterministic forwarding of the messages.
[0098] Each device in the communication network can group messages, process and store them, and forward messages in the same group according to the determined target forwarding time. Fig.18 As shown, the pre-configured forwarding delay value of device 1 for forwarding messages is 4 time units, that is, each group of messages stays in device 1 for 4 time units. If the message received by device 1 in time slice 1 is the same group of messages, device 1 can send the same group of messages in time slice 5, and if device 1 receives the group of messages in time slice 2, it can send it in time slice 6, and so on. In this way, based on the time sequence division of time slices, the device can divide the messages in the same time slice into a group of messages according to the message reception time, and forward and process the same group of messages together. Among them, the time slice is also called the time cycle slice, or time cycle.
[0099] 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 transmitted 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.
[0100] In addition, since the device is working, it may encounter business congestion during forwarding due to business emergencies, business convergence, etc., resulting in failure to forward messages at the target forwarding time. Therefore, if Fig.19 As shown, after S104, S702 may continue to be executed.
[0101] In S702, when the device does not forward the message at the target forwarding time, the actual forwarding time of the device for the message 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.
[0102] The actual forwarding time may be the time when the message is sent at the sending port of the device.
[0103] 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 forwarding time of the message forwarded by the pre-configured device. 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 so that it can be sent out together with the message.
[0104] The embodiment of the present specification provides a message forwarding method, which is applied to a device in a communication network, by 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 in the forwarding process of the communication network, and 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, and 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. 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., so as to correct the delay deviation in the forwarding process, thereby meeting the transmission requirements of deterministic services in the wide area network.
[0105] 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, such as Fig. 20 shown.
[0106] The message forwarding device comprises: a request receiving module 2001, a format conversion module 2002 and a file forwarding module 2003, wherein:
[0107] 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;
[0108] A time determination module 2002, configured to determine a target forwarding time for the message forwarding 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 message forwarding device to forward the message;
[0109] The first sending module 2003 is used to update the accumulated 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.
[0110] In the embodiment of this specification, the device further includes:
[0111] 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 accumulated 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.
[0112] 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.
[0113] In the embodiment of this specification, the first forwarding module 2003 is used to:
[0114] Obtaining a grouping label corresponding to the message;
[0115] The message and the target message are forwarded at the target forwarding time, wherein the target message is a message received by the device and has a grouping label that is the same as the grouping label of the message.
[0116] In the 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:
[0117] 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.
[0118] In the embodiment of this specification, the first forwarding module 2003 is used to:
[0119] 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.
[0120] In the embodiment of this specification, the first forwarding module 2003 is used to:
[0121] 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.
[0122] 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 grouping.
[0123] In the embodiment of the present 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.
[0124] In the embodiment of the present specification, the message carrying the grouping label in the message flow is a flow control frame message that does not perform flow control operation.
[0125] In an embodiment of the present specification, determining a target forwarding time for the message forwarding 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 message forwarding device to forward the message includes:
[0126] Obtaining a first difference between the accumulated deviation value and the pre-configured forwarding delay value of the message forwarding device forwarding the message;
[0127] A target forwarding time for the message forwarding device to forward the message is determined based on the first difference and the reception time of the message.
[0128] In the embodiment of this specification, the first sending module 2003 is used to:
[0129] Acquire a second difference between the target forwarding time and the pre-configured forwarding time of the message forwarding device forwarding the message;
[0130] Based on the second difference, the accumulated deviation value carried in the message is updated.
[0131] In the embodiment of this specification, the device further includes:
[0132] A first acquisition module is used to acquire the forwarding delay value of the preset network configuration message forwarding device for the message forwarding device forwarding the message configuration; or,
[0133] The second acquisition module is used to perform delay value extraction processing on the message to obtain a forwarding delay value of the message forwarded by the message forwarding device.
[0134] The embodiments of the present specification provide 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 accumulated deviation value carried by the message, etc., so as to correct the delay deviation in the forwarding process, thereby meeting the transmission requirements of deterministic services in the wide area network.
[0135] 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, such as Fig.21 shown.
[0136] The message forwarding device may have relatively large differences due to different configurations or performances, and may include one or more processors 2101 and memory 2102, and the memory 2102 may store one or more storage applications or data. Among them, the memory 2102 may be a temporary storage or a permanent storage. The application stored in the memory 2102 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the message forwarding device. Furthermore, the processor 2101 may be configured to communicate with the memory 2102, and execute a series of computer executable instructions in the 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 and output interfaces 2105, and one or more keyboards 2106.
[0137] 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 in the message forwarding device, and the one or more programs are configured to be executed by one or more processors, including the following computer executable instructions:
[0138] 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;
[0139] 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;
[0140] 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.
[0141] Optionally, the method further comprises:
[0142] 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.
[0143] Optionally, the actual forwarding time is the time when the message is sent from a sending port of the device.
[0144] Optionally, forwarding the message at the target forwarding time includes:
[0145] Obtaining a grouping label corresponding to the message;
[0146] 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.
[0147] Optionally, the device is a head node device in the communication network, and the acquiring the grouping label corresponding to the message includes:
[0148] 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.
[0149] Optionally, the acquiring the grouping label corresponding to the message includes:
[0150] 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.
[0151] Optionally, the acquiring the grouping label corresponding to the message includes:
[0152] 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.
[0153] Optionally, the messages carrying the grouping labels in the message flow include the first message and / or the last message of each grouping.
[0154] Optionally, 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.
[0155] Optionally, the message carrying the grouping label in the message flow is a flow control frame message that does not perform flow control operation.
[0156] Optionally, 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 includes:
[0157] Obtaining a first difference between the accumulated deviation value and the pre-configured forwarding delay value of the device forwarding the message;
[0158] 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.
[0159] Optionally, the updating of the accumulated deviation value carried by the message based on the target forwarding time and a pre-configured forwarding time for the device to forward the message includes:
[0160] Acquire a second difference between the target forwarding time and the pre-configured forwarding time for the device to forward the message;
[0161] Based on the second difference, the accumulated deviation value carried in the message is updated.
[0162] Optionally, before 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, the method further includes:
[0163] Obtaining the forwarding delay value configured by a preset network configuration device for forwarding the message by the device; or,
[0164] Perform delay value extraction processing on the message to obtain a forwarding delay value of the device forwarding the message.
[0165] The embodiment of the present specification provides a message forwarding device, which 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 in the forwarding process of the communication network, determines the target forwarding time of the message forwarded by the device based on the cumulative deviation value, the reception time of the message, and the forwarding delay value of the message forwarded by the device configured in advance, updates the cumulative deviation value carried by the message based on the target forwarding time and the forwarding time of the message forwarded by the device configured in advance, 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 of the message forwarded by the device 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 transmission requirements of deterministic services in the wide area network.
[0166] In another embodiment, the embodiment of this specification also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above-mentioned message forwarding method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated 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.
[0167] The embodiment of the present specification provides a computer-readable storage medium, which 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 in the forwarding process of the communication network, determine the target forwarding time of the message forwarded by the device based on the cumulative deviation value, the reception time of the message, and the pre-configured forwarding delay value of the device forwarding the message, update the cumulative deviation value carried by the message based on the target forwarding time and the pre-configured forwarding time of the device forwarding the message, and forward 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 of the message forwarded by the device 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 transmission requirements of deterministic services in the wide area network.
[0168] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0169] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as 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, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0170] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. 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 also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0171] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with 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 smart phone, 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.
[0172] For the convenience of description, the above devices are described in terms of functions and are divided into various units. 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.
[0173] 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. Moreover, 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 disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0174] 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 generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0175] These computer program instructions may also be stored in a computer readable memory capable of directing 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 an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0176] These computer program instructions may also be loaded onto a computer or other programmable message forwarding device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0177] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0178] The 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. The memory is an example of a computer-readable medium.
[0179] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. 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 disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape 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 temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0180] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0181] It should be understood by those skilled in the art 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. Moreover, 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 disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0182] One or more embodiments of the present 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, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0183] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0184] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
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, characterized in that: It includes a processor and a memory, 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 as described in any one of claims 1 to 13 are implemented.
15. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, 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.
