Message processing method, entry node, medium and product
By matching the packet processing cycle in the deterministic network ingress node and adopting corresponding strategies, the flexibility problem of the ingress node in handling packets of different cycles is solved, support for diversified services is realized, and the processing efficiency and adaptability of the network are improved.
Patent Information
- Application Number
- CN202411237135.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2026-03-10
AI Technical Summary
In deterministic networks, the entry node cannot flexibly process messages within different periods, making the system unable to adapt to the diverse service requirements and limiting the network's support capabilities.
By obtaining the processing cycle of the message and adopting the corresponding preset processing strategy when matching the target cycle, the message can be flexibly processed, including putting the message into the target processing queue or using a non-deterministic forwarding method.
It enables flexible processing of messages within different scheduling cycles at the deterministic network entry node, improves end-to-end deterministic message processing, and enhances network adaptability and processing efficiency.
Smart Images

Figure CN121644470A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a message processing method, an entry node, a computer-readable medium, and a computer program product. Background Technology
[0002] Deterministic networks are networks that provide services for deterministic service flows. Unlike the best-effort service approach in traditional networks, each node in a deterministic network needs to perform deterministic control over the transmission delay, jitter, and other factors of the service flow to ensure accurate transmission of the service flow.
[0003] However, in deterministic networks, the processing method for packets at each hop node is specified by the network testing equipment. This method determines the period of a packet at each deterministic forwarding node along the path based on the granularity of the service flow, which lacks flexibility in packet processing. Especially at the entry node of a deterministic network, it cannot accurately process packets within different periods, resulting in the system's inability to flexibly adapt to service requirements with different transmission frequencies, thus limiting the network's ability to support diverse services. Summary of the Invention
[0004] This disclosure provides a message processing method, an entry node, a computer-readable medium, and a computer program product.
[0005] In a first aspect, embodiments of this disclosure provide a message processing method applied to an entry node of a deterministic network, comprising: acquiring a first message and its corresponding processing period; and, when it is determined that the processing period of the first message matches a target period, processing the first message using a preset message processing strategy corresponding to the target period.
[0006] Secondly, embodiments of this disclosure provide an entry node, including: one or more processors; and a memory storing one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement any message processing method in embodiments of this disclosure.
[0007] Thirdly, embodiments of this disclosure provide a readable storage medium storing a computer program that, when executed by a processor, implements any of the message processing methods described in this disclosure.
[0008] Fourthly, embodiments of this disclosure provide a computer program product, which includes a computer program that, when executed by a processor, implements any of the message processing methods described in the embodiments of this disclosure.
[0009] In the message processing method of this disclosure embodiment, when the entry node of the deterministic network obtains the first message, it matches the processing period of the first message with the target period to determine whether the first message needs to be deterministically processed. When the processing period of the first message matches the target period, the processing method corresponding to the target period can be used to process the first message subsequently. Therefore, this disclosure embodiment can flexibly process the first message based on the granularity of the processing period, realizing flexible processing of messages arriving within different scheduling periods at the entry node of the deterministic network, thereby improving the end-to-end deterministic message processing in the deterministic network. Attached Figure Description
[0010] In the accompanying drawings of the embodiments disclosed herein:
[0011] Figure 1 A flowchart illustrating a message processing method provided in an embodiment of this disclosure;
[0012] Figure 2 A block diagram of a message processing apparatus provided in this disclosure embodiment;
[0013] Figure 3 This diagram illustrates the composition of an entry node in a deterministic network according to an embodiment of the present disclosure.
[0014] Figure 4 A flowchart illustrating the implementation of an enqueueing strategy at the entry node of a deterministic network, as provided in an embodiment of this disclosure;
[0015] Figure 5 A flowchart illustrating the implementation of a dequeue strategy by an entry node in a deterministic network, as provided in an embodiment of this disclosure.
[0016] Figure 6 A schematic diagram illustrating the stream processing strategies configured for different ports in an entry node of a deterministic network, as provided in an embodiment of this disclosure.
[0017] Figure 7 A schematic diagram illustrating the stream processing strategies configured for different ports in an entry node of a deterministic network, as provided in an embodiment of this disclosure.
[0018] Figure 8 This is a block diagram illustrating the composition of an entry node provided in an embodiment of this disclosure. Detailed Implementation
[0019] To enable those skilled in the art to better understand the technical solutions of this disclosure, the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.
[0020] The present disclosure will be described more fully below with reference to the accompanying drawings; however, the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as limited to the embodiments set forth below. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of the disclosure.
[0021] The accompanying drawings of the embodiments disclosed herein are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the detailed embodiments to explain this disclosure and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the description of the detailed embodiments with reference to the accompanying drawings.
[0022] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.
[0023] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The term “and / or” as used in this disclosure includes any and all combinations of one or more of the associated enumerated entries. The singular forms “a” and “the” as used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise.
[0024] Unless otherwise specified, all terms used in this disclosure (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined in this disclosure.
[0025] In some related technologies, deterministic packet forwarding is achieved through techniques such as Deterministic IP (DIP), Cycle Specified Queuing and Forwarding (CSQF), and Enhanced Deterministic Networking (EDN). These technologies all employ asynchronous periodic scheduling (i.e., no network-wide time synchronization is required; only frequency synchronization between devices is needed) for deterministic packet forwarding. Specifically, network jitter control is achieved primarily through techniques such as periodic scheduling of equal-length time slices, periodic mapping, path and resource planning.
[0026] For ingress nodes in a deterministic network to process packets sent from a nondeterministic network, "deterministic shaping" is usually required. This means that the ingress node needs to associate the deterministic traffic data arriving at its device with the scheduling queue of the corresponding outgoing port in a certain way so that other nodes in the deterministic network can carry out deterministic transmission of the packets.
[0027] The above solution may face the following problems in practical application:
[0028] 1. Inadequate ingress traffic management: There is a lack of effective mechanisms at the ingress node to check whether the data traffic meets the preset deterministic requirements (e.g., whether the packet arrives within the expected periodic window) and how to perform appropriate operations on the matching traffic.
[0029] 2. Flexibility limitations: Some current edge shaping solutions are only applicable to scenarios where packet cycles are not a concern, and resource reservation is usually coarse-grained, making it difficult to adapt to the needs of fine-grained management and improved bandwidth utilization.
[0030] 3. Mismatch between resource reservation and actual needs: Although some related technical solutions specify the forwarding period and time slot of packets in the network, they neglect to check the period granularity of access traffic, which may lead to the reservation of resources not matching the actual needs, affecting the controllability of end-to-end latency and jitter.
[0031] 4. Limitations in supporting services with different packet transmission frequencies: Existing related technical solutions have limitations when handling situations where the same deterministic service packet enters multiple periodic queues at the ingress port of the ingress device. Because existing technical solutions are designed based on a single service flow granularity, each service flow can only be assigned a preset periodic sequence. This means that once a service is assigned to a periodic queue, it must follow the same periodic pattern throughout the network. This limitation prevents the system from flexibly adapting to service requirements with different transmission frequencies, thus restricting the network's ability to support diverse services.
[0032] In some related technologies, based on the intensity of the service flow, the processing method of the packet at each hop node is specified by the network testing equipment to determine the period of the packet at each deterministic forwarding node along the way; however, it cannot flexibly process the packets; especially at the entry node of the deterministic network, it cannot accurately process packets in different periods, which makes the system unable to flexibly adapt to the service requirements with different transmission frequencies, thus limiting the network's ability to support diversified services.
[0033] To address the aforementioned issues, this disclosure provides a message processing method, an entry node, a computer-readable medium, and a computer program product.
[0034] In a first aspect, embodiments of this disclosure provide a message processing method.
[0035] Figure 1 This is a flowchart illustrating a message processing method provided in an embodiment of this disclosure. The message processing method is applied to a message processing device, which can be located in the entry node of a Deterministic Network (DetNet). DetNet refers to the ability to provide deterministic service guarantees for services carried within a network domain, including metrics such as latency, latency jitter, and packet loss rate. This type of network ensures that data transmission in the DetNet reaches its destination within a predetermined time by optimizing data transmission paths, time-sensitive protocols, and intelligent traffic management, thus achieving reliable data transmission.
[0036] like Figure 1 As shown, the message processing method includes, but is not limited to, the following steps.
[0037] Step S101: Obtain the first message and its corresponding processing cycle.
[0038] The first message is a message sent from a device in a non-deterministic network (e.g., a terminal in an access network) to the ingress node of a deterministic network. The processing cycle of the first message is the cycle during which the first message is scheduled to be processed.
[0039] Nondeterministic networks, typically referring to traditional IP networks or best-effort networks, are not specifically optimized to provide guaranteed Quality of Service (QoS). In nondeterministic networks, packet transmission delays, jitter, packet loss rates, and bandwidth usage are unpredictable, primarily depending on the network's current load and conditions. This network model is suitable for applications with low latency and reliability requirements, but in scenarios such as industrial control, telemedicine, and autonomous driving, where latency is sensitive and high reliability is required, the uncertainty of performance and QoS becomes a major limitation.
[0040] Data uncertainty arises from errors in data acquisition, packet loss during transmission, and latency. Network topology uncertainty stems from the fact that the network topology may change due to the addition, departure, or failure of nodes. This dynamic nature introduces uncertainty into the network topology, potentially leading to network performance instability, such as increased routing complexity, data transmission latency, and higher packet loss rates. Network traffic uncertainty arises from changes in network traffic patterns caused by user behavior, application demands, and network conditions, potentially leading to network congestion and uneven bandwidth distribution. Node behavior uncertainty arises from software or hardware failures, malicious attacks, and other malicious behaviors of nodes in the network (such as computers, servers, and routers), resulting in security issues such as data transmission interruptions and data leaks.
[0041] Therefore, when obtaining the first message and its corresponding processing cycle, it is necessary to judge the processing cycle of the first message to determine whether the processing cycle meets the requirements of the target cycle, so as to ensure that the first message can be processed most accurately.
[0042] Step S102: If the processing period of the first message matches the target period, the first message is processed using a preset message processing strategy corresponding to the target period.
[0043] Among them, the preset message processing strategy corresponding to the target period is the processing strategy for the first message determined according to the target period.
[0044] When the processing cycle of the first message matches the target cycle, it indicates that the processing cycle of the first message is the same as the target cycle, or that the processing cycle of the first message meets the requirements of the target cycle. In this case, the first message is processed using a preset message processing strategy corresponding to the target cycle, which enables the first message to be processed by the preset message processing strategy and meets the processing needs of the user corresponding to the entry node for the first message.
[0045] The message processing method in this embodiment of the deterministic network determines whether deterministic processing of the first message is required by matching its processing period with a target period when the entry node of the deterministic network receives the first message. When the processing period of the first message matches the target period, the processing method corresponding to the target period can be used to process the first message subsequently. Therefore, this embodiment of the present disclosure can flexibly process the first message based on the granularity of the processing period, realizing flexible processing of messages with different processing periods at the entry node of the deterministic network, thereby improving the end-to-end deterministic message processing in the deterministic network.
[0046] In some exemplary embodiments, the first message is a message received by the ingress port of the ingress node.
[0047] The step S101 of obtaining the first message and its corresponding processing period includes: receiving the first message and using the arrival period of the first message as the processing period of the first message, wherein the arrival period of the first message is the scheduling period in which the first message is received.
[0048] In step S102, when it is determined that the processing period of the first message matches the target period, the first message is processed using a preset message processing strategy corresponding to the target period. This includes: when the arrival period of the first message is the same as the target period, the first message is processed using a processing method corresponding to the arrival period of the first message.
[0049] In DetNet, the ingress node, upon receiving the first message from the non-deterministic network, cannot determine which scheduling period the first message corresponds to. By recording the scheduling period at which the first message is received and using that scheduling period as the arrival period of the first message, it is easier to perform periodic processing on the first message subsequently.
[0050] For example, when receiving the first message, if the scheduling period corresponding to the ingress node is T2, then the arrival period of the first message can be determined to be T2. By recording this scheduling period T2 and determining the arrival period of the first message as T2, it is convenient to perform periodic processing on the first message based on T2, so as to achieve deterministic processing of messages transmitted from a non-deterministic network.
[0051] The processing method corresponding to the arrival period of the first message is the processing method for the first message determined according to the arrival period of the first message.
[0052] If the first message is a periodically sent message, subsequent messages can be predicted and processed based on its arrival period. For example, if the first message's transmission period is n microseconds, the next first message can be received after n microseconds, and the first message can be processed according to the case of delayed arrival (e.g., discarding the first message or forwarding it as a non-deterministic message). n is an integer greater than or equal to 1.
[0053] If the first message is a non-periodic message, its corresponding processing method can be dynamically adjusted according to the arrival period of the first message as monitored in real time, so as to achieve flexible processing of the first message.
[0054] The message processing method in this embodiment of the disclosure records the scheduling period at which the first message is received when the entry node of the deterministic network receives the first message, and uses this scheduling period as the arrival period of the first message. Therefore, subsequent processing of the first message can be performed using a processing method corresponding to the arrival period of the first message. Thus, this embodiment of the disclosure can flexibly process the first message based on the granularity of the scheduling period, enabling flexible processing of messages arriving within different scheduling periods at the entry node of the deterministic network, thereby improving end-to-end deterministic message processing in the deterministic network.
[0055] In some exemplary embodiments, the first message is processed using a processing method corresponding to the arrival period of the first message, including: determining a target processing queue based on the arrival period of the first message; and placing the first message into the target processing queue.
[0056] Specifically, by determining the arrival period of the first message, it is determined within which scheduling period the first message needs to be processed. Then, based on the determined scheduling period, the corresponding target processing queue is obtained. That is, the scheduling period of the target processing queue is consistent with the period for processing the first message, so as to facilitate the quick and accurate processing of the first message.
[0057] For example, if the arrival period of the first message is determined to be T2, and through message parsing, period calculation, and other processing, it is determined that the first message needs to be processed within T4, then it can be determined that the first message needs to be placed in the target processing queue with a scheduling period of T4, so that the first message can be processed within T4.
[0058] It should be noted that each message in the target processing queue is a message that conforms to the scheduling period of the target processing queue. In other words, messages placed in the target processing queue can be processed within the scheduling period of the target processing queue, thereby achieving sequential processing of each message and deterministic transmission.
[0059] In some exemplary embodiments, the target processing queue is any one of the following queues:
[0060] The target processing queue is a queue whose scheduling cycle is the next cycle determined by the arrival cycle of the first message and the processing capacity of the ingress node.
[0061] The target processing queue is a queue whose scheduling period is the number of preset delay periods after the arrival period of the first message.
[0062] The target processing queue is a queue with a preset configuration period as its scheduling period.
[0063] The preset configuration period is a pre-configured period for processing the first message.
[0064] Since the network latency of the multiple different types of first packets received by the ingress node is different, and different first packets need to be placed into different target processing queues, in order to meet the processing latency requirements of different first packets, the first packets are placed into target processing queues with different scheduling periods according to their arrival period. Based on the scheduling period dimension, multiple different types of first packets can be distributed to their respective target processing queues, so that the first packets placed in each target processing queue with different scheduling periods can be processed separately, thereby improving the processing flexibility of the first packets.
[0065] The period determined based on the arrival period of the first message and the processing capacity of the entry node (e.g., represented by the maximum processing delay) can be determined by summing the arrival period of the first message and the maximum processing delay, and then rounding the sum up.
[0066] For example, if the arrival period of the first message is T2, and the maximum processing delay determined by the processing capacity of the entry node is 0.5 periods, then T2 + 0.5T, rounded up, gives us T3. We can then determine that the target processing queue is the queue whose processing period is the next period after T3 (i.e., T4).
[0067] By using a target processing queue to process the first message, the function of "ticket checking" can be achieved. That is, in a deterministic forwarding system, a time difference always exists, but for a certain business message, as long as it follows a pattern, it is acceptable (for example, without a ticketing system and ticket gates, all passengers would arrive at the station at any time and want to board the train, which would be chaotic; with a ticketing system (reservation of resources on the control plane), passengers are verified at the ticket gate (periodic perception and matching in this paper), ensuring that only those with the expected tickets can pass through the gate, and subsequent processing is carried out according to their corresponding vehicle information; furthermore, by determining the target processing queue, resources can be accurately reserved for the control plane, so that the final determined processing method is more in line with the time period requirements, improving the accuracy of processing the first message).
[0068] For example, if the first message arrives at the entry node in period T2, and the entry node parses and processes the first message, it determines that the worst-case period for processing the first message is T3. Then, it can determine that the scheduling period of the target processing queue is the next period after T3 (i.e., period T4), so that the entry node puts the first message into the target processing queue with the scheduling period of period T4, so that the target processing queue can process the first message.
[0069] By using target processing queues with different scheduling periods to process the first packet, the end-to-end latency can be decomposed, allowing different target processing queues to process their corresponding first packets quickly, thus meeting the scheduling and processing needs of different first packets, and also reducing the data buffering pressure on network-side devices.
[0070] In some exemplary embodiments, the first message is a message received by the outgoing port of the ingress node;
[0071] The step S101 of obtaining the first message and its corresponding processing period includes: obtaining the first message and determining the current scheduling period of the first message;
[0072] In step S102, when it is determined that the processing period of the first message matches the target period, the first message is processed using a preset message processing strategy corresponding to the target period. This includes: when the current scheduling period of the first message is the same as the target period, the first message is encapsulated using a preset encapsulation method corresponding to the target period to generate a second message.
[0073] The second message is intended for transmission to the target processing node. The preset encapsulation method is determined based on the periodic forwarding capability supported by the target processing node, and is used to encapsulate the first message.
[0074] Since different target processing nodes have different message processing methods, by setting a preset encapsulation method and using a preset encapsulation method that matches the periodic forwarding capability supported by the target processing node to encapsulate the first message, it is ensured that the second message can be correctly interpreted and processed.
[0075] In some exemplary embodiments, a first message is encapsulated using a preset encapsulation method corresponding to the target period to generate a second message, including:
[0076] Based on the target period and the first message, generate the second message, where the target period is the predetermined transmission scheduling period for the second message; or,
[0077] The preset forwarding cycle sequence is determined based on the target cycle, and the preset forwarding cycle sequence is added to the first message to generate the second message.
[0078] The target period is the predetermined period for the target processing node to send the second message. By using a substitution method, the target period is encapsulated into the second message, enabling the target processing node receiving the second message to determine its forwarding behavior on that node through the target period carried in the second message. That is, it forwards the second message by looking up the period information carried in the message.
[0079] In some embodiments, determining the preset forwarding cycle sequence based on the target cycle can be achieved in the following manner: determining the predetermined transmission scheduling cycle of each target processing node based on the current scheduling cycle of the first message and the multiple target processing nodes that the first message needs to pass through; and then constructing the preset forwarding cycle sequence based on the predetermined transmission scheduling cycles of the multiple target processing nodes.
[0080] The preset forwarding cycle sequence includes multiple target processing nodes through which the second message passes and their corresponding preset sending scheduling cycles.
[0081] Furthermore, compared to conventional entry nodes, which can only place deterministic service messages of the same type into a corresponding processing queue for processing, the entry node in this disclosure can flexibly configure the preset forwarding period sequence to specify the forwarding period of different types of messages in different target processing nodes. This achieves granularity based on the scheduling period, enabling different types of messages to be forwarded at different periods, thereby improving the processing efficiency of messages in service data with different packet sending frequencies.
[0082] In some exemplary embodiments, the method further includes: discarding the first message if it is determined that the processing period of the first message does not match the target period, or processing the first message using a nondeterministic message forwarding method.
[0083] Among them, the nondeterministic message forwarding method is a way of processing the first message using a "best-effort" message forwarding method. This message forwarding method can be used to transmit messages in complex network environments to improve the flexibility of message transmission, but it may also bring some uncertainties, such as forwarding delays and message loss.
[0084] For example, nondeterministic message forwarding methods include any of the following: random forwarding, probabilistic forwarding, and network state-based forwarding.
[0085] Random forwarding involves randomly selecting one next-hop node from multiple possible options. This method is simple but inefficient and can lead to packets looping within the network. Probabilistic forwarding selects the next-hop node based on a pre-defined probability distribution. This method is more refined than random forwarding, allowing for performance optimization through probability adjustments. Network state-based forwarding dynamically selects the forwarding path based on the current network state (e.g., congestion level, link quality). This method requires network nodes to be able to perceive the network state in real time and make forwarding decisions accordingly.
[0086] If the arrival period of the first message does not conform to the forwarding rules of deterministic messages, the first message can be discarded to reduce the waste of communication resources caused by unexpected messages; or, the first message can be processed using a non-deterministic message forwarding method to ensure that the first message can be transmitted as far as possible, thereby improving the transmission efficiency of the message.
[0087] Secondly, embodiments of this disclosure provide a message processing apparatus.
[0088] Figure 2 This is a block diagram illustrating the composition of a message processing apparatus according to an embodiment of the present disclosure. The message processing apparatus can be located in the entry node of a deterministic network.
[0089] The deterministic network includes any of the following: an Internet Protocol (IP)-based Radio Access Network (RAN), a metropolitan area network (MAN), and a backbone transmission network. The entry node is a device with deterministic packet forwarding capabilities, and it also has functions such as Quality of Service (QoS) flow classification and data traffic policing.
[0090] like Figure 2 As shown, the message processing device 200 includes, but is not limited to, the following modules.
[0091] The acquisition module 201 is used to acquire the first message and its corresponding processing cycle;
[0092] The processing module 202 is used to process the first message using a preset message processing strategy corresponding to the target period when it is determined that the processing period of the first message matches the target period.
[0093] It should be noted that the message processing device in this embodiment can implement any message processing method in this disclosure embodiment.
[0094] According to the message processing apparatus of this disclosure, when a first message is obtained by the acquisition module in the entry node of the deterministic network, the processing period of the first message is matched with the target period to determine whether the first message needs to be deterministically processed. When the processing period of the first message matches the target period, the processing module can use the processing method corresponding to the target period to perform subsequent processing on the first message. Therefore, the embodiments of this disclosure can flexibly process the first message based on the granularity of the processing period, and realize flexible processing of messages arriving in different scheduling periods at the entry node of the deterministic network, thereby improving the end-to-end deterministic message processing in the deterministic network.
[0095] It should be clarified that this disclosure is not limited to the specific configurations and processes described in the foregoing embodiments and shown in the figures. For the sake of convenience and brevity, detailed descriptions of known methods are omitted here, and the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
[0096] Thirdly, embodiments of this disclosure provide an entry node for a deterministic network.
[0097] Figure 3 This diagram illustrates the composition of an entry node in a deterministic network according to an embodiment of this disclosure. Figure 3 As shown, the entry node 300 includes, but is not limited to, the following devices: a periodic marking module 310, a periodic sensing module 320, and a behavior execution module 330.
[0098] The periodic marker module 310 is used to set the arrival period of the first message as the processing period of the first message when the ingress port of the ingress node 300 is received, and the arrival period of the first message is the scheduling period when the first message is received.
[0099] The periodic marking module 310 is also used to obtain the first message and determine the current scheduling period of the first message when setting the output port of the ingress node 300.
[0100] The periodicity sensing module 320 is used to identify the arrival period of the first message and determine whether the arrival period of the first message is the same as the target period. If they are the same, the module determines the processing method corresponding to the arrival period of the first message. This processing method is used by the behavior execution module 330 to process the first message.
[0101] The periodicity sensing module 320 is also used to determine whether the current scheduling period of the first message is the same as the target period. If it is determined that they are the same, it obtains the preset encapsulation method corresponding to the target period.
[0102] The sensing modes corresponding to the cycle sensing module 320 include: cycle-aware mode and cycle-blind mode.
[0103] The periodic sensitive mode focuses on the periodic information of received messages. When the arrival period of a received message is obtained, it needs to be matched with the preset periodic information. Only when a match is found will the message be processed. If the arrival period does not match the preset periodic information, the message will be discarded or processed using a non-deterministic message forwarding method.
[0104] The preset period information includes preset period parameters, such as pre-set period values (e.g., the preset second period is the period for processing packets). Processing a packet using a non-deterministic packet forwarding method typically means that the packet forwarding path or forwarding decision is not completely deterministic or predictable, but rather dynamically selected based on a certain algorithm or strategy. This approach can provide greater flexibility and adaptability in complex network environments, but it may also introduce some uncertainties, such as forwarding delays and packet loss.
[0105] For example, nondeterministic message forwarding methods include any of the following: random forwarding, probabilistic forwarding, and network state-based forwarding.
[0106] Random forwarding involves randomly selecting one next-hop node from among multiple possible next-hop nodes for forwarding. This method is simple but inefficient and may cause packets to circulate within the network.
[0107] Probabilistic forwarding selects the next-hop node based on a preset probability distribution. This method is more refined than random forwarding, allowing for performance optimization by adjusting the probabilities.
[0108] Network state-based forwarding dynamically selects forwarding paths based on the current network state (such as congestion level, link quality, etc.). This method requires network nodes to be able to perceive the network state in real time and make forwarding decisions accordingly.
[0109] The period-insensitive mode does not pay attention to the period information of the received messages. It confirms that all received messages meet the requirements and can be processed.
[0110] The behavior execution module 330 is used to process the first message using a processing method corresponding to the arrival period of the first message, or to encapsulate the first message using a preset encapsulation method corresponding to the target period to generate a second message, the second message being a message for transmission to the target processing node.
[0111] The behavior execution module 330 is also used to perform behaviors such as packet traffic monitoring, traffic shaping, and queue scheduling.
[0112] Specifically, when executing queue scheduling behavior, the behavior execution module 330 can determine the target processing queue into which the first message enters and place the first message into the target processing queue (i.e., enqueueing action). Alternatively, the behavior execution module 330 can control the target processing queue to perform message encapsulation on the first message (i.e., encapsulation action) and message sending, etc.
[0113] When performing a queue-action, the behavior execution module 330 can use any of the following queue modes: nearest mode, offset mode, and explicitly specified mode.
[0114] The nearest mode is a period determined based on the arrival period of the first message and the processing capacity of the entry node, and this period is used as the scheduling period of the target processing queue corresponding to the first message.
[0115] The offset mode is based on the arrival period of the first message determined by the period marking module 310, and the period is offset backward by a preset delay period as the scheduling period of the target processing queue corresponding to the first message.
[0116] For example, if the arrival period of the first message is T2, then shifting forward 3 periods from T2 to obtain T5, the scheduling period of the target processing queue corresponding to the first message can be determined to be T5. Here, the preset delay period is 3 periods; T represents one period (e.g., one time slot, or one data processing period).
[0117] The explicit specification mode determines the scheduling period of the target processing queue corresponding to the first message based on a preset period parameter. For example, if the preset period parameter is set to T4, the scheduling period of the target processing queue corresponding to the first message can be directly determined to be T4.
[0118] When performing the encapsulation action: the behavior execution module 330 encapsulates the first message using any of the following encapsulation modes:
[0119] First encapsulation mode: Replace the target sending period in the first message with the target period to generate the second message; wherein, the target period is the period during which the target processing node performs predetermined processing on the second message.
[0120] Second encapsulation mode: A preset forwarding cycle sequence is added to the first message to generate a second message; wherein, the preset forwarding cycle sequence includes multiple target processing nodes through which the second message passes and their corresponding predetermined transmission scheduling cycles. For example, after the second message is sent by the ingress node 300, it needs to pass through 3 target processing nodes, then the preset forwarding cycle sequence is represented as {T3,T1,T2}.
[0121] Where T3 indicates that the scheduled transmission period for the first target processing node is the third period; T1 indicates that the scheduled transmission period for the second target processing node is the first period; and T2 indicates that the scheduled transmission period for the third target processing node is the second period.
[0122] By using the aforementioned preset forwarding period, each target processing node can clearly determine within which period it needs to process the encapsulated first packet, thereby accelerating the processing speed of the first packet.
[0123] In some embodiments, the ingress node 300 may further include a flow identification module (not shown in the figure). The flow identification module is used to identify the message type of the received first message to determine the service flow to which the first message belongs. For example, the flow identification module can parse the first message to obtain the message feature fields of the first message (e.g., the message feature fields include at least one of the following: the source address of the first message, source port information, destination address, destination port information, message priority, the protocol type corresponding to the first message, the service tag to which the first message belongs, and the service flow identifier); then, based on the message feature fields of the first message, the first message is refined.
[0124] It should be noted that the location of the flow recognition module can be determined according to actual needs, and it is sufficient to ensure that the flow recognition module is executed before the behavior execution module 330.
[0125] In some embodiments, the periodic awareness module 320 and the behavior execution module 330 may be located on the user-side interface (UNI) or the network-side interface (Network Node Interface or Network to Network Interface, NNI).
[0126] In some embodiments, for a certain type of business flow data, a corresponding flow processing strategy can be set, and the flow processing strategy can be represented by the association relationship between the different modules mentioned above.
[0127] For example, a stream processing strategy that is periodically aware of a certain type of business stream data can be represented as: list<(stream identification module, periodic awareness module), behavior execution module>.
[0128] For example, for business flow data of type A, the corresponding flow processing strategy is represented as: list<(flow identification module a, periodic awareness module a), behavior execution module a>; for business flow data of type B, the corresponding flow processing strategy is represented as: list<(flow identification module b, periodic awareness module b), behavior execution module b>.
[0129] Here, 'a' and 'b' are used to distinguish modules with different configuration information. For example, flow identification module 'a' is used to identify service flow data of type A, and flow identification module 'b' is used to identify service flow data of type B, etc.
[0130] In some embodiments, the ingress node of the deterministic network can process different service flow data using different enqueue strategies (or dequeue strategies). The enqueue strategy includes enqueue actions performed by the behavior execution module, or encapsulation actions performed by the behavior execution module, etc.
[0131] Figure 4 This is a flowchart illustrating the implementation of an enqueueing strategy for an entry node in a deterministic network, as provided in an embodiment of this disclosure. Figure 4 As shown, this queuing strategy includes, but is not limited to, the following steps:
[0132] In step S401, when the ingress port of the ingress node receives the first message, the ingress port of the ingress node will use the periodic marking module to record the scheduling period when the first message is received, and use the scheduling period as the processing period of the first message.
[0133] The arrival period of the first message at the entry node is also the scheduling period recorded by the periodic marking module when the first message is received.
[0134] In step S402, the flow identification module parses the information of the first message to obtain the message type of the first message.
[0135] In step S403, the flow identification module determines whether the message type of the first message is the same as the type of the pre-configured target service flow.
[0136] If the message type of the first message is determined to be different from the type of the pre-configured target service flow, the service flow to which the first message belongs is determined not to be the target service flow, and step S405 is executed.
[0137] If the message type of the first message is determined to be the same as the type of the pre-configured target service flow, then the service flow to which the first message belongs is determined to be the target service flow, and step S404 is executed.
[0138] In step S404, the periodic marking module determines whether the processing period of the first message matches the target period.
[0139] If the processing cycle of the first message is different from the target cycle, proceed to step S405.
[0140] If the processing cycle of the first message is the same as the target cycle, continue to execute step S406.
[0141] In step S405, the behavior execution module discards the first message and terminates the process.
[0142] In step S406, the behavior execution module determines the target processing queue based on the processing cycle of the first message.
[0143] Since it is at the ingress port of the ingress node, the processing period for the first message is the arrival period of the first message. Correspondingly, the target processing queue can be any of the following queues: a queue whose scheduling period is the next period after the period determined by the arrival period of the first message and the processing capacity of the ingress node; a queue whose scheduling period is the period of a preset number of delay periods after the arrival period of the first message; or a queue whose scheduling period is the preset configured period.
[0144] Among them, the period determined based on the arrival period of the first message and the processing capacity of the entry node is the period at which the first message can be processed the fastest, determined based on the arrival period of the first message, and is the period at which the first message can be processed the fastest, determined based on the nearest mode.
[0145] For example, if the first message arrives at the ingress node's ingress port in period T2, and the ingress node parses and processes the first message, and determines that the worst-case period for processing the first message is T3, then the scheduling period of the target processing queue can be determined to be the next period after T3 (i.e., period T4), so that the ingress node can process the first message in period T4.
[0146] The preset delay period after the arrival period of the first message can be a period directly determined according to the preset configuration information (i.e., the period determined by the specified mode); the preset delay period after the arrival period of the first message can also be a period determined based on the offset mode.
[0147] For example, based on the offset mode, the second period can be obtained by offsetting m periods backward from the arrival period of the first message (e.g., period T2), where m represents the preset delay period number, which is an integer greater than or equal to 1.
[0148] In step S407, the behavior execution module puts the first message into the target processing queue.
[0149] Step S408: The target processing queue schedules and processes the first message.
[0150] The target processing queue can use a round-robin scheduling method to process multiple first messages placed in it, so as to obtain multiple processed first messages.
[0151] After the target processing queue completes the scheduling and processing of the first message, it can send the processed first message to the target processing node based on the preset dequeue strategy.
[0152] For example, Figure 5This is a flowchart illustrating the implementation of a dequeue strategy by an entry node in a deterministic network, as provided in an embodiment of this disclosure. Figure 5 As shown, the dequeue strategy includes, but is not limited to, the following steps.
[0153] In step S501, the periodic marking module in the output port of the ingress node extracts the first message from the target processing queue in a preset order, determines the current scheduling period of the first message, and uses the current scheduling period of the first message as its processing period.
[0154] In step S502, the periodic marking module determines whether the processing period of the first message matches the target period.
[0155] If the processing cycle of the first message is different from the target cycle, proceed to step S503.
[0156] If the processing cycle of the first message is the same as the target cycle, continue to execute step S504.
[0157] In step S503, the behavior execution module discards the first message and terminates the process.
[0158] In some embodiments, the behavior execution module may also process the first message using a nondeterministic message forwarding method.
[0159] In step S504, the behavior execution module encapsulates the processed first message using a preset encapsulation method corresponding to the target period to generate the second message.
[0160] The second message is the message that needs to be transmitted to the target processing node.
[0161] The preset packaging methods corresponding to the target cycle include: the first packaging mode, or the second packaging mode.
[0162] The first encapsulation mode calculates the target transmission scheduling period based on the arrival period of the first message; and generates the second message based on the target transmission scheduling period and the first message. Alternatively, the first encapsulation mode can also generate the second message based on the target period and the first message. In this case, the target period is the same as the target transmission scheduling period.
[0163] The target transmission scheduling period is the predetermined transmission scheduling period for the second message.
[0164] The second encapsulation mode is a mode that determines the predetermined transmission scheduling period of each target processing node based on the arrival period of the first message and the multiple target processing nodes that the first message needs to pass through; and adds the preset forwarding period sequence constructed based on the predetermined transmission scheduling periods of multiple target processing nodes into the first message to generate the second message.
[0165] For example, if the second message passes through two target processing nodes, the preset forwarding cycle sequence is represented as {T3, T1}. Here, T3 indicates that the predetermined sending scheduling cycle corresponding to the first target processing node is the third cycle; T1 indicates that the predetermined sending scheduling cycle corresponding to the second target processing node is the first cycle.
[0166] By using the aforementioned predetermined transmission scheduling period, each target processing node can clearly determine within which period it needs to process the encapsulated first message, thereby accelerating the processing speed of the first message.
[0167] In step S505, the ingress node's output port sends a second message to the target processing node.
[0168] It should be noted that the above-mentioned enqueue and dequeue strategies implemented by the entry node can be applied to use cases such as data flow control and data flow shaping to reduce the proportion of data congestion and provide better data services for other node devices.
[0169] In some embodiments, the ingress node can be configured with different flow processing strategies for different ports. For example, for non-periodic data packets, a different strategy can be adopted. Figure 6 The port configuration shown is used for stream processing.
[0170] Figure 6 This diagram illustrates the stream processing strategies configured for different ports in the entry node of a deterministic network, as provided in an embodiment of this disclosure. Figure 6 As shown, a first-flow processing strategy is configured on the service data input port A of the entry node: List1<Period Marking Module, (Flow Identification Module 1, Periodic Awareness Module 1), Behavior Execution Module 1>. A second-flow processing strategy is configured on the network-side output port B: List2<(Periodic Awareness Module 1), Behavior Execution Module 2>.
[0171] The configuration information corresponding to the flow identification module 1 includes: the five-tuple data in the deterministic service flow data A (for example, configuring the source IP address as 192.168.1.1; the source port number as 10000; the protocol type as TCP; the destination IP address as 121.14.88.76; and the destination port as 80).
[0172] Deterministic service flow data A is non-periodic data. When performing periodic matching on it, it is confirmed that any message belonging to deterministic service flow data A received in any period meets the matching requirements.
[0173] The configuration information corresponding to the cycle-aware module 1 includes: cycle-blind mode.
[0174] The configuration information corresponding to behavior execution module 1 includes: adopting the nearest mode, placing the packets belonging to the deterministic business flow data A into the target processing queue.
[0175] The configuration information corresponding to behavior execution module 2 includes: encapsulating messages using a replacement encapsulation method.
[0176] Correspondingly, the first-flow processing strategy includes: When business data input port A receives the first message a, if the queue being scheduled is the queue corresponding to period T2, the period marking module records the scheduling period when the first message a is received as T2, and uses period T2 as the arrival period of the first message a. Flow identification module 1 performs message parsing on the first message a to obtain the 5-tuple data of the first message a, and compares the 5-tuple data of the first message a with the 5-tuple data in the deterministic business flow data A configured in flow identification module 1. If all fields match, it determines that the first message a is a message that needs to be processed. Then, period awareness module 1 judges the arrival period T2 of the first message a. Since the configuration information corresponding to period awareness module 1 is period-insensitive mode, it determines that the first message a is a message that needs to be processed. Behavior execution module 1 places the first message a into the target processing queue with a scheduling period of T4 as the nearest. The target processing queue with a scheduling period of T4 is the queue that the network-side output port B needs to use.
[0177] It should be noted that after the first message a arrives at the service data input port A in the entry node in T2, the entry node parses and processes the first message a and determines that the earliest period to start processing the first message a is T3. Then, it can be determined that the first message a will be placed into the target processing queue corresponding to the next period of T3 (i.e., T4), and the first-stream processing strategy ends.
[0178] The second-stream processing strategy includes: In network-side output port B, the periodicity awareness module 1, based on its corresponding configuration information, determines that the processed first packet a retrieved from the target processing queue is non-periodic data, and therefore determines that the processed first packet a needs to be processed again by the behavior execution module 2. The behavior execution module 2 uses the first encapsulation mode to replace the target transmission period in the processed first packet a with period T4, generating a second packet; and then sends the second packet to the target processing node.
[0179] For example, for periodic data messages, the following can be used: Figure 7 The port configuration shown is used for stream processing.
[0180] Figure 7 This diagram illustrates the stream processing strategies configured for different ports in the entry node of a deterministic network, as provided in an embodiment of this disclosure. Figure 7As shown, a third stream processing strategy is configured on the business data input port C of the entry node: List3<period marking module, (stream identification module 2, period perception module 2), behavior execution module 3>.
[0181] A fourth stream processing strategy is configured on the network-side output port D: List4<(Period Awareness Module 3), Behavior Execution Module 4>; List5<(Period Awareness Module 4), Behavior Execution Module 5>.
[0182] The configuration information corresponding to the flow identification module 2 includes: a preset flow identifier. For example, the flow identifier of deterministic service flow B is pre-configured as VLAN-ID=100; VLAN-ID means that the identifier (ID) of the Virtual Local Area Network (VLAN) corresponding to deterministic service flow B is used as the flow identifier.
[0183] The configuration information corresponding to the cycle-aware module 2 includes: cycle-blind mode, with a predetermined transmission scheduling period of T2 and T6; the configuration information corresponding to the cycle-aware module 3 includes: cycle-blind mode, with a predetermined transmission scheduling period of T5; the configuration information corresponding to the cycle-aware module 4 includes: cycle-blind mode, with a predetermined transmission scheduling period of T1.
[0184] The first message b, which belongs to the deterministic business flow data B, has 8 cyclic scheduling periods, namely T0, T1, T2, T3, T4, T5, T6, and T7.
[0185] The configuration information corresponding to behavior execution module 3 includes: based on the offset mode, placing the packets belonging to the deterministic business flow data B into the target processing queue; wherein, the preset delay period number corresponding to the offset mode is 3;
[0186] The configuration information corresponding to behavior execution module 4 includes: encapsulating the packets output by the target processing queue using the second encapsulation mode; wherein, the preset forwarding cycle sequence used in behavior execution module 4 can be set to {T4,T1,T0}.
[0187] The configuration information corresponding to the behavior execution module 5 includes: encapsulating the packets output by the target processing queue using the second encapsulation mode; wherein, the preset forwarding cycle sequence used in the behavior execution module 4 can be set to {T0,T5,T4}.
[0188] The preset forwarding cycle sequence used in behavior execution module 5 and the preset forwarding cycle sequence used in behavior execution module 4 each correspond to a fixed offset (e.g., 4 cycles). That is, message b processed by the T4 cycle in behavior execution module 4 is processed by the T0 cycle in the next cycle in behavior execution module 5; message b processed by the T1 cycle in behavior execution module 4 is processed by the T5 cycle in behavior execution module 5; and message b processed by the T0 cycle in behavior execution module 4 is processed by the T4 cycle in behavior execution module 5.
[0189] The third-flow processing strategy includes: when the service data input port C receives the first message b, if the queue being scheduled at this time is the queue corresponding to period T2, then the scheduling period when receiving the first message b is recorded as T2 by the period marking module, and period T2 is used as the processing period of the first message b.
[0190] The flow identification module 2 parses the first message b to obtain the flow identifier of the first message b, and compares the flow identifier of the first message b with the preset flow identifier in the flow identification module 2. If the flow identifier of the first message b is the same as the preset flow identifier in the flow identification module 2, it is determined that the first message b is a message that needs to be processed. The periodicity sensing module 2 judges the processing period T2 of the first message b. Since the configuration information corresponding to the periodicity sensing module 2 is periodic sensitive mode, and the predetermined sending scheduling period is T2 and T6, the processing period T2 of the first message b arriving at T2 is the same as T2 in the predetermined sending scheduling period, and it is confirmed that it meets the requirements.
[0191] It should be noted that if the processing period of the first message b is T1 (arriving earlier than T2) or T3 (arriving later than T2), the period sensing module 2 will determine that the first message b is an unacceptable message. In this case, the first message b will be discarded and the process will end.
[0192] Furthermore, based on the offset mode, the behavior execution module 3 puts the first message b into the target processing queue with a scheduling period of T5 (i.e., offsetting T2 by 3 cycles), and the third stream processing strategy ends.
[0193] It should be noted that all messages from the deterministic business flow B received by the business data input port C are processed according to the third flow processing strategy mentioned above, while only messages arriving in periods T2 and T6 are placed into the corresponding target processing queue by the behavior execution module 3.
[0194] The fourth-flow processing strategy includes the following: After the first packet b is processed by the target processing queue, since the scheduling period T5 of the target processing queue matches the configuration information corresponding to the period awareness module 3 (i.e., period-sensitive mode, with a predetermined sending scheduling period of T5), the behavior execution module 4 in List4 can be used to encapsulate the processed first packet b. Correspondingly, the behavior execution module 4 uses the second encapsulation mode to encapsulate the processed first packet b output by the target processing queue, that is, encapsulating the preset forwarding period sequence {T4, T1, T0} into the processed first packet b, thereby generating a second packet, and sending the second packet to the next-level target processing node, thus ending the fourth-flow processing strategy.
[0195] It should be noted that the network-side output port D processes all packets output from the target processing queue corresponding to the incoming scheduling cycle according to the fourth flow processing strategy mentioned above. Only packets arriving in cycles T1 (i.e., the configuration cycle corresponding to cycle sensing module 4) and T5 (i.e., the configuration cycle corresponding to cycle sensing module 3) will be processed by the corresponding behavior execution module.
[0196] By employing the different stream processing strategies described above to process the first message b, it is possible to process different messages in the deterministic business flow B accordingly. This allows messages that meet different scheduling periods to be placed into the corresponding target processing queues. Then, the corresponding behavior execution module is used to further encapsulate and process the messages output from the target processing queues, thereby improving the processing speed of different messages.
[0197] Fourthly, embodiments of this disclosure provide an entry node, a computer-readable medium, and a computer program product.
[0198] Figure 8 This is a block diagram illustrating the composition of an entry node according to an embodiment of this disclosure. The entry node is the entry node of a deterministic network.
[0199] like Figure 8 As shown, the entry node includes at least one processor 801, at least one memory 802, and one or more I / O interfaces 803. The processor 801, memory 802, and I / O interfaces 803 are interconnected via a bus 804. The memory 802 stores one or more computer programs, which are executed by the at least one processor 801 to enable the at least one processor 801 to implement any of the message processing methods described in the above embodiments.
[0200] Each module in the aforementioned entry node can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0201] This disclosure also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements any of the message processing methods described in the above embodiments. The computer-readable storage medium may be a volatile or non-volatile computer-readable storage medium.
[0202] This disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of the entry node, the processor in the entry node executes the above-described message processing method.
[0203] Those skilled in the art will understand that all or some of the steps, systems, and devices disclosed above, as well as the functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components.
[0204] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable program instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0205] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0206] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0207] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0208] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0209] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0210] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0211] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, the execution order of which may be determined based on the functions involved in each block. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0212] Example embodiments have been disclosed herein, and while specific terminology has been used, it is intended and should be interpreted only in a general illustrative sense and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure.
Claims
1. A packet processing method applied to an ingress node of a deterministic network, comprising: obtaining a first packet and a processing period corresponding to the first packet; in a case where the processing period of the first packet matches a target period, processing the first packet by using a preset packet processing strategy corresponding to the target period.
2. The method of claim 1, wherein, The first packet is a packet received by an ingress port of the ingress node. The obtaining of the first packet and the processing period corresponding to the first packet comprises: receiving the first packet and taking an arrival period of the first packet as the processing period of the first packet, the arrival period of the first packet being a scheduling period at which the first packet is received. The processing of the first packet by using the preset packet processing strategy corresponding to the target period in the case where the processing period of the first packet matches the target period comprises: in a case where the arrival period of the first packet is the same as the target period, processing the first packet by using a processing mode corresponding to the arrival period of the first packet.
3. The method of claim 2, wherein, The processing of the first packet by using the processing mode corresponding to the arrival period of the first packet comprises: determining a target processing queue according to the arrival period of the first packet; and putting the first packet into the target processing queue.
4. The method of claim 3, wherein, The target processing queue is any one of the following queues: The target processing queue is a queue in which a next period of a period determined according to the arrival period of the first packet and a processing capability of the ingress node is a scheduling period. The target processing queue is a queue in which a period obtained by adding a preset number of delay periods to the arrival period of the first packet is a scheduling period. The target processing queue is a queue in which a preset configuration period is a scheduling period.
5. The method of claim 1, wherein, The first packet is a packet received by an egress port of the ingress node. The obtaining of the first packet and the processing period corresponding to the first packet comprises: obtaining the first packet and determining a period in which the first packet is currently scheduled. The processing of the first packet by using the preset packet processing strategy corresponding to the target period in the case where the processing period of the first packet matches the target period comprises: in a case where the period in which the first packet is currently scheduled is the same as the target period, encapsulating the first packet by using a preset encapsulation mode corresponding to the target period to generate a second packet, the second packet being a packet for transmission to a target processing node.
6. The method of claim 5, wherein, The encapsulation of the first packet by using the preset encapsulation mode corresponding to the target period to generate the second packet comprises: generating the second packet according to the target period and the first packet, the target period being a predetermined sending scheduling period of the second packet; or determining a preset forwarding period sequence according to the target period and adding the preset forwarding period sequence to the first packet to generate the second packet. The method further comprises:
7. The method of claim 1, wherein, in a case where the processing period of the first packet does not match the target period, discarding the first packet or processing the first packet by using a non-deterministic packet forwarding mode. 8. An ingress node, which is an ingress node of a deterministic network, comprising: a memory and a processor; the memory stores a computer program capable of being executed by the processor, and the computer program, when executed by the processor, implements the packet processing method according to any one of claims 1 to 7.
9. A computer readable medium, which stores a computer program, and the computer program, when executed by a processor, implements the packet processing method according to any one of claims 1 to 7.
10. A computer program product, which comprises a computer program, and the computer program, when executed by a processor, implements the packet processing method according to any one of claims 1 to 7.