Routing path determination method, apparatus, device, medium, and program product
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA UNITED NETWORK COMM GRP CO LTD
- Filing Date
- 2026-05-20
- Publication Date
- 2026-08-04
AI Technical Summary
[0004]然而,由于网络状态感知依赖于周期性的轮询或探测,所获状态信息存在滞后性和粗粒度问题,导致业务在网络中的传输性能保障不稳定
[0007] The technical solution provided in this application brings at least the following benefits: by obtaining business information, accurately analyzing business requirements, filtering routing paths in the network according to business requirements, and ultimately meeting the differentiated needs of different application scenarios of the Industrial Internet for network deterministic services, thereby improving the refined deterministic transmission of various industrial businesses in the same network.
Smart Images

Figure CN122513331A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device, medium, and program product for determining a routing path. Background Technology
[0002] With the rapid development of the Industrial Internet, the requirements for determinism, real-time performance, and business adaptability in network transmission are increasing.
[0003] To meet the transmission requirements of the Industrial Internet, a typical solution in related technologies is a routing optimization method based on network awareness and centralized control. The key steps of this method include: First, the controller periodically polls network devices or receives probe packets to collect network link status (such as latency and bandwidth). Second, the service requirements (such as "low latency") are matched with the collected network status. Finally, based on the matching results, the controller calculates and distributes the transmission path and forwarding strategy that meets the requirements.
[0004] However, since network state awareness relies on periodic polling or probing, the obtained state information has problems of lag and coarse granularity, resulting in unstable transmission performance of services in the network. Summary of the Invention
[0005] This application provides a routing path determination method to improve the stability of service transmission performance in the network.
[0006] In a first aspect, embodiments of this application provide a routing path determination method, which includes: obtaining service information of a first service and a first routing node topology map; the service information includes: service requirement information and service latency information, the service requirement information includes: service source address, service destination address, and minimum bandwidth required by the service, and the service latency information includes: minimum service latency and maximum service latency; the first routing node topology map includes N first routing nodes, where N is an integer greater than 1; based on the service requirement information, filtering the routing nodes in the first routing node topology map to obtain a second routing node topology map, the second routing node topology map including at least two second routing nodes that satisfy the service requirement information; using the service latency information as a constraint, performing path search based on the second routing node topology map to determine a first routing path that satisfies both the service latency information and the service requirement information.
[0007] The technical solution provided in this application brings at least the following benefits: by obtaining business information, accurately analyzing business requirements, filtering routing paths in the network according to business requirements, and ultimately meeting the differentiated needs of different application scenarios of the Industrial Internet for network deterministic services, thereby improving the refined deterministic transmission of various industrial businesses in the same network.
[0008] One possible implementation involves using service latency information as a constraint and performing path lookup based on the second routing node topology to determine a first routing path that satisfies both the service latency information and the service requirement information. This includes: when the service type of the first service is a first service type, detecting a second routing path in the second routing node topology based on the latency information corresponding to all routing nodes in the second routing node topology; the second routing path has the shortest latency, and the latency of the first routing path is less than the longest service latency, and the first service type is a mixed constraint type or a latency constraint type; when a second routing path is detected in the second routing node topology, performing path lookup based on the second routing node topology with service latency information as a constraint to determine a first routing path that satisfies both the service latency information and the service requirement information.
[0009] Another possible implementation is as follows: using service latency information as a constraint, the path is searched based on the second routing node topology to determine the first routing path that satisfies both the service latency information and the service requirement information. This includes: when the service type is the second service type, using service latency information as a constraint, the path is searched based on the second routing node topology to determine the first routing path that satisfies both the service latency information and the service requirement information.
[0010] Another possible implementation involves using service latency information as a constraint and performing path lookup based on the second routing node topology to determine a first routing path that satisfies both the service latency information and the service requirements. This includes: starting with the node corresponding to the service source address as the starting node and ending with the node corresponding to the service destination address as the ending node, and using service latency information as a constraint, sequentially traversing all routing nodes in the second routing node topology to determine at least one routing path; calculating a score for each routing path based on the cumulative latency information, path hop count, and path bottleneck bandwidth; and selecting the routing path with the lowest score as the routing path that satisfies the first service requirement.
[0011] Another possible implementation, the above-mentioned acquisition of the first routing node topology map includes: acquiring the shortest single-hop latency, longest single-hop latency, and available bandwidth of each adjacent routing device among N routing devices, with one routing device corresponding to one routing node; and constructing the first routing node topology map based on the shortest single-hop latency, longest single-hop latency, and available bandwidth of each adjacent routing device.
[0012] Secondly, embodiments of this application provide a routing path determination apparatus, including: an acquisition module, a filtering module, and a search module. The acquisition module is used to acquire service information of a first service and a first routing node topology map; the service information includes: service requirement information and service latency information, the service requirement information including: service source address, service destination address, and minimum bandwidth required by the service, and the service latency information including: minimum service latency and maximum service latency; the first routing node topology map includes N first routing nodes, where N is an integer greater than 1. The filtering module is used to filter the routing nodes in the first routing node topology map based on the service requirement information to obtain a second routing node topology map, the second routing node topology map including at least two second routing nodes that satisfy the service requirement information. The search module is used to perform path searching based on the second routing node topology map, using the service latency information as a constraint, to determine a first routing path that satisfies both the service latency information and the service requirement information.
[0013] In one possible implementation, the search module is further configured to, when the service type of the first service is the first service type, detect a second routing path in the second routing node topology graph based on the latency information corresponding to all routing nodes in the second routing node topology graph; the second routing path has the shortest latency and the latency corresponding to the first routing path is less than the longest service latency, and the first service type is a mixed constraint type or a latency constraint type; when a second routing path is detected in the second routing node topology graph, a path search is performed based on the second routing node topology graph with the service latency information as a constraint condition to determine the first routing path that satisfies the service latency information and the service requirement information.
[0014] In another possible implementation, the above-mentioned search module is also used to determine the first routing path that satisfies the business delay information and business requirement information by performing path search based on the second routing node topology map, when the business type is the second business type, based on the business delay information as a constraint.
[0015] In another possible implementation, the above-mentioned lookup module is also used to traverse all routing nodes in the second routing node topology graph sequentially, with the node corresponding to the service source address as the starting node, the node corresponding to the service destination address as the ending node, and the service latency information as the constraint condition, to determine at least one routing path in the second routing node topology graph; and to calculate the score corresponding to each routing path based on the cumulative latency information, path hop count, and path bottleneck bandwidth corresponding to each routing path.
[0016] In another possible implementation, the aforementioned acquisition module is further used to obtain the shortest single-hop latency, longest single-hop latency, and available bandwidth corresponding to each of the N routing devices, with each routing device corresponding to one routing node; based on the shortest single-hop latency, longest single-hop latency, and available bandwidth corresponding to each of the N routing devices, a first routing node topology map is constructed. The routing path with the lowest score is selected as the routing path that satisfies the first service.
[0017] Thirdly, this application provides an electronic device comprising: a processor and a memory; the memory stores a program or instructions executable on the processor, wherein the program or instructions, when executed by the processor, implement the method of the first aspect described above.
[0018] Fourthly, this application provides a readable storage medium on which a program or instructions are stored, which, when executed by a computer, implement the method of the first aspect described above.
[0019] Fifthly, this application provides a computer program product stored in a storage medium, which, when executed by a computer, implements the method described in the first aspect.
[0020] In a sixth aspect, embodiments of this application provide a chip including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the method described in the first aspect.
[0021] The beneficial effects of the second to sixth aspects mentioned above are described in the corresponding description of the first aspect and will not be repeated here. Attached Figure Description
[0022] Figure 1 A schematic diagram of the network architecture for an application of a routing path determination method provided in this application embodiment;
[0023] Figure 2 A flowchart illustrating a routing path determination method provided in an embodiment of this application;
[0024] Figure 3 A flowchart illustrating another routing path determination method provided in this application embodiment;
[0025] Figure 4 This application provides a schematic diagram of a network state awareness process.
[0026] Figure 5 This is a schematic diagram of a network state awareness detection data packet provided in an embodiment of this application;
[0027] Figure 6A flowchart illustrating another routing path determination method provided in this application embodiment;
[0028] Figure 7 A schematic diagram of a candidate path enumeration algorithm provided in this application embodiment;
[0029] Figure 8 This is a schematic diagram of a path verification probe data packet provided in an embodiment of this application;
[0030] Figure 9 A schematic diagram illustrating yet another routing path determination method provided in an embodiment of this application;
[0031] Figure 10 A flowchart illustrating another routing path determination method provided in this application embodiment;
[0032] Figure 11 This is a schematic diagram of the structure of a routing path determination device provided in an embodiment of this application;
[0033] Figure 12 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0034] The routing path determination method, apparatus, equipment, medium, and program products provided in this application will now be described in detail with reference to the accompanying drawings.
[0035] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0036] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0037] The terms "at least one," "at least one of," etc., used in the specification and claims of this application refer to any one, any two, or a combination of two or more of the included items. For example, at least one of a, b, and c can mean: "a," "b," "c," "a and b," "a and c," "b and c," and "a, b, and c," where a, b, and c can be single or multiple. Similarly, "at least two" refers to two or more items, and its meaning is similar to that of "at least one."
[0038] In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0039] The routing path determination method, apparatus, device, medium, and program product provided in this application embodiment can be applied in business execution scenarios.
[0040] Currently, with the rapid development of the Industrial Internet, the requirements for determinism, real-time performance, and business adaptability in network transmission are increasing.
[0041] To meet the transmission requirements of the Industrial Internet, existing technologies mainly cover three core solutions: Industrial Ethernet protocols, 5G uRLLC-related mechanisms, and "network awareness + routing decision" transmission optimization solutions. Their core content and common shortcomings are as follows:
[0042] Industrial Ethernet protocols ensure determinism through data link layer scheduling or topology configuration. For example, PROFINET Isochronous Real-Time (PROFINET IRT) divides real-time and non-real-time communication stages and uses time slicing to allocate fixed time slots. Ethernet / Industrial Protocol (EtherNet / IP) combines IEEE 1588 precise time synchronization with priority queues and bandwidth reservation mechanisms. Modbus TCP / IP Communication Protocol (Modbus TCP) relies on dedicated networks, fixed topologies, and master-slave communication cycle configuration to achieve time controllability. Ultra-Reliable Low-Latency Communication (5G uRLLC) focuses on both the radio side and the network architecture. On the radio side, latency is reduced through micro-slots / mini-slots and Hybrid Automatic Repeat reQuest (HARQ). On the network side, resources are divided into logically isolated segments using slicing technology, and end-to-end Quality of Service (QoS) is guaranteed by combining Software Defined Networking / Network Function Virtualization (SDN / NFV). In routing optimization schemes, Su et al. obtained network status by probing packets and selected paths to match business requirements; Egilmez divided QoS flows and best-effort flows based on SDN controllers to adapt to bandwidth or latency constraints; Awduche relied on Multiprotocol Label Switching (MPLS) traffic engineering to statically reserve bandwidth; and Yaseen pointed out that traditional Simple Network Management Protocol (SNMP) polling and other perception mechanisms have problems such as coarse granularity and insufficient real-time performance.
[0043] In summary, while existing technologies can meet the needs of some scenarios, they suffer from three major drawbacks: First, they struggle to strictly guarantee deterministic business metrics, often focusing on optimization targets such as minimum latency and maximum bandwidth, lacking precise constraints on upper and lower bounds for latency and lower limits for bandwidth. Second, there is insufficient matching between business requirements and network conditions, with business classification being coarse or relying on static configurations, failing to dynamically adapt to the differences between the two. Third, the granularity of network condition perception is coarse and lacks real-time performance, making it difficult to capture multi-dimensional changes in dynamic networks, unable to provide fine-grained support for routing and scheduling, and failing to meet the differentiated deterministic transmission needs of the Industrial Internet.
[0044] To address the aforementioned technical issues, embodiments of this application provide a routing path determination method, apparatus, device, medium, and program product. By acquiring business information, it accurately analyzes business requirements and filters routing paths in the network based on these requirements. Ultimately, it meets the differentiated needs of different industrial internet application scenarios for network deterministic services, thereby improving the refined deterministic transmission of various industrial services within the same network.
[0045] The routing path determination method, apparatus, device, medium, and program products provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0046] Figure 1 This illustration shows a network architecture for an application of a routing path determination method provided in an embodiment of this application. For example... Figure 1 As shown, the network architecture includes a routing path determination device 101 and a terminal device 102. The routing path determination device 101 and the terminal device 102 are interconnected.
[0047] In some embodiments, the routing path determination device 101 may be a server, a computer, or a processor or processing unit within a server or computer. The server may be a single server or a server cluster comprising multiple servers. It should be noted that the embodiments of this application do not limit the specific device form of the routing path determination device 101. Figure 1 The routing path determination device 101 is shown as a single server as an example.
[0048] In some embodiments, the terminal device may be a mobile phone, tablet computer, laptop computer, handheld computer, in-vehicle electronic device, mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, personal computer (PC), ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc., and the embodiments of this application do not specifically limit it. Figure 1 The example shown is a mobile phone, with terminal device 102 as an example.
[0049] In some embodiments, the terminal device 102 sends service information and network status awareness information of a first service to the routing path determination device 101. The service information includes service requirement information and service latency information. The service requirement information includes the service source address, the service destination address, and the minimum bandwidth required by the service. The service latency information includes the shortest service latency and the longest service latency. Next, the routing path determination device 101 constructs a first routing node topology map based on the network status awareness information. Based on the service requirement information, the routing path determination device 101 filters the routing nodes in the first routing node topology map to obtain a second routing node topology map. The second routing node topology map includes at least two second routing nodes that satisfy the service requirement information. Finally, using the service latency information as a constraint, the device performs path lookup based on the second routing node topology map to determine a first routing path that satisfies both the service latency information and the service requirement information.
[0050] It should be noted that the network architecture described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As network architectures evolve, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0051] See Figure 2 This is a flowchart illustrating a routing path determination method provided in an embodiment of this application. Figure 2 As shown, the routing path determination method provided in this application embodiment can be implemented by the above-mentioned routing path determination device, specifically including the following steps 201 to 203.
[0052] Step 201: The routing path determination device obtains the service information of the first service and the topology map of the first routing node.
[0053] In some embodiments, the above-mentioned service information includes: service requirement information and service latency information. The service requirement information includes: service source address, service destination address, and minimum bandwidth required by the service. The service latency information includes: minimum service latency and maximum service latency. The first routing node topology map includes N first routing nodes, where N is an integer greater than 1.
[0054] For example, the above services can be: hybrid constraint services: having both latency upper limit and bandwidth lower limit requirements (e.g., real-time monitoring services); latency constraint services: having a defined end-to-end latency range (e.g., industrial equipment control flow); bandwidth guarantee services: requiring continuous minimum bandwidth (e.g., high-definition video distribution or data backup); best effort services: not requiring deterministic guarantees from the network (e.g., log reporting or ordinary data access).
[0055] In some embodiments, combined with Figure 2 ,like Figure 3 As shown, step 201 above can be implemented through steps 201a to 201c.
[0056] Step 201a: The routing path determination device obtains the service information of the first service.
[0057] In some embodiments, when a service flow enters the network, the user terminal first connects to the switch and submits a Service Level Agreement (SLA) registration request parameter to the routing path determination device. ,in, For business flow ID, For the source address of the data packet, For the destination address of the data packet, For the minimum end-to-end latency required for data packets, For the longest delay and This is the minimum bandwidth.
[0058] Step 201b: The routing path determination device obtains the shortest single-hop delay, longest single-hop delay, and available bandwidth of each adjacent routing device among the N routing devices. One routing device corresponds to one routing node.
[0059] In some embodiments, the routing path determination device enables the network to perceive link performance in real time at a single-hop granularity by periodically and proactively sending probe packets to its neighboring nodes at each switch.
[0060] For example, such as Figure 4 As shown, for the specific details of step 201b above, please refer to the complete process description S41-S46 below.
[0061] S41: Each switch constructs a probe data packet.
[0062] S42: Each switch sends probe data packets to neighboring nodes.
[0063] S43: Neighboring nodes write their own state information into the probe data packet.
[0064] S44: The neighboring node sends the probe data packet to the controller.
[0065] S45: The controller parses data packets and calculates link state parameters.
[0066] S46: The controller updates the network status data table.
[0067] For example, such as Figure 5 As shown, each routing device can send a single-hop probe packet to its neighboring nodes within a set period. This single-hop probe packet carries the sender's timestamp, node identifier (ID), and port ID. Since the data packet length is fixed, the sender pre-sets a reserved padding field in the data packet to carry the response information of the neighboring nodes when generating the probe data packet. After receiving the probe data packet, the neighboring node modifies the padding field to a field that records its own node information, including the receiving timestamp, node identifier, port identifier, and port occupancy rate. Finally, the data packet is reported to the routing path determination device. After receiving the data packet sent by the data plane, the routing path determination device first parses the data packet and calculates the link delay and bandwidth based on the timestamps in the source node information and neighboring node information in the data packet using the following formulas (1) and (2):
[0068]
[0069]
[0070] in, For link latency, For bandwidth.
[0071] Then, the routing path determination device calculates the maximum link delay within a specified window period. Minimum value and mean And calculate the average bandwidth of the links within that window. Available bandwidth as a link.
[0072] Step 201c: The routing path determination device constructs a first routing node topology map based on the shortest single-hop delay, longest single-hop delay, and available bandwidth of each adjacent routing device.
[0073] In some embodiments, the routing path determination device stores the above three indicators in a network state data table, and abstracts the network topology into a dynamically updated weighted graph based on the above data, with each edge... There are three metrics: upper and lower bounds of single-hop latency, and available bandwidth.
[0074] In this way, by calculating network transmission latency and bandwidth in real time, a fine-grained matching mechanism between service transmission requirements and the real-time status of network links can be established, reducing the mismatch between the expression of service requirements and network capabilities.
[0075] Step 202: The routing path determination device filters the routing nodes in the first routing node topology map based on the service requirement information to obtain the second routing node topology map.
[0076] In some embodiments, the aforementioned second routing node topology includes at least two second routing nodes that satisfy the service requirement information.
[0077] For example, the routing path determination device first constructs a subgraph of the network topology based on the bandwidth constraints of the service, and excludes links that do not meet the minimum bandwidth requirements.
[0078] For example, the routing path determination device obtains the current weighted network state graph representing the network topology from the network state data table. Each link Maximum delay Minimum delay Average latency The first step is to prune the subgraph according to bandwidth constraints, cutting off links that do not meet bandwidth requirements. This is necessary if the service has bandwidth constraints. Remove all: average loan amount less than minimum bandwidth The edges are used to obtain the clipping pattern. If there are no bandwidth constraints, then .
[0079] Step 203: The routing path determination device uses service delay information as a constraint and performs path search based on the second routing node topology map to determine the first routing path that satisfies both the service delay information and the service requirement information.
[0080] In some embodiments, the routing path determination device may perform a preliminary check on whether there is a path that meets the service bandwidth requirements under the current network conditions, and then further search for candidate paths between the source node and the destination node within the feasible topology range based on service requirement constraints.
[0081] In some embodiments, combined with Figure 2 ,like Figure 6As shown, step 203 above can be implemented through steps 203a1 to 203c3.
[0082] Step 203a1: When the service type of the first service is the first service type, the routing path determination device detects the second routing path in the second routing node topology map based on the delay information corresponding to all routing nodes in the second routing node topology map; the delay corresponding to the second routing path is the shortest and the delay corresponding to the first routing path is less than the longest service delay, and the first service type is a mixed constraint type or a delay constraint type.
[0083] In some embodiments, the routing path determination device performs a coarse check on the latency feasibility of the static graph of the network topology, and for services with latency constraints, performs a second routing node topology graph... The first step involves calculating a theoretical minimum latency path using the minimum latency as the weight, thus obtaining the theoretical minimum latency path. If the theoretical minimum latency path is greater than the maximum latency required by the service, then it is considered that the current network cannot theoretically meet the latency constraint and an error message is directly returned. The above two steps together construct the constraint-aware graph construction submodule.
[0084] Step 203a2: When the routing path determination device detects that a second routing path exists in the second routing node topology map, it uses service delay information as a constraint and performs path search based on the second routing node topology map to determine a first routing path that satisfies both the service delay information and the service requirement information.
[0085] In some embodiments, the routing path determination device first reads the network state data table and assigns each link... Average latency The edge weights are set as edge weights, and based on these, paths that satisfy latency constraints are found in the network topology after bandwidth and latency pruning. This embodiment employs a depth-first search (DFS) method based on latency pruning, aiming to enumerate all end-to-end cumulative latencies falling within a specified interval. Feasible paths within.
[0086] Step 203b: When the service type is the second service type, the routing path determination device performs path search based on the second routing node topology map, using service delay information as a constraint, to determine the first routing path that satisfies both the service delay information and the service requirement information.
[0087] In some embodiments, the routing path determination device uses a depth-first search algorithm to find a path that satisfies the latency constraint in the network topology graph after bandwidth clipping.
[0088] Step 203c1: The routing path determination device takes the node corresponding to the service source address as the starting node, the node corresponding to the service destination address as the ending node, and the service delay information as the constraint condition, and sequentially traverses all routing nodes in the second routing node topology graph to determine at least one routing path in the second routing node topology graph.
[0089] In some embodiments, such as Figure 7 As shown, the algorithm first performs initialization settings, setting the set of feasible paths. Set to an empty set and change the current path With the set of visited nodes Initialized to contain only the source node At the same time, set the current cumulative latency. If the value is 0, a recursive search is initiated, starting from the source node. During the search process, the algorithm traverses the current node. All outgoing edges and their corresponding adjacent nodes For each adjacent node, the system first checks whether it already exists. If a loop already exists in the set, it is considered a loop and skipped to avoid an infinite loop.
[0090] For example, if adjacent nodes If the link is not visited, the routing path determination device calculates the expected cumulative delay after passing through it. That is, the current delay Add link Average latency At this point, the algorithm performs a crucial delay upper bound pruning judgment: if It has exceeded the upper limit of the latency set by the business. This indicates that no matter how the branch path is extended subsequently, it cannot meet the latency requirement, so the search in this direction is stopped directly; conversely, if If the upper bound is not exceeded, then the node will be... Add to current path and visited sets In, and determine the node Is it the destination node? .
[0091] For example, if node This is the destination node, and the system further verifies it. Is it greater than or equal to the lower bound of the delay? Only when the conditions are met Only when the current path is copied is a copy added to the feasible path set. In the middle; if node If it is not the destination node, then... The search process is recursively called to continue expanding downwards for the new current node. When the node... After all subsequent branches have completed traversal or returned from recursive calls, the algorithm performs a backtracking operation, moving the nodes... from and Remove it from the set, thus restoring the search state to the previous level and ensuring that other potential branches in the graph can continue to be traversed. Finally, when all possible paths to the source node have been explored, if If the set is empty, an error message is returned and business access is rejected; if the set is not empty, the set is output for subsequent modules to perform path verification and scoring.
[0092] Step 203c2: The routing path determination device calculates the score for each routing path based on the cumulative delay information, path hop count, and path bottleneck bandwidth corresponding to each routing path.
[0093] In some embodiments, after completing the multi-constraint path search, the routing path determination device needs to analyze the candidate path set. Each path in Initiate in-band network telemetry (INT) field tests to eliminate theoretically feasible but actually congested paths and select the optimal path.
[0094] For example, the routing path determination device is constructed as follows Figure 8 The path verification probe message shown contains a path identifier encapsulated in its header. (Unique identifier of the candidate path currently being verified), segment routing list (indicating the strict forwarding path of probe packets), service SLA parameters (including lower bound of latency). Upper limit of latency Bandwidth minimum and business types In addition, the message also reserves telemetry data fields, including cumulative end-to-end latency. Minimum remaining bandwidth along the route and default flag Subsequently, the routing path determination device sends probe messages based on the segment routing mechanism, ensuring that the actual future business flow is transmitted through the exact same physical path, thus guaranteeing the authenticity of the test results.
[0095] When the probe packet passes through each intermediate forwarding node on the path, the node executes the following processing logic:
[0096] (1) Delay accumulation: Calculate the queuing and forwarding delay of this hop and add it to the packet header. In the field.
[0097] (2) Bottleneck bandwidth update: Detect the real-time remaining bandwidth of the outgoing port of this node. If it is lower than the bandwidth recorded in the message... If so, update the field with the current value to record the "short-board" bandwidth of the entire path.
[0098] (3) Default determination: If a node discovers the updated It has exceeded the upper limit allowed by business operations. Or the current link bandwidth is lower than the business requirements. Then directly set the default flag. Set.
[0099] Then, after the probe message returns to the routing path determination device, the system checks the violation flag and the measured data. If a certain path... of If the bit is set, or if the measured metrics do not meet the SLA constraints, the path is determined to be unavailable in the current network state and removed from the list. Remove from the list.
[0100] Finally, in order to select the optimal transmission path from the remaining verified paths, this invention defines the following multidimensional cost function:
[0101]
[0102] in, For the transmission cost of the path, Cumulative end-to-end delay obtained from in-band telemetry , This represents the number of hops in the path. For path bottleneck bandwidth obtained by telemetry ; , , These are the weighting coefficients for latency, hop count, and bandwidth, respectively (the default value for each is 1).
[0103] This ensures that the final selected path is not only theoretically feasible, but also strictly meets the latency and bandwidth deterministic requirements of the service in the actual network operating environment.
[0104] Step 203c3: The routing path determination device selects the routing path with the lowest score as the routing path that satisfies the first service.
[0105] In some embodiments, the routing path determination device calculates the cost of each valid candidate path according to the above function and selects... The path with the shortest length is taken as the final deterministic transmission path for this service.
[0106] In some embodiments, when determining the optimal transmission path Subsequently, the routing path determination device performs path distribution operations, responsible for generating and deploying dedicated flow table entries for each hop switching node on the path to construct an end-to-end deterministic transmission channel. Specifically, the flow table rules constructed by the routing path determination device include strictly defined matching and action fields: regarding the matching field, the system integrates the five-tuple information of the service (source address, destination address, source port, destination port, protocol number) and the service identifier. As a combined matching condition, it ensures that network nodes can accurately identify target service data packets from mixed traffic, avoiding mismatches. In terms of action domain, the routing path determination device explicitly assigns an outgoing port to each node based on path topology information, forcing data flows to be forwarded to the next-hop node along a predetermined path, thereby strictly ensuring the determinism of the physical path. Furthermore, to further implement differentiated quality of service assurance, the routing path determination device also considers service priority parameters... By adding a queue mapping instruction to the flow table action, the service flow is bound to the high-priority forwarding queue corresponding to the switch port. Through this hardware-level queue binding strategy, network nodes can prioritize the scheduling of target services, thereby ensuring their bandwidth and latency requirements at the physical forwarding level.
[0107] For example, such as Figure 9 As shown, the overall process of steps 202 and 203 can be implemented in the following steps S91 to S910.
[0108] S91: Prune the subgraph based on bandwidth constraints.
[0109] S92: Preliminary check of time delay feasibility.
[0110] For example, if a path that satisfies the above coarse delay check exists, step S93 is executed; if no path that satisfies the above coarse delay check exists, step S94 is executed.
[0111] S93: Enumerate candidate paths.
[0112] S94: Rejection strategy.
[0113] S95: Is the candidate path set empty?
[0114] For example, if the candidate path set is not empty, step S96 is executed; if the candidate path set is empty, step S94 is executed.
[0115] S96: Initiate an INT test on the candidate path.
[0116] Step S97: Is there a path that meets the requirements?
[0117] For example, if there is a path that meets the requirements, proceed to step S98; if there is no path that meets the requirements, proceed to step S99.
[0118] S98: Score the path based on the cost function.
[0119] S99: Rejection strategy.
[0120] Step S910: Select the path with the lowest cost for forwarding.
[0121] Thus, with the successful deployment of the aforementioned flow entries at all path nodes, the network acquires the deterministic transmission capability for the target service, and the service flow can achieve high-quality end-to-end transmission according to the established strategy, thereby achieving the expected quality of service goals.
[0122] In the routing path determination method provided in this application, the routing path determination device acquires service information of a first service and a first routing node topology map. The service information includes service requirement information and service latency information. The service requirement information includes the service source address, service destination address, and the minimum bandwidth required by the service. The service latency information includes the shortest service latency and the longest service latency. The first routing node topology map includes N first routing nodes, where N is an integer greater than 1. Based on the service requirement information, the routing nodes in the first routing node topology map are filtered to obtain a second routing node topology map, which includes at least two second routing nodes that satisfy the service requirement information. Using the service latency information as a constraint, path searching is performed based on the second routing node topology map to determine the first routing path that satisfies both the service latency information and the service requirement information. In this solution, by accurately analyzing the service requirements through the acquired service information and filtering the routing paths in the network according to the service requirements, the differentiated needs of different application scenarios in the Industrial Internet for deterministic network services are ultimately met, improving the refined deterministic transmission of various industrial services within the same network.
[0123] The routing path determination method of this application will be described below through specific embodiments.
[0124] like Figure 10 As shown, the implementation process of the routing path determination method provided in this application embodiment includes the following S1 to S12:
[0125] S1. Send an SLA registration request to the controller.
[0126] S2 and SLA request parsing and requirement parameter determination.
[0127] S3. End-to-end single-hop data acquisition and reporting.
[0128] S4. Quantitative modeling of global topology.
[0129] S5. Construction of constraint subgraphs.
[0130] S6, Multi-constraint Path Search.
[0131] S7. Is the candidate path set empty?
[0132] For example, if the sum of the candidate set and the sum of the candidate set are not empty, step S8 is executed; if the sum of the candidate set and the sum of the candidate set are empty, step S9 is executed.
[0133] S8, Path Verification and Scoring.
[0134] S9. Returns error message.
[0135] S10. Is there a path that meets the requirements?
[0136] For example, if there is a path that meets the requirements, step S11 is executed; if there is no path that meets the requirements, step S12 is executed.
[0137] S11, Path distribution.
[0138] S12, Return error message.
[0139] In this way, by integrating business information with real-time network status perception, business needs can be accurately analyzed, network status can be grasped in real time, and routing paths in the network can be filtered. Ultimately, the differentiated needs of different industrial Internet application scenarios for network deterministic services can be met, and the refined deterministic transmission of various industrial businesses in the same network can be improved.
[0140] It should be noted that the descriptions of each step S1 to S12 in this embodiment can be found in the descriptions in the above embodiments, and will not be repeated here.
[0141] It should be noted that the above-described method embodiments, or the various possible implementations of the method embodiments, can be executed individually, or, provided there is no conflict, they can be combined with each other. The specific implementation can be determined according to actual usage requirements, and this application embodiment does not impose any restrictions on this.
[0142] As can be seen, the above mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the embodiments of this application provide corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the modules and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0143] This application embodiment can divide the routing path determination device into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. Optionally, the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0144] In some embodiments, this application also provides a routing path determination apparatus. The routing path determination apparatus may include one or more functional modules for implementing the routing path determination method of the above method embodiments.
[0145] For example, Figure 11 This is a schematic diagram of a routing path determination device provided in an embodiment of this application. Figure 11 As shown, the route determination device 900 includes: an acquisition module 901, a filtering module 902, and a search module 903.
[0146] The system comprises the following modules: **Acquisition Module:** Acquires service information and a first routing node topology map for the first service. Service information includes service requirements and latency. Service requirements include the service source address, service destination address, and minimum bandwidth required by the service. Latency information includes the shortest latency and the longest latency. The first routing node topology map contains N routing nodes, where N is an integer greater than 1. **Filtering Module:** Based on the service requirements, filters the routing nodes within the first routing node topology map to obtain a second routing node topology map. The second routing node topology map contains at least two second routing nodes that satisfy the service requirements. **Search Module:** Using the service latency information as a constraint, performs path searching based on the second routing node topology map to determine the first routing path that satisfies both the service latency information and the service requirements.
[0147] The routing path determination device provided in this application accurately analyzes business requirements by acquiring business information, filters routing paths in the network according to business requirements, and ultimately meets the differentiated needs of different industrial Internet application scenarios for network deterministic services, thereby improving the refined deterministic transmission of various industrial services in the same network.
[0148] In some embodiments, the search module is further configured to, when the service type of the first service is the first service type, detect a second routing path in the second routing node topology graph based on the latency information corresponding to all routing nodes in the second routing node topology graph; the second routing path has the shortest latency and the latency corresponding to the first routing path is less than the longest service latency, and the first service type is a mixed constraint type or a latency constraint type; when a second routing path is detected in the second routing node topology graph, the module performs path search based on the second routing node topology graph with service latency information as a constraint condition to determine a first routing path that satisfies both service latency information and service requirement information.
[0149] In other embodiments, the above-mentioned search module is also used to determine a first routing path that satisfies the service delay information and service requirement information when the service type is the second service type, based on the service delay information as a constraint and the second routing node topology map.
[0150] In some other embodiments, the search module is further configured to traverse all routing nodes in the second routing node topology graph sequentially, starting with the node corresponding to the service source address, ending with the node corresponding to the service destination address, and using service latency information as a constraint, to determine at least one routing path in the second routing node topology graph; and to calculate the score corresponding to each routing path based on the cumulative latency information, path hop count, and path bottleneck bandwidth corresponding to each routing path.
[0151] In some other embodiments, the acquisition module is further configured to acquire the shortest single-hop latency, longest single-hop latency, and available bandwidth corresponding to each of the N routing devices, where each routing device corresponds to one routing node; and to construct a first routing node topology map based on the shortest single-hop latency, longest single-hop latency, and available bandwidth corresponding to each of the N routing devices. The routing path with the lowest score is selected as the routing path that satisfies the first service.
[0152] It should be noted that the routing path determination device can implement all the processes implemented in the above method embodiments and achieve the same beneficial effects. To avoid repetition, it will not be described again here.
[0153] In the case where the functions of the integrated modules described above are implemented in hardware, this application provides a possible structural schematic diagram of the electronic device involved in the above embodiments. For example... Figure 12 As shown, the electronic device 90 includes: a processor 92, a communication interface 93, and a bus 94. Optionally, the electronic device 90 may also include a memory 91.
[0154] Processor 92 may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 92 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 92 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0155] Communication interface 93 is used to connect with other devices via a communication network. This communication network can be Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0156] The memory 91 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0157] As one possible implementation, the memory 91 can exist independently of the processor 92. The memory 91 can be connected to the processor 92 via a bus 94 and is used to store instructions or program code. When the processor 92 calls and executes the instructions or program code stored in the memory 91, it can implement the routing path determination method provided in the embodiments of this application.
[0158] In another possible implementation, the memory 91 can also be integrated with the processor 92.
[0159] Bus 94 can be an Extended Industry Standard Architecture (EISA) bus, etc. Bus 94 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 12 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0160] Through the above description of the implementation methods, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the service calling device can be divided into different functional modules to complete all or part of the functions described above.
[0161] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described routing path determination method embodiment and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0162] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0163] This application also provides a readable storage medium storing a program or instructions that, when executed by a computer, implement the method provided in the above embodiments. It is understood that all or part of the processes in the above method embodiments can be executed by computer instructions instructing related hardware; the readable storage medium can be any of the foregoing embodiments or memory; the readable storage medium can also be an external storage device of the service invocation device, such as a plug-in hard drive, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the service invocation device. Further, the readable storage medium can include both internal storage units of the service invocation device and external storage devices. The readable storage medium is used to store the computer program and other programs and data required by the service invocation device. The readable storage medium can also be used to temporarily store data that has been output or will be output.
[0164] This application also provides a computer program product, which is stored in a storage medium and implements the routing path determination method provided in the above embodiments when the computer program product is executed by a computer.
[0165] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0166] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0167] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A method for determining a routing path, characterized in that, include: Obtain the service information of the first service and the topology of the first routing node; The service information includes: service requirement information and service latency information. The service requirement information includes: service source address, service destination address, and minimum bandwidth required by the service. The service latency information includes: minimum service latency and maximum service latency. The first routing node topology map includes N first routing nodes, where N is an integer greater than 1. Based on the business requirement information, the routing nodes in the first routing node topology map are filtered to obtain a second routing node topology map, which includes at least two second routing nodes that satisfy the business requirement information. Using the service latency information as a constraint, a path search is performed based on the second routing node topology map to determine a first routing path that satisfies both the service latency information and the service requirement information.
2. The routing path determination method according to claim 1, characterized in that, The step of determining a first routing path that satisfies both the service latency information and the service requirement information by performing path lookup based on the second routing node topology map, using the service latency information as a constraint, includes: When the service type of the first service is the first service type, based on the latency information corresponding to all routing nodes in the second routing node topology map, a second routing path is detected in the second routing node topology map; the latency corresponding to the second routing path is the shortest and the latency corresponding to the first routing path is less than the longest latency of the service, and the first service type is a mixed constraint type or a latency constraint type; If the second routing path is detected in the second routing node topology graph, the first routing path that satisfies the service delay information and the service requirement information is determined based on the second routing node topology graph, using the service delay information as a constraint.
3. The routing path determination method according to claim 1, characterized in that, The step of determining a first routing path that satisfies both the service latency information and the service requirement information by performing path lookup based on the second routing node topology map, using the service latency information as a constraint, includes: When the service type is the second service type, a first routing path that satisfies the service latency information and the service requirement information is determined based on the second routing node topology map, using the service latency information as a constraint.
4. The routing path determination method according to any one of claims 1 to 3, characterized in that, The step of determining a first routing path that satisfies both the service latency information and the service requirement information by performing path lookup based on the second routing node topology map, using the service latency information as a constraint, includes: Starting with the node corresponding to the service source address and ending with the node corresponding to the service destination address, and using the service latency information as a constraint, all routing nodes in the second routing node topology graph are traversed sequentially to determine at least one routing path in the second routing node topology graph. Based on the cumulative latency information, path hop count, and path bottleneck bandwidth corresponding to each routing path, calculate the score corresponding to each routing path; The route with the lowest score will be used as the route that satisfies the first service requirement.
5. The routing path determination method according to claim 1, characterized in that, The step of obtaining the topology map of the first routing node includes: Obtain the shortest single-hop latency, longest single-hop latency, and available bandwidth for each adjacent routing device among N routing devices. One routing device corresponds to one routing node. Based on the shortest single-hop latency, longest single-hop latency, and available bandwidth of each adjacent routing device, the topology of the first routing node is constructed.
6. A routing path determination device, characterized in that, include: Get module, filter module, search module; The acquisition module is used to acquire the service information of the first service and the topology map of the first routing node; The service information includes: service requirement information and service latency information. The service requirement information includes: service source address, service destination address, and minimum bandwidth required by the service. The service latency information includes: minimum service latency and maximum service latency. The first routing node topology map includes N first routing nodes, where N is an integer greater than 1. The filtering module is used to filter the routing nodes in the first routing node topology map based on the business requirement information to obtain a second routing node topology map, wherein the second routing node topology map includes at least two second routing nodes that satisfy the business requirement information. The search module is used to perform path search based on the second routing node topology map, using the service latency information as a constraint, to determine a first routing path that satisfies both the service latency information and the service requirement information.
7. The routing path determination device according to claim 6, characterized in that, The step of determining a first routing path that satisfies both the service latency information and the service requirement information by performing path lookup based on the second routing node topology map, using the service latency information as a constraint, includes: When the service type of the first service is the first service type, based on the latency information corresponding to all routing nodes in the second routing node topology map, a second routing path is detected in the second routing node topology map; the latency corresponding to the second routing path is the shortest and the latency corresponding to the first routing path is less than the longest latency of the service, and the first service type is a mixed constraint type or a latency constraint type; If the second routing path is detected in the second routing node topology graph, the first routing path that satisfies the service delay information and the service requirement information is determined based on the second routing node topology graph, using the service delay information as a constraint.
8. The routing path determination device according to claim 6, characterized in that, The step of determining a first routing path that satisfies both the service latency information and the service requirement information by performing path lookup based on the second routing node topology map, using the service latency information as a constraint, includes: When the service type is the second service type, a first routing path that satisfies the service latency information and the service requirement information is determined based on the second routing node topology map, using the service latency information as a constraint.
9. The routing path determination device according to any one of claims 6 to 8, characterized in that, The step of determining a first routing path that satisfies both the service latency information and the service requirement information by performing path lookup based on the second routing node topology map, using the service latency information as a constraint, includes: Starting with the node corresponding to the service source address and ending with the node corresponding to the service destination address, and using the service latency information as a constraint, all routing nodes in the second routing node topology graph are traversed sequentially to determine at least one routing path in the second routing node topology graph. Based on the cumulative latency, hop count, and bottleneck bandwidth of each routing path, a score is calculated for each routing path.
10. The routing path determination device according to claim 6, characterized in that, The step of obtaining the topology map of the first routing node includes: Obtain the shortest single-hop latency, longest single-hop latency, and available bandwidth for each adjacent routing device among N routing devices. One routing device corresponds to one routing node. Based on the shortest single-hop latency, longest single-hop latency, and available bandwidth of each adjacent routing device, a topology graph of the first routing node is constructed. The route with the lowest score will be used as the route that satisfies the first service requirement.
11. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the routing path determination method as described in any one of claims 1-5.
12. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a computer, implement the routing path determination method as described in any one of claims 1-5.
13. A computer program product, characterized in that, The computer program product is stored in a storage medium, and when executed by a computer, the computer program product implements the routing path determination method as described in any one of claims 1-5.